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 TypeMethodDescriptionvoidcollect(StackSSALabel lValue, StatementContainer<StructuredStatement> statementContainer, Expression value) voidvoidcollectExpression(LValue lValue, Expression value) voidcollectLocalVariableAssignment(LocalVariable localVariable, StatementContainer<StructuredStatement> statementContainer, Expression value) voidcollectMultiUse(StackSSALabel lValue, StatementContainer<StructuredStatement> statementContainer, Expression value) voidcollectMutatedLValue(LValue lValue, StatementContainer<StructuredStatement> statementContainer, Expression value) booleanvoidenterBlock(StructuredStatement structuredStatement) booleanvoidleaveBlock(StructuredStatement structuredStatement) voidvoidprocessOp04Statement(Op04StructuredStatement statement) transform(StructuredStatement in, StructuredScope scope)
-
Field Details
-
clashes
-
-
Constructor Details
-
LValueTypeClashCheck
public LValueTypeClashCheck()
-
-
Method Details
-
processOp04Statement
- Specified by:
processOp04Statementin interfaceLValueScopeDiscoverer
-
enterBlock
- Specified by:
enterBlockin interfaceLValueScopeDiscoverer
-
leaveBlock
- Specified by:
leaveBlockin interfaceLValueScopeDiscoverer
-
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
- Specified by:
collectin interfaceLValueScopeDiscoverer- Specified by:
collectin interfaceLValueUsageCollector
-
collectExpression
-
transform
- Specified by:
transformin interfaceStructuredStatementTransformer
-
descendLambdas
public boolean descendLambdas()- Specified by:
descendLambdasin interfaceLValueScopeDiscoverer
-
getClashes
-