http://gwt-code-reviews.appspot.com/134810/diff/4001/4003 File dev/core/src/com/google/gwt/dev/jjs/ast/JAnnotation.java (right):
http://gwt-code-reviews.appspot.com/134810/diff/4001/4003#newcode40 Line 40: public static class Property<T extends JNode & JAnnotationArgument> extends The templated formulation allows the .of() method to reduce the amount of tedious casting necessary when extracting data from the Property. http://gwt-code-reviews.appspot.com/134810/diff/4001/4003#newcode72 Line 72: public List<T> getValues() { @interface Foo { String[] value(); } // Equivalent source @foo("bar") @foo({"bar"}) The list of values could be held in a JNewArray (although it's not really an allocation), but that's one more layer to unwrap in order to access the data. I don't see what adding an extra wrapper type to the mix buys. http://gwt-code-reviews.appspot.com/134810/diff/4001/4014 File dev/core/src/com/google/gwt/dev/jjs/ast/JProgram.java (right): http://gwt-code-reviews.appspot.com/134810/diff/4001/4014#newcode91 Line 91: Arrays.asList("com.google.gwt.dev.jjs", "test")); Ok, I'll change the test code to add the packages to this field. http://gwt-code-reviews.appspot.com/134810 -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
