RFR: 8319196: ExecutableElement.getReceiverType doesn't return receiver types for methods loaded from bytecode

Liam Miller-Cushon cushon at openjdk.org
Thu Nov 2 18:08:21 UTC 2023


Hello,

Please consider this fix for [JDK-8319196: ExecutableElement.getReceiverType doesn't return receiver types for methods loaded from bytecode](https://bugs.openjdk.org/browse/JDK-8319196).

As discussed in [the accompanying CSR](https://bugs.openjdk.org/browse/JDK-8319330), `ExecutableElement.getReceiverType()` and `ExecutableType.getReceiverType()` currently returns `NoType` unless the receiver parameter syntax was present in source, which also means that `getReceiverType()` doesn't work for methods loaded from class files.

This fix updates the implementation to return the implicit receiver type of methods that do not explicitly declare a receiver parameter in source, including for methods that were loaded from class files.

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

Commit messages:
 - 8319196: ExecutableElement.getReceiverType doesn't return receiver types for methods loaded from bytecode

Changes: https://git.openjdk.org/jdk/pull/16482/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=16482&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8319196
  Stats: 80 lines in 4 files changed: 52 ins; 14 del; 14 mod
  Patch: https://git.openjdk.org/jdk/pull/16482.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/16482/head:pull/16482

PR: https://git.openjdk.org/jdk/pull/16482


More information about the compiler-dev mailing list