public class UnstructuredIf extends AbstractUnStructuredStatement
Modifier and Type | Field and Description |
---|---|
private ConditionalExpression |
conditionalExpression |
private BlockIdentifier |
knownElseBlock |
private BlockIdentifier |
knownIfBlock |
private Op04StructuredStatement |
setIfBlock |
Constructor and Description |
---|
UnstructuredIf(BytecodeLoc loc,
ConditionalExpression conditionalExpression,
BlockIdentifier knownIfBlock,
BlockIdentifier knownElseBlock) |
Modifier and Type | Method and Description |
---|---|
StructuredStatement |
claimBlock(Op04StructuredStatement innerBlock,
BlockIdentifier blockIdentifier,
java.util.Vector<BlockIdentifier> blocksCurrentlyIn) |
void |
collectTypeUsages(TypeUsageCollector collector) |
StructuredStatement |
convertEmptyToGoto() |
Dumper |
dump(Dumper dumper) |
BytecodeLoc |
getCombinedLoc() |
private static Op04StructuredStatement |
unpackElseIfBlock(Op04StructuredStatement elseBlock) |
findCreatedHere, getBreakableBlockOrNull, isEffectivelyNOP, isProperlyStructured, isRecursivelyStructured, linearizeInto, match, rewriteExpressions, suggestName, traceLocalVariableScope, transformStructuredChildren, transformStructuredChildrenInReverse
addLoc, alwaysDefines, canDefine, canFall, fallsNopToNext, getContainer, getInline, getLoc, informBlockHeirachy, inlineable, isScopeBlock, markCreator, setContainer, supportsBreak, supportsContinueBreak, toString
private ConditionalExpression conditionalExpression
private Op04StructuredStatement setIfBlock
private BlockIdentifier knownIfBlock
private BlockIdentifier knownElseBlock
public UnstructuredIf(BytecodeLoc loc, ConditionalExpression conditionalExpression, BlockIdentifier knownIfBlock, BlockIdentifier knownElseBlock)
public BytecodeLoc getCombinedLoc()
public void collectTypeUsages(TypeUsageCollector collector)
public StructuredStatement claimBlock(Op04StructuredStatement innerBlock, BlockIdentifier blockIdentifier, java.util.Vector<BlockIdentifier> blocksCurrentlyIn)
claimBlock
in interface StructuredStatement
claimBlock
in class AbstractStructuredStatement
private static Op04StructuredStatement unpackElseIfBlock(Op04StructuredStatement elseBlock)
public StructuredStatement convertEmptyToGoto()