hg: lambda/lambda/langtools: Add support for target-typing in conditional expressions.
maurizio.cimadamore at oracle.com
maurizio.cimadamore at oracle.com
Mon Dec 5 10:42:53 PST 2011
Changeset: d4d26debfa91
Author: mcimadamore
Date: 2011-12-05 18:42 +0000
URL: http://hg.openjdk.java.net/lambda/lambda/langtools/rev/d4d26debfa91
Add support for target-typing in conditional expressions.
Conditional expressions now propagate target type to subterms according to JSR 335 EDR.
Example:
Callable<Integer> c = flag ? (() -> 23) : (() -> 42);
Note: For conditional expressions used in method invocation context, target-typing is only be enabled when compiling with the -XDcomplexinference flag.
! src/share/classes/com/sun/tools/javac/code/TypeTags.java
! src/share/classes/com/sun/tools/javac/comp/Attr.java
! src/share/classes/com/sun/tools/javac/comp/Check.java
! src/share/classes/com/sun/tools/javac/comp/Infer.java
! src/share/classes/com/sun/tools/javac/resources/compiler.properties
! src/share/classes/com/sun/tools/javac/util/RichDiagnosticFormatter.java
! test/tools/javac/conditional/Conditional.java
! test/tools/javac/diags/examples.not-yet.txt
+ test/tools/javac/lambda/TargetType32.java
+ test/tools/javac/lambda/TargetType32.out
+ test/tools/javac/lambda/TargetType33.java
+ test/tools/javac/lambda/TargetType33.out
More information about the lambda-dev
mailing list