<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>