public class LValueTypeClashCheck extends java.lang.Object implements LValueScopeDiscoverer, StructuredStatementTransformer
Modifier and Type | Class and Description |
---|---|
private static class |
LValueTypeClashCheck.Check |
Modifier and Type | Field and Description |
---|---|
private java.util.Set<java.lang.Integer> |
clashes |
Constructor and Description |
---|
LValueTypeClashCheck() |
public void processOp04Statement(Op04StructuredStatement statement)
processOp04Statement
in interface LValueScopeDiscoverer
public void enterBlock(StructuredStatement structuredStatement)
enterBlock
in interface LValueScopeDiscoverer
public void leaveBlock(StructuredStatement structuredStatement)
leaveBlock
in interface LValueScopeDiscoverer
public void mark(StatementContainer<StructuredStatement> mark)
mark
in interface LValueScopeDiscoverer
public boolean ifCanDefine()
ifCanDefine
in interface LValueScopeDiscoverer
public void collect(StackSSALabel lValue, StatementContainer<StructuredStatement> statementContainer, Expression value)
collect
in interface LValueAssignmentCollector<StructuredStatement>
collect
in interface LValueScopeDiscoverer
public void collectMultiUse(StackSSALabel lValue, StatementContainer<StructuredStatement> statementContainer, Expression value)
collectMultiUse
in interface LValueAssignmentCollector<StructuredStatement>
collectMultiUse
in interface LValueScopeDiscoverer
public void collectMutatedLValue(LValue lValue, StatementContainer<StructuredStatement> statementContainer, Expression value)
collectMutatedLValue
in interface LValueAssignmentCollector<StructuredStatement>
collectMutatedLValue
in interface LValueScopeDiscoverer
public void collectLocalVariableAssignment(LocalVariable localVariable, StatementContainer<StructuredStatement> statementContainer, Expression value)
collectLocalVariableAssignment
in interface LValueAssignmentCollector<StructuredStatement>
collectLocalVariableAssignment
in interface LValueScopeDiscoverer
public void collect(LValue lValue, ReadWrite rw)
collect
in interface LValueUsageCollector
collect
in interface LValueScopeDiscoverer
public void collectExpression(LValue lValue, Expression value)
public StructuredStatement transform(StructuredStatement in, StructuredScope scope)
transform
in interface StructuredStatementTransformer
public boolean descendLambdas()
descendLambdas
in interface LValueScopeDiscoverer
public java.util.Set<java.lang.Integer> getClashes()