RFR: 8318160: javac does not reject private method reference with type-variable receiver [v5]

Vicente Romero vromero at openjdk.org
Tue Oct 17 14:09:08 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:

  forgot to add parameter to method

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/16210/files
  - new: https://git.openjdk.org/jdk/pull/16210/files/be5760d5..73377326

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=16210&range=04
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=16210&range=03-04

  Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 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