aboutsummaryrefslogtreecommitdiff
path: root/test/transform/resource/after-ecj/BuilderSingularToBuilderWithNull.java
diff options
context:
space:
mode:
authorReinier Zwitserloot <reinier@zwitserloot.com>2018-08-21 00:01:40 +0200
committerReinier Zwitserloot <reinier@zwitserloot.com>2018-08-21 00:02:12 +0200
commitca35539f7cd7967bfd8518d0ad0b0015bdd40cfc (patch)
treef45c5483f18d427d273032d426454677a0c4281a /test/transform/resource/after-ecj/BuilderSingularToBuilderWithNull.java
parent35fe755b87f194621b5f328e4773f1f406f8ccc9 (diff)
downloadlombok-ca35539f7cd7967bfd8518d0ad0b0015bdd40cfc.tar.gz
lombok-ca35539f7cd7967bfd8518d0ad0b0015bdd40cfc.tar.bz2
lombok-ca35539f7cd7967bfd8518d0ad0b0015bdd40cfc.zip
[fixes #1812] `@Singular` marked collections which nevertheless somehow ended up null would cause an NPE during `toBuilder()` invocations.
Diffstat (limited to 'test/transform/resource/after-ecj/BuilderSingularToBuilderWithNull.java')
-rw-r--r--test/transform/resource/after-ecj/BuilderSingularToBuilderWithNull.java57
1 files changed, 57 insertions, 0 deletions
diff --git a/test/transform/resource/after-ecj/BuilderSingularToBuilderWithNull.java b/test/transform/resource/after-ecj/BuilderSingularToBuilderWithNull.java
new file mode 100644
index 00000000..7265e17a
--- /dev/null
+++ b/test/transform/resource/after-ecj/BuilderSingularToBuilderWithNull.java
@@ -0,0 +1,57 @@
+import lombok.Singular;
+@lombok.Builder(toBuilder = true) class BuilderSingularToBuilderWithNull {
+ public static @java.lang.SuppressWarnings("all") class BuilderSingularToBuilderWithNullBuilder {
+ private @java.lang.SuppressWarnings("all") java.util.ArrayList<String> elems;
+ @java.lang.SuppressWarnings("all") BuilderSingularToBuilderWithNullBuilder() {
+ super();
+ }
+ public @java.lang.SuppressWarnings("all") BuilderSingularToBuilderWithNullBuilder elem(String elem) {
+ if ((this.elems == null))
+ this.elems = new java.util.ArrayList<String>();
+ this.elems.add(elem);
+ return this;
+ }
+ public @java.lang.SuppressWarnings("all") BuilderSingularToBuilderWithNullBuilder elems(java.util.Collection<? extends String> elems) {
+ if ((this.elems == null))
+ this.elems = new java.util.ArrayList<String>();
+ this.elems.addAll(elems);
+ return this;
+ }
+ public @java.lang.SuppressWarnings("all") BuilderSingularToBuilderWithNullBuilder clearElems() {
+ if ((this.elems != null))
+ this.elems.clear();
+ return this;
+ }
+ public @java.lang.SuppressWarnings("all") BuilderSingularToBuilderWithNull build() {
+ java.util.List<String> elems;
+ switch (((this.elems == null) ? 0 : this.elems.size())) {
+ case 0 :
+ elems = java.util.Collections.emptyList();
+ break;
+ case 1 :
+ elems = java.util.Collections.singletonList(this.elems.get(0));
+ break;
+ default :
+ elems = java.util.Collections.unmodifiableList(new java.util.ArrayList<String>(this.elems));
+ }
+ return new BuilderSingularToBuilderWithNull(elems);
+ }
+ public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() {
+ return (("BuilderSingularToBuilderWithNull.BuilderSingularToBuilderWithNullBuilder(elems=" + this.elems) + ")");
+ }
+ }
+ private @Singular java.util.List<String> elems;
+ public static void test() {
+ new BuilderSingularToBuilderWithNull(null).toBuilder();
+ }
+ @java.lang.SuppressWarnings("all") BuilderSingularToBuilderWithNull(final java.util.List<String> elems) {
+ super();
+ this.elems = elems;
+ }
+ public static @java.lang.SuppressWarnings("all") BuilderSingularToBuilderWithNullBuilder builder() {
+ return new BuilderSingularToBuilderWithNullBuilder();
+ }
+ public @java.lang.SuppressWarnings("all") BuilderSingularToBuilderWithNullBuilder toBuilder() {
+ return new BuilderSingularToBuilderWithNullBuilder().elems(((this.elems == null) ? java.util.Collections.emptyList() : this.elems));
+ }
+}