RFR: 8318160: javac does not reject private method reference with type-variable receiver [v6]
Vicente Romero
vromero at openjdk.org
Tue Oct 17 23:15:12 UTC 2023
> Please review this PR which is fixing a long standing regression in javac. Basically javac is accepting code like:
>
>
> import java.util.function.*;
>
> class Test {
> private String asString() {
> return "bar";
> }
>
> static <T extends Test> Function<T, String> foo() {
> return T::asString;
> }
> }
>
>
> this code should be rejected on the grounds that ::asString is a private method in class `Test` and thus not a member of type variable `T`
>
> TIA
Vicente Romero has updated the pull request incrementally with one additional commit since the last revision:
alternative implementation
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/16210/files
- new: https://git.openjdk.org/jdk/pull/16210/files/73377326..43f5fb74
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=16210&range=05
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=16210&range=04-05
Stats: 37 lines in 4 files changed: 23 ins; 7 del; 7 mod
Patch: https://git.openjdk.org/jdk/pull/16210.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/16210/head:pull/16210
PR: https://git.openjdk.org/jdk/pull/16210
More information about the compiler-dev
mailing list