Class FindRefComparison.RefComparisonTypeFrameModelingVisitor
java.lang.Object
edu.umd.cs.findbugs.ba.AbstractFrameModelingVisitor<org.apache.bcel.generic.Type, TypeFrame>
edu.umd.cs.findbugs.ba.type.TypeFrameModelingVisitor
edu.umd.cs.findbugs.detect.FindRefComparison.RefComparisonTypeFrameModelingVisitor
- All Implemented Interfaces:
Debug, org.apache.bcel.generic.Visitor
- Enclosing class:
FindRefComparison
private static class FindRefComparison.RefComparisonTypeFrameModelingVisitor
extends TypeFrameModelingVisitor
-
Field Summary
FieldsFields inherited from class TypeFrameModelingVisitor
DEBUG, genericLocalVariables, localTypeTable, mapSignaturePattern, typeMergerFields inherited from class AbstractFrameModelingVisitor
cpgFields inherited from interface Debug
VERIFY_INTEGRITY -
Constructor Summary
ConstructorsConstructorDescriptionRefComparisonTypeFrameModelingVisitor(org.apache.bcel.generic.ConstantPoolGen cpg, TypeMerger typeMerger, RepositoryLookupFailureCallback lookupFailureCallback) -
Method Summary
Modifier and TypeMethodDescriptionprivate voidhandleInstanceMethod(org.apache.bcel.generic.InvokeInstruction obj) private voidhandleLoad(org.apache.bcel.generic.FieldInstruction obj) private booleanisString(org.apache.bcel.generic.Type type) private booleanreturnsString(org.apache.bcel.generic.InvokeInstruction inv) booleanvoidvisitGETFIELD(org.apache.bcel.generic.GETFIELD obj) voidvisitGETSTATIC(org.apache.bcel.generic.GETSTATIC obj) voidvisitINVOKEINTERFACE(org.apache.bcel.generic.INVOKEINTERFACE obj) voidvisitINVOKESPECIAL(org.apache.bcel.generic.INVOKESPECIAL obj) voidvisitINVOKESTATIC(org.apache.bcel.generic.INVOKESTATIC obj) voidvisitINVOKEVIRTUAL(org.apache.bcel.generic.INVOKEVIRTUAL obj) voidvisitLDC(org.apache.bcel.generic.LDC obj) voidvisitLDC2_W(org.apache.bcel.generic.LDC2_W obj) Methods inherited from class TypeFrameModelingVisitor
analyzeInstruction, consumeStack, getDefaultValue, getInstanceOfType, getInstanceOfValueNumber, getType, handleLoadInstruction, handleStoreInstruction, isImpliedByGenericTypes, isInstanceOfFollowedByBranch, isStraightGenericMap, modelFieldLoad, modelNormalInstruction, pushReturnType, pushValue, setFieldStoreTypeDatabase, setLocalTypeTable, setValueNumberDataflow, startBasicBlock, visitAALOAD, visitACONST_NULL, visitANEWARRAY, visitARRAYLENGTH, visitATHROW, visitBALOAD, visitBIPUSH, visitCALOAD, visitCHECKCAST, visitD2F, visitD2I, visitD2L, visitDADD, visitDALOAD, visitDCMPG, visitDCMPL, visitDCONST, visitDDIV, visitDMUL, visitDNEG, visitDREM, visitDSUB, visitDUP, visitF2D, visitF2I, visitF2L, visitFADD, visitFALOAD, visitFCMPG, visitFCMPL, visitFCONST, visitFDIV, visitFMUL, visitFNEG, visitFREM, visitFSUB, visitI2B, visitI2C, visitI2D, visitI2F, visitI2L, visitI2S, visitIADD, visitIALOAD, visitIAND, visitICONST, visitIDIV, visitIFEQ, visitIFGT, visitIFLE, visitIFNE, visitIFNONNULL, visitIFNULL, visitIINC, visitIMUL, visitINEG, visitINSTANCEOF, visitINVOKEDYNAMIC, visitInvokeInstructionCommon, visitIOR, visitIREM, visitISHL, visitISHR, visitISUB, visitIUSHR, visitIXOR, visitJSR, visitJSR_W, visitL2D, visitL2F, visitL2I, visitLADD, visitLALOAD, visitLAND, visitLCMP, visitLCONST, visitLDIV, visitLMUL, visitLNEG, visitLOR, visitLREM, visitLSHL, visitLSHR, visitLSUB, visitLUSHR, visitLXOR, visitMULTIANEWARRAY, visitNEW, visitNEWARRAY, visitRET, visitSALOAD, visitSIPUSHMethods inherited from class AbstractFrameModelingVisitor
getCPG, getFrame, getLocation, getNumWordsConsumed, getNumWordsProduced, handleNormalInstruction, modelInstruction, setFrameAndLocation, visitAASTORE, visitAllocationInstruction, visitALOAD, visitARETURN, visitArithmeticInstruction, visitArrayInstruction, visitASTORE, visitBASTORE, visitBranchInstruction, visitBREAKPOINT, visitCASTORE, visitConstantPushInstruction, visitConversionInstruction, visitConversionInstruction2, visitCPInstruction, visitDASTORE, visitDLOAD, visitDRETURN, visitDSTORE, visitDUP_X1, visitDUP_X2, visitDUP2, visitDUP2_X1, visitDUP2_X2, visitExceptionThrower, visitFASTORE, visitFieldInstruction, visitFieldOrMethod, visitFLOAD, visitFRETURN, visitFSTORE, visitGOTO, visitGOTO_W, visitGotoInstruction, visitIASTORE, visitIF_ACMPEQ, visitIF_ACMPNE, visitIF_ICMPEQ, visitIF_ICMPGE, visitIF_ICMPGT, visitIF_ICMPLE, visitIF_ICMPLT, visitIF_ICMPNE, visitIFGE, visitIfInstruction, visitIFLT, visitILOAD, visitIMPDEP1, visitIMPDEP2, visitInvokeInstruction, visitIRETURN, visitISTORE, visitJsrInstruction, visitLASTORE, visitLLOAD, visitLoadClass, visitLoadInstruction, visitLocalVariableInstruction, visitLOOKUPSWITCH, visitLRETURN, visitLSTORE, visitMONITORENTER, visitMONITOREXIT, visitNONNULL2Z, visitNOP, visitNULL2Z, visitPOP, visitPOP2, visitPopInstruction, visitPushInstruction, visitPUTFIELD, visitPUTSTATIC, visitRETURN, visitReturnInstruction, visitSASTORE, visitSelect, visitStackConsumer, visitStackInstruction, visitStackProducer, visitStoreInstruction, visitSWAP, visitTABLESWITCH, visitTypedInstruction, visitUnconditionalBranch, visitVariableLengthInstruction
-
Field Details
-
lookupFailureCallback
-
sawStringIntern
private boolean sawStringIntern
-
-
Constructor Details
-
RefComparisonTypeFrameModelingVisitor
public RefComparisonTypeFrameModelingVisitor(org.apache.bcel.generic.ConstantPoolGen cpg, TypeMerger typeMerger, RepositoryLookupFailureCallback lookupFailureCallback)
-
-
Method Details
-
sawStringIntern
public boolean sawStringIntern() -
visitINVOKESTATIC
public void visitINVOKESTATIC(org.apache.bcel.generic.INVOKESTATIC obj) - Specified by:
visitINVOKESTATICin interfaceorg.apache.bcel.generic.Visitor- Overrides:
visitINVOKESTATICin classTypeFrameModelingVisitor
-
visitINVOKESPECIAL
public void visitINVOKESPECIAL(org.apache.bcel.generic.INVOKESPECIAL obj) - Specified by:
visitINVOKESPECIALin interfaceorg.apache.bcel.generic.Visitor- Overrides:
visitINVOKESPECIALin classTypeFrameModelingVisitor
-
visitINVOKEINTERFACE
public void visitINVOKEINTERFACE(org.apache.bcel.generic.INVOKEINTERFACE obj) - Specified by:
visitINVOKEINTERFACEin interfaceorg.apache.bcel.generic.Visitor- Overrides:
visitINVOKEINTERFACEin classTypeFrameModelingVisitor
-
visitINVOKEVIRTUAL
public void visitINVOKEVIRTUAL(org.apache.bcel.generic.INVOKEVIRTUAL obj) - Specified by:
visitINVOKEVIRTUALin interfaceorg.apache.bcel.generic.Visitor- Overrides:
visitINVOKEVIRTUALin classTypeFrameModelingVisitor
-
returnsString
private boolean returnsString(org.apache.bcel.generic.InvokeInstruction inv) -
handleInstanceMethod
private void handleInstanceMethod(org.apache.bcel.generic.InvokeInstruction obj) -
visitLDC
public void visitLDC(org.apache.bcel.generic.LDC obj) - Specified by:
visitLDCin interfaceorg.apache.bcel.generic.Visitor- Overrides:
visitLDCin classTypeFrameModelingVisitor
-
visitLDC2_W
public void visitLDC2_W(org.apache.bcel.generic.LDC2_W obj) - Specified by:
visitLDC2_Win interfaceorg.apache.bcel.generic.Visitor- Overrides:
visitLDC2_Win classTypeFrameModelingVisitor
-
isString
private boolean isString(org.apache.bcel.generic.Type type) -
visitGETSTATIC
public void visitGETSTATIC(org.apache.bcel.generic.GETSTATIC obj) - Specified by:
visitGETSTATICin interfaceorg.apache.bcel.generic.Visitor- Overrides:
visitGETSTATICin classTypeFrameModelingVisitor
-
visitGETFIELD
public void visitGETFIELD(org.apache.bcel.generic.GETFIELD obj) - Specified by:
visitGETFIELDin interfaceorg.apache.bcel.generic.Visitor- Overrides:
visitGETFIELDin classTypeFrameModelingVisitor
-
handleLoad
private void handleLoad(org.apache.bcel.generic.FieldInstruction obj)
-