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 BlockIdentifierprivate final InferredJavaTypeprivate final BlockIdentifierprivate List<Expression> -
Constructor Summary
ConstructorsConstructorDescriptionCaseStatement(BytecodeLoc loc, List<Expression> values, InferredJavaType caseType, BlockIdentifier switchBlock, BlockIdentifier caseBlock) -
Method Summary
Modifier and TypeMethodDescriptionbooleancanThrow(ExceptionCheck caught) voidcollectLValueUsage(LValueUsageCollector lValueUsageCollector) deepClone(CloneHelper cloneHelper) final booleanequivalentUnder(Object o, EquivalenceConstraint constraint) booleanvoidreplaceSingleUsageLValues(LValueRewriter lValueRewriter, SSAIdentifiers ssaIdentifiers) voidrewriteExpressions(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers) Methods inherited from class 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:
canThrowin interfaceStatement- Overrides:
canThrowin classAbstractStatement
-
equivalentUnder
-