javassist.compiler
Class TypeChecker
java.lang.Object
javassist.compiler.ast.Visitor
javassist.compiler.TypeChecker
- All Implemented Interfaces:
- Opcode, TokenId
- Direct Known Subclasses:
- JvstTypeChecker
public class TypeChecker
- extends Visitor
- implements Opcode, TokenId
Fields inherited from interface javassist.bytecode.Opcode |
AALOAD, AASTORE, ACONST_NULL, ALOAD, ALOAD_0, ALOAD_1, ALOAD_2, ALOAD_3, ANEWARRAY, ARETURN, ARRAYLENGTH, ASTORE, ASTORE_0, ASTORE_1, ASTORE_2, ASTORE_3, ATHROW, BALOAD, BASTORE, BIPUSH, CALOAD, CASTORE, CHECKCAST, D2F, D2I, D2L, DADD, DALOAD, DASTORE, DCMPG, DCMPL, DCONST_0, DCONST_1, DDIV, DLOAD, DLOAD_0, DLOAD_1, DLOAD_2, DLOAD_3, DMUL, DNEG, DREM, DRETURN, DSTORE, DSTORE_0, DSTORE_1, DSTORE_2, DSTORE_3, 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, FLOAD_0, FLOAD_1, FLOAD_2, FLOAD_3, FMUL, FNEG, FREM, FRETURN, FSTORE, FSTORE_0, FSTORE_1, FSTORE_2, FSTORE_3, FSUB, GETFIELD, GETSTATIC, GOTO, GOTO_W, 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, ILOAD_0, ILOAD_1, ILOAD_2, ILOAD_3, IMUL, INEG, INSTANCEOF, INVOKEINTERFACE, INVOKESPECIAL, INVOKESTATIC, INVOKEVIRTUAL, IOR, IREM, IRETURN, ISHL, ISHR, ISTORE, ISTORE_0, ISTORE_1, ISTORE_2, ISTORE_3, ISUB, IUSHR, IXOR, JSR, JSR_W, L2D, L2F, L2I, LADD, LALOAD, LAND, LASTORE, LCMP, LCONST_0, LCONST_1, LDC, LDC_W, LDC2_W, LDIV, LLOAD, LLOAD_0, LLOAD_1, LLOAD_2, LLOAD_3, LMUL, LNEG, LOOKUPSWITCH, LOR, LREM, LRETURN, LSHL, LSHR, LSTORE, LSTORE_0, LSTORE_1, LSTORE_2, LSTORE_3, LSUB, LUSHR, LXOR, MONITORENTER, MONITOREXIT, MULTIANEWARRAY, NEW, NEWARRAY, NOP, POP, POP2, PUTFIELD, PUTSTATIC, RET, RETURN, SALOAD, SASTORE, SIPUSH, STACK_GROW, SWAP, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, TABLESWITCH, WIDE |
Fields inherited from interface javassist.compiler.TokenId |
ABSTRACT, AND_E, ANDAND, ARRAY, ARSHIFT, ARSHIFT_E, assignOps, BadToken, BLOCK, BOOLEAN, BREAK, BYTE, CALL, CASE, CATCH, CHAR, CharConstant, CLASS, CONST, CONTINUE, DECL, DEFAULT, DIV_E, DO, DOUBLE, DoubleConstant, ELSE, EQ, EXOR_E, EXPR, EXTENDS, FALSE, FINAL, FINALLY, FLOAT, FloatConstant, FOR, GE, GOTO, Identifier, IF, IMPLEMENTS, IMPORT, INSTANCEOF, INT, IntConstant, INTERFACE, LABEL, LE, LONG, LongConstant, LSHIFT, LSHIFT_E, MEMBER, MINUS_E, MINUSMINUS, MOD_E, MUL_E, NATIVE, NEQ, NEW, NULL, opNames, OR_E, OROR, PACKAGE, PLUS_E, PLUSPLUS, PRIVATE, PROTECTED, PUBLIC, RETURN, RSHIFT, RSHIFT_E, SHORT, STATIC, STRICT, StringL, SUPER, SWITCH, SYNCHRONIZED, THIS, THROW, THROWS, TRANSIENT, TRUE, TRY, VOID, VOLATILE, WHILE |
Method Summary |
protected static java.lang.String |
argTypesToString(int[] types,
int[] dims,
java.lang.String[] cnames)
|
void |
atArrayInit(ArrayInit init)
|
void |
atArrayLength(Expr expr)
|
void |
atArrayRead(ASTree array,
ASTree index)
|
void |
atAssignExpr(AssignExpr expr)
|
void |
atBinExpr(BinExpr expr)
|
void |
atCallExpr(CallExpr expr)
|
void |
atCastExpr(CastExpr expr)
|
void |
atClassObject(Expr expr)
|
void |
atCondExpr(CondExpr expr)
|
void |
atDoubleConst(DoubleConst d)
|
void |
atExpr(Expr expr)
|
protected void |
atFieldAssign(Expr expr,
int op,
ASTree left,
ASTree right)
|
protected void |
atFieldPlusPlus(ASTree oprand)
|
void |
atInstanceOfExpr(InstanceOfExpr expr)
|
void |
atIntConst(IntConst i)
|
void |
atKeyword(Keyword k)
|
void |
atMember(Member mem)
|
void |
atMethodArgs(ASTList args,
int[] types,
int[] dims,
java.lang.String[] cnames)
|
MemberResolver.Method |
atMethodCallCore(CtClass targetClass,
java.lang.String mname,
ASTList args)
|
protected void |
atMultiNewArray(int type,
ASTList classname,
ASTList size)
|
void |
atNewArrayExpr(NewExpr expr)
|
void |
atNewExpr(NewExpr expr)
|
void |
atStringL(StringL s)
|
void |
atVariable(Variable v)
|
protected static void |
fatal()
|
protected CtField |
fieldAccess(ASTree expr)
|
static ASTree |
getConstantFieldValue(CtField f)
|
int |
getMethodArgsLength(ASTList args)
|
protected java.lang.String |
getSuperName()
Returns the JVM-internal representation of this super class name. |
protected java.lang.String |
getThisName()
Returns the JVM-internal representation of this class name. |
protected java.lang.String |
resolveClassName(ASTList name)
|
protected java.lang.String |
resolveClassName(java.lang.String jvmName)
|
void |
setThisMethod(MethodInfo m)
Records the currently compiled method. |
protected static java.lang.StringBuffer |
typeToString(java.lang.StringBuffer sbuf,
int type,
int dim,
java.lang.String cname)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
exprType
protected int exprType
arrayDim
protected int arrayDim
className
protected java.lang.String className
resolver
protected MemberResolver resolver
thisClass
protected CtClass thisClass
thisMethod
protected MethodInfo thisMethod
TypeChecker
public TypeChecker(CtClass cc,
ClassPool cp)
argTypesToString
protected static java.lang.String argTypesToString(int[] types,
int[] dims,
java.lang.String[] cnames)
typeToString
protected static java.lang.StringBuffer typeToString(java.lang.StringBuffer sbuf,
int type,
int dim,
java.lang.String cname)
setThisMethod
public void setThisMethod(MethodInfo m)
- Records the currently compiled method.
fatal
protected static void fatal()
throws CompileError
- Throws:
CompileError
getThisName
protected java.lang.String getThisName()
- Returns the JVM-internal representation of this class name.
getSuperName
protected java.lang.String getSuperName()
throws CompileError
- Returns the JVM-internal representation of this super class name.
- Throws:
CompileError
resolveClassName
protected java.lang.String resolveClassName(ASTList name)
throws CompileError
- Throws:
CompileError
resolveClassName
protected java.lang.String resolveClassName(java.lang.String jvmName)
throws CompileError
- Throws:
CompileError
atNewExpr
public void atNewExpr(NewExpr expr)
throws CompileError
- Overrides:
atNewExpr
in class Visitor
- Throws:
CompileError
atNewArrayExpr
public void atNewArrayExpr(NewExpr expr)
throws CompileError
- Throws:
CompileError
atArrayInit
public void atArrayInit(ArrayInit init)
throws CompileError
- Overrides:
atArrayInit
in class Visitor
- Throws:
CompileError
atMultiNewArray
protected void atMultiNewArray(int type,
ASTList classname,
ASTList size)
throws CompileError
- Throws:
CompileError
atAssignExpr
public void atAssignExpr(AssignExpr expr)
throws CompileError
- Overrides:
atAssignExpr
in class Visitor
- Throws:
CompileError
atFieldAssign
protected void atFieldAssign(Expr expr,
int op,
ASTree left,
ASTree right)
throws CompileError
- Throws:
CompileError
atCondExpr
public void atCondExpr(CondExpr expr)
throws CompileError
- Overrides:
atCondExpr
in class Visitor
- Throws:
CompileError
atBinExpr
public void atBinExpr(BinExpr expr)
throws CompileError
- Overrides:
atBinExpr
in class Visitor
- Throws:
CompileError
getConstantFieldValue
public static ASTree getConstantFieldValue(CtField f)
atCastExpr
public void atCastExpr(CastExpr expr)
throws CompileError
- Overrides:
atCastExpr
in class Visitor
- Throws:
CompileError
atInstanceOfExpr
public void atInstanceOfExpr(InstanceOfExpr expr)
throws CompileError
- Overrides:
atInstanceOfExpr
in class Visitor
- Throws:
CompileError
atExpr
public void atExpr(Expr expr)
throws CompileError
- Overrides:
atExpr
in class Visitor
- Throws:
CompileError
atCallExpr
public void atCallExpr(CallExpr expr)
throws CompileError
- Overrides:
atCallExpr
in class Visitor
- Throws:
CompileError
atMethodCallCore
public MemberResolver.Method atMethodCallCore(CtClass targetClass,
java.lang.String mname,
ASTList args)
throws CompileError
- Returns:
- a pair of the class declaring the invoked method
and the MethodInfo of that method. Never null.
- Throws:
CompileError
getMethodArgsLength
public int getMethodArgsLength(ASTList args)
atMethodArgs
public void atMethodArgs(ASTList args,
int[] types,
int[] dims,
java.lang.String[] cnames)
throws CompileError
- Throws:
CompileError
fieldAccess
protected CtField fieldAccess(ASTree expr)
throws CompileError
- Throws:
CompileError
atClassObject
public void atClassObject(Expr expr)
throws CompileError
- Throws:
CompileError
atArrayLength
public void atArrayLength(Expr expr)
throws CompileError
- Throws:
CompileError
atArrayRead
public void atArrayRead(ASTree array,
ASTree index)
throws CompileError
- Throws:
CompileError
atFieldPlusPlus
protected void atFieldPlusPlus(ASTree oprand)
throws CompileError
- Throws:
CompileError
atMember
public void atMember(Member mem)
throws CompileError
- Overrides:
atMember
in class Visitor
- Throws:
CompileError
atVariable
public void atVariable(Variable v)
throws CompileError
- Overrides:
atVariable
in class Visitor
- Throws:
CompileError
atKeyword
public void atKeyword(Keyword k)
throws CompileError
- Overrides:
atKeyword
in class Visitor
- Throws:
CompileError
atStringL
public void atStringL(StringL s)
throws CompileError
- Overrides:
atStringL
in class Visitor
- Throws:
CompileError
atIntConst
public void atIntConst(IntConst i)
throws CompileError
- Overrides:
atIntConst
in class Visitor
- Throws:
CompileError
atDoubleConst
public void atDoubleConst(DoubleConst d)
throws CompileError
- Overrides:
atDoubleConst
in class Visitor
- Throws:
CompileError
Copyright © 2011. All Rights Reserved.