| Modifier and Type | Class and Description |
|---|---|
| public class | Analyzer
Helper class for defining custom code analysis, such as finding instance creation expression that can benefit from diamond syntax. |
| public class | Annotate
Enter annotations onto symbols and types (and trees). |
| public class | ArgumentAttr
This class performs attribution of method/constructor arguments when target-typing is enabled
(source >= 8); for each argument that is potentially a poly expression, this class builds
a rich representation (see |
| public class | Attr
This is the main context-dependent analysis phase in GJC. |
| public class | AttrContext
Contains information specific to the attribute and enter passes, to be used in place of the generic field in environments. |
| public class | |
| public class | AttrRecover
This is an error recovery addon for Attr. |
| public class | CaptureScanner
A visitor which collects the set of local variables "captured" by a given tree. |
| public class | Check
Type checking helper class for the attribution phase. |
| public class | CompileStates
Partial map to record which compiler phases have been executed for each compilation unit. |
| pack-priv class | ConstFold
Helper class for constant folding, used by the attribution phase. |
| public class | DeferredAttr
This is an helper class that is used to perform deferred type-analysis. |
| public class | Enter
This class enters symbols for all encountered definitions into the symbol table. |
| public class | |
| public class | ExhaustivenessComputer
A class to compute exhaustiveness of set of switch cases. |
| public class | Flow
This pass implements dataflow analysis for Java programs though different AST visitor steps. |
| public class | Infer
Helper class for type parameter inference, used by the attribution phase. |
| public class | InferenceContext
An inference context keeps track of the set of variables that are free in the current context. |
| public class | LambdaToMethod
This pass desugars lambda expressions into static methods This is NOT part of any supported API. |
| public class | Lower
This pass translates away some syntactic sugar: inner classes, class literals, assertions, foreach loops, etc. This is NOT part of any supported API. |
| public class | |
| public class | MemberEnter
Resolves field, method and constructor header, and constructs corresponding Symbols. |
| public class | Modules
This is NOT part of any supported API. |
| public class | Operators
This class contains the logic for unary and binary operator resolution/lookup. |
| public class | Resolve
Helper class for name resolution, used mostly by the attribution phase. |
| public class | ThisEscapeAnalyzer
Looks for possible 'this' escapes and generates corresponding warnings. |
| public class | Todo
A queue of all as yet unattributed classes. |
| public class | TransPatterns
This pass translates pattern-matching constructs, such as instanceof <pattern>. |
| public class | TransTypes
This pass translates Generic Java to conventional Java. |
| public class | TreeDiffer
A visitor that compares two lambda bodies for structural equality. |
| public class | TreeHasher
A tree visitor that computes a hash code. |
| public class | TypeEnter
This is the second phase of Enter, in which classes are completed by resolving their headers and entering their members in the into the class scope. |
| pack-priv class | TypeEnvs
This class contains the type environments used by Enter, MemberEnter, Attr, DeferredAttr, and Lower. |
| public class | WarningAnalyzer
This pass checks for various things to warn about. |