aboutsummaryrefslogtreecommitdiff
path: root/value/src/test/java/com/google/auto/value/processor/AutoValueCompilationTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'value/src/test/java/com/google/auto/value/processor/AutoValueCompilationTest.java')
-rw-r--r--value/src/test/java/com/google/auto/value/processor/AutoValueCompilationTest.java32
1 files changed, 32 insertions, 0 deletions
diff --git a/value/src/test/java/com/google/auto/value/processor/AutoValueCompilationTest.java b/value/src/test/java/com/google/auto/value/processor/AutoValueCompilationTest.java
index 01ec81fe..d30198cf 100644
--- a/value/src/test/java/com/google/auto/value/processor/AutoValueCompilationTest.java
+++ b/value/src/test/java/com/google/auto/value/processor/AutoValueCompilationTest.java
@@ -1163,6 +1163,7 @@ public class AutoValueCompilationTest {
"final class AutoValue_Baz<T extends Number> extends Baz<T> {",
" private final int anInt;",
" private final byte[] aByteArray;",
+ " @Nullable",
" private final int[] aNullableIntArray;",
" private final List<T> aList;",
" private final ImmutableMap<T, String> anImmutableMap;",
@@ -2038,6 +2039,37 @@ public class AutoValueCompilationTest {
}
@Test
+ public void autoValueBuilderSetterReturnsNullable() {
+ JavaFileObject javaFileObject =
+ JavaFileObjects.forSourceLines(
+ "foo.bar.Baz",
+ "package foo.bar;",
+ "",
+ "import com.google.auto.value.AutoValue;",
+ "import javax.annotation.Nullable;",
+ "",
+ "@AutoValue",
+ "public abstract class Baz {",
+ " abstract String blam();",
+ "",
+ " @AutoValue.Builder",
+ " public interface Builder {",
+ " @Nullable Builder blam(String x);",
+ " Baz build();",
+ " }",
+ "}");
+ Compilation compilation =
+ javac()
+ .withProcessors(new AutoValueProcessor(), new AutoValueBuilderProcessor())
+ .compile(javaFileObject);
+ assertThat(compilation)
+ .hadWarningContaining(
+ "Setter methods always return the Builder so @Nullable is not appropriate")
+ .inFile(javaFileObject)
+ .onLineContaining("Builder blam(String x)");
+ }
+
+ @Test
public void autoValueBuilderWrongTypeSetterWithCopyOf() {
JavaFileObject javaFileObject =
JavaFileObjects.forSourceLines(