| 
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.codehaus.groovy.classgen.Verifier
public class Verifier
Verifies the AST node and adds any defaulted AST code before bytecode generation occurs.
| Nested Class Summary | |
|---|---|
static interface | 
Verifier.DefaultArgsAction
 | 
| Field Summary | |
|---|---|
static String | 
__TIMESTAMP
 | 
static String | 
__TIMESTAMP__
 | 
static String | 
STATIC_METACLASS_BOOL
 | 
static String | 
SWAP_INIT
 | 
| 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 | 
addConstructor(Parameter[] newParams,
               ConstructorNode ctor,
               Statement code,
               ClassNode node)
 | 
protected  void | 
addCovariantMethods(ClassNode classNode)
 | 
protected  void | 
addDefaultConstructor(ClassNode 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,
                     Verifier.DefaultArgsAction action)
Creates a new helper method for each combination of default parameter expressions  | 
protected  void | 
addDefaultParameters(Verifier.DefaultArgsAction action,
                     MethodNode method)
 | 
protected  void | 
addFieldInitialization(List list,
                       List staticList,
                       FieldNode fieldNode,
                       boolean isEnumClassNode,
                       List initStmtsAfterEnumValuesInit,
                       Set explicitStaticPropsInEnum)
 | 
protected  void | 
addGroovyObjectInterfaceAndMethods(ClassNode node,
                                   String classInternalName)
 | 
protected  void | 
addInitialization(ClassNode node)
 | 
protected  void | 
addInitialization(ClassNode node,
                  ConstructorNode constructorNode)
 | 
protected  void | 
addMethod(ClassNode node,
          boolean shouldBeSynthetic,
          String name,
          int modifiers,
          ClassNode returnType,
          Parameter[] parameters,
          ClassNode[] exceptions,
          Statement code)
Helper method to add a new method to a ClassNode.  | 
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)
 | 
static ConstantExpression | 
transformToPrimitiveConstantIfPossible(ConstantExpression constantExpression)
When constant expressions are created, the value is always wrapped to a non primitive type.  | 
 void | 
visitClass(ClassNode node)
add code to implement GroovyObject  | 
 void | 
visitConstructor(ConstructorNode node)
Visit a ConstructorNode.  | 
 void | 
visitField(FieldNode node)
Visit a FieldNode.  | 
 void | 
visitGenericType(GenericsType genericsType)
 | 
 void | 
visitMethod(MethodNode node)
Visit a MethodNode.  | 
 void | 
visitProperty(PropertyNode node)
Visit a PropertyNode.  | 
| Methods inherited from class java.lang.Object | 
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Field Detail | 
|---|
public static final String STATIC_METACLASS_BOOL
public static final String SWAP_INIT
public static final String __TIMESTAMP
public static final String __TIMESTAMP__
| Constructor Detail | 
|---|
public Verifier()
| Method Detail | 
|---|
public ClassNode getClassNode()
public MethodNode getMethodNode()
public void visitClass(ClassNode node)
visitClass in interface GroovyClassVisitornode - protected void addDefaultConstructor(ClassNode node)
protected void addGroovyObjectInterfaceAndMethods(ClassNode node,
                                                  String classInternalName)
protected void addMethod(ClassNode node,
                         boolean shouldBeSynthetic,
                         String name,
                         int modifiers,
                         ClassNode returnType,
                         Parameter[] parameters,
                         ClassNode[] exceptions,
                         Statement code)
protected void addTimeStamp(ClassNode node)
public void visitConstructor(ConstructorNode node)
GroovyClassVisitor
visitConstructor in interface GroovyClassVisitorpublic void visitMethod(MethodNode node)
GroovyClassVisitor
visitMethod in interface GroovyClassVisitorprotected void addReturnIfNeeded(MethodNode node)
public void visitField(FieldNode node)
GroovyClassVisitor
visitField in interface GroovyClassVisitorpublic void visitProperty(PropertyNode node)
GroovyClassVisitor
visitProperty in interface GroovyClassVisitorprotected void addPropertyMethod(MethodNode method)
protected void addDefaultParameterMethods(ClassNode node)
protected void addDefaultParameterConstructors(ClassNode node)
protected void addConstructor(Parameter[] newParams,
                              ConstructorNode ctor,
                              Statement code,
                              ClassNode node)
protected void addDefaultParameters(List methods,
                                    Verifier.DefaultArgsAction action)
protected void addDefaultParameters(Verifier.DefaultArgsAction action,
                                    MethodNode method)
protected void addClosureCode(InnerClassNode node)
protected void addInitialization(ClassNode node)
protected void addInitialization(ClassNode node,
                                 ConstructorNode constructorNode)
protected void addFieldInitialization(List list,
                                      List staticList,
                                      FieldNode fieldNode,
                                      boolean isEnumClassNode,
                                      List initStmtsAfterEnumValuesInit,
                                      Set explicitStaticPropsInEnum)
public static String capitalize(String name)
protected Statement createGetterBlock(PropertyNode propertyNode,
                                      FieldNode field)
protected Statement createSetterBlock(PropertyNode propertyNode,
                                      FieldNode field)
public void visitGenericType(GenericsType genericsType)
public static long getTimestamp(Class clazz)
protected void addCovariantMethods(ClassNode classNode)
public static ConstantExpression transformToPrimitiveConstantIfPossible(ConstantExpression constantExpression)
constantExpression - a constant expression
  | 
Copyright © 2003-2012 The Codehaus. All rights reserved. | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||