Package | Description |
---|---|
net.hydromatic.linq4j |
Language-integrated query for Java (linq4j) main package.
|
net.hydromatic.linq4j.expressions |
Object model for Java expressions.
|
Modifier and Type | Field and Description |
---|---|
protected Expression |
BaseQueryable.expression |
Modifier and Type | Method and Description |
---|---|
Expression |
RawQueryable.getExpression()
Gets the expression tree that is associated with this Queryable.
|
Expression |
BaseQueryable.getExpression() |
Expression |
QueryableDefaults.NonLeafReplayableQueryable.getExpression() |
Modifier and Type | Method and Description |
---|---|
<T> Queryable<T> |
QueryProvider.createQuery(Expression expression,
Class<T> rowType)
Constructs a
Queryable object that can evaluate the query
represented by a specified expression tree. |
<T> Queryable<T> |
QueryProviderImpl.createQuery(Expression expression,
Class<T> rowType) |
<T> Queryable<T> |
QueryProvider.createQuery(Expression expression,
Type rowType)
Constructs a
Queryable object that can evaluate the query
represented by a specified expression tree. |
<T> Queryable<T> |
QueryProviderImpl.createQuery(Expression expression,
Type rowType) |
<T> T |
QueryProvider.execute(Expression expression,
Class<T> type)
Executes the query represented by a specified expression tree.
|
<T> T |
QueryProviderImpl.execute(Expression expression,
Class<T> type) |
<T> T |
QueryProvider.execute(Expression expression,
Type type)
Executes the query represented by a specified expression tree.
|
<T> T |
QueryProviderImpl.execute(Expression expression,
Type type) |
Constructor and Description |
---|
BaseQueryable(QueryProvider provider,
Type elementType,
Expression expression) |
QueryableImpl(QueryProviderImpl provider,
Type elementType,
Expression expression) |
Modifier and Type | Class and Description |
---|---|
class |
BinaryExpression
Represents an expression that has a binary operator.
|
class |
ConstantExpression
Represents an expression that has a constant value.
|
class |
ConstantUntypedNull
Represents a constant null of unknown type
Java allows type inference for such nulls, thus "null" cannot always be
replaced to (Object)null and vise versa.
|
class |
DefaultExpression
Represents the default value of a type or an empty expression.
|
class |
DynamicExpression
Represents a dynamic operation.
|
class |
FunctionExpression<F extends Function<?>>
Represents a strongly typed lambda expression as a data structure in the form
of an expression tree.
|
class |
IndexExpression
Represents indexing a property or array.
|
class |
InvocationExpression
Represents an expression that applies a delegate or lambda expression to a
list of argument expressions.
|
class |
LambdaExpression
Describes a lambda expression.
|
class |
ListInitExpression
Represents a constructor call that has a collection initializer.
|
class |
MemberExpression
Represents accessing a field or property.
|
class |
MemberInitExpression
Represents calling a constructor and initializing one or more members of the
new object.
|
class |
MethodCallExpression
Represents a call to either a static or an instance method.
|
class |
NewArrayExpression
Represents creating a new array and possibly initializing the elements of the
new array.
|
class |
NewExpression
Represents a constructor call.
|
class |
ParameterExpression
Represents a named parameter expression.
|
class |
TernaryExpression
Represents an expression that has a ternary operator.
|
class |
TypeBinaryExpression
Represents an operation between an expression and a type.
|
class |
UnaryExpression
Represents an expression that has a unary operator.
|
Modifier and Type | Field and Description |
---|---|
Expression |
IndexExpression.array |
Expression |
NewArrayExpression.bound |
Expression |
WhileStatement.condition |
Expression |
ForStatement.condition |
Expression |
LabelStatement.defaultValue |
Expression |
ThrowStatement.expression |
Expression |
GotoStatement.expression |
Expression |
UnaryExpression.expression |
Expression |
MemberExpression.expression |
Expression |
TypeBinaryExpression.expression |
Expression |
TernaryExpression.expression0 |
Expression |
BinaryExpression.expression0 |
Expression |
TernaryExpression.expression1 |
Expression |
BinaryExpression.expression1 |
Expression |
TernaryExpression.expression2 |
Expression |
DeclarationStatement.initializer |
Expression |
FieldDeclaration.initializer |
Expression |
ForStatement.post |
Expression |
MethodCallExpression.targetExpression |
Modifier and Type | Field and Description |
---|---|
List<Expression> |
NewExpression.arguments |
protected Map<Expression,Boolean> |
DeterministicCodeOptimizer.constants
The map contains known to be effectively-final expression.
|
protected Map<Expression,ParameterExpression> |
DeterministicCodeOptimizer.dedup
The map that de-duplicates expressions, so the same expressions may reuse
the same final static fields.
|
List<Expression> |
MethodCallExpression.expressions |
List<Expression> |
NewArrayExpression.expressions |
List<Expression> |
IndexExpression.indexExpressions |
Modifier and Type | Method and Description |
---|---|
Expression |
DynamicExpression.accept(Visitor visitor) |
Expression |
ListInitExpression.accept(Visitor visitor) |
Expression |
LambdaExpression.accept(Visitor visitor) |
Expression |
NewExpression.accept(Visitor visitor) |
Expression |
InvocationExpression.accept(Visitor visitor) |
Expression |
FunctionExpression.accept(Visitor visitor) |
Expression |
MemberInitExpression.accept(Visitor visitor) |
Expression |
DefaultExpression.accept(Visitor visitor) |
Expression |
TernaryExpression.accept(Visitor visitor) |
Expression |
ParameterExpression.accept(Visitor visitor) |
Expression |
IndexExpression.accept(Visitor visitor) |
Expression |
ConstantExpression.accept(Visitor visitor) |
Expression |
UnaryExpression.accept(Visitor visitor) |
abstract Expression |
Expression.accept(Visitor visitor) |
Expression |
MethodCallExpression.accept(Visitor visitor) |
Expression |
MemberExpression.accept(Visitor visitor) |
Expression |
BinaryExpression.accept(Visitor visitor) |
Expression |
NewArrayExpression.accept(Visitor visitor) |
Expression |
TypeBinaryExpression.accept(Visitor visitor) |
Expression |
BlockBuilder.append(String name,
BlockStatement block)
Appends a block 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,
BlockStatement block,
boolean optimize)
Appends an expression to a list of statements, optionally optimizing it
to a variable if it is used more than once.
|
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.
|
Expression |
BlockBuilder.appendIfNotNull(String name,
Expression expression)
Appends an expression to a list of statements, if it is not null.
|
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 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 Expression |
Expressions.condition(Expression test,
Expression ifTrue,
Expression ifFalse)
Creates a ConditionalExpression that represents a conditional
statement.
|
protected Expression |
DeterministicCodeOptimizer.createField(Expression expression)
Creates final static field to hold the given expression.
|
static Expression |
Expressions.foldAnd(List<Expression> conditions)
Combines a list of expressions using AND.
|
static Expression |
Expressions.foldOr(List<Expression> conditions)
Combines a list of expressions using OR.
|
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.
|
static Expression |
Blocks.simple(BlockStatement block)
Converts a simple "{ return expr; }" block into "expr"; otherwise
throws.
|
protected Expression |
DeterministicCodeOptimizer.tryOptimizeMethodCall(MethodCallExpression methodCallExpression)
Optimized method call, possibly converting it to final static field.
|
protected Expression |
ClassDeclarationFinder.tryOptimizeNewInstance(NewExpression newExpression)
Optimizes
new Type() constructs. |
protected Expression |
DeterministicCodeOptimizer.tryOptimizeNewInstance(NewExpression newExpression)
Optimizes
new Type() constructs, |
static Expression |
Expressions.unbox(Expression expression)
Converts e.g.
|
static Expression |
Expressions.unbox(Expression expression,
Primitive primitive)
Returns an expression to unbox the value of a boxed-primitive expression.
|
Expression |
DeterministicCodeOptimizer.visit(BinaryExpression binaryExpression,
Expression expression0,
Expression expression1) |
Expression |
OptimizeVisitor.visit(BinaryExpression binary,
Expression expression0,
Expression expression1) |
Expression |
Visitor.visit(BinaryExpression binaryExpression,
Expression expression0,
Expression expression1) |
Expression |
Visitor.visit(DefaultExpression defaultExpression) |
Expression |
Visitor.visit(DynamicExpression dynamicExpression) |
Expression |
Visitor.visit(FunctionExpression functionExpression,
BlockStatement body) |
Expression |
Visitor.visit(IndexExpression indexExpression,
Expression array,
List<Expression> indexExpressions) |
Expression |
Visitor.visit(InvocationExpression invocationExpression) |
Expression |
Visitor.visit(LambdaExpression lambdaExpression) |
Expression |
Visitor.visit(ListInitExpression listInitExpression) |
Expression |
DeterministicCodeOptimizer.visit(MemberExpression memberExpression,
Expression expression) |
Expression |
Visitor.visit(MemberExpression memberExpression,
Expression expression) |
Expression |
Visitor.visit(MemberInitExpression memberInitExpression) |
Expression |
DeterministicCodeOptimizer.visit(MethodCallExpression methodCallExpression,
Expression targetExpression,
List<Expression> expressions) |
Expression |
OptimizeVisitor.visit(MethodCallExpression methodCallExpression,
Expression targetExpression,
List<Expression> expressions) |
Expression |
Visitor.visit(MethodCallExpression methodCallExpression,
Expression targetExpression,
List<Expression> expressions) |
Expression |
Visitor.visit(NewArrayExpression newArrayExpression,
int dimension,
Expression bound,
List<Expression> expressions) |
Expression |
ClassDeclarationFinder.visit(NewExpression newExpression,
List<Expression> arguments,
List<MemberDeclaration> memberDeclarations) |
Expression |
Visitor.visit(NewExpression newExpression,
List<Expression> arguments,
List<MemberDeclaration> memberDeclarations) |
Expression |
Visitor.visit(ParameterExpression parameterExpression) |
Expression |
DeterministicCodeOptimizer.visit(TernaryExpression ternaryExpression,
Expression expression0,
Expression expression1,
Expression expression2) |
Expression |
OptimizeVisitor.visit(TernaryExpression ternary,
Expression expression0,
Expression expression1,
Expression expression2) |
Expression |
Visitor.visit(TernaryExpression ternaryExpression,
Expression expression0,
Expression expression1,
Expression expression2) |
Expression |
DeterministicCodeOptimizer.visit(TypeBinaryExpression typeBinaryExpression,
Expression expression) |
Expression |
Visitor.visit(TypeBinaryExpression typeBinaryExpression,
Expression expression) |
Expression |
DeterministicCodeOptimizer.visit(UnaryExpression unaryExpression,
Expression expression) |
Expression |
OptimizeVisitor.visit(UnaryExpression unaryExpression,
Expression expression) |
Expression |
Visitor.visit(UnaryExpression unaryExpression,
Expression expression) |
static Expression |
Expressions.visitChildren(ExpressionVisitor visitor)
Reduces the node and then calls the visitor delegate on the
reduced expression.
|
Modifier and Type | Method and Description |
---|---|
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.
|
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.
|
BlockBuilder |
BlockBuilder.append(Expression expression) |
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.
|
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(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 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 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 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 |
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 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(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 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(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(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 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 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,
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 |
Expressions.convertChecked(Expression expression,
Type type)
Creates a UnaryExpression that represents a conversion
operation that throws an exception if the target type is
overflowed.
|
protected Expression |
DeterministicCodeOptimizer.createField(Expression expression)
Creates final static field to hold the given expression.
|
static DeclarationStatement |
Expressions.declare(int modifiers,
ParameterExpression parameter,
Expression initializer)
Creates a statement that declares a variable.
|
static DeclarationStatement |
Expressions.declare(int modifiers,
String name,
Expression initializer)
Creates an expression that declares and initializes 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.
|
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,
PseudoField field)
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,
Type type,
String fieldName)
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_(DeclarationStatement declaration,
Expression condition,
Expression post,
Statement body)
Creates a LoopExpression with the given body.
|
static ForStatement |
Expressions.for_(Iterable<? extends DeclarationStatement> declarations,
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,
Expression... arguments)
Creates an InvocationExpression that applies a delegate or
lambda expression to a list of argument expressions, using varargs.
|
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.
|
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.
|
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.
|
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 |
OptimizeVisitor.isKnownNotNull(Expression expression)
Returns whether an expression always returns a non-null result.
|
protected boolean |
BlockBuilder.isSimpleExpression(Expression expr)
Checks if experssion is simple enough for always inline
|
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>> |
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>> |
Expressions.lambda(Class<F> type,
Expression body,
ParameterExpression... parameters)
Creates a LambdaExpression by first constructing a delegate
type, using varargs.
|
static <F extends Function<?>> |
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<?>> |
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,
Expression... arguments)
Creates a ListInitExpression that uses a method named "Add" to
add elements to a collection, using varargs.
|
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 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,
CatchBlock... handlers)
Creates a TryExpression representing a try block with the
specified elements, using varargs.
|
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 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,
Expression... expressions)
Creates a NewArrayExpression that represents creating a
one-dimensional array and initializing it from a list of
elements, using varargs.
|
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 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,
net.hydromatic.linq4j.expressions.Expressions.PropertyInfo property)
Creates a MemberExpression that represents accessing a
property.
|
static IndexExpression |
Expressions.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 |
Expressions.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 |
Expressions.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 |
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,
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 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,
Type type,
String name)
Creates a MemberExpression accessing a property.
|
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.
|
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.
|
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_(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 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 SwitchCase |
Expressions.switchCase(Expression expression,
Expression... body)
Creates a SwitchCase for use in a SwitchExpression, with varargs.
|
static SwitchCase |
Expressions.switchCase(Expression expression,
Expression... body)
Creates a SwitchCase for use in a SwitchExpression, with varargs.
|
static SwitchCase |
Expressions.switchCase(Expression expression,
Iterable<? extends Expression> body)
Creates a SwitchCase for use in a SwitchExpression.
|
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 Expression |
Expressions.unbox(Expression expression,
Primitive primitive)
Returns an expression to unbox the value of a boxed-primitive expression.
|
static UnaryExpression |
Expressions.unbox(Expression expression,
Type type)
Creates a UnaryExpression that represents an explicit
unboxing.
|
Expression |
DeterministicCodeOptimizer.visit(BinaryExpression binaryExpression,
Expression expression0,
Expression expression1) |
Expression |
OptimizeVisitor.visit(BinaryExpression binary,
Expression expression0,
Expression expression1) |
Expression |
Visitor.visit(BinaryExpression binaryExpression,
Expression expression0,
Expression expression1) |
DeclarationStatement |
Visitor.visit(DeclarationStatement declarationStatement,
Expression initializer) |
MemberDeclaration |
DeterministicCodeOptimizer.visit(FieldDeclaration fieldDeclaration,
Expression initializer) |
MemberDeclaration |
Visitor.visit(FieldDeclaration fieldDeclaration,
Expression initializer) |
ForStatement |
Visitor.visit(ForStatement forStatement,
List<DeclarationStatement> declarations,
Expression condition,
Expression post,
Statement body) |
Statement |
Visitor.visit(GotoStatement gotoStatement,
Expression expression) |
Expression |
Visitor.visit(IndexExpression indexExpression,
Expression array,
List<Expression> indexExpressions) |
Expression |
DeterministicCodeOptimizer.visit(MemberExpression memberExpression,
Expression expression) |
Expression |
Visitor.visit(MemberExpression memberExpression,
Expression expression) |
Expression |
DeterministicCodeOptimizer.visit(MethodCallExpression methodCallExpression,
Expression targetExpression,
List<Expression> expressions) |
Expression |
OptimizeVisitor.visit(MethodCallExpression methodCallExpression,
Expression targetExpression,
List<Expression> expressions) |
Expression |
Visitor.visit(MethodCallExpression methodCallExpression,
Expression targetExpression,
List<Expression> expressions) |
Expression |
Visitor.visit(NewArrayExpression newArrayExpression,
int dimension,
Expression bound,
List<Expression> expressions) |
Expression |
DeterministicCodeOptimizer.visit(TernaryExpression ternaryExpression,
Expression expression0,
Expression expression1,
Expression expression2) |
Expression |
OptimizeVisitor.visit(TernaryExpression ternary,
Expression expression0,
Expression expression1,
Expression expression2) |
Expression |
Visitor.visit(TernaryExpression ternaryExpression,
Expression expression0,
Expression expression1,
Expression expression2) |
Statement |
Visitor.visit(ThrowStatement throwStatement,
Expression expression) |
Expression |
DeterministicCodeOptimizer.visit(TypeBinaryExpression typeBinaryExpression,
Expression expression) |
Expression |
Visitor.visit(TypeBinaryExpression typeBinaryExpression,
Expression expression) |
Expression |
DeterministicCodeOptimizer.visit(UnaryExpression unaryExpression,
Expression expression) |
Expression |
OptimizeVisitor.visit(UnaryExpression unaryExpression,
Expression expression) |
Expression |
Visitor.visit(UnaryExpression unaryExpression,
Expression expression) |
Statement |
Visitor.visit(WhileStatement whileStatement,
Expression condition,
Statement body) |
static WhileStatement |
Expressions.while_(Expression condition,
Statement body)
Creates a WhileExpression representing a while loop.
|
Modifier and Type | Method and Description |
---|---|
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 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(Method method,
Iterable<? extends Expression> arguments)
Creates a MethodCallExpression that represents a call to a
static method that has arguments.
|
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 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 DynamicExpression |
Expressions.dynamic(CallSiteBinder binder,
Type type,
Iterable<? extends Expression> expressions)
Creates a DynamicExpression that represents a dynamic
operation bound by the provided CallSiteBinder.
|
static ElementInit |
Expressions.elementInit(Method method,
Iterable<? extends Expression> expressions)
Creates an
ElementInit , given an Iterable<T> as the second
argument. |
static Expression |
Expressions.foldAnd(List<Expression> conditions)
Combines a list of expressions using AND.
|
static Expression |
Expressions.foldOr(List<Expression> conditions)
Combines a list of expressions using OR.
|
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.
|
protected boolean |
ClassDeclarationFinder.isConstant(Iterable<? extends Expression> list)
Verifies if all the expressions in given list are effectively constant.
|
static ListInitExpression |
Expressions.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 |
Expressions.listInitE(NewExpression newExpression,
Iterable<? extends Expression> arguments)
Creates a ListInitExpression that uses a method named "Add" to
add elements to a collection.
|
static DynamicExpression |
Expressions.makeDynamic(Type type,
CallSiteBinder binder,
Iterable<? extends Expression> arguments)
Creates a DynamicExpression that represents a dynamic
operation bound by the provided CallSiteBinder.
|
static NewExpression |
Expressions.new_(Constructor constructor,
Iterable<? extends Expression> expressions)
Creates a NewExpression that represents calling the specified
constructor with the specified arguments.
|
static NewExpression |
Expressions.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 |
Expressions.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 |
Expressions.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 |
Expressions.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 |
Expressions.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 |
Expressions.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 |
Expressions.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 IndexExpression |
Expressions.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 SwitchCase |
Expressions.switchCase(Expression expression,
Iterable<? extends Expression> body)
Creates a SwitchCase for use in a SwitchExpression.
|
Expression |
Visitor.visit(IndexExpression indexExpression,
Expression array,
List<Expression> indexExpressions) |
Expression |
DeterministicCodeOptimizer.visit(MethodCallExpression methodCallExpression,
Expression targetExpression,
List<Expression> expressions) |
Expression |
OptimizeVisitor.visit(MethodCallExpression methodCallExpression,
Expression targetExpression,
List<Expression> expressions) |
Expression |
Visitor.visit(MethodCallExpression methodCallExpression,
Expression targetExpression,
List<Expression> expressions) |
Expression |
Visitor.visit(NewArrayExpression newArrayExpression,
int dimension,
Expression bound,
List<Expression> expressions) |
Expression |
ClassDeclarationFinder.visit(NewExpression newExpression,
List<Expression> arguments,
List<MemberDeclaration> memberDeclarations) |
Expression |
Visitor.visit(NewExpression newExpression,
List<Expression> arguments,
List<MemberDeclaration> memberDeclarations) |
Constructor and Description |
---|
DeclarationStatement(int modifiers,
ParameterExpression parameter,
Expression initializer) |
FieldDeclaration(int modifier,
ParameterExpression parameter,
Expression initializer) |
ForStatement(List<DeclarationStatement> declarations,
Expression condition,
Expression post,
Statement body) |
IndexExpression(Expression array,
List<Expression> indexExpressions) |
LabelStatement(Expression defaultValue,
ExpressionType nodeType) |
MemberExpression(Expression expression,
Field field) |
MemberExpression(Expression expression,
PseudoField field) |
NewArrayExpression(Type type,
int dimension,
Expression bound,
List<Expression> expressions) |
ThrowStatement(Expression expression) |
TypeBinaryExpression(ExpressionType nodeType,
Expression expression,
Type type) |
WhileStatement(Expression condition,
Statement body) |
Constructor and Description |
---|
IndexExpression(Expression array,
List<Expression> indexExpressions) |
NewArrayExpression(Type type,
int dimension,
Expression bound,
List<Expression> expressions) |
NewExpression(Type type,
List<Expression> arguments,
List<MemberDeclaration> memberDeclarations) |
Copyright © 2012-2014 Julian Hyde. All Rights Reserved.