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 TypeMethodDescriptionvoidcollectTypeUsages(TypeUsageCollector collector) getBlock()booleanbooleanvoidvoidrewriteExpressions(ExpressionRewriter expressionRewriter) booleanbooleanvoidtraceLocalVariableScope(LValueScopeDiscoverer scopeDiscoverer) Methods inherited from class AbstractStructuredBlockStatement
getBody, isRecursivelyStructured, transformStructuredChildrenMethods inherited from class AbstractStructuredStatement
addLoc, alwaysDefines, canDefine, canFall, claimBlock, fallsNopToNext, findCreatedHere, getContainer, getInline, getLoc, informBlockHeirachy, inlineable, isEffectivelyNOP, isProperlyStructured, markCreator, match, setContainer, suggestName, toString, transformStructuredChildrenInReverseMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface 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:
getBreakableBlockOrNullin interfaceStructuredStatement- Overrides:
getBreakableBlockOrNullin classAbstractStructuredStatement
-
supportsBreak
public boolean supportsBreak()- Specified by:
supportsBreakin interfaceStructuredStatement- Overrides:
supportsBreakin classAbstractStructuredStatement
-
collectTypeUsages
- Specified by:
collectTypeUsagesin interfaceTypeUsageCollectable- Overrides:
collectTypeUsagesin classAbstractStructuredBlockStatement
-
isInfinite
public boolean isInfinite() -
isScopeBlock
public boolean isScopeBlock()- Specified by:
isScopeBlockin interfaceStructuredStatement- Overrides:
isScopeBlockin classAbstractStructuredStatement
-
supportsContinueBreak
public boolean supportsContinueBreak()- Specified by:
supportsContinueBreakin interfaceStructuredStatement- Overrides:
supportsContinueBreakin classAbstractStructuredStatement
-
traceLocalVariableScope
-
linearizeInto
-
rewriteExpressions
-