public class MemberCodeGen extends CodeGen
CodeGen.ReturnHook| Modifier and Type | Field and Description |
|---|---|
protected MemberResolver |
resolver |
protected boolean |
resultStatic |
protected CtClass |
thisClass |
protected MethodInfo |
thisMethod |
arrayDim, breakList, bytecode, className, continueList, exprType, hasReturned, inStaticMethod, returnHooksAALOAD, 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 |
|---|
MemberCodeGen(Bytecode b,
CtClass cc,
ClassPool cp) |
| Modifier and Type | Method and Description |
|---|---|
void |
atArrayInit(ArrayInit init) |
protected void |
atArrayVariableAssign(ArrayInit init,
int varType,
int varArray,
String varClass) |
void |
atCallExpr(CallExpr expr) |
protected void |
atClassObject2(String cname) |
protected void |
atFieldAssign(Expr expr,
int op,
ASTree left,
ASTree right,
boolean doDup) |
protected void |
atFieldPlusPlus(int token,
boolean isPost,
ASTree oprand,
Expr expr,
boolean doDup) |
protected void |
atFieldRead(ASTree expr) |
void |
atMember(Member mem) |
void |
atMethodArgs(ASTList args,
int[] types,
int[] dims,
String[] cnames) |
void |
atMethodCallCore(CtClass targetClass,
String mname,
ASTList args,
boolean isStatic,
boolean isSpecial,
int aload0pos,
MemberResolver.Method found) |
protected void |
atMultiNewArray(int type,
ASTList classname,
ASTList size) |
void |
atNewArrayExpr(NewExpr expr) |
void |
atNewExpr(NewExpr expr) |
protected void |
atTryStmnt(Stmnt st) |
protected CtField |
fieldAccess(ASTree expr,
boolean acceptLength) |
protected String |
getAccessibleConstructor(String desc,
CtClass declClass,
MethodInfo minfo) |
protected String |
getAccessiblePrivate(String methodName,
String desc,
String newDesc,
MethodInfo minfo,
CtClass declClass) |
int |
getMajorVersion()
Returns the major version of the class file
targeted by this compilation.
|
int |
getMethodArgsLength(ASTList args) |
protected String |
getSuperName()
Returns the JVM-internal representation of this super class name.
|
CtClass |
getThisClass() |
protected String |
getThisName()
Returns the JVM-internal representation of this class name.
|
protected void |
insertDefaultSuperCall() |
CtClass[] |
makeParamList(MethodDecl md) |
CtClass[] |
makeThrowsList(MethodDecl md) |
protected String |
resolveClassName(ASTList name) |
protected String |
resolveClassName(String jvmName) |
void |
setThisMethod(CtMethod m)
Records the currently compiled method.
|
arrayAccess, atArrayPlusPlus, atArrayRead, atAssignCore, atAssignExpr, atAssignExpr, atASTList, atBinExpr, atCastExpr, atClassObject, atCondExpr, atDeclarator, atDoubleConst, atExpr, atFieldDecl, atInstanceOfExpr, atIntConst, atKeyword, atMethodBody, atMethodDecl, atPair, atPlusPlusCore, atReturnStmnt, atReturnStmnt2, atStmnt, atStringL, atSymbol, atVariable, badAssign, badType, badTypes, compileBooleanExpr, compileExpr, doTypeCheck, fatal, getArrayReadOp, getArrayWriteOp, getLocalVar, getMaxLocals, getTempVar, incMaxLocals, is2word, isRefType, patchGoto, setMaxLocals, setTypeChecker, toJvmArrayName, toJvmTypeNameprotected MemberResolver resolver
protected CtClass thisClass
protected MethodInfo thisMethod
protected boolean resultStatic
public int getMajorVersion()
public void setThisMethod(CtMethod m)
public CtClass getThisClass()
protected String getThisName()
getThisName in class CodeGenprotected String getSuperName() throws CompileError
getSuperName in class CodeGenCompileErrorprotected void insertDefaultSuperCall()
throws CompileError
insertDefaultSuperCall in class CodeGenCompileErrorprotected void atTryStmnt(Stmnt st) throws CompileError
atTryStmnt in class CodeGenCompileErrorpublic void atNewExpr(NewExpr expr) throws CompileError
atNewExpr in class CodeGenCompileErrorpublic void atNewArrayExpr(NewExpr expr) throws CompileError
CompileErrorprotected void atArrayVariableAssign(ArrayInit init, int varType, int varArray, String varClass) throws CompileError
atArrayVariableAssign in class CodeGenCompileErrorpublic void atArrayInit(ArrayInit init) throws CompileError
atArrayInit in class CodeGenCompileErrorprotected void atMultiNewArray(int type,
ASTList classname,
ASTList size)
throws CompileError
CompileErrorpublic void atCallExpr(CallExpr expr) throws CompileError
atCallExpr in class CodeGenCompileErrorpublic void atMethodCallCore(CtClass targetClass, String mname, ASTList args, boolean isStatic, boolean isSpecial, int aload0pos, MemberResolver.Method found) throws CompileError
CompileErrorprotected String getAccessiblePrivate(String methodName, String desc, String newDesc, MethodInfo minfo, CtClass declClass) throws CompileError
CompileErrorprotected String getAccessibleConstructor(String desc, CtClass declClass, MethodInfo minfo) throws CompileError
CompileErrorpublic int getMethodArgsLength(ASTList args)
public void atMethodArgs(ASTList args, int[] types, int[] dims, String[] cnames) throws CompileError
CompileErrorprotected void atFieldAssign(Expr expr, int op, ASTree left, ASTree right, boolean doDup) throws CompileError
atFieldAssign in class CodeGenCompileErrorpublic void atMember(Member mem) throws CompileError
atMember in class CodeGenCompileErrorprotected void atFieldRead(ASTree expr) throws CompileError
atFieldRead in class CodeGenCompileErrorprotected void atClassObject2(String cname) throws CompileError
atClassObject2 in class CodeGenCompileErrorprotected void atFieldPlusPlus(int token,
boolean isPost,
ASTree oprand,
Expr expr,
boolean doDup)
throws CompileError
atFieldPlusPlus in class CodeGenCompileErrorprotected CtField fieldAccess(ASTree expr, boolean acceptLength) throws CompileError
CompileErrorpublic CtClass[] makeParamList(MethodDecl md) throws CompileError
CompileErrorpublic CtClass[] makeThrowsList(MethodDecl md) throws CompileError
CompileErrorprotected String resolveClassName(ASTList name) throws CompileError
resolveClassName in class CodeGenCompileErrorprotected String resolveClassName(String jvmName) throws CompileError
resolveClassName in class CodeGenCompileErrorCopyright © 2016 Shigeru Chiba, www.javassist.org. All Rights Reserved.