mirror of
https://github.com/tiennm99/lombok.git
synced 2026-09-10 04:19:56 +00:00
* the j.u.List recipe is now used to singularize java.lang.Iterables.
* Code gen for builder now adheres to format options when delomboking (doesn’t generate java.lang. FQNs if you ask it not to do that).
This commit is contained in:
@@ -53,7 +53,7 @@ import org.mangosdk.spi.ProviderFor;
|
||||
@ProviderFor(EclipseSingularizer.class)
|
||||
public class EclipseJavaUtilListSingularizer extends EclipseJavaUtilListSetSingularizer {
|
||||
@Override public LombokImmutableList<String> getSupportedTypes() {
|
||||
return LombokImmutableList.of("java.util.List", "java.util.Collection", "java.util.Iterable");
|
||||
return LombokImmutableList.of("java.util.List", "java.util.Collection", "java.lang.Iterable");
|
||||
}
|
||||
|
||||
@Override public void appendBuildCode(SingularData data, EclipseNode builderType, List<Statement> statements, char[] targetVariableName) {
|
||||
|
||||
@@ -140,7 +140,7 @@ abstract class JavacGuavaSingularizer extends JavacSingularizer {
|
||||
if (mapMode) {
|
||||
paramType = chainDots(builderType, "java", "util", "Map");
|
||||
} else {
|
||||
paramType = chainDots(builderType, "java", "lang", "Iterable");
|
||||
paramType = genJavaLangTypeRef(builderType, "Iterable");
|
||||
}
|
||||
paramType = addTypeArgs(mapMode ? 2 : 1, true, builderType, paramType, data.getTypeArgs(), source);
|
||||
JCVariableDecl param = maker.VarDef(maker.Modifiers(paramFlags), data.getPluralName(), paramType, null);
|
||||
|
||||
@@ -43,7 +43,7 @@ import com.sun.tools.javac.util.Name;
|
||||
@ProviderFor(JavacSingularizer.class)
|
||||
public class JavacJavaUtilListSingularizer extends JavacJavaUtilListSetSingularizer {
|
||||
@Override public LombokImmutableList<String> getSupportedTypes() {
|
||||
return LombokImmutableList.of("java.util.List", "java.util.Collection", "java.util.Iterable");
|
||||
return LombokImmutableList.of("java.util.List", "java.util.Collection", "java.lang.Iterable");
|
||||
}
|
||||
|
||||
@Override public void appendBuildCode(SingularData data, JavacNode builderType, JCTree source, ListBuffer<JCStatement> statements, Name targetVariableName) {
|
||||
|
||||
@@ -137,7 +137,7 @@ abstract class JavacJavaUtilSingularizer extends JavacSingularizer {
|
||||
// this.varName.size() < MAX_POWER_OF_2 ? 1 + this.varName.size() + (this.varName.size() - 3) / 3 : Integer.MAX_VALUE;
|
||||
// lessThanCutOff = this.varName.size() < MAX_POWER_OF_2
|
||||
JCExpression lessThanCutoff = maker.Binary(CTC_LESS_THAN, getSize(maker, builderType, varName, nullGuard), maker.Literal(CTC_INT, 0x40000000));
|
||||
JCExpression integerMaxValue = chainDots(builderType, "java", "lang", "Integer", "MAX_VALUE");
|
||||
JCExpression integerMaxValue = genJavaLangTypeRef(builderType, "Integer", "MAX_VALUE");
|
||||
JCExpression sizeFormulaLeft = maker.Binary(CTC_PLUS, maker.Literal(CTC_INT, 1), getSize(maker, builderType, varName, nullGuard));
|
||||
JCExpression sizeFormulaRightLeft = maker.Binary(CTC_MINUS, getSize(maker, builderType, varName, nullGuard), maker.Literal(CTC_INT, 3));
|
||||
JCExpression sizeFormulaRight = maker.Binary(CTC_DIV, sizeFormulaRightLeft, maker.Literal(CTC_INT, 3));
|
||||
|
||||
Reference in New Issue
Block a user