Package com.strobel.expressions
Class GotoExpression
- java.lang.Object
-
- com.strobel.expressions.Expression
-
- com.strobel.expressions.GotoExpression
-
public final class GotoExpression extends Expression
-
-
Field Summary
Fields Modifier and Type Field Description private GotoExpressionKind_kindprivate LabelTarget_targetprivate Type_typeprivate Expression_value
-
Constructor Summary
Constructors Constructor Description GotoExpression(GotoExpressionKind kind, LabelTarget target, Expression value, Type type)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Expressionaccept(ExpressionVisitor visitor)Dispatches to the specific visit method for this node type.GotoExpressionKindgetKind()ExpressionTypegetNodeType()Returns the node type of thisExpression.LabelTargetgetTarget()Type<?>getType()Gets the static type of the expression that thisExpressionrepresents.ExpressiongetValue()GotoExpressionupdate(LabelTarget target, Expression value)-
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
-
_kind
private final GotoExpressionKind _kind
-
_value
private final Expression _value
-
_target
private final LabelTarget _target
-
_type
private final Type _type
-
-
Constructor Detail
-
GotoExpression
GotoExpression(GotoExpressionKind kind, LabelTarget target, Expression value, Type type)
-
-
Method Detail
-
getKind
public final GotoExpressionKind getKind()
-
getValue
public final Expression getValue()
-
getTarget
public final LabelTarget getTarget()
-
getNodeType
public final ExpressionType getNodeType()
Description copied from class:ExpressionReturns the node type of thisExpression.- Overrides:
getNodeTypein classExpression- Returns:
- the
ExpressionTypethat represents this expression.
-
getType
public final 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.
-
accept
protected final 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.
-
update
public final GotoExpression update(LabelTarget target, Expression value)
-
-