Class AbstractStructuredConditionalLoopStatement
java.lang.Object
org.benf.cfr.reader.bytecode.analysis.structured.statement.AbstractStructuredStatement
org.benf.cfr.reader.bytecode.analysis.structured.statement.AbstractStructuredBlockStatement
org.benf.cfr.reader.bytecode.analysis.structured.statement.AbstractStructuredConditionalLoopStatement
- All Implemented Interfaces:
HasByteCodeLoc
,Matcher<StructuredStatement>
,StructuredStatement
,Dumpable
,TypeUsageCollectable
- Direct Known Subclasses:
StructuredDo
,StructuredWhile
public abstract class AbstractStructuredConditionalLoopStatement
extends AbstractStructuredBlockStatement
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionAbstractStructuredConditionalLoopStatement
(BytecodeLoc loc, ConditionalExpression condition, BlockIdentifier block, Op04StructuredStatement body) -
Method Summary
Modifier and TypeMethodDescriptionvoid
collectTypeUsages
(TypeUsageCollector collector) getBlock()
boolean
boolean
void
void
rewriteExpressions
(ExpressionRewriter expressionRewriter) boolean
boolean
void
traceLocalVariableScope
(LValueScopeDiscoverer scopeDiscoverer) Methods inherited from class org.benf.cfr.reader.bytecode.analysis.structured.statement.AbstractStructuredBlockStatement
getBody, isRecursivelyStructured, transformStructuredChildren
Methods inherited from class org.benf.cfr.reader.bytecode.analysis.structured.statement.AbstractStructuredStatement
addLoc, alwaysDefines, canDefine, canFall, claimBlock, fallsNopToNext, findCreatedHere, getContainer, getInline, getLoc, informBlockHeirachy, inlineable, isEffectivelyNOP, isProperlyStructured, markCreator, match, setContainer, suggestName, toString, transformStructuredChildrenInReverse
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.benf.cfr.reader.bytecode.analysis.loc.HasByteCodeLoc
getCombinedLoc
-
Field Details
-
condition
-
block
-
-
Constructor Details
-
AbstractStructuredConditionalLoopStatement
AbstractStructuredConditionalLoopStatement(BytecodeLoc loc, ConditionalExpression condition, BlockIdentifier block, Op04StructuredStatement body)
-
-
Method Details
-
getBlock
-
getCondition
-
getBreakableBlockOrNull
- Specified by:
getBreakableBlockOrNull
in interfaceStructuredStatement
- Overrides:
getBreakableBlockOrNull
in classAbstractStructuredStatement
-
supportsBreak
public boolean supportsBreak()- Specified by:
supportsBreak
in interfaceStructuredStatement
- Overrides:
supportsBreak
in classAbstractStructuredStatement
-
collectTypeUsages
- Specified by:
collectTypeUsages
in interfaceTypeUsageCollectable
- Overrides:
collectTypeUsages
in classAbstractStructuredBlockStatement
-
isInfinite
public boolean isInfinite() -
isScopeBlock
public boolean isScopeBlock()- Specified by:
isScopeBlock
in interfaceStructuredStatement
- Overrides:
isScopeBlock
in classAbstractStructuredStatement
-
supportsContinueBreak
public boolean supportsContinueBreak()- Specified by:
supportsContinueBreak
in interfaceStructuredStatement
- Overrides:
supportsContinueBreak
in classAbstractStructuredStatement
-
traceLocalVariableScope
-
linearizeInto
-
rewriteExpressions
-