aboutsummaryrefslogtreecommitdiff
path: root/test/transform
diff options
context:
space:
mode:
authorReinier Zwitserloot <r.zwitserloot@projectlombok.org>2019-05-06 22:48:11 +0200
committerReinier Zwitserloot <r.zwitserloot@projectlombok.org>2019-05-06 22:48:11 +0200
commite69a991fcb141fb24de8afb433c753d35821b1c3 (patch)
treee396b9e38e86fa7a08568d8c59d75b29803dbd0e /test/transform
parentd41e804fe73faed5f8b90f4b472728bc3a0c85b7 (diff)
downloadlombok-e69a991fcb141fb24de8afb433c753d35821b1c3.tar.gz
lombok-e69a991fcb141fb24de8afb433c753d35821b1c3.tar.bz2
lombok-e69a991fcb141fb24de8afb433c753d35821b1c3.zip
[fixes #2120] ecj was not generating explicit nullchecks for builder-setters.
Diffstat (limited to 'test/transform')
-rw-r--r--test/transform/resource/after-delombok/BuilderWithNonNull.java40
-rw-r--r--test/transform/resource/after-ecj/BuilderWithNonNull.java34
-rw-r--r--test/transform/resource/after-ecj/SuperBuilderWithNonNull.java8
-rw-r--r--test/transform/resource/before/BuilderWithNonNull.java5
4 files changed, 87 insertions, 0 deletions
diff --git a/test/transform/resource/after-delombok/BuilderWithNonNull.java b/test/transform/resource/after-delombok/BuilderWithNonNull.java
new file mode 100644
index 00000000..bee7d415
--- /dev/null
+++ b/test/transform/resource/after-delombok/BuilderWithNonNull.java
@@ -0,0 +1,40 @@
+class BuilderWithNonNull {
+ @lombok.NonNull
+ private final String id;
+ @java.lang.SuppressWarnings("all")
+ BuilderWithNonNull(@lombok.NonNull final String id) {
+ if (id == null) {
+ throw new java.lang.NullPointerException("id is marked non-null but is null");
+ }
+ this.id = id;
+ }
+ @java.lang.SuppressWarnings("all")
+ public static class BuilderWithNonNullBuilder {
+ @java.lang.SuppressWarnings("all")
+ private String id;
+ @java.lang.SuppressWarnings("all")
+ BuilderWithNonNullBuilder() {
+ }
+ @java.lang.SuppressWarnings("all")
+ public BuilderWithNonNullBuilder id(@lombok.NonNull final String id) {
+ if (id == null) {
+ throw new java.lang.NullPointerException("id is marked non-null but is null");
+ }
+ this.id = id;
+ return this;
+ }
+ @java.lang.SuppressWarnings("all")
+ public BuilderWithNonNull build() {
+ return new BuilderWithNonNull(id);
+ }
+ @java.lang.Override
+ @java.lang.SuppressWarnings("all")
+ public java.lang.String toString() {
+ return "BuilderWithNonNull.BuilderWithNonNullBuilder(id=" + this.id + ")";
+ }
+ }
+ @java.lang.SuppressWarnings("all")
+ public static BuilderWithNonNullBuilder builder() {
+ return new BuilderWithNonNullBuilder();
+ }
+} \ No newline at end of file
diff --git a/test/transform/resource/after-ecj/BuilderWithNonNull.java b/test/transform/resource/after-ecj/BuilderWithNonNull.java
new file mode 100644
index 00000000..a8ef93f0
--- /dev/null
+++ b/test/transform/resource/after-ecj/BuilderWithNonNull.java
@@ -0,0 +1,34 @@
+@lombok.Builder class BuilderWithNonNull {
+ public static @java.lang.SuppressWarnings("all") class BuilderWithNonNullBuilder {
+ private @java.lang.SuppressWarnings("all") String id;
+ @java.lang.SuppressWarnings("all") BuilderWithNonNullBuilder() {
+ super();
+ }
+ public @java.lang.SuppressWarnings("all") BuilderWithNonNullBuilder id(final @lombok.NonNull String id) {
+ if ((id == null))
+ {
+ throw new java.lang.NullPointerException("id is marked non-null but is null");
+ }
+ this.id = id;
+ return this;
+ }
+ public @java.lang.SuppressWarnings("all") BuilderWithNonNull build() {
+ return new BuilderWithNonNull(id);
+ }
+ public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() {
+ return (("BuilderWithNonNull.BuilderWithNonNullBuilder(id=" + this.id) + ")");
+ }
+ }
+ private final @lombok.NonNull String id;
+ @java.lang.SuppressWarnings("all") BuilderWithNonNull(final @lombok.NonNull String id) {
+ super();
+ if ((id == null))
+ {
+ throw new java.lang.NullPointerException("id is marked non-null but is null");
+ }
+ this.id = id;
+ }
+ public static @java.lang.SuppressWarnings("all") BuilderWithNonNullBuilder builder() {
+ return new BuilderWithNonNullBuilder();
+ }
+} \ No newline at end of file
diff --git a/test/transform/resource/after-ecj/SuperBuilderWithNonNull.java b/test/transform/resource/after-ecj/SuperBuilderWithNonNull.java
index 4b5cb188..616d7083 100644
--- a/test/transform/resource/after-ecj/SuperBuilderWithNonNull.java
+++ b/test/transform/resource/after-ecj/SuperBuilderWithNonNull.java
@@ -10,6 +10,10 @@ public class SuperBuilderWithNonNull {
protected abstract @java.lang.SuppressWarnings("all") B self();
public abstract @java.lang.SuppressWarnings("all") C build();
public @java.lang.SuppressWarnings("all") B nonNullParentField(final @lombok.NonNull String nonNullParentField) {
+ if ((nonNullParentField == null))
+ {
+ throw new java.lang.NullPointerException("nonNullParentField is marked non-null but is null");
+ }
this.nonNullParentField = nonNullParentField;
nonNullParentField$set = true;
return self();
@@ -57,6 +61,10 @@ public class SuperBuilderWithNonNull {
protected abstract @java.lang.Override @java.lang.SuppressWarnings("all") B self();
public abstract @java.lang.Override @java.lang.SuppressWarnings("all") C build();
public @java.lang.SuppressWarnings("all") B nonNullChildField(final @lombok.NonNull String nonNullChildField) {
+ if ((nonNullChildField == null))
+ {
+ throw new java.lang.NullPointerException("nonNullChildField is marked non-null but is null");
+ }
this.nonNullChildField = nonNullChildField;
return self();
}
diff --git a/test/transform/resource/before/BuilderWithNonNull.java b/test/transform/resource/before/BuilderWithNonNull.java
new file mode 100644
index 00000000..03a54326
--- /dev/null
+++ b/test/transform/resource/before/BuilderWithNonNull.java
@@ -0,0 +1,5 @@
+@lombok.Builder
+class BuilderWithNonNull {
+ @lombok.NonNull
+ private final String id;
+}