Class UnstructuredFor
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.UnstructuredFor
- All Implemented Interfaces:
HasByteCodeLoc, Matcher<StructuredStatement>, StructuredStatement, Dumpable, TypeUsageCollectable
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate List<AbstractAssignmentExpression> private BlockIdentifierprivate ConditionalExpressionprivate AssignmentSimple -
Constructor Summary
ConstructorsConstructorDescriptionUnstructuredFor(BytecodeLoc loc, ConditionalExpression condition, BlockIdentifier blockIdentifier, AssignmentSimple initial, List<AbstractAssignmentExpression> assignments) -
Method Summary
Modifier and TypeMethodDescriptionclaimBlock(Op04StructuredStatement innerBlock, BlockIdentifier blockIdentifier, Vector<BlockIdentifier> blocksCurrentlyIn) voidcollectTypeUsages(TypeUsageCollector collector) Methods inherited from class AbstractUnStructuredStatement
findCreatedHere, getBreakableBlockOrNull, isEffectivelyNOP, isProperlyStructured, isRecursivelyStructured, linearizeInto, match, rewriteExpressions, suggestName, traceLocalVariableScope, transformStructuredChildren, transformStructuredChildrenInReverseMethods inherited from class AbstractStructuredStatement
addLoc, alwaysDefines, canDefine, canFall, fallsNopToNext, getContainer, getInline, getLoc, informBlockHeirachy, inlineable, isScopeBlock, markCreator, setContainer, supportsBreak, supportsContinueBreak, toString
-
Field Details
-
condition
-
blockIdentifier
-
initial
-
assignments
-
-
Constructor Details
-
UnstructuredFor
public UnstructuredFor(BytecodeLoc loc, ConditionalExpression condition, BlockIdentifier blockIdentifier, AssignmentSimple initial, List<AbstractAssignmentExpression> assignments)
-
-
Method Details
-
getCombinedLoc
-
collectTypeUsages
-
dump
-
claimBlock
public StructuredStatement claimBlock(Op04StructuredStatement innerBlock, BlockIdentifier blockIdentifier, Vector<BlockIdentifier> blocksCurrentlyIn) - Specified by:
claimBlockin interfaceStructuredStatement- Overrides:
claimBlockin classAbstractStructuredStatement
-