Class CaseStatement
java.lang.Object
org.benf.cfr.reader.bytecode.analysis.parse.statement.AbstractStatement
org.benf.cfr.reader.bytecode.analysis.parse.statement.CaseStatement
- All Implemented Interfaces:
HasByteCodeLoc
,DeepCloneable<Statement>
,Statement
,ComparableUnderEC
,Dumpable
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final BlockIdentifier
private final InferredJavaType
private final BlockIdentifier
private List<Expression>
-
Constructor Summary
ConstructorsConstructorDescriptionCaseStatement
(BytecodeLoc loc, List<Expression> values, InferredJavaType caseType, BlockIdentifier switchBlock, BlockIdentifier caseBlock) -
Method Summary
Modifier and TypeMethodDescriptionboolean
canThrow
(ExceptionCheck caught) void
collectLValueUsage
(LValueUsageCollector lValueUsageCollector) deepClone
(CloneHelper cloneHelper) final boolean
equivalentUnder
(Object o, EquivalenceConstraint constraint) boolean
void
replaceSingleUsageLValues
(LValueRewriter lValueRewriter, SSAIdentifiers ssaIdentifiers) void
rewriteExpressions
(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers) Methods inherited from class org.benf.cfr.reader.bytecode.analysis.parse.statement.AbstractStatement
addLoc, collectLocallyMutatedVariables, collectLValueAssignments, collectObjectCreation, doesBlackListLValueReplacement, fallsToNext, getCompoundParts, getContainer, getCreatedLValue, getLoc, getRValue, getTargetStatement, isCompound, outerDeepClone, setContainer, setLifetimeHint, toString, wantsLifetimeHint
-
Field Details
-
values
-
switchBlock
-
caseBlock
-
caseType
-
-
Constructor Details
-
CaseStatement
public CaseStatement(BytecodeLoc loc, List<Expression> values, InferredJavaType caseType, BlockIdentifier switchBlock, BlockIdentifier caseBlock)
-
-
Method Details
-
getCombinedLoc
-
dump
-
deepClone
-
replaceSingleUsageLValues
-
rewriteExpressions
public void rewriteExpressions(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers) -
collectLValueUsage
-
getSwitchBlock
-
isDefault
public boolean isDefault() -
getStructuredStatement
-
getCaseBlock
-
getValues
-
canThrow
- Specified by:
canThrow
in interfaceStatement
- Overrides:
canThrow
in classAbstractStatement
-
equivalentUnder
-