> I decided to show a complete static method in the example, so it could be > copied to user utility class as is. Not sure if it's reasonable to add > `assert cls.isRecord();` there. Also I don't know whether there's a > limitation on max characters in the sample code. Probable a line break in > `static <T extends Record>\nConstructor<T> getCanonicalConstructor(Class<T> > cls)` is unnecessary. > > --- > Aside from this PR, I've found a couple of things to clean up in > `java.lang.Class`: > 1. There's erroneous JavaDoc link in `getSimpleName()` JavaDoc (introduced by > @jddarcy in #3038). It should be `#isArray()` instead of `isArray()`. > 2. Methods Atomic::casAnnotationType and Atomic::casAnnotationData have > unused type parameters `<T>`. > 3. Probably too much but AnnotationData can be nicely converted to a record! > Not sure, probably nobody wants to have `java.lang.Record` initialized too > early or increasing the footprint of such a basic class in the metaspace, so > I don't insist on this. > > > private record AnnotationData( > Map<Class<? extends Annotation>, Annotation> annotations, > Map<Class<? extends Annotation>, Annotation> declaredAnnotations, > // Value of classRedefinedCount when we created this AnnotationData > instance > int redefinedCount) { > } > > > Please tell me if it's ok to fix 1 and 2 along with this PR.
Tagir F. Valeev has updated the pull request incrementally with three additional commits since the last revision: - Trailing space removed - Add a reference from java.lang.Record to related Class methods - Fix cosmetic issues ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/3556/files - new: https://git.openjdk.java.net/jdk/pull/3556/files/5b631cfe..1133ab7d Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=3556&range=01 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=3556&range=00-01 Stats: 13 lines in 2 files changed: 4 ins; 1 del; 8 mod Patch: https://git.openjdk.java.net/jdk/pull/3556.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/3556/head:pull/3556 PR: https://git.openjdk.java.net/jdk/pull/3556