test for inner and anon class

Steve Sides steve.sides at oracle.com
Thu Jun 6 10:20:19 PDT 2013

Back from vacation....sorry about the internal link. :/  On openjdk, 
it's just at:


On 6/4/2013 11:55 PM, Werner Dietl wrote:
> Hi Steve, Jon,
> that URL doesn't work for me from outside Oracle, so I was expecting
> somebody on the inside to push it.
> I tried
> http://cr.openjdk.java.net/~ssides/8015323.1/webrev.01/
> but there doesn't seem to be a mapping there.
> cu, WMD.
> On Fri, May 24, 2013 at 1:48 PM, Steve Sides<steve.sides at oracle.com>  wrote:
>> On 5/23/2013 6:05 PM, Jonathan Gibbons wrote:
>>> On 05/23/2013 05:55 PM, Steve Sides wrote:
>>>> Hi Werner,
>>>>   I updated the test I had for Inner and anonymous classes. It has been
>>>> blocked by a few bugs (listed @bug) which are now fixed.
>>>> However, as I started enabling the tests I ran in to a couple more. The
>>>> test is here,
>>>> http://cr.openjdk.java.net/~ssides/8015323/
>>>> but it will fail due to these two
>>>> 8015323 If class InnerAnnon is instantiated, type annotations on ia_m1()
>>>> are incorrectly written to classfile.
>>>> 8015257 A type annotation with ElementTypes TYPE_USE and FIELD placed on
>>>> type
>>>> argument is placed on the ctor if repeated and on the field if not
>>>> repeated.
>>>> There is currently an @ignore on the test as I wasn't sure which repo
>>>> this might want to go into, and if in tl/langtools it should have the
>>>> ignore.
>>>> The affect parts of the test are noted in the generated test sources(if
>>>> you comment out all the next lines, it'll pass).
>>>> The 8015323 scenario used to crash, not they're written incorrectly.
>>>> 8015727 used to not write to classfile at all if repeated, not it just
>>>> writes incorrectly.
>>>> The test case is a little clunky looking, but it found several bugs and I
>>>> found it runs faster and is very easy to diagnose and narrow down a test
>>>> case.
>>>> -steve
>>> Steve,
>>> Nice test.
>>> I don't know if it would ease maintenance, but one suggestion might be to
>>> move the testsource string into a separate file, called something like
>>> testsource.template, and then read it into a String use java.nio.file.Files
>>> API.  I know normally we keep the template within the main source file, but
>>> this template is getting pretty long.   Anyway, just a suggestion, for your
>>> ease-of-use. Your call.
>>> -- Jon
>> I put the source in a template file. I created a new webrev for it since
>> it's not checked in anywhere yet.
>> http://sqeweb.us.oracle.com/coretools/ssides/webrevs/8015323.1/webrev.01/
>> As is, it does not have @ignore and it fails with the buggy lines having
>> comments above them in the template.
>> -steve

More information about the type-annotations-dev mailing list