> 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 ------------- Changes: - all: https://git.openjdk.org/jdk/pull/12887/files - new: https://git.openjdk.org/jdk/pull/12887/files/2050dab1..3ad7fafa Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=12887&range=01 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=12887&range=00-01 Stats: 6 lines in 3 files changed: 0 ins; 0 del; 6 mod Patch: https://git.openjdk.org/jdk/pull/12887.diff Fetch: git fetch https://git.openjdk.org/jdk pull/12887/head:pull/12887 PR: https://git.openjdk.org/jdk/pull/12887
