<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>Uses of Class org.apache.calcite.linq4j.tree.NewExpression (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="Uses of Class org.apache.calcite.linq4j.tree.NewExpression (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><a href="../package-summary.html">Package</a></li>
<li><a href="../NewExpression.html" title="class in org.apache.calcite.linq4j.tree">Class</a></li>
<li class="navBarCell1Rev">Use</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">
<h2 title="Uses of Class org.apache.calcite.linq4j.tree.NewExpression" class="title">Uses of Class<br>org.apache.calcite.linq4j.tree.NewExpression</h2>
</div>
<div class="classUseContainer">
<ul class="blockList">
<li class="blockList">
<table class="useSummary">
<caption><span>Packages that use <a href="../NewExpression.html" title="class in org.apache.calcite.linq4j.tree">NewExpression</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Package</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.adapter.enumerable">org.apache.calcite.adapter.enumerable</a></th>
<td class="colLast">
<div class="block">Query optimizer rules for Java calling convention.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.linq4j.tree">org.apache.calcite.linq4j.tree</a></th>
<td class="colLast">
<div class="block">Object model for Java expressions.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<ul class="blockList">
<li class="blockList">
<section role="region"><a id="org.apache.calcite.adapter.enumerable">
<!--   -->
</a>
<h3>Uses of <a href="../NewExpression.html" title="class in org.apache.calcite.linq4j.tree">NewExpression</a> in <a href="../../../adapter/enumerable/package-summary.html">org.apache.calcite.adapter.enumerable</a></h3>
<table class="useSummary">
<caption><span>Methods in <a href="../../../adapter/enumerable/package-summary.html">org.apache.calcite.adapter.enumerable</a> with parameters of type <a href="../NewExpression.html" title="class in org.apache.calcite.linq4j.tree">NewExpression</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>java.lang.Void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">EnumerableRelImplementor.TypeFinder.</span><code><span class="memberNameLink"><a href="../../../adapter/enumerable/EnumerableRelImplementor.TypeFinder.html#visit(org.apache.calcite.linq4j.tree.NewExpression)">visit</a></span>&#8203;(<a href="../NewExpression.html" title="class in org.apache.calcite.linq4j.tree">NewExpression</a>&nbsp;newExpression)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.linq4j.tree">
<!--   -->
</a>
<h3>Uses of <a href="../NewExpression.html" title="class in org.apache.calcite.linq4j.tree">NewExpression</a> in <a href="../package-summary.html">org.apache.calcite.linq4j.tree</a></h3>
<table class="useSummary">
<caption><span>Methods in <a href="../package-summary.html">org.apache.calcite.linq4j.tree</a> that return <a href="../NewExpression.html" title="class in org.apache.calcite.linq4j.tree">NewExpression</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../NewExpression.html" title="class in org.apache.calcite.linq4j.tree">NewExpression</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Expressions.</span><code><span class="memberNameLink"><a href="../Expressions.html#new_(java.lang.reflect.Constructor)">new_</a></span>&#8203;(java.lang.reflect.Constructor&nbsp;constructor)</code></th>
<td class="colLast">
<div class="block">Creates a NewExpression that represents calling the specified
 constructor that takes no arguments.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../NewExpression.html" title="class in org.apache.calcite.linq4j.tree">NewExpression</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Expressions.</span><code><span class="memberNameLink"><a href="../Expressions.html#new_(java.lang.reflect.Constructor,java.lang.Iterable)">new_</a></span>&#8203;(java.lang.reflect.Constructor&nbsp;constructor,
    java.lang.Iterable&lt;? extends <a href="../Expression.html" title="class in org.apache.calcite.linq4j.tree">Expression</a>&gt;&nbsp;expressions)</code></th>
<td class="colLast">
<div class="block">Creates a NewExpression that represents calling the specified
 constructor with the specified arguments.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../NewExpression.html" title="class in org.apache.calcite.linq4j.tree">NewExpression</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Expressions.</span><code><span class="memberNameLink"><a href="../Expressions.html#new_(java.lang.reflect.Constructor,java.lang.Iterable,java.lang.Iterable)">new_</a></span>&#8203;(java.lang.reflect.Constructor&nbsp;constructor,
    java.lang.Iterable&lt;? extends <a href="../Expression.html" title="class in org.apache.calcite.linq4j.tree">Expression</a>&gt;&nbsp;expressions,
    java.lang.Iterable&lt;? extends <a href="../MemberDeclaration.html" title="class in org.apache.calcite.linq4j.tree">MemberDeclaration</a>&gt;&nbsp;memberDeclarations)</code></th>
