Interface | Description |
---|---|
ControlFlowAnalyzer.DependencyRecorder |
A callback for recording control-flow dependencies as they are discovered.
|
JavaToJavaScriptMap |
A map between chunks of JavaScript to chunks of Java.
|
JsInteropExportsGenerator |
Generates codes to handle @JsExport.
|
JsniRefLookup.ErrorReporter |
A callback used to indicate the reason for a failed JSNI lookup.
|
OptimizerContext |
A context used for optimizations that maintains and provides information shared by optimization
passes.
|
RapidTypeAnalyzer.AnalyzableTypeEnvironment |
An interface for a type environment sufficient for rapid type analysis.
|
ResolveRuntimeTypeReferences.TypeMapper<T extends JExpression> |
Maps a type into a type id literal.
|
Class | Description |
---|---|
AbstractRestrictionChecker |
Abstract base class for error checking in the full AST.
|
ArrayNormalizer |
Replace array accesses and instantiations with calls to the Array class.
|
AssertionNormalizer |
Replaces all assertion statements in the AST with if statements.
|
AssertionRemover |
Removes all assertion statements from the AST.
|
AstDumper |
A simple utility to dump a JProgram to a temp file, which can be called
sequentially during a compilation/optimization run, so intermediate steps can
be compared.
|
AutoboxUtils |
Utilities for managing autoboxing of Java primitive types.
|
CallGraph |
Call graph, which records {callee->callers} and {caller->callees} pairs.
|
CatchBlockNormalizer |
Merge multi-catch blocks into a single catch block that uses instanceof tests
to determine which user block to run.
|
CloneExpressionVisitor |
A general purpose expression cloner.
|
CompileTimeConstantsReplacer |
Replaces compile time constants by their values.
|
CompoundAssignmentNormalizer |
Replace problematic compound assignments with a sequence of simpler
operations, all of which are either simple assignments or are non-assigning
operations.
|
ComputeCastabilityInformation |
Builds minimal cast maps to cover cast and instanceof operations.
|
ComputeExhaustiveCastabilityInformation |
Builds exhaustive cast maps for class types defined in and array types used in this library.
|
ComputeOverridesAndImplementDefaultMethods |
Computes the transitive override relationships between methods and stored them in
JMethod , accessible through JMethod.getOverriddenMethods() and
JMethod.getOverridingMethods() . |
ComputePotentiallyObservableUninitializedValues |
Determines conservatively which classes can potentially see uninitialized values of their
subclasses' fields.
|
ControlFlowAnalyzer |
This class finds out what code in a program is live based on starting
execution at a specified location.
|
ControlFlowRecorder |
Records control flow information.
|
DeadCodeElimination |
Removes certain kinds of dead code, and simplifies certain expressions.
|
DeadCodeElimination.FindBreakContinueStatementsVisitor |
Examines code to find out whether it contains any break or continue
statements.
|
DevirtualizeDefaultMethodForwarding |
Java8 default methods are implemented by creating a forwarding (with static dispatch) the
implementing method on implementing classes to an the default method in an interface (which is
modeled as an instance method).
|
Devirtualizer |
Devirtualization is the process of converting virtual method calls on instances that might be
a JSO, a string or and array (like "obj.doFoo();") to static calls (like
"SomeClass.doFoo__devirtual$(obj)).
|
EnumNameObfuscator |
Performs optimizations on Enums.
|
EnumOrdinalizer |
This optimizer replaces enum constants with their ordinal value (a simple
int) when possible.
|
EnumOrdinalizer.Tracker |
A simple Tracker class for compiling lists of enum classes processed by
this optimizer.
|
EqualityNormalizer |
Rewrite Java
== so that it will execute correctly in JavaScript. |
ExpressionAnalyzer |
Analyzes an expression and make a number of static analysis flags available
based on the information available solely through the expression.
|
FieldReferencesGraph |
FieldReferences Graph, which records {referencedFields <-> methods} pairs.
|
Finalizer |
Finds all items are effectively final.
|
FixAssignmentsToUnboxOrCast |
Most autoboxing is handled by
GenerateJavaAST . |
FullOptimizerContext |
Maintains dependence and modification information for AST optimizers.
|
GenerateJavaScriptAST |
Creates a JavaScript AST from a
JProgram node. |
GwtAstBuilder |
Constructs a GWT Java AST from a single isolated compilation unit.
|
HandleCrossFragmentReferences |
Rewrite JavaScript to better handle references from one code fragment to
another.
|
ImplementCastsAndTypeChecks |
Replace cast and instanceof operations with calls to the Cast class.
|
ImplementClassLiteralsAsFields |
Create fields to represent the mechanical implementation of class literals.
|
ImplementJsVarargs |
Implements JavaScript varargs calling convention by rewriting varargs calls and adding a
prolog to varargs JsMethods.
|
ImplicitUpcastAnalyzer |
This class will identify instances of an implicit upcast between
non-primitive types, and call the overridable processImplicitUpcast method.
|
JavaAstVerifier |
Verifies that all the references from AST nodes to AST nodes are reachable from the
top of the AST.
|
JavaToJavaScriptMapImpl |
The default implementation of a JavaToJavaScriptMap.
|
JChangeTrackingVisitor |
A visitor for optimizing an AST.
|
JjsPredicates |
General predicates for Java AST nodes.
|
JjsUtils |
General utilities related to Java AST manipulation.
|
JModVisitorWithTemporaryVariableCreation |
A JModVisitor capable of creating temporary local variables and placing their declarations in an
appropriate preceding place.
|
JsAbstractTextTransformer |
Base class for transforming program text.
|
JsFunctionClusterer |
Re-orders function declarations according to a given metric and clustering
algorithm in order to boost gzip/deflation compression efficiency.
|
JsInteropRestrictionChecker |
Checks and throws errors for invalid JsInterop constructs.
|
JsniRefLookup | Deprecated
find alternatives, only a couple of corner cases use this now.
|
JsniRestrictionChecker |
Checks and throws errors for invalid JSNI constructs.
|
JsNoopTransformer |
A TextTransformer that makes no modifications.
|
JsTypeLinker |
Transforms program JS source by performing a per-type link.
|
LongCastNormalizer |
Synthesize explicit casts to and from the primitive long type where such a
cast would have been implicit.
|
LongEmulationNormalizer |
Replaces long operations with calls to the emulation library.
|
MakeCallsStatic |
This is an interesting "optimization".
|
MethodCallSpecializer |
For each JMethodCall that contains a specialization, retarget the method
to the specialized call if possible.
|
MethodCallTightener |
Update polymorphic method calls to tighter bindings based on the type of the
qualifier.
|
MethodInliner |
Inline methods that can be inlined.
|
NameClashesFixer |
The GWT Java AST might contain different local variables with the same name in the same
scope.
|
OptimizerStats |
Stores statistics on the results of running an optimizer pass.
|
PostOptimizationCompoundAssignmentNormalizer |
Normalize compound assignments as needed after optimization.
|
Pruner |
Remove globally unreferenced classes, interfaces, methods, parameters, and
fields from the AST.
|
RapidTypeAnalyzer |
Uses method and type control flow indexes to compute a reachable types set.
|
RecordRebinds |
Records all live rebinds.
|
ReferenceMapper |
Creates unresolved references to types, fields, and methods.
|
RemoveEmptySuperCalls |
Removes calls to no-op super constructors.
|
RemoveEmptySuperCalls.EmptySuperCallVisitor |
Removes calls to no-op super constructors.
|
RemoveSpecializations |
Remove all method specializations before final pruning pass.
|
ReplaceCallsToNativeJavaLangObjectOverrides |
Replaces direct calls to native methods that override methods from java.lang.Object to directly
call them through java.lang.Object.
|
ReplaceGetClassOverrides |
Prune all overrides of Object.getClass() and inline all method calls to Object.getClass()
as Object.___clazz.
|
ResolvePermutationDependentValues |
Replaces any "GWT.create()" calls with a new expression for the actual result of the deferred
binding decision and System.getProperty() with the actual value for that property.
|
ResolveRuntimeTypeReferences |
Assigns and replaces JRuntimeTypeReference nodes with a type id literal.
|
ResolveRuntimeTypeReferences.ClosureUniqueIdTypeMapper |
Predictably creates String type id literals for castable and instantiable types
by using closure uniqueid generation in JsInterop CLOSURE mode.
|
ResolveRuntimeTypeReferences.IntTypeMapper |
Sequentially creates int type ids for types.
|
ResolveRuntimeTypeReferences.StringTypeMapper |
Predictably creates String type id literals for castable and instantiable types.
|
RewriteConstructorCallsForUnboxedTypes |
Rewrite instantiations of Boolean, Double, and String to use static helper methods which return
unboxed versions.
|
SameParameterValueOptimizer |
Detects when same literal is passed as parameter value, and uses literal
instead of parameter.
|
Simplifier |
Methods that both construct and try to simplify AST nodes.
|
SourceGenerationVisitor |
Generates Java source from our AST.
|
SourceInfoCorrelator |
Fix up SOYC parents and add correlations.
|
TextOutputVisitor |
A convenience base class that combines a
JVisitor with a
TextOutput . |
ToStringGenerationVisitor |
Implements a reasonable toString() for all JNodes.
|
TypeCoercionNormalizer |
Type coercion (and operator overloading) semantics differ widely in Java and JavaScript.
|
TypeReferencesRecorder |
Records Type->Type references.
|
TypeRemapper |
A visitor that changes all JType references in the AST.
|
TypeTightener |
The purpose of this pass is to record "type flow" information and then use
the information to infer places where "tighter" (that is, more specific)
types can be inferred for locals, fields, parameters, and method return
types.
|
UnifyAst |
Take independently-compiled types and merge them into a single AST.
|
VerifySymbolMap |
Verify the validity of the symbol.
|
Enum | Description |
---|---|
ImplementClassLiteralsAsFields.ClassLiteralFactoryMethod |
Class used to construct invocations to class literal factory methods.
|
ResolveRuntimeTypeReferences.TypeOrder |
Identifies a way of sorting types when generating ids.
|
TypeCategory |
TypeCategory classifies Java types into different categories.
|
Copyright © 2018. All rights reserved.