Class UnstructuredIf
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.UnstructuredIf
- All Implemented Interfaces:
HasByteCodeLoc
,Matcher<StructuredStatement>
,StructuredStatement
,Dumpable
,TypeUsageCollectable
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate ConditionalExpression
private BlockIdentifier
private BlockIdentifier
private Op04StructuredStatement
-
Constructor Summary
ConstructorsConstructorDescriptionUnstructuredIf
(BytecodeLoc loc, ConditionalExpression conditionalExpression, BlockIdentifier knownIfBlock, BlockIdentifier knownElseBlock) -
Method Summary
Modifier and TypeMethodDescriptionclaimBlock
(Op04StructuredStatement innerBlock, BlockIdentifier blockIdentifier, Vector<BlockIdentifier> blocksCurrentlyIn) void
collectTypeUsages
(TypeUsageCollector collector) private static Op04StructuredStatement
unpackElseIfBlock
(Op04StructuredStatement elseBlock) 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, informBlockHeirachy, inlineable, isScopeBlock, markCreator, setContainer, supportsBreak, supportsContinueBreak, toString
-
Field Details
-
conditionalExpression
-
setIfBlock
-
knownIfBlock
-
knownElseBlock
-
-
Constructor Details
-
UnstructuredIf
public UnstructuredIf(BytecodeLoc loc, ConditionalExpression conditionalExpression, BlockIdentifier knownIfBlock, BlockIdentifier knownElseBlock)
-
-
Method Details
-
getCombinedLoc
-
collectTypeUsages
-
dump
-
claimBlock
public StructuredStatement claimBlock(Op04StructuredStatement innerBlock, BlockIdentifier blockIdentifier, Vector<BlockIdentifier> blocksCurrentlyIn) - Specified by:
claimBlock
in interfaceStructuredStatement
- Overrides:
claimBlock
in classAbstractStructuredStatement
-
unpackElseIfBlock
-
convertEmptyToGoto
-