Package edu.umd.cs.findbugs.detect
Class FindUselessObjects.UselessValuesContext
- java.lang.Object
-
- edu.umd.cs.findbugs.detect.FindUselessObjects.UselessValuesContext
-
- Enclosing class:
- FindUselessObjects
private class FindUselessObjects.UselessValuesContext extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description (package private) CFG
cfg
(package private) ClassContext
classContext
(package private) int
count
(package private) org.apache.bcel.generic.ConstantPoolGen
cpg
(package private) org.apache.bcel.classfile.Method
method
(package private) java.util.Map<java.lang.Integer,FindUselessObjects.ValueInfo>
observedValues
(package private) TypeAnalysis
ta
(package private) ValueNumber
thisValue
(package private) java.util.Map<java.lang.Integer,java.util.Set<FindUselessObjects.ValueInfo>>
values
(package private) ValueNumberAnalysis
vna
-
Constructor Summary
Constructors Constructor Description UselessValuesContext(ClassContext classContext, org.apache.bcel.classfile.Method method)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) void
enhanceViaMergeTree()
(package private) boolean
escaped(ValueNumber vn)
(package private) java.util.Iterator<FindUselessObjects.GenLocation>
genIterator()
(package private) java.util.Set<FindUselessObjects.ValueInfo>
getLiveVals(ValueNumber vn)
(package private) void
initObservedValues()
(package private) boolean
isEmpty()
(package private) boolean
propagateToReturnValue(java.util.Set<FindUselessObjects.ValueInfo> vals, ValueNumber vn, FindUselessObjects.GenLocation location, MethodDescriptor m)
(package private) boolean
propagateValues(java.util.Set<FindUselessObjects.ValueInfo> vals, ValueNumber origNumber, ValueNumber vn)
(package private) void
report()
(package private) boolean
setDerivedEscape(java.util.Set<FindUselessObjects.ValueInfo> vals, ValueNumber vn)
(package private) boolean
setEscape(java.util.Set<FindUselessObjects.ValueInfo> vals)
(package private) boolean
setObjectOnly(java.util.Set<FindUselessObjects.ValueInfo> vals, ValueNumber vn)
(package private) boolean
setUsed(java.util.Set<FindUselessObjects.ValueInfo> vals)
-
-
-
Field Detail
-
vna
ValueNumberAnalysis vna
-
ta
TypeAnalysis ta
-
cfg
CFG cfg
-
count
int count
-
observedValues
java.util.Map<java.lang.Integer,FindUselessObjects.ValueInfo> observedValues
-
cpg
org.apache.bcel.generic.ConstantPoolGen cpg
-
values
java.util.Map<java.lang.Integer,java.util.Set<FindUselessObjects.ValueInfo>> values
-
thisValue
ValueNumber thisValue
-
classContext
ClassContext classContext
-
method
org.apache.bcel.classfile.Method method
-
-
Constructor Detail
-
UselessValuesContext
UselessValuesContext(ClassContext classContext, org.apache.bcel.classfile.Method method) throws CheckedAnalysisException
- Throws:
CheckedAnalysisException
-
-
Method Detail
-
initObservedValues
void initObservedValues() throws DataflowAnalysisException
- Throws:
DataflowAnalysisException
-
enhanceViaMergeTree
void enhanceViaMergeTree()
-
setEscape
boolean setEscape(java.util.Set<FindUselessObjects.ValueInfo> vals)
-
setDerivedEscape
boolean setDerivedEscape(java.util.Set<FindUselessObjects.ValueInfo> vals, ValueNumber vn)
-
setUsed
boolean setUsed(java.util.Set<FindUselessObjects.ValueInfo> vals)
-
setObjectOnly
boolean setObjectOnly(java.util.Set<FindUselessObjects.ValueInfo> vals, ValueNumber vn)
-
propagateValues
boolean propagateValues(java.util.Set<FindUselessObjects.ValueInfo> vals, ValueNumber origNumber, ValueNumber vn)
-
propagateToReturnValue
boolean propagateToReturnValue(java.util.Set<FindUselessObjects.ValueInfo> vals, ValueNumber vn, FindUselessObjects.GenLocation location, MethodDescriptor m) throws DataflowAnalysisException
- Throws:
DataflowAnalysisException
-
isEmpty
boolean isEmpty()
-
genIterator
java.util.Iterator<FindUselessObjects.GenLocation> genIterator()
-
escaped
boolean escaped(ValueNumber vn)
-
getLiveVals
java.util.Set<FindUselessObjects.ValueInfo> getLiveVals(ValueNumber vn)
-
report
void report()
-
-