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

Field Summary
 
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
 

Constructor Detail

ClassGenerator

public ClassGenerator(org.codehaus.groovy.classgen.GeneratorContext context,
                      org.objectweb.asm.ClassVisitor classVisitor,
                      ClassLoader classLoader,
                      String sourceFile)
Method Detail

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.