aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/stubs/com/fasterxml/jackson/annotation/JsonAnySetter.java12
-rw-r--r--test/transform/resource/after-delombok/JacksonBuilderSingular.java177
-rw-r--r--test/transform/resource/after-ecj/JacksonBuilderSingular.java164
-rw-r--r--test/transform/resource/before/JacksonBuilderSingular.java31
4 files changed, 384 insertions, 0 deletions
diff --git a/test/stubs/com/fasterxml/jackson/annotation/JsonAnySetter.java b/test/stubs/com/fasterxml/jackson/annotation/JsonAnySetter.java
new file mode 100644
index 00000000..51d2c3fa
--- /dev/null
+++ b/test/stubs/com/fasterxml/jackson/annotation/JsonAnySetter.java
@@ -0,0 +1,12 @@
+package com.fasterxml.jackson.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Target({ElementType.ANNOTATION_TYPE, ElementType.METHOD, ElementType.FIELD})
+@Retention(RetentionPolicy.RUNTIME)
+public @interface JsonAnySetter {
+ boolean enabled() default true;
+}
diff --git a/test/transform/resource/after-delombok/JacksonBuilderSingular.java b/test/transform/resource/after-delombok/JacksonBuilderSingular.java
new file mode 100644
index 00000000..feaa6832
--- /dev/null
+++ b/test/transform/resource/after-delombok/JacksonBuilderSingular.java
@@ -0,0 +1,177 @@
+import java.util.List;
+import java.util.Map;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableMap;
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(builder = JacksonBuilderSingular.JacksonBuilderSingularBuilder.class)
+public class JacksonBuilderSingular {
+ @JsonAnySetter
+ private Map<String, Object> any;
+ @JsonProperty("v_a_l_u_e_s")
+ private List<String> values;
+ @JsonAnySetter
+ private ImmutableMap<String, Object> guavaAny;
+ @JsonProperty("guava_v_a_l_u_e_s")
+ private ImmutableList<String> guavaValues;
+ @java.lang.SuppressWarnings("all")
+ JacksonBuilderSingular(final Map<String, Object> any, final List<String> values, final ImmutableMap<String, Object> guavaAny, final ImmutableList<String> guavaValues) {
+ this.any = any;
+ this.values = values;
+ this.guavaAny = guavaAny;
+ this.guavaValues = guavaValues;
+ }
+ @java.lang.SuppressWarnings("all")
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "", buildMethodName = "build")
+ public static class JacksonBuilderSingularBuilder {
+ @java.lang.SuppressWarnings("all")
+ private java.util.ArrayList<String> any$key;
+ @java.lang.SuppressWarnings("all")
+ private java.util.ArrayList<Object> any$value;
+ @java.lang.SuppressWarnings("all")
+ private java.util.ArrayList<String> values;
+ @java.lang.SuppressWarnings("all")
+ private com.google.common.collect.ImmutableMap.Builder<String, Object> guavaAny;
+ @java.lang.SuppressWarnings("all")
+ private com.google.common.collect.ImmutableList.Builder<String> guavaValues;
+ @java.lang.SuppressWarnings("all")
+ JacksonBuilderSingularBuilder() {
+ }
+ @JsonAnySetter
+ @java.lang.SuppressWarnings("all")
+ public JacksonBuilderSingular.JacksonBuilderSingularBuilder any(final String anyKey, final Object anyValue) {
+ if (this.any$key == null) {
+ this.any$key = new java.util.ArrayList<String>();
+ this.any$value = new java.util.ArrayList<Object>();
+ }
+ this.any$key.add(anyKey);
+ this.any$value.add(anyValue);
+ return this;
+ }
+ @java.lang.SuppressWarnings("all")
+ public JacksonBuilderSingular.JacksonBuilderSingularBuilder any(final java.util.Map<? extends String, ? extends Object> any) {
+ if (any == null) {
+ throw new java.lang.NullPointerException("any cannot be null");
+ }
+ if (this.any$key == null) {
+ this.any$key = new java.util.ArrayList<String>();
+ this.any$value = new java.util.ArrayList<Object>();
+ }
+ for (final java.util.Map.Entry<? extends String, ? extends Object> $lombokEntry : any.entrySet()) {
+ this.any$key.add($lombokEntry.getKey());
+ this.any$value.add($lombokEntry.getValue());
+ }
+ return this;
+ }
+ @java.lang.SuppressWarnings("all")
+ public JacksonBuilderSingular.JacksonBuilderSingularBuilder clearAny() {
+ if (this.any$key != null) {
+ this.any$key.clear();
+ this.any$value.clear();
+ }
+ return this;
+ }
+ @java.lang.SuppressWarnings("all")
+ public JacksonBuilderSingular.JacksonBuilderSingularBuilder value(final String value) {
+ if (this.values == null) this.values = new java.util.ArrayList<String>();
+ this.values.add(value);
+ return this;
+ }
+ @JsonProperty("v_a_l_u_e_s")
+ @java.lang.SuppressWarnings("all")
+ public JacksonBuilderSingular.JacksonBuilderSingularBuilder values(final java.util.Collection<? extends String> values) {
+ if (values == null) {
+ throw new java.lang.NullPointerException("values cannot be null");
+ }
+ if (this.values == null) this.values = new java.util.ArrayList<String>();
+ this.values.addAll(values);
+ return this;
+ }
+ @java.lang.SuppressWarnings("all")
+ public JacksonBuilderSingular.JacksonBuilderSingularBuilder clearValues() {
+ if (this.values != null) this.values.clear();
+ return this;
+ }
+ @JsonAnySetter
+ @java.lang.SuppressWarnings("all")
+ public JacksonBuilderSingular.JacksonBuilderSingularBuilder guavaAny(final String key, final Object value) {
+ if (this.guavaAny == null) this.guavaAny = com.google.common.collect.ImmutableMap.builder();
+ this.guavaAny.put(key, value);
+ return this;
+ }
+ @java.lang.SuppressWarnings("all")
+ public JacksonBuilderSingular.JacksonBuilderSingularBuilder guavaAny(final java.util.Map<? extends String, ? extends Object> guavaAny) {
+ if (guavaAny == null) {
+ throw new java.lang.NullPointerException("guavaAny cannot be null");
+ }
+ if (this.guavaAny == null) this.guavaAny = com.google.common.collect.ImmutableMap.builder();
+ this.guavaAny.putAll(guavaAny);
+ return this;
+ }
+ @java.lang.SuppressWarnings("all")
+ public JacksonBuilderSingular.JacksonBuilderSingularBuilder clearGuavaAny() {
+ this.guavaAny = null;
+ return this;
+ }
+ @java.lang.SuppressWarnings("all")
+ public JacksonBuilderSingular.JacksonBuilderSingularBuilder guavaValue(final String guavaValue) {
+ if (this.guavaValues == null) this.guavaValues = com.google.common.collect.ImmutableList.builder();
+ this.guavaValues.add(guavaValue);
+ return this;
+ }
+ @JsonProperty("guava_v_a_l_u_e_s")
+ @java.lang.SuppressWarnings("all")
+ public JacksonBuilderSingular.JacksonBuilderSingularBuilder guavaValues(final java.lang.Iterable<? extends String> guavaValues) {
+ if (guavaValues == null) {
+ throw new java.lang.NullPointerException("guavaValues cannot be null");
+ }
+ if (this.guavaValues == null) this.guavaValues = com.google.common.collect.ImmutableList.builder();
+ this.guavaValues.addAll(guavaValues);
+ return this;
+ }
+ @java.lang.SuppressWarnings("all")
+ public JacksonBuilderSingular.JacksonBuilderSingularBuilder clearGuavaValues() {
+ this.guavaValues = null;
+ return this;
+ }
+ @java.lang.SuppressWarnings("all")
+ public JacksonBuilderSingular build() {
+ java.util.Map<String, Object> any;
+ switch (this.any$key == null ? 0 : this.any$key.size()) {
+ case 0:
+ any = java.util.Collections.emptyMap();
+ break;
+ case 1:
+ any = java.util.Collections.singletonMap(this.any$key.get(0), this.any$value.get(0));
+ break;
+ default:
+ any = new java.util.LinkedHashMap<String, Object>(this.any$key.size() < 1073741824 ? 1 + this.any$key.size() + (this.any$key.size() - 3) / 3 : java.lang.Integer.MAX_VALUE);
+ for (int $i = 0; $i < this.any$key.size(); $i++) any.put(this.any$key.get($i), (Object) this.any$value.get($i));
+ any = java.util.Collections.unmodifiableMap(any);
+ }
+ java.util.List<String> values;
+ switch (this.values == null ? 0 : this.values.size()) {
+ case 0:
+ values = java.util.Collections.emptyList();
+ break;
+ case 1:
+ values = java.util.Collections.singletonList(this.values.get(0));
+ break;
+ default:
+ values = java.util.Collections.unmodifiableList(new java.util.ArrayList<String>(this.values));
+ }
+ com.google.common.collect.ImmutableMap<String, Object> guavaAny = this.guavaAny == null ? com.google.common.collect.ImmutableMap.<String, Object>of() : this.guavaAny.build();
+ com.google.common.collect.ImmutableList<String> guavaValues = this.guavaValues == null ? com.google.common.collect.ImmutableList.<String>of() : this.guavaValues.build();
+ return new JacksonBuilderSingular(any, values, guavaAny, guavaValues);
+ }
+ @java.lang.Override
+ @java.lang.SuppressWarnings("all")
+ public java.lang.String toString() {
+ return "JacksonBuilderSingular.JacksonBuilderSingularBuilder(any$key=" + this.any$key + ", any$value=" + this.any$value + ", values=" + this.values + ", guavaAny=" + this.guavaAny + ", guavaValues=" + this.guavaValues + ")";
+ }
+ }
+ @java.lang.SuppressWarnings("all")
+ public static JacksonBuilderSingular.JacksonBuilderSingularBuilder builder() {
+ return new JacksonBuilderSingular.JacksonBuilderSingularBuilder();
+ }
+} \ No newline at end of file
diff --git a/test/transform/resource/after-ecj/JacksonBuilderSingular.java b/test/transform/resource/after-ecj/JacksonBuilderSingular.java
new file mode 100644
index 00000000..50f6a797
--- /dev/null
+++ b/test/transform/resource/after-ecj/JacksonBuilderSingular.java
@@ -0,0 +1,164 @@
+import java.util.List;
+import java.util.Map;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableMap;
+import lombok.Builder;
+import lombok.Singular;
+import lombok.extern.jackson.Jacksonized;
+public @Jacksonized @Builder @com.fasterxml.jackson.databind.annotation.JsonDeserialize(builder = JacksonBuilderSingular.JacksonBuilderSingularBuilder.class) class JacksonBuilderSingular {
+ public static @java.lang.SuppressWarnings("all") @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "",buildMethodName = "build") class JacksonBuilderSingularBuilder {
+ private @java.lang.SuppressWarnings("all") java.util.ArrayList<String> any$key;
+ private @java.lang.SuppressWarnings("all") java.util.ArrayList<Object> any$value;
+ private @java.lang.SuppressWarnings("all") java.util.ArrayList<String> values;
+ private @java.lang.SuppressWarnings("all") com.google.common.collect.ImmutableMap.Builder<String, Object> guavaAny;
+ private @java.lang.SuppressWarnings("all") com.google.common.collect.ImmutableList.Builder<String> guavaValues;
+ @java.lang.SuppressWarnings("all") JacksonBuilderSingularBuilder() {
+ super();
+ }
+ public @JsonAnySetter @java.lang.SuppressWarnings("all") JacksonBuilderSingular.JacksonBuilderSingularBuilder any(final String anyKey, final Object anyValue) {
+ if ((this.any$key == null))
+ {
+ this.any$key = new java.util.ArrayList<String>();
+ this.any$value = new java.util.ArrayList<Object>();
+ }
+ this.any$key.add(anyKey);
+ this.any$value.add(anyValue);
+ return this;
+ }
+ public @java.lang.SuppressWarnings("all") JacksonBuilderSingular.JacksonBuilderSingularBuilder any(final java.util.Map<? extends String, ? extends Object> any) {
+ if ((any == null))
+ {
+ throw new java.lang.NullPointerException("any cannot be null");
+ }
+ if ((this.any$key == null))
+ {
+ this.any$key = new java.util.ArrayList<String>();
+ this.any$value = new java.util.ArrayList<Object>();
+ }
+ for (java.util.Map.Entry<? extends String, ? extends Object> $lombokEntry : any.entrySet())
+ {
+ this.any$key.add($lombokEntry.getKey());
+ this.any$value.add($lombokEntry.getValue());
+ }
+ return this;
+ }
+ public @java.lang.SuppressWarnings("all") JacksonBuilderSingular.JacksonBuilderSingularBuilder clearAny() {
+ if ((this.any$key != null))
+ {
+ this.any$key.clear();
+ this.any$value.clear();
+ }
+ return this;
+ }
+ public @java.lang.SuppressWarnings("all") JacksonBuilderSingular.JacksonBuilderSingularBuilder value(final String value) {
+ if ((this.values == null))
+ this.values = new java.util.ArrayList<String>();
+ this.values.add(value);
+ return this;
+ }
+ public @JsonProperty("v_a_l_u_e_s") @java.lang.SuppressWarnings("all") JacksonBuilderSingular.JacksonBuilderSingularBuilder values(final java.util.Collection<? extends String> values) {
+ if ((values == null))
+ {
+ throw new java.lang.NullPointerException("values cannot be null");
+ }
+ if ((this.values == null))
+ this.values = new java.util.ArrayList<String>();
+ this.values.addAll(values);
+ return this;
+ }
+ public @java.lang.SuppressWarnings("all") JacksonBuilderSingular.JacksonBuilderSingularBuilder clearValues() {
+ if ((this.values != null))
+ this.values.clear();
+ return this;
+ }
+ public @JsonAnySetter @java.lang.SuppressWarnings("all") JacksonBuilderSingular.JacksonBuilderSingularBuilder guavaAny(final String key, final Object value) {
+ if ((this.guavaAny == null))
+ this.guavaAny = com.google.common.collect.ImmutableMap.builder();
+ this.guavaAny.put(key, value);
+ return this;
+ }
+ public @java.lang.SuppressWarnings("all") JacksonBuilderSingular.JacksonBuilderSingularBuilder guavaAny(final java.util.Map<? extends String, ? extends Object> guavaAny) {
+ if ((guavaAny == null))
+ {
+ throw new java.lang.NullPointerException("guavaAny cannot be null");
+ }
+ if ((this.guavaAny == null))
+ this.guavaAny = com.google.common.collect.ImmutableMap.builder();
+ this.guavaAny.putAll(guavaAny);
+ return this;
+ }
+ public @java.lang.SuppressWarnings("all") JacksonBuilderSingular.JacksonBuilderSingularBuilder clearGuavaAny() {
+ this.guavaAny = null;
+ return this;
+ }
+ public @java.lang.SuppressWarnings("all") JacksonBuilderSingular.JacksonBuilderSingularBuilder guavaValue(final String guavaValue) {
+ if ((this.guavaValues == null))
+ this.guavaValues = com.google.common.collect.ImmutableList.builder();
+ this.guavaValues.add(guavaValue);
+ return this;
+ }
+ public @JsonProperty("guava_v_a_l_u_e_s") @java.lang.SuppressWarnings("all") JacksonBuilderSingular.JacksonBuilderSingularBuilder guavaValues(final java.lang.Iterable<? extends String> guavaValues) {
+ if ((guavaValues == null))
+ {
+ throw new java.lang.NullPointerException("guavaValues cannot be null");
+ }
+ if ((this.guavaValues == null))
+ this.guavaValues = com.google.common.collect.ImmutableList.builder();
+ this.guavaValues.addAll(guavaValues);
+ return this;
+ }
+ public @java.lang.SuppressWarnings("all") JacksonBuilderSingular.JacksonBuilderSingularBuilder clearGuavaValues() {
+ this.guavaValues = null;
+ return this;
+ }
+ public @java.lang.SuppressWarnings("all") JacksonBuilderSingular build() {
+ java.util.Map<String, Object> any;
+ switch (((this.any$key == null) ? 0 : this.any$key.size())) {
+ case 0 :
+ any = java.util.Collections.emptyMap();
+ break;
+ case 1 :
+ any = java.util.Collections.singletonMap(this.any$key.get(0), this.any$value.get(0));
+ break;
+ default :
+ any = new java.util.LinkedHashMap<String, Object>(((this.any$key.size() < 0x40000000) ? ((1 + this.any$key.size()) + ((this.any$key.size() - 3) / 3)) : java.lang.Integer.MAX_VALUE));
+ for (int $i = 0;; ($i < this.any$key.size()); $i ++)
+ any.put(this.any$key.get($i), this.any$value.get($i));
+ any = java.util.Collections.unmodifiableMap(any);
+ }
+ java.util.List<String> values;
+ switch (((this.values == null) ? 0 : this.values.size())) {
+ case 0 :
+ values = java.util.Collections.emptyList();
+ break;
+ case 1 :
+ values = java.util.Collections.singletonList(this.values.get(0));
+ break;
+ default :
+ values = java.util.Collections.unmodifiableList(new java.util.ArrayList<String>(this.values));
+ }
+ com.google.common.collect.ImmutableMap<String, Object> guavaAny = ((this.guavaAny == null) ? com.google.common.collect.ImmutableMap.<String, Object>of() : this.guavaAny.build());
+ com.google.common.collect.ImmutableList<String> guavaValues = ((this.guavaValues == null) ? com.google.common.collect.ImmutableList.<String>of() : this.guavaValues.build());
+ return new JacksonBuilderSingular(any, values, guavaAny, guavaValues);
+ }
+ public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() {
+ return (((((((((("JacksonBuilderSingular.JacksonBuilderSingularBuilder(any$key=" + this.any$key) + ", any$value=") + this.any$value) + ", values=") + this.values) + ", guavaAny=") + this.guavaAny) + ", guavaValues=") + this.guavaValues) + ")");
+ }
+ }
+ private @JsonAnySetter @Singular("any") Map<String, Object> any;
+ private @JsonProperty("v_a_l_u_e_s") @Singular List<String> values;
+ private @JsonAnySetter @Singular("guavaAny") ImmutableMap<String, Object> guavaAny;
+ private @JsonProperty("guava_v_a_l_u_e_s") @Singular ImmutableList<String> guavaValues;
+ @java.lang.SuppressWarnings("all") JacksonBuilderSingular(final Map<String, Object> any, final List<String> values, final ImmutableMap<String, Object> guavaAny, final ImmutableList<String> guavaValues) {
+ super();
+ this.any = any;
+ this.values = values;
+ this.guavaAny = guavaAny;
+ this.guavaValues = guavaValues;
+ }
+ public static @java.lang.SuppressWarnings("all") JacksonBuilderSingular.JacksonBuilderSingularBuilder builder() {
+ return new JacksonBuilderSingular.JacksonBuilderSingularBuilder();
+ }
+} \ No newline at end of file
diff --git a/test/transform/resource/before/JacksonBuilderSingular.java b/test/transform/resource/before/JacksonBuilderSingular.java
new file mode 100644
index 00000000..c179c760
--- /dev/null
+++ b/test/transform/resource/before/JacksonBuilderSingular.java
@@ -0,0 +1,31 @@
+import java.util.List;
+import java.util.Map;
+
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableMap;
+
+import lombok.Builder;
+import lombok.Singular;
+import lombok.extern.jackson.Jacksonized;
+
+@Jacksonized
+@Builder
+public class JacksonBuilderSingular {
+ @JsonAnySetter
+ @Singular("any")
+ private Map<String, Object> any;
+
+ @JsonProperty("v_a_l_u_e_s")
+ @Singular
+ private List<String> values;
+
+ @JsonAnySetter
+ @Singular("guavaAny")
+ private ImmutableMap<String, Object> guavaAny;
+
+ @JsonProperty("guava_v_a_l_u_e_s")
+ @Singular
+ private ImmutableList<String> guavaValues;
+}