On 03/27/2013 02:00 PM, Joel Borggrén-Franck wrote:
Hi Peter,

On 03/27/2013 01:31 PM, Peter Levart wrote:

I also don't know
whether having LinkedHashMap instead of plain HashMap is necessary, since it
is initialized with defaults from plain HashMap (which is hashCode %
capacity ordered) and only some of defaults are overridden in parsing loop
in general. For example, having this annotation:

@interface Ann {
     String one();
     String two() default "2";
}

and usage:

@Ann(one = "1")

...toString will print: @Ann(two = "2", one = "1")


While there perhaps is no natural ordering between the sets of default elements and non-default elements you probably want an order following source as closely as possible among the non-default elements.

What is the order of elements in java class file (the bytes that the parser interprets)? Is it taken from the declaration of annotation (the order of methods in annotation interface) or from the use-site of the annotation? Is this specified?

Regards, Peter


cheers
/Joel

Reply via email to