added testcase for ecj version of @Builder(toBuilder=true)

This commit is contained in:
Reinier Zwitserloot committed 2015-07-17 10:48:10 +02:00
1 parent a17d1fc13d
commit e2289ef200
2 files changed
+154 -9

No files matched your search

@@ -0,0 +1,150 @@
import java.util.List;
import lombok.Builder;
@Builder(toBuilder = true) @lombok.experimental.Accessors(prefix = "m") class BuilderWithToBuilder<T> {
public static @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") class BuilderWithToBuilderBuilder<T> {
private @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") String one;
private @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") String two;
private @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") T foo;
private @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") java.util.ArrayList<T> bars;
@java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") BuilderWithToBuilderBuilder() {
super();
}
public @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") BuilderWithToBuilderBuilder<T> one(final String one) {
this.one = one;
return this;
}
public @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") BuilderWithToBuilderBuilder<T> two(final String two) {
this.two = two;
return this;
}
public @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") BuilderWithToBuilderBuilder<T> foo(final T foo) {
this.foo = foo;
return this;
}
public @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") BuilderWithToBuilderBuilder<T> bar(T bar) {
if ((this.bars == null))
this.bars = new java.util.ArrayList<T>();
this.bars.add(bar);
return this;
}
public @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") BuilderWithToBuilderBuilder<T> bars(java.util.Collection<? extends T> bars) {
if ((this.bars == null))
this.bars = new java.util.ArrayList<T>();
this.bars.addAll(bars);
return this;
}
public @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") BuilderWithToBuilder<T> build() {
java.util.List<T> bars;
switch (((this.bars == null) ? 0 : this.bars.size())) {
case 0 :
bars = java.util.Collections.emptyList();
break;
case 1 :
bars = java.util.Collections.singletonList(this.bars.get(0));
break;
default :
bars = java.util.Collections.unmodifiableList(new java.util.ArrayList<T>(this.bars));
}
return new BuilderWithToBuilder<T>(one, two, foo, bars);
}
public @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") java.lang.String toString() {
return (((((((("BuilderWithToBuilder.BuilderWithToBuilderBuilder(one=" + this.one) + ", two=") + this.two) + ", foo=") + this.foo) + ", bars=") + this.bars) + ")");
}
}
private String mOne;
private String mTwo;
private @Builder.ObtainVia(method = "rrr",isStatic = true) T foo;
private @lombok.Singular List<T> bars;
public static <K>K rrr(BuilderWithToBuilder<K> x) {
return x.foo;
}
@java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") BuilderWithToBuilder(final String one, final String two, final T foo, final List<T> bars) {
super();
this.mOne = one;
this.mTwo = two;
this.foo = foo;
this.bars = bars;
}
public static @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") <T>BuilderWithToBuilderBuilder<T> builder() {
return new BuilderWithToBuilderBuilder<T>();
}
public @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") BuilderWithToBuilderBuilder<T> toBuilder() {
return new BuilderWithToBuilderBuilder<T>().one(this.mOne).two(this.mTwo).foo(BuilderWithToBuilder.rrr(this)).bars(this.bars);
}
}
@lombok.experimental.Accessors(prefix = "m") class ConstructorWithToBuilder<T> {
public static @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") class ConstructorWithToBuilderBuilder<T> {
private @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") String mOne;
private @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") T bar;
@java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") ConstructorWithToBuilderBuilder() {
super();
}
public @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") ConstructorWithToBuilderBuilder<T> mOne(final String mOne) {
this.mOne = mOne;
return this;
}
public @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") ConstructorWithToBuilderBuilder<T> bar(final T bar) {
this.bar = bar;
return this;
}
public @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") ConstructorWithToBuilder<T> build() {
return new ConstructorWithToBuilder<T>(mOne, bar);
}
public @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") java.lang.String toString() {
return (((("ConstructorWithToBuilder.ConstructorWithToBuilderBuilder(mOne=" + this.mOne) + ", bar=") + this.bar) + ")");
}
}
private String mOne;
private String mTwo;
private T foo;
private @lombok.Singular List<T> bars;
public @Builder(toBuilder = true) ConstructorWithToBuilder(String mOne, @Builder.ObtainVia(field = "foo") T bar) {
super();
}
public static @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") <T>ConstructorWithToBuilderBuilder<T> builder() {
return new ConstructorWithToBuilderBuilder<T>();
}
public @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") ConstructorWithToBuilderBuilder<T> toBuilder() {
return new ConstructorWithToBuilderBuilder<T>().mOne(this.mOne).bar(this.foo);
}
}
@lombok.experimental.Accessors(prefix = "m") class StaticWithToBuilder<T, K> {
public static @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") class StaticWithToBuilderBuilder<Z> {
private @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") String mOne;
private @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") Z bar;
@java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") StaticWithToBuilderBuilder() {
super();
}
public @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") StaticWithToBuilderBuilder<Z> mOne(final String mOne) {
this.mOne = mOne;
return this;
}
public @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") StaticWithToBuilderBuilder<Z> bar(final Z bar) {
this.bar = bar;
return this;
}
public @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") StaticWithToBuilder<Z, String> build() {
return StaticWithToBuilder.<Z>test(mOne, bar);
}
public @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") java.lang.String toString() {
return (((("StaticWithToBuilder.StaticWithToBuilderBuilder(mOne=" + this.mOne) + ", bar=") + this.bar) + ")");
}
}
private String mOne;
private String mTwo;
private T foo;
private K bar;
private @lombok.Singular List<T> bars;
StaticWithToBuilder() {
super();
}
public static @Builder(toBuilder = true) <Z>StaticWithToBuilder<Z, String> test(String mOne, @Builder.ObtainVia(field = "foo") Z bar) {
return new StaticWithToBuilder<Z, String>();
}
public static @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") <Z>StaticWithToBuilderBuilder<Z> builder() {
return new StaticWithToBuilderBuilder<Z>();
}
public @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") StaticWithToBuilderBuilder<T> toBuilder() {
return new StaticWithToBuilderBuilder<T>().mOne(this.mOne).bar(this.foo);
}
}
@@ -1,36 +1,31 @@
import java.util.List;
import lombok.Builder;
@Builder(toBuilder = true) @lombok.experimental.Accessors(prefix = "m")
class BuilderWithToBuilder<T> {
private String mOne, mTwo;
@Builder.ObtainVia(method = "rrr", isStatic = true) private T foo;
@lombok.Singular private List<T> bars;
public static <K> K rrr(BuilderWithToBuilder<K> x) {
return x.foo;
}
}
@lombok.experimental.Accessors(prefix = "m")
class ConstructorWithToBuilder<T> {
private String mOne, mTwo;
private T foo;
@lombok.Singular private List<T> bars;
@Builder(toBuilder = true)
public ConstructorWithToBuilder(String mOne, @Builder.ObtainVia(field = "foo") T bar) {
}
}
@lombok.experimental.Accessors(prefix = "m")
class StaticWithToBuilder<T> {
class StaticWithToBuilder<T, K> {
private String mOne, mTwo;
private T foo;
private K bar;
@lombok.Singular private List<T> bars;
@Builder(toBuilder = true)
public static <Z> StaticWithToBuilder<Z> test(String mOne, @Builder.ObtainVia(field = "foo") Z bar) {
return new StaticWithToBuilder<Z>();
public static <Z> StaticWithToBuilder<Z, String> test(String mOne, @Builder.ObtainVia(field = "foo") Z bar) {
return new StaticWithToBuilder<Z, String>();
}
}