From a05360a8eaba0de61f16f75816daf5a5af0a4567 Mon Sep 17 00:00:00 2001 From: Reinier Zwitserloot Date: Thu, 15 Jan 2015 04:43:36 +0100 Subject: ecj @Builder @Singular support for j.u. sets and maps. --- test/core/src/lombok/core/TestSingulars.java | 2 +- .../resource/after-ecj/BuilderSingletonMaps.java | 177 +++++++++++++++++++++ .../resource/after-ecj/BuilderSingletonSets.java | 125 +++++++++++++++ .../resource/before/BuilderSingletonMaps.java | 2 +- .../resource/before/BuilderSingletonSets.java | 2 +- .../src/lombok/transform/TestWithEcj.java | 4 + 6 files changed, 309 insertions(+), 3 deletions(-) create mode 100644 test/transform/resource/after-ecj/BuilderSingletonMaps.java create mode 100644 test/transform/resource/after-ecj/BuilderSingletonSets.java (limited to 'test') diff --git a/test/core/src/lombok/core/TestSingulars.java b/test/core/src/lombok/core/TestSingulars.java index 7e5e2617..1134af08 100644 --- a/test/core/src/lombok/core/TestSingulars.java +++ b/test/core/src/lombok/core/TestSingulars.java @@ -29,7 +29,7 @@ import org.junit.Test; public class TestSingulars { @Test public void testSingulars() { - assertEquals("axis", autoSingularize("axes")); + assertEquals(null, autoSingularize("axes")); assertEquals("adjective", autoSingularize("adjectives")); assertEquals("bus", autoSingularize("buses")); assertEquals("octopus", autoSingularize("octopodes")); diff --git a/test/transform/resource/after-ecj/BuilderSingletonMaps.java b/test/transform/resource/after-ecj/BuilderSingletonMaps.java new file mode 100644 index 00000000..ccd57193 --- /dev/null +++ b/test/transform/resource/after-ecj/BuilderSingletonMaps.java @@ -0,0 +1,177 @@ +import java.util.Map; +import java.util.SortedMap; +import lombok.Singular; +@lombok.Builder class BuilderSingletonMaps { + public static @java.lang.SuppressWarnings("all") class BuilderSingletonMapsBuilder { + private java.util.ArrayList women$key; + private java.util.ArrayList women$value; + private java.util.ArrayList men$key; + private java.util.ArrayList men$value; + private java.util.ArrayList rawMap$key; + private java.util.ArrayList rawMap$value; + private java.util.ArrayList stringMap$key; + private java.util.ArrayList stringMap$value; + @java.lang.SuppressWarnings("all") BuilderSingletonMapsBuilder() { + super(); + } + public @java.lang.SuppressWarnings("all") BuilderSingletonMapsBuilder woman(K womanKey, V womanValue) { + if ((this.women$key == null)) + { + this.women$key = new java.util.ArrayList(); + this.women$value = new java.util.ArrayList(); + } + this.women$key.add(womanKey); + this.women$value.add(womanValue); + return this; + } + public @java.lang.SuppressWarnings("all") BuilderSingletonMapsBuilder women(java.util.Map women) { + if ((this.women$key == null)) + { + this.women$key = new java.util.ArrayList(); + this.women$value = new java.util.ArrayList(); + } + for (java.util.Map.Entry $lombokEntry : women.entrySet()) + { + this.women$key.add($lombokEntry.getKey()); + this.women$value.add($lombokEntry.getValue()); + } + return this; + } + public @java.lang.SuppressWarnings("all") BuilderSingletonMapsBuilder man(K manKey, Number manValue) { + if ((this.men$key == null)) + { + this.men$key = new java.util.ArrayList(); + this.men$value = new java.util.ArrayList(); + } + this.men$key.add(manKey); + this.men$value.add(manValue); + return this; + } + public @java.lang.SuppressWarnings("all") BuilderSingletonMapsBuilder men(java.util.Map men) { + if ((this.men$key == null)) + { + this.men$key = new java.util.ArrayList(); + this.men$value = new java.util.ArrayList(); + } + for (java.util.Map.Entry $lombokEntry : men.entrySet()) + { + this.men$key.add($lombokEntry.getKey()); + this.men$value.add($lombokEntry.getValue()); + } + return this; + } + public @java.lang.SuppressWarnings("all") BuilderSingletonMapsBuilder rawMap(java.lang.Object rawMapKey, java.lang.Object rawMapValue) { + if ((this.rawMap$key == null)) + { + this.rawMap$key = new java.util.ArrayList(); + this.rawMap$value = new java.util.ArrayList(); + } + this.rawMap$key.add(rawMapKey); + this.rawMap$value.add(rawMapValue); + return this; + } + public @java.lang.SuppressWarnings("all") BuilderSingletonMapsBuilder rawMap(java.util.Map rawMap) { + if ((this.rawMap$key == null)) + { + this.rawMap$key = new java.util.ArrayList(); + this.rawMap$value = new java.util.ArrayList(); + } + for (java.util.Map.Entry $lombokEntry : rawMap.entrySet()) + { + this.rawMap$key.add($lombokEntry.getKey()); + this.rawMap$value.add($lombokEntry.getValue()); + } + return this; + } + public @java.lang.SuppressWarnings("all") BuilderSingletonMapsBuilder stringMap(String stringMapKey, V stringMapValue) { + if ((this.stringMap$key == null)) + { + this.stringMap$key = new java.util.ArrayList(); + this.stringMap$value = new java.util.ArrayList(); + } + this.stringMap$key.add(stringMapKey); + this.stringMap$value.add(stringMapValue); + return this; + } + public @java.lang.SuppressWarnings("all") BuilderSingletonMapsBuilder stringMap(java.util.Map stringMap) { + if ((this.stringMap$key == null)) + { + this.stringMap$key = new java.util.ArrayList(); + this.stringMap$value = new java.util.ArrayList(); + } + for (java.util.Map.Entry $lombokEntry : stringMap.entrySet()) + { + this.stringMap$key.add($lombokEntry.getKey()); + this.stringMap$value.add($lombokEntry.getValue()); + } + return this; + } + public @java.lang.SuppressWarnings("all") BuilderSingletonMaps build() { + java.util.Map women; + switch (((this.women$key == null) ? 0 : this.women$key.size())) { + case 0 : + women = java.util.Collections.emptyMap(); + break; + case 1 : + women = java.util.Collections.singletonMap(this.women$key.get(0), this.women$value.get(0)); + break; + default : + women = new java.util.LinkedHashMap(((this.women$key.size() < 0x40000000) ? ((1 + this.women$key.size()) + ((this.women$key.size() - 3) / 3)) : java.lang.Integer.MAX_VALUE)); + for (int $i = 0;; ($i < this.women$key.size()); $i ++) + women.put(this.women$key.get($i), this.women$value.get($i)); + women = java.util.Collections.unmodifiableMap(women); + } + java.util.SortedMap men = new java.util.TreeMap(); + if ((this.men$key != null)) + for (int $i = 0;; ($i < ((this.men$key == null) ? 0 : this.men$key.size())); $i ++) + men.put(this.men$key.get($i), this.men$value.get($i)); + men = java.util.Collections.unmodifiableSortedMap(men); + java.util.Map rawMap; + switch (((this.rawMap$key == null) ? 0 : this.rawMap$key.size())) { + case 0 : + rawMap = java.util.Collections.emptyMap(); + break; + case 1 : + rawMap = java.util.Collections.singletonMap(this.rawMap$key.get(0), this.rawMap$value.get(0)); + break; + default : + rawMap = new java.util.LinkedHashMap(((this.rawMap$key.size() < 0x40000000) ? ((1 + this.rawMap$key.size()) + ((this.rawMap$key.size() - 3) / 3)) : java.lang.Integer.MAX_VALUE)); + for (int $i = 0;; ($i < this.rawMap$key.size()); $i ++) + rawMap.put(this.rawMap$key.get($i), this.rawMap$value.get($i)); + rawMap = java.util.Collections.unmodifiableMap(rawMap); + } + java.util.Map stringMap; + switch (((this.stringMap$key == null) ? 0 : this.stringMap$key.size())) { + case 0 : + stringMap = java.util.Collections.emptyMap(); + break; + case 1 : + stringMap = java.util.Collections.singletonMap(this.stringMap$key.get(0), this.stringMap$value.get(0)); + break; + default : + stringMap = new java.util.LinkedHashMap(((this.stringMap$key.size() < 0x40000000) ? ((1 + this.stringMap$key.size()) + ((this.stringMap$key.size() - 3) / 3)) : java.lang.Integer.MAX_VALUE)); + for (int $i = 0;; ($i < this.stringMap$key.size()); $i ++) + stringMap.put(this.stringMap$key.get($i), this.stringMap$value.get($i)); + stringMap = java.util.Collections.unmodifiableMap(stringMap); + } + return new BuilderSingletonMaps(women, men, rawMap, stringMap); + } + public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() { + return (((((((((((((((("BuilderSingletonMaps.BuilderSingletonMapsBuilder(women$key=" + this.women$key) + ", women$value=") + this.women$value) + ", men$key=") + this.men$key) + ", men$value=") + this.men$value) + ", rawMap$key=") + this.rawMap$key) + ", rawMap$value=") + this.rawMap$value) + ", stringMap$key=") + this.stringMap$key) + ", stringMap$value=") + this.stringMap$value) + ")"); + } + } + private @Singular Map women; + private @Singular SortedMap men; + private @SuppressWarnings("all") @Singular("rawMap") Map rawMap; + private @Singular("stringMap") Map stringMap; + @java.lang.SuppressWarnings("all") BuilderSingletonMaps(final Map women, final SortedMap men, final Map rawMap, final Map stringMap) { + super(); + this.women = women; + this.men = men; + this.rawMap = rawMap; + this.stringMap = stringMap; + } + public static @java.lang.SuppressWarnings("all") BuilderSingletonMapsBuilder builder() { + return new BuilderSingletonMapsBuilder(); + } +} \ No newline at end of file diff --git a/test/transform/resource/after-ecj/BuilderSingletonSets.java b/test/transform/resource/after-ecj/BuilderSingletonSets.java new file mode 100644 index 00000000..7b6f6425 --- /dev/null +++ b/test/transform/resource/after-ecj/BuilderSingletonSets.java @@ -0,0 +1,125 @@ +import java.util.Set; +import java.util.SortedSet; +import lombok.Singular; +@lombok.Builder class BuilderSingletonSets { + public static @java.lang.SuppressWarnings("all") class BuilderSingletonSetsBuilder { + private java.util.ArrayList dangerMice; + private java.util.ArrayList octopodes; + private java.util.ArrayList rawSet; + private java.util.ArrayList stringSet; + @java.lang.SuppressWarnings("all") BuilderSingletonSetsBuilder() { + super(); + } + public @java.lang.SuppressWarnings("all") BuilderSingletonSetsBuilder dangerMouse(T dangerMouse) { + if ((this.dangerMice == null)) + this.dangerMice = new java.util.ArrayList(); + this.dangerMice.add(dangerMouse); + return this; + } + public @java.lang.SuppressWarnings("all") BuilderSingletonSetsBuilder dangerMice(java.util.Collection dangerMice) { + if ((this.dangerMice == null)) + this.dangerMice = new java.util.ArrayList(); + this.dangerMice.addAll(dangerMice); + return this; + } + public @java.lang.SuppressWarnings("all") BuilderSingletonSetsBuilder octopus(Number octopus) { + if ((this.octopodes == null)) + this.octopodes = new java.util.ArrayList(); + this.octopodes.add(octopus); + return this; + } + public @java.lang.SuppressWarnings("all") BuilderSingletonSetsBuilder octopodes(java.util.Collection octopodes) { + if ((this.octopodes == null)) + this.octopodes = new java.util.ArrayList(); + this.octopodes.addAll(octopodes); + return this; + } + public @java.lang.SuppressWarnings("all") BuilderSingletonSetsBuilder rawSet(java.lang.Object rawSet) { + if ((this.rawSet == null)) + this.rawSet = new java.util.ArrayList(); + this.rawSet.add(rawSet); + return this; + } + public @java.lang.SuppressWarnings("all") BuilderSingletonSetsBuilder rawSet(java.util.Collection rawSet) { + if ((this.rawSet == null)) + this.rawSet = new java.util.ArrayList(); + this.rawSet.addAll(rawSet); + return this; + } + public @java.lang.SuppressWarnings("all") BuilderSingletonSetsBuilder stringSet(String stringSet) { + if ((this.stringSet == null)) + this.stringSet = new java.util.ArrayList(); + this.stringSet.add(stringSet); + return this; + } + public @java.lang.SuppressWarnings("all") BuilderSingletonSetsBuilder stringSet(java.util.Collection stringSet) { + if ((this.stringSet == null)) + this.stringSet = new java.util.ArrayList(); + this.stringSet.addAll(stringSet); + return this; + } + public @java.lang.SuppressWarnings("all") BuilderSingletonSets build() { + java.util.Set dangerMice; + switch (((this.dangerMice == null) ? 0 : this.dangerMice.size())) { + case 0 : + dangerMice = java.util.Collections.emptySet(); + break; + case 1 : + dangerMice = java.util.Collections.singleton(this.dangerMice.get(0)); + break; + default : + dangerMice = new java.util.LinkedHashSet(((this.dangerMice.size() < 0x40000000) ? ((1 + this.dangerMice.size()) + ((this.dangerMice.size() - 3) / 3)) : java.lang.Integer.MAX_VALUE)); + dangerMice.addAll(this.dangerMice); + dangerMice = java.util.Collections.unmodifiableSet(dangerMice); + } + java.util.SortedSet octopodes = new java.util.TreeSet(); + if ((this.octopodes != null)) + octopodes.addAll(this.octopodes); + octopodes = java.util.Collections.unmodifiableSortedSet(octopodes); + java.util.Set rawSet; + switch (((this.rawSet == null) ? 0 : this.rawSet.size())) { + case 0 : + rawSet = java.util.Collections.emptySet(); + break; + case 1 : + rawSet = java.util.Collections.singleton(this.rawSet.get(0)); + break; + default : + rawSet = new java.util.LinkedHashSet(((this.rawSet.size() < 0x40000000) ? ((1 + this.rawSet.size()) + ((this.rawSet.size() - 3) / 3)) : java.lang.Integer.MAX_VALUE)); + rawSet.addAll(this.rawSet); + rawSet = java.util.Collections.unmodifiableSet(rawSet); + } + java.util.Set stringSet; + switch (((this.stringSet == null) ? 0 : this.stringSet.size())) { + case 0 : + stringSet = java.util.Collections.emptySet(); + break; + case 1 : + stringSet = java.util.Collections.singleton(this.stringSet.get(0)); + break; + default : + stringSet = new java.util.LinkedHashSet(((this.stringSet.size() < 0x40000000) ? ((1 + this.stringSet.size()) + ((this.stringSet.size() - 3) / 3)) : java.lang.Integer.MAX_VALUE)); + stringSet.addAll(this.stringSet); + stringSet = java.util.Collections.unmodifiableSet(stringSet); + } + return new BuilderSingletonSets(dangerMice, octopodes, rawSet, stringSet); + } + public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() { + return (((((((("BuilderSingletonSets.BuilderSingletonSetsBuilder(dangerMice=" + this.dangerMice) + ", octopodes=") + this.octopodes) + ", rawSet=") + this.rawSet) + ", stringSet=") + this.stringSet) + ")"); + } + } + private @Singular Set dangerMice; + private @Singular SortedSet octopodes; + private @SuppressWarnings("all") @Singular("rawSet") Set rawSet; + private @Singular("stringSet") Set stringSet; + @java.lang.SuppressWarnings("all") BuilderSingletonSets(final Set dangerMice, final SortedSet octopodes, final Set rawSet, final Set stringSet) { + super(); + this.dangerMice = dangerMice; + this.octopodes = octopodes; + this.rawSet = rawSet; + this.stringSet = stringSet; + } + public static @java.lang.SuppressWarnings("all") BuilderSingletonSetsBuilder builder() { + return new BuilderSingletonSetsBuilder(); + } +} \ No newline at end of file diff --git a/test/transform/resource/before/BuilderSingletonMaps.java b/test/transform/resource/before/BuilderSingletonMaps.java index 00928e73..92750c0a 100644 --- a/test/transform/resource/before/BuilderSingletonMaps.java +++ b/test/transform/resource/before/BuilderSingletonMaps.java @@ -7,6 +7,6 @@ import lombok.Singular; class BuilderSingletonMaps { @Singular private Map women; @Singular private SortedMap men; - @Singular("rawMap") private Map rawMap; + @SuppressWarnings("all") @Singular("rawMap") private Map rawMap; @Singular("stringMap") private Map stringMap; } diff --git a/test/transform/resource/before/BuilderSingletonSets.java b/test/transform/resource/before/BuilderSingletonSets.java index a9f12913..42cac0dc 100644 --- a/test/transform/resource/before/BuilderSingletonSets.java +++ b/test/transform/resource/before/BuilderSingletonSets.java @@ -7,6 +7,6 @@ import lombok.Singular; class BuilderSingletonSets { @Singular private Set dangerMice; @Singular private SortedSet octopodes; - @Singular("rawSet") private Set rawSet; + @SuppressWarnings("all") @Singular("rawSet") private Set rawSet; @Singular("stringSet") private Set stringSet; } diff --git a/test/transform/src/lombok/transform/TestWithEcj.java b/test/transform/src/lombok/transform/TestWithEcj.java index 0a4057dd..4c3f6bf8 100644 --- a/test/transform/src/lombok/transform/TestWithEcj.java +++ b/test/transform/src/lombok/transform/TestWithEcj.java @@ -57,4 +57,8 @@ public class TestWithEcj extends DirectoryRunner.TestParams { public File getMessagesDirectory() { return new File("test/transform/resource/messages-ecj"); } + + @Override public boolean accept(File file) { + return file.getName().startsWith("BuilderSingleton"); + } } -- cgit