hg: valhalla/valhalla/langtools: Enhancement: add support for anyfied wildcards in javac

maurizio.cimadamore at oracle.com maurizio.cimadamore at oracle.com
Thu Jul 9 15:15:36 UTC 2015


Changeset: 329f5ec6e169
Author:    mcimadamore
Date:      2015-07-09 16:14 +0100
URL:       http://hg.openjdk.java.net/valhalla/valhalla/langtools/rev/329f5ec6e169

Enhancement: add support for anyfied wildcards in javac
* parser changes to support new Foo<any> syntax for anyfied wildcards
* type system changes to match semantics of new wildcard types
* code generation changes, erasure also applies a 'virtualization' pass
* virtualized accessors fo through indy to hide boxing adapations
* added several tests

Todo:
* separate compilation doesn't work properly w.r.t. anyfied wildcards (as there's no way to represent them inside Signature attributes, yet)
* semantics of unchecked calls might need further refinements

! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Flags.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symbol.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symtab.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Types.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/SpecializeTypes.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TypeEnter.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Gen.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties
! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/JCTree.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/Pretty.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeMaker.java
+ test/tools/javac/diags/examples/CantSelectNonVirtual.java
! test/tools/javac/generics/bridges/BridgeHarness.java
! test/tools/javac/treeannotests/TestProcessor.java
! test/tools/javac/valhalla/typespec/Cast01.java
! test/tools/javac/valhalla/typespec/Cast01.out
+ test/tools/javac/valhalla/typespec/Wildcards05.java
+ test/tools/javac/valhalla/typespec/Wildcards06.java
+ test/tools/javac/valhalla/typespec/Wildcards07.java
+ test/tools/javac/valhalla/typespec/Wildcards07.out
+ test/tools/javac/valhalla/typespec/Wildcards08.java
+ test/tools/javac/valhalla/typespec/Wildcards08.out
+ test/tools/javac/valhalla/typespec/Wildcards09.java
+ test/tools/javac/valhalla/typespec/Wildcards09.out
! test/tools/javac/valhalla/typespec/items/BytecodeMappingHarness.java



More information about the valhalla-dev mailing list