<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<body link="#0B6CDA" vlink="#551A8B" text="#000000" alink="#EE0000">
<p>Code review found some minor issues that needed attention. Please
advise if there are any concerns with these changes.</p>
<p>Thanks,</p>
<p>David<br>
</p>
<p><br>
</p>
<p>Full specs:
<a class="moz-txt-link-freetext" href="http://cr.openjdk.java.net/~dholmes/8010319-JEP181/specs">http://cr.openjdk.java.net/~dholmes/8010319-JEP181/specs</a></p>
<h3>java.lang.Class::getNestHost()</h3>
<p><a class="moz-txt-link-freetext" href="http://cr.openjdk.java.net/~dholmes/8010319-JEP181/specs/java.lang/java/lang/Class.html">http://cr.openjdk.java.net/~dholmes/8010319-JEP181/specs/java.lang/java/lang/Class.html</a></p>
<ul>
<li>Error handling<br>
</li>
</ul>
<blockquote>
<p>The original text stated:</p>
<blockquote>
<p>
<span class="diff-html-added">"If</span> <span
class="diff-html-added">there</span> <span
class="diff-html-added">is</span> <span
class="diff-html-added">any</span> error<a
href="http://cr.openjdk.java.net/%7Edholmes/8010319-JEP181/specs/java.lang/java/lang/LinkageError.html"
title="class in java.lang" target="_parent"><span
class="diff-html-added"></span> </a> <span
class="diff-html-added">accessing</span> <span
class="diff-html-added">the</span> <span
class="diff-html-added">nest</span> <span
class="diff-html-added">host,</span> <span
class="diff-html-added">or</span> <span
class="diff-html-added">the</span> <span
class="diff-html-added">nest</span> <span
class="diff-html-added">host</span> <span
class="diff-html-added">is</span> <span
class="diff-html-added">in</span> <span
class="diff-html-added">any</span> <span
class="diff-html-added">way</span> <span
class="diff-html-added">invalid,</span> <span
class="diff-html-added">then</span> <code><span
class="diff-html-added">this</span></code> <span
class="diff-html-added">is</span> <span
class="diff-html-added">returned."</span> </p>
</blockquote>
<p>but the implementation only catches LinkageErrors. In the
original discussion:<br>
<br>
<a class="moz-txt-link-freetext" href="http://mail.openjdk.java.net/pipermail/valhalla-spec-experts/2017-October/000386.html">http://mail.openjdk.java.net/pipermail/valhalla-spec-experts/2017-October/000386.html</a><br>
<br>
this wasn't discussed explicitly. It was mentioned by me in
passing:<br>
<br>
"Though a case can still be made to allow VME's to pass
through."<br>
<br>
and that is what has been happening with other API's (eg.
MethodHandles). It is generally bad form to catch things like
OutOfMemoryError and StackOverflow, so these should just
propagate. So the text is updated to read:<br>
</p>
<blockquote>
<p>"<span class="diff-html-added">If</span> <span
class="diff-html-added">there</span> <span
class="diff-html-added">is</span> <span
class="diff-html-added">any</span><font color="#33cc00"> <font
color="#33cc00"><a
href="http://cr.openjdk.java.net/%7Edholmes/8010319-JEP181/specs/java.lang/java/lang/LinkageError.html"
title="class in java.lang" target="_parent"><span
class="diff-html-added">linkage</span> <span
class="diff-html-added">error</span> </a></font> </font><span
class="diff-html-added">accessing</span> <span
class="diff-html-added">the</span> <span
class="diff-html-added">nest</span> <span
class="diff-html-added">host,</span> <span
class="diff-html-added">or</span> <span
class="diff-html-added">the</span> <span
class="diff-html-added">nest</span> <span
class="diff-html-added">host</span> <span
class="diff-html-added">is</span> <span
class="diff-html-added">in</span> <span
class="diff-html-added">any</span> <span
class="diff-html-added">way</span> <span
class="diff-html-added">invalid,</span> <span
class="diff-html-added">then</span> <code><span
class="diff-html-added">this</span></code> <span
class="diff-html-added">is</span> <span
class="diff-html-added">returned."</span></p>
</blockquote>
<p><span class="diff-html-added">where "linkage error" links to
LinkageError.<br>
</span> </p>
</blockquote>
<ul>
<li>Additional clarifying/explanatory text</li>
<ul>
<li>To the paragraph starting "<span class="diff-html-added">A</span>
<em><span class="diff-html-added">nest</span></em> <span
class="diff-html-added">is</span> <span
class="diff-html-added">a</span> <span
class="diff-html-added">set</span> <span
class="diff-html-added">of</span> <span
class="diff-html-added">classes</span> <span
class="diff-html-added">and</span> <span
class="diff-html-added">interfaces ..", we add the final
sentence: "</span><br>
<span class="diff-html-added"><font color="#33cc00"><span
class="diff-html-added">All</span> <span
class="diff-html-added">nestmates</span> <span
class="diff-html-added">are</span> <span
class="diff-html-added">implicitly</span> <span
class="diff-html-added">defined</span> <span
class="diff-html-added">in</span> <span
class="diff-html-added">the</span> <span
class="diff-html-added">same</span> <span
class="diff-html-added">runtime</span> </font><span
class="diff-html-added"><font color="#33cc00">package.</font>"</span></span></li>
<li><span class="diff-html-added"><span class="diff-html-added">In
the sentence starting "</span></span><span
class="diff-html-added"><span class="diff-html-added"><span
class="diff-html-added">A</span> <span
class="diff-html-added">class</span> <span
class="diff-html-added">or</span> <span
class="diff-html-added">interface</span> <span
class="diff-html-added">that</span> <span
class="diff-html-added">is</span> <span
class="diff-html-added">not</span> <span
class="diff-html-added">explicitly</span> <span
class="diff-html-added">a</span> <span
class="diff-html-added">member</span> <span
class="diff-html-added">of</span> <span
class="diff-html-added">a</span> <span
class="diff-html-added">nest</span><span
class="diff-html-added">,</span> <span
class="diff-html-added">is</span> <span
class="diff-html-added">a</span> <span
class="diff-html-added">member</span> <span
class="diff-html-added">of</span> <span
class="diff-html-added">the</span> <span
class="diff-html-added">nest</span> <span
class="diff-html-added">consisting</span> <span
class="diff-html-added">only</span> <span
class="diff-html-added">of</span> <span
class="diff-html-added">itself, ..." we insert a
clarification concerning primitive and array classes: "</span></span></span><span
class="diff-html-added"><span class="diff-html-added"><span
class="diff-html-added"><span class="diff-html-added">A</span>
<span class="diff-html-added">class</span> <span
class="diff-html-added">or</span> <span
class="diff-html-added">interface</span> <span
class="diff-html-added">that</span> <span
class="diff-html-added">is</span> <span
class="diff-html-added">not</span> <span
class="diff-html-added">explicitly</span> <span
class="diff-html-added">a</span> <span
class="diff-html-added">member</span> <span
class="diff-html-added">of</span> <span
class="diff-html-added">a</span> <span
class="diff-html-added">nest</span> <font
color="#33cc00"><span class="diff-html-added">(such</span>
<span class="diff-html-added">as</span> <span
class="diff-html-added">a</span> <span
class="diff-html-added">primitive</span> <span
class="diff-html-added">or</span> <span
class="diff-html-added">array</span> </font><span
class="diff-html-added"><font color="#33cc00">class)</font>,</span>
<span class="diff-html-added">is</span> <span
class="diff-html-added">a</span> <span
class="diff-html-added">member</span> <span
class="diff-html-added">of</span> <span
class="diff-html-added">the</span> <span
class="diff-html-added">nest</span> <span
class="diff-html-added">consisting</span> <span
class="diff-html-added">only</span> <span
class="diff-html-added">of</span> <span
class="diff-html-added">itself,</span> <span
class="diff-html-added">..."</span></span></span></span></li>
<li><span class="diff-html-added"><span class="diff-html-added"><span
class="diff-html-added"><span class="diff-html-added"></span></span>The
@return text is reworded from: "the nest host of this
class, or this if we cannot obtain a valid nest host" to "</span></span><font
color="#33cc00"><span class="diff-html-added">the</span> <span
class="diff-html-added">nest</span> <span
class="diff-html-added">host</span> <span
class="diff-html-added">of</span> <span
class="diff-html-added">this</span> <span
class="diff-html-added">class,</span> <span
class="diff-html-added">or</span> <code><span
class="diff-html-added">this</span></code> <span
class="diff-html-added">if</span> <span
class="diff-html-added">a</span> <span
class="diff-html-added">valid</span> <span
class="diff-html-added">nest</span> <span
class="diff-html-added">host</span> <span
class="diff-html-added">cannot</span> <span
class="diff-html-added">be</span> <span
class="diff-html-added">obtained</span></font>"<span
class="diff-html-added"></span></li>
</ul>
</ul>
<p><br>
</p>
<p><br>
</p>
</body>
</html>