public class StructuredCase extends AbstractStructuredBlockStatement
Modifier and Type | Field and Description |
---|---|
private BlockIdentifier |
blockIdentifier |
private boolean |
enumSwitch |
private InferredJavaType |
inferredJavaTypeOfSwitch |
private java.util.List<Expression> |
values |
Constructor and Description |
---|
StructuredCase(BytecodeLoc loc,
java.util.List<Expression> values,
InferredJavaType inferredJavaTypeOfSwitch,
Op04StructuredStatement body,
BlockIdentifier blockIdentifier) |
StructuredCase(BytecodeLoc loc,
java.util.List<Expression> values,
InferredJavaType inferredJavaTypeOfSwitch,
Op04StructuredStatement body,
BlockIdentifier blockIdentifier,
boolean enumSwitch) |
Modifier and Type | Method and Description |
---|---|
void |
collectTypeUsages(TypeUsageCollector collector) |
Dumper |
dump(Dumper dumper) |
BlockIdentifier |
getBlockIdentifier() |
BytecodeLoc |
getCombinedLoc() |
private static StaticVariable |
getEnumStatic(Expression expression) |
java.util.List<Expression> |
getValues() |
boolean |
isDefault() |
boolean |
isProperlyStructured() |
void |
linearizeInto(java.util.List<StructuredStatement> out) |
boolean |
match(MatchIterator<StructuredStatement> matchIterator,
MatchResultCollector matchResultCollector) |
void |
rewriteExpressions(ExpressionRewriter expressionRewriter) |
void |
traceLocalVariableScope(LValueScopeDiscoverer scopeDiscoverer) |
getBody, isRecursivelyStructured, transformStructuredChildren
addLoc, alwaysDefines, canDefine, canFall, claimBlock, fallsNopToNext, findCreatedHere, getBreakableBlockOrNull, getContainer, getInline, getLoc, informBlockHeirachy, inlineable, isEffectivelyNOP, isScopeBlock, markCreator, setContainer, suggestName, supportsBreak, supportsContinueBreak, toString, transformStructuredChildrenInReverse
private java.util.List<Expression> values
private final BlockIdentifier blockIdentifier
private final InferredJavaType inferredJavaTypeOfSwitch
private final boolean enumSwitch
public StructuredCase(BytecodeLoc loc, java.util.List<Expression> values, InferredJavaType inferredJavaTypeOfSwitch, Op04StructuredStatement body, BlockIdentifier blockIdentifier)
public StructuredCase(BytecodeLoc loc, java.util.List<Expression> values, InferredJavaType inferredJavaTypeOfSwitch, Op04StructuredStatement body, BlockIdentifier blockIdentifier, boolean enumSwitch)
public BytecodeLoc getCombinedLoc()
public void collectTypeUsages(TypeUsageCollector collector)
collectTypeUsages
in interface TypeUsageCollectable
collectTypeUsages
in class AbstractStructuredBlockStatement
private static StaticVariable getEnumStatic(Expression expression)
public boolean isProperlyStructured()
isProperlyStructured
in interface StructuredStatement
isProperlyStructured
in class AbstractStructuredStatement
public java.util.List<Expression> getValues()
public BlockIdentifier getBlockIdentifier()
public void linearizeInto(java.util.List<StructuredStatement> out)
public void traceLocalVariableScope(LValueScopeDiscoverer scopeDiscoverer)
public boolean match(MatchIterator<StructuredStatement> matchIterator, MatchResultCollector matchResultCollector)
match
in interface Matcher<StructuredStatement>
match
in class AbstractStructuredStatement
public void rewriteExpressions(ExpressionRewriter expressionRewriter)
public boolean isDefault()