Future of 'type-annotations/type-annotations' forest
Jonathan Gibbons
jonathan.gibbons at oracle.com
Mon May 19 23:49:47 UTC 2014
On 05/19/2014 02:17 PM, Werner Dietl wrote:
>>> In type-annotations, I made sure that the BasicAnnoTest at:
>>> test/tools/javac/processing/model/type/BasicAnnoTests.java
>>> compiles correctly.
>>> However, the generics/arrays/exceptions test cases at the end do not work yet.
>>> Is this something you are aware of? I thought one reason for your
>>> refactorings was exactly to make these tests work.
>> It seems that DPrinter has gotten out of date, due to a few fixes that
>> have changed the internal data structures. Among these are a fix that
>> refactors the top-level nodes, and my fix that eliminates AnnotatedType.
>>
>> If you've fixed all (or even some) of these issues, I'll gladly
>> integrate your changes.
> The type-annotations repo contains a fixed DPrinter and I've kept it
> up-to-date through all recent refactorings.
>
> I haven't fixed the BasicAnnoTests, as my understanding was that
> fixing these tests is one reason for your refactorings.
>
>
>>> Another difference that would make compatibility between jdk8 and jkd9
>>> easier is if field "exception_index" remained public to allow direct
>>> access.
>> Unfortunately, I think that's less feasible. The exception_index field
>> currently gets used to store both exception indexes, as well as a
>> combination of catch info and source positions. Because the formatting
>> for this is nontrivial, and we have plans to eliminate it in the future,
>> exception_index was made private and accessible through getters and setters.
>>
>> I would, however, be willing to add an updateExceptionIndex, which would
>> allow you to change the index after it has already been set.
> I have two use cases: create a new TAP from an existing TAP and
> comparing two TAPs for equality.
> For either one, I don't care what the underlying interpretation of the
> ints is, I just need to copy/compare them.
>
> One of our goals is to keep the Checker Framework running with the
> standard Java 8 compiler. I already perform quite a few TAP things
> reflectively to achieve this. I can do the same with the
> exception_index field, its just yet another complication that gets
> introduced.
>
>
>>> A few tests in jdk9 are disabled, even though they pass in type-annotations.
>>> The other differences between jdk9 and type-annotations are small
>>> fixes to javadoc, performance, and imports.
>>> See my message from May 8 for details:
>>> http://mail.openjdk.java.net/pipermail/type-annotations-dev/2014-May/001722.html
>> More tests are being re-enabled in the cleanup patch. I am currently
>> looking into the javadoc tests as well. As for the other fixes, I think
>> I would like to get the two big patches (the rearchitecting patch and
>> the cleanup patch) integrated, then look at them one-by-one.
> Ok, please do let me know if I can help.
> I would like to get all useful changes from type-annotations into jdk9
> so that we can ideally close type-annotations in a state that exactly
> matches jdk9.
>
> Thanks,
> cu, WMD.
>
Werner,
Can you clarify how much Checker Framework uses javac internal API
and how much it just relies on public/supported API like java.*, javax.*
and com.sun.source.*?
Going forward, you should not assume you will have direct access to
javac internals forever.
-- Jon
More information about the type-annotations-dev
mailing list