Package javassist.compiler
Class JvstTypeChecker
- java.lang.Object
-
- javassist.compiler.ast.Visitor
-
- javassist.compiler.TypeChecker
-
- javassist.compiler.JvstTypeChecker
-
public class JvstTypeChecker extends TypeChecker
-
-
Field Summary
-
Fields inherited from class javassist.compiler.TypeChecker
arrayDim, className, exprType, resolver, thisClass, thisMethod
-
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, INVOKEDYNAMIC, 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
-
-
Constructor Summary
Constructors Constructor Description JvstTypeChecker(CtClass cc, ClassPool cp, JvstCodeGen gen)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addNullIfVoid()
void
atCallExpr(CallExpr expr)
void
atCastExpr(CastExpr expr)
protected void
atCastToRtype(CastExpr expr)
Inserts a cast operator to the return type.protected void
atCastToWrapper(CastExpr expr)
protected void
atCflow(ASTList cname)
protected void
atFieldAssign(Expr expr, int op, ASTree left, ASTree right)
void
atMember(Member mem)
void
atMethodArgs(ASTList args, int[] types, int[] dims, String[] cnames)
protected void
compileUnwrapValue(CtClass type)
int
getMethodArgsLength(ASTList args)
boolean
isParamListName(ASTList args)
void
setType(CtClass type)
-
Methods inherited from class javassist.compiler.TypeChecker
argTypesToString, atArrayInit, atArrayLength, atArrayRead, atAssignExpr, atBinExpr, atClassObject, atCondExpr, atDoubleConst, atExpr, atFieldPlusPlus, atInstanceOfExpr, atIntConst, atKeyword, atMethodCallCore, atMultiNewArray, atNewArrayExpr, atNewExpr, atStringL, atVariable, fatal, fieldAccess, getConstantFieldValue, getSuperName, getThisName, resolveClassName, resolveClassName, setThisMethod, typeToString
-
Methods inherited from class javassist.compiler.ast.Visitor
atASTList, atDeclarator, atFieldDecl, atMethodDecl, atPair, atStmnt, atSymbol
-
-
-
-
Constructor Detail
-
JvstTypeChecker
public JvstTypeChecker(CtClass cc, ClassPool cp, JvstCodeGen gen)
-
-
Method Detail
-
addNullIfVoid
public void addNullIfVoid()
-
atMember
public void atMember(Member mem) throws CompileError
- Overrides:
atMember
in classTypeChecker
- Throws:
CompileError
-
atFieldAssign
protected void atFieldAssign(Expr expr, int op, ASTree left, ASTree right) throws CompileError
- Overrides:
atFieldAssign
in classTypeChecker
- Throws:
CompileError
-
atCastExpr
public void atCastExpr(CastExpr expr) throws CompileError
- Overrides:
atCastExpr
in classTypeChecker
- Throws:
CompileError
-
atCastToRtype
protected void atCastToRtype(CastExpr expr) throws CompileError
Inserts a cast operator to the return type. If the return type is void, this does nothing.- Throws:
CompileError
-
atCastToWrapper
protected void atCastToWrapper(CastExpr expr) throws CompileError
- Throws:
CompileError
-
atCallExpr
public void atCallExpr(CallExpr expr) throws CompileError
- Overrides:
atCallExpr
in classTypeChecker
- Throws:
CompileError
-
atCflow
protected void atCflow(ASTList cname) throws CompileError
- Throws:
CompileError
-
isParamListName
public boolean isParamListName(ASTList args)
-
getMethodArgsLength
public int getMethodArgsLength(ASTList args)
- Overrides:
getMethodArgsLength
in classTypeChecker
-
atMethodArgs
public void atMethodArgs(ASTList args, int[] types, int[] dims, String[] cnames) throws CompileError
- Overrides:
atMethodArgs
in classTypeChecker
- Throws:
CompileError
-
compileUnwrapValue
protected void compileUnwrapValue(CtClass type) throws CompileError
- Throws:
CompileError
-
setType
public void setType(CtClass type) throws CompileError
- Throws:
CompileError
-
-