Class UnstructuredSwitch
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.UnstructuredSwitch
- All Implemented Interfaces:
HasByteCodeLoc
,Matcher<StructuredStatement>
,StructuredStatement
,Dumpable
,TypeUsageCollectable
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final BlockIdentifier
private boolean
private Expression
-
Constructor Summary
ConstructorsConstructorDescriptionUnstructuredSwitch
(BytecodeLoc loc, Expression switchOn, BlockIdentifier blockIdentifier, boolean safeExpression) -
Method Summary
Modifier and TypeMethodDescriptionclaimBlock
(Op04StructuredStatement innerBlock, BlockIdentifier blockIdentifier, Vector<BlockIdentifier> blocksCurrentlyIn) void
collectTypeUsages
(TypeUsageCollector collector) 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
-
switchOn
-
blockIdentifier
-
safeExpression
private boolean safeExpression
-
-
Constructor Details
-
UnstructuredSwitch
public UnstructuredSwitch(BytecodeLoc loc, Expression switchOn, BlockIdentifier blockIdentifier, boolean safeExpression)
-
-
Method Details
-
dump
-
getCombinedLoc
-
collectTypeUsages
-
claimBlock
public StructuredStatement claimBlock(Op04StructuredStatement innerBlock, BlockIdentifier blockIdentifier, Vector<BlockIdentifier> blocksCurrentlyIn) - Specified by:
claimBlock
in interfaceStructuredStatement
- Overrides:
claimBlock
in classAbstractStructuredStatement
-