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
Fields Modifier and Type Field Description private RepositoryLookupFailureCallback
lookupFailureCallback
private boolean
sawStringIntern
-
Fields 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
Constructors Constructor Description RefComparisonTypeFrameModelingVisitor(org.apache.bcel.generic.ConstantPoolGen cpg, TypeMerger typeMerger, RepositoryLookupFailureCallback lookupFailureCallback)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private 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
sawStringIntern()
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 Detail
-
lookupFailureCallback
private final RepositoryLookupFailureCallback lookupFailureCallback
-
sawStringIntern
private boolean sawStringIntern
-
-
Constructor Detail
-
RefComparisonTypeFrameModelingVisitor
public RefComparisonTypeFrameModelingVisitor(org.apache.bcel.generic.ConstantPoolGen cpg, TypeMerger typeMerger, RepositoryLookupFailureCallback lookupFailureCallback)
-
-
Method Detail
-
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)
-
-