Class UnstructuredWhile
- java.lang.Object
-
- org.benf.cfr.reader.bytecode.analysis.structured.statement.AbstractStructuredStatement
-
- org.benf.cfr.reader.bytecode.analysis.structured.statement.AbstractUnStructuredStatement
-
- org.benf.cfr.reader.bytecode.analysis.structured.statement.UnstructuredWhile
-
- All Implemented Interfaces:
HasByteCodeLoc,Matcher<StructuredStatement>,StructuredStatement,Dumpable,TypeUsageCollectable
public class UnstructuredWhile extends AbstractUnStructuredStatement
-
-
Field Summary
Fields Modifier and Type Field Description private BlockIdentifierblockIdentifierprivate java.util.Set<BlockIdentifier>blocksEndedAfterprivate ConditionalExpressioncondition
-
Constructor Summary
Constructors Constructor Description UnstructuredWhile(BytecodeLoc loc, ConditionalExpression condition, BlockIdentifier blockIdentifier, java.util.Set<BlockIdentifier> blocksEndedAfter)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StructuredStatementclaimBlock(Op04StructuredStatement innerBlock, BlockIdentifier blockIdentifier, java.util.Vector<BlockIdentifier> blocksCurrentlyIn)voidcollectTypeUsages(TypeUsageCollector collector)Dumperdump(Dumper dumper)BytecodeLocgetCombinedLoc()ConditionalExpressiongetCondition()StructuredStatementinformBlockHeirachy(java.util.Vector<BlockIdentifier> blockIdentifiers)-
Methods inherited from class org.benf.cfr.reader.bytecode.analysis.structured.statement.AbstractUnStructuredStatement
findCreatedHere, getBreakableBlockOrNull, isEffectivelyNOP, isProperlyStructured, isRecursivelyStructured, linearizeInto, match, rewriteExpressions, suggestName, traceLocalVariableScope, transformStructuredChildren, transformStructuredChildrenInReverse
-
Methods inherited from class org.benf.cfr.reader.bytecode.analysis.structured.statement.AbstractStructuredStatement
addLoc, alwaysDefines, canDefine, canFall, fallsNopToNext, getContainer, getInline, getLoc, inlineable, isScopeBlock, markCreator, setContainer, supportsBreak, supportsContinueBreak, toString
-
-
-
-
Field Detail
-
condition
private ConditionalExpression condition
-
blockIdentifier
private BlockIdentifier blockIdentifier
-
blocksEndedAfter
private java.util.Set<BlockIdentifier> blocksEndedAfter
-
-
Constructor Detail
-
UnstructuredWhile
public UnstructuredWhile(BytecodeLoc loc, ConditionalExpression condition, BlockIdentifier blockIdentifier, java.util.Set<BlockIdentifier> blocksEndedAfter)
-
-
Method Detail
-
getCombinedLoc
public BytecodeLoc getCombinedLoc()
-
collectTypeUsages
public void collectTypeUsages(TypeUsageCollector collector)
-
informBlockHeirachy
public StructuredStatement informBlockHeirachy(java.util.Vector<BlockIdentifier> blockIdentifiers)
- Specified by:
informBlockHeirachyin interfaceStructuredStatement- Overrides:
informBlockHeirachyin classAbstractStructuredStatement
-
claimBlock
public StructuredStatement claimBlock(Op04StructuredStatement innerBlock, BlockIdentifier blockIdentifier, java.util.Vector<BlockIdentifier> blocksCurrentlyIn)
- Specified by:
claimBlockin interfaceStructuredStatement- Overrides:
claimBlockin classAbstractStructuredStatement
-
getCondition
public ConditionalExpression getCondition()
-
-