mirror of
https://github.com/tiennm99/lombok.git
synced 2026-10-14 06:17:44 +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
|
||||
protected ListBuffer<JCStatement> generateSingularMethodStatements(JavacTreeMaker maker, SingularData data, JavacNode builderType, JCTree source) {
|
||||
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()));
|
||||
return statements;
|
||||
}
|
||||
@@ -113,7 +113,7 @@ abstract class JavacJavaUtilListSetSingularizer extends JavacJavaUtilSingularize
|
||||
@Override
|
||||
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>();
|
||||
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 invokeAdd = maker.Apply(List.<JCExpression>nil(), thisDotFieldDotAdd, List.<JCExpression>of(maker.Ident(data.getPluralName())));
|
||||
statements.append(maker.Exec(invokeAdd));
|
||||
@@ -133,6 +133,10 @@ abstract class JavacJavaUtilListSetSingularizer extends JavacJavaUtilSingularize
|
||||
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
|
||||
protected String getAddMethodName() {
|
||||
return "add";
|
||||
|
||||
@@ -129,7 +129,7 @@ public class JavacJavaUtilMapSingularizer extends JavacJavaUtilSingularizer {
|
||||
Name keyName = builderType.toName(data.getSingularName().toString() + "Key");
|
||||
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); */
|
||||
statements.append(generateSingularMethodAddStatement(maker, builderType, keyName, data.getPluralName() + "$key"));
|
||||
/* 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) {
|
||||
List<JCExpression> jceBlank = List.nil();
|
||||
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());
|
||||
Name entryName = builderType.toName("$lombokEntry");
|
||||
|
||||
@@ -180,6 +180,10 @@ public class JavacJavaUtilMapSingularizer extends JavacJavaUtilSingularizer {
|
||||
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) {
|
||||
if (useGuavaInstead(builderType)) {
|
||||
guavaMapSingularizer.appendBuildCode(data, builderType, source, statements, targetVariableName, builderVariable);
|
||||
|
||||
Reference in new issue
Block a user