Package org.apache.calcite.linq4j.tree
Object model for Java expressions.
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 CallSiteBinder Creates aDynamicExpression
that represents a dynamic operation bound by the providedCallSiteBinder
.Expressions.FluentList<T> Fluent list.Expressions.PropertyInfo Property info.Expressions.RuntimeVariablesExpression Runtime variables expression.Expressions.SymbolDocumentInfo Symbol document info.ExpressionVisitor Represents a visitor or rewriter for expression trees.FunctionExpression.Invokable Function that can be invoked with a variable number of arguments.Node Parse tree node.Primitive.Sink A place to send a value.Primitive.Source A place from which to read a value.PseudoField Contains the parts of theField
class needed for code generation, but might be implemented differently.Types.RecordField Field that belongs to a record.Types.RecordType Base class for record-like types that do not mapped to (currently loaded) JavaClass
objects.Visitor<R> Node visitor. -
Class Summary Class Description AbstractNode Abstract implementation ofNode
.ArrayLengthRecordField Represents a length field of a RecordTypeBinaryExpression Represents an expression that has a binary operator.BlockBuilder Builder forBlockStatement
.BlockBuilder.InlineVariableVisitor Inline Variable Visitor.BlockBuilder.Slot Holds the number of times a declaration was used.BlockBuilder.SubstituteVariableVisitor Substitute Variable Visitor.BlockBuilder.UseCounter Use counter.Blocks Helper methods concerningBlockStatement
s.BlockStatement Represents a block that contains a sequence of expressions where variables can be defined.CatchBlock Represents a catch statement in a try block.ClassDeclaration Declaration of a class.ClassDeclarationFinder Entry point for optimizers that factor ou deterministic expressions to final static fields.ConditionalExpression Represents an expression that has a conditional operator.ConditionalStatement Represents an expression that has a conditional operator.ConstantExpression Represents an expression that has a constant value.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.ConstructorDeclaration Declaration of a constructor.DeclarationStatement Expression that declares and optionally initializes a variable.DefaultExpression Represents the default value of a type or an empty expression.DeterministicCodeOptimizer Factors out deterministic expressions to final static fields.DynamicExpression Represents a dynamic operation.ElementInit Represents an initializer for a single element of anEnumerable
collection.Evaluator Holds context for evaluating expressions.Expression Analogous to LINQ's System.Linq.Expression.Expressions Utility methods for expressions, including a lot of factory methods.Expressions.FluentArrayList<T> Fluent array list.ExpressionWriter Converts an expression to Java code.ExpressionWriter.Indent Helps generate strings of spaces, to indent text.FieldDeclaration Declaration of a field.ForStatement Represents an infinite loop.FunctionExpression<F extends Function<?>> Represents a strongly typed lambda expression as a data structure in the form of an expression tree.GotoStatement Represents an unconditional jump.IndexExpression Represents indexing a property or array.InvocationExpression Represents an expression that applies a delegate or lambda expression to a list of argument expressions.LabelStatement Represents a label, which can be put in anyExpression
context.LabelTarget Used to represent the target of aGotoStatement
.LambdaExpression Describes a lambda expression.ListInitExpression Represents a constructor call that has a collection initializer.MemberAssignment Represents assignment operation for a field or property of an object.MemberBinding Provides the base class from which the classes that represent bindings that are used to initialize members of a newly created object derive.MemberDeclaration Declaration of a member of a class.MemberExpression Represents accessing a field or property.MemberInitExpression Represents calling a constructor and initializing one or more members of the new object.MemberListBinding Represents initializing the elements of a collection member of a newly created object.MemberMemberBinding Represents initializing members of a member of a newly created object.MethodCallExpression Represents a call to either a static or an instance method.MethodDeclaration Declaration of a method.NewArrayExpression Represents creating a new array and possibly initializing the elements of the new array.NewExpression Represents a constructor call.OptimizeShuttle Shuttle that optimizes expressions.ParameterExpression Represents a named parameter expression.ReflectedPseudoField Represents a PseudoField that is implemented via java reflection FieldShuttle Extension toVisitor
that returns a mutated tree.Statement Statement.SwitchCase Represents one case of aSwitchStatement
.SwitchStatement Represents a control expression that handles multiple selections by passing control toSwitchCase
.TernaryExpression Represents an expression that has a ternary operator.ThrowStatement Represents athrow
statement.TryStatement Represents atry ... catch ... finally
block.TypeBinaryExpression Represents an operation between an expression and a type.Types Types.ArrayType Array type.Types.MapType Map type.Types.ParameterizedTypeImpl Implementation ofParameterizedType
.UnaryExpression Represents an expression that has a unary operator.VisitorImpl<R> Default implementation ofVisitor
, which traverses a tree but does nothing.WhileStatement Represents a "while" statement. -
Enum Summary Enum Description ExpressionType Analogous to LINQ's System.Linq.Expressions.ExpressionType.GotoExpressionKind Specifies what kind of jump aGotoStatement
represents.Primitive Enumeration of Java's primitive types.Primitive.Flavor What kind of type?