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, typeMerger
Fields inherited from class edu.umd.cs.findbugs.ba.AbstractFrameModelingVisitor
cpg
Fields 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 void
handleInstanceMethod
(org.apache.bcel.generic.InvokeInstruction obj) private void
handleLoad
(org.apache.bcel.generic.FieldInstruction obj) private boolean
isString
(org.apache.bcel.generic.Type type) private boolean
returnsString
(org.apache.bcel.generic.InvokeInstruction inv) boolean
void
visitGETFIELD
(org.apache.bcel.generic.GETFIELD obj) void
visitGETSTATIC
(org.apache.bcel.generic.GETSTATIC obj) void
visitINVOKEINTERFACE
(org.apache.bcel.generic.INVOKEINTERFACE obj) void
visitINVOKESPECIAL
(org.apache.bcel.generic.INVOKESPECIAL obj) void
visitINVOKESTATIC
(org.apache.bcel.generic.INVOKESTATIC obj) void
visitINVOKEVIRTUAL
(org.apache.bcel.generic.INVOKEVIRTUAL obj) void
visitLDC
(org.apache.bcel.generic.LDC obj) void
visitLDC2_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, visitSIPUSH
Methods 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:
visitINVOKESTATIC
in interfaceorg.apache.bcel.generic.Visitor
- Overrides:
visitINVOKESTATIC
in classTypeFrameModelingVisitor
-
visitINVOKESPECIAL
public void visitINVOKESPECIAL(org.apache.bcel.generic.INVOKESPECIAL obj) - Specified by:
visitINVOKESPECIAL
in interfaceorg.apache.bcel.generic.Visitor
- Overrides:
visitINVOKESPECIAL
in classTypeFrameModelingVisitor
-
visitINVOKEINTERFACE
public void visitINVOKEINTERFACE(org.apache.bcel.generic.INVOKEINTERFACE obj) - Specified by:
visitINVOKEINTERFACE
in interfaceorg.apache.bcel.generic.Visitor
- Overrides:
visitINVOKEINTERFACE
in classTypeFrameModelingVisitor
-
visitINVOKEVIRTUAL
public void visitINVOKEVIRTUAL(org.apache.bcel.generic.INVOKEVIRTUAL obj) - Specified by:
visitINVOKEVIRTUAL
in interfaceorg.apache.bcel.generic.Visitor
- Overrides:
visitINVOKEVIRTUAL
in 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:
visitLDC
in interfaceorg.apache.bcel.generic.Visitor
- Overrides:
visitLDC
in classTypeFrameModelingVisitor
-
visitLDC2_W
public void visitLDC2_W(org.apache.bcel.generic.LDC2_W obj) - Specified by:
visitLDC2_W
in interfaceorg.apache.bcel.generic.Visitor
- Overrides:
visitLDC2_W
in classTypeFrameModelingVisitor
-
isString
private boolean isString(org.apache.bcel.generic.Type type) -
visitGETSTATIC
public void visitGETSTATIC(org.apache.bcel.generic.GETSTATIC obj) - Specified by:
visitGETSTATIC
in interfaceorg.apache.bcel.generic.Visitor
- Overrides:
visitGETSTATIC
in classTypeFrameModelingVisitor
-
visitGETFIELD
public void visitGETFIELD(org.apache.bcel.generic.GETFIELD obj) - Specified by:
visitGETFIELD
in interfaceorg.apache.bcel.generic.Visitor
- Overrides:
visitGETFIELD
in classTypeFrameModelingVisitor
-
handleLoad
private void handleLoad(org.apache.bcel.generic.FieldInstruction obj)
-