Skip to content

Commit fadb2cd

Browse files
committed
Short circuit the applicability checks
Inline the conditions into their `if` statements, such that the cheaper checks can reject a declaration before the more expensive ones run.
1 parent 9878daf commit fadb2cd

2 files changed

Lines changed: 9 additions & 13 deletions

File tree

src/main/java/org/openrewrite/java/migrate/lang/var/UseVarForGenericMethodInvocations.java

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -58,10 +58,9 @@ public J.VariableDeclarations visitVariableDeclarations(J.VariableDeclarations v
5858
}
5959

6060
// Recipe specific
61-
boolean isPrimitive = DeclarationCheck.isPrimitive(vd);
62-
boolean usesNoGenerics = !DeclarationCheck.useGenerics(vd);
63-
boolean usesTernary = DeclarationCheck.initializedByTernary(vd);
64-
if (isPrimitive || usesTernary || usesNoGenerics) {
61+
if (DeclarationCheck.isPrimitive(vd) ||
62+
DeclarationCheck.initializedByTernary(vd) ||
63+
!DeclarationCheck.useGenerics(vd)) {
6564
return vd;
6665
}
6766

@@ -73,9 +72,7 @@ public J.VariableDeclarations visitVariableDeclarations(J.VariableDeclarations v
7372
J.MethodInvocation invocation = (J.MethodInvocation) originalInitializer.unwrap();
7473

7574
// If no type parameters and no arguments are present, we assume the type is too hard to determine
76-
boolean hasNoTypeParams = invocation.getTypeParameters() == null;
77-
boolean argumentsEmpty = allArgumentsEmpty(invocation);
78-
if (hasNoTypeParams && argumentsEmpty) {
75+
if (invocation.getTypeParameters() == null && allArgumentsEmpty(invocation)) {
7976
return vd;
8077
}
8178

src/main/java/org/openrewrite/java/migrate/lang/var/UseVarForObject.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -56,13 +56,12 @@ public J.VariableDeclarations visitVariableDeclarations(J.VariableDeclarations v
5656
return vd;
5757
}
5858

59-
boolean isPrimitive = DeclarationCheck.isPrimitive(vd);
60-
boolean usesGenerics = DeclarationCheck.useGenerics(vd);
61-
boolean usesTernary = DeclarationCheck.initializedByTernary(vd);
6259
Expression initializer = vd.getVariables().get(0).getInitializer();
63-
boolean usesArrayInitializer = initializer instanceof J.NewArray;
64-
boolean initializedByStaticMethod = DeclarationCheck.initializedByStaticMethod(initializer);
65-
if (isPrimitive || usesGenerics || usesTernary || usesArrayInitializer || initializedByStaticMethod ||
60+
if (DeclarationCheck.isPrimitive(vd) ||
61+
DeclarationCheck.useGenerics(vd) ||
62+
DeclarationCheck.initializedByTernary(vd) ||
63+
initializer instanceof J.NewArray ||
64+
DeclarationCheck.initializedByStaticMethod(initializer) ||
6665
DeclarationCheck.initializedByUnresolvableGenericMethod(initializer)) {
6766
return vd;
6867
}

0 commit comments

Comments
 (0)