Class Expressions
-
Nested Class Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic BinaryExpression
add
(Expression left, Expression right) Creates a BinaryExpression that represents an arithmetic addition operation that does not have overflow checking.static BinaryExpression
add
(Expression left, Expression right, Method method) Creates a BinaryExpression that represents an arithmetic addition operation that does not have overflow checking.static BinaryExpression
addAssign
(Expression left, Expression right) Creates a BinaryExpression that represents an addition assignment operation that does not have overflow checking.static BinaryExpression
addAssign
(Expression left, Expression right, Method method) Creates a BinaryExpression that represents an addition assignment operation that does not have overflow checking.static BinaryExpression
addAssign
(Expression left, Expression right, Method method, LambdaExpression lambdaLeft, LambdaExpression lambdaRight) Creates a BinaryExpression that represents an addition assignment operation that does not have overflow checking.static BinaryExpression
addAssignChecked
(Expression left, Expression right) Creates a BinaryExpression that represents an addition assignment operation that has overflow checking.static BinaryExpression
addAssignChecked
(Expression left, Expression right, Method method) Creates a BinaryExpression that represents an addition assignment operation that has overflow checking.static BinaryExpression
addAssignChecked
(Expression left, Expression right, Method method, LambdaExpression lambdaExpression) Creates a BinaryExpression that represents an addition assignment operation that has overflow checking.static BinaryExpression
addChecked
(Expression left, Expression right) Creates a BinaryExpression that represents an arithmetic addition operation that has overflow checking.static BinaryExpression
addChecked
(Expression left, Expression right, Method method) Creates a BinaryExpression that represents an arithmetic addition operation that has overflow checking.static BinaryExpression
and
(Expression left, Expression right) Creates a BinaryExpression that represents a bitwise AND operation.static BinaryExpression
and
(Expression left, Expression right, Method method) Creates a BinaryExpression that represents a bitwise AND operation.static BinaryExpression
andAlso
(Expression left, Expression right) Creates a BinaryExpression that represents a conditional AND operation that evaluates the second operand only if the first operand evaluates to true.static BinaryExpression
andAlso
(Expression left, Expression right, Method method) Creates a BinaryExpression that represents a conditional AND operation that evaluates the second operand only if the first operand is resolved to true.static BinaryExpression
andAssign
(Expression left, Expression right) Creates a BinaryExpression that represents a bitwise AND assignment operation.static BinaryExpression
andAssign
(Expression left, Expression right, Method method) Creates a BinaryExpression that represents a bitwise AND assignment operation.static BinaryExpression
andAssign
(Expression left, Expression right, Method method, LambdaExpression lambdaExpression) Creates a BinaryExpression that represents a bitwise AND assignment operation.static IndexExpression
arrayIndex
(Expression array, Expression indexExpression) Creates an expression that represents applying an array index operator to an array of rank one.static UnaryExpression
arrayLength
(Expression array) Creates a UnaryExpression that represents an expression for obtaining the length of a one-dimensional array.static BinaryExpression
assign
(Expression left, Expression right) Creates a BinaryExpression that represents an assignment operation.static MemberAssignment
bind
(Member member, Expression right) Creates a MemberAssignment that represents the initialization of a field or property.static MemberAssignment
bind
(Method method, Expression expression) Creates a MemberAssignment that represents the initialization of a member by using a property accessor method.static BlockStatement
Creates a BlockExpression that contains the given statements.static BlockStatement
Creates a BlockExpression that contains the given expressions, has no variables and has specific result type.static BlockStatement
Creates a BlockExpression that contains the given statements and has a specific result type, using varargs.static BlockStatement
Creates a BlockExpression that contains the given statements, using varargs.static Expression
box
(Expression expression) Converts e.g.static Expression
box
(Expression expression, Primitive primitive) Returns an expression to box the value of a primitive expression.static GotoStatement
break_
(@Nullable LabelTarget labelTarget) Creates a GotoExpression representing a break statement.static GotoStatement
break_
(@Nullable LabelTarget labelTarget, Expression expression) Creates a GotoExpression representing a break statement.static GotoStatement
break_
(LabelTarget labelTarget, Type type) Creates a GotoExpression representing a break statement with the specified type.static GotoStatement
break_
(LabelTarget labelTarget, Expression expression, Type type) Creates a GotoExpression representing a break statement with the specified type.static MethodCallExpression
call
(Method method, Iterable<? extends Expression> arguments) Creates a MethodCallExpression that represents a call to a static method that has arguments.static MethodCallExpression
call
(Method method, Expression... arguments) Creates a MethodCallExpression that represents a call to a static method that has arguments, using varargs.static MethodCallExpression
call
(Type type, String methodName, Iterable<? extends Expression> arguments) Creates a MethodCallExpression that represents a call to a static method by calling the appropriate factory method.static MethodCallExpression
call
(Type type, String methodName, Expression... arguments) Creates a MethodCallExpression that represents a call to a static method by calling the appropriate factory method, using varargs.static MethodCallExpression
call
(Type returnType, @Nullable Expression expression, Method method, Iterable<? extends Expression> arguments) Creates a MethodCallExpression that represents a call to a method that takes arguments, with an explicit return type.static MethodCallExpression
call
(Type returnType, @Nullable Expression expression, Method method, Expression... arguments) Creates a MethodCallExpression that represents a call to a method that takes arguments, with an explicit return type, with varargs.static MethodCallExpression
call
(@Nullable Expression expression, Method method, Iterable<? extends Expression> arguments) Creates a MethodCallExpression that represents a call to a method that takes arguments.static MethodCallExpression
call
(@Nullable Expression expression, Method method, Expression... arguments) Creates a MethodCallExpression that represents a call to a method that takes arguments, using varargs.static MethodCallExpression
call
(Expression target, String methodName, Iterable<? extends Expression> arguments) Creates a MethodCallExpression that represents a call to an instance method by calling the appropriate factory method.static MethodCallExpression
call
(Expression target, String methodName, Expression... arguments) Creates a MethodCallExpression that represents a call to an instance method by calling the appropriate factory method, using varargs.static CatchBlock
catch_
(ParameterExpression parameter, Statement statement) Creates a CatchBlock representing a catch statement with a reference to the caught Exception object for use in the handler body.static ClassDeclaration
classDecl
(int modifier, String name, @Nullable Type extended, List<Type> implemented, List<MemberDeclaration> memberDeclarations) Declares a class.static void
Creates a DebugInfoExpression for clearing a sequence point.static BinaryExpression
coalesce
(Expression left, Expression right) Creates a BinaryExpression that represents a coalescing operation.static BinaryExpression
coalesce
(Expression left, Expression right, LambdaExpression lambdaExpression) Creates a BinaryExpression that represents a coalescing operation, given a conversion function.static Expression
condition
(Expression test, Expression ifTrue, Expression ifFalse) Creates a ConditionalExpression that represents a conditional statement.static ConditionalExpression
condition
(Expression test, Expression ifTrue, Expression ifFalse, Type type) Creates a ConditionalExpression that represents a conditional statement.static ConstantExpression
Creates a ConstantExpression that has the Value property set to the specified value.static ConstantExpression
Creates a ConstantExpression that has the Value and Type properties set to the specified values.static ConstantExpression
constant
(@Nullable Object value, Type type, RoundingMode roundingMode) Creates a ConstantExpression that has the Value 、Type 、RoundingMode properties set to the specified values.static ConstructorDeclaration
constructorDecl
(int modifier, Type declaredAgainst, Iterable<? extends ParameterExpression> parameters, BlockStatement body) Declares a constructor.static GotoStatement
continue_
(LabelTarget labelTarget) Creates a GotoExpression representing a continue statement.static GotoStatement
continue_
(LabelTarget labelTarget, Type type) Creates a GotoExpression representing a continue statement with the specified type.static UnaryExpression
convert_
(Expression expression, Type type) Creates a UnaryExpression that represents a type conversion operation.static UnaryExpression
convert_
(Expression expression, Type type, Method method) Creates a UnaryExpression that represents a conversion operation for which the implementing method is specified.static Expression
convertChecked
(Expression expression, Type type) Creates a UnaryExpression that represents a conversion operation that throws an exception if the target type is overflowed.static UnaryExpression
convertChecked_
(Expression expression, Type type, Method method) Creates a UnaryExpression that represents a conversion operation that throws an exception if the target type is overflowed and for which the implementing method is specified.static void
Creates a DebugInfoExpression with the specified span.static DeclarationStatement
declare
(int modifiers, String name, Expression initializer) Creates an expression that declares and initializes a variable.static DeclarationStatement
declare
(int modifiers, ParameterExpression parameter, @Nullable Expression initializer) Creates a statement that declares a variable.static UnaryExpression
decrement
(Expression expression) Creates a UnaryExpression that represents the decrementing of the expression by 1.static UnaryExpression
decrement
(Expression expression, Method method) Creates a UnaryExpression that represents the decrementing of the expression by 1.static DefaultExpression
default_()
Creates a DefaultExpression that has the Type property set to the specified type.static BinaryExpression
divide
(Expression left, Expression right) Creates a BinaryExpression that represents an arithmetic division operation.static BinaryExpression
divide
(Expression left, Expression right, Method method) Creates a BinaryExpression that represents an arithmetic division operation.static BinaryExpression
divideAssign
(Expression left, Expression right) Creates a BinaryExpression that represents a division assignment operation that does not have overflow checking.static BinaryExpression
divideAssign
(Expression left, Expression right, Method method) Creates a BinaryExpression that represents a division assignment operation that does not have overflow checking.static BinaryExpression
divideAssign
(Expression left, Expression right, Method method, LambdaExpression lambdaExpression) Creates a BinaryExpression that represents a division assignment operation that does not have overflow checking.static DynamicExpression
dynamic
(CallSiteBinder binder, Type type, Iterable<? extends Expression> expressions) Creates a DynamicExpression that represents a dynamic operation bound by the provided CallSiteBinder.static DynamicExpression
dynamic
(CallSiteBinder binder, Type type, Expression... expression) Creates aDynamicExpression
that represents a dynamic operation bound by the providedCallSiteBinder
, using varargs.static ElementInit
elementInit
(Method method, Iterable<? extends Expression> expressions) Creates anElementInit
, given anIterable<T>
as the second argument.static ElementInit
elementInit
(Method method, Expression... expressions) Creates an ElementInit, given an array of values as the second argument, using varargs.static DefaultExpression
empty()
Creates an empty expression that has Void type.static BinaryExpression
equal
(Expression left, Expression right) Creates a BinaryExpression that represents an equality comparison.static BinaryExpression
equal
(Expression expression0, Expression expression1, boolean liftToNull, Method method) Creates a BinaryExpression that represents an equality comparison.static @Nullable Object
Evaluates an expression and returns the result.static BinaryExpression
exclusiveOr
(Expression left, Expression right) Creates a BinaryExpression that represents a bitwise XOR operation, using op_ExclusiveOr for user-defined types.static BinaryExpression
exclusiveOr
(Expression left, Expression right, Method method) Creates a BinaryExpression that represents a bitwise XOR operation, using op_ExclusiveOr for user-defined types.static BinaryExpression
exclusiveOrAssign
(Expression left, Expression right) Creates a BinaryExpression that represents a bitwise XOR assignment operation, using op_ExclusiveOr for user-defined types.static BinaryExpression
exclusiveOrAssign
(Expression left, Expression right, Method method) Creates a BinaryExpression that represents a bitwise XOR assignment operation, using op_ExclusiveOr for user-defined types.static BinaryExpression
exclusiveOrAssign
(Expression left, Expression right, Method method, LambdaExpression lambdaExpression) Creates a BinaryExpression that represents a bitwise XOR assignment operation, using op_ExclusiveOr for user-defined types.static MemberExpression
field
(@Nullable Expression expression, Field field) Creates a MemberExpression that represents accessing a field.static MemberExpression
field
(@Nullable Expression expression, Type type, String fieldName) Creates a MemberExpression that represents accessing a field.static MemberExpression
field
(@Nullable Expression expression, PseudoField field) Creates a MemberExpression that represents accessing a field.static MemberExpression
field
(Expression expression, String fieldName) Creates a MemberExpression that represents accessing a field given the name of the field.static FieldDeclaration
fieldDecl
(int modifier, ParameterExpression parameter) Declares a field.static FieldDeclaration
fieldDecl
(int modifier, ParameterExpression parameter, @Nullable Expression initializer) Declares a field with an initializer.static Expression
foldAnd
(List<Expression> conditions) Combines a list of expressions using AND.static Expression
foldOr
(List<Expression> conditions) Combines a list of expressions using OR.static ForStatement
for_
(Iterable<? extends DeclarationStatement> declarations, @Nullable Expression condition, @Nullable Expression post, Statement body) Creates a LoopExpression with the given body.static ForStatement
for_
(DeclarationStatement declaration, @Nullable Expression condition, @Nullable Expression post, Statement body) Creates a LoopExpression with the given body.static ForEachStatement
forEach
(ParameterExpression parameter, Expression iterable, Statement body) Creates a ForEachExpression with the given body.static Expression
fromStatement
(Statement statement) Create an expression from a statement.static Class
getActionType
(Class... typeArgs) Creates a Type object that represents a generic System.Action delegate type that has specific type arguments.static Class
getDelegateType
(Class... typeArgs) Gets a Type object that represents a generic System.Func or System.Action delegate type that has specific type arguments.static Class
getFuncType
(Class... typeArgs) Creates a Type object that represents a generic System.Func delegate type that has specific type arguments.static GotoStatement
goto_
(LabelTarget labelTarget) Creates a GotoExpression representing a "go to" statement.static GotoStatement
goto_
(LabelTarget labelTarget, Type type) Creates a GotoExpression representing a "go to" statement with the specified type.static GotoStatement
goto_
(LabelTarget labelTarget, Expression expression) Creates a GotoExpression representing a "go to" statement.static GotoStatement
goto_
(LabelTarget labelTarget, Expression expression, Type type) Creates a GotoExpression representing a "go to" statement with the specified type.static BinaryExpression
greaterThan
(Expression left, Expression right) Creates a BinaryExpression that represents a "greater than" numeric comparison.static BinaryExpression
greaterThan
(Expression left, Expression right, boolean liftToNull, Method method) Creates a BinaryExpression that represents a "greater than" numeric comparison.static BinaryExpression
greaterThanOrEqual
(Expression left, Expression right) Creates a BinaryExpression that represents a "greater than or equal" numeric comparison.static BinaryExpression
greaterThanOrEqual
(Expression left, Expression right, boolean liftToNull, Method method) Creates a BinaryExpression that represents a "greater than or equal" numeric comparison.static ConditionalStatement
ifThen
(Expression test, Node ifTrue) Creates a ConditionalExpression that represents a conditional block with an if statement.static ConditionalStatement
ifThenElse
(Iterable<? extends Node> nodes) Creates a ConditionalExpression that represents a conditional block with if and else statements:if (test) stmt1 [ else if (test2) stmt2 ]...
static ConditionalStatement
ifThenElse
(Expression test, Node... nodes) Creates a ConditionalExpression that represents a conditional block with if and else statements:if (test) stmt1 [ else if (test2) stmt2 ]...
static ConditionalStatement
ifThenElse
(Expression test, Node ifTrue, Node ifFalse) Creates a ConditionalExpression that represents a conditional block with if and else statements.static UnaryExpression
increment
(Expression expression) Creates a UnaryExpression that represents the incrementing of the expression value by 1.static UnaryExpression
increment
(Expression expression, Method method) Creates a UnaryExpression that represents the incrementing of the expression by 1.static InvocationExpression
invoke
(Expression expression, Iterable<? extends Expression> arguments) Creates an InvocationExpression that applies a delegate or lambda expression to a list of argument expressions.static InvocationExpression
invoke
(Expression expression, Expression... arguments) Creates an InvocationExpression that applies a delegate or lambda expression to a list of argument expressions, using varargs.static boolean
Returns whether an expression always evaluates to null.static UnaryExpression
isFalse
(Expression expression) Returns whether the expression evaluates to false.static UnaryExpression
isFalse
(Expression expression, Method method) Returns whether the expression evaluates to false.static UnaryExpression
isTrue
(Expression expression) Returns whether the expression evaluates to true.static UnaryExpression
isTrue
(Expression expression, Method method) Returns whether the expression evaluates to true.static LabelTarget
label()
Creates a LabelTarget representing a label with X type and no name.static LabelTarget
Creates a LabelTarget representing a label with the given type.static LabelTarget
Creates a LabelTarget representing a label with the given type and name.static LabelTarget
Creates a LabelTarget representing a label with X type and the given name.static LabelStatement
label
(LabelTarget labelTarget) Creates a LabelExpression representing a label without a default value.static LabelStatement
label
(LabelTarget labelTarget, Expression expression) Creates a LabelExpression representing a label with the given default value.static <F extends Function<?>>
FunctionExpression<F>lambda
(F function) Creates a FunctionExpression from an actual function.static <T,
F extends Function<? extends T>>
FunctionExpression<F>lambda
(Class<F> type, BlockStatement body, Iterable<? extends ParameterExpression> parameters) Creates a LambdaExpression by first constructing a delegate type.static <T,
F extends Function<? extends T>>
FunctionExpression<F>lambda
(Class<F> type, BlockStatement body, ParameterExpression... parameters) Creates a LambdaExpression by first constructing a delegate type, using varargs.static <T,
F extends Function<? extends T>>
FunctionExpression<F>lambda
(Class<F> type, Expression body, Iterable<? extends ParameterExpression> parameters) Creates a LambdaExpression by first constructing a delegate type.static <T,
F extends Function<? extends T>>
FunctionExpression<F>lambda
(Class<F> type, Expression body, ParameterExpression... parameters) Creates a LambdaExpression by first constructing a delegate type, using varargs.static <F extends Function<?>>
FunctionExpression<F>lambda
(BlockStatement body, Iterable<? extends ParameterExpression> parameters) Creates a LambdaExpression by first constructing a delegate type.static <F extends Function<?>>
FunctionExpression<F>lambda
(BlockStatement body, ParameterExpression... parameters) Creates a LambdaExpression by first constructing a delegate type, using varargs.static <F extends Function<?>>
FunctionExpression<F>lambda
(Expression body, Iterable<? extends ParameterExpression> parameters) Creates an Expression where the delegate typeF
is known at compile time.static <F extends Function<?>>
FunctionExpression<F>lambda
(Expression body, ParameterExpression... parameters) Creates an Expression where the delegate typeF
is known at compile time, using varargs.static BinaryExpression
leftShift
(Expression left, Expression right) Creates a BinaryExpression that represents a bitwise left-shift operation.static BinaryExpression
leftShift
(Expression left, Expression right, Method method) Creates a BinaryExpression that represents a bitwise left-shift operation.static BinaryExpression
leftShiftAssign
(Expression left, Expression right) Creates a BinaryExpression that represents a bitwise left-shift assignment operation.static BinaryExpression
leftShiftAssign
(Expression left, Expression right, Method method) Creates a BinaryExpression that represents a bitwise left-shift assignment operation.static BinaryExpression
leftShiftAssign
(Expression left, Expression right, Method method, LambdaExpression lambdaExpression) Creates a BinaryExpression that represents a bitwise left-shift assignment operation.static BinaryExpression
lessThan
(Expression left, Expression right) Creates a BinaryExpression that represents a "less than" numeric comparison.static BinaryExpression
lessThan
(Expression left, Expression right, boolean liftToNull, Method method) Creates a BinaryExpression that represents a "less than" numeric comparison.static BinaryExpression
lessThanOrEqual
(Expression left, Expression right) Creates a BinaryExpression that represents a " less than or equal" numeric comparison.static BinaryExpression
lessThanOrEqual
(Expression left, Expression right, boolean liftToNull, Method method) Creates a BinaryExpression that represents a "less than or equal" numeric comparison.static <T> Expressions.FluentList<T>
list()
Creates an empty fluent list.static <T> Expressions.FluentList<T>
Creates a fluent list with elements from the given collection.static <T> Expressions.FluentList<T>
list
(T... ts) Creates a fluent list with given elements.static MemberListBinding
listBind
(Member member, Iterable<? extends ElementInit> elementInits) Creates a MemberListBinding where the member is a field or property.static MemberListBinding
listBind
(Member member, ElementInit... elementInits) Creates a MemberListBinding where the member is a field or property, using varargs.static MemberListBinding
listBind
(Method method, Iterable<? extends ElementInit> elementInits) Creates a MemberListBinding based on a specified property accessor method.static MemberListBinding
listBind
(Method method, ElementInit... elementInits) Creates a MemberListBinding object based on a specified property accessor method, using varargs.static ListInitExpression
listInit
(NewExpression newExpression, Iterable<? extends ElementInit> elementInits) Creates a ListInitExpression that uses specified ElementInit objects to initialize a collection.static ListInitExpression
listInit
(NewExpression newExpression, Method method, Iterable<? extends Expression> arguments) Creates a ListInitExpression that uses a specified method to add elements to a collection.static ListInitExpression
listInit
(NewExpression newExpression, Method method, Expression... arguments) Creates a ListInitExpression that uses a specified method to add elements to a collection, using varargs.static ListInitExpression
listInit
(NewExpression newExpression, ElementInit... elementInits) Creates a ListInitExpression that uses specified ElementInit objects to initialize a collection, using varargs.static ListInitExpression
listInit
(NewExpression newExpression, Expression... arguments) Creates a ListInitExpression that uses a method named "Add" to add elements to a collection, using varargs.static ListInitExpression
listInitE
(NewExpression newExpression, Iterable<? extends Expression> arguments) Creates a ListInitExpression that uses a method named "Add" to add elements to a collection.static BinaryExpression
makeBinary
(ExpressionType binaryType, Expression left, Expression right) Creates a BinaryExpression, given the left and right operands, by calling an appropriate factory method.static BinaryExpression
makeBinary
(ExpressionType binaryType, Expression left, Expression right, boolean liftToNull, Method method) Creates a BinaryExpression, given the left operand, right operand and implementing method, by calling the appropriate factory method.static BinaryExpression
makeBinary
(ExpressionType binaryType, Expression left, Expression right, boolean liftToNull, Method method, LambdaExpression lambdaExpression) Creates a BinaryExpression, given the left operand, right operand, implementing method and type conversion function, by calling the appropriate factory method.static CatchBlock
makeCatchBlock
(Type type, ParameterExpression variable, Expression body, Expression filter) Creates a CatchBlock representing a catch statement with the specified elements.static DynamicExpression
makeDynamic
(Type type, CallSiteBinder binder, Iterable<? extends Expression> arguments) Creates a DynamicExpression that represents a dynamic operation bound by the provided CallSiteBinder.static DynamicExpression
makeDynamic
(Type type, CallSiteBinder binder, Expression... arguments) Creates a DynamicExpression that represents a dynamic operation bound by the provided CallSiteBinder, using varargs.static GotoStatement
makeGoto
(GotoExpressionKind kind, @Nullable LabelTarget labelTarget, @Nullable Expression expression) static GotoStatement
makeGoto
(GotoExpressionKind kind, LabelTarget target, Expression value, Type type) Creates a GotoExpression representing a jump of the specified GotoExpressionKind.static MemberExpression
makeMemberAccess
(@Nullable Expression expression, PseudoField member) Creates a MemberExpression that represents accessing a field.static TernaryExpression
makeTernary
(ExpressionType ternaryType, Expression e0, Expression e1, Expression e2) Creates a TernaryExpression, given the left and right operands, by calling an appropriate factory method.static TryStatement
makeTry
(Type type, Expression body, Expression finally_, Expression fault, Iterable<? extends CatchBlock> handlers) Creates a TryExpression representing a try block with the specified elements.static TryStatement
makeTry
(Type type, Expression body, Expression finally_, Expression fault, CatchBlock... handlers) Creates a TryExpression representing a try block with the specified elements, using varargs.static UnaryExpression
makeUnary
(ExpressionType expressionType, Expression expression) Creates a UnaryExpression, given an operand, by calling the appropriate factory method.static UnaryExpression
makeUnary
(ExpressionType expressionType, Expression expression, Type type, @Nullable Method method) Creates a UnaryExpression, given an operand and implementing method, by calling the appropriate factory method.static MemberMemberBinding
memberBind
(Member member, Iterable<? extends MemberBinding> bindings) Creates a MemberMemberBinding that represents the recursive initialization of members of a field or property.static MemberMemberBinding
memberBind
(Member member, MemberBinding... bindings) Creates a MemberMemberBinding that represents the recursive initialization of members of a field or property, using varargs.static MemberMemberBinding
memberBind
(Method method, Iterable<? extends MemberBinding> bindings) Creates a MemberMemberBinding that represents the recursive initialization of members of a member that is accessed by using a property accessor method.static MemberMemberBinding
memberBind
(Method method, MemberBinding... bindings) Creates a MemberMemberBinding that represents the recursive initialization of members of a member that is accessed by using a property accessor method, using varargs.static MemberInitExpression
memberInit
(NewExpression newExpression, Iterable<? extends MemberBinding> bindings) Represents an expression that creates a new object and initializes a property of the object.static MemberInitExpression
memberInit
(NewExpression newExpression, MemberBinding... bindings) Represents an expression that creates a new object and initializes a property of the object, using varargs.static MethodDeclaration
methodDecl
(int modifier, Type resultType, String name, Iterable<? extends ParameterExpression> parameters, BlockStatement body) Declares a method.static BinaryExpression
modulo
(Expression left, Expression right) Creates a BinaryExpression that represents an arithmetic remainder operation.static BinaryExpression
modulo
(Expression left, Expression right, Method method) Creates a BinaryExpression that represents an arithmetic remainder operation.static BinaryExpression
moduloAssign
(Expression left, Expression right) Creates a BinaryExpression that represents a remainder assignment operation.static BinaryExpression
moduloAssign
(Expression left, Expression right, Method method) Creates a BinaryExpression that represents a remainder assignment operation.static BinaryExpression
moduloAssign
(Expression left, Expression right, Method method, LambdaExpression lambdaExpression) Creates a BinaryExpression that represents a remainder assignment operation.static BinaryExpression
multiply
(Expression left, Expression right) Creates a BinaryExpression that represents an arithmetic multiplication operation that does not have overflow checking.static BinaryExpression
multiply
(Expression left, Expression right, Method method) Creates a BinaryExpression that represents an arithmetic multiplication operation that does not have overflow checking.static BinaryExpression
multiplyAssign
(Expression left, Expression right) Creates a BinaryExpression that represents a multiplication assignment operation that does not have overflow checking.static BinaryExpression
multiplyAssign
(Expression left, Expression right, Method method) Creates a BinaryExpression that represents a multiplication assignment operation that does not have overflow checking.static BinaryExpression
multiplyAssign
(Expression left, Expression right, Method method, LambdaExpression lambdaExpression) Creates a BinaryExpression that represents a multiplication assignment operation that does not have overflow checking.static BinaryExpression
multiplyAssignChecked
(Expression left, Expression right) Creates a BinaryExpression that represents a multiplication assignment operation that has overflow checking.static BinaryExpression
multiplyAssignChecked
(Expression left, Expression right, Method method) Creates a BinaryExpression that represents a multiplication assignment operation that has overflow checking.static BinaryExpression
multiplyAssignChecked
(Expression left, Expression right, Method method, LambdaExpression lambdaExpression) Creates a BinaryExpression that represents a multiplication assignment operation that has overflow checking.static BinaryExpression
multiplyChecked
(Expression left, Expression right) Creates a BinaryExpression that represents an arithmetic multiplication operation that has overflow checking.static BinaryExpression
multiplyChecked
(Expression left, Expression right, Method method) Creates a BinaryExpression that represents an arithmetic multiplication operation that has overflow checking.static UnaryExpression
negate
(Expression expression) Creates a UnaryExpression that represents an arithmetic negation operation.static UnaryExpression
negate
(Expression expression, Method method) Creates a UnaryExpression that represents an arithmetic negation operation.static UnaryExpression
negateChecked
(Expression expression) Creates a UnaryExpression that represents an arithmetic negation operation that has overflow checking.static UnaryExpression
negateChecked
(Expression expression, Method method) Creates a UnaryExpression that represents an arithmetic negation operation that has overflow checking.static NewExpression
new_
(Constructor constructor) Creates a NewExpression that represents calling the specified constructor that takes no arguments.static NewExpression
new_
(Constructor constructor, Iterable<? extends Expression> expressions) Creates a NewExpression that represents calling the specified constructor with the specified arguments.static NewExpression
new_
(Constructor constructor, Iterable<? extends Expression> expressions, Iterable<? extends MemberDeclaration> memberDeclarations) Creates a NewExpression that represents calling the specified constructor with the specified arguments.static NewExpression
new_
(Constructor constructor, Iterable<? extends Expression> expressions, MemberDeclaration... memberDeclarations) Creates a NewExpression that represents calling the specified constructor with the specified arguments, using varargs.static NewExpression
new_
(Constructor constructor, Expression... expressions) Creates a NewExpression that represents calling the specified constructor with the specified arguments, using varargs.static NewExpression
Creates a NewExpression that represents calling the parameterless constructor of the specified type.static NewExpression
new_
(Type type, Iterable<? extends Expression> arguments) Creates a NewExpression that represents calling the constructor of the specified type whose parameters are assignable from the specified arguments.static NewExpression
new_
(Type type, Iterable<? extends Expression> arguments, @Nullable Iterable<? extends MemberDeclaration> memberDeclarations) Creates a NewExpression that represents calling the constructor of the specified type whose parameters are assignable from the specified arguments.static NewExpression
new_
(Type type, Iterable<? extends Expression> arguments, MemberDeclaration... memberDeclarations) Creates a NewExpression that represents calling the constructor of the specified type whose parameters are assignable from the specified arguments, using varargs.static NewExpression
new_
(Type type, Expression... arguments) Creates a NewExpression that represents calling the constructor of the specified type whose parameters are assignable from the specified arguments, using varargs.static NewArrayExpression
newArrayBounds
(Type type, int dimension, @Nullable Expression bound) Creates a NewArrayExpression that represents creating an array that has a specified rank.static NewArrayExpression
newArrayInit
(Type type, int dimension, Iterable<? extends Expression> expressions) Creates a NewArrayExpression that represents creating a n-dimensional array and initializing it from a list of elements.static NewArrayExpression
newArrayInit
(Type type, int dimension, Expression... expressions) Creates a NewArrayExpression that represents creating an n-dimensional array and initializing it from a list of elements, using varargs.static NewArrayExpression
newArrayInit
(Type type, Iterable<? extends Expression> expressions) Creates a NewArrayExpression that represents creating a one-dimensional array and initializing it from a list of elements.static NewArrayExpression
newArrayInit
(Type type, Expression... expressions) Creates a NewArrayExpression that represents creating a one-dimensional array and initializing it from a list of elements, using varargs.static UnaryExpression
not
(Expression expression) Creates a UnaryExpression that represents a bitwise complement operation.static UnaryExpression
not
(Expression expression, Method method) Creates a UnaryExpression that represents a bitwise complement operation.static BinaryExpression
notEqual
(Expression left, Expression right) Creates a BinaryExpression that represents an inequality comparison.static BinaryExpression
notEqual
(Expression left, Expression right, boolean liftToNull, Method method) Creates a BinaryExpression that represents an inequality comparison.static UnaryExpression
onesComplement
(Expression expression) Returns the expression representing the ones complement.static UnaryExpression
onesComplement
(Expression expression, Method method) Returns the expression representing the ones complement.static BinaryExpression
or
(Expression left, Expression right) Creates a BinaryExpression that represents a bitwise OR operation.static BinaryExpression
or
(Expression left, Expression right, Method method) Creates a BinaryExpression that represents a bitwise OR operation.static BinaryExpression
orAssign
(Expression left, Expression right) Creates a BinaryExpression that represents a bitwise OR assignment operation.static BinaryExpression
orAssign
(Expression left, Expression right, Method method) Creates a BinaryExpression that represents a bitwise OR assignment operation.static BinaryExpression
orAssign
(Expression left, Expression right, Method method, LambdaExpression lambdaExpression) Creates a BinaryExpression that represents a bitwise OR assignment operation.static BinaryExpression
orElse
(Expression left, Expression right) Creates a BinaryExpression that represents a conditional OR operation that evaluates the second operand only if the first operand evaluates to false.static BinaryExpression
orElse
(Expression left, Expression right, Method method) Creates a BinaryExpression that represents a conditional OR operation that evaluates the second operand only if the first operand evaluates to false.static ParameterExpression
Creates a ParameterExpression.static ParameterExpression
Creates a ParameterExpression node that can be used to identify a parameter or a variable in an expression tree.static ParameterExpression
Creates a ParameterExpression node that can be used to identify a parameter or a variable in an expression tree.static UnaryExpression
postDecrementAssign
(Expression expression) Creates a UnaryExpression that represents the assignment of the expression followed by a subsequent decrement by 1 of the original expression.static UnaryExpression
postDecrementAssign
(Expression expression, Method method) Creates a UnaryExpression that represents the assignment of the expression followed by a subsequent decrement by 1 of the original expression.static UnaryExpression
postIncrementAssign
(Expression expression) Creates a UnaryExpression that represents the assignment of the expression followed by a subsequent increment by 1 of the original expression.static UnaryExpression
postIncrementAssign
(Expression expression, Method method) Creates a UnaryExpression that represents the assignment of the expression followed by a subsequent increment by 1 of the original expression.static BinaryExpression
power
(Expression left, Expression right) Creates a BinaryExpression that represents raising a number to a power.static BinaryExpression
power
(Expression left, Expression right, Method method) Creates a BinaryExpression that represents raising a number to a power.static BinaryExpression
powerAssign
(Expression left, Expression right) Creates a BinaryExpression that represents raising an expression to a power and assigning the result back to the expression.static BinaryExpression
powerAssign
(Expression left, Expression right, Method method) Creates a BinaryExpression that represents raising an expression to a power and assigning the result back to the expression.static BinaryExpression
powerAssign
(Expression left, Expression right, Method method, LambdaExpression lambdaExpression) Creates a BinaryExpression that represents raising an expression to a power and assigning the result back to the expression.static UnaryExpression
preDecrementAssign
(Expression expression) Creates a UnaryExpression that decrements the expression by 1 and assigns the result back to the expression.static UnaryExpression
preDecrementAssign
(Expression expression, Method method) Creates a UnaryExpression that decrements the expression by 1 and assigns the result back to the expression.static UnaryExpression
preIncrementAssign
(Expression expression) Creates a UnaryExpression that increments the expression by 1 and assigns the result back to the expression.static UnaryExpression
preIncrementAssign
(Expression expression, Method method) Creates a UnaryExpression that increments the expression by 1 and assigns the result back to the expression.static MemberExpression
property
(Expression expression, Method method) Creates a MemberExpression that represents accessing a property by using a property accessor method.static MemberExpression
property
(Expression expression, Type type, String name) Creates a MemberExpression accessing a property.static MemberExpression
property
(Expression expression, String name) Creates a MemberExpression that represents accessing a property.static IndexExpression
property
(Expression expression, String name, Expression... arguments) Creates an IndexExpression representing the access to an indexed property.static MemberExpression
property
(Expression expression, org.apache.calcite.linq4j.tree.Expressions.PropertyInfo property) Creates a MemberExpression that represents accessing a property.static IndexExpression
property
(Expression expression, org.apache.calcite.linq4j.tree.Expressions.PropertyInfo property, Iterable<? extends Expression> arguments) Creates an IndexExpression representing the access to an indexed property.static IndexExpression
property
(Expression expression, org.apache.calcite.linq4j.tree.Expressions.PropertyInfo property, Expression... arguments) Creates an IndexExpression representing the access to an indexed property, using varargs.static MemberExpression
propertyOrField
(Expression expression, String propertyOfFieldName) Creates a MemberExpression that represents accessing a property or field.static UnaryExpression
quote
(Expression expression) Creates a UnaryExpression that represents an expression that has a constant value of type Expression.static Expression
reduce
(Expression expression) Reduces this node to a simpler expression.static Expression
reduceAndCheck
(Expression expression) Reduces this node to a simpler expression.static Expression
reduceExtensions
(Expression expression) Reduces the expression to a known node type (that is not an Extension node) or just returns the expression if it is already a known type.static Expression
referenceEqual
(Expression left, Expression right) Creates a BinaryExpression that represents a reference equality comparison.static Expression
referenceNotEqual
(Expression left, Expression right) Creates a BinaryExpression that represents a reference inequality comparison.static UnaryExpression
rethrow()
Creates a UnaryExpression that represents a rethrowing of an exception.static UnaryExpression
Creates a UnaryExpression that represents a rethrowing of an exception with a given type.static GotoStatement
return_
(@Nullable LabelTarget labelTarget) Creates a GotoExpression representing a return statement.static GotoStatement
return_
(@Nullable LabelTarget labelTarget, @Nullable Expression expression) Creates a GotoExpression representing a return statement.static GotoStatement
return_
(LabelTarget labelTarget, Type type) Creates a GotoExpression representing a return statement with the specified type.static GotoStatement
return_
(LabelTarget labelTarget, Expression expression, Type type) Creates a GotoExpression representing a return statement with the specified type.static BinaryExpression
rightShift
(Expression left, Expression right) Creates a BinaryExpression that represents a bitwise right-shift operation.static BinaryExpression
rightShift
(Expression left, Expression right, Method method) Creates a BinaryExpression that represents a bitwise right-shift operation.static BinaryExpression
rightShiftAssign
(Expression left, Expression right) Creates a BinaryExpression that represents a bitwise right-shift assignment operation.static BinaryExpression
rightShiftAssign
(Expression left, Expression right, Method method) Creates a BinaryExpression that represents a bitwise right-shift assignment operation.static BinaryExpression
rightShiftAssign
(Expression left, Expression right, Method method, LambdaExpression lambdaExpression) Creates a BinaryExpression that represents a bitwise right-shift assignment operation.static org.apache.calcite.linq4j.tree.Expressions.RuntimeVariablesExpression
runtimeVariables
(Iterable<? extends ParameterExpression> expressions) Creates an instance of RuntimeVariablesExpression.static org.apache.calcite.linq4j.tree.Expressions.RuntimeVariablesExpression
runtimeVariables
(ParameterExpression... arguments) Creates an instance of RuntimeVariablesExpression, using varargs.static Statement
statement
(@Nullable Expression expression) Creates a statement that executes an expression.static BinaryExpression
subtract
(Expression left, Expression right) Creates a BinaryExpression that represents an arithmetic subtraction operation that does not have overflow checking.static BinaryExpression
subtract
(Expression left, Expression right, Method method) Creates a BinaryExpression that represents an arithmetic subtraction operation that does not have overflow checking.static BinaryExpression
subtractAssign
(Expression left, Expression right) Creates a BinaryExpression that represents a subtraction assignment operation that does not have overflow checking.static BinaryExpression
subtractAssign
(Expression left, Expression right, Method method) Creates a BinaryExpression that represents a subtraction assignment operation that does not have overflow checking.static BinaryExpression
subtractAssign
(Expression left, Expression right, Method method, LambdaExpression lambdaExpression) Creates a BinaryExpression that represents a subtraction assignment operation that does not have overflow checking.static BinaryExpression
subtractAssignChecked
(Expression left, Expression right) Creates a BinaryExpression that represents a subtraction assignment operation that has overflow checking.static BinaryExpression
subtractAssignChecked
(Expression left, Expression right, Method method) Creates a BinaryExpression that represents a subtraction assignment operation that has overflow checking.static BinaryExpression
subtractAssignChecked
(Expression left, Expression right, Method method, LambdaExpression lambdaExpression) Creates a BinaryExpression that represents a subtraction assignment operation that has overflow checking.static BinaryExpression
subtractChecked
(Expression left, Expression right) Creates a BinaryExpression that represents an arithmetic subtraction operation that has overflow checking.static BinaryExpression
subtractChecked
(Expression left, Expression right, Method method) Creates a BinaryExpression that represents an arithmetic subtraction operation that has overflow checking.static SwitchStatement
switch_
(Type type, Expression switchValue, Expression defaultBody, Method method, Iterable<? extends SwitchCase> cases) Creates a SwitchExpression that represents a switch statement that has a default case.static SwitchStatement
switch_
(Type type, Expression switchValue, Expression defaultBody, Method method, SwitchCase... cases) Creates a SwitchExpression that represents a switch statement that has a default case, using varargs.static SwitchStatement
switch_
(Expression switchValue, @Nullable Expression defaultBody, @Nullable Method method, Iterable<? extends SwitchCase> cases) Creates a SwitchExpression that represents a switch statement that has a default case.static SwitchStatement
switch_
(Expression switchValue, Expression defaultBody, Method method, SwitchCase... cases) Creates a SwitchExpression that represents a switch statement that has a default case, using varargs.static SwitchStatement
switch_
(Expression switchValue, Expression defaultBody, SwitchCase... cases) Creates a SwitchExpression that represents a switch statement that has a default case.static SwitchStatement
switch_
(Expression switchValue, SwitchCase... cases) Creates a SwitchExpression that represents a switch statement without a default case.static SwitchCase
switchCase
(Expression expression, Iterable<? extends Expression> body) Creates a SwitchCase for use in a SwitchExpression.static SwitchCase
switchCase
(Expression expression, Expression... body) Creates a SwitchCase for use in a SwitchExpression, with varargs.static org.apache.calcite.linq4j.tree.Expressions.SymbolDocumentInfo
symbolDocument
(String fileName) Creates an instance of SymbolDocumentInfo.static org.apache.calcite.linq4j.tree.Expressions.SymbolDocumentInfo
symbolDocument
(String fileName, UUID language) Creates an instance of SymbolDocumentInfo.static org.apache.calcite.linq4j.tree.Expressions.SymbolDocumentInfo
symbolDocument
(String fileName, UUID language, UUID vendor) Creates an instance of SymbolDocumentInfo.static org.apache.calcite.linq4j.tree.Expressions.SymbolDocumentInfo
symbolDocument
(String filename, UUID language, UUID vendor, UUID documentType) Creates an instance of SymbolDocumentInfo.static ThrowStatement
throw_
(Expression expression) Creates a statement that represents the throwing of an exception.static String
Converts a list of expressions to Java source code, optionally emitting extra type information in generics.static String
Converts an expression to Java source code.static TryStatement
tryCatch
(Statement body, Iterable<? extends CatchBlock> handlers) Creates a TryExpression representing a try block with any number of catch statements and neither a fault nor finally block.static TryStatement
tryCatch
(Statement body, CatchBlock... handlers) Creates a TryExpression representing a try block with any number of catch statements and neither a fault nor finally block, with varargs.static TryStatement
tryCatchFinally
(Statement body, Iterable<? extends CatchBlock> handlers, Statement finally_) Creates a TryExpression representing a try block with any number of catch statements and a finally block.static TryStatement
tryCatchFinally
(Statement body, Statement finally_, CatchBlock... handlers) Creates a TryExpression representing a try block with any number of catch statements and a finally block, with varargs.static TryStatement
tryFinally
(Statement body, Statement finally_) Creates a TryExpression representing a try block with a finally block and no catch statements.static UnaryExpression
typeAs
(Expression expression, Type type) Creates a UnaryExpression that represents an explicit reference or boxing conversion where null is supplied if the conversion fails.static TypeBinaryExpression
typeEqual
(Expression expression, Type type) Creates a TypeBinaryExpression that compares run-time type identity.static TypeBinaryExpression
typeIs
(Expression expression, Type type) Creates a TypeBinaryExpression.static UnaryExpression
unaryPlus
(Expression expression) Creates a UnaryExpression that represents a unary plus operation.static UnaryExpression
unaryPlus
(Expression expression, Method method) Creates a UnaryExpression that represents a unary plus operation.static Expression
unbox
(Expression expression) Converts e.g.static UnaryExpression
unbox
(Expression expression, Type type) Creates a UnaryExpression that represents an explicit unboxing.static Expression
unbox
(Expression expression, Primitive primitive) Returns an expression to unbox the value of a boxed-primitive expression.static Expression
unboxExact
(Expression expression, Primitive primitive) Returns an expression to unbox the value of a boxed-primitive expression exactly.static ParameterExpression
Creates a ParameterExpression node that can be used to identify a parameter or a variable in an expression tree.static ParameterExpression
Creates a ParameterExpression node that can be used to identify a parameter or a variable in an expression tree.static Expression
visitChildren
(ExpressionVisitor visitor) Reduces the node and then calls the visitor delegate on the reduced expression.static WhileStatement
while_
(Expression condition, Statement body) Creates a WhileExpression representing a while loop.
-
Method Details
-
toString
Converts a list of expressions to Java source code, optionally emitting extra type information in generics. -
toString
Converts an expression to Java source code. -
add
Creates a BinaryExpression that represents an arithmetic addition operation that does not have overflow checking. -
add
Creates a BinaryExpression that represents an arithmetic addition operation that does not have overflow checking. The implementing method can be specified. -
addAssign
Creates a BinaryExpression that represents an addition assignment operation that does not have overflow checking. -
addAssign
Creates a BinaryExpression that represents an addition assignment operation that does not have overflow checking. -
addAssign
public static BinaryExpression addAssign(Expression left, Expression right, Method method, LambdaExpression lambdaLeft, LambdaExpression lambdaRight) Creates a BinaryExpression that represents an addition assignment operation that does not have overflow checking. -
addAssignChecked
Creates a BinaryExpression that represents an addition assignment operation that has overflow checking. -
addAssignChecked
Creates a BinaryExpression that represents an addition assignment operation that has overflow checking. -
addAssignChecked
public static BinaryExpression addAssignChecked(Expression left, Expression right, Method method, LambdaExpression lambdaExpression) Creates a BinaryExpression that represents an addition assignment operation that has overflow checking. -
addChecked
Creates a BinaryExpression that represents an arithmetic addition operation that has overflow checking. -
addChecked
Creates a BinaryExpression that represents an arithmetic addition operation that has overflow checking. The implementing method can be specified. -
and
Creates a BinaryExpression that represents a bitwise AND operation. -
and
Creates a BinaryExpression that represents a bitwise AND operation. The implementing method can be specified. -
andAlso
Creates a BinaryExpression that represents a conditional AND operation that evaluates the second operand only if the first operand evaluates to true. -
andAlso
Creates a BinaryExpression that represents a conditional AND operation that evaluates the second operand only if the first operand is resolved to true. The implementing method can be specified. -
andAssign
Creates a BinaryExpression that represents a bitwise AND assignment operation. -
andAssign
Creates a BinaryExpression that represents a bitwise AND assignment operation. -
andAssign
public static BinaryExpression andAssign(Expression left, Expression right, Method method, LambdaExpression lambdaExpression) Creates a BinaryExpression that represents a bitwise AND assignment operation. -
arrayIndex
Creates an expression that represents applying an array index operator to an array of rank one. -
arrayLength
Creates a UnaryExpression that represents an expression for obtaining the length of a one-dimensional array. -
assign
Creates a BinaryExpression that represents an assignment operation. -
bind
Creates a MemberAssignment that represents the initialization of a field or property. -
bind
Creates a MemberAssignment that represents the initialization of a member by using a property accessor method. -
block
Creates a BlockExpression that contains the given statements. -
block
Creates a BlockExpression that contains the given statements, using varargs. -
block
Creates a BlockExpression that contains the given expressions, has no variables and has specific result type. -
block
Creates a BlockExpression that contains the given statements and has a specific result type, using varargs. -
break_
Creates a GotoExpression representing a break statement. -
break_
Creates a GotoExpression representing a break statement. The value passed to the label upon jumping can be specified. -
break_
Creates a GotoExpression representing a break statement with the specified type. -
break_
Creates a GotoExpression representing a break statement with the specified type. The value passed to the label upon jumping can be specified. -
call
Creates a MethodCallExpression that represents a call to a static method that has arguments. -
call
Creates a MethodCallExpression that represents a call to a static method that has arguments, using varargs. -
call
public static MethodCallExpression call(@Nullable Expression expression, Method method, Iterable<? extends Expression> arguments) Creates a MethodCallExpression that represents a call to a method that takes arguments. -
call
public static MethodCallExpression call(@Nullable Expression expression, Method method, Expression... arguments) Creates a MethodCallExpression that represents a call to a method that takes arguments, using varargs. -
call
public static MethodCallExpression call(Type returnType, @Nullable Expression expression, Method method, Iterable<? extends Expression> arguments) Creates a MethodCallExpression that represents a call to a method that takes arguments, with an explicit return type.The return type must be consistent with the return type of the method, but may contain extra information, such as type parameters.
The
expression
argument may be null if and only if the method is static. -
call
public static MethodCallExpression call(Type returnType, @Nullable Expression expression, Method method, Expression... arguments) Creates a MethodCallExpression that represents a call to a method that takes arguments, with an explicit return type, with varargs.The return type must be consistent with the return type of the method, but may contain extra information, such as type parameters.
The
expression
argument may be null if and only if the method is static. -
call
public static MethodCallExpression call(Expression target, String methodName, Iterable<? extends Expression> arguments) Creates a MethodCallExpression that represents a call to an instance method by calling the appropriate factory method. -
call
public static MethodCallExpression call(Expression target, String methodName, Expression... arguments) Creates a MethodCallExpression that represents a call to an instance method by calling the appropriate factory method, using varargs. -
call
public static MethodCallExpression call(Type type, String methodName, Iterable<? extends Expression> arguments) Creates a MethodCallExpression that represents a call to a static method by calling the appropriate factory method. -
call
Creates a MethodCallExpression that represents a call to a static method by calling the appropriate factory method, using varargs. -
catch_
Creates a CatchBlock representing a catch statement with a reference to the caught Exception object for use in the handler body. -
clearDebugInfo
public static void clearDebugInfo()Creates a DebugInfoExpression for clearing a sequence point. -
coalesce
Creates a BinaryExpression that represents a coalescing operation. -
coalesce
public static BinaryExpression coalesce(Expression left, Expression right, LambdaExpression lambdaExpression) Creates a BinaryExpression that represents a coalescing operation, given a conversion function. -
condition
Creates a ConditionalExpression that represents a conditional statement. -
isConstantNull
Returns whether an expression always evaluates to null. -
condition
public static ConditionalExpression condition(Expression test, Expression ifTrue, Expression ifFalse, Type type) Creates a ConditionalExpression that represents a conditional statement.This method allows explicitly unifying the result type of the conditional expression in cases where the types of ifTrue and ifFalse expressions are not equal. Types of both ifTrue and ifFalse must be implicitly reference assignable to the result type. The type is allowed to be
void
. -
constant
Creates a ConstantExpression that has the Value property set to the specified value.Does the right thing for null, String, primitive values (e.g. int 12, short 12, double 3.14 and boolean false), boxed primitives (e.g. Integer.valueOf(12)), enums, classes, BigDecimal, BigInteger, classes that have a constructor with a parameter for each field, and arrays.
-
constant
Creates a ConstantExpression that has the Value and Type properties set to the specified values. -
constant
public static ConstantExpression constant(@Nullable Object value, Type type, RoundingMode roundingMode) Creates a ConstantExpression that has the Value 、Type 、RoundingMode properties set to the specified values. -
continue_
Creates a GotoExpression representing a continue statement. -
continue_
Creates a GotoExpression representing a continue statement with the specified type. -
convert_
Creates a UnaryExpression that represents a type conversion operation. -
convert_
Creates a UnaryExpression that represents a conversion operation for which the implementing method is specified. -
convertChecked
Creates a UnaryExpression that represents a conversion operation that throws an exception if the target type is overflowed. -
convertChecked_
Creates a UnaryExpression that represents a conversion operation that throws an exception if the target type is overflowed and for which the implementing method is specified. -
debugInfo
public static void debugInfo()Creates a DebugInfoExpression with the specified span. -
decrement
Creates a UnaryExpression that represents the decrementing of the expression by 1. -
decrement
Creates a UnaryExpression that represents the decrementing of the expression by 1. -
default_
Creates a DefaultExpression that has the Type property set to the specified type. -
divide
Creates a BinaryExpression that represents an arithmetic division operation. -
divide
Creates a BinaryExpression that represents an arithmetic division operation. The implementing method can be specified. -
divideAssign
Creates a BinaryExpression that represents a division assignment operation that does not have overflow checking. -
divideAssign
Creates a BinaryExpression that represents a division assignment operation that does not have overflow checking. -
divideAssign
public static BinaryExpression divideAssign(Expression left, Expression right, Method method, LambdaExpression lambdaExpression) Creates a BinaryExpression that represents a division assignment operation that does not have overflow checking. -
dynamic
public static DynamicExpression dynamic(CallSiteBinder binder, Type type, Iterable<? extends Expression> expressions) Creates a DynamicExpression that represents a dynamic operation bound by the provided CallSiteBinder. -
dynamic
Creates aDynamicExpression
that represents a dynamic operation bound by the providedCallSiteBinder
, using varargs. -
elementInit
Creates anElementInit
, given anIterable<T>
as the second argument. -
elementInit
Creates an ElementInit, given an array of values as the second argument, using varargs. -
empty
Creates an empty expression that has Void type. -
equal
Creates a BinaryExpression that represents an equality comparison. -
equal
public static BinaryExpression equal(Expression expression0, Expression expression1, boolean liftToNull, Method method) Creates a BinaryExpression that represents an equality comparison. The implementing method can be specified. -
exclusiveOr
Creates a BinaryExpression that represents a bitwise XOR operation, using op_ExclusiveOr for user-defined types. -
exclusiveOr
Creates a BinaryExpression that represents a bitwise XOR operation, using op_ExclusiveOr for user-defined types. The implementing method can be specified. -
exclusiveOrAssign
Creates a BinaryExpression that represents a bitwise XOR assignment operation, using op_ExclusiveOr for user-defined types. -
exclusiveOrAssign
Creates a BinaryExpression that represents a bitwise XOR assignment operation, using op_ExclusiveOr for user-defined types. -
exclusiveOrAssign
public static BinaryExpression exclusiveOrAssign(Expression left, Expression right, Method method, LambdaExpression lambdaExpression) Creates a BinaryExpression that represents a bitwise XOR assignment operation, using op_ExclusiveOr for user-defined types. -
field
Creates a MemberExpression that represents accessing a field. -
field
Creates a MemberExpression that represents accessing a field. -
field
Creates a MemberExpression that represents accessing a field given the name of the field. -
field
Creates a MemberExpression that represents accessing a field. -
getActionType
Creates a Type object that represents a generic System.Action delegate type that has specific type arguments. -
getDelegateType
Gets a Type object that represents a generic System.Func or System.Action delegate type that has specific type arguments. -
getFuncType
Creates a Type object that represents a generic System.Func delegate type that has specific type arguments. The last type argument specifies the return type of the created delegate. -
goto_
Creates a GotoExpression representing a "go to" statement. -
goto_
Creates a GotoExpression representing a "go to" statement. The value passed to the label upon jumping can be specified. -
goto_
Creates a GotoExpression representing a "go to" statement with the specified type. -
goto_
Creates a GotoExpression representing a "go to" statement with the specified type. The value passed to the label upon jumping can be specified. -
greaterThan
Creates a BinaryExpression that represents a "greater than" numeric comparison. -
greaterThan
public static BinaryExpression greaterThan(Expression left, Expression right, boolean liftToNull, Method method) Creates a BinaryExpression that represents a "greater than" numeric comparison. The implementing method can be specified. -
greaterThanOrEqual
Creates a BinaryExpression that represents a "greater than or equal" numeric comparison. -
greaterThanOrEqual
public static BinaryExpression greaterThanOrEqual(Expression left, Expression right, boolean liftToNull, Method method) Creates a BinaryExpression that represents a "greater than or equal" numeric comparison. -
ifThen
Creates a ConditionalExpression that represents a conditional block with an if statement. -
ifThenElse
Creates a ConditionalExpression that represents a conditional block with if and else statements. -
ifThenElse
Creates a ConditionalExpression that represents a conditional block with if and else statements:if (test) stmt1 [ else if (test2) stmt2 ]... [ else stmtN ]
. -
ifThenElse
Creates a ConditionalExpression that represents a conditional block with if and else statements:if (test) stmt1 [ else if (test2) stmt2 ]... [ else stmtN ]
. -
increment
Creates a UnaryExpression that represents the incrementing of the expression value by 1. -
increment
Creates a UnaryExpression that represents the incrementing of the expression by 1. -
invoke
public static InvocationExpression invoke(Expression expression, Iterable<? extends Expression> arguments) Creates an InvocationExpression that applies a delegate or lambda expression to a list of argument expressions. -
invoke
Creates an InvocationExpression that applies a delegate or lambda expression to a list of argument expressions, using varargs. -
isFalse
Returns whether the expression evaluates to false. -
isFalse
Returns whether the expression evaluates to false. -
isTrue
Returns whether the expression evaluates to true. -
isTrue
Returns whether the expression evaluates to true. -
label
Creates a LabelTarget representing a label with X type and no name. -
label
Creates a LabelExpression representing a label without a default value. -
label
Creates a LabelTarget representing a label with X type and the given name. -
label
Creates a LabelTarget representing a label with the given type. -
label
Creates a LabelExpression representing a label with the given default value. -
label
Creates a LabelTarget representing a label with the given type and name. -
lambda
Creates a FunctionExpression from an actual function. -
lambda
public static <F extends Function<?>> FunctionExpression<F> lambda(BlockStatement body, Iterable<? extends ParameterExpression> parameters) Creates a LambdaExpression by first constructing a delegate type. -
lambda
public static <F extends Function<?>> FunctionExpression<F> lambda(BlockStatement body, ParameterExpression... parameters) Creates a LambdaExpression by first constructing a delegate type, using varargs. -
lambda
public static <F extends Function<?>> FunctionExpression<F> lambda(Expression body, Iterable<? extends ParameterExpression> parameters) Creates an Expression where the delegate typeF
is known at compile time. -
lambda
public static <F extends Function<?>> FunctionExpression<F> lambda(Expression body, ParameterExpression... parameters) Creates an Expression where the delegate typeF
is known at compile time, using varargs. -
lambda
public static <T,F extends Function<? extends T>> FunctionExpression<F> lambda(Class<F> type, BlockStatement body, Iterable<? extends ParameterExpression> parameters) Creates a LambdaExpression by first constructing a delegate type.It can be used when the delegate type is not known at compile time.
-
lambda
public static <T,F extends Function<? extends T>> FunctionExpression<F> lambda(Class<F> type, BlockStatement body, ParameterExpression... parameters) Creates a LambdaExpression by first constructing a delegate type, using varargs.It can be used when the delegate type is not known at compile time.
-
lambda
public static <T,F extends Function<? extends T>> FunctionExpression<F> lambda(Class<F> type, Expression body, Iterable<? extends ParameterExpression> parameters) Creates a LambdaExpression by first constructing a delegate type.It can be used when the delegate type is not known at compile time.
-
lambda
public static <T,F extends Function<? extends T>> FunctionExpression<F> lambda(Class<F> type, Expression body, ParameterExpression... parameters) Creates a LambdaExpression by first constructing a delegate type, using varargs.It can be used when the delegate type is not known at compile time.
-
leftShift
Creates a BinaryExpression that represents a bitwise left-shift operation. -
leftShift
Creates a BinaryExpression that represents a bitwise left-shift operation. -
leftShiftAssign
Creates a BinaryExpression that represents a bitwise left-shift assignment operation. -
leftShiftAssign
Creates a BinaryExpression that represents a bitwise left-shift assignment operation. -
leftShiftAssign
public static BinaryExpression leftShiftAssign(Expression left, Expression right, Method method, LambdaExpression lambdaExpression) Creates a BinaryExpression that represents a bitwise left-shift assignment operation. -
lessThan
Creates a BinaryExpression that represents a "less than" numeric comparison. -
lessThan
public static BinaryExpression lessThan(Expression left, Expression right, boolean liftToNull, Method method) Creates a BinaryExpression that represents a "less than" numeric comparison. -
lessThanOrEqual
Creates a BinaryExpression that represents a " less than or equal" numeric comparison. -
lessThanOrEqual
public static BinaryExpression lessThanOrEqual(Expression left, Expression right, boolean liftToNull, Method method) Creates a BinaryExpression that represents a "less than or equal" numeric comparison. -
listBind
public static MemberListBinding listBind(Member member, Iterable<? extends ElementInit> elementInits) Creates a MemberListBinding where the member is a field or property. -
listBind
Creates a MemberListBinding where the member is a field or property, using varargs. -
listBind
public static MemberListBinding listBind(Method method, Iterable<? extends ElementInit> elementInits) Creates a MemberListBinding based on a specified property accessor method. -
listBind
Creates a MemberListBinding object based on a specified property accessor method, using varargs. -
listInit
public static ListInitExpression listInit(NewExpression newExpression, Iterable<? extends ElementInit> elementInits) Creates a ListInitExpression that uses specified ElementInit objects to initialize a collection. -
listInit
Creates a ListInitExpression that uses specified ElementInit objects to initialize a collection, using varargs. -
listInitE
public static ListInitExpression listInitE(NewExpression newExpression, Iterable<? extends Expression> arguments) Creates a ListInitExpression that uses a method named "Add" to add elements to a collection. -
listInit
Creates a ListInitExpression that uses a method named "Add" to add elements to a collection, using varargs. -
listInit
public static ListInitExpression listInit(NewExpression newExpression, Method method, Iterable<? extends Expression> arguments) Creates a ListInitExpression that uses a specified method to add elements to a collection. -
listInit
public static ListInitExpression listInit(NewExpression newExpression, Method method, Expression... arguments) Creates a ListInitExpression that uses a specified method to add elements to a collection, using varargs. -
for_
public static ForStatement for_(Iterable<? extends DeclarationStatement> declarations, @Nullable Expression condition, @Nullable Expression post, Statement body) Creates a LoopExpression with the given body. -
for_
public static ForStatement for_(DeclarationStatement declaration, @Nullable Expression condition, @Nullable Expression post, Statement body) Creates a LoopExpression with the given body. -
forEach
public static ForEachStatement forEach(ParameterExpression parameter, Expression iterable, Statement body) Creates a ForEachExpression with the given body. -
makeBinary
public static BinaryExpression makeBinary(ExpressionType binaryType, Expression left, Expression right) Creates a BinaryExpression, given the left and right operands, by calling an appropriate factory method. -
box
Returns an expression to box the value of a primitive expression. E.g.box(e, Primitive.INT)
returnsInteger.valueOf(e)
. -
box
Converts e.g. "anInteger" to "Integer.valueOf(anInteger)". -
unboxExact
Returns an expression to unbox the value of a boxed-primitive expression exactly. E.g.unboxExact(e, Primitive.INT)
returnse.intValueExact()
. It is assumed that e is of the right box type (orNumber
)."Value -
unbox
Returns an expression to unbox the value of a boxed-primitive expression. E.g.unbox(e, Primitive.INT)
returnse.intValue()
. It is assumed that e is of the right box type (orNumber
)."Value -
unbox
Converts e.g. "anInteger" to "anInteger.intValue()". -
makeBinary
public static BinaryExpression makeBinary(ExpressionType binaryType, Expression left, Expression right, boolean liftToNull, Method method) Creates a BinaryExpression, given the left operand, right operand and implementing method, by calling the appropriate factory method. -
makeBinary
public static BinaryExpression makeBinary(ExpressionType binaryType, Expression left, Expression right, boolean liftToNull, Method method, LambdaExpression lambdaExpression) Creates a BinaryExpression, given the left operand, right operand, implementing method and type conversion function, by calling the appropriate factory method. -
makeTernary
public static TernaryExpression makeTernary(ExpressionType ternaryType, Expression e0, Expression e1, Expression e2) Creates a TernaryExpression, given the left and right operands, by calling an appropriate factory method. -
makeCatchBlock
public static CatchBlock makeCatchBlock(Type type, ParameterExpression variable, Expression body, Expression filter) Creates a CatchBlock representing a catch statement with the specified elements. -
makeDynamic
public static DynamicExpression makeDynamic(Type type, CallSiteBinder binder, Iterable<? extends Expression> arguments) Creates a DynamicExpression that represents a dynamic operation bound by the provided CallSiteBinder. -
makeDynamic
public static DynamicExpression makeDynamic(Type type, CallSiteBinder binder, Expression... arguments) Creates a DynamicExpression that represents a dynamic operation bound by the provided CallSiteBinder, using varargs. -
makeGoto
public static GotoStatement makeGoto(GotoExpressionKind kind, LabelTarget target, Expression value, Type type) Creates a GotoExpression representing a jump of the specified GotoExpressionKind. The value passed to the label upon jumping can also be specified. -
makeMemberAccess
public static MemberExpression makeMemberAccess(@Nullable Expression expression, PseudoField member) Creates a MemberExpression that represents accessing a field. -
makeTry
public static TryStatement makeTry(Type type, Expression body, Expression finally_, Expression fault, Iterable<? extends CatchBlock> handlers) Creates a TryExpression representing a try block with the specified elements. -
makeTry
public static TryStatement makeTry(Type type, Expression body, Expression finally_, Expression fault, CatchBlock... handlers) Creates a TryExpression representing a try block with the specified elements, using varargs. -
makeUnary
Creates a UnaryExpression, given an operand, by calling the appropriate factory method. -
makeUnary
public static UnaryExpression makeUnary(ExpressionType expressionType, Expression expression, Type type, @Nullable Method method) Creates a UnaryExpression, given an operand and implementing method, by calling the appropriate factory method. -
memberBind
public static MemberMemberBinding memberBind(Member member, Iterable<? extends MemberBinding> bindings) Creates a MemberMemberBinding that represents the recursive initialization of members of a field or property. -
memberBind
Creates a MemberMemberBinding that represents the recursive initialization of members of a field or property, using varargs. -
memberBind
public static MemberMemberBinding memberBind(Method method, Iterable<? extends MemberBinding> bindings) Creates a MemberMemberBinding that represents the recursive initialization of members of a member that is accessed by using a property accessor method. -
memberBind
Creates a MemberMemberBinding that represents the recursive initialization of members of a member that is accessed by using a property accessor method, using varargs. -
memberInit
public static MemberInitExpression memberInit(NewExpression newExpression, Iterable<? extends MemberBinding> bindings) Represents an expression that creates a new object and initializes a property of the object. -
memberInit
public static MemberInitExpression memberInit(NewExpression newExpression, MemberBinding... bindings) Represents an expression that creates a new object and initializes a property of the object, using varargs. -
methodDecl
public static MethodDeclaration methodDecl(int modifier, Type resultType, String name, Iterable<? extends ParameterExpression> parameters, BlockStatement body) Declares a method. -
constructorDecl
public static ConstructorDeclaration constructorDecl(int modifier, Type declaredAgainst, Iterable<? extends ParameterExpression> parameters, BlockStatement body) Declares a constructor. -
fieldDecl
public static FieldDeclaration fieldDecl(int modifier, ParameterExpression parameter, @Nullable Expression initializer) Declares a field with an initializer. -
fieldDecl
Declares a field. -
classDecl
public static ClassDeclaration classDecl(int modifier, String name, @Nullable Type extended, List<Type> implemented, List<MemberDeclaration> memberDeclarations) Declares a class. -
modulo
Creates a BinaryExpression that represents an arithmetic remainder operation. -
modulo
Creates a BinaryExpression that represents an arithmetic remainder operation. -
moduloAssign
Creates a BinaryExpression that represents a remainder assignment operation. -
moduloAssign
Creates a BinaryExpression that represents a remainder assignment operation. -
moduloAssign
public static BinaryExpression moduloAssign(Expression left, Expression right, Method method, LambdaExpression lambdaExpression) Creates a BinaryExpression that represents a remainder assignment operation. -
multiply
Creates a BinaryExpression that represents an arithmetic multiplication operation that does not have overflow checking. -
multiply
Creates a BinaryExpression that represents an arithmetic multiplication operation that does not have overflow checking. -
multiplyAssign
Creates a BinaryExpression that represents a multiplication assignment operation that does not have overflow checking. -
multiplyAssign
Creates a BinaryExpression that represents a multiplication assignment operation that does not have overflow checking. -
multiplyAssign
public static BinaryExpression multiplyAssign(Expression left, Expression right, Method method, LambdaExpression lambdaExpression) Creates a BinaryExpression that represents a multiplication assignment operation that does not have overflow checking. -
multiplyAssignChecked
Creates a BinaryExpression that represents a multiplication assignment operation that has overflow checking. -
multiplyAssignChecked
public static BinaryExpression multiplyAssignChecked(Expression left, Expression right, Method method) Creates a BinaryExpression that represents a multiplication assignment operation that has overflow checking. -
multiplyAssignChecked
public static BinaryExpression multiplyAssignChecked(Expression left, Expression right, Method method, LambdaExpression lambdaExpression) Creates a BinaryExpression that represents a multiplication assignment operation that has overflow checking. -
multiplyChecked
Creates a BinaryExpression that represents an arithmetic multiplication operation that has overflow checking. -
multiplyChecked
Creates a BinaryExpression that represents an arithmetic multiplication operation that has overflow checking. -
negate
Creates a UnaryExpression that represents an arithmetic negation operation. -
negate
Creates a UnaryExpression that represents an arithmetic negation operation. -
negateChecked
Creates a UnaryExpression that represents an arithmetic negation operation that has overflow checking. -
negateChecked
Creates a UnaryExpression that represents an arithmetic negation operation that has overflow checking. The implementing method can be specified. -
new_
Creates a NewExpression that represents calling the specified constructor that takes no arguments. -
new_
Creates a NewExpression that represents calling the parameterless constructor of the specified type. -
new_
Creates a NewExpression that represents calling the constructor of the specified type whose parameters are assignable from the specified arguments. -
new_
Creates a NewExpression that represents calling the constructor of the specified type whose parameters are assignable from the specified arguments, using varargs. -
new_
public static NewExpression new_(Type type, Iterable<? extends Expression> arguments, @Nullable Iterable<? extends MemberDeclaration> memberDeclarations) Creates a NewExpression that represents calling the constructor of the specified type whose parameters are assignable from the specified arguments. -
new_
public static NewExpression new_(Type type, Iterable<? extends Expression> arguments, MemberDeclaration... memberDeclarations) Creates a NewExpression that represents calling the constructor of the specified type whose parameters are assignable from the specified arguments, using varargs. -
new_
public static NewExpression new_(Constructor constructor, Iterable<? extends Expression> expressions) Creates a NewExpression that represents calling the specified constructor with the specified arguments. -
new_
Creates a NewExpression that represents calling the specified constructor with the specified arguments, using varargs. -
new_
public static NewExpression new_(Constructor constructor, Iterable<? extends Expression> expressions, Iterable<? extends MemberDeclaration> memberDeclarations) Creates a NewExpression that represents calling the specified constructor with the specified arguments.The members that access the constructor initialized fields are specified.
-
new_
public static NewExpression new_(Constructor constructor, Iterable<? extends Expression> expressions, MemberDeclaration... memberDeclarations) Creates a NewExpression that represents calling the specified constructor with the specified arguments, using varargs.The members that access the constructor initialized fields are specified.
-
newArrayBounds
public static NewArrayExpression newArrayBounds(Type type, int dimension, @Nullable Expression bound) Creates a NewArrayExpression that represents creating an array that has a specified rank.For example,
newArrayBounds(int.class, 1, constant(8))
yieldsnew int[8]
;newArrayBounds(int.class, 3, constant(8))
yieldsnew int[8][][]
;- Parameters:
type
- Element type of the arraydimension
- Dimension of the arraybound
- Size of the first dimension
-
newArrayInit
public static NewArrayExpression newArrayInit(Type type, Iterable<? extends Expression> expressions) Creates a NewArrayExpression that represents creating a one-dimensional array and initializing it from a list of elements.For example, "
newArrayInit(int.class, Arrays.asList(constant(1), constant(2))
" yields "new int[] {1, 2}
".- Parameters:
type
- Element type of the arrayexpressions
- Initializer expressions
-
newArrayInit
Creates a NewArrayExpression that represents creating a one-dimensional array and initializing it from a list of elements, using varargs.For example, "
newArrayInit(int.class, constant(1), constant(2)
" yields "new int[] {1, 2}
".- Parameters:
type
- Element type of the arrayexpressions
- Initializer expressions
-
newArrayInit
public static NewArrayExpression newArrayInit(Type type, int dimension, Iterable<? extends Expression> expressions) Creates a NewArrayExpression that represents creating a n-dimensional array and initializing it from a list of elements.For example, "
newArrayInit(int.class, 2, Arrays.asList())
" yields "new int[][] {}
".- Parameters:
type
- Element type of the arraydimension
- Dimension of the arrayexpressions
- Initializer expressions
-
newArrayInit
Creates a NewArrayExpression that represents creating an n-dimensional array and initializing it from a list of elements, using varargs.For example, "
newArrayInit(int.class, 2)
" yields "new int[][] {}
".- Parameters:
type
- Element type of the arraydimension
- Dimension of the arrayexpressions
- Initializer expressions
-
not
Creates a UnaryExpression that represents a bitwise complement operation. -
not
Creates a UnaryExpression that represents a bitwise complement operation. The implementing method can be specified. -
notEqual
Creates a BinaryExpression that represents an inequality comparison. -
notEqual
public static BinaryExpression notEqual(Expression left, Expression right, boolean liftToNull, Method method) Creates a BinaryExpression that represents an inequality comparison. -
onesComplement
Returns the expression representing the ones complement. -
onesComplement
Returns the expression representing the ones complement. -
or
Creates a BinaryExpression that represents a bitwise OR operation. -
or
Creates a BinaryExpression that represents a bitwise OR operation. -
orAssign
Creates a BinaryExpression that represents a bitwise OR assignment operation. -
orAssign
Creates a BinaryExpression that represents a bitwise OR assignment operation. -
orAssign
public static BinaryExpression orAssign(Expression left, Expression right, Method method, LambdaExpression lambdaExpression) Creates a BinaryExpression that represents a bitwise OR assignment operation. -
orElse
Creates a BinaryExpression that represents a conditional OR operation that evaluates the second operand only if the first operand evaluates to false. -
orElse
Creates a BinaryExpression that represents a conditional OR operation that evaluates the second operand only if the first operand evaluates to false. -
parameter
Creates a ParameterExpression node that can be used to identify a parameter or a variable in an expression tree. -
parameter
Creates a ParameterExpression node that can be used to identify a parameter or a variable in an expression tree. -
parameter
Creates a ParameterExpression. -
postDecrementAssign
Creates a UnaryExpression that represents the assignment of the expression followed by a subsequent decrement by 1 of the original expression. -
postDecrementAssign
Creates a UnaryExpression that represents the assignment of the expression followed by a subsequent decrement by 1 of the original expression. -
postIncrementAssign
Creates a UnaryExpression that represents the assignment of the expression followed by a subsequent increment by 1 of the original expression. -
postIncrementAssign
Creates a UnaryExpression that represents the assignment of the expression followed by a subsequent increment by 1 of the original expression. -
power
Creates a BinaryExpression that represents raising a number to a power. -
power
Creates a BinaryExpression that represents raising a number to a power. -
powerAssign
Creates a BinaryExpression that represents raising an expression to a power and assigning the result back to the expression. -
powerAssign
Creates a BinaryExpression that represents raising an expression to a power and assigning the result back to the expression. -
powerAssign
public static BinaryExpression powerAssign(Expression left, Expression right, Method method, LambdaExpression lambdaExpression) Creates a BinaryExpression that represents raising an expression to a power and assigning the result back to the expression. -
preDecrementAssign
Creates a UnaryExpression that decrements the expression by 1 and assigns the result back to the expression. -
preDecrementAssign
Creates a UnaryExpression that decrements the expression by 1 and assigns the result back to the expression. -
preIncrementAssign
Creates a UnaryExpression that increments the expression by 1 and assigns the result back to the expression. -
preIncrementAssign
Creates a UnaryExpression that increments the expression by 1 and assigns the result back to the expression. -
property
Creates a MemberExpression that represents accessing a property by using a property accessor method. -
property
public static MemberExpression property(Expression expression, org.apache.calcite.linq4j.tree.Expressions.PropertyInfo property) Creates a MemberExpression that represents accessing a property. -
property
Creates a MemberExpression that represents accessing a property. -
property
public static IndexExpression property(Expression expression, org.apache.calcite.linq4j.tree.Expressions.PropertyInfo property, Iterable<? extends Expression> arguments) Creates an IndexExpression representing the access to an indexed property. -
property
public static IndexExpression property(Expression expression, org.apache.calcite.linq4j.tree.Expressions.PropertyInfo property, Expression... arguments) Creates an IndexExpression representing the access to an indexed property, using varargs. -
property
Creates an IndexExpression representing the access to an indexed property. -
property
Creates a MemberExpression accessing a property. -
propertyOrField
Creates a MemberExpression that represents accessing a property or field. -
quote
Creates a UnaryExpression that represents an expression that has a constant value of type Expression. -
reduce
Reduces this node to a simpler expression. If CanReduce returns true, this should return a valid expression. This method can return another node which itself must be reduced. -
reduceAndCheck
Reduces this node to a simpler expression. If CanReduce returns true, this should return a valid expression. This method can return another node which itself must be reduced. -
reduceExtensions
Reduces the expression to a known node type (that is not an Extension node) or just returns the expression if it is already a known type. -
referenceEqual
Creates a BinaryExpression that represents a reference equality comparison. -
referenceNotEqual
Creates a BinaryExpression that represents a reference inequality comparison. -
rethrow
Creates a UnaryExpression that represents a rethrowing of an exception. -
rethrow
Creates a UnaryExpression that represents a rethrowing of an exception with a given type. -
return_
Creates a GotoExpression representing a return statement. -
return_
public static GotoStatement return_(@Nullable LabelTarget labelTarget, @Nullable Expression expression) Creates a GotoExpression representing a return statement. The value passed to the label upon jumping can be specified. -
makeGoto
public static GotoStatement makeGoto(GotoExpressionKind kind, @Nullable LabelTarget labelTarget, @Nullable Expression expression) -
return_
Creates a GotoExpression representing a return statement with the specified type. -
return_
Creates a GotoExpression representing a return statement with the specified type. The value passed to the label upon jumping can be specified. -
rightShift
Creates a BinaryExpression that represents a bitwise right-shift operation. -
rightShift
Creates a BinaryExpression that represents a bitwise right-shift operation. -
rightShiftAssign
Creates a BinaryExpression that represents a bitwise right-shift assignment operation. -
rightShiftAssign
Creates a BinaryExpression that represents a bitwise right-shift assignment operation. -
rightShiftAssign
public static BinaryExpression rightShiftAssign(Expression left, Expression right, Method method, LambdaExpression lambdaExpression) Creates a BinaryExpression that represents a bitwise right-shift assignment operation. -
runtimeVariables
public static org.apache.calcite.linq4j.tree.Expressions.RuntimeVariablesExpression runtimeVariables(Iterable<? extends ParameterExpression> expressions) Creates an instance of RuntimeVariablesExpression. -
runtimeVariables
public static org.apache.calcite.linq4j.tree.Expressions.RuntimeVariablesExpression runtimeVariables(ParameterExpression... arguments) Creates an instance of RuntimeVariablesExpression, using varargs. -
subtract
Creates a BinaryExpression that represents an arithmetic subtraction operation that does not have overflow checking. -
subtract
Creates a BinaryExpression that represents an arithmetic subtraction operation that does not have overflow checking. -
subtractAssign
Creates a BinaryExpression that represents a subtraction assignment operation that does not have overflow checking. -
subtractAssign
Creates a BinaryExpression that represents a subtraction assignment operation that does not have overflow checking. -
subtractAssign
public static BinaryExpression subtractAssign(Expression left, Expression right, Method method, LambdaExpression lambdaExpression) Creates a BinaryExpression that represents a subtraction assignment operation that does not have overflow checking. -
subtractAssignChecked
Creates a BinaryExpression that represents a subtraction assignment operation that has overflow checking. -
subtractAssignChecked
public static BinaryExpression subtractAssignChecked(Expression left, Expression right, Method method) Creates a BinaryExpression that represents a subtraction assignment operation that has overflow checking. -
subtractAssignChecked
public static BinaryExpression subtractAssignChecked(Expression left, Expression right, Method method, LambdaExpression lambdaExpression) Creates a BinaryExpression that represents a subtraction assignment operation that has overflow checking. -
subtractChecked
Creates a BinaryExpression that represents an arithmetic subtraction operation that has overflow checking. -
subtractChecked
Creates a BinaryExpression that represents an arithmetic subtraction operation that has overflow checking. -
switch_
Creates a SwitchExpression that represents a switch statement without a default case. -
switch_
public static SwitchStatement switch_(Expression switchValue, Expression defaultBody, SwitchCase... cases) Creates a SwitchExpression that represents a switch statement that has a default case. -
switch_
public static SwitchStatement switch_(Expression switchValue, @Nullable Expression defaultBody, @Nullable Method method, Iterable<? extends SwitchCase> cases) Creates a SwitchExpression that represents a switch statement that has a default case. -
switch_
public static SwitchStatement switch_(Expression switchValue, Expression defaultBody, Method method, SwitchCase... cases) Creates a SwitchExpression that represents a switch statement that has a default case, using varargs. -
switch_
public static SwitchStatement switch_(Type type, Expression switchValue, Expression defaultBody, Method method, Iterable<? extends SwitchCase> cases) Creates a SwitchExpression that represents a switch statement that has a default case. -
switch_
public static SwitchStatement switch_(Type type, Expression switchValue, Expression defaultBody, Method method, SwitchCase... cases) Creates a SwitchExpression that represents a switch statement that has a default case, using varargs. -
switchCase
Creates a SwitchCase for use in a SwitchExpression. -
switchCase
Creates a SwitchCase for use in a SwitchExpression, with varargs. -
symbolDocument
public static org.apache.calcite.linq4j.tree.Expressions.SymbolDocumentInfo symbolDocument(String fileName) Creates an instance of SymbolDocumentInfo. -
symbolDocument
public static org.apache.calcite.linq4j.tree.Expressions.SymbolDocumentInfo symbolDocument(String fileName, UUID language) Creates an instance of SymbolDocumentInfo. -
symbolDocument
public static org.apache.calcite.linq4j.tree.Expressions.SymbolDocumentInfo symbolDocument(String fileName, UUID language, UUID vendor) Creates an instance of SymbolDocumentInfo. -
symbolDocument
public static org.apache.calcite.linq4j.tree.Expressions.SymbolDocumentInfo symbolDocument(String filename, UUID language, UUID vendor, UUID documentType) Creates an instance of SymbolDocumentInfo. -
fromStatement
Create an expression from a statement. -
throw_
Creates a statement that represents the throwing of an exception. -
tryCatch
Creates a TryExpression representing a try block with any number of catch statements and neither a fault nor finally block. -
tryCatch
Creates a TryExpression representing a try block with any number of catch statements and neither a fault nor finally block, with varargs. -
tryCatchFinally
public static TryStatement tryCatchFinally(Statement body, Iterable<? extends CatchBlock> handlers, Statement finally_) Creates a TryExpression representing a try block with any number of catch statements and a finally block. -
tryCatchFinally
public static TryStatement tryCatchFinally(Statement body, Statement finally_, CatchBlock... handlers) Creates a TryExpression representing a try block with any number of catch statements and a finally block, with varargs. -
tryFinally
Creates a TryExpression representing a try block with a finally block and no catch statements. -
typeAs
Creates a UnaryExpression that represents an explicit reference or boxing conversion where null is supplied if the conversion fails. -
typeEqual
Creates a TypeBinaryExpression that compares run-time type identity. -
typeIs
Creates a TypeBinaryExpression. -
unaryPlus
Creates a UnaryExpression that represents a unary plus operation. -
unaryPlus
Creates a UnaryExpression that represents a unary plus operation. -
unbox
Creates a UnaryExpression that represents an explicit unboxing. -
variable
Creates a ParameterExpression node that can be used to identify a parameter or a variable in an expression tree. -
variable
Creates a ParameterExpression node that can be used to identify a parameter or a variable in an expression tree. -
visitChildren
Reduces the node and then calls the visitor delegate on the reduced expression. The method throws an exception if the node is not reducible. -
while_
Creates a WhileExpression representing a while loop. -
declare
public static DeclarationStatement declare(int modifiers, ParameterExpression parameter, @Nullable Expression initializer) Creates a statement that declares a variable. -
declare
Creates an expression that declares and initializes a variable. No type is required; it is assumed that the variable is the same type as the initializer. You can retrieve theParameterExpression
from theDeclarationStatement.parameter
field of the result. -
statement
Creates a statement that executes an expression. -
foldAnd
Combines a list of expressions using AND. Returns TRUE if the list is empty. Returns FALSE if any of the conditions are constant FALSE; otherwise returns NULL if any of the conditions are constant NULL. -
foldOr
Combines a list of expressions using OR. Returns FALSE if the list is empty. Returns TRUE if any of the conditions are constant TRUE; otherwise returns NULL if all of the conditions are constant NULL. -
list
Creates an empty fluent list. -
list
Creates a fluent list with given elements. -
list
Creates a fluent list with elements from the given collection. -
evaluate
Evaluates an expression and returns the result.
-