Class LValueTypeClashCheck
- java.lang.Object
-
- org.benf.cfr.reader.bytecode.analysis.opgraph.op4rewriters.transformers.LValueTypeClashCheck
-
- All Implemented Interfaces:
StructuredStatementTransformer
,LValueAssignmentCollector<StructuredStatement>
,LValueUsageCollector
,LValueScopeDiscoverer
public class LValueTypeClashCheck extends java.lang.Object implements LValueScopeDiscoverer, StructuredStatementTransformer
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
LValueTypeClashCheck.Check
-
Field Summary
Fields Modifier and Type Field Description private java.util.Set<java.lang.Integer>
clashes
-
Constructor Summary
Constructors Constructor Description LValueTypeClashCheck()
-
Method Summary
-
-
-
Method Detail
-
processOp04Statement
public void processOp04Statement(Op04StructuredStatement statement)
- Specified by:
processOp04Statement
in interfaceLValueScopeDiscoverer
-
enterBlock
public void enterBlock(StructuredStatement structuredStatement)
- Specified by:
enterBlock
in interfaceLValueScopeDiscoverer
-
leaveBlock
public void leaveBlock(StructuredStatement structuredStatement)
- Specified by:
leaveBlock
in interfaceLValueScopeDiscoverer
-
mark
public void mark(StatementContainer<StructuredStatement> mark)
- Specified by:
mark
in interfaceLValueScopeDiscoverer
-
ifCanDefine
public boolean ifCanDefine()
- Specified by:
ifCanDefine
in interfaceLValueScopeDiscoverer
-
collect
public void collect(StackSSALabel lValue, StatementContainer<StructuredStatement> statementContainer, Expression value)
- Specified by:
collect
in interfaceLValueAssignmentCollector<StructuredStatement>
- Specified by:
collect
in interfaceLValueScopeDiscoverer
-
collectMultiUse
public void collectMultiUse(StackSSALabel lValue, StatementContainer<StructuredStatement> statementContainer, Expression value)
- Specified by:
collectMultiUse
in interfaceLValueAssignmentCollector<StructuredStatement>
- Specified by:
collectMultiUse
in interfaceLValueScopeDiscoverer
-
collectMutatedLValue
public void collectMutatedLValue(LValue lValue, StatementContainer<StructuredStatement> statementContainer, Expression value)
- Specified by:
collectMutatedLValue
in interfaceLValueAssignmentCollector<StructuredStatement>
- Specified by:
collectMutatedLValue
in interfaceLValueScopeDiscoverer
-
collectLocalVariableAssignment
public void collectLocalVariableAssignment(LocalVariable localVariable, StatementContainer<StructuredStatement> statementContainer, Expression value)
- Specified by:
collectLocalVariableAssignment
in interfaceLValueAssignmentCollector<StructuredStatement>
- Specified by:
collectLocalVariableAssignment
in interfaceLValueScopeDiscoverer
-
collect
public void collect(LValue lValue, ReadWrite rw)
- Specified by:
collect
in interfaceLValueScopeDiscoverer
- Specified by:
collect
in interfaceLValueUsageCollector
-
collectExpression
public void collectExpression(LValue lValue, Expression value)
-
transform
public StructuredStatement transform(StructuredStatement in, StructuredScope scope)
- Specified by:
transform
in interfaceStructuredStatementTransformer
-
descendLambdas
public boolean descendLambdas()
- Specified by:
descendLambdas
in interfaceLValueScopeDiscoverer
-
getClashes
public java.util.Set<java.lang.Integer> getClashes()
-
-