hg: valhalla/valhalla/langtools: Add support for species static access.

maurizio.cimadamore at oracle.com maurizio.cimadamore at oracle.com
Fri May 27 13:19:04 UTC 2016


Changeset: 6949c3d06e8f
Author:    mcimadamore
Date:      2016-05-27 14:18 +0100
URL:       http://hg.openjdk.java.net/valhalla/valhalla/langtools/rev/6949c3d06e8f

Add support for species static access.
* add parser support for new '__species' modifier
* add resolution and type-checking support for species access members
* add code generation support for species static
* optimize translation of generic specializable methods (static and species static) to use species static
* cleanup accessor bridge generation using species static
* cleanup BootstrapMethodSymbol
* remove dead code in ClassWriter
* add javap support for species statics
* add tests

! src/java.compiler/share/classes/javax/lang/model/element/Modifier.java
! 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/SymbolMetadata.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/AttrContext.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Enter.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/IndifierTranslator.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Lower.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/MemberEnter.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Resolve.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/SpecializeTypes.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TransTypes.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassWriter.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Gen.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Items.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/PoolWriter.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/StringConcat.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/Tokens.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties
! src/jdk.compiler/share/classes/com/sun/tools/javac/util/Names.java
! src/jdk.jdeps/share/classes/com/sun/tools/classfile/AccessFlags.java
! src/jdk.jshell/share/classes/jdk/jshell/CompletenessAnalyzer.java
- src/jdk.jshell/share/classes/jdk/jshell/ReplResolve.java
! src/jdk.jshell/share/classes/jdk/jshell/SourceCodeAnalysisImpl.java
+ test/tools/javac/annotations/typeAnnotations/classfile/TypeInitializer.java
+ test/tools/javac/diags/examples/TypeStaticCantBeRef.java
+ test/tools/javac/diags/examples/UncheckedGenericSpeciesAccess.java
! test/tools/javac/lambda/TestBootstrapMethodsCount.java
! test/tools/javac/lambda/TestInvokeDynamic.java
+ test/tools/javac/valhalla/speciesstatic/SpeciesAccessParserTest.java
+ test/tools/javac/valhalla/speciesstatic/SpeciesStatic01.java
+ test/tools/javac/valhalla/speciesstatic/SpeciesStatic01.out
+ test/tools/javac/valhalla/speciesstatic/SpeciesStatic02.java
+ test/tools/javac/valhalla/speciesstatic/SpeciesStatic03.java
+ test/tools/javac/valhalla/speciesstatic/SpeciesStatic03.out
+ test/tools/javac/valhalla/speciesstatic/SpeciesStatic04.java
+ test/tools/javac/valhalla/speciesstatic/SpeciesStatic04.out
+ test/tools/javac/valhalla/speciesstatic/SpeciesStatic05.java
+ test/tools/javac/valhalla/speciesstatic/SpeciesStatic05.out
+ test/tools/javac/valhalla/speciesstatic/SpeciesStatic06.java
+ test/tools/javac/valhalla/speciesstatic/SpeciesStatic06.out
+ test/tools/javac/valhalla/speciesstatic/separate/Foo.java
+ test/tools/javac/valhalla/speciesstatic/separate/Separate01.java
! test/tools/javac/valhalla/typespec/items/m3/Opcodes.java
! test/tools/javac/valhalla/typespec/items/m3/tests/TestArrayLoadAndStore.java
! test/tools/javac/valhalla/typespec/items/m3/tests/TestDup.java
! test/tools/javac/valhalla/typespec/items/m3/tests/TestGeneric2GenericCall.java
! test/tools/javac/valhalla/typespec/items/m3/tests/TestLoadAndStore.java
! test/tools/javac/valhalla/typespec/items/m3/tests/TestNonSpecializedGenericCall.java
+ test/tools/javac/valhalla/typespec/items/m3/tests/TestSpeciesStatic.java




More information about the valhalla-dev mailing list