|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.sf.retrotranslator.transformer.AbstractMethodVisitor
net.sf.retrotranslator.transformer.InstantiationAnalysisVisitor.InstantiationAnalysisMethodVisitor
private class InstantiationAnalysisVisitor.InstantiationAnalysisMethodVisitor
Field Summary | |
---|---|
private boolean |
active
|
private int |
allocationIndex
|
private InstantiationFrame |
currentFrame
|
private InstantiationPoint |
currentPoint
|
private int |
duplicationIndex
|
private java.util.Map<Label,InstantiationFrame> |
frames
|
private int |
initializationIndex
|
private java.lang.String |
methodDesc
|
private java.lang.String |
methodName
|
private java.util.List<InstantiationPoint> |
points
|
Fields inherited from class net.sf.retrotranslator.transformer.AbstractMethodVisitor |
---|
mv |
Constructor Summary | |
---|---|
InstantiationAnalysisVisitor.InstantiationAnalysisMethodVisitor(MethodVisitor visitor,
java.lang.String methodName,
java.lang.String methodDesc)
|
Method Summary | |
---|---|
protected void |
flush()
|
private void |
saveFrame(Label label)
|
private void |
saveFrames(Label label,
Label[] labels)
|
void |
visitEnd()
Visits the end of the method. |
void |
visitInsn(int opcode)
Visits a zero operand instruction. |
void |
visitJumpInsn(int opcode,
Label label)
Visits a jump instruction. |
void |
visitLabel(Label label)
Visits a label. |
void |
visitLookupSwitchInsn(Label dflt,
int[] keys,
Label[] labels)
Visits a LOOKUPSWITCH instruction. |
void |
visitMethodInsn(int opcode,
java.lang.String owner,
java.lang.String name,
java.lang.String desc)
Visits a method instruction. |
void |
visitTableSwitchInsn(int min,
int max,
Label dflt,
Label[] labels)
Visits a TABLESWITCH instruction. |
void |
visitTypeInsn(int opcode,
java.lang.String desc)
Visits a type instruction. |
Methods inherited from class net.sf.retrotranslator.transformer.AbstractMethodVisitor |
---|
visitAnnotation, visitAnnotationDefault, visitAttribute, visitCode, visitFieldInsn, visitIincInsn, visitIntInsn, visitLdcInsn, visitLineNumber, visitLocalVariable, visitMaxs, visitMultiANewArrayInsn, visitParameterAnnotation, visitTryCatchBlock, visitVarInsn |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private final java.util.List<InstantiationPoint> points
private final java.util.Map<Label,InstantiationFrame> frames
private InstantiationFrame currentFrame
private final java.lang.String methodName
private final java.lang.String methodDesc
private boolean active
private InstantiationPoint currentPoint
private int allocationIndex
private int duplicationIndex
private int initializationIndex
Constructor Detail |
---|
public InstantiationAnalysisVisitor.InstantiationAnalysisMethodVisitor(MethodVisitor visitor, java.lang.String methodName, java.lang.String methodDesc)
Method Detail |
---|
protected void flush()
flush
in class AbstractMethodVisitor
public void visitLabel(Label label)
MethodVisitor
visitLabel
in interface MethodVisitor
visitLabel
in class AbstractMethodVisitor
label
- a Label
object.public void visitJumpInsn(int opcode, Label label)
MethodVisitor
visitJumpInsn
in interface MethodVisitor
visitJumpInsn
in class AbstractMethodVisitor
opcode
- the opcode of the type instruction to be visited. This
opcode is either IFEQ, IFNE, IFLT, IFGE, IFGT, IFLE, IF_ICMPEQ,
IF_ICMPNE, IF_ICMPLT, IF_ICMPGE, IF_ICMPGT, IF_ICMPLE, IF_ACMPEQ,
IF_ACMPNE, GOTO, JSR, IFNULL or IFNONNULL.label
- the operand of the instruction to be visited. This operand
is a label that designates the instruction to which the jump
instruction may jump.public void visitLookupSwitchInsn(Label dflt, int[] keys, Label[] labels)
MethodVisitor
visitLookupSwitchInsn
in interface MethodVisitor
visitLookupSwitchInsn
in class AbstractMethodVisitor
dflt
- beginning of the default handler block.keys
- the values of the keys.labels
- beginnings of the handler blocks. labels[i] is
the beginning of the handler block for the keys[i] key.public void visitTableSwitchInsn(int min, int max, Label dflt, Label[] labels)
MethodVisitor
visitTableSwitchInsn
in interface MethodVisitor
visitTableSwitchInsn
in class AbstractMethodVisitor
min
- the minimum key value.max
- the maximum key value.dflt
- beginning of the default handler block.labels
- beginnings of the handler blocks. labels[i] is
the beginning of the handler block for the min + i key.private void saveFrames(Label label, Label[] labels)
private void saveFrame(Label label)
public void visitTypeInsn(int opcode, java.lang.String desc)
MethodVisitor
visitTypeInsn
in interface MethodVisitor
visitTypeInsn
in class AbstractMethodVisitor
opcode
- the opcode of the type instruction to be visited. This
opcode is either NEW, ANEWARRAY, CHECKCAST or INSTANCEOF.desc
- the operand of the instruction to be visited. This operand is
must be a fully qualified class name in internal form, or the type
descriptor of an array type (see Type
).public void visitInsn(int opcode)
MethodVisitor
visitInsn
in interface MethodVisitor
visitInsn
in class AbstractMethodVisitor
opcode
- the opcode of the instruction to be visited. This opcode is
either NOP, ACONST_NULL, ICONST_M1, ICONST_0, ICONST_1, ICONST_2,
ICONST_3, ICONST_4, ICONST_5, LCONST_0, LCONST_1, FCONST_0,
FCONST_1, FCONST_2, DCONST_0, DCONST_1, IALOAD, LALOAD, FALOAD,
DALOAD, AALOAD, BALOAD, CALOAD, SALOAD, IASTORE, LASTORE, FASTORE,
DASTORE, AASTORE, BASTORE, CASTORE, SASTORE, POP, POP2, DUP,
DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, SWAP, IADD, LADD, FADD,
DADD, ISUB, LSUB, FSUB, DSUB, IMUL, LMUL, FMUL, DMUL, IDIV, LDIV,
FDIV, DDIV, IREM, LREM, FREM, DREM, INEG, LNEG, FNEG, DNEG, ISHL,
LSHL, ISHR, LSHR, IUSHR, LUSHR, IAND, LAND, IOR, LOR, IXOR, LXOR,
I2L, I2F, I2D, L2I, L2F, L2D, F2I, F2L, F2D, D2I, D2L, D2F, I2B,
I2C, I2S, LCMP, FCMPL, FCMPG, DCMPL, DCMPG, IRETURN, LRETURN,
FRETURN, DRETURN, ARETURN, RETURN, ARRAYLENGTH, ATHROW,
MONITORENTER, or MONITOREXIT.public void visitMethodInsn(int opcode, java.lang.String owner, java.lang.String name, java.lang.String desc)
MethodVisitor
visitMethodInsn
in interface MethodVisitor
visitMethodInsn
in class AbstractMethodVisitor
opcode
- the opcode of the type instruction to be visited. This
opcode is either INVOKEVIRTUAL, INVOKESPECIAL, INVOKESTATIC or
INVOKEINTERFACE.owner
- the internal name of the method's owner class (see getInternalName
).name
- the method's name.desc
- the method's descriptor (see Type
).public void visitEnd()
MethodVisitor
visitEnd
in interface MethodVisitor
visitEnd
in class AbstractMethodVisitor
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |