Pull useGuavaInstead logic up to JavacSingularizer

This commit is contained in:
Emil Lundberg committed 2019-01-13 02:38:14 +01:00
1 parent a633e39588
commit f6d2933795
4 files changed
+9 -18

No files matched your search

@@ -32,6 +32,7 @@ import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import lombok.ConfigurationKeys;
import lombok.core.LombokImmutableList;
import lombok.core.SpiLoadUtil;
import lombok.core.TypeLibrary;
@@ -102,7 +103,9 @@ public class JavacSingularsRecipes {
}
public JavacSingularizer getSingularizer(String fqn, JavacNode node) {
return singularizers.get(fqn).getGuavaInsteadIfNeeded(node);
final JavacSingularizer singularizer = singularizers.get(fqn);
final boolean useGuavaInstead = Boolean.TRUE.equals(node.getAst().readConfiguration(ConfigurationKeys.SINGULAR_USE_GUAVA));
return useGuavaInstead ? singularizer.getGuavaInstead(node) : singularizer;
}
public static final class SingularData {
@@ -155,7 +158,7 @@ public class JavacSingularsRecipes {
public static abstract class JavacSingularizer {
public abstract LombokImmutableList<String> getSupportedTypes();
protected JavacSingularizer getGuavaInsteadIfNeeded(JavacNode node) {
protected JavacSingularizer getGuavaInstead(JavacNode node) {
return this;
}
@@ -45,12 +45,8 @@ import com.sun.tools.javac.util.Name;
abstract class JavacJavaUtilListSetSingularizer extends JavacJavaUtilSingularizer {
@Override
protected JavacSingularizer getGuavaInsteadIfNeeded(JavacNode node) {
if (useGuavaInstead(node)) {
return guavaListSetSingularizer;
}
return this;
@Override protected JavacSingularizer getGuavaInstead(JavacNode node) {
return guavaListSetSingularizer;
}
@Override public java.util.List<Name> listFieldsToBeGenerated(SingularData data, JavacNode builderType) {
@@ -53,12 +53,8 @@ public class JavacJavaUtilMapSingularizer extends JavacJavaUtilSingularizer {
return LombokImmutableList.of("java.util.Map", "java.util.SortedMap", "java.util.NavigableMap");
}
@Override
protected JavacSingularizer getGuavaInsteadIfNeeded(JavacNode node) {
if (useGuavaInstead(node)) {
return guavaMapSingularizer;
}
return this;
@Override protected JavacSingularizer getGuavaInstead(JavacNode node) {
return guavaMapSingularizer;
}
@Override public java.util.List<Name> listFieldsToBeGenerated(SingularData data, JavacNode builderType) {
@@ -42,10 +42,6 @@ abstract class JavacJavaUtilSingularizer extends JavacSingularizer {
protected final JavacSingularizer guavaListSetSingularizer = new JavacGuavaSetListSingularizer();
protected final JavacSingularizer guavaMapSingularizer = new JavacGuavaMapSingularizer();
protected boolean useGuavaInstead(JavacNode node) {
return Boolean.TRUE.equals(node.getAst().readConfiguration(ConfigurationKeys.SINGULAR_USE_GUAVA));
}
protected List<JCStatement> createJavaUtilSetMapInitialCapacitySwitchStatements(JavacTreeMaker maker, SingularData data, JavacNode builderType, boolean mapMode, String emptyCollectionMethod, String singletonCollectionMethod, String targetType, JCTree source, String builderVariable) {
List<JCExpression> jceBlank = List.nil();
ListBuffer<JCCase> cases = new ListBuffer<JCCase>();