public class TernaryExpression extends AbstractExpression implements BoxingProcessor
| Modifier and Type | Field and Description |
|---|---|
private ConditionalExpression |
condition |
private Expression |
lhs |
private Expression |
rhs |
| Constructor and Description |
|---|
TernaryExpression(BytecodeLoc loc,
ConditionalExpression condition,
Expression lhs,
Expression rhs) |
TernaryExpression(BytecodeLoc loc,
InferredJavaType type,
ConditionalExpression condition,
Expression lhs,
Expression rhs) |
addLoc, canPushDownInto, canThrow, dump, dumpWithOuterPrecedence, getComputedLiteral, getInferredJavaType, getLoc, isSimple, isValidStatement, outerDeepClone, pushDown, toStringprivate ConditionalExpression condition
private Expression lhs
private Expression rhs
public TernaryExpression(BytecodeLoc loc, ConditionalExpression condition, Expression lhs, Expression rhs)
public TernaryExpression(BytecodeLoc loc, InferredJavaType type, ConditionalExpression condition, Expression lhs, Expression rhs)
public BytecodeLoc getCombinedLoc()
getCombinedLoc in interface HasByteCodeLocpublic void collectTypeUsages(TypeUsageCollector collector)
collectTypeUsages in interface TypeUsageCollectablecollectTypeUsages in class AbstractExpressionpublic Expression deepClone(CloneHelper cloneHelper)
deepClone in interface DeepCloneable<Expression>private static InferredJavaType inferredType(InferredJavaType a, InferredJavaType b)
public ConditionalExpression getCondition()
public Expression getLhs()
public Expression getRhs()
public Precedence getPrecedence()
getPrecedence in interface DumpableWithPrecedencegetPrecedence in class AbstractExpressionpublic Dumper dumpInner(Dumper d)
dumpInner in class AbstractExpressionpublic Expression replaceSingleUsageLValues(LValueRewriter lValueRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer)
replaceSingleUsageLValues in interface Expressionpublic Expression applyExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
applyExpressionRewriter in interface Expressionpublic Expression applyReverseExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
applyReverseExpressionRewriter in interface Expressionpublic Expression applyConditionOnlyExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
public void collectUsedLValues(LValueUsageCollector lValueUsageCollector)
collectUsedLValues in interface Expressionpublic boolean rewriteBoxing(PrimitiveBoxingRewriter boxingRewriter)
rewriteBoxing in interface BoxingProcessorpublic void applyNonArgExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
applyNonArgExpressionRewriter in interface BoxingProcessorpublic <T> T visit(ExpressionVisitor<T> visitor)
visit in interface Expressionvisit in class AbstractExpressionpublic boolean equals(java.lang.Object o)
equals in class AbstractExpressionpublic final boolean equivalentUnder(java.lang.Object o,
EquivalenceConstraint constraint)
equivalentUnder in interface ExpressionequivalentUnder in interface ComparableUnderEC