< prev index next >

make/data/jdwp/jdwp.spec

Print this page
rev 58770 : [mq]: svc-spec-update

@@ -68,11 +68,12 @@
             (Error VM_DEAD)
         )
     )
     (Command AllClasses=3
         "Returns reference types for all classes currently loaded by the "
-        "target VM."
+        "target VM. "
+        "See <a href=\"../jvmti.html#GetLoadedClasses\">JVM TI GetLoadedClasses</a>."
         (Out
         )
         (Reply
             (Repeat classes "Number of reference types that follow."
                 (Group ClassInfo

@@ -598,18 +599,13 @@
     )
 )
 
 (CommandSet ReferenceType=2
     (Command Signature=1
-        "Returns the JNI signature of a reference type. "
-        "JNI signature formats are described in the "
-        "<a href=\"../jni/index.html\">Java Native Interface Specification</a>"
-        "<p>
-        "For primitive classes "
-        "the returned signature is the signature of the corresponding primitive "
-        "type; for example, \"I\" is returned as the signature of the class "
-        "represented by java.lang.Integer.TYPE."
+        "Returns the type signature of a reference type. "
+        "Type signature formats are the same as specified in "
+        "<a href=\"../jvmti.html#GetClassSignature\">JVM TI GetClassSignature</a>."
         (Out
             (referenceType refType "The reference type ID.")
         )
         (Reply
             (string signature

@@ -2264,24 +2260,41 @@
         )
     )
 )
 (CommandSet ClassLoaderReference=14
     (Command VisibleClasses=1
-        "Returns a list of all classes which this class loader has "
-        "been requested to load. This class loader is considered to be "
-        "an <i>initiating</i> class loader for each class in the returned "
-        "list. The list contains each "
-        "reference type defined by this loader and any types for which "
+        "Returns a list of all classes which this class loader can find "
+        "by name via <code>ClassLoader::loadClass</code>, "
+        "<code>Class::forName</code> and bytecode linkage. That is, "
+        "this class loader has been recorded as an <i>initiating</i> "
+        "loader of the returned classes. The list contains each 
+        "reference type created by this loader and any types for which "
         "loading was delegated by this class loader to another class loader. "
+        "The list does not include hidden classes or interfaces created by "
+        "the invocation of "
+        "<a href=\"../../api/java.base/java/lang/invoke/MethodHandles.Lookup.html#defineHiddenClass(byte[],boolean,java.lang.invoke.MethodHandles.Lookup.ClassOption...)\">Lookup::defineHiddenClass</a> "
+        "because:"
+        "<ul>"
+        "<li>A hidden class or interface cannot be referenced by the "
+        "constant pools of other classes and interfaces.</li>"
+        "<li>A hidden class or interface cannot be discovered by any "
+        "class loader including its defining loader.</li>"
+        "</ul>"
+        "<p>"
+        "In addition, the list does not include array classes whose "
+        "element type is a hidden class or interface as they cannot be discovered "
+        "by any class loader."
         "<p>"
         "The visible class list has useful properties with respect to "
         "the type namespace. A particular type name will occur at most "
         "once in the list. Each field or variable declared with that "
         "type name in a class defined by "
         "this class loader must be resolved to that single type. "
         "<p>"
         "No ordering of the returned list is guaranteed. "
+        "<p>"
+        "See <a href=\"../jvmti.html#GetClassLoaderClasses\">JVM TI GetClassLoaderClasses</a>. "
         (Out
             (classLoaderObject classLoaderObject "The class loader object ID. ")
         )
         (Reply
             (Repeat classes "The number of visible classes. "
< prev index next >