Skip to content

Commit a07bf5c

Browse files
committed
Prevent NPE in SwitchCaseAssignmentsToSwitchExpression with right hand side type
1 parent ed02764 commit a07bf5c

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

src/main/java/org/openrewrite/java/migrate/lang/SwitchCaseAssignmentsToSwitchExpression.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@
3535
import java.util.concurrent.atomic.AtomicReference;
3636

3737
import static java.util.Collections.singletonList;
38-
import static java.util.Objects.requireNonNull;
3938
import static org.openrewrite.Tree.randomId;
4039

4140
@Value
@@ -262,8 +261,12 @@ private boolean isToStringImplicitlyCalled(Expression a, Expression b) {
262261
return false;
263262
}
264263

264+
if (b.getType() == null) {
265+
return true; // Don't make any changes if the type is unknown.
266+
}
267+
265268
return a.getType() == JavaType.Primitive.String &&
266-
(!(b.getType() instanceof JavaType.Primitive || requireNonNull(b.getType()).toString().startsWith("java.lang")) &&
269+
(!(b.getType() instanceof JavaType.Primitive || b.getType().toString().startsWith("java.lang")) &&
267270
!TypeUtils.isAssignableTo("java.lang.String", b.getType()));
268271
}
269272

0 commit comments

Comments
 (0)