Class LocalClassScopeDiscoverImpl
- java.lang.Object
-
- org.benf.cfr.reader.bytecode.analysis.parse.utils.scope.AbstractLValueScopeDiscoverer
-
- org.benf.cfr.reader.bytecode.analysis.parse.utils.scope.LocalClassScopeDiscoverImpl
-
- All Implemented Interfaces:
LValueAssignmentCollector<StructuredStatement>
,LValueUsageCollector
,LValueScopeDiscoverer
public class LocalClassScopeDiscoverImpl extends AbstractLValueScopeDiscoverer
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
LocalClassScopeDiscoverImpl.SentinelNV
(package private) class
LocalClassScopeDiscoverImpl.TypeUsageSpotter
-
Nested classes/interfaces inherited from class org.benf.cfr.reader.bytecode.analysis.parse.utils.scope.AbstractLValueScopeDiscoverer
AbstractLValueScopeDiscoverer.ScopeDefinition
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.Map<JavaTypeInstance,java.lang.Boolean>
localClassTypes
private JavaTypeInstance
scopeType
private LocalClassScopeDiscoverImpl.TypeUsageSpotter
typeUsageSpotter
-
Fields inherited from class org.benf.cfr.reader.bytecode.analysis.parse.utils.scope.AbstractLValueScopeDiscoverer
currentBlock, currentDepth, currentMark, discoveredCreations, earliestDefinition, earliestDefinitionsByLevel, options, variableFactory
-
-
Constructor Summary
Constructors Constructor Description LocalClassScopeDiscoverImpl(Options options, Method method, VariableFactory variableFactory)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
collect(LValue lValue, ReadWrite rw)
void
collectLocalVariableAssignment(LocalVariable localVariable, StatementContainer<StructuredStatement> statementContainer, Expression value)
private void
defineHere(LValue lValue, JavaTypeInstance type, boolean immediate)
boolean
descendLambdas()
void
processOp04Statement(Op04StructuredStatement statement)
-
Methods inherited from class org.benf.cfr.reader.bytecode.analysis.parse.utils.scope.AbstractLValueScopeDiscoverer
collect, collectMultiUse, collectMutatedLValue, enterBlock, getFactCache, ifCanDefine, leaveBlock, mark, markDiscoveredCreations
-
-
-
-
Field Detail
-
localClassTypes
private final java.util.Map<JavaTypeInstance,java.lang.Boolean> localClassTypes
-
typeUsageSpotter
private final LocalClassScopeDiscoverImpl.TypeUsageSpotter typeUsageSpotter
-
scopeType
private final JavaTypeInstance scopeType
-
-
Constructor Detail
-
LocalClassScopeDiscoverImpl
public LocalClassScopeDiscoverImpl(Options options, Method method, VariableFactory variableFactory)
-
-
Method Detail
-
processOp04Statement
public void processOp04Statement(Op04StructuredStatement statement)
- Specified by:
processOp04Statement
in interfaceLValueScopeDiscoverer
- Overrides:
processOp04Statement
in classAbstractLValueScopeDiscoverer
-
collectLocalVariableAssignment
public void collectLocalVariableAssignment(LocalVariable localVariable, StatementContainer<StructuredStatement> statementContainer, Expression value)
-
defineHere
private void defineHere(LValue lValue, JavaTypeInstance type, boolean immediate)
-
descendLambdas
public boolean descendLambdas()
-
-