All Classes
-
All Classes Interface Summary Class Summary Enum Summary Annotation Types Summary Class Description A Entry point to look up functions and utilities to work with nodes, expressions, statements, node utils...etcAbstractClassNodeTransformer ThisTransformercan be used to transformClassNodenodes.AbstractExpressionTransformer<T extends Expression> ThisTransformercould be used as a base for transformingExpressioninstances.AbstractGlobalTransformation This class applies all transformers provided by the method getTransformers in order to all class nodes present in a given source unit instance.AbstractLocalTransformation<T extends Annotation,S extends AnnotatedNode> This class is an abstraction to process certain nodes annotated with a specific annotation node type
Types indicate wich nodes are affected:
Lets say we wanted to build a transformation to transform methods annotated by @MyAnnotation:AbstractMethodNodeTransformer ThisTransformercan be used to transformMethodNodenodes.AbstractStatementTransformer<T extends Statement> ThisTransformercould be used as a base for transformingStatementinstances.AbstractTransformer Most transformers need at some point the source unit in order to fix or apply properly the scope to each variable.AnnotationNodeBuilder Builder to create instances of typeAnnotationNodeClassNodeBuilder Builder to create instances of typeClassNodeConstructorNodeBuilder Builder to create instance of typeConstructorNodee.g.Criterias This class contains out-of-the-box criterias, they are used to help out finding specific nodes.Expressions This class hides the different implementations to create expressions through the Groovy api to provide a unified an easier way to create expressions when coding an AST transformation.ExpressionUtils Utility classes to deal withExpressioninstancesFieldNodeBuilder Helps to build and instance of typeFieldNodeGenericsTypeBuilder Builder to create instances of typeGenericsTypeGlobalTransformationTransformation This transformation makes easier to declare a given global transformation.InternalUtils Internal utils to deal with Java codeLocal Marks a given annotation as a local AST transformation markerLocal.TO Targets available to apply a specific transformationLocalTransformation Reduces the boiler plate code when declaring an annotation as possible target for a given transformation.MethodNodeBuilder Builder to create instance of typeMethodNodeModifiers This class acts as a proxy to access modifier codes found atOpcodes.Nodes This class provides access to different builders for creating AST nodes.NodeUtils General utility methods to deal withASTNodeinstancesParameterNodeBuilder Creates a newParameterinstancePhase Compilation is required when declaring anyAbstractLocalTransformationorAbstractGlobalTransformation.Phase.GLOBAL Compilation phases available for global transformations:
SEMANTIC_ANALYSIS CANONICALIZATION INSTRUCTION_SELECTION CLASS_GENERATION OUTPUT FINALIZATIONPhase.LOCAL Compilation phases available for local transformations.PhaseTransformation This transformation makes easier to declare a given local transformation.PropertyNodeBuilder Creates a newPropertyNodeinstanceStatements This class hides the different implementations to create expressions through the Groovy api to provide a unified an easier way to create statements when coding an AST transformation.StatementUtils General utility methods to deal withStatementinstancesStatementUtils.Group Represent a group of statements grouped by a given label.StatementUtils.Label This class helps to identify a list of statements.TransformationUtils A set of utilities to implement base transformation classesTransformer All transformer implementations responsible for modifying an AST node in aAbstractGlobalTransformationshould implement this interfaceTranslateToGlobalTransform TryCatchStatementBuilder This builder tries to make it easier to build a try/catch statement.
ASTUtils This class gathers together a bunch of util functions to deal with AST transformations.