-
Bug
-
Resolution: Fixed
-
P3
-
16
-
b22
-
x86_64
-
windows_10
-
Not verified
A DESCRIPTION OF THE PROBLEM :
If a record declares a nested type, the javadoc tool won't generate the HTML file with the documentation for that nested type.
example/ExampleRecord.java:
```
package example;
public record ExampleRecord() {
public record RecordInRecord() {}
public static class ClassInRecord {}
public enum EnumInRecord {}
public interface InterfaceInRecord {}
}
```
example/ExampleClass.java:
(to demonstrate expected behavior)
```
package example;
public class ExampleClass {
public record RecordInClass() {}
public static class ClassInClass {}
public enum EnumInClass {}
public interface InterfaceInClass {}
}
```
$ javadoc example example/* -d out
```
Loading source file example\ExampleClass.java...
Loading source file example\ExampleRecord.java...
Loading source files for package example...
Constructing Javadoc information...
Creating destination directory: "out\"
Building index for all the packages and classes...
Standard Doclet version 16+36-2231
Building tree for all the packages and classes...
Generating out\example\ExampleClass.html...
example\ExampleClass.java:3: warning: no comment
public class ExampleClass {
^
example\ExampleClass.java:5: warning: no comment
public static class ClassInClass {}
^
example\ExampleClass.java:6: warning: no comment
public enum EnumInClass {}
^
example\ExampleClass.java:7: warning: no comment
public interface InterfaceInClass {}
^
example\ExampleClass.java:4: warning: no comment
public record RecordInClass() {}
^
Generating out\example\ExampleClass.ClassInClass.html...
Generating out\example\ExampleClass.EnumInClass.html...
Generating out\example\ExampleClass.InterfaceInClass.html...
Generating out\example\ExampleClass.RecordInClass.html...
Generating out\example\ExampleRecord.html...
example\ExampleRecord.java:3: warning: no comment
public record ExampleRecord() {
^
example\ExampleRecord.java:5: warning: no comment
public static class ClassInRecord {}
^
example\ExampleRecord.java:6: warning: no comment
public enum EnumInRecord {}
^
example\ExampleRecord.java:7: warning: no comment
public interface InterfaceInRecord {}
^
example\ExampleRecord.java:4: warning: no comment
public record RecordInRecord() {}
^
Generating out\example\package-summary.html...
Generating out\example\package-tree.html...
Generating out\overview-tree.html...
Building index for all classes...
Generating out\allclasses-index.html...
Generating out\allpackages-index.html...
Generating out\index-all.html...
Generating out\index.html...
Generating out\help-doc.html...
10 warnings
```
$ ls out/example
```
ExampleClass.ClassInClass.html ExampleClass.InterfaceInClass.html package-summary.html
ExampleClass.EnumInClass.html ExampleClass.RecordInClass.html package-tree.html
ExampleClass.html ExampleRecord.html
```
^ Notice there is no ExampleRecord.ClassInRecord.html, for example.
The ExampleRecord page contains broken links to the nested types.
The nested types are not included package-summary.html or package-tree.html.
The nested types *are* included in index-all.html, and they do get /class-use/ pages if you use the -use option.
FREQUENCY : always
If a record declares a nested type, the javadoc tool won't generate the HTML file with the documentation for that nested type.
example/ExampleRecord.java:
```
package example;
public record ExampleRecord() {
public record RecordInRecord() {}
public static class ClassInRecord {}
public enum EnumInRecord {}
public interface InterfaceInRecord {}
}
```
example/ExampleClass.java:
(to demonstrate expected behavior)
```
package example;
public class ExampleClass {
public record RecordInClass() {}
public static class ClassInClass {}
public enum EnumInClass {}
public interface InterfaceInClass {}
}
```
$ javadoc example example/* -d out
```
Loading source file example\ExampleClass.java...
Loading source file example\ExampleRecord.java...
Loading source files for package example...
Constructing Javadoc information...
Creating destination directory: "out\"
Building index for all the packages and classes...
Standard Doclet version 16+36-2231
Building tree for all the packages and classes...
Generating out\example\ExampleClass.html...
example\ExampleClass.java:3: warning: no comment
public class ExampleClass {
^
example\ExampleClass.java:5: warning: no comment
public static class ClassInClass {}
^
example\ExampleClass.java:6: warning: no comment
public enum EnumInClass {}
^
example\ExampleClass.java:7: warning: no comment
public interface InterfaceInClass {}
^
example\ExampleClass.java:4: warning: no comment
public record RecordInClass() {}
^
Generating out\example\ExampleClass.ClassInClass.html...
Generating out\example\ExampleClass.EnumInClass.html...
Generating out\example\ExampleClass.InterfaceInClass.html...
Generating out\example\ExampleClass.RecordInClass.html...
Generating out\example\ExampleRecord.html...
example\ExampleRecord.java:3: warning: no comment
public record ExampleRecord() {
^
example\ExampleRecord.java:5: warning: no comment
public static class ClassInRecord {}
^
example\ExampleRecord.java:6: warning: no comment
public enum EnumInRecord {}
^
example\ExampleRecord.java:7: warning: no comment
public interface InterfaceInRecord {}
^
example\ExampleRecord.java:4: warning: no comment
public record RecordInRecord() {}
^
Generating out\example\package-summary.html...
Generating out\example\package-tree.html...
Generating out\overview-tree.html...
Building index for all classes...
Generating out\allclasses-index.html...
Generating out\allpackages-index.html...
Generating out\index-all.html...
Generating out\index.html...
Generating out\help-doc.html...
10 warnings
```
$ ls out/example
```
ExampleClass.ClassInClass.html ExampleClass.InterfaceInClass.html package-summary.html
ExampleClass.EnumInClass.html ExampleClass.RecordInClass.html package-tree.html
ExampleClass.html ExampleRecord.html
```
^ Notice there is no ExampleRecord.ClassInRecord.html, for example.
The ExampleRecord page contains broken links to the nested types.
The nested types are not included package-summary.html or package-tree.html.
The nested types *are* included in index-all.html, and they do get /class-use/ pages if you use the -use option.
FREQUENCY : always