mirror of
https://github.com/tiennm99/lombok.git
synced 2026-10-15 14:16:39 +00:00
Extract method generateSingularMethodAddStatement
This commit is contained in:
1 parent
e9f4bcb890
commit
54d8d4b431
3 files changed
+9
-10
No files matched your search
@@ -275,6 +275,12 @@ public class JavacSingularsRecipes {
|
||||
return maker.VarDef(mods, name, type, null);
|
||||
}
|
||||
|
||||
protected JCStatement generateSingularMethodAddStatement(JavacTreeMaker maker, JavacNode builderType, Name argumentName, String builderFieldName) {
|
||||
JCExpression thisDotFieldDotAdd = chainDots(builderType, "this", builderFieldName, "add");
|
||||
JCExpression invokeAdd = maker.Apply(List.<JCExpression>nil(), thisDotFieldDotAdd, List.<JCExpression>of(maker.Ident(argumentName)));
|
||||
return maker.Exec(invokeAdd);
|
||||
}
|
||||
|
||||
protected abstract void generatePluralMethod(boolean deprecate, JavacTreeMaker maker, JCExpression returnType, JCStatement returnStatement, SingularData data, JavacNode builderType, JCTree source, boolean fluent);
|
||||
|
||||
public abstract void appendBuildCode(SingularData data, JavacNode builderType, JCTree source, ListBuffer<JCStatement> statements, Name targetVariableName, String builderVariable);
|
||||
|
||||
@@ -101,9 +101,7 @@ abstract class JavacJavaUtilListSetSingularizer extends JavacJavaUtilSingularize
|
||||
JCModifiers mods = makeMods(maker, builderType, deprecate);
|
||||
ListBuffer<JCStatement> statements = new ListBuffer<JCStatement>();
|
||||
statements.append(createConstructBuilderVarIfNeeded(maker, data, builderType, false, source));
|
||||
JCExpression thisDotFieldDotAdd = chainDots(builderType, "this", data.getPluralName().toString(), "add");
|
||||
JCExpression invokeAdd = maker.Apply(List.<JCExpression>nil(), thisDotFieldDotAdd, List.<JCExpression>of(maker.Ident(data.getSingularName())));
|
||||
JCStatement st = maker.Exec(invokeAdd);
|
||||
JCStatement st = generateSingularMethodAddStatement(maker, builderType, data.getSingularName(), data.getPluralName().toString());
|
||||
statements.append(st);
|
||||
|
||||
if (returnStatement != null) statements.append(returnStatement);
|
||||
|
||||
@@ -40,7 +40,6 @@ import org.mangosdk.spi.ProviderFor;
|
||||
|
||||
import com.sun.tools.javac.code.Flags;
|
||||
import com.sun.tools.javac.tree.JCTree;
|
||||
import com.sun.tools.javac.tree.JCTree.JCAnnotation;
|
||||
import com.sun.tools.javac.tree.JCTree.JCBlock;
|
||||
import com.sun.tools.javac.tree.JCTree.JCExpression;
|
||||
import com.sun.tools.javac.tree.JCTree.JCModifiers;
|
||||
@@ -133,15 +132,11 @@ public class JavacJavaUtilMapSingularizer extends JavacJavaUtilSingularizer {
|
||||
Name keyName = builderType.toName(data.getSingularName().toString() + "Key");
|
||||
Name valueName = builderType.toName(data.getSingularName().toString() + "Value");
|
||||
/* this.pluralname$key.add(singularnameKey); */ {
|
||||
JCExpression thisDotKeyFieldDotAdd = chainDots(builderType, "this", data.getPluralName() + "$key", "add");
|
||||
JCExpression invokeAdd = maker.Apply(List.<JCExpression>nil(), thisDotKeyFieldDotAdd, List.<JCExpression>of(maker.Ident(keyName)));
|
||||
JCStatement st = maker.Exec(invokeAdd);
|
||||
JCStatement st = generateSingularMethodAddStatement(maker, builderType, keyName, data.getPluralName() + "$key");
|
||||
statements.append(st);
|
||||
}
|
||||
/* this.pluralname$value.add(singularnameValue); */ {
|
||||
JCExpression thisDotValueFieldDotAdd = chainDots(builderType, "this", data.getPluralName() + "$value", "add");
|
||||
JCExpression invokeAdd = maker.Apply(List.<JCExpression>nil(), thisDotValueFieldDotAdd, List.<JCExpression>of(maker.Ident(valueName)));
|
||||
JCStatement st = maker.Exec(invokeAdd);
|
||||
JCStatement st = generateSingularMethodAddStatement(maker, builderType, valueName, data.getPluralName() + "$value");
|
||||
statements.append(st);
|
||||
}
|
||||
if (returnStatement != null) statements.append(returnStatement);
|
||||
|
||||
Reference in new issue
Block a user