Class GotoStatement
- java.lang.Object
-
- org.benf.cfr.reader.bytecode.analysis.parse.statement.AbstractStatement
-
- org.benf.cfr.reader.bytecode.analysis.parse.statement.JumpingStatement
-
- org.benf.cfr.reader.bytecode.analysis.parse.statement.GotoStatement
-
- All Implemented Interfaces:
HasByteCodeLoc
,DeepCloneable<Statement>
,Statement
,ComparableUnderEC
,Dumpable
- Direct Known Subclasses:
IfStatement
public class GotoStatement extends JumpingStatement
-
-
Constructor Summary
Constructors Constructor Description GotoStatement(BytecodeLoc loc)
-
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)
boolean
fallsToNext()
BytecodeLoc
getCombinedLoc()
Statement
getJumpTarget()
JumpType
getJumpType()
StructuredStatement
getStructuredStatement()
protected BlockIdentifier
getTargetStartBlock()
boolean
isConditional()
void
replaceSingleUsageLValues(LValueRewriter lValueRewriter, SSAIdentifiers ssaIdentifiers)
void
rewriteExpressions(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers)
void
setJumpType(JumpType jumpType)
-
Methods inherited from class org.benf.cfr.reader.bytecode.analysis.parse.statement.AbstractStatement
addLoc, collectLocallyMutatedVariables, collectLValueAssignments, collectObjectCreation, doesBlackListLValueReplacement, getCompoundParts, getContainer, getCreatedLValue, getLoc, getRValue, getTargetStatement, isCompound, outerDeepClone, setContainer, setLifetimeHint, toString, wantsLifetimeHint
-
-
-
-
Field Detail
-
jumpType
private JumpType jumpType
-
-
Constructor Detail
-
GotoStatement
public GotoStatement(BytecodeLoc loc)
-
-
Method Detail
-
getCombinedLoc
public BytecodeLoc getCombinedLoc()
-
deepClone
public Statement deepClone(CloneHelper cloneHelper)
-
replaceSingleUsageLValues
public void replaceSingleUsageLValues(LValueRewriter lValueRewriter, SSAIdentifiers ssaIdentifiers)
-
rewriteExpressions
public void rewriteExpressions(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers)
-
collectLValueUsage
public void collectLValueUsage(LValueUsageCollector lValueUsageCollector)
-
getJumpType
public JumpType getJumpType()
- Specified by:
getJumpType
in classJumpingStatement
-
setJumpType
public void setJumpType(JumpType jumpType)
- Specified by:
setJumpType
in classJumpingStatement
-
getJumpTarget
public Statement getJumpTarget()
- Specified by:
getJumpTarget
in classJumpingStatement
-
isConditional
public boolean isConditional()
- Specified by:
isConditional
in classJumpingStatement
-
canThrow
public boolean canThrow(ExceptionCheck caught)
- Specified by:
canThrow
in interfaceStatement
- Overrides:
canThrow
in classAbstractStatement
-
getTargetStartBlock
protected BlockIdentifier getTargetStartBlock()
-
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)
-
fallsToNext
public boolean fallsToNext()
- Specified by:
fallsToNext
in interfaceStatement
- Overrides:
fallsToNext
in classAbstractStatement
-
-