type-annotations based on JDK 9?

Werner Dietl wdietl at gmail.com
Wed Jan 15 12:18:20 PST 2014


Hi Alex, all,

> I've asked around (it took a while) about the future of the three OpenJDK
> Projects - Lambda, ThreeTen, and Type Annotations - which host Reference
> Implementations of JSRs for Java SE 8.

Thanks for tracking down this information!


> The Type Annotations Project has essentially served its purpose of hosting
> the RI for JSR 308, and allowing the RI's code to make its way into the
> repositories of the JDK 8 Project. Woohoo!
>
> I agree that the type-annotations forest used by the Type Annotations
> Project has served its purpose. From now on, bug fixes to javac's handling
> of type annotations should be sent as patches to the compiler-dev list, just
> like fixes to any other area of javac. Depending on the nature of the bug in
> JBS, the patch would target either the repositories of the JDK 8 Updates
> Project or the repositories of the JDK 9 Project.
>
> The type-annotations-dev list is still playing a useful role as people
> download early-access JDK 8 binaries from Oracle and have questions about
> applying type annotations in source code, reflecting over them, etc.
> However, I don't see the list as necessary after the GA of JDK 8 in March.
>
> At that time, we should archive the list, make the forest read-only, and
> then vote to shut down the Type Annotations Project. (The ThreeTen Project
> will do basically the same.) JSR 308 will have made its Final Release and
> you and I will bask in the glory of being Maintenance Leads.

In preparation for moth-balling the type-annotations repositories,
I've just synced type-annotations against jdk9/dev.
All repositories other than "langtools" are equal (except for .hgtags
files and the jdk repo, where I pulled a few additional jdk8 changes
that are not in jdk9 yet). There is not a lot of interesting history
in these repos.

I made type-annotations/langtools as similar to jdk9/dev/langtools as possible.
The last remaining differences, which I think at some point should
move to jdk9/dev, are:

src/share/classes/com/sun/tools/javac/code/TypeAnnotations.java
    Instantiates an Options object that is not needed.

src/share/classes/com/sun/tools/javac/comp/Check.java
    Contains a checkNonNull call that results in generating a String
for an annotation - potentially expensive.

src/share/classes/com/sun/tools/javac/model/JavacTypes.java
    Improved an exception message.

src/share/classes/com/sun/tools/javac/util/RichDiagnosticFormatter.java
    Fix a typo in a doc-comment.

src/share/classes/com/sun/tools/javac/parser/Scanner.java
src/share/classes/javax/annotation/processing/Messager.java
src/share/classes/javax/lang/model/element/Element.java
src/share/classes/javax/lang/model/type/TypeMirror.java
src/share/classes/javax/lang/model/type/TypeVariable.java
src/share/classes/javax/lang/model/type/TypeVisitor.java
src/share/classes/javax/lang/model/util/Elements.java
src/share/classes/javax/lang/model/util/Types.java
src/share/classes/javax/tools/JavaCompiler.java
src/share/classes/javax/tools/SimpleJavaFileObject.java
src/share/classes/javax/tools/StandardJavaFileManager.java
    Clean up imports. Most changes remove unused imports.

test/tools/javac/annotations/typeAnnotations/classfile/T8008762.java
    Fix whitespace.

test/tools/javac/annotations/typeAnnotations/failures/AnnotatedImport.java
test/tools/javac/annotations/typeAnnotations/failures/AnnotatedImport.out
test/tools/javac/annotations/typeAnnotations/failures/AnnotatedPackage1.java
test/tools/javac/annotations/typeAnnotations/failures/CantAnnotateStaticClass3.java
test/tools/javac/annotations/typeAnnotations/failures/CantAnnotateStaticClass3.out
    These tests work for me. Is there a reason to ignore them?

test/tools/javac/annotations/typeAnnotations/referenceinfos/Enums.java
    This is the last test failure assigned to me.

test/tools/javac/lib/DPrinter.java
    Does the jdk9/dev version of this file compile?

test/tools/javac/processing/model/type/BasicAnnoTests.java
    This is a failing test. I extended it with a few more cases.


> Since you were an Author in the JDK 8 Project, you're an Author in the JDK 8
> Updates Project and JDK 9 Project. It would probably be useful for you to be
> a Committer in one or both of those Projects, but there's a process for
> that, of course.

I am very thankful that Jon took care of these administrative issues for me.
I'm open to apply for the Committer role, but maybe that's not
necessary for the few remaining patches from me.
Let me know which way you prefer.

cu, WMD.



> On 12/16/2013 4:15 PM, Michael Ernst wrote:
>>
>> Werner-
>>
>> I feel that the type-annotations forest has served its purpose.  We
>> don't expect any significant development to occur on it -- just bug
>> fixes.  Those bug fixes can be communicated as patches and applied to
>> whatever forest is used for JDK 8 maintenance.
>>
>> Do others feel differently?
>>
>>                     -Mike
>>
>>
>>> Subject: type-annotations based on JDK 9?
>>> From: Werner Dietl <wdietl at gmail.com>
>>> To: Jonathan Gibbons <jonathan.gibbons at oracle.com>
>>> Date: Mon, 16 Dec 2013 17:56:06 -0500
>>>
>>> Hi all,
>>>
>>> now that updates in the JDK 8 repositories are winding down, I'm
>>> wondering whether I should start updating type-annotations from a JDK
>>> 9 forest, e.g.:
>>>
>>> http://hg.openjdk.java.net/jdk9/dev/
>>>
>>> Or should we keep the current jdk8/tl setup and switch once a jdk8u
>>> forest exists?
>>>
>>> The type-annotations forest could continue to be the "play-ground" for
>>> fixes to type annotations handling.
>>> Or should we unceremoniously remove the type-annotations forest?
>>>
>>> cu, WMD.
>>>
>>> On Thu, Dec 5, 2013 at 7:29 PM, Jonathan Gibbons
>>> <jonathan.gibbons at oracle.com> wrote:
>>>>
>>>> Interesting point.
>>>>
>>>> Once 8 has shipped, the 8 repos will be frozen.  Updates to 8 will
>>>> occur in
>>>> a new 8 update forest, similar to the way that 7 updates happen now.
>>>> I'm
>>>> not sure if we can reparent type-annotations to 9 -- I will ask.
>>>> But we
>>>> can still sync the forest from 9.
>>>>
>>>> -- Jon
>>>>
>>>>
>>>> On 12/05/2013 04:00 PM, Werner Dietl wrote:
>>>>>
>>>>>
>>>>> Jon,
>>>>>
>>>>> thanks for that info.
>>>>> Will the type-annotations repositories continue to exist?
>>>>> Once the jdk9 repos are created, we could continue to use
>>>>> type-annotations to test type-annotation fixes.
>>>>>
>>>>> cu, WMD.
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>> --
>>> http://www.google.com/profiles/wdietl



-- 
http://www.google.com/profiles/wdietl


More information about the type-annotations-dev mailing list