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 RepositoryLookupFailureCallbacklookupFailureCallbackprivate booleansawStringIntern-
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 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)booleansawStringIntern()voidvisitGETFIELD(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, 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:
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)
-
-