mirror of
https://github.com/tiennm99/lombok.git
synced 2026-10-15 06:16:14 +00:00
Extract overloaded method createConstructBuilderVarIfNeeded
This commit is contained in:
1 parent
e0b6dae521
commit
fe11913fa6
2 files changed
+12
-4
No files matched your search
@@ -99,7 +99,7 @@ abstract class JavacJavaUtilListSetSingularizer extends JavacJavaUtilSingularize
|
|||||||
@Override
|
@Override
|
||||||
protected ListBuffer<JCStatement> generateSingularMethodStatements(JavacTreeMaker maker, SingularData data, JavacNode builderType, JCTree source) {
|
protected ListBuffer<JCStatement> generateSingularMethodStatements(JavacTreeMaker maker, SingularData data, JavacNode builderType, JCTree source) {
|
||||||
ListBuffer<JCStatement> statements = new ListBuffer<JCStatement>();
|
ListBuffer<JCStatement> statements = new ListBuffer<JCStatement>();
|
||||||
statements.append(createConstructBuilderVarIfNeeded(maker, data, builderType, false, source));
|
statements.append(createConstructBuilderVarIfNeeded(maker, data, builderType, source));
|
||||||
statements.append(generateSingularMethodAddStatement(maker, builderType, data.getSingularName(), data.getPluralName().toString()));
|
statements.append(generateSingularMethodAddStatement(maker, builderType, data.getSingularName(), data.getPluralName().toString()));
|
||||||
return statements;
|
return statements;
|
||||||
}
|
}
|
||||||
@@ -113,7 +113,7 @@ abstract class JavacJavaUtilListSetSingularizer extends JavacJavaUtilSingularize
|
|||||||
@Override
|
@Override
|
||||||
protected void generatePluralMethod(boolean deprecate, JavacTreeMaker maker, JCExpression returnType, JCStatement returnStatement, SingularData data, JavacNode builderType, JCTree source, boolean fluent) {
|
protected void generatePluralMethod(boolean deprecate, JavacTreeMaker maker, JCExpression returnType, JCStatement returnStatement, SingularData data, JavacNode builderType, JCTree source, boolean fluent) {
|
||||||
ListBuffer<JCStatement> statements = new ListBuffer<JCStatement>();
|
ListBuffer<JCStatement> statements = new ListBuffer<JCStatement>();
|
||||||
statements.append(createConstructBuilderVarIfNeeded(maker, data, builderType, false, source));
|
statements.append(createConstructBuilderVarIfNeeded(maker, data, builderType, source));
|
||||||
JCExpression thisDotFieldDotAdd = chainDots(builderType, "this", data.getPluralName().toString(), getAddMethodName() + "All");
|
JCExpression thisDotFieldDotAdd = chainDots(builderType, "this", data.getPluralName().toString(), getAddMethodName() + "All");
|
||||||
JCExpression invokeAdd = maker.Apply(List.<JCExpression>nil(), thisDotFieldDotAdd, List.<JCExpression>of(maker.Ident(data.getPluralName())));
|
JCExpression invokeAdd = maker.Apply(List.<JCExpression>nil(), thisDotFieldDotAdd, List.<JCExpression>of(maker.Ident(data.getPluralName())));
|
||||||
statements.append(maker.Exec(invokeAdd));
|
statements.append(maker.Exec(invokeAdd));
|
||||||
@@ -133,6 +133,10 @@ abstract class JavacJavaUtilListSetSingularizer extends JavacJavaUtilSingularize
|
|||||||
return chainDots(builderType, "java", "util", "Collection");
|
return chainDots(builderType, "java", "util", "Collection");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private JCStatement createConstructBuilderVarIfNeeded(JavacTreeMaker maker, SingularData data, JavacNode builderType, JCTree source) {
|
||||||
|
return createConstructBuilderVarIfNeeded(maker, data, builderType, false, source);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected String getAddMethodName() {
|
protected String getAddMethodName() {
|
||||||
return "add";
|
return "add";
|
||||||
|
|||||||
@@ -129,7 +129,7 @@ public class JavacJavaUtilMapSingularizer extends JavacJavaUtilSingularizer {
|
|||||||
Name keyName = builderType.toName(data.getSingularName().toString() + "Key");
|
Name keyName = builderType.toName(data.getSingularName().toString() + "Key");
|
||||||
Name valueName = builderType.toName(data.getSingularName().toString() + "Value");
|
Name valueName = builderType.toName(data.getSingularName().toString() + "Value");
|
||||||
|
|
||||||
statements.append(createConstructBuilderVarIfNeeded(maker, data, builderType, true, source));
|
statements.append(createConstructBuilderVarIfNeeded(maker, data, builderType, source));
|
||||||
/* Generates: this.pluralname$key.add(singularnameKey); */
|
/* Generates: this.pluralname$key.add(singularnameKey); */
|
||||||
statements.append(generateSingularMethodAddStatement(maker, builderType, keyName, data.getPluralName() + "$key"));
|
statements.append(generateSingularMethodAddStatement(maker, builderType, keyName, data.getPluralName() + "$key"));
|
||||||
/* Generates: this.pluralname$value.add(singularnameValue); */
|
/* Generates: this.pluralname$value.add(singularnameValue); */
|
||||||
@@ -150,7 +150,7 @@ public class JavacJavaUtilMapSingularizer extends JavacJavaUtilSingularizer {
|
|||||||
protected void generatePluralMethod(boolean deprecate, JavacTreeMaker maker, JCExpression returnType, JCStatement returnStatement, SingularData data, JavacNode builderType, JCTree source, boolean fluent) {
|
protected void generatePluralMethod(boolean deprecate, JavacTreeMaker maker, JCExpression returnType, JCStatement returnStatement, SingularData data, JavacNode builderType, JCTree source, boolean fluent) {
|
||||||
List<JCExpression> jceBlank = List.nil();
|
List<JCExpression> jceBlank = List.nil();
|
||||||
ListBuffer<JCStatement> statements = new ListBuffer<JCStatement>();
|
ListBuffer<JCStatement> statements = new ListBuffer<JCStatement>();
|
||||||
statements.append(createConstructBuilderVarIfNeeded(maker, data, builderType, true, source));
|
statements.append(createConstructBuilderVarIfNeeded(maker, data, builderType, source));
|
||||||
long baseFlags = JavacHandlerUtil.addFinalIfNeeded(0, builderType.getContext());
|
long baseFlags = JavacHandlerUtil.addFinalIfNeeded(0, builderType.getContext());
|
||||||
Name entryName = builderType.toName("$lombokEntry");
|
Name entryName = builderType.toName("$lombokEntry");
|
||||||
|
|
||||||
@@ -180,6 +180,10 @@ public class JavacJavaUtilMapSingularizer extends JavacJavaUtilSingularizer {
|
|||||||
return chainDots(builderType, "java", "util", "Map");
|
return chainDots(builderType, "java", "util", "Map");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private JCStatement createConstructBuilderVarIfNeeded(JavacTreeMaker maker, SingularData data, JavacNode builderType, JCTree source) {
|
||||||
|
return createConstructBuilderVarIfNeeded(maker, data, builderType, true, source);
|
||||||
|
}
|
||||||
|
|
||||||
@Override public void appendBuildCode(SingularData data, JavacNode builderType, JCTree source, ListBuffer<JCStatement> statements, Name targetVariableName, String builderVariable) {
|
@Override public void appendBuildCode(SingularData data, JavacNode builderType, JCTree source, ListBuffer<JCStatement> statements, Name targetVariableName, String builderVariable) {
|
||||||
if (useGuavaInstead(builderType)) {
|
if (useGuavaInstead(builderType)) {
|
||||||
guavaMapSingularizer.appendBuildCode(data, builderType, source, statements, targetVariableName, builderVariable);
|
guavaMapSingularizer.appendBuildCode(data, builderType, source, statements, targetVariableName, builderVariable);
|
||||||
|
|||||||
Reference in new issue
Block a user