@@ -127,43 +127,47 @@ public boolean process(Set<? extends TypeElement> types, RoundEnvironment rEnv)
127
127
StringBuilder sb = new StringBuilder ();
128
128
StringBuilder sbStatic = new StringBuilder ();
129
129
130
- for (VariableElement ve : parameters ) {
131
- String paramName ;
132
- boolean isParam = false ;
133
- if (ve .getAnnotation (Param .class ) != null ) {
134
- paramName = "param" + upperCaseFirst (ve .getSimpleName ().toString ());
135
- isParam = true ;
136
- } else {
137
- paramName = "result" + upperCaseFirst (ve .getSimpleName ().toString ());
130
+ if (parameters .size () > 0 ) {
131
+ for (VariableElement ve : parameters ) {
132
+ String paramName ;
133
+ boolean isParam = false ;
134
+ if (ve .getAnnotation (Param .class ) != null ) {
135
+ paramName = "param" + upperCaseFirst (ve .getSimpleName ().toString ());
136
+ isParam = true ;
137
+ } else {
138
+ paramName = "result" + upperCaseFirst (ve .getSimpleName ().toString ());
139
+ }
140
+
141
+ FieldSpec fbInner = FieldSpec .builder (TypeName .get (ve .asType ()), paramName )
142
+ .addModifiers (Modifier .PUBLIC )
143
+ .addModifiers (Modifier .FINAL )
144
+ .build ();
145
+ innerClassBuilder .addField (fbInner );
146
+ ps .add (ParameterSpec .get (ve ));
147
+ if (isParam ) psParams .add (ParameterSpec .get (ve ));
148
+ if (!isParam ) psResults .add (ParameterSpec .get (ve ));
149
+ consInnerBuilder .addStatement ("this.$N = $N" , paramName , ve .getSimpleName ().toString ());
150
+ if (isParam ) sb .append ("this." ).append (paramName ).append ("," );
151
+ else sb .append (ve .getSimpleName ().toString ()).append ("," );
152
+ if (isParam ) sbStatic .append (ve .getSimpleName ().toString ()).append ("," );
153
+ else sbStatic .append (getDefaultValue (ve )).append ("," );
138
154
}
139
-
140
- FieldSpec fbInner = FieldSpec .builder (TypeName .get (ve .asType ()), paramName )
141
- .addModifiers (Modifier .PUBLIC )
142
- .addModifiers (Modifier .FINAL )
143
- .build ();
144
- innerClassBuilder .addField (fbInner );
145
- ps .add (ParameterSpec .get (ve ));
146
- if (isParam ) psParams .add (ParameterSpec .get (ve ));
147
- if (!isParam ) psResults .add (ParameterSpec .get (ve ));
148
- consInnerBuilder .addStatement ("this.$N = $N" , paramName , ve .getSimpleName ().toString ());
149
- if (isParam ) sb .append ("this." ).append (paramName ).append ("," );
150
- else sb .append (ve .getSimpleName ().toString ()).append ("," );
151
- if (isParam ) sbStatic .append (ve .getSimpleName ().toString ()).append ("," );
152
- else sbStatic .append (getDefaultValue (ve )).append ("," );
155
+ String sbb = sb .toString ();
156
+ sbb = sbb .substring (0 , sbb .length () - 1 );
157
+ String sbbStatic = sbStatic .toString ();
158
+ sbbStatic = sbbStatic .substring (0 , sbbStatic .length () - 1 );
159
+ consInnerBuilder .addParameters (ps );
160
+ mtCopyBuilder .addParameters (psResults );
161
+ mtCopyBuilder .returns (ClassName .get (typeElement .getEnclosingElement ().toString (), className + "." + innerClassName ));
162
+ mtCopyBuilder .addStatement ("return new $N($N)" , innerClassName , sbb );
163
+ mtInsBuilder .addParameters (psParams );
164
+ mtInsBuilder .addStatement ("return new $N($N)" , innerClassName , sbbStatic );
165
+ innerClassBuilder .addMethod (mtCopyBuilder .build ());
166
+ } else {
167
+ mtInsBuilder .addStatement ("return new $N()" , innerClassName );
153
168
}
154
- String sbb = sb .toString ();
155
- sbb = sbb .substring (0 , sbb .length () - 1 );
156
- String sbbStatic = sbStatic .toString ();
157
- sbbStatic = sbbStatic .substring (0 , sbbStatic .length () - 1 );
158
- consInnerBuilder .addParameters (ps );
159
169
innerClassBuilder .addMethod (consInnerBuilder .build ());
160
- mtCopyBuilder .addParameters (psResults );
161
- mtCopyBuilder .returns (ClassName .get (typeElement .getEnclosingElement ().toString (), className + "." + innerClassName ));
162
- mtCopyBuilder .addStatement ("return new $N($N)" , innerClassName , sbb );
163
- innerClassBuilder .addMethod (mtCopyBuilder .build ());
164
170
classBuilder .addType (innerClassBuilder .build ());
165
- mtInsBuilder .addParameters (psParams );
166
- mtInsBuilder .addStatement ("return new $N($N)" , innerClassName , sbbStatic );
167
171
classBuilder .addMethod (mtInsBuilder .build ());
168
172
}
169
173
}
0 commit comments