On Thu, 25 Apr 2024 16:43:50 GMT, Chen Liang <li...@openjdk.org> wrote:
> I think your changes mostly group in these categories: > > 1. New API methods provided in superclasses/superinterfaces, this class > provides a more concrete implementation: > Examples being `CompletableFuture`, `FileInputStream`, `DelayQueue`, > `FutureTask` > I don't think you should add since tags for these; without explicit > javadoc, the methods inherit the superclass/superinterface docs, and appear > in `Methods declared in class/interface Xxx` (supertype) section, which > already have the correct since tags. > There's one scenario where such addition may be meaningful, however: > that's if the supertype's since version is newer than this class/interfaces's > since version, so we might need to specify here. > (On a side note, it would be great if we can mark the since version of an > interface, notorious example being `ZipFile` retrofitted to implement > `Closeable` in 1.7 and breaks compile target 1.6) > 2. Remove unnecessary since tags for existing API methods with newer > implementation > Examples being `Reference`, `RsaPrivateKey`. These make sense. > 3. API methods with different return types > Examples being `ClassSignature`, `ClassDesc`. These make sense too, as > older version may return different types. But problem here is should we count > methods with only signature (but not descriptor) differences, like > `ClassSignature::superinterfaceSignatures()`? @liach - I am only looking at code added in JDK 9-current and do not plan on checking old code for now (in case there are questions on why certain methods weren't affected) - I want generify-ing methods to be fine, so I am leaving `ClassSignature::superinterfaceSignatures()`. It will be changed eventually once the class goes out of Preview > src/java.base/share/classes/java/lang/classfile/ClassSignature.java line 47: > >> 45: * >> 46: * @since 23 >> 47: * */ > > Suggestion: > > */ good catch - will reply to your other questions later > src/java.base/share/classes/java/lang/constant/MethodHandleDesc.java line 209: > >> 207: >> 208: /** >> 209: * @since 21 > > Suggestion: > > * {@inheritDoc} > * > * @since 21 Will need to look more into what elements require `{@inheritDoc}` ------------- PR Comment: https://git.openjdk.org/jdk/pull/18954#issuecomment-2077922679 PR Review Comment: https://git.openjdk.org/jdk/pull/18954#discussion_r1579841341 PR Review Comment: https://git.openjdk.org/jdk/pull/18954#discussion_r1579880986