uTools-Manuals/docs/java/javax/lang/model/util/AbstractElementVisitor6.html

280 lines
17 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<div class="header">
<div class="subTitle">
compact3
</div>
<div class="subTitle">
javax.lang.model.util
</div>
<h2 class="title" title="Class AbstractElementVisitor6">Class AbstractElementVisitor6&lt;R,P&gt;</h2>
</div><div class="contentContainer">
<ul class="inheritance">
<li><a href="../../../../java/lang/Object.html" title="class in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>javax.lang.model.util.AbstractElementVisitor6&lt;R,P&gt;</li>
</ul> </li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>
<span class="paramLabel">参数类型</span>
</dt>
<dd>
<span><code>R</code> - 这个访问者的方法的返回类型。</span>
<span>对不需要返回结果的访问者使用<a href="../../../../java/lang/Void.html" title="java.lang中的类"><code>Void</code></a></span>
</dd>
<dd>
<span><code>P</code> - 访问者方法的附加参数的类型。</span>
<span>对不需要<code>Void</code>的访问者使用Void。</span>
</dd>
</dl>
<dl>
<dt>
All Implemented Interfaces:
</dt>
<dd>
<span><a href="../../../../javax/lang/model/element/ElementVisitor.html" title="javax.lang.model.element中的接口">ElementVisitor</a> &lt;RP&gt;</span>
</dd>
</dl>
<dl>
<dt>
已知直接子类:
</dt>
<dd>
<span><a href="../../../../javax/lang/model/util/AbstractElementVisitor7.html" title="javax.lang.model.util中的类">AbstractElementVisitor7</a> <a href="../../../../javax/lang/model/util/ElementScanner6.html" title="javax.lang.model.util中的类">ElementScanner6</a> <a href="../../../../javax/lang/model/util/SimpleElementVisitor6.html" title="javax.lang.model.util中的类">SimpleElementVisitor6</a></span>
</dd>
</dl>
<hr/> <br/> <pre><a href="../../../../javax/annotation/processing/SupportedSourceVersion.html" title="annotation in javax.annotation.processing">@SupportedSourceVersion</a>(<a href="../../../../javax/annotation/processing/SupportedSourceVersion.html#value--">value</a>=<a href="../../../../javax/lang/model/SourceVersion.html#RELEASE_6">RELEASE_6</a>)
public abstract class <span class="typeNameLabel">AbstractElementVisitor6&lt;R,P&gt;</span>
extends <a href="../../../../java/lang/Object.html" title="class in java.lang">Object</a>
implements <a href="../../../../javax/lang/model/element/ElementVisitor.html" title="interface in javax.lang.model.element">ElementVisitor</a>&lt;R,P&gt;</pre>
<div class="block">
<span>具有适用于<a href="../../../../javax/lang/model/SourceVersion.html#RELEASE_6"><code>RELEASE_6</code></a>源版本的默认行为的程序元素的骨架访问者。</span>
<p> <span><b>警告:</b> <code>ElementVisitor</code>实现的ElementVisitor接口可能会在以后添加方法以适应未来版本的Java编程语言中添加的新的当前未知的语言结构。</span> <span>因此,以<code>"visit"</code>开头的<code>"visit"</code>可能会在以后添加到这个类中;</span> <span>为了避免不兼容,扩展此类的类不应声明任何以<code>"visit"</code>实例方法。</span> </p>
<p> <span>当添加这种新的访问方法时,该类中的默认实现将是调用<a href="../../../../javax/lang/model/util/AbstractElementVisitor6.html#visitUnknown-javax.lang.model.element.Element-P-"><code>visitUnknown</code></a>方法。</span> <span>还将引入一个新的抽象元素访问者类来对应于新的语言级别;</span> <span>该访问者对于访问方法将具有不同的默认行为。</span> <span>当新访客被介绍时,全部或部分访问者可能会被弃用。</span> </p>
<p> <span>请注意,在访问者类中添加新的访问方法的默认实现将发生,而不是直接在访问者界面中添加<em>默认方法</em> 因为Java SE 8语言功能不能用于此版本的API因为此版本需要可以在Java SE 7实现中运行。</span> <span>仅在Java SE 8及更高版本上运行的API的未来版本可能会在这种情况下利用默认方法。</span> </p>
</div>
<dl>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
1.6
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<span><a href="../../../../javax/lang/model/util/AbstractElementVisitor7.html" title="javax.lang.model.util中的类"><code>AbstractElementVisitor7</code></a> <a href="../../../../javax/lang/model/util/AbstractElementVisitor8.html" title="javax.lang.model.util中的类"><code>AbstractElementVisitor8</code></a></span>
</dd>
</dl> </li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- --> </a> <h3>构造方法摘要</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Constructor Summary table, listing constructors, and an explanation">
<caption>
<span>构造方法</span>
<span class="tabEnd"> </span>
</caption>
<tbody>
<tr>
<th class="colFirst" scope="col">Modifier</th>
<th class="colLast" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/lang/model/util/AbstractElementVisitor6.html#AbstractElementVisitor6--">AbstractElementVisitor6</a></span>()</code>
<div class="block">
具体子类调用的构造方法。
</div> </td>
</tr>
</tbody>
</table> </li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- --> </a> <h3>方法摘要</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Method Summary table, listing methods, and an explanation">
<caption>
<span class="activeTableTab" id="t0"><span>所有方法</span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t2"><span><a href="javascript:show(2);">接口方法</a></span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t4"><span><a href="javascript:show(8);">具体的方法</a></span><span class="tabEnd"> </span></span>
</caption>
<tbody>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor" id="i0">
<td class="colFirst"><code><a href="../../../../javax/lang/model/util/AbstractElementVisitor6.html" title="type parameter in AbstractElementVisitor6">R</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/lang/model/util/AbstractElementVisitor6.html#visit-javax.lang.model.element.Element-">visit</a></span>(<a href="../../../../javax/lang/model/element/Element.html" title="interface in javax.lang.model.element">Element</a> e)</code>
<div class="block">
访问任何程序元素,就像将其自身传递给该元素的
<a href="../../../../javax/lang/model/element/Element.html#accept-javax.lang.model.element.ElementVisitor-P-"><code>accept</code></a>方法,并传递
<code>null</code>参数的null。
</div> </td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code><a href="../../../../javax/lang/model/util/AbstractElementVisitor6.html" title="type parameter in AbstractElementVisitor6">R</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/lang/model/util/AbstractElementVisitor6.html#visit-javax.lang.model.element.Element-P-">visit</a></span>(<a href="../../../../javax/lang/model/element/Element.html" title="interface in javax.lang.model.element">Element</a> e, <a href="../../../../javax/lang/model/util/AbstractElementVisitor6.html" title="type parameter in AbstractElementVisitor6">P</a> p)</code>
<div class="block">
访问任何程序元素,就像将其自身传递给该元素的
<a href="../../../../javax/lang/model/element/Element.html#accept-javax.lang.model.element.ElementVisitor-P-"><code>accept</code></a>方法一样。
</div> </td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code><a href="../../../../javax/lang/model/util/AbstractElementVisitor6.html" title="type parameter in AbstractElementVisitor6">R</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/lang/model/util/AbstractElementVisitor6.html#visitUnknown-javax.lang.model.element.Element-P-">visitUnknown</a></span>(<a href="../../../../javax/lang/model/element/Element.html" title="interface in javax.lang.model.element">Element</a> e, <a href="../../../../javax/lang/model/util/AbstractElementVisitor6.html" title="type parameter in AbstractElementVisitor6">P</a> p)</code>
<div class="block">
访问一种未知的元素。
</div> </td>
</tr>
</tbody>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- --> </a> <h3>Methods inherited from class java.lang.<a href="../../../../java/lang/Object.html" title="class in java.lang">Object</a></h3> <code><a href="../../../../java/lang/Object.html#clone--">clone</a>, <a href="../../../../java/lang/Object.html#equals-java.lang.Object-">equals</a>, <a href="../../../../java/lang/Object.html#finalize--">finalize</a>, <a href="../../../../java/lang/Object.html#getClass--">getClass</a>, <a href="../../../../java/lang/Object.html#hashCode--">hashCode</a>, <a href="../../../../java/lang/Object.html#notify--">notify</a>, <a href="../../../../java/lang/Object.html#notifyAll--">notifyAll</a>, <a href="../../../../java/lang/Object.html#toString--">toString</a>, <a href="../../../../java/lang/Object.html#wait--">wait</a>, <a href="../../../../java/lang/Object.html#wait-long-">wait</a>, <a href="../../../../java/lang/Object.html#wait-long-int-">wait</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.javax.lang.model.element.ElementVisitor">
<!-- --> </a> <h3>Methods inherited from interface javax.lang.model.element.<a href="../../../../javax/lang/model/element/ElementVisitor.html" title="interface in javax.lang.model.element">ElementVisitor</a></h3> <code><a href="../../../../javax/lang/model/element/ElementVisitor.html#visitExecutable-javax.lang.model.element.ExecutableElement-P-">visitExecutable</a>, <a href="../../../../javax/lang/model/element/ElementVisitor.html#visitPackage-javax.lang.model.element.PackageElement-P-">visitPackage</a>, <a href="../../../../javax/lang/model/element/ElementVisitor.html#visitType-javax.lang.model.element.TypeElement-P-">visitType</a>, <a href="../../../../javax/lang/model/element/ElementVisitor.html#visitTypeParameter-javax.lang.model.element.TypeParameterElement-P-">visitTypeParameter</a>, <a href="../../../../javax/lang/model/element/ElementVisitor.html#visitVariable-javax.lang.model.element.VariableElement-P-">visitVariable</a></code></li>
</ul> </li>
</ul> </li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- --> </a> <h3>构造方法详细信息</h3> <a name="AbstractElementVisitor6--">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>AbstractElementVisitor6</h4> <pre>protected AbstractElementVisitor6()</pre>
<div class="block">
具体子类调用的构造方法。
</div> </li>
</ul> </li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- --> </a> <h3>方法详细信息</h3> <a name="visit-javax.lang.model.element.Element-java.lang.Object-">
<!-- --> </a><a name="visit-javax.lang.model.element.Element-P-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>visit</h4> <pre>public final <a href="../../../../javax/lang/model/util/AbstractElementVisitor6.html" title="type parameter in AbstractElementVisitor6">R</a> visit(<a href="../../../../javax/lang/model/element/Element.html" title="interface in javax.lang.model.element">Element</a> e,
<a href="../../../../javax/lang/model/util/AbstractElementVisitor6.html" title="type parameter in AbstractElementVisitor6">P</a> p)</pre>
<div class="block">
<span>访问任何程序元素,就像将其自身传递给该元素的<a href="../../../../javax/lang/model/element/Element.html#accept-javax.lang.model.element.ElementVisitor-P-"><code>accept</code></a>方法一样。</span>
<span>调用<code>v.visit(elem)</code>相当于<code>elem.accept(v, p)</code></span>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../../javax/lang/model/element/ElementVisitor.html#visit-javax.lang.model.element.Element-P-">visit</a></code>在接口
<code><a href="../../../../javax/lang/model/element/ElementVisitor.html" title="interface in javax.lang.model.element">ElementVisitor</a>&lt;<a href="../../../../javax/lang/model/util/AbstractElementVisitor6.html" title="type parameter in AbstractElementVisitor6">R</a>,<a href="../../../../javax/lang/model/util/AbstractElementVisitor6.html" title="type parameter in AbstractElementVisitor6">P</a>&gt;</code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>e</code> - 要访问的元素
</dd>
<dd>
<code>p</code> - 访客指定的参数
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
访客指定的结果
</dd>
</dl> </li>
</ul> <a name="visit-javax.lang.model.element.Element-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>visit</h4> <pre>public final <a href="../../../../javax/lang/model/util/AbstractElementVisitor6.html" title="type parameter in AbstractElementVisitor6">R</a> visit(<a href="../../../../javax/lang/model/element/Element.html" title="interface in javax.lang.model.element">Element</a> e)</pre>
<div class="block">
<span>访问任何程序元素,就像将其自身传递给该元素的<a href="../../../../javax/lang/model/element/Element.html#accept-javax.lang.model.element.ElementVisitor-P-"><code>accept</code></a>方法一样,并传递<code>null</code>作为附加参数。</span>
<span>调用<code>v.visit(elem)</code>相当于<code>elem.accept(v, null)</code></span>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../../javax/lang/model/element/ElementVisitor.html#visit-javax.lang.model.element.Element-">visit</a></code>中的
<code><a href="../../../../javax/lang/model/element/ElementVisitor.html" title="interface in javax.lang.model.element">ElementVisitor</a>&lt;<a href="../../../../javax/lang/model/util/AbstractElementVisitor6.html" title="type parameter in AbstractElementVisitor6">R</a>,<a href="../../../../javax/lang/model/util/AbstractElementVisitor6.html" title="type parameter in AbstractElementVisitor6">P</a>&gt;</code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>e</code> - 要访问的元素
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
访客指定的结果
</dd>
</dl> </li>
</ul> <a name="visitUnknown-javax.lang.model.element.Element-java.lang.Object-">
<!-- --> </a><a name="visitUnknown-javax.lang.model.element.Element-P-">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>visitUnknown</h4> <pre>public <a href="../../../../javax/lang/model/util/AbstractElementVisitor6.html" title="type parameter in AbstractElementVisitor6">R</a> visitUnknown(<a href="../../../../javax/lang/model/element/Element.html" title="interface in javax.lang.model.element">Element</a> e,
<a href="../../../../javax/lang/model/util/AbstractElementVisitor6.html" title="type parameter in AbstractElementVisitor6">P</a> p)</pre>
<div class="block">
<span>访问一种未知的元素。</span>
<span>如果语言发展,并且将新类型的元素添加到<code>Element</code>层次结构中,则可能会发生这种情况。</span>
<p> <span>这种方法的默认实现<code>AbstractElementVisitor6</code>总会抛出<code>UnknownElementException</code></span> <span>这个行为不是一个子类所必需的。</span> </p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../../javax/lang/model/element/ElementVisitor.html#visitUnknown-javax.lang.model.element.Element-P-">visitUnknown</a></code>在接口
<code><a href="../../../../javax/lang/model/element/ElementVisitor.html" title="interface in javax.lang.model.element">ElementVisitor</a>&lt;<a href="../../../../javax/lang/model/util/AbstractElementVisitor6.html" title="type parameter in AbstractElementVisitor6">R</a>,<a href="../../../../javax/lang/model/util/AbstractElementVisitor6.html" title="type parameter in AbstractElementVisitor6">P</a>&gt;</code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>e</code> - 要访问的元素
</dd>
<dd>
<code>p</code> - 访客指定的参数
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
访客指定的结果
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../../javax/lang/model/element/UnknownElementException.html" title="class in javax.lang.model.element">UnknownElementException</a></code> - 访问者实现可以可选地抛出该异常
</dd>
</dl> </li>
</ul> </li>
</ul> </li>
</ul>
</div>
</div>