<td class="colLast">
<div class="block">Creates a NewExpression that represents calling the specified
 constructor with the specified arguments.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../NewExpression.html" title="class in org.apache.calcite.linq4j.tree">NewExpression</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Expressions.</span><code><span class="memberNameLink"><a href="../Expressions.html#new_(java.lang.reflect.Constructor,java.lang.Iterable,org.apache.calcite.linq4j.tree.MemberDeclaration...)">new_</a></span>&#8203;(java.lang.reflect.Constructor&nbsp;constructor,
    java.lang.Iterable&lt;? extends <a href="../Expression.html" title="class in org.apache.calcite.linq4j.tree">Expression</a>&gt;&nbsp;expressions,
    <a href="../MemberDeclaration.html" title="class in org.apache.calcite.linq4j.tree">MemberDeclaration</a>...&nbsp;memberDeclarations)</code></th>
<td class="colLast">
<div class="block">Creates a NewExpression that represents calling the specified
 constructor with the specified arguments, using varargs.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../NewExpression.html" title="class in org.apache.calcite.linq4j.tree">NewExpression</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Expressions.</span><code><span class="memberNameLink"><a href="../Expressions.html#new_(java.lang.reflect.Constructor,org.apache.calcite.linq4j.tree.Expression...)">new_</a></span>&#8203;(java.lang.reflect.Constructor&nbsp;constructor,
    <a href="../Expression.html" title="class in org.apache.calcite.linq4j.tree">Expression</a>...&nbsp;expressions)</code></th>
<td class="colLast">
<div class="block">Creates a NewExpression that represents calling the specified
 constructor with the specified arguments, using varargs.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../NewExpression.html" title="class in org.apache.calcite.linq4j.tree">NewExpression</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Expressions.</span><code><span class="memberNameLink"><a href="../Expressions.html#new_(java.lang.reflect.Type)">new_</a></span>&#8203;(java.lang.reflect.Type&nbsp;type)</code></th>
<td class="colLast">
<div class="block">Creates a NewExpression that represents calling the
 parameterless constructor of the specified type.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../NewExpression.html" title="class in org.apache.calcite.linq4j.tree">NewExpression</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Expressions.</span><code><span class="memberNameLink"><a href="../Expressions.html#new_(java.lang.reflect.Type,java.lang.Iterable)">new_</a></span>&#8203;(java.lang.reflect.Type&nbsp;type,
    java.lang.Iterable&lt;? extends <a href="../Expression.html" title="class in org.apache.calcite.linq4j.tree">Expression</a>&gt;&nbsp;arguments)</code></th>
<td class="colLast">
<div class="block">Creates a NewExpression that represents calling the constructor of the
 specified type whose parameters are assignable from the specified
 arguments.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../NewExpression.html" title="class in org.apache.calcite.linq4j.tree">NewExpression</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Expressions.</span><code><span class="memberNameLink"><a href="../Expressions.html#new_(java.lang.reflect.Type,java.lang.Iterable,java.lang.Iterable)">new_</a></span>&#8203;(java.lang.reflect.Type&nbsp;type,
    java.lang.Iterable&lt;? extends <a href="../Expression.html" title="class in org.apache.calcite.linq4j.tree">Expression</a>&gt;&nbsp;arguments,
    java.lang.Iterable&lt;? extends <a href="../MemberDeclaration.html" title="class in org.apache.calcite.linq4j.tree">MemberDeclaration</a>&gt;&nbsp;memberDeclarations)</code></th>
<td class="colLast">
<div class="block">Creates a NewExpression that represents calling the constructor of the
 specified type whose parameters are assignable from the specified
 arguments.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../NewExpression.html" title="class in org.apache.calcite.linq4j.tree">NewExpression</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Expressions.</span><code><span class="memberNameLink"><a href="../Expressions.html#new_(java.lang.reflect.Type,java.lang.Iterable,org.apache.calcite.linq4j.tree.MemberDeclaration...)">new_</a></span>&#8203;(java.lang.reflect.Type&nbsp;type,
    java.lang.Iterable&lt;? extends <a href="../Expression.html" title="class in org.apache.calcite.linq4j.tree">Expression</a>&gt;&nbsp;arguments,
    <a href="../MemberDeclaration.html" title="class in org.apache.calcite.linq4j.tree">MemberDeclaration</a>...&nbsp;memberDeclarations)</code></th>
