class BCELFactory extends EmptyVisitor
BCELifier
Modifier and Type | Field and Description |
---|---|
private ConstantPoolGen |
_cp |
private MethodGen |
_mg |
private java.io.PrintWriter |
_out |
private java.util.Map<Instruction,InstructionHandle> |
branch_map |
private java.util.List<BranchInstruction> |
branches |
private static java.lang.String |
CONSTANT_PREFIX |
Constructor and Description |
---|
BCELFactory(MethodGen mg,
java.io.PrintWriter out) |
Modifier and Type | Method and Description |
---|---|
private void |
createConstant(java.lang.Object value) |
void |
start() |
private void |
updateBranchTargets() |
private void |
updateExceptionHandlers() |
void |
visitAllocationInstruction(AllocationInstruction i) |
void |
visitArrayInstruction(ArrayInstruction i) |
void |
visitBranchInstruction(BranchInstruction bi) |
void |
visitCHECKCAST(CHECKCAST i) |
void |
visitConstantPushInstruction(ConstantPushInstruction i) |
void |
visitFieldInstruction(FieldInstruction i) |
void |
visitINSTANCEOF(INSTANCEOF i) |
private boolean |
visitInstruction(Instruction i) |
void |
visitInvokeInstruction(InvokeInstruction i) |
void |
visitLDC(LDC i) |
void |
visitLDC2_W(LDC2_W i) |
void |
visitLocalVariableInstruction(LocalVariableInstruction i) |
void |
visitRET(RET i) |
void |
visitReturnInstruction(ReturnInstruction i) |
visitAALOAD, visitAASTORE, visitACONST_NULL, visitALOAD, visitANEWARRAY, visitARETURN, visitArithmeticInstruction, visitARRAYLENGTH, visitASTORE, visitATHROW, visitBALOAD, visitBASTORE, visitBIPUSH, visitBREAKPOINT, visitCALOAD, visitCASTORE, visitConversionInstruction, visitCPInstruction, visitD2F, visitD2I, visitD2L, visitDADD, visitDALOAD, visitDASTORE, visitDCMPG, visitDCMPL, visitDCONST, visitDDIV, visitDLOAD, visitDMUL, visitDNEG, visitDREM, visitDRETURN, visitDSTORE, visitDSUB, visitDUP_X1, visitDUP_X2, visitDUP, visitDUP2_X1, visitDUP2_X2, visitDUP2, visitExceptionThrower, visitF2D, visitF2I, visitF2L, visitFADD, visitFALOAD, visitFASTORE, visitFCMPG, visitFCMPL, visitFCONST, visitFDIV, visitFieldOrMethod, visitFLOAD, visitFMUL, visitFNEG, visitFREM, visitFRETURN, visitFSTORE, visitFSUB, visitGETFIELD, visitGETSTATIC, visitGOTO_W, visitGOTO, visitGotoInstruction, visitI2B, visitI2C, visitI2D, visitI2F, visitI2L, visitI2S, visitIADD, visitIALOAD, visitIAND, visitIASTORE, visitICONST, visitIDIV, visitIF_ACMPEQ, visitIF_ACMPNE, visitIF_ICMPEQ, visitIF_ICMPGE, visitIF_ICMPGT, visitIF_ICMPLE, visitIF_ICMPLT, visitIF_ICMPNE, visitIFEQ, visitIFGE, visitIFGT, visitIfInstruction, visitIFLE, visitIFLT, visitIFNE, visitIFNONNULL, visitIFNULL, visitIINC, visitILOAD, visitIMPDEP1, visitIMPDEP2, visitIMUL, visitINEG, visitINVOKEDYNAMIC, visitINVOKEINTERFACE, visitINVOKESPECIAL, visitINVOKESTATIC, visitINVOKEVIRTUAL, visitIOR, visitIREM, visitIRETURN, visitISHL, visitISHR, visitISTORE, visitISUB, visitIUSHR, visitIXOR, visitJSR_W, visitJSR, visitJsrInstruction, visitL2D, visitL2F, visitL2I, visitLADD, visitLALOAD, visitLAND, visitLASTORE, visitLCMP, visitLCONST, visitLDIV, visitLLOAD, visitLMUL, visitLNEG, visitLoadClass, visitLoadInstruction, visitLOOKUPSWITCH, visitLOR, visitLREM, visitLRETURN, visitLSHL, visitLSHR, visitLSTORE, visitLSUB, visitLUSHR, visitLXOR, visitMONITORENTER, visitMONITOREXIT, visitMULTIANEWARRAY, visitNEW, visitNEWARRAY, visitNOP, visitPOP, visitPOP2, visitPopInstruction, visitPushInstruction, visitPUTFIELD, visitPUTSTATIC, visitRETURN, visitSALOAD, visitSASTORE, visitSelect, visitSIPUSH, visitStackConsumer, visitStackInstruction, visitStackProducer, visitStoreInstruction, visitSWAP, visitTABLESWITCH, visitTypedInstruction, visitUnconditionalBranch, visitVariableLengthInstruction
private static final java.lang.String CONSTANT_PREFIX
private final MethodGen _mg
private final java.io.PrintWriter _out
private final ConstantPoolGen _cp
private final java.util.Map<Instruction,InstructionHandle> branch_map
private final java.util.List<BranchInstruction> branches
BCELFactory(MethodGen mg, java.io.PrintWriter out)
public void start()
private boolean visitInstruction(Instruction i)
public void visitLocalVariableInstruction(LocalVariableInstruction i)
visitLocalVariableInstruction
in interface Visitor
visitLocalVariableInstruction
in class EmptyVisitor
public void visitArrayInstruction(ArrayInstruction i)
visitArrayInstruction
in interface Visitor
visitArrayInstruction
in class EmptyVisitor
public void visitFieldInstruction(FieldInstruction i)
visitFieldInstruction
in interface Visitor
visitFieldInstruction
in class EmptyVisitor
public void visitInvokeInstruction(InvokeInstruction i)
visitInvokeInstruction
in interface Visitor
visitInvokeInstruction
in class EmptyVisitor
public void visitAllocationInstruction(AllocationInstruction i)
visitAllocationInstruction
in interface Visitor
visitAllocationInstruction
in class EmptyVisitor
private void createConstant(java.lang.Object value)
public void visitLDC(LDC i)
visitLDC
in interface Visitor
visitLDC
in class EmptyVisitor
public void visitLDC2_W(LDC2_W i)
visitLDC2_W
in interface Visitor
visitLDC2_W
in class EmptyVisitor
public void visitConstantPushInstruction(ConstantPushInstruction i)
visitConstantPushInstruction
in interface Visitor
visitConstantPushInstruction
in class EmptyVisitor
public void visitINSTANCEOF(INSTANCEOF i)
visitINSTANCEOF
in interface Visitor
visitINSTANCEOF
in class EmptyVisitor
public void visitCHECKCAST(CHECKCAST i)
visitCHECKCAST
in interface Visitor
visitCHECKCAST
in class EmptyVisitor
public void visitReturnInstruction(ReturnInstruction i)
visitReturnInstruction
in interface Visitor
visitReturnInstruction
in class EmptyVisitor
public void visitBranchInstruction(BranchInstruction bi)
visitBranchInstruction
in interface Visitor
visitBranchInstruction
in class EmptyVisitor
public void visitRET(RET i)
visitRET
in interface Visitor
visitRET
in class EmptyVisitor
private void updateBranchTargets()
private void updateExceptionHandlers()