The message from this sender included one or more files which could not be scanned for virus detection; do not open these files unless you are certain of the sender's intent.
---------------------------------------------------------------------- On Wed, 8 Mar 2023 14:58:14 GMT, Pavel Rappo <[email protected]> wrote: >> Please review this explorative refactoring for VisibleMemberTable (VMT). >> >> This is the first round of refactoring for VMT. This round is about *method >> members*: declared (overriding and not) and inherited. >> >> During this work I gained some insight into internal workings of VMT, fixed >> what was feasible and left TODOs and FIXMEs for everything else. Leaving >> those comments might look untidy, but leaving them out is wasteful: they >> clearly mark issues that should be revisited in upcoming rounds of >> refactoring. >> >> As I see it today, the main issue with VMT is that implements complex and >> error-prone computations from Java Language Specification (JLS) by hand. For >> example, VMT interprets JLS rules for relations such as _inherits_, >> _overrides_ and _hides_. As one would imagine, sometimes VMT does it >> incorrectly. It would be better to eventually re-implement VMT using >> `javax.lang.model` as much as possible. Unlike that of `jdk.javadoc`, the >> day job of `javax.lang.model` is to provide JLS services. > > Pavel Rappo has updated the pull request incrementally with one additional > commit since the last revision: > > Respond to feedback src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/VisibleMemberTable.java line 291: > 289: * declared in a type that has package access and, thus, has no > visible > 290: * documentation. > 291: * Nice comment src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/VisibleMemberTable.java line 302: > 300: // TODO: consider possible ambiguities: multiple overridden > methods > 301: ensureInitialized(); > 302: assert !overriddenMethodTable.containsKey(null); can we somehow do the assert at the time of `put` ? ------------- PR: https://git.openjdk.org/jdk/pull/12887
