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 classLValueTypeClashCheck.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:
processOp04Statementin interfaceLValueScopeDiscoverer
-
enterBlock
public void enterBlock(StructuredStatement structuredStatement)
- Specified by:
enterBlockin interfaceLValueScopeDiscoverer
-
leaveBlock
public void leaveBlock(StructuredStatement structuredStatement)
- Specified by:
leaveBlockin interfaceLValueScopeDiscoverer
-
mark
public void mark(StatementContainer<StructuredStatement> mark)
- Specified by:
markin interfaceLValueScopeDiscoverer
-
ifCanDefine
public boolean ifCanDefine()
- Specified by:
ifCanDefinein interfaceLValueScopeDiscoverer
-
collect
public void collect(StackSSALabel lValue, StatementContainer<StructuredStatement> statementContainer, Expression value)
- Specified by:
collectin interfaceLValueAssignmentCollector<StructuredStatement>- Specified by:
collectin interfaceLValueScopeDiscoverer
-
collectMultiUse
public void collectMultiUse(StackSSALabel lValue, StatementContainer<StructuredStatement> statementContainer, Expression value)
- Specified by:
collectMultiUsein interfaceLValueAssignmentCollector<StructuredStatement>- Specified by:
collectMultiUsein interfaceLValueScopeDiscoverer
-
collectMutatedLValue
public void collectMutatedLValue(LValue lValue, StatementContainer<StructuredStatement> statementContainer, Expression value)
- Specified by:
collectMutatedLValuein interfaceLValueAssignmentCollector<StructuredStatement>- Specified by:
collectMutatedLValuein interfaceLValueScopeDiscoverer
-
collectLocalVariableAssignment
public void collectLocalVariableAssignment(LocalVariable localVariable, StatementContainer<StructuredStatement> statementContainer, Expression value)
- Specified by:
collectLocalVariableAssignmentin interfaceLValueAssignmentCollector<StructuredStatement>- Specified by:
collectLocalVariableAssignmentin interfaceLValueScopeDiscoverer
-
collect
public void collect(LValue lValue, ReadWrite rw)
- Specified by:
collectin interfaceLValueScopeDiscoverer- Specified by:
collectin interfaceLValueUsageCollector
-
collectExpression
public void collectExpression(LValue lValue, Expression value)
-
transform
public StructuredStatement transform(StructuredStatement in, StructuredScope scope)
- Specified by:
transformin interfaceStructuredStatementTransformer
-
descendLambdas
public boolean descendLambdas()
- Specified by:
descendLambdasin interfaceLValueScopeDiscoverer
-
getClashes
public java.util.Set<java.lang.Integer> getClashes()
-
-