org.codehaus.groovy.classgen
Class VerifierCodeVisitor

java.lang.Object
  |
  +--org.codehaus.groovy.ast.CodeVisitorSupport
        |
        +--org.codehaus.groovy.classgen.VerifierCodeVisitor
All Implemented Interfaces:
org.objectweb.asm.Constants, GroovyCodeVisitor

public class VerifierCodeVisitor
extends CodeVisitorSupport
implements org.objectweb.asm.Constants

Verifies the method code

Version:
$Revision: 1.3 $
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
 
Method Summary
protected  void mergeClassExpressionAndVariableExpression(List list)
          lets look for a ClassExpression followed by a BinaryExpression with a VariableExpression on the LHS and associate the type with the VariableExpression and remove the ClassExpression.
 void visitBinaryExpression(org.codehaus.groovy.ast.expr.BinaryExpression expression)
           
 void visitBlockStatement(org.codehaus.groovy.ast.stmt.BlockStatement block)
           
 
Methods inherited from class org.codehaus.groovy.ast.CodeVisitorSupport
visitArrayExpression, visitAssertStatement, visitBooleanExpression, visitBreakStatement, visitCaseStatement, visitClassExpression, visitClosureExpression, visitConstantExpression, visitConstructorCallExpression, visitContinueStatement, visitDoWhileLoop, visitExpressionStatement, visitFieldExpression, visitForLoop, visitGStringExpression, visitIfElse, visitListExpression, visitListOfExpressions, visitMapEntryExpression, visitMapExpression, visitMethodCallExpression, visitNotExpression, visitPostfixExpression, visitPrefixExpression, visitPropertyExpression, visitRangeExpression, visitRegexExpression, visitReturnStatement, visitStaticMethodCallExpression, visitSwitch, visitSynchronizedStatement, visitThrowStatement, visitTryCatchFinally, visitTupleExpression, visitVariableExpression, visitWhileLoop
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

visitBlockStatement

public void visitBlockStatement(org.codehaus.groovy.ast.stmt.BlockStatement block)
Specified by:
visitBlockStatement in interface GroovyCodeVisitor
Overrides:
visitBlockStatement in class CodeVisitorSupport

visitBinaryExpression

public void visitBinaryExpression(org.codehaus.groovy.ast.expr.BinaryExpression expression)
Specified by:
visitBinaryExpression in interface GroovyCodeVisitor
Overrides:
visitBinaryExpression in class CodeVisitorSupport

mergeClassExpressionAndVariableExpression

protected void mergeClassExpressionAndVariableExpression(List list)
lets look for a ClassExpression followed by a BinaryExpression with a VariableExpression on the LHS and associate the type with the VariableExpression and remove the ClassExpression. The parser should output this correctly really.



Copyright © 2003 The Codehaus. All Rights Reserved.