hg: valhalla/valhalla/langtools: Add experimental support for generic class literals
Maurizio Cimadamore
maurizio.cimadamore at oracle.com
Mon Aug 18 14:07:15 UTC 2014
On 18/08/14 14:51, Paul Benedict wrote:
> Just asking so I can understand.... are specialized classes fully
> reifiable?
Yeah - stuff like Box<int> is considered to be fully reified, as the
specializer will turn it into a specialized Box${T=int} version where
all references to the type-variables have been replaced with their 'I'
counterparts. This means you can lift all restrictions that apply to
reified types, such as no array creation, no instance of, unchecked cast
only, no class literals.
Maurizio
>
>
> Cheers,
> Paul
>
>
> On Mon, Aug 18, 2014 at 8:29 AM, <maurizio.cimadamore at oracle.com
> <mailto:maurizio.cimadamore at oracle.com>> wrote:
>
> Changeset: 459f251550d5
> Author: mcimadamore
> Date: 2014-08-18 14:25 +0100
> URL:
> http://hg.openjdk.java.net/valhalla/valhalla/langtools/rev/459f251550d5
>
> Add experimental support for generic class literals
> *) Now fully specialized classes literals are allowed with no
> warnings.
> *) Specializable but not reifiable class literals are allowed with
> warnings.
> *) Non-specializable class literals rejected.
> *) Add new tests
>
> ! src/share/classes/com/sun/tools/javac/comp/Attr.java
> ! src/share/classes/com/sun/tools/javac/comp/Lower.java
> ! src/share/classes/com/sun/tools/javac/comp/SpecializeTypes.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/resources/compiler.properties
> ! src/share/classes/com/sun/tools/javac/tree/JCTree.java
> + test/tools/javac/diags/examples/IllegalGenericTypeForClassLit.java
> + test/tools/javac/diags/examples/UncheckedGenericClassLit.java
> ! test/tools/javac/failover/CheckAttributedTree.java
> + test/tools/javac/valhalla/typespec/ClassLiterals01.java
> + test/tools/javac/valhalla/typespec/ClassLiterals01.out
> ! test/tools/javac/valhalla/typespec/items/Opcodes.java
> + test/tools/javac/valhalla/typespec/items/tests/TestClassLit.java
>
>
More information about the valhalla-dev
mailing list