Package com.strobel.expressions
Class BlockExpression
- java.lang.Object
-
- com.strobel.expressions.Expression
-
- com.strobel.expressions.BlockExpression
-
public class BlockExpression extends Expression
-
-
Constructor Summary
Constructors Constructor Description BlockExpression()
-
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.(package private) ExpressiongetExpression(int index)(package private) intgetExpressionCount()ExpressionList<? extends Expression>getExpressions()ExpressionTypegetNodeType()Returns the node type of thisExpression.(package private) ExpressionList<? extends Expression>getOrMakeExpressions()(package private) ParameterExpressionListgetOrMakeVariables()ExpressiongetResult()Type<?>getType()Gets the static type of the expression that thisExpressionrepresents.(package private) ParameterExpressiongetVariable(int index)(package private) intgetVariableCount()ParameterExpressionListgetVariables()(package private) static ExpressionList<? extends Expression>returnReadOnlyExpressions(BlockExpression provider, java.lang.Object expressionOrCollection)(package private) BlockExpressionrewrite(ParameterExpressionList variables, Expression[] args)-
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
-
-
-
-
Method Detail
-
getExpressions
public final ExpressionList<? extends Expression> getExpressions()
-
getVariables
public final ParameterExpressionList getVariables()
-
getResult
public final Expression getResult()
-
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 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 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.
-
getExpression
Expression getExpression(int index)
-
getExpressionCount
int getExpressionCount()
-
getOrMakeExpressions
ExpressionList<? extends Expression> getOrMakeExpressions()
-
getVariable
ParameterExpression getVariable(int index)
-
getVariableCount
int getVariableCount()
-
getOrMakeVariables
ParameterExpressionList getOrMakeVariables()
-
rewrite
BlockExpression rewrite(ParameterExpressionList variables, Expression[] args)
-
returnReadOnlyExpressions
static ExpressionList<? extends Expression> returnReadOnlyExpressions(BlockExpression provider, java.lang.Object expressionOrCollection)
-
-