Handle type annotations on array creation expressions with initializers Fixes #100 MOE_MIGRATED_REVID=140082878
diff --git a/core/src/main/java/com/google/googlejavaformat/java/JavaInputAstVisitor.java b/core/src/main/java/com/google/googlejavaformat/java/JavaInputAstVisitor.java index ffbd421..f544f41 100644 --- a/core/src/main/java/com/google/googlejavaformat/java/JavaInputAstVisitor.java +++ b/core/src/main/java/com/google/googlejavaformat/java/JavaInputAstVisitor.java
@@ -426,6 +426,7 @@ Deque<ExpressionTree> dimExpressions = new ArrayDeque<>(node.getDimensions()); Deque<List<AnnotationTree>> annotations = new ArrayDeque<>(); + annotations.add(ImmutableList.copyOf(node.getAnnotations())); annotations.addAll((List<List<AnnotationTree>>) node.getDimAnnotations()); annotations.addAll(extractedDims.dims);
diff --git a/core/src/test/resources/com/google/googlejavaformat/java/testdata/i100.input b/core/src/test/resources/com/google/googlejavaformat/java/testdata/i100.input new file mode 100644 index 0000000..b7c88f8 --- /dev/null +++ b/core/src/test/resources/com/google/googlejavaformat/java/testdata/i100.input
@@ -0,0 +1,7 @@ +public class I100 { + void f() { + Object o; + o = new String @A [] {"foo", "bar"}; + o = new String @A @B [] @C [] {"foo", "bar"}; + } +}
diff --git a/core/src/test/resources/com/google/googlejavaformat/java/testdata/i100.output b/core/src/test/resources/com/google/googlejavaformat/java/testdata/i100.output new file mode 100644 index 0000000..b7c88f8 --- /dev/null +++ b/core/src/test/resources/com/google/googlejavaformat/java/testdata/i100.output
@@ -0,0 +1,7 @@ +public class I100 { + void f() { + Object o; + o = new String @A [] {"foo", "bar"}; + o = new String @A @B [] @C [] {"foo", "bar"}; + } +}