[lworld] RFR: Make "PrimitiveParameterizedClass.default" a poly expression. [v2]

Srikanth Adayapalam sadayapalam at openjdk.java.net
Mon Jul 19 08:30:21 UTC 2021

On Sun, 4 Jul 2021 19:18:51 GMT, Jesper Steen Møller <jespersm at openjdk.org> wrote:

>> Make .default a separate node type in the parser.
>> ## Issue
>> [JDK-8211914](https://bugs.openjdk.java.net/browse/JDK-8211914): [lworld] Javac should support type inference for default value creation
>> Note: The Linux x86 builds in GitHub actions seem to fail with something completely unrelated to these changes.
> Jesper Steen Møller has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains one commit:
>   [lworld] Handling poly-inference of missing arguments by simulating a synthetic method.

A way to see this in more detail is to debug through the Attr.visitApply call corresponding to the method invocation

m(new X<>(), X.default);

in this test case:

public primitive class X<T> {

    static void m(X<String> ls, X<String> ls2) { }

    public static void main(String [] args) {
        m(new X<>(), X.default);


You will see that first argument is typed to be DeferredType and second one incorrectly to be X<T\>


PR: https://git.openjdk.java.net/valhalla/pull/369

More information about the valhalla-dev mailing list