Package com.strobel.expressions
Class ConditionalExpression
- java.lang.Object
-
- com.strobel.expressions.Expression
-
- com.strobel.expressions.ConditionalExpression
-
- Direct Known Subclasses:
FullConditionalExpression
public class ConditionalExpression extends Expression
-
-
Field Summary
Fields Modifier and Type Field Description private Expression_ifTrueprivate Expression_test
-
Constructor Summary
Constructors Constructor Description ConditionalExpression(Expression test, Expression ifTrue)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Expressionaccept(ExpressionVisitor visitor)Dispatches to the specific visit method for this node type.ExpressiongetIfFalse()ExpressiongetIfTrue()ExpressionTypegetNodeType()Returns the node type of thisExpression.ExpressiongetTest()Type<?>getType()Gets the static type of the expression that thisExpressionrepresents.(package private) static ConditionalExpressionmake(Expression test, Expression ifTrue, Expression ifFalse, Type type)ConditionalExpressionupdate(Expression test, Expression ifTrue, Expression ifFalse)-
Methods inherited from class com.strobel.expressions.Expression
add, add, addAssign, addAssign, addAssign, and, and, andAlso, andAlso, andAlso, andAssign, andAssign, andAssign, arrayIndex, arrayLength, arrayToList, arrayToList, arrayToReadOnlyList, assign, base, block, block, block, block, block, block, block, block, block, block, block, block, block, block, box, call, call, call, call, call, call, call, call, call, call, canReduce, classConstant, coalesce, coalesce, concat, concat, concat, condition, condition, constant, constant, convert, convert, decrement, decrement, defaultValue, divide, divide, divideAssign, divideAssign, divideAssign, empty, ensureUnmodifiable, equal, equal, exclusiveOr, exclusiveOr, exclusiveOrAssign, exclusiveOrAssign, exclusiveOrAssign, field, field, field, field, forEach, forEach, forEach, getDebugView, getInvokeMethod, getInvokeMethod, getMethodValidated, greaterThan, greaterThan, greaterThanOrEqual, greaterThanOrEqual, ifThen, ifThenElse, increment, increment, instanceOf, invoke, invoke, isFalse, isFalse, isNotNull, isNull, isTrue, isTrue, label, label, label, label, label, label, lambda, lambda, lambda, lambda, lambda, lambda, lambda, lambda, lambda, lambda, lambda, lambda, lambda, leftShift, leftShift, leftShiftAssign, leftShiftAssign, leftShiftAssign, lessThan, lessThan, lessThanOrEqual, lessThanOrEqual, loop, loop, loop, makeBinary, makeBinary, makeBinary, makeBinary, makeBinary, makeBreak, makeBreak, makeBreak, makeBreak, makeCatch, makeCatch, makeCatch, makeCatch, makeCatch, makeCatch, makeContinue, makeContinue, makeFor, makeFor, makeFor, makeGoto, makeGoto, makeGoto, makeGoto, makeGoto, makeMemberAccess, makeNew, makeNew, makeNew, makeNew, makeReturn, makeReturn, makeReturn, makeReturn, makeSwitch, makeSwitch, makeSwitch, makeSwitch, makeSwitch, makeSwitch, makeSwitch, makeSwitch, makeSwitch, makeSwitch, makeSwitch, makeSwitch, makeSwitch, makeThrow, makeThrow, makeTry, makeTry, makeTry, makeUnary, makeUnary, methodArgumentsMatch, modulo, modulo, moduloAssign, moduloAssign, moduloAssign, multiply, multiply, multiplyAssign, multiplyAssign, multiplyAssign, negate, negate, newArrayBounds, newArrayInit, newArrayInit, not, not, notEqual, notEqual, onesComplement, onesComplement, or, or, orAssign, orAssign, orAssign, orElse, orElse, orElse, parameter, parameter, parameterIsAssignable, parameters, performBinaryNumericPromotion, postDecrementAssign, postDecrementAssign, postIncrementAssign, postIncrementAssign, preDecrementAssign, preDecrementAssign, preIncrementAssign, preIncrementAssign, reduce, reduceAndCheck, reduceExtensions, referenceEqual, referenceNotEqual, returnObject, rightShift, rightShift, rightShiftAssign, rightShiftAssign, rightShiftAssign, runtimeVariables, runtimeVariables, self, subtract, subtract, subtractAssign, subtractAssign, subtractAssign, switchCase, switchCase, toString, tryCatch, tryCatchFinally, tryFinally, typeEqual, unaryPlus, unaryPlus, unbox, unbox, unsignedRightShift, unsignedRightShift, unsignedRightShiftAssign, unsignedRightShiftAssign, unsignedRightShiftAssign, validateVariables, variable, variable, variables, visitChildren
-
-
-
-
Field Detail
-
_test
private final Expression _test
-
_ifTrue
private final Expression _ifTrue
-
-
Constructor Detail
-
ConditionalExpression
ConditionalExpression(Expression test, Expression ifTrue)
-
-
Method Detail
-
getTest
public final Expression getTest()
-
getIfTrue
public final Expression getIfTrue()
-
getIfFalse
public Expression getIfFalse()
-
getType
public Type<?> getType()
Description copied from class:ExpressionGets the static type of the expression that thisExpressionrepresents.- Overrides:
getTypein classExpression- Returns:
- the
Typethat represents the static type of the expression.
-
getNodeType
public ExpressionType getNodeType()
Description copied from class:ExpressionReturns the node type of thisExpression.- Overrides:
getNodeTypein classExpression- Returns:
- the
ExpressionTypethat represents this expression.
-
accept
protected Expression accept(ExpressionVisitor visitor)
Description copied from class:ExpressionDispatches to the specific visit method for this node type. For example,BinaryExpressionwill call intoExpressionVisitor.visitBinary().- Overrides:
acceptin classExpression- Parameters:
visitor- the visitor to visit this node.- Returns:
- the result of visiting this node.
-
make
static ConditionalExpression make(Expression test, Expression ifTrue, Expression ifFalse, Type type)
-
update
public ConditionalExpression update(Expression test, Expression ifTrue, Expression ifFalse)
-
-