<td class="colLast">
<div class="block">Creates a NewExpression that represents calling the constructor of the
 specified type whose parameters are assignable from the specified
 arguments, using varargs.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../NewExpression.html" title="class in org.apache.calcite.linq4j.tree">NewExpression</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Expressions.</span><code><span class="memberNameLink"><a href="../Expressions.html#new_(java.lang.reflect.Type,org.apache.calcite.linq4j.tree.Expression...)">new_</a></span>&#8203;(java.lang.reflect.Type&nbsp;type,
    <a href="../Expression.html" title="class in org.apache.calcite.linq4j.tree">Expression</a>...&nbsp;arguments)</code></th>
<td class="colLast">
<div class="block">Creates a NewExpression that represents calling the constructor of the
 specified type whose parameters are assignable from the specified
 arguments, using varargs.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../package-summary.html">org.apache.calcite.linq4j.tree</a> with parameters of type <a href="../NewExpression.html" title="class in org.apache.calcite.linq4j.tree">NewExpression</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DeterministicCodeOptimizer.</span><code><span class="memberNameLink"><a href="../DeterministicCodeOptimizer.html#isConstructorDeterministic(org.apache.calcite.linq4j.tree.NewExpression)">isConstructorDeterministic</a></span>&#8203;(<a href="../NewExpression.html" title="class in org.apache.calcite.linq4j.tree">NewExpression</a>&nbsp;newExpression)</code></th>
<td class="colLast">
<div class="block">Checks if new instance creation can be reused.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../ListInitExpression.html" title="class in org.apache.calcite.linq4j.tree">ListInitExpression</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Expressions.</span><code><span class="memberNameLink"><a href="../Expressions.html#listInit(org.apache.calcite.linq4j.tree.NewExpression,java.lang.Iterable)">listInit</a></span>&#8203;(<a href="../NewExpression.html" title="class in org.apache.calcite.linq4j.tree">NewExpression</a>&nbsp;newExpression,
        java.lang.Iterable&lt;? extends <a href="../ElementInit.html" title="class in org.apache.calcite.linq4j.tree">ElementInit</a>&gt;&nbsp;elementInits)</code></th>
<td class="colLast">
<div class="block">Creates a ListInitExpression that uses specified ElementInit
 objects to initialize a collection.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../ListInitExpression.html" title="class in org.apache.calcite.linq4j.tree">ListInitExpression</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Expressions.</span><code><span class="memberNameLink"><a href="../Expressions.html#listInit(org.apache.calcite.linq4j.tree.NewExpression,java.lang.reflect.Method,java.lang.Iterable)">listInit</a></span>&#8203;(<a href="../NewExpression.html" title="class in org.apache.calcite.linq4j.tree">NewExpression</a>&nbsp;newExpression,
        java.lang.reflect.Method&nbsp;method,
        java.lang.Iterable&lt;? extends <a href="../Expression.html" title="class in org.apache.calcite.linq4j.tree">Expression</a>&gt;&nbsp;arguments)</code></th>
<td class="colLast">
<div class="block">Creates a ListInitExpression that uses a specified method to
 add elements to a collection.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../ListInitExpression.html" title="class in org.apache.calcite.linq4j.tree">ListInitExpression</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Expressions.</span><code><span class="memberNameLink"><a href="../Expressions.html#listInit(org.apache.calcite.linq4j.tree.NewExpression,java.lang.reflect.Method,org.apache.calcite.linq4j.tree.Expression...)">listInit</a></span>&#8203;(<a href="../NewExpression.html" title="class in org.apache.calcite.linq4j.tree">NewExpression</a>&nbsp;newExpression,
        java.lang.reflect.Method&nbsp;method,
        <a href="../Expression.html" title="class in org.apache.calcite.linq4j.tree">Expression</a>...&nbsp;arguments)</code></th>
