hg: lambda/lambda/langtools: *) Added support for exception transparency. Exception transparency is supported through so-called 'throws' type-variables. Such type-variables are dealt with in a special way: during type-inference the compiler doesn't apply lub(). As such, throws type-variable are inherently disjunctive.
maurizio.cimadamore at oracle.com
maurizio.cimadamore at oracle.com
Tue Jun 15 03:25:42 PDT 2010
Changeset: 1f2a6005435d
Author: mcimadamore
Date: 2010-06-15 11:22 +0100
URL: http://hg.openjdk.java.net/lambda/lambda/langtools/rev/1f2a6005435d
*) Added support for exception transparency. Exception transparency is supported through so-called 'throws' type-variables. Such type-variables are dealt with in a special way: during type-inference the compiler doesn't apply lub(). As such, throws type-variable are inherently disjunctive.
*) Added support for disjunctive types and retrifitted the multicatch implementation in order to leverage disjunctive types. Disjunctive types are only supported in the 'throws' clause of a method declaration, as the type of a 'catch' clause and in type-parameter position (where the corresponding formal type-variable is a 'throws' type-variable).
! src/share/classes/com/sun/tools/javac/code/Flags.java
! src/share/classes/com/sun/tools/javac/code/Printer.java
! src/share/classes/com/sun/tools/javac/code/Source.java
! src/share/classes/com/sun/tools/javac/code/Symtab.java
! src/share/classes/com/sun/tools/javac/code/Type.java
! src/share/classes/com/sun/tools/javac/code/TypeTags.java
! src/share/classes/com/sun/tools/javac/code/Types.java
! src/share/classes/com/sun/tools/javac/comp/Attr.java
! src/share/classes/com/sun/tools/javac/comp/AttrContext.java
! src/share/classes/com/sun/tools/javac/comp/Check.java
! src/share/classes/com/sun/tools/javac/comp/Flow.java
! src/share/classes/com/sun/tools/javac/comp/Infer.java
! src/share/classes/com/sun/tools/javac/jvm/ClassReader.java
! src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java
! src/share/classes/com/sun/tools/javac/jvm/Code.java
! src/share/classes/com/sun/tools/javac/jvm/Gen.java
! src/share/classes/com/sun/tools/javac/parser/JavacParser.java
! src/share/classes/com/sun/tools/javac/parser/Lexer.java
! src/share/classes/com/sun/tools/javac/parser/Scanner.java
! src/share/classes/com/sun/tools/javac/resources/compiler.properties
! src/share/classes/com/sun/tools/javac/tree/JCTree.java
! src/share/classes/com/sun/tools/javac/tree/TreeCopier.java
! src/share/classes/com/sun/tools/javac/tree/TreeInfo.java
! src/share/classes/com/sun/tools/javac/tree/TreeMaker.java
! src/share/classes/com/sun/tools/javac/util/Names.java
! src/share/classes/com/sun/tools/javac/util/RichDiagnosticFormatter.java
! test/tools/javac/generics/diamond/neg/Neg01.out
! test/tools/javac/generics/diamond/neg/Neg02.out
! test/tools/javac/generics/diamond/neg/Neg03.out
! test/tools/javac/generics/diamond/neg/Neg04.out
! test/tools/javac/lambda/BadAccess.java
! test/tools/javac/lambda/BadLambdaCall.java
! test/tools/javac/lambda/BadReturn.java
+ test/tools/javac/lambda/ExceptionTransparency01.java
! test/tools/javac/lambda/FuncType01.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/LambdaConv02.java
! test/tools/javac/lambda/LambdaConv03.java
! test/tools/javac/lambda/LambdaConv04.java
! test/tools/javac/lambda/LambdaConv05.java
! test/tools/javac/lambda/LambdaExpr01.java
! test/tools/javac/lambda/LambdaExpr02.java
! test/tools/javac/lambda/LambdaExpr03.java
! test/tools/javac/lambda/LambdaScope01.java
! test/tools/javac/lambda/LambdaScope02.java
! test/tools/javac/lambda/NakedThis.java
+ test/tools/javac/transparency/Neg01.java
+ test/tools/javac/transparency/Neg01.out
+ test/tools/javac/transparency/Neg02.java
+ test/tools/javac/transparency/Neg02.out
+ test/tools/javac/transparency/Neg03.java
+ test/tools/javac/transparency/Neg03.out
+ test/tools/javac/transparency/Neg04.java
+ test/tools/javac/transparency/Neg04.out
+ test/tools/javac/transparency/Neg05.java
+ test/tools/javac/transparency/Neg05.out
+ test/tools/javac/transparency/Neg06.java
+ test/tools/javac/transparency/Neg06.out
+ test/tools/javac/transparency/Neg07.java
+ test/tools/javac/transparency/Neg07.out
+ test/tools/javac/transparency/Neg08.java
+ test/tools/javac/transparency/Neg08.out
+ test/tools/javac/transparency/Pos01.java
+ test/tools/javac/transparency/Pos02.java
+ test/tools/javac/transparency/Pos03.java
More information about the lambda-dev
mailing list