hg: lambda/lambda/langtools: Added improved support for inference-related diagnostic information.

maurizio.cimadamore at oracle.com maurizio.cimadamore at oracle.com
Mon Sep 6 07:03:12 PDT 2010


Changeset: c572fa185d05
Author:    mcimadamore
Date:      2010-09-06 15:01 +0100
URL:       http://hg.openjdk.java.net/lambda/lambda/langtools/rev/c572fa185d05

Added improved support for inference-related diagnostic information.
The compiler emits some explanatory warnings in case thrown types cannot be inferred from the body of a lambda expression; the message looks like:

Inference.java:16: warning: thrown types cannot be inferred from lambda body because of cyclic inference
il.forEach( #( arg ) { arg.m() } );
            ^
  explicit type required for the following parameter: arg

These messages can be enabled/disabled using the compiler flag '-XDlambdaInferenceDiags=(true,false)' [default enabled].

! src/share/classes/com/sun/tools/javac/comp/Attr.java
! src/share/classes/com/sun/tools/javac/comp/Flow.java
! src/share/classes/com/sun/tools/javac/resources/compiler.properties
! test/tools/javac/diags/examples.not-yet.txt
! test/tools/javac/lambda/LambdaExprNotVoid.java
! test/tools/javac/lambda/TargetType01.java
! test/tools/javac/lambda/TargetType13.java



More information about the lambda-dev mailing list