Package asteroid.transformer
Class AbstractTransformer
- java.lang.Object
-
- org.codehaus.groovy.ast.CodeVisitorSupport
-
- org.codehaus.groovy.ast.ClassCodeVisitorSupport
-
- org.codehaus.groovy.ast.ClassCodeExpressionTransformer
-
- asteroid.transformer.AbstractTransformer
-
- All Implemented Interfaces:
Transformer,ExpressionTransformer,GroovyClassVisitor,GroovyCodeVisitor,ErrorCollecting
- Direct Known Subclasses:
AbstractClassNodeTransformer,AbstractExpressionTransformer,AbstractMethodNodeTransformer,AbstractStatementTransformer
public abstract class AbstractTransformer extends ClassCodeExpressionTransformer implements Transformer
Most transformers need at some point the source unit in order to fix or apply properly the scope to each variable. This class enforces the use of a SourceUnit instance for every transformer- Since:
- 0.2.0
-
-
Constructor Summary
Constructors Constructor Description AbstractTransformer(SourceUnit sourceUnit)This constructor needs a source unit
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ModuleNodegetModule()This method returns the module of the current SourceUnit instanceStringgetModulePackageName()Sometimes could be useful to get the package name of the current moduleSourceUnitgetSourceUnit()This method returns the source unit-
Methods inherited from class org.codehaus.groovy.ast.ClassCodeExpressionTransformer
transform, visitAnnotations, visitAssertStatement, visitCaseStatement, visitConstructorOrMethod, visitDoWhileLoop, visitExpressionStatement, visitField, visitForLoop, visitIfElse, visitProperty, visitReturnStatement, visitSwitch, visitSynchronizedStatement, visitThrowStatement, visitWhileLoop
-
Methods inherited from class org.codehaus.groovy.ast.ClassCodeVisitorSupport
addError, visitBlockStatement, visitBreakStatement, visitCatchStatement, visitClass, visitClassCodeContainer, visitConstructor, visitContinueStatement, visitDeclarationExpression, visitImports, visitMethod, visitObjectInitializerStatements, visitPackage, visitStatement, visitTryCatchFinally
-
Methods inherited from class org.codehaus.groovy.ast.CodeVisitorSupport
visitArgumentlistExpression, visitArrayExpression, visitAttributeExpression, visitBinaryExpression, visitBitwiseNegationExpression, visitBooleanExpression, visitBytecodeExpression, visitCastExpression, visitClassExpression, visitClosureExpression, visitClosureListExpression, visitConstantExpression, visitConstructorCallExpression, visitEmptyStatement, visitFieldExpression, visitGStringExpression, visitListExpression, visitListOfExpressions, visitMapEntryExpression, visitMapExpression, visitMethodCallExpression, visitMethodPointerExpression, visitNotExpression, visitPostfixExpression, visitPrefixExpression, visitPropertyExpression, visitRangeExpression, visitShortTernaryExpression, visitSpreadExpression, visitSpreadMapExpression, visitStaticMethodCallExpression, visitTernaryExpression, visitTupleExpression, visitUnaryMinusExpression, visitUnaryPlusExpression, visitVariableExpression
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface asteroid.transformer.Transformer
visitClass
-
-
-
-
Constructor Detail
-
AbstractTransformer
public AbstractTransformer(SourceUnit sourceUnit)
This constructor needs a source unit- Parameters:
sourceUnit- the related source unit where the expression belongs- Since:
- 0.2.0
-
-
Method Detail
-
getSourceUnit
public SourceUnit getSourceUnit()
This method returns the source unit- Specified by:
getSourceUnitin classClassCodeVisitorSupport- Returns:
- the source unit related to the expression we want to transform
- Since:
- 0.2.0
-
getModule
public ModuleNode getModule()
This method returns the module of the current SourceUnit instance- Returns:
- a ModuleNode instance
- Since:
- 0.2.0
-
getModulePackageName
public String getModulePackageName()
Sometimes could be useful to get the package name of the current module- Returns:
- A String representing the current qualified package name
- Since:
- 0.2.0
-
-