void |
BlockBuilder.add(Expression expression) |
|
static BinaryExpression |
Expressions.add(Expression left,
Expression right) |
Creates a BinaryExpression that represents an arithmetic
addition operation that does not have overflow checking.
|
static BinaryExpression |
Expressions.add(Expression left,
Expression right,
Method method) |
Creates a BinaryExpression that represents an arithmetic
addition operation that does not have overflow checking.
|
static BinaryExpression |
Expressions.addAssign(Expression left,
Expression right) |
Creates a BinaryExpression that represents an addition
assignment operation that does not have overflow checking.
|
static BinaryExpression |
Expressions.addAssign(Expression left,
Expression right,
Method method) |
Creates a BinaryExpression that represents an addition
assignment operation that does not have overflow checking.
|
static BinaryExpression |
Expressions.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 |
Expressions.addAssignChecked(Expression left,
Expression right) |
Creates a BinaryExpression that represents an addition
assignment operation that has overflow checking.
|
static BinaryExpression |
Expressions.addAssignChecked(Expression left,
Expression right,
Method method) |
Creates a BinaryExpression that represents an addition
assignment operation that has overflow checking.
|
static BinaryExpression |
Expressions.addAssignChecked(Expression left,
Expression right,
Method method,
LambdaExpression lambdaExpression) |
Creates a BinaryExpression that represents an addition
assignment operation that has overflow checking.
|
static BinaryExpression |
Expressions.addChecked(Expression left,
Expression right) |
Creates a BinaryExpression that represents an arithmetic
addition operation that has overflow checking.
|
static BinaryExpression |
Expressions.addChecked(Expression left,
Expression right,
Method method) |
Creates a BinaryExpression that represents an arithmetic
addition operation that has overflow checking.
|
private static Boolean |
OptimizeShuttle.always(Expression x) |
Returns whether an expression always evaluates to true or false.
|
static BinaryExpression |
Expressions.and(Expression left,
Expression right) |
Creates a BinaryExpression that represents a bitwise AND
operation.
|
static BinaryExpression |
Expressions.and(Expression left,
Expression right,
Method method) |
Creates a BinaryExpression that represents a bitwise AND
operation.
|
static BinaryExpression |
Expressions.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 |
Expressions.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 |
Expressions.andAssign(Expression left,
Expression right) |
Creates a BinaryExpression that represents a bitwise AND
assignment operation.
|
static BinaryExpression |
Expressions.andAssign(Expression left,
Expression right,
Method method) |
Creates a BinaryExpression that represents a bitwise AND
assignment operation.
|
static BinaryExpression |
Expressions.andAssign(Expression left,
Expression right,
Method method,
LambdaExpression lambdaExpression) |
Creates a BinaryExpression that represents a bitwise AND
assignment operation.
|
Expression |
BlockBuilder.append(String name,
Expression expression) |
Appends an expression to a list of statements, and returns an expression
(possibly a variable) that represents the result of the newly added
block.
|
Expression |
BlockBuilder.append(String name,
Expression expression,
boolean optimize) |
Appends an expression to a list of statements, optionally optimizing if
the expression is used more than once.
|
BlockBuilder |
BlockBuilder.append(Expression expression) |
|
private Expression |
BlockBuilder.append_(String name,
Expression expression,
boolean optimize) |
|
Expression |
BlockBuilder.appendIfNotNull(String name,
Expression expression) |
Appends an expression to a list of statements, if it is not null.
|
static IndexExpression |
Expressions.arrayIndex(Expression array,
Expression indexExpression) |
Creates an expression that represents applying an array
index operator to an array of rank one.
|
static UnaryExpression |
Expressions.arrayLength(Expression array) |
Creates a UnaryExpression that represents an expression for
obtaining the length of a one-dimensional array.
|
static BinaryExpression |
Expressions.assign(Expression left,
Expression right) |
Creates a BinaryExpression that represents an assignment
operation.
|
static MemberAssignment |
Expressions.bind(Member member,
Expression right) |
Creates a MemberAssignment that represents the initialization
of a field or property.
|
static MemberAssignment |
Expressions.bind(Method method,
Expression expression) |
Creates a MemberAssignment that represents the initialization
of a member by using a property accessor method.
|
static Expression |
Expressions.box(Expression expression) |
Converts e.g.
|
static Expression |
Expressions.box(Expression expression,
Primitive primitive) |
Returns an expression to box the value of a primitive expression.
|
static GotoStatement |
Expressions.break_(LabelTarget labelTarget,
Expression expression) |
Creates a GotoExpression representing a break statement.
|
static GotoStatement |
Expressions.break_(LabelTarget labelTarget,
Expression expression,
Type type) |
Creates a GotoExpression representing a break statement with
the specified type.
|
static MethodCallExpression |
Expressions.call(Method method,
Expression... arguments) |
Creates a MethodCallExpression that represents a call to a
static method that has arguments, using varargs.
|
static MethodCallExpression |
Expressions.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 |
Expressions.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 |
Expressions.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 |
Expressions.call(Expression expression,
Method method,
Iterable<? extends Expression> arguments) |
Creates a MethodCallExpression that represents a call to a
method that takes arguments.
|
static MethodCallExpression |
Expressions.call(Expression expression,
Method method,
Expression... arguments) |
Creates a MethodCallExpression that represents a call to a
method that takes arguments, using varargs.
|
static MethodCallExpression |
Expressions.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 |
Expressions.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 Expression |
Types.castIfNecessary(Type returnType,
Expression expression) |
Wraps an expression in a cast if it is not already of the desired type,
or cannot be implicitly converted to it.
|
static BinaryExpression |
Expressions.coalesce(Expression left,
Expression right) |
Creates a BinaryExpression that represents a coalescing
operation.
|
static BinaryExpression |
Expressions.coalesce(Expression left,
Expression right,
LambdaExpression lambdaExpression) |
Creates a BinaryExpression that represents a coalescing
operation, given a conversion function.
|
static Expression |
Expressions.condition(Expression test,
Expression ifTrue,
Expression ifFalse) |
Creates a ConditionalExpression that represents a conditional
statement.
|
static ConditionalExpression |
Expressions.condition(Expression test,
Expression ifTrue,
Expression ifFalse,
Type type) |
Creates a ConditionalExpression that represents a conditional
statement.
|
static UnaryExpression |
Expressions.convert_(Expression expression,
Type type) |
Creates a UnaryExpression that represents a type conversion
operation.
|
static UnaryExpression |
Expressions.convert_(Expression expression,
Type type,
Method method) |
Creates a UnaryExpression that represents a conversion
operation for which the implementing method is specified.
|
static UnaryExpression |
Expressions.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 |
Expressions.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.
|
protected Expression |
DeterministicCodeOptimizer.createField(Expression expression) |
Creates final static field to hold the given expression.
|
static DeclarationStatement |
Expressions.declare(int modifiers,
String name,
Expression initializer) |
Creates an expression that declares and initializes a variable.
|
static DeclarationStatement |
Expressions.declare(int modifiers,
ParameterExpression parameter,
Expression initializer) |
Creates a statement that declares a variable.
|
static UnaryExpression |
Expressions.decrement(Expression expression) |
Creates a UnaryExpression that represents the decrementing of
the expression by 1.
|
static UnaryExpression |
Expressions.decrement(Expression expression,
Method method) |
Creates a UnaryExpression that represents the decrementing of
the expression by 1.
|
static BinaryExpression |
Expressions.divide(Expression left,
Expression right) |
Creates a BinaryExpression that represents an arithmetic
division operation.
|
static BinaryExpression |
Expressions.divide(Expression left,
Expression right,
Method method) |
Creates a BinaryExpression that represents an arithmetic
division operation.
|
static BinaryExpression |
Expressions.divideAssign(Expression left,
Expression right) |
Creates a BinaryExpression that represents a division
assignment operation that does not have overflow checking.
|
static BinaryExpression |
Expressions.divideAssign(Expression left,
Expression right,
Method method) |
Creates a BinaryExpression that represents a division
assignment operation that does not have overflow checking.
|
static BinaryExpression |
Expressions.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 |
Expressions.dynamic(CallSiteBinder binder,
Type type,
Expression... expression) |
Creates a DynamicExpression that represents a dynamic
operation bound by the provided CallSiteBinder, using varargs.
|
static ElementInit |
Expressions.elementInit(Method method,
Expression... expressions) |
Creates an ElementInit, given an array of values as the second
argument, using varargs.
|
private static boolean |
OptimizeShuttle.eq(Expression a,
Expression b) |
Treats two expressions equal even if they represent different null types
|
static BinaryExpression |
Expressions.equal(Expression left,
Expression right) |
Creates a BinaryExpression that represents an equality
comparison.
|
static BinaryExpression |
Expressions.equal(Expression expression0,
Expression expression1,
boolean liftToNull,
Method method) |
Creates a BinaryExpression that represents an equality
comparison.
|
static BinaryExpression |
Expressions.exclusiveOr(Expression left,
Expression right) |
Creates a BinaryExpression that represents a bitwise XOR
operation, using op_ExclusiveOr for user-defined types.
|
static BinaryExpression |
Expressions.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 |
Expressions.exclusiveOrAssign(Expression left,
Expression right) |
Creates a BinaryExpression that represents a bitwise XOR
assignment operation, using op_ExclusiveOr for user-defined
types.
|
static BinaryExpression |
Expressions.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 |
Expressions.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 |
Expressions.field(Expression expression,
Field field) |
Creates a MemberExpression that represents accessing a field.
|
static MemberExpression |
Expressions.field(Expression expression,
Type type,
String fieldName) |
Creates a MemberExpression that represents accessing a field.
|
static MemberExpression |
Expressions.field(Expression expression,
String fieldName) |
Creates a MemberExpression that represents accessing a field
given the name of the field.
|
static MemberExpression |
Expressions.field(Expression expression,
PseudoField field) |
Creates a MemberExpression that represents accessing a field.
|
static FieldDeclaration |
Expressions.fieldDecl(int modifier,
ParameterExpression parameter,
Expression initializer) |
Declares a field with an initializer.
|
protected ParameterExpression |
ClassDeclarationFinder.findDeclaredExpression(Expression expression) |
Finds if there exists ready for reuse declaration for given expression.
|
protected ParameterExpression |
DeterministicCodeOptimizer.findDeclaredExpression(Expression expression) |
Finds if there exists ready for reuse declaration for given expression.
|
static ForStatement |
Expressions.for_(Iterable<? extends DeclarationStatement> declarations,
Expression condition,
Expression post,
Statement body) |
Creates a LoopExpression with the given body.
|
static ForStatement |
Expressions.for_(DeclarationStatement declaration,
Expression condition,
Expression post,
Statement body) |
Creates a LoopExpression with the given body.
|
DeclarationStatement |
BlockBuilder.getComputedExpression(Expression expr) |
Returns the reference to ParameterExpression if given expression was
already computed and stored to local variable
|
static GotoStatement |
Expressions.goto_(LabelTarget labelTarget,
Expression expression) |
Creates a GotoExpression representing a "go to" statement.
|
static GotoStatement |
Expressions.goto_(LabelTarget labelTarget,
Expression expression,
Type type) |
Creates a GotoExpression representing a "go to" statement with
the specified type.
|
static BinaryExpression |
Expressions.greaterThan(Expression left,
Expression right) |
Creates a BinaryExpression that represents a "greater than"
numeric comparison.
|
static BinaryExpression |
Expressions.greaterThan(Expression left,
Expression right,
boolean liftToNull,
Method method) |
Creates a BinaryExpression that represents a "greater than"
numeric comparison.
|
static BinaryExpression |
Expressions.greaterThanOrEqual(Expression left,
Expression right) |
Creates a BinaryExpression that represents a "greater than or
equal" numeric comparison.
|
static BinaryExpression |
Expressions.greaterThanOrEqual(Expression left,
Expression right,
boolean liftToNull,
Method method) |
Creates a BinaryExpression that represents a "greater than or
equal" numeric comparison.
|
static ConditionalStatement |
Expressions.ifThen(Expression test,
Node ifTrue) |
Creates a ConditionalExpression that represents a conditional
block with an if statement.
|
static ConditionalStatement |
Expressions.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 |
Expressions.ifThenElse(Expression test,
Node ifTrue,
Node ifFalse) |
Creates a ConditionalExpression that represents a conditional
block with if and else statements.
|
static UnaryExpression |
Expressions.increment(Expression expression) |
Creates a UnaryExpression that represents the incrementing of
the expression value by 1.
|
static UnaryExpression |
Expressions.increment(Expression expression,
Method method) |
Creates a UnaryExpression that represents the incrementing of
the expression by 1.
|
protected String |
DeterministicCodeOptimizer.inventFieldName(Expression expression) |
Generates field name to store given expression.
|
static InvocationExpression |
Expressions.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 |
Expressions.invoke(Expression expression,
Expression... arguments) |
Creates an InvocationExpression that applies a delegate or
lambda expression to a list of argument expressions, using varargs.
|
protected boolean |
ClassDeclarationFinder.isConstant(Expression expression) |
Verifies if the expression is effectively constant.
|
protected boolean |
DeterministicCodeOptimizer.isConstant(Expression expression) |
Verifies if the expression is effectively constant.
|
static boolean |
Expressions.isConstantNull(Expression e) |
Returns whether an expression always evaluates to null.
|
private boolean |
OptimizeShuttle.isConstantNull(Expression expression) |
|
static UnaryExpression |
Expressions.isFalse(Expression expression) |
Returns whether the expression evaluates to false.
|
static UnaryExpression |
Expressions.isFalse(Expression expression,
Method method) |
Returns whether the expression evaluates to false.
|
protected boolean |
OptimizeShuttle.isKnownNotNull(Expression expression) |
Returns whether an expression always returns a non-null result.
|
protected boolean |
BlockBuilder.isSimpleExpression(Expression expr) |
Checks if expression is simple enough to always inline at zero cost.
|
static UnaryExpression |
Expressions.isTrue(Expression expression) |
Returns whether the expression evaluates to true.
|
static UnaryExpression |
Expressions.isTrue(Expression expression,
Method method) |
Returns whether the expression evaluates to true.
|
static LabelStatement |
Expressions.label(LabelTarget labelTarget,
Expression expression) |
Creates a LabelExpression representing a label with the given
default value.
|
static <T,F extends Function<? extends T>> FunctionExpression<F> |
Expressions.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> |
Expressions.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> |
Expressions.lambda(Expression body,
Iterable<? extends ParameterExpression> parameters) |
Creates an Expression where the delegate type F is
known at compile time.
|
static <F extends Function<?>> FunctionExpression<F> |
Expressions.lambda(Expression body,
ParameterExpression... parameters) |
Creates an Expression where the delegate type F is
known at compile time, using varargs.
|
static BinaryExpression |
Expressions.leftShift(Expression left,
Expression right) |
Creates a BinaryExpression that represents a bitwise
left-shift operation.
|
static BinaryExpression |
Expressions.leftShift(Expression left,
Expression right,
Method method) |
Creates a BinaryExpression that represents a bitwise
left-shift operation.
|
static BinaryExpression |
Expressions.leftShiftAssign(Expression left,
Expression right) |
Creates a BinaryExpression that represents a bitwise
left-shift assignment operation.
|
static BinaryExpression |
Expressions.leftShiftAssign(Expression left,
Expression right,
Method method) |
Creates a BinaryExpression that represents a bitwise
left-shift assignment operation.
|
static BinaryExpression |
Expressions.leftShiftAssign(Expression left,
Expression right,
Method method,
LambdaExpression lambdaExpression) |
Creates a BinaryExpression that represents a bitwise
left-shift assignment operation.
|
static BinaryExpression |
Expressions.lessThan(Expression left,
Expression right) |
Creates a BinaryExpression that represents a "less than"
numeric comparison.
|
static BinaryExpression |
Expressions.lessThan(Expression left,
Expression right,
boolean liftToNull,
Method method) |
Creates a BinaryExpression that represents a "less than"
numeric comparison.
|
static BinaryExpression |
Expressions.lessThanOrEqual(Expression left,
Expression right) |
Creates a BinaryExpression that represents a " less than or
equal" numeric comparison.
|
static BinaryExpression |
Expressions.lessThanOrEqual(Expression left,
Expression right,
boolean liftToNull,
Method method) |
Creates a BinaryExpression that represents a "less than or
equal" numeric comparison.
|
static ListInitExpression |
Expressions.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 |
Expressions.listInit(NewExpression newExpression,
Expression... arguments) |
Creates a ListInitExpression that uses a method named "Add" to
add elements to a collection, using varargs.
|
static BinaryExpression |
Expressions.makeBinary(ExpressionType binaryType,
Expression left,
Expression right) |
Creates a BinaryExpression, given the left and right operands,
by calling an appropriate factory method.
|
static BinaryExpression |
Expressions.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 |
Expressions.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 |
Expressions.makeCatchBlock(Type type,
ParameterExpression variable,
Expression body,
Expression filter) |
Creates a CatchBlock representing a catch statement with the
specified elements.
|
static DynamicExpression |
Expressions.makeDynamic(Type type,
CallSiteBinder binder,
Expression... arguments) |
Creates a DynamicExpression that represents a dynamic
operation bound by the provided CallSiteBinder, using varargs.
|
static GotoStatement |
Expressions.makeGoto(GotoExpressionKind kind,
LabelTarget labelTarget,
Expression expression) |
|
static GotoStatement |
Expressions.makeGoto(GotoExpressionKind kind,
LabelTarget target,
Expression value,
Type type) |
Creates a GotoExpression representing a jump of the specified
GotoExpressionKind.
|
static MemberExpression |
Expressions.makeMemberAccess(Expression expression,
PseudoField member) |
Creates a MemberExpression that represents accessing a field.
|
static TernaryExpression |
Expressions.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 |
Expressions.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 |
Expressions.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 |
Expressions.makeUnary(ExpressionType expressionType,
Expression expression) |
Creates a UnaryExpression, given an operand, by calling the
appropriate factory method.
|
static UnaryExpression |
Expressions.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 BinaryExpression |
Expressions.modulo(Expression left,
Expression right) |
Creates a BinaryExpression that represents an arithmetic
remainder operation.
|
static BinaryExpression |
Expressions.modulo(Expression left,
Expression right,
Method method) |
Creates a BinaryExpression that represents an arithmetic
remainder operation.
|
static BinaryExpression |
Expressions.moduloAssign(Expression left,
Expression right) |
Creates a BinaryExpression that represents a remainder
assignment operation.
|
static BinaryExpression |
Expressions.moduloAssign(Expression left,
Expression right,
Method method) |
Creates a BinaryExpression that represents a remainder
assignment operation.
|
static BinaryExpression |
Expressions.moduloAssign(Expression left,
Expression right,
Method method,
LambdaExpression lambdaExpression) |
Creates a BinaryExpression that represents a remainder
assignment operation.
|
static BinaryExpression |
Expressions.multiply(Expression left,
Expression right) |
Creates a BinaryExpression that represents an arithmetic
multiplication operation that does not have overflow
checking.
|
static BinaryExpression |
Expressions.multiply(Expression left,
Expression right,
Method method) |
Creates a BinaryExpression that represents an arithmetic
multiplication operation that does not have overflow
checking.
|
static BinaryExpression |
Expressions.multiplyAssign(Expression left,
Expression right) |
Creates a BinaryExpression that represents a multiplication
assignment operation that does not have overflow checking.
|
static BinaryExpression |
Expressions.multiplyAssign(Expression left,
Expression right,
Method method) |
Creates a BinaryExpression that represents a multiplication
assignment operation that does not have overflow checking.
|
static BinaryExpression |
Expressions.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 |
Expressions.multiplyAssignChecked(Expression left,
Expression right) |
Creates a BinaryExpression that represents a multiplication
assignment operation that has overflow checking.
|
static BinaryExpression |
Expressions.multiplyAssignChecked(Expression left,
Expression right,
Method method) |
Creates a BinaryExpression that represents a multiplication
assignment operation that has overflow checking.
|
static BinaryExpression |
Expressions.multiplyAssignChecked(Expression left,
Expression right,
Method method,
LambdaExpression lambdaExpression) |
Creates a BinaryExpression that represents a multiplication
assignment operation that has overflow checking.
|
static BinaryExpression |
Expressions.multiplyChecked(Expression left,
Expression right) |
Creates a BinaryExpression that represents an arithmetic
multiplication operation that has overflow checking.
|
static BinaryExpression |
Expressions.multiplyChecked(Expression left,
Expression right,
Method method) |
Creates a BinaryExpression that represents an arithmetic
multiplication operation that has overflow checking.
|
static UnaryExpression |
Expressions.negate(Expression expression) |
Creates a UnaryExpression that represents an arithmetic
negation operation.
|
static UnaryExpression |
Expressions.negate(Expression expression,
Method method) |
Creates a UnaryExpression that represents an arithmetic
negation operation.
|
static UnaryExpression |
Expressions.negateChecked(Expression expression) |
Creates a UnaryExpression that represents an arithmetic
negation operation that has overflow checking.
|
static UnaryExpression |
Expressions.negateChecked(Expression expression,
Method method) |
Creates a UnaryExpression that represents an arithmetic
negation operation that has overflow checking.
|
static NewExpression |
Expressions.new_(Constructor constructor,
Expression... expressions) |
Creates a NewExpression that represents calling the specified
constructor with the specified arguments, using varargs.
|
static NewExpression |
Expressions.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 |
Expressions.newArrayBounds(Type type,
int dimension,
Expression bound) |
Creates a NewArrayExpression that represents creating an array
that has a specified rank.
|
static NewArrayExpression |
Expressions.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 |
Expressions.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 |
Expressions.not(Expression expression) |
Creates a UnaryExpression that represents a bitwise complement
operation.
|
static UnaryExpression |
Expressions.not(Expression expression,
Method method) |
Creates a UnaryExpression that represents a bitwise complement
operation.
|
static BinaryExpression |
Expressions.notEqual(Expression left,
Expression right) |
Creates a BinaryExpression that represents an inequality
comparison.
|
static BinaryExpression |
Expressions.notEqual(Expression left,
Expression right,
boolean liftToNull,
Method method) |
Creates a BinaryExpression that represents an inequality
comparison.
|
static UnaryExpression |
Expressions.onesComplement(Expression expression) |
Returns the expression representing the ones complement.
|
static UnaryExpression |
Expressions.onesComplement(Expression expression,
Method method) |
Returns the expression representing the ones complement.
|
static BinaryExpression |
Expressions.or(Expression left,
Expression right) |
Creates a BinaryExpression that represents a bitwise OR
operation.
|
static BinaryExpression |
Expressions.or(Expression left,
Expression right,
Method method) |
Creates a BinaryExpression that represents a bitwise OR
operation.
|
static BinaryExpression |
Expressions.orAssign(Expression left,
Expression right) |
Creates a BinaryExpression that represents a bitwise OR
assignment operation.
|
static BinaryExpression |
Expressions.orAssign(Expression left,
Expression right,
Method method) |
Creates a BinaryExpression that represents a bitwise OR
assignment operation.
|
static BinaryExpression |
Expressions.orAssign(Expression left,
Expression right,
Method method,
LambdaExpression lambdaExpression) |
Creates a BinaryExpression that represents a bitwise OR
assignment operation.
|
static BinaryExpression |
Expressions.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 |
Expressions.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 UnaryExpression |
Expressions.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 |
Expressions.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 |
Expressions.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 |
Expressions.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 |
Expressions.power(Expression left,
Expression right) |
Creates a BinaryExpression that represents raising a number to
a power.
|
static BinaryExpression |
Expressions.power(Expression left,
Expression right,
Method method) |
Creates a BinaryExpression that represents raising a number to
a power.
|
static BinaryExpression |
Expressions.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 |
Expressions.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 |
Expressions.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 |
Expressions.preDecrementAssign(Expression expression) |
Creates a UnaryExpression that decrements the expression by 1
and assigns the result back to the expression.
|
static UnaryExpression |
Expressions.preDecrementAssign(Expression expression,
Method method) |
Creates a UnaryExpression that decrements the expression by 1
and assigns the result back to the expression.
|
static UnaryExpression |
Expressions.preIncrementAssign(Expression expression) |
Creates a UnaryExpression that increments the expression by 1
and assigns the result back to the expression.
|
static UnaryExpression |
Expressions.preIncrementAssign(Expression expression,
Method method) |
Creates a UnaryExpression that increments the expression by 1
and assigns the result back to the expression.
|
static MemberExpression |
Expressions.property(Expression expression,
Method method) |
Creates a MemberExpression that represents accessing a
property by using a property accessor method.
|
static MemberExpression |
Expressions.property(Expression expression,
Type type,
String name) |
Creates a MemberExpression accessing a property.
|
static MemberExpression |
Expressions.property(Expression expression,
String name) |
Creates a MemberExpression that represents accessing a
property.
|
static IndexExpression |
Expressions.property(Expression expression,
String name,
Expression... arguments) |
Creates an IndexExpression representing the access to an
indexed property.
|
static MemberExpression |
Expressions.property(Expression expression,
Expressions.PropertyInfo property) |
Creates a MemberExpression that represents accessing a
property.
|
static IndexExpression |
Expressions.property(Expression expression,
Expressions.PropertyInfo property,
Iterable<? extends Expression> arguments) |
Creates an IndexExpression representing the access to an
indexed property.
|
static IndexExpression |
Expressions.property(Expression expression,
Expressions.PropertyInfo property,
Expression... arguments) |
Creates an IndexExpression representing the access to an
indexed property, using varargs.
|
static MemberExpression |
Expressions.propertyOrField(Expression expression,
String propertyOfFieldName) |
Creates a MemberExpression that represents accessing a
property or field.
|
static UnaryExpression |
Expressions.quote(Expression expression) |
Creates a UnaryExpression that represents an expression that
has a constant value of type Expression.
|
static Expression |
Expressions.reduce(Expression expression) |
Reduces this node to a simpler expression.
|
static Expression |
Expressions.reduceAndCheck(Expression expression) |
Reduces this node to a simpler expression.
|
static Expression |
Expressions.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 |
Expressions.referenceEqual(Expression left,
Expression right) |
Creates a BinaryExpression that represents a reference
equality comparison.
|
static Expression |
Expressions.referenceNotEqual(Expression left,
Expression right) |
Creates a BinaryExpression that represents a reference
inequality comparison.
|
boolean |
ExpressionWriter.requireParentheses(Expression expression,
int lprec,
int rprec) |
If parentheses are required, writes this expression out with
parentheses and returns true.
|
static GotoStatement |
Expressions.return_(LabelTarget labelTarget,
Expression expression) |
Creates a GotoExpression representing a return statement.
|
static GotoStatement |
Expressions.return_(LabelTarget labelTarget,
Expression expression,
Type type) |
Creates a GotoExpression representing a return statement with
the specified type.
|
static BinaryExpression |
Expressions.rightShift(Expression left,
Expression right) |
Creates a BinaryExpression that represents a bitwise
right-shift operation.
|
static BinaryExpression |
Expressions.rightShift(Expression left,
Expression right,
Method method) |
Creates a BinaryExpression that represents a bitwise
right-shift operation.
|
static BinaryExpression |
Expressions.rightShiftAssign(Expression left,
Expression right) |
Creates a BinaryExpression that represents a bitwise
right-shift assignment operation.
|
static BinaryExpression |
Expressions.rightShiftAssign(Expression left,
Expression right,
Method method) |
Creates a BinaryExpression that represents a bitwise
right-shift assignment operation.
|
static BinaryExpression |
Expressions.rightShiftAssign(Expression left,
Expression right,
Method method,
LambdaExpression lambdaExpression) |
Creates a BinaryExpression that represents a bitwise
right-shift assignment operation.
|
private static boolean |
Expressions.shouldLift(Expression left,
Expression right,
Method method) |
|
static Statement |
Expressions.statement(Expression expression) |
Creates a statement that executes an expression.
|
static BinaryExpression |
Expressions.subtract(Expression left,
Expression right) |
Creates a BinaryExpression that represents an arithmetic
subtraction operation that does not have overflow checking.
|
static BinaryExpression |
Expressions.subtract(Expression left,
Expression right,
Method method) |
Creates a BinaryExpression that represents an arithmetic
subtraction operation that does not have overflow checking.
|
static BinaryExpression |
Expressions.subtractAssign(Expression left,
Expression right) |
Creates a BinaryExpression that represents a subtraction
assignment operation that does not have overflow checking.
|
static BinaryExpression |
Expressions.subtractAssign(Expression left,
Expression right,
Method method) |
Creates a BinaryExpression that represents a subtraction
assignment operation that does not have overflow checking.
|
static BinaryExpression |
Expressions.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 |
Expressions.subtractAssignChecked(Expression left,
Expression right) |
Creates a BinaryExpression that represents a subtraction
assignment operation that has overflow checking.
|
static BinaryExpression |
Expressions.subtractAssignChecked(Expression left,
Expression right,
Method method) |
Creates a BinaryExpression that represents a subtraction
assignment operation that has overflow checking.
|
static BinaryExpression |
Expressions.subtractAssignChecked(Expression left,
Expression right,
Method method,
LambdaExpression lambdaExpression) |
Creates a BinaryExpression that represents a subtraction
assignment operation that has overflow checking.
|
static BinaryExpression |
Expressions.subtractChecked(Expression left,
Expression right) |
Creates a BinaryExpression that represents an arithmetic
subtraction operation that has overflow checking.
|
static BinaryExpression |
Expressions.subtractChecked(Expression left,
Expression right,
Method method) |
Creates a BinaryExpression that represents an arithmetic
subtraction operation that has overflow checking.
|
static SwitchStatement |
Expressions.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 |
Expressions.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 |
Expressions.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 |
Expressions.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 |
Expressions.switch_(Expression switchValue,
Expression defaultBody,
SwitchCase... cases) |
Creates a SwitchExpression that represents a switch statement
that has a default case.
|
static SwitchStatement |
Expressions.switch_(Expression switchValue,
SwitchCase... cases) |
Creates a SwitchExpression that represents a switch statement
without a default case.
|
static SwitchCase |
Expressions.switchCase(Expression expression,
Iterable<? extends Expression> body) |
Creates a SwitchCase for use in a SwitchExpression.
|
static SwitchCase |
Expressions.switchCase(Expression expression,
Expression... body) |
Creates a SwitchCase for use in a SwitchExpression, with varargs.
|
static ThrowStatement |
Expressions.throw_(Expression expression) |
Creates a statement that represents the throwing of an exception.
|
static UnaryExpression |
Expressions.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 |
Expressions.typeEqual(Expression expression,
Type type) |
Creates a TypeBinaryExpression that compares run-time type
identity.
|
static TypeBinaryExpression |
Expressions.typeIs(Expression expression,
Type type) |
Creates a TypeBinaryExpression.
|
static UnaryExpression |
Expressions.unaryPlus(Expression expression) |
Creates a UnaryExpression that represents a unary plus
operation.
|
static UnaryExpression |
Expressions.unaryPlus(Expression expression,
Method method) |
Creates a UnaryExpression that represents a unary plus
operation.
|
static Expression |
Expressions.unbox(Expression expression) |
Converts e.g.
|
static UnaryExpression |
Expressions.unbox(Expression expression,
Type type) |
Creates a UnaryExpression that represents an explicit
unboxing.
|
static Expression |
Expressions.unbox(Expression expression,
Primitive primitive) |
Returns an expression to unbox the value of a boxed-primitive expression.
|
Expression |
BlockBuilder.InlineVariableVisitor.visit(BinaryExpression binaryExpression,
Expression expression0,
Expression expression1) |
|
Expression |
BlockBuilder.InlineVariableVisitor.visit(UnaryExpression unaryExpression,
Expression expression) |
|
Expression |
DeterministicCodeOptimizer.visit(BinaryExpression binaryExpression,
Expression expression0,
Expression expression1) |
|
MemberDeclaration |
DeterministicCodeOptimizer.visit(FieldDeclaration fieldDeclaration,
Expression initializer) |
|
Expression |
DeterministicCodeOptimizer.visit(MemberExpression memberExpression,
Expression expression) |
|
Expression |
DeterministicCodeOptimizer.visit(MethodCallExpression methodCallExpression,
Expression targetExpression,
List<Expression> expressions) |
|
Expression |
DeterministicCodeOptimizer.visit(TernaryExpression ternaryExpression,
Expression expression0,
Expression expression1,
Expression expression2) |
|
Expression |
DeterministicCodeOptimizer.visit(TypeBinaryExpression typeBinaryExpression,
Expression expression) |
|
Expression |
DeterministicCodeOptimizer.visit(UnaryExpression unaryExpression,
Expression expression) |
|
Expression |
OptimizeShuttle.visit(BinaryExpression binary,
Expression expression0,
Expression expression1) |
|
Expression |
OptimizeShuttle.visit(MethodCallExpression methodCallExpression,
Expression targetExpression,
List<Expression> expressions) |
|
Expression |
OptimizeShuttle.visit(TernaryExpression ternary,
Expression expression0,
Expression expression1,
Expression expression2) |
|
Expression |
OptimizeShuttle.visit(UnaryExpression unaryExpression,
Expression expression) |
|
Expression |
Shuttle.visit(BinaryExpression binaryExpression,
Expression expression0,
Expression expression1) |
|
DeclarationStatement |
Shuttle.visit(DeclarationStatement declarationStatement,
Expression initializer) |
|
MemberDeclaration |
Shuttle.visit(FieldDeclaration fieldDeclaration,
Expression initializer) |
|
ForStatement |
Shuttle.visit(ForStatement forStatement,
List<DeclarationStatement> declarations,
Expression condition,
Expression post,
Statement body) |
|
Statement |
Shuttle.visit(GotoStatement gotoStatement,
Expression expression) |
|
Expression |
Shuttle.visit(IndexExpression indexExpression,
Expression array,
List<Expression> indexExpressions) |
|
Expression |
Shuttle.visit(MemberExpression memberExpression,
Expression expression) |
|
Expression |
Shuttle.visit(MethodCallExpression methodCallExpression,
Expression targetExpression,
List<Expression> expressions) |
|
Expression |
Shuttle.visit(NewArrayExpression newArrayExpression,
int dimension,
Expression bound,
List<Expression> expressions) |
|
Expression |
Shuttle.visit(TernaryExpression ternaryExpression,
Expression expression0,
Expression expression1,
Expression expression2) |
|
Statement |
Shuttle.visit(ThrowStatement throwStatement,
Expression expression) |
|
Expression |
Shuttle.visit(TypeBinaryExpression typeBinaryExpression,
Expression expression) |
|
Expression |
Shuttle.visit(UnaryExpression unaryExpression,
Expression expression) |
|
Statement |
Shuttle.visit(WhileStatement whileStatement,
Expression condition,
Statement body) |
|
private Expression |
OptimizeShuttle.visit0(BinaryExpression binary,
Expression expression0,
Expression expression1) |
|
static WhileStatement |
Expressions.while_(Expression condition,
Statement body) |
Creates a WhileExpression representing a while loop.
|