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.
|
JsniRefLookup.ErrorReporter |
A callback used to indicate the reason for a failed JSNI lookup.
|
ResolveRuntimeTypeReferences.TypeMapper<T> |
Maps a type into a type id literal.
|
Class | Description |
---|---|
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.
|
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.
|
ComputeInstantiatedJsoInterfaces |
Record all Cast operations on JSOs as instantiations.
|
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.
|
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.
|
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)).
|
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.
|
Finalizer |
Finds all items are effectively final.
|
FixAssignmentsToUnboxOrCast |
Most autoboxing is handled by
GenerateJavaAST . |
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.
|
ImplicitUpcastAnalyzer |
This class will identify instances of an implicit upcast between
non-primitive types, and call the overridable processImplicitUpcast method.
|
JavaToJavaScriptMapImpl |
The default implementation of a JavaToJavaScriptMap.
|
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.
|
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.
|
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.
|
ReboundTypeRecorder |
Records all rebinds in an AST that has not been unified.
|
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.
|
ReplaceGetClassOverrides |
Prune all overrides of Object.getClass() except when the enclosing class is JavaScriptObject
(to permit getClass() devirtualization in Devirtualizer to continue to work).
|
ResolveRebinds |
Replaces any "GWT.create()" calls with a new expression for the actual result
of the deferred binding decision.
|
ResolveRuntimeTypeReferences |
Assigns and replaces JRuntimeTypeReference nodes with a type id literal.
|
ResolveRuntimeTypeReferences.IntTypeMapper |
Sequentially creates int type ids for types.
|
ResolveRuntimeTypeReferences.StringTypeMapper |
Predictably creates String type id literals for castable and instantiable types.
|
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.
|
TypeRefDepsChecker |
A Java AST visitor that verifies that "Type A"->"Type B" references are enabled by matching "Type
A Module"->"Type B Module" inherits.
|
TypeReferencesRecorder |
Collects and 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.