| Modifier and Type | Field and Description |
|---|---|
protected int |
arrayDim |
protected java.lang.String |
className |
protected int |
exprType |
(package private) static java.lang.String |
javaLangObject |
(package private) static java.lang.String |
jvmJavaLangClass |
(package private) static java.lang.String |
jvmJavaLangObject |
(package private) static java.lang.String |
jvmJavaLangString |
protected MemberResolver |
resolver |
protected CtClass |
thisClass |
protected MethodInfo |
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, WIDEABSTRACT, 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 |
|---|
TypeChecker(CtClass cc,
ClassPool cp) |
| Modifier and Type | Method and Description |
|---|---|
protected static java.lang.String |
argTypesToString(int[] types,
int[] dims,
java.lang.String[] cnames) |
private void |
atArrayAssign(Expr expr,
int op,
Expr array,
ASTree right) |
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) |
private void |
atFieldRead(ASTree expr) |
private void |
atFieldRead(CtField f) |
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) |
private Expr |
atPlusExpr(BinExpr expr) |
private void |
atPlusPlus(int token,
ASTree oprand,
Expr expr) |
void |
atStringL(StringL s) |
void |
atVariable(Variable v) |
private void |
atVariableAssign(Expr expr,
int op,
Variable var,
Declarator d,
ASTree right) |
private static void |
badMethod() |
private void |
booleanExpr(ASTree expr) |
private void |
computeBinExprType(BinExpr expr,
int token,
int type1) |
protected static void |
fatal() |
protected CtField |
fieldAccess(ASTree expr) |
private CtField |
fieldAccess2(Expr e,
java.lang.String jvmClassName) |
static ASTree |
getConstantFieldValue(CtField f) |
private static ASTree |
getConstantFieldValue(Member mem)
If MEM is a static final field, this method returns a constant
expression representing the value of that field.
|
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.
|
private void |
insertCast(BinExpr expr,
int type1,
int type2) |
private boolean |
isConstant(BinExpr expr,
int op,
ASTree left,
ASTree right) |
private boolean |
isConstant(Expr expr,
int op,
ASTree oprand) |
private static boolean |
isPlusExpr(ASTree expr) |
private static Expr |
makeAppendCall(ASTree target,
ASTree arg) |
protected java.lang.String |
resolveClassName(ASTList name) |
protected java.lang.String |
resolveClassName(java.lang.String jvmName) |
(package private) void |
setReturnType(java.lang.String desc) |
void |
setThisMethod(MethodInfo m)
Records the currently compiled method.
|
(package private) static ASTree |
stripPlusExpr(ASTree expr) |
protected static java.lang.StringBuffer |
typeToString(java.lang.StringBuffer sbuf,
int type,
int dim,
java.lang.String cname) |
atASTList, atDeclarator, atFieldDecl, atMethodDecl, atPair, atStmnt, atSymbolstatic final java.lang.String javaLangObject
static final java.lang.String jvmJavaLangObject
static final java.lang.String jvmJavaLangString
static final java.lang.String jvmJavaLangClass
protected int exprType
protected int arrayDim
protected java.lang.String className
protected MemberResolver resolver
protected CtClass thisClass
protected MethodInfo thisMethod
protected static java.lang.String argTypesToString(int[] types,
int[] dims,
java.lang.String[] cnames)
protected static java.lang.StringBuffer typeToString(java.lang.StringBuffer sbuf,
int type,
int dim,
java.lang.String cname)
public void setThisMethod(MethodInfo m)
protected static void fatal()
throws CompileError
CompileErrorprotected java.lang.String getThisName()
protected java.lang.String getSuperName()
throws CompileError
CompileErrorprotected java.lang.String resolveClassName(ASTList name) throws CompileError
CompileErrorprotected java.lang.String resolveClassName(java.lang.String jvmName)
throws CompileError
CompileErrorpublic void atNewExpr(NewExpr expr) throws CompileError
atNewExpr in class VisitorCompileErrorpublic void atNewArrayExpr(NewExpr expr) throws CompileError
CompileErrorpublic void atArrayInit(ArrayInit init) throws CompileError
atArrayInit in class VisitorCompileErrorprotected void atMultiNewArray(int type,
ASTList classname,
ASTList size)
throws CompileError
CompileErrorpublic void atAssignExpr(AssignExpr expr) throws CompileError
atAssignExpr in class VisitorCompileErrorprivate void atVariableAssign(Expr expr, int op, Variable var, Declarator d, ASTree right) throws CompileError
CompileErrorprivate void atArrayAssign(Expr expr, int op, Expr array, ASTree right) throws CompileError
CompileErrorprotected void atFieldAssign(Expr expr, int op, ASTree left, ASTree right) throws CompileError
CompileErrorpublic void atCondExpr(CondExpr expr) throws CompileError
atCondExpr in class VisitorCompileErrorpublic void atBinExpr(BinExpr expr) throws CompileError
atBinExpr in class VisitorCompileErrorprivate Expr atPlusExpr(BinExpr expr) throws CompileError
CompileErrorprivate boolean isConstant(BinExpr expr, int op, ASTree left, ASTree right) throws CompileError
CompileErrorprivate static ASTree getConstantFieldValue(Member mem)
private static boolean isPlusExpr(ASTree expr)
private void computeBinExprType(BinExpr expr, int token, int type1) throws CompileError
CompileErrorprivate void booleanExpr(ASTree expr) throws CompileError
CompileErrorprivate void insertCast(BinExpr expr, int type1, int type2) throws CompileError
CompileErrorpublic void atCastExpr(CastExpr expr) throws CompileError
atCastExpr in class VisitorCompileErrorpublic void atInstanceOfExpr(InstanceOfExpr expr) throws CompileError
atInstanceOfExpr in class VisitorCompileErrorpublic void atExpr(Expr expr) throws CompileError
atExpr in class VisitorCompileErrorpublic void atCallExpr(CallExpr expr) throws CompileError
atCallExpr in class VisitorCompileErrorprivate static void badMethod()
throws CompileError
CompileErrorpublic MemberResolver.Method atMethodCallCore(CtClass targetClass, java.lang.String mname, ASTList args) throws CompileError
CompileErrorpublic int getMethodArgsLength(ASTList args)
public void atMethodArgs(ASTList args, int[] types, int[] dims, java.lang.String[] cnames) throws CompileError
CompileErrorvoid setReturnType(java.lang.String desc)
throws CompileError
CompileErrorprivate void atFieldRead(ASTree expr) throws CompileError
CompileErrorprivate void atFieldRead(CtField f) throws CompileError
CompileErrorprotected CtField fieldAccess(ASTree expr) throws CompileError
CompileErrorprivate CtField fieldAccess2(Expr e, java.lang.String jvmClassName) throws CompileError
CompileErrorpublic void atClassObject(Expr expr) throws CompileError
CompileErrorpublic void atArrayLength(Expr expr) throws CompileError
CompileErrorpublic void atArrayRead(ASTree array, ASTree index) throws CompileError
CompileErrorprivate void atPlusPlus(int token,
ASTree oprand,
Expr expr)
throws CompileError
CompileErrorprotected void atFieldPlusPlus(ASTree oprand) throws CompileError
CompileErrorpublic void atMember(Member mem) throws CompileError
atMember in class VisitorCompileErrorpublic void atVariable(Variable v) throws CompileError
atVariable in class VisitorCompileErrorpublic void atKeyword(Keyword k) throws CompileError
atKeyword in class VisitorCompileErrorpublic void atStringL(StringL s) throws CompileError
atStringL in class VisitorCompileErrorpublic void atIntConst(IntConst i) throws CompileError
atIntConst in class VisitorCompileErrorpublic void atDoubleConst(DoubleConst d) throws CompileError
atDoubleConst in class VisitorCompileError