aboutsummaryrefslogtreecommitdiff
path: root/src/core/lombok/javac/handlers/singulars
diff options
context:
space:
mode:
authorReinier Zwitserloot <r.zwitserloot@projectlombok.org>2019-05-01 05:45:10 +0200
committerReinier Zwitserloot <r.zwitserloot@projectlombok.org>2019-05-01 05:45:10 +0200
commit2335f251665d43b4c8cebe00b980f07ef33bdb17 (patch)
tree7ae9ddf76e3a140081d002e0ef985ee72e6f33e1 /src/core/lombok/javac/handlers/singulars
parentbf0499263b05e11fdd43886df3dc5663c8fee5f4 (diff)
downloadlombok-2335f251665d43b4c8cebe00b980f07ef33bdb17.tar.gz
lombok-2335f251665d43b4c8cebe00b980f07ef33bdb17.tar.bz2
lombok-2335f251665d43b4c8cebe00b980f07ef33bdb17.zip
[fixes #2104] superbuilder + non-list-singulars wouldn’t work due to hardcoded call to emptyList.
Diffstat (limited to 'src/core/lombok/javac/handlers/singulars')
-rw-r--r--src/core/lombok/javac/handlers/singulars/JavacGuavaSingularizer.java4
-rw-r--r--src/core/lombok/javac/handlers/singulars/JavacJavaUtilListSingularizer.java4
-rw-r--r--src/core/lombok/javac/handlers/singulars/JavacJavaUtilMapSingularizer.java6
-rw-r--r--src/core/lombok/javac/handlers/singulars/JavacJavaUtilSetSingularizer.java6
4 files changed, 20 insertions, 0 deletions
diff --git a/src/core/lombok/javac/handlers/singulars/JavacGuavaSingularizer.java b/src/core/lombok/javac/handlers/singulars/JavacGuavaSingularizer.java
index c0dd7a42..5b022206 100644
--- a/src/core/lombok/javac/handlers/singulars/JavacGuavaSingularizer.java
+++ b/src/core/lombok/javac/handlers/singulars/JavacGuavaSingularizer.java
@@ -51,6 +51,10 @@ abstract class JavacGuavaSingularizer extends JavacSingularizer {
return GuavaTypeMap.getGuavaTypeName(data.getTargetFqn());
}
+ @Override protected String getEmptyMaker(String target) {
+ return target + ".of";
+ }
+
protected String getBuilderMethodName(SingularData data) {
String simpleTypeName = getSimpleTargetTypeName(data);
if ("ImmutableSortedSet".equals(simpleTypeName) || "ImmutableSortedMap".equals(simpleTypeName)) return "naturalOrder";
diff --git a/src/core/lombok/javac/handlers/singulars/JavacJavaUtilListSingularizer.java b/src/core/lombok/javac/handlers/singulars/JavacJavaUtilListSingularizer.java
index e5c5a170..b4ad3428 100644
--- a/src/core/lombok/javac/handlers/singulars/JavacJavaUtilListSingularizer.java
+++ b/src/core/lombok/javac/handlers/singulars/JavacJavaUtilListSingularizer.java
@@ -46,6 +46,10 @@ public class JavacJavaUtilListSingularizer extends JavacJavaUtilListSetSingulari
return LombokImmutableList.of("java.util.List", "java.util.Collection", "java.lang.Iterable");
}
+ @Override protected String getEmptyMaker(String target) {
+ return "java.util.Collections.emptyList";
+ }
+
@Override public void appendBuildCode(SingularData data, JavacNode builderType, JCTree source, ListBuffer<JCStatement> statements, Name targetVariableName, String builderVariable) {
JavacTreeMaker maker = builderType.getTreeMaker();
List<JCExpression> jceBlank = List.nil();
diff --git a/src/core/lombok/javac/handlers/singulars/JavacJavaUtilMapSingularizer.java b/src/core/lombok/javac/handlers/singulars/JavacJavaUtilMapSingularizer.java
index 7b9ee653..3e498cac 100644
--- a/src/core/lombok/javac/handlers/singulars/JavacJavaUtilMapSingularizer.java
+++ b/src/core/lombok/javac/handlers/singulars/JavacJavaUtilMapSingularizer.java
@@ -54,6 +54,12 @@ public class JavacJavaUtilMapSingularizer extends JavacJavaUtilSingularizer {
return LombokImmutableList.of("java.util.Map", "java.util.SortedMap", "java.util.NavigableMap");
}
+ @Override protected String getEmptyMaker(String target) {
+ if (target.endsWith("NavigableMap")) return "java.util.Collections.emptyNavigableMap";
+ if (target.endsWith("SortedMap")) return "java.util.Collections.emptySortedMap";
+ return "java.util.Collections.emptyMap";
+ }
+
@Override protected JavacSingularizer getGuavaInstead(JavacNode node) {
return new JavacGuavaMapSingularizer();
}
diff --git a/src/core/lombok/javac/handlers/singulars/JavacJavaUtilSetSingularizer.java b/src/core/lombok/javac/handlers/singulars/JavacJavaUtilSetSingularizer.java
index 22d74896..7c870c0a 100644
--- a/src/core/lombok/javac/handlers/singulars/JavacJavaUtilSetSingularizer.java
+++ b/src/core/lombok/javac/handlers/singulars/JavacJavaUtilSetSingularizer.java
@@ -40,6 +40,12 @@ public class JavacJavaUtilSetSingularizer extends JavacJavaUtilListSetSingulariz
return LombokImmutableList.of("java.util.Set", "java.util.SortedSet", "java.util.NavigableSet");
}
+ @Override protected String getEmptyMaker(String target) {
+ if (target.endsWith("SortedSet")) return "java.util.Collections.emptySortedSet";
+ if (target.endsWith("NavigableSet")) return "java.util.Collections.emptyNavigableSet";
+ return "java.util.Collections.emptySet";
+ }
+
@Override public void appendBuildCode(SingularData data, JavacNode builderType, JCTree source, ListBuffer<JCStatement> statements, Name targetVariableName, String builderVariable) {
JavacTreeMaker maker = builderType.getTreeMaker();