diff --git a/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/inference/JavaSourceInference.java b/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/inference/JavaSourceInference.java index 23a19d32a51a..bfbc60ce1c03 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/inference/JavaSourceInference.java +++ b/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/inference/JavaSourceInference.java @@ -105,9 +105,14 @@ public class JavaSourceInference { if (type == null || type instanceof PsiPrimitiveType) return Nullability.UNKNOWN; MethodReturnInferenceResult result = data.getMethodReturn(); if (result == null) return Nullability.UNKNOWN; - Nullability nullability = RecursionManager.doPreventingRecursion( - method, true, () -> result.getNullability(method, data.methodBody(method))); - return nullability == null ? Nullability.UNKNOWN : nullability; + try { + Nullability nullability = RecursionManager.doPreventingRecursion( + method, true, () -> result.getNullability(method, data.methodBody(method))); + return nullability == null ? Nullability.UNKNOWN : nullability; + } + catch (ClassCastException e) { + throw ContractInferenceIndexKt.handleInconsistency(method, data, e); + } } @NotNull