RFR: 8253168: Surprising 'multiple elements' behaviour from getTypeElement when cross-compiling with --release

Jan Lahoda jlahoda at openjdk.java.net
Wed Sep 16 08:05:08 UTC 2020


Unqualified Elements.getTypeElement(CharSequence) and Elements.getPackageElement(CharSequence) search for elements
across all modules in the module graph, and only return a value when they find exactly one element. This is
troublesome, as an element (uniquely) visible from a root module may be "hidden" by an element that is not visible from
any root module (i.e. is internal to some module that is not in the root module set). The idea proposed here is that
these unqualified methods would first look for elements visible from the root modules, and would search the internals
of other modules only if nothing would be found in the first round.

The draft of the corresponding CSR is here: https://bugs.openjdk.java.net/browse/JDK-8253168.

-------------

Commit messages:
 - 8253168: Surprising 'multiple elements' behaviour from getTypeElement when cross-compiling with --release

Changes: https://git.openjdk.java.net/jdk/pull/200/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=200&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8253168
  Stats: 523 lines in 3 files changed: 465 ins; 30 del; 28 mod
  Patch: https://git.openjdk.java.net/jdk/pull/200.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/200/head:pull/200

PR: https://git.openjdk.java.net/jdk/pull/200


More information about the compiler-dev mailing list