Class CompoundStatement
java.lang.Object
org.benf.cfr.reader.bytecode.analysis.parse.statement.AbstractStatement
org.benf.cfr.reader.bytecode.analysis.parse.statement.CompoundStatement
- All Implemented Interfaces:
HasByteCodeLoc
,DeepCloneable<Statement>
,Statement
,ComparableUnderEC
,Dumpable
This should not be used to aggregate statements, but only to produce statements when multiple statements
are generated by a single opcode. (eg dup).
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
collectLValueAssignments
(LValueAssignmentCollector<Statement> lValueAssigmentCollector) void
collectLValueUsage
(LValueUsageCollector lValueUsageCollector) deepClone
(CloneHelper cloneHelper) final boolean
equivalentUnder
(Object o, EquivalenceConstraint constraint) boolean
void
replaceSingleUsageLValues
(LValueRewriter lValueRewriter, SSAIdentifiers ssaIdentifiers) void
rewriteExpressions
(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers) Methods inherited from class org.benf.cfr.reader.bytecode.analysis.parse.statement.AbstractStatement
addLoc, canThrow, collectLocallyMutatedVariables, collectObjectCreation, doesBlackListLValueReplacement, fallsToNext, getContainer, getLoc, getTargetStatement, outerDeepClone, setContainer, setLifetimeHint, toString, wantsLifetimeHint
-
Field Details
-
statements
-
-
Constructor Details
-
CompoundStatement
-
-
Method Details
-
getCombinedLoc
-
dump
-
collectLValueAssignments
- Specified by:
collectLValueAssignments
in interfaceStatement
- Overrides:
collectLValueAssignments
in classAbstractStatement
-
deepClone
-
getCreatedLValue
- Specified by:
getCreatedLValue
in interfaceStatement
- Overrides:
getCreatedLValue
in classAbstractStatement
-
collectLValueUsage
-
getRValue
- Specified by:
getRValue
in interfaceStatement
- Overrides:
getRValue
in classAbstractStatement
-
replaceSingleUsageLValues
-
rewriteExpressions
public void rewriteExpressions(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers) -
isCompound
public boolean isCompound()- Specified by:
isCompound
in interfaceStatement
- Overrides:
isCompound
in classAbstractStatement
-
getCompoundParts
- Specified by:
getCompoundParts
in interfaceStatement
- Overrides:
getCompoundParts
in classAbstractStatement
-
getStructuredStatement
-
equivalentUnder
-