Skip to content

Commit 31659ef

Browse files
committed
Use early returns in isEffectivelySetter
1 parent ca9f973 commit 31659ef

File tree

1 file changed

+11
-12
lines changed

1 file changed

+11
-12
lines changed

src/main/java/org/openrewrite/java/migrate/lombok/LombokUtils.java

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)