mirror of
https://github.com/tiennm99/lombok.git
synced 2026-10-14 08:18:29 +00:00
Extract method finishAndInjectSingularMethod
This commit is contained in:
1 parent
e8c70dd755
commit
fd7301117d
4 files changed
+12
-21
No files matched your search
@@ -281,6 +281,15 @@ public class JavacSingularsRecipes {
|
||||
return maker.Exec(invokeAdd);
|
||||
}
|
||||
|
||||
protected void finishAndInjectSingularMethod(JavacTreeMaker maker, JCExpression returnType, JCStatement returnStatement, SingularData data, JavacNode builderType, JCTree source, boolean fluent, JCModifiers mods, ListBuffer<JCStatement> statements, List<JCVariableDecl> params, String addMethodName) {
|
||||
if (returnStatement != null) statements.append(returnStatement);
|
||||
JCBlock body = maker.Block(0, statements.toList());
|
||||
Name name = data.getSingularName();
|
||||
if (!fluent) name = builderType.toName(HandlerUtil.buildAccessorName(addMethodName, name.toString()));
|
||||
|
||||
finishAndInjectMethod(maker, returnType, builderType, source, mods, body, name, params);
|
||||
}
|
||||
|
||||
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);
|
||||
|
||||
@@ -108,13 +108,7 @@ abstract class JavacGuavaSingularizer extends JavacSingularizer {
|
||||
params.append(generateSingularMethodParameter(i, maker, data, builderType, source, names[i]));
|
||||
}
|
||||
|
||||
String addMethodName = getAddMethodName();
|
||||
if (returnStatement != null) statements.append(returnStatement);
|
||||
JCBlock body = maker.Block(0, statements.toList());
|
||||
Name methodName = data.getSingularName();
|
||||
if (!fluent) methodName = builderType.toName(HandlerUtil.buildAccessorName(addMethodName, methodName.toString()));
|
||||
|
||||
finishAndInjectMethod(maker, returnType, builderType, source, mods, body, methodName, params.toList());
|
||||
finishAndInjectSingularMethod(maker, returnType, returnStatement, data, builderType, source, fluent, mods, statements, params.toList(), getAddMethodName());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -106,13 +106,7 @@ abstract class JavacJavaUtilListSetSingularizer extends JavacJavaUtilSingularize
|
||||
JCVariableDecl param = generateSingularMethodParameter(0, maker, data, builderType, source, data.getSingularName());
|
||||
List<JCVariableDecl> params = List.of(param);
|
||||
|
||||
String addMethodName = "add";
|
||||
if (returnStatement != null) statements.append(returnStatement);
|
||||
JCBlock body = maker.Block(0, statements.toList());
|
||||
Name name = data.getSingularName();
|
||||
if (!fluent) name = builderType.toName(HandlerUtil.buildAccessorName(addMethodName, name.toString()));
|
||||
|
||||
finishAndInjectMethod(maker, returnType, builderType, source, mods, body, name, params);
|
||||
finishAndInjectSingularMethod(maker, returnType, returnStatement, data, builderType, source, fluent, mods, statements, params, "add");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -141,13 +141,7 @@ public class JavacJavaUtilMapSingularizer extends JavacJavaUtilSingularizer {
|
||||
JCVariableDecl paramValue = generateSingularMethodParameter(1, maker, data, builderType, source, valueName);
|
||||
List<JCVariableDecl> params = List.of(paramKey, paramValue);
|
||||
|
||||
String addMethodName = "put";
|
||||
if (returnStatement != null) statements.append(returnStatement);
|
||||
JCBlock body = maker.Block(0, statements.toList());
|
||||
Name name = data.getSingularName();
|
||||
if (!fluent) name = builderType.toName(HandlerUtil.buildAccessorName(addMethodName, name.toString()));
|
||||
|
||||
finishAndInjectMethod(maker, returnType, builderType, source, mods, body, name, params);
|
||||
finishAndInjectSingularMethod(maker, returnType, returnStatement, data, builderType, source, fluent, mods, statements, params, "put");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in new issue
Block a user