diff options
author | Christian Stein <sormuras@gmail.com> | 2015-10-24 04:17:02 +0200 |
---|---|---|
committer | Christian Stein <sormuras@gmail.com> | 2015-10-24 15:58:16 +0200 |
commit | 9d49d102e48c052b71ed64b5e575a38d784f5d49 (patch) | |
tree | b5bec26e2d477ba7b7866e423bf49d6b50bab19a /src/main/java/com/squareup/javapoet/ArrayTypeName.java | |
parent | 3bdc6b5c3faa4884684fd0b7ab2457e4bb7e45ff (diff) | |
download | javapoet-9d49d102e48c052b71ed64b5e575a38d784f5d49.tar.gz |
Enhanced TypeName(s) with List<AnnotationSpec> #136
Diffstat (limited to 'src/main/java/com/squareup/javapoet/ArrayTypeName.java')
-rw-r--r-- | src/main/java/com/squareup/javapoet/ArrayTypeName.java | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/src/main/java/com/squareup/javapoet/ArrayTypeName.java b/src/main/java/com/squareup/javapoet/ArrayTypeName.java index 46653ea..6f1e2c4 100644 --- a/src/main/java/com/squareup/javapoet/ArrayTypeName.java +++ b/src/main/java/com/squareup/javapoet/ArrayTypeName.java @@ -18,7 +18,10 @@ package com.squareup.javapoet; import java.io.IOException; import java.lang.reflect.GenericArrayType; import java.lang.reflect.Type; +import java.util.ArrayList; +import java.util.Arrays; import java.util.LinkedHashMap; +import java.util.List; import java.util.Map; import javax.lang.model.element.TypeParameterElement; @@ -30,9 +33,22 @@ public final class ArrayTypeName extends TypeName { public final TypeName componentType; private ArrayTypeName(TypeName componentType) { + this(componentType, new ArrayList<AnnotationSpec>()); + } + + private ArrayTypeName(TypeName componentType, List<AnnotationSpec> annotations) { + super(annotations); this.componentType = checkNotNull(componentType, "rawType == null"); } + @Override public ArrayTypeName annotated(AnnotationSpec... annotations) { + return annotated(Arrays.asList(annotations)); + } + + @Override public ArrayTypeName annotated(List<AnnotationSpec> annotations) { + return new ArrayTypeName(componentType, annotations); + } + @Override public boolean equals(Object o) { return o instanceof ArrayTypeName && ((ArrayTypeName) o).componentType.equals(componentType); @@ -43,7 +59,7 @@ public final class ArrayTypeName extends TypeName { } @Override CodeWriter emit(CodeWriter out) throws IOException { - return out.emit("$T[]", componentType); + return emitAnnotations(out).emit("$T[]", componentType); } /** Returns an array type whose elements are all instances of {@code componentType}. */ |