Class SwitchExpression
- java.lang.Object
-
- org.benf.cfr.reader.bytecode.analysis.parse.expression.AbstractExpression
-
- org.benf.cfr.reader.bytecode.analysis.parse.expression.SwitchExpression
-
- All Implemented Interfaces:
HasByteCodeLoc
,Expression
,DeepCloneable<Expression>
,ComparableUnderEC
,Dumpable
,DumpableWithPrecedence
,TypeUsageCollectable
public class SwitchExpression extends AbstractExpression
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
SwitchExpression.Branch
-
Field Summary
Fields Modifier and Type Field Description private java.util.List<SwitchExpression.Branch>
cases
private Expression
value
-
Constructor Summary
Constructors Constructor Description SwitchExpression(BytecodeLoc loc, InferredJavaType inferredJavaType, Expression value, java.util.List<SwitchExpression.Branch> cases)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Expression
applyExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
Expression
applyReverseExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
void
collectUsedLValues(LValueUsageCollector lValueUsageCollector)
Expression
deepClone(CloneHelper cloneHelper)
Dumper
dumpInner(Dumper d)
boolean
equals(java.lang.Object o)
boolean
equivalentUnder(java.lang.Object o, EquivalenceConstraint constraint)
BytecodeLoc
getCombinedLoc()
Precedence
getPrecedence()
Expression
replaceSingleUsageLValues(LValueRewriter lValueRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer)
-
Methods inherited from class org.benf.cfr.reader.bytecode.analysis.parse.expression.AbstractExpression
addLoc, canPushDownInto, canThrow, collectTypeUsages, dump, dumpWithOuterPrecedence, getComputedLiteral, getInferredJavaType, getLoc, isSimple, isValidStatement, outerDeepClone, pushDown, toString, visit
-
-
-
-
Field Detail
-
value
private Expression value
-
cases
private java.util.List<SwitchExpression.Branch> cases
-
-
Constructor Detail
-
SwitchExpression
public SwitchExpression(BytecodeLoc loc, InferredJavaType inferredJavaType, Expression value, java.util.List<SwitchExpression.Branch> cases)
-
-
Method Detail
-
getCombinedLoc
public BytecodeLoc getCombinedLoc()
-
equals
public boolean equals(java.lang.Object o)
- Specified by:
equals
in classAbstractExpression
-
getPrecedence
public Precedence getPrecedence()
- Specified by:
getPrecedence
in interfaceDumpableWithPrecedence
- Specified by:
getPrecedence
in classAbstractExpression
-
dumpInner
public Dumper dumpInner(Dumper d)
- Specified by:
dumpInner
in classAbstractExpression
-
replaceSingleUsageLValues
public Expression replaceSingleUsageLValues(LValueRewriter lValueRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer)
-
applyExpressionRewriter
public Expression applyExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
-
applyReverseExpressionRewriter
public Expression applyReverseExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
-
collectUsedLValues
public void collectUsedLValues(LValueUsageCollector lValueUsageCollector)
-
equivalentUnder
public boolean equivalentUnder(java.lang.Object o, EquivalenceConstraint constraint)
-
deepClone
public Expression deepClone(CloneHelper cloneHelper)
-
-