aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJake Wharton <jakewharton@gmail.com>2018-03-12 08:51:00 -0400
committerGitHub <noreply@github.com>2018-03-12 08:51:00 -0400
commit8ab7616e7d1acc76231bea1aa283c0fdefa24864 (patch)
tree56d301898a88c9d19f6a4a2d4745409f5c58c1b8
parentd91f8e1374f7ccdb68d92c206c84864cd09c02f6 (diff)
parentf24801f4bdafa1190211959653b2eb31296cfbb3 (diff)
downloadjavapoet-8ab7616e7d1acc76231bea1aa283c0fdefa24864.tar.gz
Merge pull request #631 from NightlyNexus/eric.annotationSpec
Fail fast with null AnnotationSpec on type.
-rw-r--r--src/main/java/com/squareup/javapoet/TypeSpec.java1
-rw-r--r--src/test/java/com/squareup/javapoet/TypeSpecTest.java21
2 files changed, 22 insertions, 0 deletions
diff --git a/src/main/java/com/squareup/javapoet/TypeSpec.java b/src/main/java/com/squareup/javapoet/TypeSpec.java
index feac8ef..46de3a5 100644
--- a/src/main/java/com/squareup/javapoet/TypeSpec.java
+++ b/src/main/java/com/squareup/javapoet/TypeSpec.java
@@ -435,6 +435,7 @@ public final class TypeSpec {
}
public Builder addAnnotation(AnnotationSpec annotationSpec) {
+ checkNotNull(annotationSpec, "annotationSpec == null");
this.annotations.add(annotationSpec);
return this;
}
diff --git a/src/test/java/com/squareup/javapoet/TypeSpecTest.java b/src/test/java/com/squareup/javapoet/TypeSpecTest.java
index 5d87582..9cd22c2 100644
--- a/src/test/java/com/squareup/javapoet/TypeSpecTest.java
+++ b/src/test/java/com/squareup/javapoet/TypeSpecTest.java
@@ -325,6 +325,27 @@ public final class TypeSpecTest {
+ "}\n");
}
+ @Test public void addAnnotationDisallowsNull() {
+ try {
+ TypeSpec.classBuilder("Foo").addAnnotation((AnnotationSpec) null);
+ fail();
+ } catch (NullPointerException expected) {
+ assertThat(expected).hasMessageThat().isEqualTo("annotationSpec == null");
+ }
+ try {
+ TypeSpec.classBuilder("Foo").addAnnotation((ClassName) null);
+ fail();
+ } catch (NullPointerException expected) {
+ assertThat(expected).hasMessageThat().isEqualTo("type == null");
+ }
+ try {
+ TypeSpec.classBuilder("Foo").addAnnotation((Class<?>) null);
+ fail();
+ } catch (NullPointerException expected) {
+ assertThat(expected).hasMessageThat().isEqualTo("clazz == null");
+ }
+ }
+
@Test public void enumWithSubclassing() throws Exception {
TypeSpec roshambo = TypeSpec.enumBuilder("Roshambo")
.addModifiers(Modifier.PUBLIC)