Package edu.umd.cs.findbugs.detect
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 edu.umd.cs.findbugs.ba.type.TypeFrameModelingVisitor
DEBUG, genericLocalVariables, localTypeTable, mapSignaturePattern, typeMergerFields inherited from class edu.umd.cs.findbugs.ba.AbstractFrameModelingVisitor
cpgFields inherited from interface edu.umd.cs.findbugs.ba.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 edu.umd.cs.findbugs.ba.type.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 edu.umd.cs.findbugs.ba.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)
-