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 Object
implements LValueScopeDiscoverer, StructuredStatementTransformer
-
Nested Class Summary
Nested Classes -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
collect
(StackSSALabel lValue, StatementContainer<StructuredStatement> statementContainer, Expression value) void
void
collectExpression
(LValue lValue, 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
void
enterBlock
(StructuredStatement structuredStatement) boolean
void
leaveBlock
(StructuredStatement structuredStatement) void
void
processOp04Statement
(Op04StructuredStatement statement) transform
(StructuredStatement in, StructuredScope scope)
-
Field Details
-
clashes
-
-
Constructor Details
-
LValueTypeClashCheck
public LValueTypeClashCheck()
-
-
Method Details
-
processOp04Statement
- Specified by:
processOp04Statement
in interfaceLValueScopeDiscoverer
-
enterBlock
- Specified by:
enterBlock
in interfaceLValueScopeDiscoverer
-
leaveBlock
- Specified by:
leaveBlock
in interfaceLValueScopeDiscoverer
-
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
- Specified by:
collect
in interfaceLValueScopeDiscoverer
- Specified by:
collect
in interfaceLValueUsageCollector
-
collectExpression
-
transform
- Specified by:
transform
in interfaceStructuredStatementTransformer
-
descendLambdas
public boolean descendLambdas()- Specified by:
descendLambdas
in interfaceLValueScopeDiscoverer
-
getClashes
-