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