<td class="colLast">
<div class="block">Creates a ListInitExpression that uses a specified method to
 add elements to a collection, using varargs.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../ListInitExpression.html" title="class in org.apache.calcite.linq4j.tree">ListInitExpression</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Expressions.</span><code><span class="memberNameLink"><a href="../Expressions.html#listInit(org.apache.calcite.linq4j.tree.NewExpression,org.apache.calcite.linq4j.tree.ElementInit...)">listInit</a></span>&#8203;(<a href="../NewExpression.html" title="class in org.apache.calcite.linq4j.tree">NewExpression</a>&nbsp;newExpression,
        <a href="../ElementInit.html" title="class in org.apache.calcite.linq4j.tree">ElementInit</a>...&nbsp;elementInits)</code></th>
<td class="colLast">
<div class="block">Creates a ListInitExpression that uses specified ElementInit
 objects to initialize a collection, using varargs.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../ListInitExpression.html" title="class in org.apache.calcite.linq4j.tree">ListInitExpression</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Expressions.</span><code><span class="memberNameLink"><a href="../Expressions.html#listInit(org.apache.calcite.linq4j.tree.NewExpression,org.apache.calcite.linq4j.tree.Expression...)">listInit</a></span>&#8203;(<a href="../NewExpression.html" title="class in org.apache.calcite.linq4j.tree">NewExpression</a>&nbsp;newExpression,
        <a href="../Expression.html" title="class in org.apache.calcite.linq4j.tree">Expression</a>...&nbsp;arguments)</code></th>
<td class="colLast">
<div class="block">Creates a ListInitExpression that uses a method named "Add" to
 add elements to a collection, using varargs.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../ListInitExpression.html" title="class in org.apache.calcite.linq4j.tree">ListInitExpression</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Expressions.</span><code><span class="memberNameLink"><a href="../Expressions.html#listInitE(org.apache.calcite.linq4j.tree.NewExpression,java.lang.Iterable)">listInitE</a></span>&#8203;(<a href="../NewExpression.html" title="class in org.apache.calcite.linq4j.tree">NewExpression</a>&nbsp;newExpression,
         java.lang.Iterable&lt;? extends <a href="../Expression.html" title="class in org.apache.calcite.linq4j.tree">Expression</a>&gt;&nbsp;arguments)</code></th>
<td class="colLast">
<div class="block">Creates a ListInitExpression that uses a method named "Add" to
 add elements to a collection.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../MemberInitExpression.html" title="class in org.apache.calcite.linq4j.tree">MemberInitExpression</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Expressions.</span><code><span class="memberNameLink"><a href="../Expressions.html#memberInit(org.apache.calcite.linq4j.tree.NewExpression,java.lang.Iterable)">memberInit</a></span>&#8203;(<a href="../NewExpression.html" title="class in org.apache.calcite.linq4j.tree">NewExpression</a>&nbsp;newExpression,
          java.lang.Iterable&lt;? extends <a href="../MemberBinding.html" title="class in org.apache.calcite.linq4j.tree">MemberBinding</a>&gt;&nbsp;bindings)</code></th>
<td class="colLast">
<div class="block">Represents an expression that creates a new object and
 initializes a property of the object.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../MemberInitExpression.html" title="class in org.apache.calcite.linq4j.tree">MemberInitExpression</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Expressions.</span><code><span class="memberNameLink"><a href="../Expressions.html#memberInit(org.apache.calcite.linq4j.tree.NewExpression,org.apache.calcite.linq4j.tree.MemberBinding...)">memberInit</a></span>&#8203;(<a href="../NewExpression.html" title="class in org.apache.calcite.linq4j.tree">NewExpression</a>&nbsp;newExpression,
          <a href="../MemberBinding.html" title="class in org.apache.calcite.linq4j.tree">MemberBinding</a>...&nbsp;bindings)</code></th>
<td class="colLast">
<div class="block">Represents an expression that creates a new object and
 initializes a property of the object, using varargs.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../Shuttle.html" title="class in org.apache.calcite.linq4j.tree">Shuttle</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ClassDeclarationFinder.</span><code><span class="memberNameLink"><a href="../ClassDeclarationFinder.html#preVisit(org.apache.calcite.linq4j.tree.NewExpression)">preVisit</a></span>&#8203;(<a href="../NewExpression.html" title="class in org.apache.calcite.linq4j.tree">NewExpression</a>&nbsp;newExpression)</code></th>
