@@ -189,23 +189,22 @@ public static boolean isEffectivelySetter(J.MethodDeclaration method) {
189189 J .VariableDeclarations .NamedVariable param = variableDeclarations .getVariables ().get (0 );
190190 String paramName = param .getName ().toString ();
191191
192- boolean singularStatement = method .getBody () != null //abstract methods can be null
193- && method .getBody ().getStatements ().size () == 1 &&
194- method .getBody ().getStatements ().get (0 ) instanceof J .Assignment ;
195-
196- if (!singularStatement ) {
192+ if (method .getBody () == null ||
193+ method .getBody ().getStatements ().size () != 1 ||
194+ !(method .getBody ().getStatements ().get (0 ) instanceof J .Assignment )) {
197195 return false ;
198196 }
199197 J .Assignment assignment = (J .Assignment ) method .getBody ().getStatements ().get (0 );
200198
201- if (assignment .getVariable () instanceof J .FieldAccess || assignment .getVariable () instanceof J .Identifier ) {
202- JavaType fieldType = assignment .getVariable ().getType ();
203- // assigned value is exactly the parameter
204- return assignment .getAssignment ().toString ().equals (paramName ) &&
205- param .getType () != null &&
206- param .getType ().equals (fieldType ); // type of parameter and field have to match
199+ if (!(assignment .getVariable () instanceof J .FieldAccess ) && !(assignment .getVariable () instanceof J .Identifier )) {
200+ return false ;
207201 }
208- return false ;
202+
203+ JavaType fieldType = assignment .getVariable ().getType ();
204+ // assigned value is exactly the parameter
205+ return assignment .getAssignment ().toString ().equals (paramName ) &&
206+ param .getType () != null &&
207+ param .getType ().equals (fieldType ); // type of parameter and field have to match
209208 }
210209
211210 public static String deriveSetterMethodName (JavaType .Variable fieldType ) {
0 commit comments