hg: lambda/lambda/langtools: Disallow SAM conversion where target-type is an abstract class.

maurizio.cimadamore at oracle.com maurizio.cimadamore at oracle.com
Fri Feb 25 10:08:06 PST 2011


Changeset: 1b56e8c66272
Author:    mcimadamore
Date:      2011-02-25 18:07 +0000
URL:       http://hg.openjdk.java.net/lambda/lambda/langtools/rev/1b56e8c66272

Disallow SAM conversion where target-type is an abstract class.
This patch brings the compiler in line with what has been discussed by the lambda EG.
Old semantics is still allowed (mostly for the purposes of running existing regression tests) using the hidden flag -XDabstractSAM.

! src/share/classes/com/sun/tools/javac/code/Types.java
! src/share/classes/com/sun/tools/javac/resources/compiler.properties
! test/tools/javac/defender/Pos01.java
! test/tools/javac/lambda/BadAccess.java
! test/tools/javac/lambda/BadAccess02.java
! test/tools/javac/lambda/BadBreakContinue.java
! test/tools/javac/lambda/BadReturn.java
! test/tools/javac/lambda/Defender01.java
! test/tools/javac/lambda/ExceptionTransparency01.java
! test/tools/javac/lambda/ExceptionTransparency02.java
! test/tools/javac/lambda/ExceptionTransparency03.java
! test/tools/javac/lambda/LambdaCapture01.java
! test/tools/javac/lambda/LambdaCapture02.java
! test/tools/javac/lambda/LambdaCapture03.java
! test/tools/javac/lambda/LambdaCapture04.java
! test/tools/javac/lambda/LambdaCapture05.java
! test/tools/javac/lambda/LambdaConv01.java
! test/tools/javac/lambda/LambdaConv03.java
! test/tools/javac/lambda/LambdaConv05.java
! test/tools/javac/lambda/LambdaConv06.java
! test/tools/javac/lambda/LambdaConv08.java
! test/tools/javac/lambda/LambdaConv09.java
! test/tools/javac/lambda/LambdaConv10.java
! test/tools/javac/lambda/LambdaConv13.java
! test/tools/javac/lambda/LambdaConversionTest.java
! test/tools/javac/lambda/LambdaExpr01.java
! test/tools/javac/lambda/LambdaExpr02.java
! test/tools/javac/lambda/LambdaExpr04.java
! test/tools/javac/lambda/LambdaExpr05.java
! test/tools/javac/lambda/LambdaExprNotVoid.java
! test/tools/javac/lambda/LambdaScope01.java
! test/tools/javac/lambda/LambdaScope03.java
! test/tools/javac/lambda/LocalBreakAndContinue.java
! test/tools/javac/lambda/MethodReference01.java
! test/tools/javac/lambda/MethodReference02.java
! test/tools/javac/lambda/MethodReference03.java
! test/tools/javac/lambda/MethodReference05.java
! test/tools/javac/lambda/MethodReference07.java
! test/tools/javac/lambda/MethodReference08.java
! test/tools/javac/lambda/MethodReference09.java
! test/tools/javac/lambda/MethodReference10.java
! test/tools/javac/lambda/MethodReference11.java
! test/tools/javac/lambda/MethodReference12.java
! test/tools/javac/lambda/MethodReference13.java
! test/tools/javac/lambda/MethodReference14.java
! test/tools/javac/lambda/MethodReference15.java
! test/tools/javac/lambda/MethodReference16.java
! test/tools/javac/lambda/MethodReference17.java
! test/tools/javac/lambda/MethodReference18.java
! test/tools/javac/lambda/MethodReference19.java
! test/tools/javac/lambda/MethodReference20.java
! test/tools/javac/lambda/NakedThis.java
! test/tools/javac/lambda/TargetType01.java
! test/tools/javac/lambda/TargetType03.java
! test/tools/javac/lambda/TargetType04.java
! test/tools/javac/lambda/TargetType05.java
! test/tools/javac/lambda/TargetType06.java
! test/tools/javac/lambda/TargetType07.java
! test/tools/javac/lambda/TargetType08.java
! test/tools/javac/lambda/TargetType10.java
! test/tools/javac/lambda/TargetType11.java
! test/tools/javac/lambda/TargetType12.java
! test/tools/javac/lambda/TargetType13.java
! test/tools/javac/lambda/TargetType14.java
! test/tools/javac/lambda/TargetType15.java
! test/tools/javac/lambda/TargetType16.java
! test/tools/javac/lambda/badMemberRefBytecode/TestBadMemberRefBytecode.java
! test/tools/javac/meth/InvokeDynTrans.java



More information about the lambda-dev mailing list