org.codehaus.groovy.classgen
Class Verifier

java.lang.Object
  extended by org.codehaus.groovy.classgen.Verifier
All Implemented Interfaces:
GroovyClassVisitor, org.objectweb.asm.Opcodes

public class Verifier
extends Object
implements GroovyClassVisitor, org.objectweb.asm.Opcodes

Verifies the AST node and adds any defaulted AST code before bytecode generation occurs.

Version:
$Revision: 4598 $
Author:
James Strachan

Field Summary
static String __TIMESTAMP
           
 
Fields inherited from interface org.objectweb.asm.Opcodes
AALOAD, AASTORE, ACC_ABSTRACT, ACC_ANNOTATION, ACC_BRIDGE, ACC_DEPRECATED, ACC_ENUM, 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_VARARGS, 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, V1_1, V1_2, V1_3, V1_4, V1_5, V1_6
 
Constructor Summary
Verifier()
           
 
Method Summary
protected  void addClosureCode(InnerClassNode node)
           
protected  void addDefaultParameterConstructors(ClassNode node)
           
protected  void addDefaultParameterMethods(ClassNode node)
          Creates a new helper method for each combination of default parameter expressions
protected  void addDefaultParameters(List methods, org.codehaus.groovy.classgen.Verifier.DefaultArgsAction action)
          Creates a new helper method for each combination of default parameter expressions
protected  void addFieldInitialization(List list, List staticList, FieldNode fieldNode)
           
protected  void addInitialization(ClassNode node)
           
protected  void addInitialization(ClassNode node, ConstructorNode constructorNode)
           
static String capitalize(String name)
          Capitalizes the start of the given bean property name
protected  Statement createGetterBlock(PropertyNode propertyNode, FieldNode field)
           
protected  Statement createSetterBlock(PropertyNode propertyNode, FieldNode field)
           
protected  Statement filterStatement(Statement statement)
           
protected  List filterStatements(List list)
          Filters the given statements
 ClassNode getClassNode()
           
 MethodNode getMethodNode()
           
 void visitClass(ClassNode node)
          add code to implement GroovyObject
 void visitConstructor(ConstructorNode node)
           
 void visitField(FieldNode node)
           
 void visitMethod(MethodNode node)
           
 void visitProperty(PropertyNode node)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

__TIMESTAMP

public static final String __TIMESTAMP
See Also:
Constant Field Values
Constructor Detail

Verifier

public Verifier()
Method Detail

getClassNode

public ClassNode getClassNode()

getMethodNode

public MethodNode getMethodNode()

visitClass

public void visitClass(ClassNode node)
add code to implement GroovyObject

Specified by:
visitClass in interface GroovyClassVisitor
Parameters:
node -

visitConstructor

public void visitConstructor(ConstructorNode node)
Specified by:
visitConstructor in interface GroovyClassVisitor

visitMethod

public void visitMethod(MethodNode node)
Specified by:
visitMethod in interface GroovyClassVisitor

visitField

public void visitField(FieldNode node)
Specified by:
visitField in interface GroovyClassVisitor

visitProperty

public void visitProperty(PropertyNode node)
Specified by:
visitProperty in interface GroovyClassVisitor

addDefaultParameterMethods

protected void addDefaultParameterMethods(ClassNode node)
Creates a new helper method for each combination of default parameter expressions


addDefaultParameterConstructors

protected void addDefaultParameterConstructors(ClassNode node)

addDefaultParameters

protected void addDefaultParameters(List methods,
                                    org.codehaus.groovy.classgen.Verifier.DefaultArgsAction action)
Creates a new helper method for each combination of default parameter expressions


addClosureCode

protected void addClosureCode(InnerClassNode node)

addInitialization

protected void addInitialization(ClassNode node)

addInitialization

protected void addInitialization(ClassNode node,
                                 ConstructorNode constructorNode)

addFieldInitialization

protected void addFieldInitialization(List list,
                                      List staticList,
                                      FieldNode fieldNode)

capitalize

public static String capitalize(String name)
Capitalizes the start of the given bean property name


createGetterBlock

protected Statement createGetterBlock(PropertyNode propertyNode,
                                      FieldNode field)

createSetterBlock

protected Statement createSetterBlock(PropertyNode propertyNode,
                                      FieldNode field)

filterStatements

protected List filterStatements(List list)
Filters the given statements


filterStatement

protected Statement filterStatement(Statement statement)


Copyright © 2003-2010 The Codehaus. All Rights Reserved.