public class JvstTypeChecker extends TypeChecker
arrayDim, className, exprType, resolver, thisClass, thisMethod
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
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 and Description |
---|
JvstTypeChecker(CtClass cc,
ClassPool cp,
JvstCodeGen gen) |
Modifier and Type | Method and 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) |
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
atASTList, atDeclarator, atFieldDecl, atMethodDecl, atPair, atStmnt, atSymbol
public JvstTypeChecker(CtClass cc, ClassPool cp, JvstCodeGen gen)
public void addNullIfVoid()
public void atMember(Member mem) throws CompileError
atMember
in class TypeChecker
CompileError
protected void atFieldAssign(Expr expr, int op, ASTree left, ASTree right) throws CompileError
atFieldAssign
in class TypeChecker
CompileError
public void atCastExpr(CastExpr expr) throws CompileError
atCastExpr
in class TypeChecker
CompileError
protected void atCastToRtype(CastExpr expr) throws CompileError
CompileError
protected void atCastToWrapper(CastExpr expr) throws CompileError
CompileError
public void atCallExpr(CallExpr expr) throws CompileError
atCallExpr
in class TypeChecker
CompileError
protected void atCflow(ASTList cname) throws CompileError
CompileError
public boolean isParamListName(ASTList args)
public int getMethodArgsLength(ASTList args)
getMethodArgsLength
in class TypeChecker
public void atMethodArgs(ASTList args, int[] types, int[] dims, String[] cnames) throws CompileError
atMethodArgs
in class TypeChecker
CompileError
protected void compileUnwrapValue(CtClass type) throws CompileError
CompileError
public void setType(CtClass type) throws CompileError
CompileError
Copyright © 2019. All rights reserved.