From bb9b3f41f925d3aa31306e19440f473a13c0105e Mon Sep 17 00:00:00 2001 From: Peter Gromov Date: Tue, 16 Jun 2020 11:44:53 +0200 Subject: [PATCH] diagnostics for EA-232149 - CCE: MethodReturnInferenceResult$FromDelegate.isNotNullCall GitOrigin-RevId: 65491817463beafb841e290017971239178995dd --- .../dataFlow/inference/JavaSourceInference.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) 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