public abstract class Expressions extends Object
Modifier and Type | Class and Description |
---|---|
static interface |
Expressions.FluentList<T> |
Modifier and Type | Method and Description |
---|---|
static 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 |
block(Iterable<? extends Statement> statements)
Creates a BlockExpression that contains the given statements.
|
static BlockStatement |
block(Statement... statements)
Creates a BlockExpression that contains the given statements,
using varargs.
|
static BlockStatement |
block(Type type,
Iterable<? extends Statement> expressions)
Creates a BlockExpression that contains the given expressions,
has no variables and has specific result type.
|
static BlockStatement |
block(Type type,
Statement... statements)
Creates a BlockExpression that contains the given statements
and has a specific result type, 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_(LabelTarget labelTarget)
Creates a GotoExpression representing a break statement.
|
static GotoStatement |
break_(LabelTarget labelTarget,
Expression expression)
Creates a GotoExpression representing a break statement.
|
static GotoStatement |
break_(LabelTarget labelTarget,
Expression expression,
Type type)
Creates a GotoExpression representing a break statement with
the specified type.
|
static GotoStatement |
break_(LabelTarget labelTarget,
Type type)
Creates a GotoExpression representing a break statement with
the specified type.
|
static MethodCallExpression |
call(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 expression,
Method method,
Iterable<? extends Expression> arguments)
Creates a MethodCallExpression that represents a call to a
method that takes arguments.
|
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 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(Method method,
Expression... arguments)
Creates a MethodCallExpression that represents a call to a
static method that has arguments, using varargs.
|
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(Type returnType,
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(Type returnType,
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 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 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 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,
Type extended,
List<Type> implemented,
List<MemberDeclaration> memberDeclarations)
Declares a class.
|
static void |
clearDebugInfo()
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 |
constant(Object value)
Creates a ConstantExpression that has the Value property set
to the specified value.
|
static ConstantExpression |
constant(Object value,
Type type)
Creates a ConstantExpression that has the Value and Type
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 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 UnaryExpression |
convertChecked(Expression expression,
Type type)
Creates a UnaryExpression that represents a conversion
operation that throws an exception if the target type is
overflowed.
|
static void |
debugInfo()
Creates a DebugInfoExpression with the specified span.
|
static DeclarationStatement |
declare(int modifiers,
ParameterExpression parameter,
Expression initializer)
Creates a statement that declares a variable.
|
static DeclarationStatement |
declare(int modifiers,
String name,
Expression initializer)
Creates an expression that declares and initializes 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,
Expression... expression)
Creates a
DynamicExpression that represents a dynamic
operation bound by the provided CallSiteBinder , using varargs. |
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 ElementInit |
elementInit(Method method,
Expression... expressions)
Creates an ElementInit, given an array of values as the second
argument, using varargs.
|
static ElementInit |
elementInit(Method method,
Iterable<? extends Expression> expressions)
Creates an
ElementInit , given an Iterable<T> as the second
argument. |
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 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(Expression expression,
Field field)
Creates a MemberExpression that represents accessing a field.
|
static MemberExpression |
field(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 MemberExpression |
field(Expression expression,
Type type,
String fieldName)
Creates a MemberExpression that represents accessing a field.
|
static FieldDeclaration |
fieldDecl(int modifier,
ParameterExpression parameter)
Declares a field.
|
static FieldDeclaration |
fieldDecl(int modifier,
ParameterExpression parameter,
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_(DeclarationStatement declaration,
Expression condition,
Expression post,
Statement body)
Creates a LoopExpression with the given body.
|
static ForStatement |
for_(Iterable<? extends DeclarationStatement> declarations,
Expression condition,
Expression post,
Statement body)
Creates a LoopExpression with the given body.
|
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,
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 GotoStatement |
goto_(LabelTarget labelTarget,
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(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 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 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,
Expression... arguments)
Creates an InvocationExpression that applies a delegate or
lambda expression to a list of argument expressions, using varargs.
|
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 boolean |
isConstantNull(Expression e)
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 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 LabelTarget |
label(String name)
Creates a LabelTarget representing a label with X type and
the given name.
|
static LabelTarget |
label(Type type)
Creates a LabelTarget representing a label with the given
type.
|
static LabelTarget |
label(Type type,
String name)
Creates a LabelTarget representing a label with the given type
and name.
|
static <F extends Function<?>> |
lambda(BlockStatement body,
Iterable<? extends ParameterExpression> parameters)
Creates a LambdaExpression by first constructing a delegate
type.
|
static <F extends Function<?>> |
lambda(BlockStatement body,
ParameterExpression... parameters)
Creates a LambdaExpression by first constructing a delegate
type, using varargs.
|
static <T,F extends Function<? extends T>> |
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>> |
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>> |
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>> |
lambda(Class<F> type,
Expression body,
ParameterExpression... parameters)
Creates a LambdaExpression by first constructing a delegate
type, using varargs.
|
static <F extends Function<?>> |
lambda(Expression body,
Iterable<? extends ParameterExpression> parameters)
Creates an Expression where the delegate type
F is
known at compile time. |
static <F extends Function<?>> |
lambda(Expression body,
ParameterExpression... parameters)
Creates an Expression where the delegate type
F is
known at compile time, using varargs. |
static <F extends Function<?>> |
lambda(F function)
Creates a FunctionExpression from an actual function.
|
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> |
list(Iterable<T> ts)
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,
ElementInit... elementInits)
Creates a MemberListBinding where the member is a field or
property, using varargs.
|
static MemberListBinding |
listBind(Member member,
Iterable<? extends ElementInit> elementInits)
Creates a MemberListBinding where the member is a field or
property.
|
static MemberListBinding |
listBind(Method method,
ElementInit... elementInits)
Creates a MemberListBinding object based on a specified
property accessor method, using varargs.
|
static MemberListBinding |
listBind(Method method,
Iterable<? extends ElementInit> elementInits)
Creates a MemberListBinding based on a specified property
accessor method.
|
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 |
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,
Expression... arguments)
Creates a ListInitExpression that uses a specified method to
add elements to a collection, using varargs.
|
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 |
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,
Expression... arguments)
Creates a DynamicExpression that represents a dynamic
operation bound by the provided CallSiteBinder, using varargs.
|
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 GotoStatement |
makeGoto(GotoExpressionKind kind,
LabelTarget labelTarget,
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(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,
CatchBlock... handlers)
Creates a TryExpression representing a try block with the
specified elements, using varargs.
|
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 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,
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,
Expression... expressions)
Creates a NewExpression that represents calling the specified
constructor with the specified arguments, using varargs.
|
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_(Type type)
Creates a NewExpression that represents calling the
parameterless constructor of the specified type.
|
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 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,
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 NewArrayExpression |
newArrayBounds(Type type,
int dimension,
Expression bound)
Creates a NewArrayExpression that represents creating an array
that has a specified rank.
|
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 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,
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,
Iterable<? extends Expression> expressions)
Creates a NewArrayExpression that represents creating a
one-dimensional array and initializing it from a list of
elements.
|
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 |
parameter(int modifiers,
Type type,
String name)
Creates a ParameterExpression.
|
static ParameterExpression |
parameter(Type type)
Creates a ParameterExpression node that can be used to
identify a parameter or a variable in an expression tree.
|
static ParameterExpression |
parameter(Type type,
String name)
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,
net.hydromatic.linq4j.expressions.Expressions.PropertyInfo property)
Creates a MemberExpression that represents accessing a
property.
|
static IndexExpression |
property(Expression expression,
net.hydromatic.linq4j.expressions.Expressions.PropertyInfo property,
Expression... arguments)
Creates an IndexExpression representing the access to an
indexed property, using varargs.
|
static IndexExpression |
property(Expression expression,
net.hydromatic.linq4j.expressions.Expressions.PropertyInfo property,
Iterable<? extends Expression> arguments)
Creates an IndexExpression representing the access to an
indexed property.
|
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,
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,
Type type,
String name)
Creates a MemberExpression accessing a property.
|
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 |
rethrow(Type type)
Creates a UnaryExpression that represents a rethrowing of an
exception with a given type.
|
static GotoStatement |
return_(LabelTarget labelTarget)
Creates a GotoExpression representing a return statement.
|
static GotoStatement |
return_(LabelTarget labelTarget,
Expression expression)
Creates a GotoExpression representing a return statement.
|
static GotoStatement |
return_(LabelTarget labelTarget,
Expression expression,
Type type)
Creates a GotoExpression representing a return statement with
the specified type.
|
static GotoStatement |
return_(LabelTarget labelTarget,
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 net.hydromatic.linq4j.expressions.Expressions.RuntimeVariablesExpression |
runtimeVariables(Iterable<? extends ParameterExpression> expressions)
Creates an instance of RuntimeVariablesExpression.
|
static net.hydromatic.linq4j.expressions.Expressions.RuntimeVariablesExpression |
runtimeVariables(ParameterExpression... arguments)
Creates an instance of RuntimeVariablesExpression, using varargs.
|
static Statement |
statement(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_(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_(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 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 SwitchCase |
switchCase(Expression expression,
Expression... body)
Creates a SwitchCase for use in a SwitchExpression, with varargs.
|
static SwitchCase |
switchCase(Expression expression,
Iterable<? extends Expression> body)
Creates a SwitchCase for use in a SwitchExpression.
|
static net.hydromatic.linq4j.expressions.Expressions.SymbolDocumentInfo |
symbolDocument(String fileName)
Creates an instance of SymbolDocumentInfo.
|
static net.hydromatic.linq4j.expressions.Expressions.SymbolDocumentInfo |
symbolDocument(String fileName,
UUID language)
Creates an instance of SymbolDocumentInfo.
|
static net.hydromatic.linq4j.expressions.Expressions.SymbolDocumentInfo |
symbolDocument(String fileName,
UUID language,
UUID vendor)
Creates an instance of SymbolDocumentInfo.
|
static net.hydromatic.linq4j.expressions.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 |
toString(List<? extends Node> expressions,
String sep,
boolean generics)
Converts a list of expressions to Java source code, optionally emitting
extra type information in generics.
|
static String |
toString(Node expression)
Converts an expression to Java source code.
|
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 |
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 |
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 Expression |
unbox(Expression expression,
Primitive primitive)
Returns an expression to unbox the value of a boxed-primitive expression.
|
static UnaryExpression |
unbox(Expression expression,
Type type)
Creates a UnaryExpression that represents an explicit
unboxing.
|
static ParameterExpression |
variable(Type type)
Creates a ParameterExpression node that can be used to
identify a parameter or a variable in an expression tree.
|
static ParameterExpression |
variable(Type type,
String name)
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.
|
public static String toString(List<? extends Node> expressions, String sep, boolean generics)
public static BinaryExpression add(Expression left, Expression right)
public static BinaryExpression add(Expression left, Expression right, Method method)
public static BinaryExpression addAssign(Expression left, Expression right)
public static BinaryExpression addAssign(Expression left, Expression right, Method method)
public static BinaryExpression addAssign(Expression left, Expression right, Method method, LambdaExpression lambdaLeft, LambdaExpression lambdaRight)
public static BinaryExpression addAssignChecked(Expression left, Expression right)
public static BinaryExpression addAssignChecked(Expression left, Expression right, Method method)
public static BinaryExpression addAssignChecked(Expression left, Expression right, Method method, LambdaExpression lambdaExpression)
public static BinaryExpression addChecked(Expression left, Expression right)
public static BinaryExpression addChecked(Expression left, Expression right, Method method)
public static BinaryExpression and(Expression left, Expression right)
public static BinaryExpression and(Expression left, Expression right, Method method)
public static BinaryExpression andAlso(Expression left, Expression right)
public static BinaryExpression andAlso(Expression left, Expression right, Method method)
public static BinaryExpression andAssign(Expression left, Expression right)
public static BinaryExpression andAssign(Expression left, Expression right, Method method)
public static BinaryExpression andAssign(Expression left, Expression right, Method method, LambdaExpression lambdaExpression)
public static IndexExpression arrayIndex(Expression array, Expression indexExpression)
public static UnaryExpression arrayLength(Expression array)
public static BinaryExpression assign(Expression left, Expression right)
public static MemberAssignment bind(Member member, Expression right)
public static MemberAssignment bind(Method method, Expression expression)
public static BlockStatement block(Iterable<? extends Statement> statements)
public static BlockStatement block(Statement... statements)
public static BlockStatement block(Type type, Iterable<? extends Statement> expressions)
public static BlockStatement block(Type type, Statement... statements)
public static GotoStatement break_(LabelTarget labelTarget)
public static GotoStatement break_(LabelTarget labelTarget, Expression expression)
public static GotoStatement break_(LabelTarget labelTarget, Type type)
public static GotoStatement break_(LabelTarget labelTarget, Expression expression, Type type)
public static MethodCallExpression call(Method method, Iterable<? extends Expression> arguments)
public static MethodCallExpression call(Method method, Expression... arguments)
public static MethodCallExpression call(Expression expression, Method method, Iterable<? extends Expression> arguments)
public static MethodCallExpression call(Expression expression, Method method, Expression... arguments)
public static MethodCallExpression call(Type returnType, Expression expression, Method method, Iterable<? extends Expression> arguments)
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.
public static MethodCallExpression call(Type returnType, Expression expression, Method method, Expression... arguments)
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.
public static MethodCallExpression call(Expression target, String methodName, Iterable<? extends Expression> arguments)
public static MethodCallExpression call(Expression target, String methodName, Expression... arguments)
public static MethodCallExpression call(Type type, String methodName, Iterable<? extends Expression> arguments)
public static MethodCallExpression call(Type type, String methodName, Expression... arguments)
public static CatchBlock catch_(ParameterExpression parameter, Statement statement)
public static void clearDebugInfo()
public static BinaryExpression coalesce(Expression left, Expression right)
public static BinaryExpression coalesce(Expression left, Expression right, LambdaExpression lambdaExpression)
public static Expression condition(Expression test, Expression ifTrue, Expression ifFalse)
public static boolean isConstantNull(Expression e)
public static ConditionalExpression condition(Expression test, Expression ifTrue, Expression ifFalse, Type type)
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
.
public static ConstantExpression constant(Object 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.
public static ConstantExpression constant(Object value, Type type)
public static GotoStatement continue_(LabelTarget labelTarget)
public static GotoStatement continue_(LabelTarget labelTarget, Type type)
public static UnaryExpression convert_(Expression expression, Type type)
public static UnaryExpression convert_(Expression expression, Type type, Method method)
public static UnaryExpression convertChecked(Expression expression, Type type)
public static UnaryExpression convertChecked_(Expression expression, Type type, Method method)
public static void debugInfo()
public static UnaryExpression decrement(Expression expression)
public static UnaryExpression decrement(Expression expression, Method method)
public static DefaultExpression default_()
public static BinaryExpression divide(Expression left, Expression right)
public static BinaryExpression divide(Expression left, Expression right, Method method)
public static BinaryExpression divideAssign(Expression left, Expression right)
public static BinaryExpression divideAssign(Expression left, Expression right, Method method)
public static BinaryExpression divideAssign(Expression left, Expression right, Method method, LambdaExpression lambdaExpression)
public static DynamicExpression dynamic(CallSiteBinder binder, Type type, Iterable<? extends Expression> expressions)
public static DynamicExpression dynamic(CallSiteBinder binder, Type type, Expression... expression)
DynamicExpression
that represents a dynamic
operation bound by the provided CallSiteBinder
, using varargs.public static ElementInit elementInit(Method method, Iterable<? extends Expression> expressions)
ElementInit
, given an Iterable<T>
as the second
argument.public static ElementInit elementInit(Method method, Expression... expressions)
public static DefaultExpression empty()
public static BinaryExpression equal(Expression left, Expression right)
public static BinaryExpression equal(Expression expression0, Expression expression1, boolean liftToNull, Method method)
public static BinaryExpression exclusiveOr(Expression left, Expression right)
public static BinaryExpression exclusiveOr(Expression left, Expression right, Method method)
public static BinaryExpression exclusiveOrAssign(Expression left, Expression right)
public static BinaryExpression exclusiveOrAssign(Expression left, Expression right, Method method)
public static BinaryExpression exclusiveOrAssign(Expression left, Expression right, Method method, LambdaExpression lambdaExpression)
public static MemberExpression field(Expression expression, Field field)
public static MemberExpression field(Expression expression, PseudoField field)
public static MemberExpression field(Expression expression, String fieldName)
public static MemberExpression field(Expression expression, Type type, String fieldName)
public static Class getActionType(Class... typeArgs)
public static Class getDelegateType(Class... typeArgs)
public static Class getFuncType(Class... typeArgs)
public static GotoStatement goto_(LabelTarget labelTarget)
public static GotoStatement goto_(LabelTarget labelTarget, Expression expression)
public static GotoStatement goto_(LabelTarget labelTarget, Type type)
public static GotoStatement goto_(LabelTarget labelTarget, Expression expression, Type type)
public static BinaryExpression greaterThan(Expression left, Expression right)
public static BinaryExpression greaterThan(Expression left, Expression right, boolean liftToNull, Method method)
public static BinaryExpression greaterThanOrEqual(Expression left, Expression right)
public static BinaryExpression greaterThanOrEqual(Expression left, Expression right, boolean liftToNull, Method method)
public static ConditionalStatement ifThen(Expression test, Node ifTrue)
public static ConditionalStatement ifThenElse(Expression test, Node ifTrue, Node ifFalse)
public static ConditionalStatement ifThenElse(Expression test, Node... nodes)
if (test) stmt1 [ else if (test2) stmt2 ]... [ else stmtN ]
.public static ConditionalStatement ifThenElse(Iterable<? extends Node> nodes)
if (test) stmt1 [ else if (test2) stmt2 ]... [ else stmtN ]
.public static UnaryExpression increment(Expression expression)
public static UnaryExpression increment(Expression expression, Method method)
public static InvocationExpression invoke(Expression expression, Iterable<? extends Expression> arguments)
public static InvocationExpression invoke(Expression expression, Expression... arguments)
public static UnaryExpression isFalse(Expression expression)
public static UnaryExpression isFalse(Expression expression, Method method)
public static UnaryExpression isTrue(Expression expression)
public static UnaryExpression isTrue(Expression expression, Method method)
public static LabelTarget label()
public static LabelStatement label(LabelTarget labelTarget)
public static LabelTarget label(String name)
public static LabelTarget label(Type type)
public static LabelStatement label(LabelTarget labelTarget, Expression expression)
public static LabelTarget label(Type type, String name)
public static <F extends Function<?>> FunctionExpression<F> lambda(F function)
public static <F extends Function<?>> FunctionExpression<F> lambda(BlockStatement body, Iterable<? extends ParameterExpression> parameters)
public static <F extends Function<?>> FunctionExpression<F> lambda(BlockStatement body, ParameterExpression... parameters)
public static <F extends Function<?>> FunctionExpression<F> lambda(Expression body, Iterable<? extends ParameterExpression> parameters)
F
is
known at compile time.public static <F extends Function<?>> FunctionExpression<F> lambda(Expression body, ParameterExpression... parameters)
F
is
known at compile time, using varargs.public static <T,F extends Function<? extends T>> FunctionExpression<F> lambda(Class<F> type, BlockStatement body, Iterable<? extends ParameterExpression> parameters)
It can be used when the delegate type is not known at compile time.
public static <T,F extends Function<? extends T>> FunctionExpression<F> lambda(Class<F> type, BlockStatement body, ParameterExpression... parameters)
It can be used when the delegate type is not known at compile time.
public static <T,F extends Function<? extends T>> FunctionExpression<F> lambda(Class<F> type, Expression body, Iterable<? extends ParameterExpression> parameters)
It can be used when the delegate type is not known at compile time.
public static <T,F extends Function<? extends T>> FunctionExpression<F> lambda(Class<F> type, Expression body, ParameterExpression... parameters)
It can be used when the delegate type is not known at compile time.
public static BinaryExpression leftShift(Expression left, Expression right)
public static BinaryExpression leftShift(Expression left, Expression right, Method method)
public static BinaryExpression leftShiftAssign(Expression left, Expression right)
public static BinaryExpression leftShiftAssign(Expression left, Expression right, Method method)
public static BinaryExpression leftShiftAssign(Expression left, Expression right, Method method, LambdaExpression lambdaExpression)
public static BinaryExpression lessThan(Expression left, Expression right)
public static BinaryExpression lessThan(Expression left, Expression right, boolean liftToNull, Method method)
public static BinaryExpression lessThanOrEqual(Expression left, Expression right)
public static BinaryExpression lessThanOrEqual(Expression left, Expression right, boolean liftToNull, Method method)
public static MemberListBinding listBind(Member member, Iterable<? extends ElementInit> elementInits)
public static MemberListBinding listBind(Member member, ElementInit... elementInits)
public static MemberListBinding listBind(Method method, Iterable<? extends ElementInit> elementInits)
public static MemberListBinding listBind(Method method, ElementInit... elementInits)
public static ListInitExpression listInit(NewExpression newExpression, Iterable<? extends ElementInit> elementInits)
public static ListInitExpression listInit(NewExpression newExpression, ElementInit... elementInits)
public static ListInitExpression listInitE(NewExpression newExpression, Iterable<? extends Expression> arguments)
public static ListInitExpression listInit(NewExpression newExpression, Expression... arguments)
public static ListInitExpression listInit(NewExpression newExpression, Method method, Iterable<? extends Expression> arguments)
public static ListInitExpression listInit(NewExpression newExpression, Method method, Expression... arguments)
public static ForStatement for_(Iterable<? extends DeclarationStatement> declarations, Expression condition, Expression post, Statement body)
public static ForStatement for_(DeclarationStatement declaration, Expression condition, Expression post, Statement body)
public static BinaryExpression makeBinary(ExpressionType binaryType, Expression left, Expression right)
public static Expression box(Expression expression, Primitive primitive)
box(e, Primitive.INT)
returns Integer.valueOf(e)
.public static Expression box(Expression expression)
public static Expression unbox(Expression expression, Primitive primitive)
unbox(e, Primitive.INT)
returns e.intValue()
.
It is assumed that e is of the right box type (or Number
)."Valuepublic static Expression unbox(Expression expression)
public static BinaryExpression makeBinary(ExpressionType binaryType, Expression left, Expression right, boolean liftToNull, Method method)
public static BinaryExpression makeBinary(ExpressionType binaryType, Expression left, Expression right, boolean liftToNull, Method method, LambdaExpression lambdaExpression)
public static TernaryExpression makeTernary(ExpressionType ternaryType, Expression e0, Expression e1, Expression e2)
public static CatchBlock makeCatchBlock(Type type, ParameterExpression variable, Expression body, Expression filter)
public static DynamicExpression makeDynamic(Type type, CallSiteBinder binder, Iterable<? extends Expression> arguments)
public static DynamicExpression makeDynamic(Type type, CallSiteBinder binder, Expression... arguments)
public static GotoStatement makeGoto(GotoExpressionKind kind, LabelTarget target, Expression value, Type type)
public static MemberExpression makeMemberAccess(Expression expression, PseudoField member)
public static TryStatement makeTry(Type type, Expression body, Expression finally_, Expression fault, Iterable<? extends CatchBlock> handlers)
public static TryStatement makeTry(Type type, Expression body, Expression finally_, Expression fault, CatchBlock... handlers)
public static UnaryExpression makeUnary(ExpressionType expressionType, Expression expression)
public static UnaryExpression makeUnary(ExpressionType expressionType, Expression expression, Type type, Method method)
public static MemberMemberBinding memberBind(Member member, Iterable<? extends MemberBinding> bindings)
public static MemberMemberBinding memberBind(Member member, MemberBinding... bindings)
public static MemberMemberBinding memberBind(Method method, Iterable<? extends MemberBinding> bindings)
public static MemberMemberBinding memberBind(Method method, MemberBinding... bindings)
public static MemberInitExpression memberInit(NewExpression newExpression, Iterable<? extends MemberBinding> bindings)
public static MemberInitExpression memberInit(NewExpression newExpression, MemberBinding... bindings)
public static MethodDeclaration methodDecl(int modifier, Type resultType, String name, Iterable<? extends ParameterExpression> parameters, BlockStatement body)
public static ConstructorDeclaration constructorDecl(int modifier, Type declaredAgainst, Iterable<? extends ParameterExpression> parameters, BlockStatement body)
public static FieldDeclaration fieldDecl(int modifier, ParameterExpression parameter, Expression initializer)
public static FieldDeclaration fieldDecl(int modifier, ParameterExpression parameter)
public static ClassDeclaration classDecl(int modifier, String name, Type extended, List<Type> implemented, List<MemberDeclaration> memberDeclarations)
public static BinaryExpression modulo(Expression left, Expression right)
public static BinaryExpression modulo(Expression left, Expression right, Method method)
public static BinaryExpression moduloAssign(Expression left, Expression right)
public static BinaryExpression moduloAssign(Expression left, Expression right, Method method)
public static BinaryExpression moduloAssign(Expression left, Expression right, Method method, LambdaExpression lambdaExpression)
public static BinaryExpression multiply(Expression left, Expression right)
public static BinaryExpression multiply(Expression left, Expression right, Method method)
public static BinaryExpression multiplyAssign(Expression left, Expression right)
public static BinaryExpression multiplyAssign(Expression left, Expression right, Method method)
public static BinaryExpression multiplyAssign(Expression left, Expression right, Method method, LambdaExpression lambdaExpression)
public static BinaryExpression multiplyAssignChecked(Expression left, Expression right)
public static BinaryExpression multiplyAssignChecked(Expression left, Expression right, Method method)
public static BinaryExpression multiplyAssignChecked(Expression left, Expression right, Method method, LambdaExpression lambdaExpression)
public static BinaryExpression multiplyChecked(Expression left, Expression right)
public static BinaryExpression multiplyChecked(Expression left, Expression right, Method method)
public static UnaryExpression negate(Expression expression)
public static UnaryExpression negate(Expression expression, Method method)
public static UnaryExpression negateChecked(Expression expression)
public static UnaryExpression negateChecked(Expression expression, Method method)
public static NewExpression new_(Constructor constructor)
public static NewExpression new_(Type type)
public static NewExpression new_(Type type, Iterable<? extends Expression> arguments)
public static NewExpression new_(Type type, Expression... arguments)
public static NewExpression new_(Type type, Iterable<? extends Expression> arguments, Iterable<? extends MemberDeclaration> memberDeclarations)
public static NewExpression new_(Type type, Iterable<? extends Expression> arguments, MemberDeclaration... memberDeclarations)
public static NewExpression new_(Constructor constructor, Iterable<? extends Expression> expressions)
public static NewExpression new_(Constructor constructor, Expression... expressions)
public static NewExpression new_(Constructor constructor, Iterable<? extends Expression> expressions, Iterable<? extends MemberDeclaration> memberDeclarations)
The members that access the constructor initialized fields are specified.
public static NewExpression new_(Constructor constructor, Iterable<? extends Expression> expressions, MemberDeclaration... memberDeclarations)
The members that access the constructor initialized fields are specified.
public static NewArrayExpression newArrayBounds(Type type, int dimension, Expression bound)
public static NewArrayExpression newArrayInit(Type type, Iterable<? extends Expression> expressions)
type
- Element type of the array.public static NewArrayExpression newArrayInit(Type type, Expression... expressions)
type
- Element type of the array.public static NewArrayExpression newArrayInit(Type type, int dimension, Iterable<? extends Expression> expressions)
type
- Element type of the array.public static NewArrayExpression newArrayInit(Type type, int dimension, Expression... expressions)
type
- Element type of the array.public static UnaryExpression not(Expression expression)
public static UnaryExpression not(Expression expression, Method method)
public static BinaryExpression notEqual(Expression left, Expression right)
public static BinaryExpression notEqual(Expression left, Expression right, boolean liftToNull, Method method)
public static UnaryExpression onesComplement(Expression expression)
public static UnaryExpression onesComplement(Expression expression, Method method)
public static BinaryExpression or(Expression left, Expression right)
public static BinaryExpression or(Expression left, Expression right, Method method)
public static BinaryExpression orAssign(Expression left, Expression right)
public static BinaryExpression orAssign(Expression left, Expression right, Method method)
public static BinaryExpression orAssign(Expression left, Expression right, Method method, LambdaExpression lambdaExpression)
public static BinaryExpression orElse(Expression left, Expression right)
public static BinaryExpression orElse(Expression left, Expression right, Method method)
public static ParameterExpression parameter(Type type)
public static ParameterExpression parameter(Type type, String name)
public static ParameterExpression parameter(int modifiers, Type type, String name)
public static UnaryExpression postDecrementAssign(Expression expression)
public static UnaryExpression postDecrementAssign(Expression expression, Method method)
public static UnaryExpression postIncrementAssign(Expression expression)
public static UnaryExpression postIncrementAssign(Expression expression, Method method)
public static BinaryExpression power(Expression left, Expression right)
public static BinaryExpression power(Expression left, Expression right, Method method)
public static BinaryExpression powerAssign(Expression left, Expression right)
public static BinaryExpression powerAssign(Expression left, Expression right, Method method)
public static BinaryExpression powerAssign(Expression left, Expression right, Method method, LambdaExpression lambdaExpression)
public static UnaryExpression preDecrementAssign(Expression expression)
public static UnaryExpression preDecrementAssign(Expression expression, Method method)
public static UnaryExpression preIncrementAssign(Expression expression)
public static UnaryExpression preIncrementAssign(Expression expression, Method method)
public static MemberExpression property(Expression expression, Method method)
public static MemberExpression property(Expression expression, net.hydromatic.linq4j.expressions.Expressions.PropertyInfo property)
public static MemberExpression property(Expression expression, String name)
public static IndexExpression property(Expression expression, net.hydromatic.linq4j.expressions.Expressions.PropertyInfo property, Iterable<? extends Expression> arguments)
public static IndexExpression property(Expression expression, net.hydromatic.linq4j.expressions.Expressions.PropertyInfo property, Expression... arguments)
public static IndexExpression property(Expression expression, String name, Expression... arguments)
public static MemberExpression property(Expression expression, Type type, String name)
public static MemberExpression propertyOrField(Expression expression, String propertyOfFieldName)
public static UnaryExpression quote(Expression expression)
public static Expression reduce(Expression expression)
public static Expression reduceAndCheck(Expression expression)
public static Expression reduceExtensions(Expression expression)
public static Expression referenceEqual(Expression left, Expression right)
public static Expression referenceNotEqual(Expression left, Expression right)
public static UnaryExpression rethrow()
public static UnaryExpression rethrow(Type type)
public static GotoStatement return_(LabelTarget labelTarget)
public static GotoStatement return_(LabelTarget labelTarget, Expression expression)
public static GotoStatement makeGoto(GotoExpressionKind kind, LabelTarget labelTarget, Expression expression)
public static GotoStatement return_(LabelTarget labelTarget, Type type)
public static GotoStatement return_(LabelTarget labelTarget, Expression expression, Type type)
public static BinaryExpression rightShift(Expression left, Expression right)
public static BinaryExpression rightShift(Expression left, Expression right, Method method)
public static BinaryExpression rightShiftAssign(Expression left, Expression right)
public static BinaryExpression rightShiftAssign(Expression left, Expression right, Method method)
public static BinaryExpression rightShiftAssign(Expression left, Expression right, Method method, LambdaExpression lambdaExpression)
public static net.hydromatic.linq4j.expressions.Expressions.RuntimeVariablesExpression runtimeVariables(Iterable<? extends ParameterExpression> expressions)
public static net.hydromatic.linq4j.expressions.Expressions.RuntimeVariablesExpression runtimeVariables(ParameterExpression... arguments)
public static BinaryExpression subtract(Expression left, Expression right)
public static BinaryExpression subtract(Expression left, Expression right, Method method)
public static BinaryExpression subtractAssign(Expression left, Expression right)
public static BinaryExpression subtractAssign(Expression left, Expression right, Method method)
public static BinaryExpression subtractAssign(Expression left, Expression right, Method method, LambdaExpression lambdaExpression)
public static BinaryExpression subtractAssignChecked(Expression left, Expression right)
public static BinaryExpression subtractAssignChecked(Expression left, Expression right, Method method)
public static BinaryExpression subtractAssignChecked(Expression left, Expression right, Method method, LambdaExpression lambdaExpression)
public static BinaryExpression subtractChecked(Expression left, Expression right)
public static BinaryExpression subtractChecked(Expression left, Expression right, Method method)
public static SwitchStatement switch_(Expression switchValue, SwitchCase... cases)
public static SwitchStatement switch_(Expression switchValue, Expression defaultBody, SwitchCase... cases)
public static SwitchStatement switch_(Expression switchValue, Expression defaultBody, Method method, Iterable<? extends SwitchCase> cases)
public static SwitchStatement switch_(Expression switchValue, Expression defaultBody, Method method, SwitchCase... cases)
public static SwitchStatement switch_(Type type, Expression switchValue, Expression defaultBody, Method method, Iterable<? extends SwitchCase> cases)
public static SwitchStatement switch_(Type type, Expression switchValue, Expression defaultBody, Method method, SwitchCase... cases)
public static SwitchCase switchCase(Expression expression, Iterable<? extends Expression> body)
public static SwitchCase switchCase(Expression expression, Expression... body)
public static net.hydromatic.linq4j.expressions.Expressions.SymbolDocumentInfo symbolDocument(String fileName)
public static net.hydromatic.linq4j.expressions.Expressions.SymbolDocumentInfo symbolDocument(String fileName, UUID language)
public static net.hydromatic.linq4j.expressions.Expressions.SymbolDocumentInfo symbolDocument(String fileName, UUID language, UUID vendor)
public static net.hydromatic.linq4j.expressions.Expressions.SymbolDocumentInfo symbolDocument(String filename, UUID language, UUID vendor, UUID documentType)
public static ThrowStatement throw_(Expression expression)
public static TryStatement tryCatch(Statement body, Iterable<? extends CatchBlock> handlers)
public static TryStatement tryCatch(Statement body, CatchBlock... handlers)
public static TryStatement tryCatchFinally(Statement body, Iterable<? extends CatchBlock> handlers, Statement finally_)
public static TryStatement tryCatchFinally(Statement body, Statement finally_, CatchBlock... handlers)
public static TryStatement tryFinally(Statement body, Statement finally_)
public static UnaryExpression typeAs(Expression expression, Type type)
public static TypeBinaryExpression typeEqual(Expression expression, Type type)
public static TypeBinaryExpression typeIs(Expression expression, Type type)
public static UnaryExpression unaryPlus(Expression expression)
public static UnaryExpression unaryPlus(Expression expression, Method method)
public static UnaryExpression unbox(Expression expression, Type type)
public static ParameterExpression variable(Type type)
public static ParameterExpression variable(Type type, String name)
public static Expression visitChildren(ExpressionVisitor visitor)
public static WhileStatement while_(Expression condition, Statement body)
public static DeclarationStatement declare(int modifiers, ParameterExpression parameter, Expression initializer)
public static DeclarationStatement declare(int modifiers, String name, Expression initializer)
ParameterExpression
from
the DeclarationStatement.parameter
field of the result.public static Statement statement(Expression expression)
public static Expression foldAnd(List<Expression> conditions)
public static Expression foldOr(List<Expression> conditions)
public static <T> Expressions.FluentList<T> list()
public static <T> Expressions.FluentList<T> list(T... ts)
public static <T> Expressions.FluentList<T> list(Iterable<T> ts)
Copyright © 2012-2014 Julian Hyde. All Rights Reserved.