hg: lambda/lambda/langtools: Add support for intersection types in cast expressions
maurizio.cimadamore at oracle.com
maurizio.cimadamore at oracle.com
Wed Oct 31 15:33:07 PDT 2012
Changeset: 99ce7dc58473
Author: mcimadamore
Date: 2012-10-31 22:32 +0000
URL: http://hg.openjdk.java.net/lambda/lambda/langtools/rev/99ce7dc58473
Add support for intersection types in cast expressions
*) Add parser support for intersection types
*) Refactor parser to better handle ambiguities between parens/lambda/cast
*) Refactor Attr/Types to share logic between type-variable and intersection type well-formedness checks
*) Add support for SAM conversion when target is intersection type
*) Add 269 support for intersection types
*) Add com.sun.source.tree API support for intersection types
Todo:
*) Translation of lambda/method-references targeting intersection types is disabled for now
+ src/share/classes/com/sun/source/tree/IntersectionTypeTree.java
! src/share/classes/com/sun/source/tree/Tree.java
! src/share/classes/com/sun/source/tree/TreeVisitor.java
! src/share/classes/com/sun/source/util/SimpleTreeVisitor.java
! src/share/classes/com/sun/source/util/TreeScanner.java
! src/share/classes/com/sun/tools/javac/code/Symbol.java
! src/share/classes/com/sun/tools/javac/code/Type.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/TransTypes.java
! src/share/classes/com/sun/tools/javac/jvm/ClassReader.java
! src/share/classes/com/sun/tools/javac/model/JavacTypes.java
! src/share/classes/com/sun/tools/javac/parser/JavacParser.java
! src/share/classes/com/sun/tools/javac/tree/JCTree.java
! src/share/classes/com/sun/tools/javac/tree/Pretty.java
! src/share/classes/com/sun/tools/javac/tree/TreeCopier.java
! src/share/classes/com/sun/tools/javac/tree/TreeMaker.java
! src/share/classes/com/sun/tools/javac/tree/TreeScanner.java
! src/share/classes/com/sun/tools/javac/tree/TreeTranslator.java
+ src/share/classes/javax/lang/model/type/IntersectionType.java
! src/share/classes/javax/lang/model/type/TypeKind.java
! src/share/classes/javax/lang/model/type/TypeVisitor.java
! src/share/classes/javax/lang/model/util/AbstractTypeVisitor6.java
! src/share/classes/javax/lang/model/util/AbstractTypeVisitor8.java
+ test/tools/javac/cast/intersection/IntersectionTypeCastTest.java
+ test/tools/javac/cast/intersection/model/Check.java
+ test/tools/javac/cast/intersection/model/IntersectionTypeInfo.java
+ test/tools/javac/cast/intersection/model/Member.java
+ test/tools/javac/cast/intersection/model/Model01.java
+ test/tools/javac/cast/intersection/model/ModelChecker.java
More information about the lambda-dev
mailing list