Class JvstTypeChecker
- java.lang.Object
-
- org.hotswap.agent.javassist.compiler.ast.Visitor
-
- org.hotswap.agent.javassist.compiler.TypeChecker
-
- org.hotswap.agent.javassist.compiler.JvstTypeChecker
-
public class JvstTypeChecker extends TypeChecker
-
-
Field Summary
-
Fields inherited from class org.hotswap.agent.javassist.compiler.TypeChecker
arrayDim, className, exprType, resolver, thisClass, thisMethod
-
Fields inherited from interface org.hotswap.agent.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, 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, CHECKCAST, 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_DOUBLE, T_FLOAT, T_CHAR, T_INT, T_LONG, T_SHORT, TABLESWITCH, WIDE
-
Fields inherited from interface org.hotswap.agent.javassist.compiler.TokenId
ABSTRACT, AND_E, ANDAND, ARRAY, ARSHIFT, ARSHIFT_E, assignOps, BadToken, BLOCK, BOOLEAN, BREAK, BYTE, CALL, CASE, CATCH, CLASS, CONST, CONTINUE, DECL, DEFAULT, DIV_E, DO, DOUBLE, DoubleConstant, ELSE, EQ, EXOR_E, EXPR, EXTENDS, FALSE, FINAL, FINALLY, FLOAT, FloatConstant, FOR, GE, GOTO, CHAR, CharConstant, 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 voidaddNullIfVoid()voidatCallExpr(CallExpr expr)voidatCastExpr(CastExpr expr)protected voidatCastToRtype(CastExpr expr)Inserts a cast operator to the return type.protected voidatCastToWrapper(CastExpr expr)protected voidatCflow(ASTList cname)protected voidatFieldAssign(Expr expr, int op, ASTree left, ASTree right)voidatMember(Member mem)voidatMethodArgs(ASTList args, int[] types, int[] dims, String[] cnames)protected voidcompileUnwrapValue(CtClass type)intgetMethodArgsLength(ASTList args)booleanisParamListName(ASTList args)voidsetType(CtClass type)-
Methods inherited from class org.hotswap.agent.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 org.hotswap.agent.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:
atMemberin classTypeChecker- Throws:
CompileError
-
atFieldAssign
protected void atFieldAssign(Expr expr, int op, ASTree left, ASTree right) throws CompileError
- Overrides:
atFieldAssignin classTypeChecker- Throws:
CompileError
-
atCastExpr
public void atCastExpr(CastExpr expr) throws CompileError
- Overrides:
atCastExprin 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:
atCallExprin 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:
getMethodArgsLengthin classTypeChecker
-
atMethodArgs
public void atMethodArgs(ASTList args, int[] types, int[] dims, String[] cnames) throws CompileError
- Overrides:
atMethodArgsin classTypeChecker- Throws:
CompileError
-
compileUnwrapValue
protected void compileUnwrapValue(CtClass type) throws CompileError
- Throws:
CompileError
-
setType
public void setType(CtClass type) throws CompileError
- Throws:
CompileError
-
-