public abstract class ResourceValueFrameModelingVisitor extends AbstractFrameModelingVisitor<ResourceValue,ResourceValueFrame>
cpg
Constructor and Description |
---|
ResourceValueFrameModelingVisitor(org.apache.bcel.generic.ConstantPoolGen cpg) |
Modifier and Type | Method and Description |
---|---|
ResourceValue |
getDefaultValue()
Produce a "default" value.
|
protected boolean |
instanceEscapes(org.apache.bcel.generic.InvokeInstruction inv,
int instanceArgNum)
Override this to check for methods that it is legal to pass the instance
to without the instance escaping.
|
abstract void |
transferInstruction(org.apache.bcel.generic.InstructionHandle handle,
BasicBlock basicBlock)
Subclasses must override this to model the effect of the given
instruction on the current frame.
|
void |
visitAASTORE(org.apache.bcel.generic.AASTORE arr) |
void |
visitARETURN(org.apache.bcel.generic.ARETURN ins) |
void |
visitCHECKCAST(org.apache.bcel.generic.CHECKCAST obj) |
void |
visitINVOKEINTERFACE(org.apache.bcel.generic.INVOKEINTERFACE inv) |
void |
visitINVOKESPECIAL(org.apache.bcel.generic.INVOKESPECIAL inv) |
void |
visitINVOKESTATIC(org.apache.bcel.generic.INVOKESTATIC inv) |
void |
visitINVOKEVIRTUAL(org.apache.bcel.generic.INVOKEVIRTUAL inv) |
void |
visitPUTFIELD(org.apache.bcel.generic.PUTFIELD putfield) |
void |
visitPUTSTATIC(org.apache.bcel.generic.PUTSTATIC putstatic) |
analyzeInstruction, getCPG, getFrame, getLocation, getNumWordsConsumed, getNumWordsProduced, handleLoadInstruction, handleNormalInstruction, handleStoreInstruction, modelInstruction, modelNormalInstruction, setFrameAndLocation, visitAALOAD, visitACONST_NULL, visitAllocationInstruction, visitALOAD, visitANEWARRAY, visitArithmeticInstruction, visitArrayInstruction, visitARRAYLENGTH, visitASTORE, visitATHROW, visitBALOAD, visitBASTORE, visitBIPUSH, visitBranchInstruction, visitBREAKPOINT, visitCALOAD, visitCASTORE, visitConstantPushInstruction, visitConversionInstruction, visitConversionInstruction2, 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, visitFieldInstruction, 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, visitINSTANCEOF, visitINVOKEDYNAMIC, visitInvokeInstruction, visitIOR, visitIREM, visitIRETURN, visitISHL, visitISHR, visitISTORE, visitISUB, visitIUSHR, visitIXOR, visitJSR_W, visitJSR, visitJsrInstruction, visitL2D, visitL2F, visitL2I, visitLADD, visitLALOAD, visitLAND, visitLASTORE, visitLCMP, visitLCONST, visitLDC, visitLDC2_W, visitLDIV, visitLLOAD, visitLMUL, visitLNEG, visitLoadClass, visitLoadInstruction, visitLocalVariableInstruction, visitLOOKUPSWITCH, visitLOR, visitLREM, visitLRETURN, visitLSHL, visitLSHR, visitLSTORE, visitLSUB, visitLUSHR, visitLXOR, visitMONITORENTER, visitMONITOREXIT, visitMULTIANEWARRAY, visitNEW, visitNEWARRAY, visitNONNULL2Z, visitNOP, visitNULL2Z, visitPOP, visitPOP2, visitPopInstruction, visitPushInstruction, visitRET, visitRETURN, visitReturnInstruction, visitSALOAD, visitSASTORE, visitSelect, visitSIPUSH, visitStackConsumer, visitStackInstruction, visitStackProducer, visitStoreInstruction, visitSWAP, visitTABLESWITCH, visitTypedInstruction, visitUnconditionalBranch, visitVariableLengthInstruction
public ResourceValueFrameModelingVisitor(org.apache.bcel.generic.ConstantPoolGen cpg)
public ResourceValue getDefaultValue()
AbstractFrameModelingVisitor
getDefaultValue
in class AbstractFrameModelingVisitor<ResourceValue,ResourceValueFrame>
public abstract void transferInstruction(org.apache.bcel.generic.InstructionHandle handle, BasicBlock basicBlock) throws DataflowAnalysisException
DataflowAnalysisException
public void visitPUTFIELD(org.apache.bcel.generic.PUTFIELD putfield)
visitPUTFIELD
in interface org.apache.bcel.generic.Visitor
visitPUTFIELD
in class AbstractFrameModelingVisitor<ResourceValue,ResourceValueFrame>
public void visitAASTORE(org.apache.bcel.generic.AASTORE arr)
visitAASTORE
in interface org.apache.bcel.generic.Visitor
visitAASTORE
in class AbstractFrameModelingVisitor<ResourceValue,ResourceValueFrame>
public void visitPUTSTATIC(org.apache.bcel.generic.PUTSTATIC putstatic)
visitPUTSTATIC
in interface org.apache.bcel.generic.Visitor
visitPUTSTATIC
in class AbstractFrameModelingVisitor<ResourceValue,ResourceValueFrame>
protected boolean instanceEscapes(org.apache.bcel.generic.InvokeInstruction inv, int instanceArgNum)
inv
- the InvokeInstruction to which the resource instance is passed
as an argumentinstanceArgNum
- the first argument the instance is passed inpublic void visitCHECKCAST(org.apache.bcel.generic.CHECKCAST obj)
visitCHECKCAST
in interface org.apache.bcel.generic.Visitor
visitCHECKCAST
in class AbstractFrameModelingVisitor<ResourceValue,ResourceValueFrame>
public void visitINVOKEVIRTUAL(org.apache.bcel.generic.INVOKEVIRTUAL inv)
visitINVOKEVIRTUAL
in interface org.apache.bcel.generic.Visitor
visitINVOKEVIRTUAL
in class AbstractFrameModelingVisitor<ResourceValue,ResourceValueFrame>
public void visitINVOKEINTERFACE(org.apache.bcel.generic.INVOKEINTERFACE inv)
visitINVOKEINTERFACE
in interface org.apache.bcel.generic.Visitor
visitINVOKEINTERFACE
in class AbstractFrameModelingVisitor<ResourceValue,ResourceValueFrame>
public void visitINVOKESPECIAL(org.apache.bcel.generic.INVOKESPECIAL inv)
visitINVOKESPECIAL
in interface org.apache.bcel.generic.Visitor
visitINVOKESPECIAL
in class AbstractFrameModelingVisitor<ResourceValue,ResourceValueFrame>
public void visitINVOKESTATIC(org.apache.bcel.generic.INVOKESTATIC inv)
visitINVOKESTATIC
in interface org.apache.bcel.generic.Visitor
visitINVOKESTATIC
in class AbstractFrameModelingVisitor<ResourceValue,ResourceValueFrame>
public void visitARETURN(org.apache.bcel.generic.ARETURN ins)
visitARETURN
in interface org.apache.bcel.generic.Visitor
visitARETURN
in class AbstractFrameModelingVisitor<ResourceValue,ResourceValueFrame>
FindBugs™ is licenced under the LGPL. Copyright © 2006 University of Maryland.