Package edu.umd.cs.findbugs.detect
Class InstanceFieldLoadStreamFactory
java.lang.Object
edu.umd.cs.findbugs.detect.InstanceFieldLoadStreamFactory
- All Implemented Interfaces:
StreamFactory
StreamFactory for stream objects loaded from instance fields.
- Author:
- David Hovemeyer
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptioncreateStream
(Location location, org.apache.bcel.generic.ObjectType type, org.apache.bcel.generic.ConstantPoolGen cpg, RepositoryLookupFailureCallback lookupFailureCallback) Determine if a Stream is created at given location.setBugPatternType
(String bugPatternType) Set the bug pattern type reported for unclosed streams loaded from this field.
-
Constructor Details
-
InstanceFieldLoadStreamFactory
Constructor. By default, Streams created by this factory will not be marked as interesting. The setBugPatternType() method should be called to make the factory produce interesting streams.- Parameters:
streamBaseClass
- the base class of the streams produced by the factory
-
-
Method Details
-
setBugPatternType
Set the bug pattern type reported for unclosed streams loaded from this field. This makes the created streams "interesting".- Parameters:
bugPatternType
- the bug pattern type
-
createStream
public Stream createStream(Location location, org.apache.bcel.generic.ObjectType type, org.apache.bcel.generic.ConstantPoolGen cpg, RepositoryLookupFailureCallback lookupFailureCallback) Description copied from interface:StreamFactory
Determine if a Stream is created at given location.- Specified by:
createStream
in interfaceStreamFactory
- Parameters:
location
- the Locationtype
- the ObjectType associated with the instruction at the location; the StreamResourceTracker prescreens for TypedInstructions that are associated with ObjectTypes, since they are the only instructions that could conceivably create a stream objectcpg
- the ConstantPoolGen for the methodlookupFailureCallback
- used to report missing classes in the class hierarchy- Returns:
- a Stream created at the Location, or null if no stream is created there
-