public interface LValueScopeDiscoverer extends LValueUsageCollector, LValueAssignmentCollector<StructuredStatement>
Modifier and Type | Method and Description |
---|---|
void |
collect(LValue lValue,
ReadWrite rw) |
void |
collect(StackSSALabel lValue,
StatementContainer<StructuredStatement> statementContainer,
Expression value) |
void |
collectLocalVariableAssignment(LocalVariable localVariable,
StatementContainer<StructuredStatement> statementContainer,
Expression value) |
void |
collectMultiUse(StackSSALabel lValue,
StatementContainer<StructuredStatement> statementContainer,
Expression value) |
void |
collectMutatedLValue(LValue lValue,
StatementContainer<StructuredStatement> statementContainer,
Expression value) |
boolean |
descendLambdas() |
void |
enterBlock(StructuredStatement structuredStatement) |
boolean |
ifCanDefine() |
void |
leaveBlock(StructuredStatement structuredStatement) |
void |
mark(StatementContainer<StructuredStatement> mark) |
void |
processOp04Statement(Op04StructuredStatement statement) |
void processOp04Statement(Op04StructuredStatement statement)
void enterBlock(StructuredStatement structuredStatement)
void leaveBlock(StructuredStatement structuredStatement)
void mark(StatementContainer<StructuredStatement> mark)
void collect(StackSSALabel lValue, StatementContainer<StructuredStatement> statementContainer, Expression value)
collect
in interface LValueAssignmentCollector<StructuredStatement>
void collectMultiUse(StackSSALabel lValue, StatementContainer<StructuredStatement> statementContainer, Expression value)
collectMultiUse
in interface LValueAssignmentCollector<StructuredStatement>
void collectMutatedLValue(LValue lValue, StatementContainer<StructuredStatement> statementContainer, Expression value)
collectMutatedLValue
in interface LValueAssignmentCollector<StructuredStatement>
void collectLocalVariableAssignment(LocalVariable localVariable, StatementContainer<StructuredStatement> statementContainer, Expression value)
collectLocalVariableAssignment
in interface LValueAssignmentCollector<StructuredStatement>
void collect(LValue lValue, ReadWrite rw)
collect
in interface LValueUsageCollector
boolean ifCanDefine()
boolean descendLambdas()