blob: b2a71ad173603bfc805ad59d6f602f00d1202c8b [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>org.apache.calcite.linq4j.tree (Apache Calcite API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../jquery/jquery-3.3.1.js"></script>
<script type="text/javascript" src="../../../../../jquery/jquery-migrate-3.0.1.js"></script>
<script type="text/javascript" src="../../../../../jquery/jquery-ui.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 API)";
}
}
catch(err) {
}
//-->
var pathtoroot = "../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li class="navBarCell1Rev">Package</li>
<li>Class</li>
<li><a href="package-use.html">Use</a></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>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</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>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<main role="main">
<div class="header">
<h1 title="Package" class="title">Package&nbsp;org.apache.calcite.linq4j.tree</h1>
</div>
<div class="contentContainer">
<section role="region"><a id="package.description">
<!-- -->
</a>
<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="../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>
</section>
<ul class="blockList">
<li class="blockList">
<table class="typeSummary">
<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">
<th class="colFirst" scope="row"><a href="CallSiteBinder.html" title="interface in org.apache.calcite.linq4j.tree">CallSiteBinder</a></th>
<td class="colLast">
<div class="block">Creates a <a href="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">
<th class="colFirst" scope="row"><a href="Expressions.FluentList.html" title="interface in org.apache.calcite.linq4j.tree">Expressions.FluentList</a>&lt;T&gt;</th>
<td class="colLast">
<div class="block">Fluent list.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="Expressions.PropertyInfo.html" title="interface in org.apache.calcite.linq4j.tree">Expressions.PropertyInfo</a></th>
<td class="colLast">
<div class="block">Property info.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="Expressions.RuntimeVariablesExpression.html" title="interface in org.apache.calcite.linq4j.tree">Expressions.RuntimeVariablesExpression</a></th>
<td class="colLast">
<div class="block">Runtime variables expression.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="Expressions.SymbolDocumentInfo.html" title="interface in org.apache.calcite.linq4j.tree">Expressions.SymbolDocumentInfo</a></th>
<td class="colLast">
<div class="block">Symbol document info.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="ExpressionVisitor.html" title="interface in org.apache.calcite.linq4j.tree">ExpressionVisitor</a></th>
<td class="colLast">
<div class="block">Represents a visitor or rewriter for expression trees.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="FunctionExpression.Invokable.html" title="interface in org.apache.calcite.linq4j.tree">FunctionExpression.Invokable</a></th>
<td class="colLast">
<div class="block">Function that can be invoked with a variable number of arguments.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="Node.html" title="interface in org.apache.calcite.linq4j.tree">Node</a></th>
<td class="colLast">
<div class="block">Parse tree node.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="Primitive.Sink.html" title="interface in org.apache.calcite.linq4j.tree">Primitive.Sink</a></th>
<td class="colLast">
<div class="block">A place to send a value.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="Primitive.Source.html" title="interface in org.apache.calcite.linq4j.tree">Primitive.Source</a></th>
<td class="colLast">
<div class="block">A place from which to read a value.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="PseudoField.html" title="interface in org.apache.calcite.linq4j.tree">PseudoField</a></th>
<td class="colLast">
<div class="block">Contains the parts of the <code>Field</code> class needed
for code generation, but might be implemented differently.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="Types.RecordField.html" title="interface in org.apache.calcite.linq4j.tree">Types.RecordField</a></th>
<td class="colLast">
<div class="block">Field that belongs to a record.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="Types.RecordType.html" title="interface in org.apache.calcite.linq4j.tree">Types.RecordType</a></th>
<td class="colLast">
<div class="block">Base class for record-like types that do not mapped to (currently
loaded) Java <code>Class</code> objects.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="Visitor.html" title="interface in org.apache.calcite.linq4j.tree">Visitor</a>&lt;R&gt;</th>
<td class="colLast">
<div class="block">Node visitor.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<table class="typeSummary">
<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">
<th class="colFirst" scope="row"><a href="AbstractNode.html" title="class in org.apache.calcite.linq4j.tree">AbstractNode</a></th>
<td class="colLast">
<div class="block">Abstract implementation of <a href="Node.html" title="interface in org.apache.calcite.linq4j.tree"><code>Node</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="ArrayLengthRecordField.html" title="class in org.apache.calcite.linq4j.tree">ArrayLengthRecordField</a></th>
<td class="colLast">
<div class="block">Represents a length field of a RecordType</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="BinaryExpression.html" title="class in org.apache.calcite.linq4j.tree">BinaryExpression</a></th>
<td class="colLast">
<div class="block">Represents an expression that has a binary operator.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="BlockBuilder.html" title="class in org.apache.calcite.linq4j.tree">BlockBuilder</a></th>
<td class="colLast">
<div class="block">Builder for <a href="BlockStatement.html" title="class in org.apache.calcite.linq4j.tree"><code>BlockStatement</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="BlockBuilder.InlineVariableVisitor.html" title="class in org.apache.calcite.linq4j.tree">BlockBuilder.InlineVariableVisitor</a></th>
<td class="colLast">
<div class="block">Inline Variable Visitor.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="BlockBuilder.Slot.html" title="class in org.apache.calcite.linq4j.tree">BlockBuilder.Slot</a></th>
<td class="colLast">
<div class="block">Holds the number of times a declaration was used.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="BlockBuilder.SubstituteVariableVisitor.html" title="class in org.apache.calcite.linq4j.tree">BlockBuilder.SubstituteVariableVisitor</a></th>
<td class="colLast">
<div class="block">Substitute Variable Visitor.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="BlockBuilder.UseCounter.html" title="class in org.apache.calcite.linq4j.tree">BlockBuilder.UseCounter</a></th>
<td class="colLast">
<div class="block">Use counter.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="Blocks.html" title="class in org.apache.calcite.linq4j.tree">Blocks</a></th>
<td class="colLast">
<div class="block">Helper methods concerning <a href="BlockStatement.html" title="class in org.apache.calcite.linq4j.tree"><code>BlockStatement</code></a>s.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="BlockStatement.html" title="class in org.apache.calcite.linq4j.tree">BlockStatement</a></th>
<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">
<th class="colFirst" scope="row"><a href="CatchBlock.html" title="class in org.apache.calcite.linq4j.tree">CatchBlock</a></th>
<td class="colLast">
<div class="block">Represents a catch statement in a try block.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="ClassDeclaration.html" title="class in org.apache.calcite.linq4j.tree">ClassDeclaration</a></th>
<td class="colLast">
<div class="block">Declaration of a class.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="ClassDeclarationFinder.html" title="class in org.apache.calcite.linq4j.tree">ClassDeclarationFinder</a></th>
<td class="colLast">
<div class="block">Entry point for optimizers that factor ou deterministic expressions to
final static fields.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="ConditionalExpression.html" title="class in org.apache.calcite.linq4j.tree">ConditionalExpression</a></th>
<td class="colLast">
<div class="block">Represents an expression that has a conditional operator.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="ConditionalStatement.html" title="class in org.apache.calcite.linq4j.tree">ConditionalStatement</a></th>
<td class="colLast">
<div class="block">Represents an expression that has a conditional operator.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="ConstantExpression.html" title="class in org.apache.calcite.linq4j.tree">ConstantExpression</a></th>
<td class="colLast">
<div class="block">Represents an expression that has a constant value.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="ConstantUntypedNull.html" title="class in org.apache.calcite.linq4j.tree">ConstantUntypedNull</a></th>
<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">
<th class="colFirst" scope="row"><a href="ConstructorDeclaration.html" title="class in org.apache.calcite.linq4j.tree">ConstructorDeclaration</a></th>
<td class="colLast">
<div class="block">Declaration of a constructor.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="DeclarationStatement.html" title="class in org.apache.calcite.linq4j.tree">DeclarationStatement</a></th>
<td class="colLast">
<div class="block">Expression that declares and optionally initializes a variable.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="DefaultExpression.html" title="class in org.apache.calcite.linq4j.tree">DefaultExpression</a></th>
<td class="colLast">
<div class="block">Represents the default value of a type or an empty expression.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="DeterministicCodeOptimizer.html" title="class in org.apache.calcite.linq4j.tree">DeterministicCodeOptimizer</a></th>
<td class="colLast">
<div class="block">Factors out deterministic expressions to final static fields.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="DynamicExpression.html" title="class in org.apache.calcite.linq4j.tree">DynamicExpression</a></th>
<td class="colLast">
<div class="block">Represents a dynamic operation.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="ElementInit.html" title="class in org.apache.calcite.linq4j.tree">ElementInit</a></th>
<td class="colLast">
<div class="block">Represents an initializer for a single element of an
<a href="../Enumerable.html" title="interface in org.apache.calcite.linq4j"><code>Enumerable</code></a> collection.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="Evaluator.html" title="class in org.apache.calcite.linq4j.tree">Evaluator</a></th>
<td class="colLast">
<div class="block">Holds context for evaluating expressions.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="Expression.html" title="class in org.apache.calcite.linq4j.tree">Expression</a></th>
<td class="colLast">
<div class="block">Analogous to LINQ's System.Linq.Expression.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="Expressions.html" title="class in org.apache.calcite.linq4j.tree">Expressions</a></th>
<td class="colLast">
<div class="block">Utility methods for expressions, including a lot of factory methods.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="Expressions.FluentArrayList.html" title="class in org.apache.calcite.linq4j.tree">Expressions.FluentArrayList</a>&lt;T&gt;</th>
<td class="colLast">
<div class="block">Fluent array list.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="ExpressionWriter.html" title="class in org.apache.calcite.linq4j.tree">ExpressionWriter</a></th>
<td class="colLast">
<div class="block">Converts an expression to Java code.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="ExpressionWriter.Indent.html" title="class in org.apache.calcite.linq4j.tree">ExpressionWriter.Indent</a></th>
<td class="colLast">
<div class="block">Helps generate strings of spaces, to indent text.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="FieldDeclaration.html" title="class in org.apache.calcite.linq4j.tree">FieldDeclaration</a></th>
<td class="colLast">
<div class="block">Declaration of a field.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="ForStatement.html" title="class in org.apache.calcite.linq4j.tree">ForStatement</a></th>
<td class="colLast">
<div class="block">Represents an infinite loop.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="FunctionExpression.html" title="class in org.apache.calcite.linq4j.tree">FunctionExpression</a>&lt;F extends <a href="../function/Function.html" title="interface in org.apache.calcite.linq4j.function">Function</a>&lt;?&gt;&gt;</th>
<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="altColor">
<th class="colFirst" scope="row"><a href="GotoStatement.html" title="class in org.apache.calcite.linq4j.tree">GotoStatement</a></th>
<td class="colLast">
<div class="block">Represents an unconditional jump.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="IndexExpression.html" title="class in org.apache.calcite.linq4j.tree">IndexExpression</a></th>
<td class="colLast">
<div class="block">Represents indexing a property or array.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="InvocationExpression.html" title="class in org.apache.calcite.linq4j.tree">InvocationExpression</a></th>
<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="rowColor">
<th class="colFirst" scope="row"><a href="LabelStatement.html" title="class in org.apache.calcite.linq4j.tree">LabelStatement</a></th>
<td class="colLast">
<div class="block">Represents a label, which can be put in any <a href="Expression.html" title="class in org.apache.calcite.linq4j.tree"><code>Expression</code></a> context.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="LabelTarget.html" title="class in org.apache.calcite.linq4j.tree">LabelTarget</a></th>
<td class="colLast">
<div class="block">Used to represent the target of a <a href="GotoStatement.html" title="class in org.apache.calcite.linq4j.tree"><code>GotoStatement</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="LambdaExpression.html" title="class in org.apache.calcite.linq4j.tree">LambdaExpression</a></th>
<td class="colLast">
<div class="block">Describes a lambda expression.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="ListInitExpression.html" title="class in org.apache.calcite.linq4j.tree">ListInitExpression</a></th>
<td class="colLast">
<div class="block">Represents a constructor call that has a collection initializer.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="MemberAssignment.html" title="class in org.apache.calcite.linq4j.tree">MemberAssignment</a></th>
<td class="colLast">
<div class="block">Represents assignment operation for a field or property of an object.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="MemberBinding.html" title="class in org.apache.calcite.linq4j.tree">MemberBinding</a></th>
<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="rowColor">
<th class="colFirst" scope="row"><a href="MemberDeclaration.html" title="class in org.apache.calcite.linq4j.tree">MemberDeclaration</a></th>
<td class="colLast">
<div class="block">Declaration of a member of a class.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="MemberExpression.html" title="class in org.apache.calcite.linq4j.tree">MemberExpression</a></th>
<td class="colLast">
<div class="block">Represents accessing a field or property.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="MemberInitExpression.html" title="class in org.apache.calcite.linq4j.tree">MemberInitExpression</a></th>
<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="altColor">
<th class="colFirst" scope="row"><a href="MemberListBinding.html" title="class in org.apache.calcite.linq4j.tree">MemberListBinding</a></th>
<td class="colLast">
<div class="block">Represents initializing the elements of a collection member of a newly
created object.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="MemberMemberBinding.html" title="class in org.apache.calcite.linq4j.tree">MemberMemberBinding</a></th>
<td class="colLast">
<div class="block">Represents initializing members of a member of a newly created object.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="MethodCallExpression.html" title="class in org.apache.calcite.linq4j.tree">MethodCallExpression</a></th>
<td class="colLast">
<div class="block">Represents a call to either a static or an instance method.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="MethodDeclaration.html" title="class in org.apache.calcite.linq4j.tree">MethodDeclaration</a></th>
<td class="colLast">
<div class="block">Declaration of a method.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="NewArrayExpression.html" title="class in org.apache.calcite.linq4j.tree">NewArrayExpression</a></th>
<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="rowColor">
<th class="colFirst" scope="row"><a href="NewExpression.html" title="class in org.apache.calcite.linq4j.tree">NewExpression</a></th>
<td class="colLast">
<div class="block">Represents a constructor call.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="OptimizeShuttle.html" title="class in org.apache.calcite.linq4j.tree">OptimizeShuttle</a></th>
<td class="colLast">
<div class="block">Shuttle that optimizes expressions.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="ParameterExpression.html" title="class in org.apache.calcite.linq4j.tree">ParameterExpression</a></th>
<td class="colLast">
<div class="block">Represents a named parameter expression.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="ReflectedPseudoField.html" title="class in org.apache.calcite.linq4j.tree">ReflectedPseudoField</a></th>
<td class="colLast">
<div class="block">Represents a PseudoField that is implemented via java reflection Field</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="Shuttle.html" title="class in org.apache.calcite.linq4j.tree">Shuttle</a></th>
<td class="colLast">
<div class="block">Extension to <a href="Visitor.html" title="interface in org.apache.calcite.linq4j.tree"><code>Visitor</code></a> that returns a mutated tree.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="Statement.html" title="class in org.apache.calcite.linq4j.tree">Statement</a></th>
<td class="colLast">
<div class="block">Statement.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="SwitchCase.html" title="class in org.apache.calcite.linq4j.tree">SwitchCase</a></th>
<td class="colLast">
<div class="block">Represents one case of a <a href="SwitchStatement.html" title="class in org.apache.calcite.linq4j.tree"><code>SwitchStatement</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="SwitchStatement.html" title="class in org.apache.calcite.linq4j.tree">SwitchStatement</a></th>
<td class="colLast">
<div class="block">Represents a control expression that handles multiple selections by passing
control to <a href="SwitchCase.html" title="class in org.apache.calcite.linq4j.tree"><code>SwitchCase</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="TernaryExpression.html" title="class in org.apache.calcite.linq4j.tree">TernaryExpression</a></th>
<td class="colLast">
<div class="block">Represents an expression that has a ternary operator.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="ThrowStatement.html" title="class in org.apache.calcite.linq4j.tree">ThrowStatement</a></th>
<td class="colLast">
<div class="block">Represents a <code>throw</code> statement.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="TryStatement.html" title="class in org.apache.calcite.linq4j.tree">TryStatement</a></th>
<td class="colLast">
<div class="block">Represents a <code>try ... catch ... finally</code> block.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="TypeBinaryExpression.html" title="class in org.apache.calcite.linq4j.tree">TypeBinaryExpression</a></th>
<td class="colLast">
<div class="block">Represents an operation between an expression and a type.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="Types.html" title="class in org.apache.calcite.linq4j.tree">Types</a></th>
<td class="colLast">
<div class="block">Utilities for converting between <a href="Expression.html" title="class in org.apache.calcite.linq4j.tree"><code>Expression</code></a>, <code>Type</code> and
<code>Class</code>.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="Types.ArrayType.html" title="class in org.apache.calcite.linq4j.tree">Types.ArrayType</a></th>
<td class="colLast">
<div class="block">Array type.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="Types.MapType.html" title="class in org.apache.calcite.linq4j.tree">Types.MapType</a></th>
<td class="colLast">
<div class="block">Map type.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="Types.ParameterizedTypeImpl.html" title="class in org.apache.calcite.linq4j.tree">Types.ParameterizedTypeImpl</a></th>
<td class="colLast">
<div class="block">Implementation of <code>ParameterizedType</code>.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="UnaryExpression.html" title="class in org.apache.calcite.linq4j.tree">UnaryExpression</a></th>
<td class="colLast">
<div class="block">Represents an expression that has a unary operator.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="VisitorImpl.html" title="class in org.apache.calcite.linq4j.tree">VisitorImpl</a>&lt;R&gt;</th>
<td class="colLast">
<div class="block">Default implementation of <a href="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">
<th class="colFirst" scope="row"><a href="WhileStatement.html" title="class in org.apache.calcite.linq4j.tree">WhileStatement</a></th>
<td class="colLast">
<div class="block">Represents a "while" statement.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<table class="typeSummary">
<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">
<th class="colFirst" scope="row"><a href="ExpressionType.html" title="enum in org.apache.calcite.linq4j.tree">ExpressionType</a></th>
<td class="colLast">
<div class="block">Analogous to LINQ's System.Linq.Expressions.ExpressionType.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="GotoExpressionKind.html" title="enum in org.apache.calcite.linq4j.tree">GotoExpressionKind</a></th>
<td class="colLast">
<div class="block">Specifies what kind of jump a <a href="GotoStatement.html" title="class in org.apache.calcite.linq4j.tree"><code>GotoStatement</code></a> represents.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="Primitive.html" title="enum in org.apache.calcite.linq4j.tree">Primitive</a></th>
<td class="colLast">
<div class="block">Enumeration of Java's primitive types.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="Primitive.Flavor.html" title="enum in org.apache.calcite.linq4j.tree">Primitive.Flavor</a></th>
<td class="colLast">
<div class="block">What kind of type?</div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li class="navBarCell1Rev">Package</li>
<li>Class</li>
<li><a href="package-use.html">Use</a></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>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses.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>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2012&#x2013;2019 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</body>
</html>