org.codehaus.groovy.classgen
Class ClassGenerator
java.lang.Object
|
+--org.codehaus.groovy.classgen.ClassGenerator
- All Implemented Interfaces:
- org.objectweb.asm.Constants, GroovyClassVisitor, GroovyCodeVisitor
- public class ClassGenerator
- extends Object
- implements GroovyClassVisitor, GroovyCodeVisitor, org.objectweb.asm.Constants
Generates Java class versions of Groovy classes
- Version:
- $Revision: 1.93 $
- Author:
- James Strachan
Fields inherited from interface org.objectweb.asm.Constants |
AALOAD, AASTORE, ACC_ABSTRACT, ACC_DEPRECATED, ACC_FINAL, ACC_INTERFACE, ACC_NATIVE, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_TRANSIENT, ACC_VOLATILE, ACONST_NULL, ALOAD, ANEWARRAY, ARETURN, ARRAYLENGTH, ASTORE, ATHROW, BALOAD, BASTORE, BIPUSH, CALOAD, CASTORE, CHECKCAST, D2F, D2I, D2L, DADD, DALOAD, DASTORE, DCMPG, DCMPL, DCONST_0, DCONST_1, DDIV, DLOAD, DMUL, DNEG, DREM, DRETURN, DSTORE, DSUB, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, F2D, F2I, F2L, FADD, FALOAD, FASTORE, FCMPG, FCMPL, FCONST_0, FCONST_1, FCONST_2, FDIV, FLOAD, FMUL, FNEG, FREM, FRETURN, FSTORE, FSUB, GETFIELD, GETSTATIC, GOTO, I2B, I2C, I2D, I2F, I2L, I2S, IADD, IALOAD, IAND, IASTORE, ICONST_0, ICONST_1, ICONST_2, ICONST_3, ICONST_4, ICONST_5, ICONST_M1, IDIV, IF_ACMPEQ, IF_ACMPNE, IF_ICMPEQ, IF_ICMPGE, IF_ICMPGT, IF_ICMPLE, IF_ICMPLT, IF_ICMPNE, IFEQ, IFGE, IFGT, IFLE, IFLT, IFNE, IFNONNULL, IFNULL, IINC, ILOAD, IMUL, INEG, INSTANCEOF, INVOKEINTERFACE, INVOKESPECIAL, INVOKESTATIC, INVOKEVIRTUAL, IOR, IREM, IRETURN, ISHL, ISHR, ISTORE, ISUB, IUSHR, IXOR, JSR, L2D, L2F, L2I, LADD, LALOAD, LAND, LASTORE, LCMP, LCONST_0, LCONST_1, LDC, LDIV, LLOAD, LMUL, LNEG, LOOKUPSWITCH, LOR, LREM, LRETURN, LSHL, LSHR, LSTORE, LSUB, LUSHR, LXOR, MONITORENTER, MONITOREXIT, MULTIANEWARRAY, NEW, NEWARRAY, NOP, POP, POP2, PUTFIELD, PUTSTATIC, RET, RETURN, SALOAD, SASTORE, SIPUSH, SWAP, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, TABLESWITCH |
Constructor Summary |
ClassGenerator(org.codehaus.groovy.classgen.GeneratorContext context,
org.objectweb.asm.ClassVisitor classVisitor,
ClassLoader classLoader,
String sourceFile)
|
Method Summary |
protected boolean |
addInnerClass(org.codehaus.groovy.ast.ClassNode innerClass)
|
protected boolean |
argumentsUseStack(org.codehaus.groovy.ast.expr.Expression arguments)
|
protected org.codehaus.groovy.ast.expr.Expression |
assignmentExpression(org.codehaus.groovy.ast.expr.Expression expression)
|
protected String |
checkValidType(String type,
org.codehaus.groovy.ast.ASTNode node,
String message)
|
protected boolean |
comparisonExpression(org.codehaus.groovy.ast.expr.Expression expression)
|
protected org.codehaus.groovy.ast.ClassNode |
createClosureClass(org.codehaus.groovy.ast.expr.ClosureExpression expression)
|
protected org.codehaus.groovy.ast.ClassNode |
createGStringClass(org.codehaus.groovy.ast.expr.GStringExpression expression)
|
protected void |
createSyntheticStaticFields()
|
protected String |
createVariableName(String type)
|
protected org.codehaus.groovy.classgen.Variable |
defineVariable(String name,
String type)
Defines the given variable in scope and assigns it to the stack |
protected org.codehaus.groovy.classgen.Variable |
defineVariable(String name,
String type,
boolean define)
|
protected void |
doCast(String type)
|
protected void |
evaluateBinaryExpression(org.codehaus.groovy.classgen.MethodCaller compareMethod,
org.codehaus.groovy.ast.expr.BinaryExpression expression)
|
protected void |
evaluateBinaryExpression(String method,
org.codehaus.groovy.ast.expr.BinaryExpression expression)
|
protected void |
evaluateBinaryExpressionWithAsignment(String method,
org.codehaus.groovy.ast.expr.BinaryExpression expression)
|
protected void |
evaluateEqual(org.codehaus.groovy.ast.expr.BinaryExpression expression)
|
protected void |
evaluateInstanceof(org.codehaus.groovy.ast.expr.BinaryExpression expression)
|
protected void |
evaluateLogicalAndExpression(org.codehaus.groovy.ast.expr.BinaryExpression expression)
|
protected void |
evaluateLogicalOrExpression(org.codehaus.groovy.ast.expr.BinaryExpression expression)
|
protected void |
evaluatePostfixMethod(String method,
org.codehaus.groovy.ast.expr.Expression expression)
|
protected void |
evaluatePrefixMethod(String method,
org.codehaus.groovy.ast.expr.Expression expression)
|
protected void |
findMutableVariables(org.codehaus.groovy.ast.MethodNode node)
|
protected boolean |
firstStatementIsSuperMethodCall(org.codehaus.groovy.ast.stmt.Statement code)
|
protected String |
getClassInternalName(String name)
|
ClassLoader |
getClassLoader()
|
protected org.codehaus.groovy.ast.Parameter[] |
getClosureSharedVariables(org.codehaus.groovy.ast.expr.ClosureExpression expression)
|
protected Class |
getExpressionType(org.codehaus.groovy.ast.expr.Expression expression)
|
LinkedList |
getInnerClasses()
|
protected int |
getLastStackId()
|
protected String |
getMethodDescriptor(String returnTypeName,
org.codehaus.groovy.ast.Parameter[] paramTypeNames)
|
protected org.objectweb.asm.Type |
getType(String className)
|
protected String |
getTypeDescription(String name)
|
protected String |
getVariableType(String name)
|
protected boolean |
isFieldOrVariable(String name)
|
protected boolean |
isInClosureConstructor()
|
protected boolean |
isNonStaticField(org.codehaus.groovy.ast.expr.Expression expression)
|
protected boolean |
isPrimitiveFieldType(Object value)
|
protected boolean |
isStaticMethod()
|
protected boolean |
isThisExpression(org.codehaus.groovy.ast.expr.Expression expression)
|
protected Class |
loadClass(String name)
|
protected void |
onLineNumber(org.codehaus.groovy.ast.ASTNode statement)
|
protected void |
pushConstant(int value)
|
protected void |
resetVariableStack(org.codehaus.groovy.ast.Parameter[] parameters)
|
void |
visitArrayExpression(org.codehaus.groovy.ast.expr.ArrayExpression expression)
|
void |
visitAssertStatement(org.codehaus.groovy.ast.stmt.AssertStatement statement)
|
void |
visitBinaryExpression(org.codehaus.groovy.ast.expr.BinaryExpression expression)
|
void |
visitBooleanExpression(org.codehaus.groovy.ast.expr.BooleanExpression expression)
|
void |
visitBreakStatement(org.codehaus.groovy.ast.stmt.BreakStatement statement)
|
void |
visitCaseStatement(org.codehaus.groovy.ast.stmt.CaseStatement statement)
|
void |
visitCaseStatement(org.codehaus.groovy.ast.stmt.CaseStatement statement,
int switchVariableIndex,
org.objectweb.asm.Label thisLabel,
org.objectweb.asm.Label nextLabel)
|
void |
visitClass(org.codehaus.groovy.ast.ClassNode classNode)
|
void |
visitClassExpression(org.codehaus.groovy.ast.expr.ClassExpression expression)
|
void |
visitClosureExpression(org.codehaus.groovy.ast.expr.ClosureExpression expression)
|
void |
visitConstantExpression(org.codehaus.groovy.ast.expr.ConstantExpression expression)
|
void |
visitConstructor(org.codehaus.groovy.ast.ConstructorNode node)
|
void |
visitConstructorCallExpression(org.codehaus.groovy.ast.expr.ConstructorCallExpression call)
|
void |
visitContinueStatement(org.codehaus.groovy.ast.stmt.ContinueStatement statement)
|
void |
visitDoWhileLoop(org.codehaus.groovy.ast.stmt.DoWhileStatement loop)
|
void |
visitExpressionStatement(org.codehaus.groovy.ast.stmt.ExpressionStatement statement)
|
void |
visitField(org.codehaus.groovy.ast.FieldNode fieldNode)
|
void |
visitFieldExpression(org.codehaus.groovy.ast.expr.FieldExpression expression)
|
void |
visitForLoop(org.codehaus.groovy.ast.stmt.ForStatement loop)
|
void |
visitGStringExpression(org.codehaus.groovy.ast.expr.GStringExpression expression)
|
void |
visitIfElse(org.codehaus.groovy.ast.stmt.IfStatement ifElse)
|
void |
visitListExpression(org.codehaus.groovy.ast.expr.ListExpression expression)
|
void |
visitMapEntryExpression(org.codehaus.groovy.ast.expr.MapEntryExpression expression)
|
void |
visitMapExpression(org.codehaus.groovy.ast.expr.MapExpression expression)
|
void |
visitMethod(org.codehaus.groovy.ast.MethodNode node)
|
void |
visitMethodCallExpression(org.codehaus.groovy.ast.expr.MethodCallExpression call)
|
void |
visitNotExpression(org.codehaus.groovy.ast.expr.NotExpression expression)
|
protected void |
visitOuterFieldExpression(org.codehaus.groovy.ast.expr.FieldExpression expression)
|
void |
visitPostfixExpression(org.codehaus.groovy.ast.expr.PostfixExpression expression)
|
void |
visitPrefixExpression(org.codehaus.groovy.ast.expr.PrefixExpression expression)
|
void |
visitProperty(org.codehaus.groovy.ast.PropertyNode statement)
Creates a getter, setter and field |
void |
visitPropertyExpression(org.codehaus.groovy.ast.expr.PropertyExpression expression)
|
void |
visitRangeExpression(org.codehaus.groovy.ast.expr.RangeExpression expression)
|
void |
visitRegexExpression(org.codehaus.groovy.ast.expr.RegexExpression expression)
|
void |
visitReturnStatement(org.codehaus.groovy.ast.stmt.ReturnStatement statement)
|
void |
visitStaticMethodCallExpression(org.codehaus.groovy.ast.expr.StaticMethodCallExpression call)
|
void |
visitSwitch(org.codehaus.groovy.ast.stmt.SwitchStatement statement)
|
void |
visitSynchronizedStatement(org.codehaus.groovy.ast.stmt.SynchronizedStatement statement)
|
void |
visitThrowStatement(org.codehaus.groovy.ast.stmt.ThrowStatement statement)
|
void |
visitTryCatchFinally(org.codehaus.groovy.ast.stmt.TryCatchStatement statement)
|
void |
visitTupleExpression(org.codehaus.groovy.ast.expr.TupleExpression expression)
|
void |
visitVariableExpression(org.codehaus.groovy.ast.expr.VariableExpression expression)
|
void |
visitWhileLoop(org.codehaus.groovy.ast.stmt.WhileStatement loop)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ClassGenerator
public ClassGenerator(org.codehaus.groovy.classgen.GeneratorContext context,
org.objectweb.asm.ClassVisitor classVisitor,
ClassLoader classLoader,
String sourceFile)
getInnerClasses
public LinkedList getInnerClasses()
getClassLoader
public ClassLoader getClassLoader()
visitClass
public void visitClass(org.codehaus.groovy.ast.ClassNode classNode)
- Specified by:
visitClass
in interface GroovyClassVisitor
visitConstructor
public void visitConstructor(org.codehaus.groovy.ast.ConstructorNode node)
- Specified by:
visitConstructor
in interface GroovyClassVisitor
visitMethod
public void visitMethod(org.codehaus.groovy.ast.MethodNode node)
- Specified by:
visitMethod
in interface GroovyClassVisitor
visitField
public void visitField(org.codehaus.groovy.ast.FieldNode fieldNode)
- Specified by:
visitField
in interface GroovyClassVisitor
visitProperty
public void visitProperty(org.codehaus.groovy.ast.PropertyNode statement)
- Creates a getter, setter and field
- Specified by:
visitProperty
in interface GroovyClassVisitor
visitForLoop
public void visitForLoop(org.codehaus.groovy.ast.stmt.ForStatement loop)
- Specified by:
visitForLoop
in interface GroovyCodeVisitor
visitWhileLoop
public void visitWhileLoop(org.codehaus.groovy.ast.stmt.WhileStatement loop)
- Specified by:
visitWhileLoop
in interface GroovyCodeVisitor
visitDoWhileLoop
public void visitDoWhileLoop(org.codehaus.groovy.ast.stmt.DoWhileStatement loop)
- Specified by:
visitDoWhileLoop
in interface GroovyCodeVisitor
visitIfElse
public void visitIfElse(org.codehaus.groovy.ast.stmt.IfStatement ifElse)
- Specified by:
visitIfElse
in interface GroovyCodeVisitor
visitAssertStatement
public void visitAssertStatement(org.codehaus.groovy.ast.stmt.AssertStatement statement)
- Specified by:
visitAssertStatement
in interface GroovyCodeVisitor
visitTryCatchFinally
public void visitTryCatchFinally(org.codehaus.groovy.ast.stmt.TryCatchStatement statement)
- Specified by:
visitTryCatchFinally
in interface GroovyCodeVisitor
visitSwitch
public void visitSwitch(org.codehaus.groovy.ast.stmt.SwitchStatement statement)
- Specified by:
visitSwitch
in interface GroovyCodeVisitor
visitCaseStatement
public void visitCaseStatement(org.codehaus.groovy.ast.stmt.CaseStatement statement)
- Specified by:
visitCaseStatement
in interface GroovyCodeVisitor
visitCaseStatement
public void visitCaseStatement(org.codehaus.groovy.ast.stmt.CaseStatement statement,
int switchVariableIndex,
org.objectweb.asm.Label thisLabel,
org.objectweb.asm.Label nextLabel)
visitBreakStatement
public void visitBreakStatement(org.codehaus.groovy.ast.stmt.BreakStatement statement)
- Specified by:
visitBreakStatement
in interface GroovyCodeVisitor
visitContinueStatement
public void visitContinueStatement(org.codehaus.groovy.ast.stmt.ContinueStatement statement)
- Specified by:
visitContinueStatement
in interface GroovyCodeVisitor
visitSynchronizedStatement
public void visitSynchronizedStatement(org.codehaus.groovy.ast.stmt.SynchronizedStatement statement)
- Specified by:
visitSynchronizedStatement
in interface GroovyCodeVisitor
visitThrowStatement
public void visitThrowStatement(org.codehaus.groovy.ast.stmt.ThrowStatement statement)
- Specified by:
visitThrowStatement
in interface GroovyCodeVisitor
visitReturnStatement
public void visitReturnStatement(org.codehaus.groovy.ast.stmt.ReturnStatement statement)
- Specified by:
visitReturnStatement
in interface GroovyCodeVisitor
visitExpressionStatement
public void visitExpressionStatement(org.codehaus.groovy.ast.stmt.ExpressionStatement statement)
- Specified by:
visitExpressionStatement
in interface GroovyCodeVisitor
visitBinaryExpression
public void visitBinaryExpression(org.codehaus.groovy.ast.expr.BinaryExpression expression)
- Specified by:
visitBinaryExpression
in interface GroovyCodeVisitor
visitPostfixExpression
public void visitPostfixExpression(org.codehaus.groovy.ast.expr.PostfixExpression expression)
- Specified by:
visitPostfixExpression
in interface GroovyCodeVisitor
visitPrefixExpression
public void visitPrefixExpression(org.codehaus.groovy.ast.expr.PrefixExpression expression)
- Specified by:
visitPrefixExpression
in interface GroovyCodeVisitor
visitClosureExpression
public void visitClosureExpression(org.codehaus.groovy.ast.expr.ClosureExpression expression)
- Specified by:
visitClosureExpression
in interface GroovyCodeVisitor
visitRegexExpression
public void visitRegexExpression(org.codehaus.groovy.ast.expr.RegexExpression expression)
- Specified by:
visitRegexExpression
in interface GroovyCodeVisitor
visitConstantExpression
public void visitConstantExpression(org.codehaus.groovy.ast.expr.ConstantExpression expression)
- Specified by:
visitConstantExpression
in interface GroovyCodeVisitor
visitNotExpression
public void visitNotExpression(org.codehaus.groovy.ast.expr.NotExpression expression)
- Specified by:
visitNotExpression
in interface GroovyCodeVisitor
visitBooleanExpression
public void visitBooleanExpression(org.codehaus.groovy.ast.expr.BooleanExpression expression)
- Specified by:
visitBooleanExpression
in interface GroovyCodeVisitor
visitMethodCallExpression
public void visitMethodCallExpression(org.codehaus.groovy.ast.expr.MethodCallExpression call)
- Specified by:
visitMethodCallExpression
in interface GroovyCodeVisitor
visitStaticMethodCallExpression
public void visitStaticMethodCallExpression(org.codehaus.groovy.ast.expr.StaticMethodCallExpression call)
- Specified by:
visitStaticMethodCallExpression
in interface GroovyCodeVisitor
visitConstructorCallExpression
public void visitConstructorCallExpression(org.codehaus.groovy.ast.expr.ConstructorCallExpression call)
- Specified by:
visitConstructorCallExpression
in interface GroovyCodeVisitor
visitPropertyExpression
public void visitPropertyExpression(org.codehaus.groovy.ast.expr.PropertyExpression expression)
- Specified by:
visitPropertyExpression
in interface GroovyCodeVisitor
visitFieldExpression
public void visitFieldExpression(org.codehaus.groovy.ast.expr.FieldExpression expression)
- Specified by:
visitFieldExpression
in interface GroovyCodeVisitor
visitOuterFieldExpression
protected void visitOuterFieldExpression(org.codehaus.groovy.ast.expr.FieldExpression expression)
visitVariableExpression
public void visitVariableExpression(org.codehaus.groovy.ast.expr.VariableExpression expression)
- Specified by:
visitVariableExpression
in interface GroovyCodeVisitor
firstStatementIsSuperMethodCall
protected boolean firstStatementIsSuperMethodCall(org.codehaus.groovy.ast.stmt.Statement code)
createSyntheticStaticFields
protected void createSyntheticStaticFields()
visitClassExpression
public void visitClassExpression(org.codehaus.groovy.ast.expr.ClassExpression expression)
- Specified by:
visitClassExpression
in interface GroovyCodeVisitor
visitRangeExpression
public void visitRangeExpression(org.codehaus.groovy.ast.expr.RangeExpression expression)
- Specified by:
visitRangeExpression
in interface GroovyCodeVisitor
visitMapEntryExpression
public void visitMapEntryExpression(org.codehaus.groovy.ast.expr.MapEntryExpression expression)
- Specified by:
visitMapEntryExpression
in interface GroovyCodeVisitor
visitMapExpression
public void visitMapExpression(org.codehaus.groovy.ast.expr.MapExpression expression)
- Specified by:
visitMapExpression
in interface GroovyCodeVisitor
visitTupleExpression
public void visitTupleExpression(org.codehaus.groovy.ast.expr.TupleExpression expression)
- Specified by:
visitTupleExpression
in interface GroovyCodeVisitor
visitArrayExpression
public void visitArrayExpression(org.codehaus.groovy.ast.expr.ArrayExpression expression)
- Specified by:
visitArrayExpression
in interface GroovyCodeVisitor
visitListExpression
public void visitListExpression(org.codehaus.groovy.ast.expr.ListExpression expression)
- Specified by:
visitListExpression
in interface GroovyCodeVisitor
visitGStringExpression
public void visitGStringExpression(org.codehaus.groovy.ast.expr.GStringExpression expression)
- Specified by:
visitGStringExpression
in interface GroovyCodeVisitor
addInnerClass
protected boolean addInnerClass(org.codehaus.groovy.ast.ClassNode innerClass)
createClosureClass
protected org.codehaus.groovy.ast.ClassNode createClosureClass(org.codehaus.groovy.ast.expr.ClosureExpression expression)
createGStringClass
protected org.codehaus.groovy.ast.ClassNode createGStringClass(org.codehaus.groovy.ast.expr.GStringExpression expression)
doCast
protected void doCast(String type)
evaluateLogicalOrExpression
protected void evaluateLogicalOrExpression(org.codehaus.groovy.ast.expr.BinaryExpression expression)
evaluateLogicalAndExpression
protected void evaluateLogicalAndExpression(org.codehaus.groovy.ast.expr.BinaryExpression expression)
evaluateBinaryExpression
protected void evaluateBinaryExpression(String method,
org.codehaus.groovy.ast.expr.BinaryExpression expression)
evaluateBinaryExpressionWithAsignment
protected void evaluateBinaryExpressionWithAsignment(String method,
org.codehaus.groovy.ast.expr.BinaryExpression expression)
evaluateBinaryExpression
protected void evaluateBinaryExpression(org.codehaus.groovy.classgen.MethodCaller compareMethod,
org.codehaus.groovy.ast.expr.BinaryExpression expression)
evaluateEqual
protected void evaluateEqual(org.codehaus.groovy.ast.expr.BinaryExpression expression)
evaluatePrefixMethod
protected void evaluatePrefixMethod(String method,
org.codehaus.groovy.ast.expr.Expression expression)
evaluatePostfixMethod
protected void evaluatePostfixMethod(String method,
org.codehaus.groovy.ast.expr.Expression expression)
evaluateInstanceof
protected void evaluateInstanceof(org.codehaus.groovy.ast.expr.BinaryExpression expression)
argumentsUseStack
protected boolean argumentsUseStack(org.codehaus.groovy.ast.expr.Expression arguments)
- Returns:
- true if the given argument expression requires the stack, in
which case the arguments are evaluated first, stored in the
variable stack and then reloaded to make a method call
isNonStaticField
protected boolean isNonStaticField(org.codehaus.groovy.ast.expr.Expression expression)
- Returns:
- true if the given expression represents a non-static field
isThisExpression
protected boolean isThisExpression(org.codehaus.groovy.ast.expr.Expression expression)
assignmentExpression
protected org.codehaus.groovy.ast.expr.Expression assignmentExpression(org.codehaus.groovy.ast.expr.Expression expression)
comparisonExpression
protected boolean comparisonExpression(org.codehaus.groovy.ast.expr.Expression expression)
onLineNumber
protected void onLineNumber(org.codehaus.groovy.ast.ASTNode statement)
pushConstant
protected void pushConstant(int value)
getClosureSharedVariables
protected org.codehaus.groovy.ast.Parameter[] getClosureSharedVariables(org.codehaus.groovy.ast.expr.ClosureExpression expression)
- Returns:
- a list of parameters for each local variable which needs to be passed into
a closure
findMutableVariables
protected void findMutableVariables(org.codehaus.groovy.ast.MethodNode node)
getVariableType
protected String getVariableType(String name)
getLastStackId
protected int getLastStackId()
- Returns:
- the last ID used by the stack
resetVariableStack
protected void resetVariableStack(org.codehaus.groovy.ast.Parameter[] parameters)
isFieldOrVariable
protected boolean isFieldOrVariable(String name)
- Returns:
- true if the given name is a local variable or a field
defineVariable
protected org.codehaus.groovy.classgen.Variable defineVariable(String name,
String type)
- Defines the given variable in scope and assigns it to the stack
defineVariable
protected org.codehaus.groovy.classgen.Variable defineVariable(String name,
String type,
boolean define)
checkValidType
protected String checkValidType(String type,
org.codehaus.groovy.ast.ASTNode node,
String message)
createVariableName
protected String createVariableName(String type)
getExpressionType
protected Class getExpressionType(org.codehaus.groovy.ast.expr.Expression expression)
- Returns:
- if the type of the expression can be determined at compile time
then this method returns the type - otherwise java.lang.Object
is returned.
isPrimitiveFieldType
protected boolean isPrimitiveFieldType(Object value)
- Returns:
- true if the value is an Integer, a Float, a Long, a Double or a
String .
isInClosureConstructor
protected boolean isInClosureConstructor()
isStaticMethod
protected boolean isStaticMethod()
getClassInternalName
protected String getClassInternalName(String name)
- Returns:
- the ASM internal name of the type
getMethodDescriptor
protected String getMethodDescriptor(String returnTypeName,
org.codehaus.groovy.ast.Parameter[] paramTypeNames)
- Returns:
- the ASM method type descriptor
getTypeDescription
protected String getTypeDescription(String name)
- Returns:
- the ASM type description
getType
protected org.objectweb.asm.Type getType(String className)
- Returns:
- the ASM type for the given class name
loadClass
protected Class loadClass(String name)
- Returns:
- loads the given type name
Copyright © 2003 The Codehaus. All Rights Reserved.