@@ -25,6 +25,7 @@ final class SimpleAssistWriter {
25
25
private final String suffix ;
26
26
private Append writer ;
27
27
private final List <Element > assistedElements ;
28
+ private final boolean hasNoContructorParams ;
28
29
29
30
SimpleAssistWriter (AssistBeanReader beanReader ) {
30
31
this .beanReader = beanReader ;
@@ -33,6 +34,11 @@ final class SimpleAssistWriter {
33
34
this .suffix = "$AssistFactory" ;
34
35
this .assistedElements = beanReader .assistElements ();
35
36
this .originName = packageName + "." + shortName ;
37
+ this .hasNoContructorParams =
38
+ beanReader .constructor ().params ().stream ()
39
+ .filter (not (MethodParam ::assisted ))
40
+ .findAny ()
41
+ .isEmpty ();
36
42
}
37
43
38
44
private Writer createFileWriter () throws IOException {
@@ -110,25 +116,30 @@ private void writeInjectFields() {
110
116
var type = UType .parse (element .asType ());
111
117
writer .append (" %s %s$field;" , type .shortType (), field .fieldName ()).eol ().eol ();
112
118
}
113
- writer .eol ();
119
+ if (beanReader .injectMethods ().isEmpty () && hasNoContructorParams ) {
120
+ writer .eol ();
121
+ }
114
122
}
115
123
116
124
private void writeMethodFields () {
117
125
if (beanReader .injectMethods ().isEmpty ()) {
118
126
return ;
119
127
}
120
128
beanReader .injectMethods ().stream ()
121
- .flatMap (m -> m .params ().stream ())
122
- .filter (not (MethodParam ::assisted ))
123
- .forEach (
124
- p -> {
125
- var element = p .element ();
126
- writer
127
- .append (" private %s %s$method;" , UType .parse (element .asType ()).shortType (), p .simpleName ())
128
- .eol ()
129
- .eol ();
130
- });
131
- writer .eol ();
129
+ .flatMap (m -> m .params ().stream ())
130
+ .filter (not (MethodParam ::assisted ))
131
+ .forEach (
132
+ p -> {
133
+ var element = p .element ();
134
+ writer
135
+ .append (
136
+ " private %s %s$method;" ,
137
+ UType .parse (element .asType ()).shortType (), p .simpleName ())
138
+ .eol ();
139
+ });
140
+ if (hasNoContructorParams ) {
141
+ writer .eol ();
142
+ }
132
143
}
133
144
134
145
private void writeConstructor () {
@@ -146,7 +157,7 @@ private void writeConstructor() {
146
157
if (beanReader .beanType ().getNestingKind ().isNested ()) {
147
158
shortName = shortName .replace ("." , "$" );
148
159
}
149
- writer .append (" " ).append (shortName ).append (suffix ).append ("(" );
160
+ writer .eol (). append (" " ).append (shortName ).append (suffix ).append ("(" );
150
161
151
162
for (var iterator = injectParams .iterator (); iterator .hasNext (); ) {
152
163
var p = iterator .next ();
@@ -170,7 +181,7 @@ private void writeFieldsForInjected(List<MethodParam> injectParams) {
170
181
for (MethodParam p : injectParams ) {
171
182
var element = p .element ();
172
183
var type = UType .parse (element .asType ()).shortType ();
173
- writer .append (" private final %s %s;" , type , p .simpleName ()).eol (). eol () ;
184
+ writer .append (" private final %s %s;" , type , p .simpleName ()).eol ();
174
185
}
175
186
}
176
187
0 commit comments