blob: e467340f9392520b45864da216f10a6fe746390a [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>org.apache.calcite.linq4j.tree (Apache Calcite calcite API)</title>
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="org.apache.calcite.linq4j.tree (Apache Calcite calcite API)";
}
}
catch(err) {
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li class="navBarCell1Rev">Package</li>
<li>Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><b>Apache Calcite</b></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/calcite/linq4j/function/package-summary.html">Prev&nbsp;Package</a></li>
<li><a href="../../../../../org/apache/calcite/materialize/package-summary.html">Next&nbsp;Package</a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/calcite/linq4j/tree/package-summary.html" target="_top">Frames</a></li>
<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h1 title="Package" class="title">Package&nbsp;org.apache.calcite.linq4j.tree</h1>
<div class="docSummary">
<div class="block">Object model for Java expressions.</div>
</div>
<p>See:&nbsp;<a href="#package.description">Description</a></p>
</div>
<div class="contentContainer">
<ul class="blockList">
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Interface</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/CallSiteBinder.html" title="interface in org.apache.calcite.linq4j.tree">CallSiteBinder</a></td>
<td class="colLast">
<div class="block">Creates a <a href="../../../../../org/apache/calcite/linq4j/tree/DynamicExpression.html" title="class in org.apache.calcite.linq4j.tree"><code>DynamicExpression</code></a> that represents a dynamic operation bound
by the provided <code>CallSiteBinder</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/Expressions.FluentList.html" title="interface in org.apache.calcite.linq4j.tree">Expressions.FluentList</a>&lt;T&gt;</td>
<td class="colLast">
<div class="block">Fluent list.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/ExpressionVisitor.html" title="interface in org.apache.calcite.linq4j.tree">ExpressionVisitor</a></td>
<td class="colLast">
<div class="block">Represents a visitor or rewriter for expression trees.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/FunctionExpression.Invokable.html" title="interface in org.apache.calcite.linq4j.tree">FunctionExpression.Invokable</a></td>
<td class="colLast">
<div class="block">Function that can be invoked with a variable number of arguments.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/Node.html" title="interface in org.apache.calcite.linq4j.tree">Node</a></td>
<td class="colLast">
<div class="block">Parse tree node.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/Primitive.Sink.html" title="interface in org.apache.calcite.linq4j.tree">Primitive.Sink</a></td>
<td class="colLast">
<div class="block">A place to send a value.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/Primitive.Source.html" title="interface in org.apache.calcite.linq4j.tree">Primitive.Source</a></td>
<td class="colLast">
<div class="block">A place from which to read a value.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/PseudoField.html" title="interface in org.apache.calcite.linq4j.tree">PseudoField</a></td>
<td class="colLast">
<div class="block">Contains the parts of the <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Field.html?is-external=true" title="class or interface in java.lang.reflect"><code>Field</code></a> class needed
for code generation, but might be implemented differently.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/Types.RecordField.html" title="interface in org.apache.calcite.linq4j.tree">Types.RecordField</a></td>
<td class="colLast">
<div class="block">Field that belongs to a record.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/Types.RecordType.html" title="interface in org.apache.calcite.linq4j.tree">Types.RecordType</a></td>
<td class="colLast">
<div class="block">Base class for record-like types that do not mapped to (currently
loaded) Java <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang"><code>Class</code></a> objects.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/Visitor.html" title="interface in org.apache.calcite.linq4j.tree">Visitor</a>&lt;R&gt;</td>
<td class="colLast">
<div class="block">Node visitor.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/AbstractNode.html" title="class in org.apache.calcite.linq4j.tree">AbstractNode</a></td>
<td class="colLast">
<div class="block">Abstract implementation of <a href="../../../../../org/apache/calcite/linq4j/tree/Node.html" title="interface in org.apache.calcite.linq4j.tree"><code>Node</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/ArrayLengthRecordField.html" title="class in org.apache.calcite.linq4j.tree">ArrayLengthRecordField</a></td>
<td class="colLast">
<div class="block">Represents a length field of a RecordType</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/BinaryExpression.html" title="class in org.apache.calcite.linq4j.tree">BinaryExpression</a></td>
<td class="colLast">
<div class="block">Represents an expression that has a binary operator.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/BlockBuilder.html" title="class in org.apache.calcite.linq4j.tree">BlockBuilder</a></td>
<td class="colLast">
<div class="block">Builder for <a href="../../../../../org/apache/calcite/linq4j/tree/BlockStatement.html" title="class in org.apache.calcite.linq4j.tree"><code>BlockStatement</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/Blocks.html" title="class in org.apache.calcite.linq4j.tree">Blocks</a></td>
<td class="colLast">
<div class="block">Helper methods concerning <a href="../../../../../org/apache/calcite/linq4j/tree/BlockStatement.html" title="class in org.apache.calcite.linq4j.tree"><code>BlockStatement</code></a>s.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/BlockStatement.html" title="class in org.apache.calcite.linq4j.tree">BlockStatement</a></td>
<td class="colLast">
<div class="block">Represents a block that contains a sequence of expressions where variables
can be defined.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/CatchBlock.html" title="class in org.apache.calcite.linq4j.tree">CatchBlock</a></td>
<td class="colLast">
<div class="block">Represents a catch statement in a try block.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/ClassDeclaration.html" title="class in org.apache.calcite.linq4j.tree">ClassDeclaration</a></td>
<td class="colLast">
<div class="block">Declaration of a class.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/ClassDeclarationFinder.html" title="class in org.apache.calcite.linq4j.tree">ClassDeclarationFinder</a></td>
<td class="colLast">
<div class="block">Entry point for optimizers that factor out deterministic expressions to
final static fields.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/ConditionalExpression.html" title="class in org.apache.calcite.linq4j.tree">ConditionalExpression</a></td>
<td class="colLast">
<div class="block">Represents an expression that has a conditional operator.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/ConditionalStatement.html" title="class in org.apache.calcite.linq4j.tree">ConditionalStatement</a></td>
<td class="colLast">
<div class="block">Represents an expression that has a conditional operator.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/ConstantExpression.html" title="class in org.apache.calcite.linq4j.tree">ConstantExpression</a></td>
<td class="colLast">
<div class="block">Represents an expression that has a constant value.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/ConstantUntypedNull.html" title="class in org.apache.calcite.linq4j.tree">ConstantUntypedNull</a></td>
<td class="colLast">
<div class="block">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.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/ConstructorDeclaration.html" title="class in org.apache.calcite.linq4j.tree">ConstructorDeclaration</a></td>
<td class="colLast">
<div class="block">Declaration of a constructor.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/DeclarationStatement.html" title="class in org.apache.calcite.linq4j.tree">DeclarationStatement</a></td>
<td class="colLast">
<div class="block">Expression that declares and optionally initializes a variable.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/DefaultExpression.html" title="class in org.apache.calcite.linq4j.tree">DefaultExpression</a></td>
<td class="colLast">
<div class="block">Represents the default value of a type or an empty expression.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/DeterministicCodeOptimizer.html" title="class in org.apache.calcite.linq4j.tree">DeterministicCodeOptimizer</a></td>
<td class="colLast">
<div class="block">Factors out deterministic expressions to final static fields.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/DynamicExpression.html" title="class in org.apache.calcite.linq4j.tree">DynamicExpression</a></td>
<td class="colLast">
<div class="block">Represents a dynamic operation.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/ElementInit.html" title="class in org.apache.calcite.linq4j.tree">ElementInit</a></td>
<td class="colLast">
<div class="block">Represents an initializer for a single element of an
<a href="../../../../../org/apache/calcite/linq4j/Enumerable.html" title="interface in org.apache.calcite.linq4j"><code>Enumerable</code></a> collection.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/Expression.html" title="class in org.apache.calcite.linq4j.tree">Expression</a></td>
<td class="colLast">
<div class="block">Analogous to LINQ's System.Linq.Expression.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/Expressions.html" title="class in org.apache.calcite.linq4j.tree">Expressions</a></td>
<td class="colLast">
<div class="block">Utility methods for expressions, including a lot of factory methods.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/FieldDeclaration.html" title="class in org.apache.calcite.linq4j.tree">FieldDeclaration</a></td>
<td class="colLast">
<div class="block">Declaration of a field.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/ForEachStatement.html" title="class in org.apache.calcite.linq4j.tree">ForEachStatement</a></td>
<td class="colLast">
<div class="block">Represents a "for-each" loop, "for (T v : iterable) { f(v); }"</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/ForStatement.html" title="class in org.apache.calcite.linq4j.tree">ForStatement</a></td>
<td class="colLast">
<div class="block">Represents an infinite loop.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/FunctionExpression.html" title="class in org.apache.calcite.linq4j.tree">FunctionExpression</a>&lt;F extends <a href="../../../../../org/apache/calcite/linq4j/function/Function.html" title="interface in org.apache.calcite.linq4j.function">Function</a>&lt;?&gt;&gt;</td>
<td class="colLast">
<div class="block">Represents a strongly typed lambda expression as a data structure in the form
of an expression tree.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/GotoStatement.html" title="class in org.apache.calcite.linq4j.tree">GotoStatement</a></td>
<td class="colLast">
<div class="block">Represents an unconditional jump.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/IndexExpression.html" title="class in org.apache.calcite.linq4j.tree">IndexExpression</a></td>
<td class="colLast">
<div class="block">Represents indexing a property or array.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/InvocationExpression.html" title="class in org.apache.calcite.linq4j.tree">InvocationExpression</a></td>
<td class="colLast">
<div class="block">Represents an expression that applies a delegate or lambda expression to a
list of argument expressions.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/LabelStatement.html" title="class in org.apache.calcite.linq4j.tree">LabelStatement</a></td>
<td class="colLast">
<div class="block">Represents a label, which can be put in any <a href="../../../../../org/apache/calcite/linq4j/tree/Expression.html" title="class in org.apache.calcite.linq4j.tree"><code>Expression</code></a> context.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/LabelTarget.html" title="class in org.apache.calcite.linq4j.tree">LabelTarget</a></td>
<td class="colLast">
<div class="block">Used to represent the target of a <a href="../../../../../org/apache/calcite/linq4j/tree/GotoStatement.html" title="class in org.apache.calcite.linq4j.tree"><code>GotoStatement</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/LambdaExpression.html" title="class in org.apache.calcite.linq4j.tree">LambdaExpression</a></td>
<td class="colLast">
<div class="block">Describes a lambda expression.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/ListInitExpression.html" title="class in org.apache.calcite.linq4j.tree">ListInitExpression</a></td>
<td class="colLast">
<div class="block">Represents a constructor call that has a collection initializer.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/MemberAssignment.html" title="class in org.apache.calcite.linq4j.tree">MemberAssignment</a></td>
<td class="colLast">
<div class="block">Represents assignment operation for a field or property of an object.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/MemberBinding.html" title="class in org.apache.calcite.linq4j.tree">MemberBinding</a></td>
<td class="colLast">
<div class="block">Provides the base class from which the classes that represent bindings that
are used to initialize members of a newly created object derive.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/MemberDeclaration.html" title="class in org.apache.calcite.linq4j.tree">MemberDeclaration</a></td>
<td class="colLast">
<div class="block">Declaration of a member of a class.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/MemberExpression.html" title="class in org.apache.calcite.linq4j.tree">MemberExpression</a></td>
<td class="colLast">
<div class="block">Represents accessing a field or property.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/MemberInitExpression.html" title="class in org.apache.calcite.linq4j.tree">MemberInitExpression</a></td>
<td class="colLast">
<div class="block">Represents calling a constructor and initializing one or more members of the
new object.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/MemberListBinding.html" title="class in org.apache.calcite.linq4j.tree">MemberListBinding</a></td>
<td class="colLast">
<div class="block">Represents initializing the elements of a collection member of a newly
created object.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/MemberMemberBinding.html" title="class in org.apache.calcite.linq4j.tree">MemberMemberBinding</a></td>
<td class="colLast">
<div class="block">Represents initializing members of a member of a newly created object.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/MethodCallExpression.html" title="class in org.apache.calcite.linq4j.tree">MethodCallExpression</a></td>
<td class="colLast">
<div class="block">Represents a call to either a static or an instance method.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/MethodDeclaration.html" title="class in org.apache.calcite.linq4j.tree">MethodDeclaration</a></td>
<td class="colLast">
<div class="block">Declaration of a method.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/NewArrayExpression.html" title="class in org.apache.calcite.linq4j.tree">NewArrayExpression</a></td>
<td class="colLast">
<div class="block">Represents creating a new array and possibly initializing the elements of the
new array.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/NewExpression.html" title="class in org.apache.calcite.linq4j.tree">NewExpression</a></td>
<td class="colLast">
<div class="block">Represents a constructor call.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/OptimizeShuttle.html" title="class in org.apache.calcite.linq4j.tree">OptimizeShuttle</a></td>
<td class="colLast">
<div class="block">Shuttle that optimizes expressions.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/ParameterExpression.html" title="class in org.apache.calcite.linq4j.tree">ParameterExpression</a></td>
<td class="colLast">
<div class="block">Represents a named parameter expression.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/ReflectedPseudoField.html" title="class in org.apache.calcite.linq4j.tree">ReflectedPseudoField</a></td>
<td class="colLast">
<div class="block">Represents a PseudoField that is implemented via java reflection Field</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/Shuttle.html" title="class in org.apache.calcite.linq4j.tree">Shuttle</a></td>
<td class="colLast">
<div class="block">Extension to <a href="../../../../../org/apache/calcite/linq4j/tree/Visitor.html" title="interface in org.apache.calcite.linq4j.tree"><code>Visitor</code></a> that returns a mutated tree.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/Statement.html" title="class in org.apache.calcite.linq4j.tree">Statement</a></td>
<td class="colLast">
<div class="block">Statement.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/SwitchCase.html" title="class in org.apache.calcite.linq4j.tree">SwitchCase</a></td>
<td class="colLast">
<div class="block">Represents one case of a <a href="../../../../../org/apache/calcite/linq4j/tree/SwitchStatement.html" title="class in org.apache.calcite.linq4j.tree"><code>SwitchStatement</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/SwitchStatement.html" title="class in org.apache.calcite.linq4j.tree">SwitchStatement</a></td>
<td class="colLast">
<div class="block">Represents a control expression that handles multiple selections by passing
control to <a href="../../../../../org/apache/calcite/linq4j/tree/SwitchCase.html" title="class in org.apache.calcite.linq4j.tree"><code>SwitchCase</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/TernaryExpression.html" title="class in org.apache.calcite.linq4j.tree">TernaryExpression</a></td>
<td class="colLast">
<div class="block">Represents an expression that has a ternary operator.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/ThrowStatement.html" title="class in org.apache.calcite.linq4j.tree">ThrowStatement</a></td>
<td class="colLast">
<div class="block">Represents a <code>throw</code> statement.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/TryStatement.html" title="class in org.apache.calcite.linq4j.tree">TryStatement</a></td>
<td class="colLast">
<div class="block">Represents a {@code try ...</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/TypeBinaryExpression.html" title="class in org.apache.calcite.linq4j.tree">TypeBinaryExpression</a></td>
<td class="colLast">
<div class="block">Represents an operation between an expression and a type.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/Types.html" title="class in org.apache.calcite.linq4j.tree">Types</a></td>
<td class="colLast">
<div class="block">Utilities for converting between <a href="../../../../../org/apache/calcite/linq4j/tree/Expression.html" title="class in org.apache.calcite.linq4j.tree"><code>Expression</code></a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Type.html?is-external=true" title="class or interface in java.lang.reflect"><code>Type</code></a> and
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang"><code>Class</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/Types.ArrayType.html" title="class in org.apache.calcite.linq4j.tree">Types.ArrayType</a></td>
<td class="colLast">
<div class="block">Array type.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/Types.MapType.html" title="class in org.apache.calcite.linq4j.tree">Types.MapType</a></td>
<td class="colLast">
<div class="block">Map type.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/UnaryExpression.html" title="class in org.apache.calcite.linq4j.tree">UnaryExpression</a></td>
<td class="colLast">
<div class="block">Represents an expression that has a unary operator.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/VisitorImpl.html" title="class in org.apache.calcite.linq4j.tree">VisitorImpl</a>&lt;R&gt;</td>
<td class="colLast">
<div class="block">Default implementation of <a href="../../../../../org/apache/calcite/linq4j/tree/Visitor.html" title="interface in org.apache.calcite.linq4j.tree"><code>Visitor</code></a>, which traverses a tree but does
nothing.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/WhileStatement.html" title="class in org.apache.calcite.linq4j.tree">WhileStatement</a></td>
<td class="colLast">
<div class="block">Represents a "while" statement.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Summary table, listing enums, and an explanation">
<caption><span>Enum Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Enum</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/ExpressionType.html" title="enum in org.apache.calcite.linq4j.tree">ExpressionType</a></td>
<td class="colLast">
<div class="block">Analogous to LINQ's System.Linq.Expressions.ExpressionType.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/GotoExpressionKind.html" title="enum in org.apache.calcite.linq4j.tree">GotoExpressionKind</a></td>
<td class="colLast">
<div class="block">Specifies what kind of jump a <a href="../../../../../org/apache/calcite/linq4j/tree/GotoStatement.html" title="class in org.apache.calcite.linq4j.tree"><code>GotoStatement</code></a> represents.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/Primitive.html" title="enum in org.apache.calcite.linq4j.tree">Primitive</a></td>
<td class="colLast">
<div class="block">Enumeration of Java's primitive types.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/linq4j/tree/Primitive.Flavor.html" title="enum in org.apache.calcite.linq4j.tree">Primitive.Flavor</a></td>
<td class="colLast">
<div class="block">What kind of type?</div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="package.description">
<!-- -->
</a>
<h2 title="Package org.apache.calcite.linq4j.tree Description">Package org.apache.calcite.linq4j.tree Description</h2>
<div class="block">Object model for Java expressions.
<p>This object model is used when the linq4j system is analyzing
queries that have been submitted using methods on the
<a href="../../../../../org/apache/calcite/linq4j/Queryable.html" title="interface in org.apache.calcite.linq4j"><code>Queryable</code></a> 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.</p></div>
</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li class="navBarCell1Rev">Package</li>
<li>Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><b>Apache Calcite</b></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/calcite/linq4j/function/package-summary.html">Prev&nbsp;Package</a></li>
<li><a href="../../../../../org/apache/calcite/materialize/package-summary.html">Next&nbsp;Package</a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/calcite/linq4j/tree/package-summary.html" target="_top">Frames</a></li>
<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &copy; 2012-2020 Apache Software Foundation. All Rights Reserved.</small></p>
</body>
</html>