Review Request: 8238358: Implementation of JEP 371: Hidden Classes

Mandy Chung mandy.chung at oracle.com
Thu Apr 16 18:48:41 UTC 2020



On 4/16/20 11:42 AM, serguei.spitsyn at oracle.com wrote:
> Hi Mandy,
>
> I have a couple of minor comments on the Serviceability spec update.
>
> http://cr.openjdk.java.net/~mchung/valhalla/webrevs/hidden-classes/webrev.06-svc-spec-changes/src/jdk.jdi/share/classes/com/sun/jdi/ReferenceType.java.udiff.html
>
>  Replace: "The returned name is the same form as ..." => "The returned 
> name is of the same form as ..."
>
>
> Example is:
> http://cr.openjdk.java.net/~mchung/valhalla/webrevs/hidden-classes/webrev.06-svc-spec-changes/src/jdk.jdi/share/classes/com/sun/jdi/Type.java.udiff.html
>
>   + * Returns the name of this type. The result is of the same form as
>
>
> http://cr.openjdk.java.net/~mchung/valhalla/webrevs/hidden-classes/webrev.06-svc-spec-changes/src/java.instrument/share/classes/java/lang/instrument/Instrumentation.java.udiff.html
> http://cr.openjdk.java.net/~mchung/valhalla/webrevs/hidden-classes/webrev.06-svc-spec-changes/src/jdk.jdi/share/classes/com/sun/jdi/VirtualMachine.java.udiff.html
>
> Both files above have this: "a `class` file representation".
> It feels like something is wrong with the `class` part.
> Should it say `class file` or maybe use some other formatting?
>
> Otherwise, the Serviceability spec update looks great.
> I'll look at the non-Serviceability spec changes too.

Thanks for catching these typo/format issue.  I have fixed them in my 
local repo:

diff --git 
a/src/java.instrument/share/classes/java/lang/instrument/Instrumentation.java 
b/src/java.instrument/share/classes/java/lang/instrument/Instrumentation.java
--- 
a/src/java.instrument/share/classes/java/lang/instrument/Instrumentation.java
+++ 
b/src/java.instrument/share/classes/java/lang/instrument/Instrumentation.java
@@ -391,7 +391,7 @@
       * <p>
       * A class or interface creation can be triggered by one of the 
following:
       * <ul>
-     * <li>by loading and deriving a class from a `class` file 
representation
+     * <li>by loading and deriving a class from a {@code class} file 
representation
       *     using class loader (see JVMS {@jvms 5.3}).
       * <li>by invoking {@link 
java.lang.invoke.MethodHandles.Lookup#defineHiddenClass(byte[], boolean, 
java.lang.invoke.MethodHandles.Lookup.ClassOption...)
       *     Lookup::defineHiddenClass} that creates a {@link Class#isHidden
diff --git a/src/jdk.jdi/share/classes/com/sun/jdi/ReferenceType.java 
b/src/jdk.jdi/share/classes/com/sun/jdi/ReferenceType.java
--- a/src/jdk.jdi/share/classes/com/sun/jdi/ReferenceType.java
+++ b/src/jdk.jdi/share/classes/com/sun/jdi/ReferenceType.java
@@ -85,7 +85,7 @@
  {
      /**
       * Returns the name of this {@code ReferenceType} object.
-     * The returned name is the same form as the name returned by
+     * The returned name is of the same form as the name returned by
       * {@link Class#getName()}.
       *
       * @return a string containing the type name.
diff --git a/src/jdk.jdi/share/classes/com/sun/jdi/VirtualMachine.java 
b/src/jdk.jdi/share/classes/com/sun/jdi/VirtualMachine.java
--- a/src/jdk.jdi/share/classes/com/sun/jdi/VirtualMachine.java
+++ b/src/jdk.jdi/share/classes/com/sun/jdi/VirtualMachine.java
@@ -137,7 +137,7 @@
       * <p>
       * A class or interface creation can be triggered by one of the 
following:
       * <ul>
-     * <li>by loading and deriving a class from a `class` file 
representation
+     * <li>by loading and deriving a class from a {@code class} file 
representation
       *     using class loader (see JVMS {@jvms 5.3}).
       * <li>by invoking {@link 
java.lang.invoke.MethodHandles.Lookup#defineHiddenClass(byte[], boolean, 
java.lang.invoke.MethodHandles.Lookup.ClassOption...)
       *     Lookup::defineHiddenClass} that creates a {@link Class#isHidden

Mandy


More information about the valhalla-dev mailing list