This object model is used when the linq4j system is analyzing
queries that have been submitted using methods on the
Queryable interface. The system attempts
to understand the intent of the query and reorganize it for
efficiency; for example, it may attempt to push down filters to the
source SQL system.
Interface Summary Interface Description CallSiteBinderCreates a
DynamicExpressionthat represents a dynamic operation bound by the provided
Expressions.FluentList<T>Fluent list. Expressions.PropertyInfoProperty info. Expressions.RuntimeVariablesExpressionRuntime variables expression. Expressions.SymbolDocumentInfoSymbol document info. ExpressionVisitorRepresents a visitor or rewriter for expression trees. FunctionExpression.InvokableFunction that can be invoked with a variable number of arguments. NodeParse tree node. Primitive.SinkA place to send a value. Primitive.SourceA place from which to read a value. PseudoFieldContains the parts of the
Fieldclass needed for code generation, but might be implemented differently.
Types.RecordFieldField that belongs to a record. Types.RecordTypeBase class for record-like types that do not mapped to (currently loaded) Java
Class Summary Class Description AbstractNodeAbstract implementation of
ArrayLengthRecordFieldRepresents a length field of a RecordType BinaryExpressionRepresents an expression that has a binary operator. BlockBuilderBuilder for
BlockBuilder.InlineVariableVisitorInline Variable Visitor. BlockBuilder.SlotHolds the number of times a declaration was used. BlockBuilder.SubstituteVariableVisitorSubstitute Variable Visitor. BlockBuilder.UseCounterUse counter. BlocksHelper methods concerning
BlockStatementRepresents a block that contains a sequence of expressions where variables can be defined. CatchBlockRepresents a catch statement in a try block. ClassDeclarationDeclaration of a class. ClassDeclarationFinderEntry point for optimizers that factor ou deterministic expressions to final static fields. ConditionalExpressionRepresents an expression that has a conditional operator. ConditionalStatementRepresents an expression that has a conditional operator. ConstantExpressionRepresents an expression that has a constant value. ConstantUntypedNullRepresents 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. ConstructorDeclarationDeclaration of a constructor. DeclarationStatementExpression that declares and optionally initializes a variable. DefaultExpressionRepresents the default value of a type or an empty expression. DeterministicCodeOptimizerFactors out deterministic expressions to final static fields. DynamicExpressionRepresents a dynamic operation. ElementInitRepresents an initializer for a single element of an
EvaluatorHolds context for evaluating expressions. ExpressionAnalogous to LINQ's System.Linq.Expression. ExpressionsUtility methods for expressions, including a lot of factory methods. Expressions.FluentArrayList<T>Fluent array list. ExpressionWriterConverts an expression to Java code. ExpressionWriter.IndentHelps generate strings of spaces, to indent text. FieldDeclarationDeclaration of a field. ForStatementRepresents an infinite loop. FunctionExpression<F extends Function<?>>Represents a strongly typed lambda expression as a data structure in the form of an expression tree. GotoStatementRepresents an unconditional jump. IndexExpressionRepresents indexing a property or array. InvocationExpressionRepresents an expression that applies a delegate or lambda expression to a list of argument expressions. LabelStatementRepresents a label, which can be put in any
LabelTargetUsed to represent the target of a
LambdaExpressionDescribes a lambda expression. ListInitExpressionRepresents a constructor call that has a collection initializer. MemberAssignmentRepresents assignment operation for a field or property of an object. MemberBindingProvides the base class from which the classes that represent bindings that are used to initialize members of a newly created object derive. MemberDeclarationDeclaration of a member of a class. MemberExpressionRepresents accessing a field or property. MemberInitExpressionRepresents calling a constructor and initializing one or more members of the new object. MemberListBindingRepresents initializing the elements of a collection member of a newly created object. MemberMemberBindingRepresents initializing members of a member of a newly created object. MethodCallExpressionRepresents a call to either a static or an instance method. MethodDeclarationDeclaration of a method. NewArrayExpressionRepresents creating a new array and possibly initializing the elements of the new array. NewExpressionRepresents a constructor call. OptimizeShuttleShuttle that optimizes expressions. ParameterExpressionRepresents a named parameter expression. ReflectedPseudoFieldRepresents a PseudoField that is implemented via java reflection Field ShuttleExtension to
Visitorthat returns a mutated tree.
StatementStatement. SwitchCaseRepresents one case of a
SwitchStatementRepresents a control expression that handles multiple selections by passing control to
TernaryExpressionRepresents an expression that has a ternary operator. ThrowStatementRepresents a
try ... catch ... finallyblock.
TypeBinaryExpressionRepresents an operation between an expression and a type. TypesUtilities for converting between
Types.ArrayTypeArray type. Types.MapTypeMap type. Types.ParameterizedTypeImplImplementation of
UnaryExpressionRepresents an expression that has a unary operator. VisitorImpl<R>Default implementation of
Visitor, which traverses a tree but does nothing.
WhileStatementRepresents a "while" statement.
Enum Summary Enum Description ExpressionTypeAnalogous to LINQ's System.Linq.Expressions.ExpressionType. GotoExpressionKindSpecifies what kind of jump a
PrimitiveEnumeration of Java's primitive types. Primitive.FlavorWhat kind of type?