When is the next specifications update?

0 views
Skip to first unread message

Olivier

unread,
Nov 19, 2009, 3:59:19 PM11/19/09
to Type annotations (JSR 308) discussions
Hi,

Looking at the changelog,

Version 1.0.2, 16 Nov 2009

ClassFile format
Changed reference info structure for class extends/implements
and throws to contain a char instead of a byte

Base build
Updated to OpenJDK langtools build b76

for the javap and javac tools, it looks like now the format for a
extends/implements/throws target type is:
{
u2 type_index;
} reference_info;

Will the specifications soon reflect all latest changes in the
compiler and disassembler tools ? Any reason why using a u2 instead of
a u1? Is it to match the u2 used in the current class file format for
number of interfaces and number of throws exceptions in a method or a
type ?

I also noticed that the javap tool used to be more verbose.
javap tool with b76:
RuntimeVisibleTypeAnnotations: length = 0x13
00 02 00 14 00 00 15 FF FF 00 01 00 00 14 00 00
14 00 01
RuntimeInvisibleTypeAnnotations: length = 0x1D
00 02 00 16 00 01 00 17 49 00 18 15 FF FF 00 01
00 00 16 00 01 00 17 49 00 19 14 00 00

javap tool from the jsr308 site:
RuntimeVisibleTypeAnnotations:
0: #20(): CLASS_EXTENDS_GENERIC_OR_ARRAY, type_index=-1, location=
[0]
1: #20(): CLASS_EXTENDS, type_index=1
RuntimeInvisibleTypeAnnotations:
0: #22(#23=I#24): CLASS_EXTENDS_GENERIC_OR_ARRAY, type_index=-1,
location=[0]
1: #22(#23=I#25): CLASS_EXTENDS, type_index=0

This is more helpful to a certain extend. What output format will be
the final one ?

Thanks.

Olivier

Mahmood Ali

unread,
Nov 19, 2009, 4:10:13 PM11/19/09
to jsr308-...@googlegroups.com
Greetings,

Thank you very much Olivier for your continual input. We do
appreciate it. Also, feel free to submit your bug reports at
<http://code.google.com/p/jsr308-langtools/issues/list>. It'll help
us keep track of the different requests in better form.

We are planning to make the specification release soon. Maybe
tomorrow or so. We have been a bit busy lately, and will be able to
continue working on this again soon.

> Will the specifications soon reflect all latest changes in the
> compiler and disassembler tools ?
Soon hopefully by the end of this weekend.

> Any reason why using a u2 instead of
> a u1? Is it to match the u2 used in the current class file format for
> number of interfaces and number of throws exceptions in a method or a
> type ?
You are correct. The JVMS specifies that u2 is used as an index type
for the interfaces table and exceptions array (in appropriate
attributes). We changed this to reflect that.

> I also noticed that the javap tool used to be more verbose.
> javap tool with b76:
>    RuntimeVisibleTypeAnnotations: length = 0x13
>     00 02 00 14 00 00 15 FF FF 00 01 00 00 14 00 00
>     14 00 01
> [...]
>
> javap tool from the jsr308 site:
>  RuntimeVisibleTypeAnnotations:
>    0: #20(): CLASS_EXTENDS_GENERIC_OR_ARRAY, type_index=-1, location=
> [0]
>
> This is more helpful to a certain extend. What output format will be
> the final one ?
The format of jsr308 javap is the one that's going to stay. We are
working on integrating our latest changes again with the mainstream
jdk soon as well.

Regards,
Mahmood
Reply all
Reply to author
Forward
0 new messages