Class IfExitingStatement
- java.lang.Object
-
- org.benf.cfr.reader.bytecode.analysis.parse.statement.AbstractStatement
-
- org.benf.cfr.reader.bytecode.analysis.parse.statement.IfExitingStatement
-
- All Implemented Interfaces:
HasByteCodeLoc
,DeepCloneable<Statement>
,Statement
,ComparableUnderEC
,Dumpable
public class IfExitingStatement extends AbstractStatement
-
-
Field Summary
Fields Modifier and Type Field Description private ConditionalExpression
condition
private Statement
statement
-
Constructor Summary
Constructors Constructor Description IfExitingStatement(BytecodeLoc loc, ConditionalExpression conditionalExpression, Statement statement)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
canThrow(ExceptionCheck caught)
void
collectLValueUsage(LValueUsageCollector lValueUsageCollector)
Statement
deepClone(CloneHelper cloneHelper)
Dumper
dump(Dumper dumper)
boolean
equals(java.lang.Object o)
boolean
equivalentUnder(java.lang.Object o, EquivalenceConstraint constraint)
BytecodeLoc
getCombinedLoc()
ConditionalExpression
getCondition()
Statement
getExitStatement()
StructuredStatement
getStructuredStatement()
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, collectLocallyMutatedVariables, collectLValueAssignments, collectObjectCreation, doesBlackListLValueReplacement, fallsToNext, getCompoundParts, getContainer, getCreatedLValue, getLoc, getRValue, getTargetStatement, isCompound, outerDeepClone, setContainer, setLifetimeHint, toString, wantsLifetimeHint
-
-
-
-
Field Detail
-
condition
private ConditionalExpression condition
-
statement
private Statement statement
-
-
Constructor Detail
-
IfExitingStatement
public IfExitingStatement(BytecodeLoc loc, ConditionalExpression conditionalExpression, Statement statement)
-
-
Method Detail
-
deepClone
public Statement deepClone(CloneHelper cloneHelper)
-
getCombinedLoc
public BytecodeLoc getCombinedLoc()
-
replaceSingleUsageLValues
public void replaceSingleUsageLValues(LValueRewriter lValueRewriter, SSAIdentifiers ssaIdentifiers)
-
rewriteExpressions
public void rewriteExpressions(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers)
-
collectLValueUsage
public void collectLValueUsage(LValueUsageCollector lValueUsageCollector)
-
getCondition
public ConditionalExpression getCondition()
-
getExitStatement
public Statement getExitStatement()
-
getStructuredStatement
public StructuredStatement getStructuredStatement()
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in classjava.lang.Object
-
equivalentUnder
public boolean equivalentUnder(java.lang.Object o, EquivalenceConstraint constraint)
-
canThrow
public boolean canThrow(ExceptionCheck caught)
- Specified by:
canThrow
in interfaceStatement
- Overrides:
canThrow
in classAbstractStatement
-
-