Package | Description |
---|---|
edu.umd.cs.findbugs |
Main package for the FindBugs application - contains the
engine class (FindBugs), the object model classes for bug instances
(BugInstance, BugAnnotation), and other miscellany.
|
edu.umd.cs.findbugs.ba |
A bytecode analysis framework for BCEL, providing CFG construction,
generic dataflow analysis, and a variety of specific dataflow analyses.
|
edu.umd.cs.findbugs.ba.bcp | |
edu.umd.cs.findbugs.ba.ca | |
edu.umd.cs.findbugs.ba.constant | |
edu.umd.cs.findbugs.ba.deref | |
edu.umd.cs.findbugs.ba.heap | |
edu.umd.cs.findbugs.ba.jsr305 |
Support for analyzing code containing JSR-305 type qualifier annotations.
|
edu.umd.cs.findbugs.ba.npe | |
edu.umd.cs.findbugs.ba.obl |
Implementation of dataflow analysis for checking whether
obligations to close streams and other resources (e.g.
|
edu.umd.cs.findbugs.ba.type | |
edu.umd.cs.findbugs.ba.vna | |
edu.umd.cs.findbugs.detect |
Modifier and Type | Method and Description |
---|---|
void |
ResourceTrackingDetector.analyzeMethod(ClassContext classContext,
org.apache.bcel.classfile.Method method,
ResourceTrackerType resourceTracker,
ResourceCollection<Resource> resourceCollection) |
abstract ResourceTrackerType |
ResourceTrackingDetector.getResourceTracker(ClassContext classContext,
org.apache.bcel.classfile.Method method) |
abstract void |
ByteCodePatternDetector.reportMatch(ClassContext classContext,
org.apache.bcel.classfile.Method method,
ByteCodePatternMatch match)
Called to report an instance of the ByteCodePattern.
|
Modifier and Type | Class and Description |
---|---|
class |
MissingClassException
DataflowAnalysisException variant to report a class lookup failure that
caused dataflow analysis to abort.
|
Modifier and Type | Method and Description |
---|---|
void |
AbstractFrameModelingVisitor.analyzeInstruction(org.apache.bcel.generic.Instruction ins)
Analyze the given Instruction.
|
static void |
ClassContext.dumpDataflowInformation(org.apache.bcel.classfile.Method method,
CFG cfg,
ValueNumberDataflow vnd,
IsNullValueDataflow inv,
UnconditionalValueDerefDataflow dataflow,
TypeDataflow typeDataflow) |
static void |
ClassContext.dumpLiveLocalStoreDataflow(MethodDescriptor method,
CFG cfg,
LiveLocalStoreDataflow dataflow) |
static void |
ClassContext.dumpTypeDataflow(org.apache.bcel.classfile.Method method,
CFG cfg,
TypeDataflow typeDataflow) |
void |
DataflowAnalysis.edgeTransfer(Edge edge,
Fact fact)
Edge transfer function.
|
void |
BasicAbstractDataflowAnalysis.edgeTransfer(Edge edge,
Fact fact) |
void |
PruneUnconditionalExceptionThrowerEdges.execute() |
void |
Dataflow.execute()
Run the algorithm.
|
ValueType |
Frame.getArgument(org.apache.bcel.generic.InvokeInstruction ins,
org.apache.bcel.generic.ConstantPoolGen cpg,
int i,
int numArguments)
Deprecated.
|
ValueType |
Frame.getArgument(org.apache.bcel.generic.InvokeInstruction ins,
org.apache.bcel.generic.ConstantPoolGen cpg,
int i,
SignatureParser sigParser)
Get the ith argument passed to given method invocation.
|
java.util.BitSet |
Frame.getArgumentSet(org.apache.bcel.generic.InvokeInstruction invokeInstruction,
org.apache.bcel.generic.ConstantPoolGen cpg,
DataflowValueChooser<ValueType> chooser)
Get set of arguments passed to a method invocation which match given
predicate.
|
BlockTypeDataflow |
ClassContext.getBlockTypeDataflow(org.apache.bcel.classfile.Method method)
Get BlockType dataflow for given method.
|
CallListDataflow |
ClassContext.getCallListDataflow(org.apache.bcel.classfile.Method method)
Get CallListDataflow for method.
|
ConstantDataflow |
ClassContext.getConstantDataflow(org.apache.bcel.classfile.Method method)
Get ConstantDataflow for method.
|
Fact |
DataflowAnalysis.getFactAfterLocation(Location location)
Get the dataflow fact representing the point just after given Location.
|
Fact |
Dataflow.getFactAfterLocation(Location location)
Get the dataflow fact representing the point just after given Location.
|
Fact |
BasicAbstractDataflowAnalysis.getFactAfterLocation(Location location)
Get the dataflow fact representing the point just after given Location.
|
Fact |
AbstractDataflowAnalysis.getFactAfterLocation(Location location)
Get the dataflow fact representing the point just after given Location.
|
LockSet |
LockChecker.getFactAtLocation(Location location)
Get LockSet at given Location.
|
Fact |
DataflowAnalysis.getFactAtLocation(Location location)
Get dataflow fact at (just before) given Location.
|
Fact |
Dataflow.getFactAtLocation(Location location)
Get dataflow fact at (just before) given Location.
|
Fact |
BasicAbstractDataflowAnalysis.getFactAtLocation(Location location)
Get dataflow fact at (just before) given Location.
|
Fact |
AbstractDataflowAnalysis.getFactAtLocation(Location location)
Get the dataflow fact representing the point just before given Location.
|
FrameType |
FrameDataflowAnalysis.getFactAtPC(CFG cfg,
int pc)
Get the dataflow fact representing the point just before given Location.
|
FrameType |
FrameDataflowAnalysis.getFactBeforeExceptionCheck(CFG cfg,
int pc)
Get the dataflow fact representing the point just before given Location.
|
Fact |
DataflowAnalysis.getFactOnEdge(Edge edge)
Get the fact that is true on the given control edge.
|
Fact |
Dataflow.getFactOnEdge(Edge edge)
Get the fact that is true on the given control edge.
|
Fact |
BasicAbstractDataflowAnalysis.getFactOnEdge(Edge edge)
Get the fact that is true on the given control edge,
after applying the edge transfer function (if any).
|
Fact |
AbstractDataflow.getFactOnEdge(Edge edge)
Get the fact that is true on the given control edge.
|
ValueType |
Frame.getInstance(org.apache.bcel.generic.Instruction ins,
org.apache.bcel.generic.ConstantPoolGen cpg)
Get the value corresponding to the object instance used in the given
instruction.
|
int |
Frame.getInstanceSlot(org.apache.bcel.generic.Instruction ins,
org.apache.bcel.generic.ConstantPoolGen cpg)
Get the slot the object instance referred to by given instruction is
located in.
|
int |
Frame.getInstanceStackLocation(org.apache.bcel.generic.Instruction ins,
org.apache.bcel.generic.ConstantPoolGen cpg)
Get the stack location (counting down from top of stack, starting at 0)
containing the object instance referred to by given instruction.
|
IsNullValueDataflow |
ClassContext.getIsNullValueDataflow(org.apache.bcel.classfile.Method method)
Get an IsNullValueDataflow for given method.
|
LiveLocalStoreDataflow |
ClassContext.getLiveLocalStoreDataflow(org.apache.bcel.classfile.Method method)
Get LiveLocalStoreAnalysis dataflow for given method.
|
LoadDataflow |
ClassContext.getLoadDataflow(org.apache.bcel.classfile.Method method)
Get load dataflow.
|
LockChecker |
ClassContext.getLockChecker(org.apache.bcel.classfile.Method method)
Get LockChecker for method.
|
LockDataflow |
ClassContext.getLockDataflow(org.apache.bcel.classfile.Method method)
Get dataflow for LockAnalysis for given method.
|
DominatorsAnalysis |
ClassContext.getNonExceptionDominatorsAnalysis(org.apache.bcel.classfile.Method method)
Get DominatorsAnalysis for given method, where exception edges are
ignored.
|
PostDominatorsAnalysis |
ClassContext.getNonExceptionPostDominatorsAnalysis(org.apache.bcel.classfile.Method method)
Get PostDominatorsAnalysis for given method, where exception edges are
ignored.
|
PostDominatorsAnalysis |
ClassContext.getNonImplicitExceptionDominatorsAnalysis(org.apache.bcel.classfile.Method method)
Get DominatorsAnalysis for given method, where implicit exception edges
are ignored.
|
int |
Frame.getNumArgumentsIncludingObjectInstance(org.apache.bcel.generic.InvokeInstruction ins,
org.apache.bcel.generic.ConstantPoolGen cpg)
Get the number of arguments passed to given method invocation, including
the object instance if the call is to an instance method.
|
ValueType |
Frame.getOperand(org.apache.bcel.generic.StackConsumer ins,
org.apache.bcel.generic.ConstantPoolGen cpg,
int i)
Get the ith operand used by given instruction.
|
ReturnPathDataflow |
ClassContext.getReturnPathDataflow(org.apache.bcel.classfile.Method method)
Get ReturnPathDataflow for method.
|
ReturnPathTypeDataflow |
ClassContext.getReturnPathTypeDataflow(org.apache.bcel.classfile.Method method)
Get ReturnPathTypeDataflow for a method.
|
int |
Frame.getStackLocation(int loc)
Get a the location in the frame of a value on the operand stack.
|
ValueType |
Frame.getStackValue(int loc)
Get a value on the operand stack.
|
StoreDataflow |
ClassContext.getStoreDataflow(org.apache.bcel.classfile.Method method)
Get store dataflow.
|
void |
Frame.getTopStackWords(ValueType[] valueList)
Get the values on the top of the Java operand stack.
|
ValueType |
Frame.getTopValue()
Get the value on the top of the Java operand stack.
|
TypeDataflow |
ClassContext.getTypeDataflow(org.apache.bcel.classfile.Method method)
Get a TypeDataflow for given method.
|
UnconditionalValueDerefDataflow |
ClassContext.getUnconditionalValueDerefDataflow(org.apache.bcel.classfile.Method method)
Get the UnconditionalValueDerefDataflow for a method.
|
UsagesRequiringNonNullValues |
ClassContext.getUsagesRequiringNonNullValues(org.apache.bcel.classfile.Method method)
Get a UsagesRequiringNonNullValues for given method.
|
ValueNumberDataflow |
ClassContext.getValueNumberDataflow(org.apache.bcel.classfile.Method method)
Get a ValueNumberDataflow for given method.
|
void |
LiveLocalStoreAnalysis.initEntryFact(java.util.BitSet result) |
void |
BlockTypeAnalysis.initEntryFact(BlockType result) |
void |
DataflowAnalysis.initEntryFact(Fact result)
Initialize the "entry" fact for the graph.
|
boolean |
ResourceTracker.isResourceClose(BasicBlock basicBlock,
org.apache.bcel.generic.InstructionHandle handle,
org.apache.bcel.generic.ConstantPoolGen cpg,
Resource resource,
ResourceValueFrame frame)
Determine if the given instruction is the site where a resource is
closed.
|
Resource |
ResourceTracker.isResourceCreation(BasicBlock basicBlock,
org.apache.bcel.generic.InstructionHandle handle,
org.apache.bcel.generic.ConstantPoolGen cpg)
Determine if the given instruction is the site where a resource is
created.
|
void |
LiveLocalStoreAnalysis.meetInto(java.util.BitSet fact,
Edge edge,
java.util.BitSet result) |
void |
AbstractDominatorsAnalysis.meetInto(java.util.BitSet fact,
Edge edge,
java.util.BitSet result) |
void |
BlockTypeAnalysis.meetInto(BlockType fact,
Edge edge,
BlockType result) |
void |
DataflowAnalysis.meetInto(Fact fact,
Edge edge,
Fact result)
Meet a dataflow fact associated with an incoming edge into another fact.
|
void |
LockAnalysis.meetInto(LockSet fact,
Edge edge,
LockSet result) |
void |
ResourceValueAnalysis.meetInto(ResourceValueFrame fact,
Edge edge,
ResourceValueFrame result) |
void |
ReturnPathAnalysis.meetInto(ReturnPath fact,
Edge edge,
ReturnPath result) |
protected void |
FrameDataflowAnalysis.mergeInto(FrameType other,
FrameType result)
Merge one frame into another.
|
protected void |
ResourceValueAnalysis.mergeInto(ResourceValueFrame frame,
ResourceValueFrame result) |
protected abstract void |
FrameDataflowAnalysis.mergeValues(FrameType otherFrame,
FrameType resultFrame,
int slot)
Merge the values contained in a given slot of two Frames.
|
protected void |
ResourceValueAnalysis.mergeValues(ResourceValueFrame otherFrame,
ResourceValueFrame resultFrame,
int slot) |
boolean |
ResourceTracker.mightCloseResource(BasicBlock basicBlock,
org.apache.bcel.generic.InstructionHandle handle,
org.apache.bcel.generic.ConstantPoolGen cpg)
Determine if the given instruction is the site where a resource is
closed.
|
ValueType |
Frame.popValue()
Pop a value off of the Java operand stack.
|
static java.util.Set<XMethod> |
Hierarchy2.resolveMethodCallTargets(org.apache.bcel.generic.InvokeInstruction invokeInstruction,
TypeFrame typeFrame,
org.apache.bcel.generic.ConstantPoolGen cpg)
Resolve possible method call targets.
|
static java.util.Set<JavaClassAndMethod> |
Hierarchy.resolveMethodCallTargets(org.apache.bcel.generic.InvokeInstruction invokeInstruction,
TypeFrame typeFrame,
org.apache.bcel.generic.ConstantPoolGen cpg)
Resolve possible method call targets.
|
void |
AbstractDominatorsAnalysis.transfer(BasicBlock basicBlock,
org.apache.bcel.generic.InstructionHandle end,
java.util.BitSet start,
java.util.BitSet result) |
void |
BlockTypeAnalysis.transfer(BasicBlock basicBlock,
org.apache.bcel.generic.InstructionHandle end,
BlockType start,
BlockType result) |
void |
DataflowAnalysis.transfer(BasicBlock basicBlock,
org.apache.bcel.generic.InstructionHandle end,
Fact start,
Fact result)
Transfer function for the analysis.
|
void |
AbstractDataflowAnalysis.transfer(BasicBlock basicBlock,
org.apache.bcel.generic.InstructionHandle end,
Fact start,
Fact result) |
abstract void |
ResourceValueFrameModelingVisitor.transferInstruction(org.apache.bcel.generic.InstructionHandle handle,
BasicBlock basicBlock)
Subclasses must override this to model the effect of the given
instruction on the current frame.
|
void |
LiveLocalStoreAnalysis.transferInstruction(org.apache.bcel.generic.InstructionHandle handle,
BasicBlock basicBlock,
java.util.BitSet fact) |
abstract void |
AbstractDataflowAnalysis.transferInstruction(org.apache.bcel.generic.InstructionHandle handle,
BasicBlock basicBlock,
Fact fact)
Transfer function for a single instruction.
|
void |
LockAnalysis.transferInstruction(org.apache.bcel.generic.InstructionHandle handle,
BasicBlock basicBlock,
LockSet fact) |
void |
ResourceValueAnalysis.transferInstruction(org.apache.bcel.generic.InstructionHandle handle,
BasicBlock basicBlock,
ResourceValueFrame fact) |
void |
ReturnPathAnalysis.transferInstruction(org.apache.bcel.generic.InstructionHandle handle,
BasicBlock basicBlock,
ReturnPath fact) |
void |
StackDepthAnalysis.transferInstruction(org.apache.bcel.generic.InstructionHandle handle,
BasicBlock basicBlock,
StackDepth fact) |
Modifier and Type | Method and Description |
---|---|
PatternMatcher |
PatternMatcher.execute()
Search for examples of the ByteCodePattern.
|
MatchResult |
Wild.match(org.apache.bcel.generic.InstructionHandle handle,
org.apache.bcel.generic.ConstantPoolGen cpg,
ValueNumberFrame before,
ValueNumberFrame after,
BindingSet bindingSet) |
MatchResult |
Store.match(org.apache.bcel.generic.InstructionHandle handle,
org.apache.bcel.generic.ConstantPoolGen cpg,
ValueNumberFrame before,
ValueNumberFrame after,
BindingSet bindingSet) |
abstract MatchResult |
PatternElement.match(org.apache.bcel.generic.InstructionHandle handle,
org.apache.bcel.generic.ConstantPoolGen cpg,
ValueNumberFrame before,
ValueNumberFrame after,
BindingSet bindingSet)
Return whether or not this element matches the given instruction with the
given Bindings in effect.
|
MatchResult |
Opcode.match(org.apache.bcel.generic.InstructionHandle handle,
org.apache.bcel.generic.ConstantPoolGen cpg,
ValueNumberFrame before,
ValueNumberFrame after,
BindingSet bindingSet) |
MatchResult |
New.match(org.apache.bcel.generic.InstructionHandle handle,
org.apache.bcel.generic.ConstantPoolGen cpg,
ValueNumberFrame before,
ValueNumberFrame after,
BindingSet bindingSet) |
MatchResult |
Monitorenter.match(org.apache.bcel.generic.InstructionHandle handle,
org.apache.bcel.generic.ConstantPoolGen cpg,
ValueNumberFrame before,
ValueNumberFrame after,
BindingSet bindingSet) |
MatchResult |
MatchAny.match(org.apache.bcel.generic.InstructionHandle handle,
org.apache.bcel.generic.ConstantPoolGen cpg,
ValueNumberFrame before,
ValueNumberFrame after,
BindingSet bindingSet) |
MatchResult |
Load.match(org.apache.bcel.generic.InstructionHandle handle,
org.apache.bcel.generic.ConstantPoolGen cpg,
ValueNumberFrame before,
ValueNumberFrame after,
BindingSet bindingSet) |
MatchResult |
Invoke.match(org.apache.bcel.generic.InstructionHandle handle,
org.apache.bcel.generic.ConstantPoolGen cpg,
ValueNumberFrame before,
ValueNumberFrame after,
BindingSet bindingSet) |
MatchResult |
IfNull.match(org.apache.bcel.generic.InstructionHandle handle,
org.apache.bcel.generic.ConstantPoolGen cpg,
ValueNumberFrame before,
ValueNumberFrame after,
BindingSet bindingSet) |
protected static Variable |
FieldAccess.snarfFieldValue(org.apache.bcel.generic.FieldInstruction fieldIns,
org.apache.bcel.generic.ConstantPoolGen cpg,
ValueNumberFrame frame)
Get a Variable representing the stack value which will either be stored
into or loaded from a field.
|
Constructor and Description |
---|
PatternMatcher(ByteCodePattern pattern,
ClassContext classContext,
org.apache.bcel.classfile.Method method)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
CallListAnalysis.meetInto(CallList start,
Edge edge,
CallList result) |
void |
CallListAnalysis.transferInstruction(org.apache.bcel.generic.InstructionHandle handle,
BasicBlock basicBlock,
CallList fact) |
Modifier and Type | Method and Description |
---|---|
void |
ConstantAnalysis.meetInto(ConstantFrame fact,
Edge edge,
ConstantFrame result) |
protected void |
ConstantAnalysis.mergeValues(ConstantFrame otherFrame,
ConstantFrame resultFrame,
int slot) |
void |
ConstantAnalysis.transferInstruction(org.apache.bcel.generic.InstructionHandle handle,
BasicBlock basicBlock,
ConstantFrame frame) |
Modifier and Type | Method and Description |
---|---|
static java.util.Set<ValueNumber> |
UnconditionalValueDerefAnalysis.checkAllNonNullParams(Location location,
ValueNumberFrame vnaFrame,
org.apache.bcel.generic.ConstantPoolGen constantPool,
org.apache.bcel.classfile.Method method,
IsNullValueDataflow invDataflow,
TypeDataflow typeDataflow) |
static java.util.Set<ValueNumber> |
UnconditionalValueDerefAnalysis.checkNonNullParams(Location location,
ValueNumberFrame vnaFrame,
org.apache.bcel.generic.ConstantPoolGen constantPool,
org.apache.bcel.classfile.Method method,
IsNullValueFrame invFrame) |
static java.util.Set<ValueNumber> |
UnconditionalValueDerefAnalysis.checkUnconditionalDerefDatabase(Location location,
ValueNumberFrame vnaFrame,
org.apache.bcel.generic.ConstantPoolGen constantPool,
IsNullValueFrame invFrame,
TypeDataflow typeDataflow) |
void |
UnconditionalValueDerefAnalysis.initEntryFact(UnconditionalValueDerefSet result) |
void |
UnconditionalValueDerefAnalysis.meetInto(UnconditionalValueDerefSet fact,
Edge edge,
UnconditionalValueDerefSet result) |
static boolean |
UnconditionalValueDerefAnalysis.reportPotentialDereference(Location location,
IsNullValueFrame invFrame) |
void |
UnconditionalValueDerefAnalysis.transferInstruction(org.apache.bcel.generic.InstructionHandle handle,
BasicBlock basicBlock,
UnconditionalValueDerefSet fact) |
Modifier and Type | Method and Description |
---|---|
void |
FieldSetAnalysis.initEntryFact(FieldSet result) |
void |
FieldSetAnalysis.meetInto(FieldSet fact,
Edge edge,
FieldSet result) |
void |
FieldSetAnalysis.transferInstruction(org.apache.bcel.generic.InstructionHandle handle,
BasicBlock basicBlock,
FieldSet fact) |
Modifier and Type | Method and Description |
---|---|
void |
TypeQualifierDataflowAnalysis.edgeTransfer(Edge edge,
TypeQualifierValueSet fact) |
void |
BackwardTypeQualifierDataflowAnalysis.edgeTransfer(Edge edge,
TypeQualifierValueSet fact) |
protected ForwardTypeQualifierDataflow |
ForwardTypeQualifierDataflowFactory.getDataflow(DepthFirstSearch dfs,
XMethod xmethod,
CFG cfg,
ValueNumberDataflow vnaDataflow,
org.apache.bcel.generic.ConstantPoolGen cpg,
IAnalysisCache analysisCache,
MethodDescriptor methodDescriptor,
TypeQualifierValue<?> typeQualifierValue) |
void |
TypeQualifierDataflowAnalysis.initEntryFact(TypeQualifierValueSet result) |
void |
TypeQualifierDataflowAnalysis.meetInto(TypeQualifierValueSet fact,
Edge edge,
TypeQualifierValueSet result) |
void |
TypeQualifierValueSet.mergeWith(TypeQualifierValueSet fact) |
abstract void |
TypeQualifierDataflowAnalysis.registerSourceSinkLocations()
This method must be called before the dataflow analysis is executed.
|
void |
ForwardTypeQualifierDataflowAnalysis.registerSourceSinkLocations() |
void |
BackwardTypeQualifierDataflowAnalysis.registerSourceSinkLocations() |
void |
TypeQualifierDataflowAnalysis.transferInstruction(org.apache.bcel.generic.InstructionHandle handle,
BasicBlock basicBlock,
TypeQualifierValueSet fact) |
void |
BackwardTypeQualifierDataflowAnalysis.transferInstruction(org.apache.bcel.generic.InstructionHandle handle,
BasicBlock basicBlock,
TypeQualifierValueSet fact) |
Modifier and Type | Method and Description |
---|---|
void |
IsNullValueFrameModelingVisitor.analyzeInstruction(org.apache.bcel.generic.Instruction ins) |
boolean |
ReturnPathType.canReturnNormally() |
void |
NullDerefAndRedundantComparisonFinder.checkEdges(CFG cfg,
java.util.Map<ValueNumber,NullValueUnconditionalDeref> nullValueGuaranteedDerefMap,
java.util.Map<ValueNumber,java.util.SortedSet<Location>> bugEdgeLocationMap) |
void |
IsNullValueAnalysis.endTransfer(BasicBlock basicBlock,
org.apache.bcel.generic.InstructionHandle end,
IsNullValueFrame result) |
IsNullValueFrame |
IsNullValueDataflow.getFactAtMidEdge(Edge edge) |
IsNullValueFrame |
IsNullValueAnalysis.getFactAtMidEdge(Edge edge) |
void |
ReturnPathTypeAnalysis.initEntryFact(ReturnPathType result) |
void |
IsNullValueAnalysis.meetInto(IsNullValueFrame fact,
Edge edge,
IsNullValueFrame result) |
void |
IsNullValueAnalysis.meetInto(IsNullValueFrame fact,
Edge edge,
IsNullValueFrame result,
boolean propagatePhiNodeInformation) |
void |
ReturnPathTypeAnalysis.meetInto(ReturnPathType fact,
Edge edge,
ReturnPathType result) |
protected void |
IsNullValueAnalysis.mergeInto(IsNullValueFrame other,
IsNullValueFrame result) |
protected void |
IsNullValueAnalysis.mergeValues(IsNullValueFrame otherFrame,
IsNullValueFrame resultFrame,
int slot) |
void |
NullDerefAndRedundantComparisonFinder.reportBugs(java.util.Map<ValueNumber,NullValueUnconditionalDeref> nullValueGuaranteedDerefMap,
java.util.HashSet<ValueNumber> npeIfStatementCovered,
java.util.Map<ValueNumber,java.util.SortedSet<Location>> bugLocationMap,
java.util.Map<ValueNumber,java.util.Set<Location>> nullValueAssignmentMap) |
void |
IsNullValueAnalysis.transfer(BasicBlock basicBlock,
org.apache.bcel.generic.InstructionHandle end,
IsNullValueFrame start,
IsNullValueFrame result) |
void |
ReturnPathTypeAnalysis.transfer(BasicBlock basicBlock,
org.apache.bcel.generic.InstructionHandle end,
ReturnPathType start,
ReturnPathType result) |
void |
IsNullValueAnalysis.transferInstruction(org.apache.bcel.generic.InstructionHandle handle,
BasicBlock basicBlock,
IsNullValueFrame fact) |
Modifier and Type | Class and Description |
---|---|
class |
ObligationAcquiredOrReleasedInLoopException
Exception to indicate that ObligationAnalysis has detected a situation in
which an obligation is either acquired or released inside a loop.
|
Modifier and Type | Method and Description |
---|---|
void |
ObligationAnalysis.edgeTransfer(Edge edge,
StateSet fact) |
void |
ObligationAnalysis.initEntryFact(StateSet fact) |
void |
ObligationAnalysis.meetInto(StateSet fact,
Edge edge,
StateSet result) |
void |
ObligationAnalysis.transfer(BasicBlock basicBlock,
org.apache.bcel.generic.InstructionHandle end,
StateSet start,
StateSet result) |
void |
ObligationAnalysis.transferInstruction(org.apache.bcel.generic.InstructionHandle handle,
BasicBlock basicBlock,
StateSet fact) |
Modifier and Type | Method and Description |
---|---|
void |
TypeFrameModelingVisitor.analyzeInstruction(org.apache.bcel.generic.Instruction ins) |
void |
TypeAnalysis.meetInto(TypeFrame fact,
Edge edge,
TypeFrame result) |
protected org.apache.bcel.generic.ReferenceType |
StandardTypeMerger.mergeReferenceTypes(org.apache.bcel.generic.ReferenceType aRef,
org.apache.bcel.generic.ReferenceType bRef)
Default implementation of merging reference types.
|
org.apache.bcel.generic.Type |
TypeMerger.mergeTypes(org.apache.bcel.generic.Type a,
org.apache.bcel.generic.Type b)
Merge type Types.
|
org.apache.bcel.generic.Type |
StandardTypeMerger.mergeTypes(org.apache.bcel.generic.Type a,
org.apache.bcel.generic.Type b) |
protected void |
TypeAnalysis.mergeValues(TypeFrame otherFrame,
TypeFrame resultFrame,
int slot) |
org.apache.bcel.generic.Type |
TypeFrame.popValue()
Pop a value off of the Java operand stack.
|
void |
TypeAnalysis.transfer(BasicBlock basicBlock,
org.apache.bcel.generic.InstructionHandle end,
TypeFrame start,
TypeFrame result) |
void |
TypeAnalysis.transferInstruction(org.apache.bcel.generic.InstructionHandle handle,
BasicBlock basicBlock,
TypeFrame fact) |
Modifier and Type | Method and Description |
---|---|
static BugAnnotation |
ValueNumberSourceInfo.getFromValueNumber(ClassContext classContext,
org.apache.bcel.classfile.Method method,
Location location,
int stackPos) |
void |
ValueNumberAnalysis.meetInto(ValueNumberFrame fact,
Edge edge,
ValueNumberFrame result) |
protected void |
ValueNumberAnalysis.mergeInto(ValueNumberFrame frame,
ValueNumberFrame result) |
protected void |
ValueNumberAnalysis.mergeValues(ValueNumberFrame otherFrame,
ValueNumberFrame resultFrame,
int slot) |
void |
ValueNumberAnalysis.transfer(BasicBlock basicBlock,
org.apache.bcel.generic.InstructionHandle end,
ValueNumberFrame start,
ValueNumberFrame result) |
void |
ValueNumberAnalysis.transferInstruction(org.apache.bcel.generic.InstructionHandle handle,
BasicBlock basicBlock,
ValueNumberFrame fact) |
Modifier and Type | Method and Description |
---|---|
void |
FindOpenStream.analyzeMethod(ClassContext classContext,
org.apache.bcel.classfile.Method method,
StreamResourceTracker resourceTracker,
ResourceCollection<Stream> resourceCollection) |
edu.umd.cs.findbugs.detect.FindUnreleasedLock.LockResourceTracker |
FindUnreleasedLock.getResourceTracker(ClassContext classContext,
org.apache.bcel.classfile.Method method) |
boolean |
StreamResourceTracker.mightCloseResource(BasicBlock basicBlock,
org.apache.bcel.generic.InstructionHandle handle,
org.apache.bcel.generic.ConstantPoolGen cpg) |
void |
LazyInit.reportMatch(ClassContext classContext,
org.apache.bcel.classfile.Method method,
ByteCodePatternMatch match) |
void |
StreamFrameModelingVisitor.transferInstruction(org.apache.bcel.generic.InstructionHandle handle,
BasicBlock basicBlock) |
void |
FindTwoLockWait.visitLocation(ClassContext classContext,
Location location,
org.apache.bcel.generic.MethodGen methodGen,
LockDataflow dataflow) |
FindBugs™ is licenced under the LGPL. Copyright © 2006 University of Maryland.