<td class="colLast">
<div class="block">Creates optimizer local to the newly generated anonymous class.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../Shuttle.html" title="class in org.apache.calcite.linq4j.tree">Shuttle</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Shuttle.</span><code><span class="memberNameLink"><a href="../Shuttle.html#preVisit(org.apache.calcite.linq4j.tree.NewExpression)">preVisit</a></span>&#8203;(<a href="../NewExpression.html" title="class in org.apache.calcite.linq4j.tree">NewExpression</a>&nbsp;newExpression)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../Expression.html" title="class in org.apache.calcite.linq4j.tree">Expression</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ClassDeclarationFinder.</span><code><span class="memberNameLink"><a href="../ClassDeclarationFinder.html#tryOptimizeNewInstance(org.apache.calcite.linq4j.tree.NewExpression)">tryOptimizeNewInstance</a></span>&#8203;(<a href="../NewExpression.html" title="class in org.apache.calcite.linq4j.tree">NewExpression</a>&nbsp;newExpression)</code></th>
<td class="colLast">
<div class="block">Optimizes <code>new Type()</code> constructs.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../Expression.html" title="class in org.apache.calcite.linq4j.tree">Expression</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DeterministicCodeOptimizer.</span><code><span class="memberNameLink"><a href="../DeterministicCodeOptimizer.html#tryOptimizeNewInstance(org.apache.calcite.linq4j.tree.NewExpression)">tryOptimizeNewInstance</a></span>&#8203;(<a href="../NewExpression.html" title="class in org.apache.calcite.linq4j.tree">NewExpression</a>&nbsp;newExpression)</code></th>
<td class="colLast">
<div class="block">Optimizes <code>new Type()</code> constructs,</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../Expression.html" title="class in org.apache.calcite.linq4j.tree">Expression</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ClassDeclarationFinder.</span><code><span class="memberNameLink"><a href="../ClassDeclarationFinder.html#visit(org.apache.calcite.linq4j.tree.NewExpression,java.util.List,java.util.List)">visit</a></span>&#8203;(<a href="../NewExpression.html" title="class in org.apache.calcite.linq4j.tree">NewExpression</a>&nbsp;newExpression,
     java.util.List&lt;<a href="../Expression.html" title="class in org.apache.calcite.linq4j.tree">Expression</a>&gt;&nbsp;arguments,
     java.util.List&lt;<a href="../MemberDeclaration.html" title="class in org.apache.calcite.linq4j.tree">MemberDeclaration</a>&gt;&nbsp;memberDeclarations)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../Expression.html" title="class in org.apache.calcite.linq4j.tree">Expression</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Shuttle.</span><code><span class="memberNameLink"><a href="../Shuttle.html#visit(org.apache.calcite.linq4j.tree.NewExpression,java.util.List,java.util.List)">visit</a></span>&#8203;(<a href="../NewExpression.html" title="class in org.apache.calcite.linq4j.tree">NewExpression</a>&nbsp;newExpression,
     java.util.List&lt;<a href="../Expression.html" title="class in org.apache.calcite.linq4j.tree">Expression</a>&gt;&nbsp;arguments,
     java.util.List&lt;<a href="../MemberDeclaration.html" title="class in org.apache.calcite.linq4j.tree">MemberDeclaration</a>&gt;&nbsp;memberDeclarations)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../Visitor.html" title="type parameter in Visitor">R</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Visitor.</span><code><span class="memberNameLink"><a href="../Visitor.html#visit(org.apache.calcite.linq4j.tree.NewExpression)">visit</a></span>&#8203;(<a href="../NewExpression.html" title="class in org.apache.calcite.linq4j.tree">NewExpression</a>&nbsp;newExpression)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../VisitorImpl.html" title="type parameter in VisitorImpl">R</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">VisitorImpl.</span><code><span class="memberNameLink"><a href="../VisitorImpl.html#visit(org.apache.calcite.linq4j.tree.NewExpression)">visit</a></span>&#8203;(<a href="../NewExpression.html" title="class in org.apache.calcite.linq4j.tree">NewExpression</a>&nbsp;newExpression)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
</ul>
</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><a href="../package-summary.html">Package</a></li>
<li><a href="../NewExpression.html" title="class in org.apache.calcite.linq4j.tree">Class</a></li>
<li class="navBarCell1Rev">Use</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>
