## org.codehaus.groovy.classgen
Class Verifier

    java.lang.Object
      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: 18248 $
Author:
  James Strachan

Field Summary
`static String` `__TIMESTAMP`
`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, DOUBLE, DREM, DRETURN, DSTORE, DSUB, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, F_APPEND, F_CHOP, F_FULL, F_NEW, F_SAME, F_SAME1, F2D, F2I, F2L, FADD, FALOAD, FASTORE, FCMPG, FCMPL, FCONST_0, FCONST_1, FCONST_2, FDIV, FLOAD, FLOAT, 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, INTEGER, INVOKEDYNAMIC, INVOKEDYNAMIC_OWNER, 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, LONG, LOOKUPSWITCH, LOR, LREM, LRETURN, LSHL, LSHR, LSTORE, LSUB, LUSHR, LXOR, MONITORENTER, MONITOREXIT, MULTIANEWARRAY, NEW, NEWARRAY, NOP, NULL, 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, TOP, UNINITIALIZED_THIS, V1_1, V1_2, V1_3, V1_4, V1_5, V1_6, V1_7`

Constructor Summary
`Verifier()`

Method Summary
`protected void` `addClosureCode(InnerClassNode node)`
`protected void` `addCovariantMethods(ClassNode classNode)`
`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, boolean isEnumClassNode, List initStmtsAfterEnumValuesInit, Set explicitStaticPropsInEnum)`
`protected void` `addInitialization(ClassNode node)`
`protected void` `addInitialization(ClassNode node, ConstructorNode constructorNode)`
`protected void` `addPropertyMethod(MethodNode method)`
`protected void` `addReturnIfNeeded(MethodNode node)`
`protected void` `addTimeStamp(ClassNode node)`
`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)`
`ClassNode` `getClassNode()`
`MethodNode` `getMethodNode()`
`static long` `getTimestamp(Class clazz)`
`void` `visitClass(ClassNode node)` add code to implement GroovyObject
`void` `visitConstructor(ConstructorNode node)`
`void` `visitField(FieldNode node)`
`void` `visitGenericType(GenericsType genericsType)`
`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

### __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` -

### addTimeStamp

    protected void addTimeStamp(ClassNode 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`

### addReturnIfNeeded

    protected void addReturnIfNeeded(MethodNode node)

### visitField

    public void visitField(FieldNode node)

  Specified by:
    `visitField` in interface `GroovyClassVisitor`

### visitProperty

    public void visitProperty(PropertyNode node)

  Specified by:
    `visitProperty` in interface `GroovyClassVisitor`

### addPropertyMethod

    protected void addPropertyMethod(MethodNode method)

### 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,
                                          boolean isEnumClassNode,
                                          List initStmtsAfterEnumValuesInit,
                                          Set explicitStaticPropsInEnum)

### 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)

### visitGenericType

    public void visitGenericType(GenericsType genericsType)

### getTimestamp

    public static long getTimestamp(Class clazz)

### addCovariantMethods

    protected void addCovariantMethods(ClassNode classNode)

Copyright © 2003-2009 The Codehaus. All rights reserved.