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 ConditionalExpressionprivate BlockIdentifierprivate BlockIdentifierprivate Op04StructuredStatement -
Constructor Summary
ConstructorsConstructorDescriptionUnstructuredIf(BytecodeLoc loc, ConditionalExpression conditionalExpression, BlockIdentifier knownIfBlock, BlockIdentifier knownElseBlock) -
Method Summary
Modifier and TypeMethodDescriptionclaimBlock(Op04StructuredStatement innerBlock, BlockIdentifier blockIdentifier, Vector<BlockIdentifier> blocksCurrentlyIn) voidcollectTypeUsages(TypeUsageCollector collector) private static Op04StructuredStatementunpackElseIfBlock(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, transformStructuredChildrenInReverseMethods 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:
claimBlockin interfaceStructuredStatement- Overrides:
claimBlockin classAbstractStructuredStatement
-
unpackElseIfBlock
-
convertEmptyToGoto
-