diff --git a/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/NullityInference.java b/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/NullityInference.java index 88b292bc4d3c..08493ec1a8f8 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/NullityInference.java +++ b/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/NullityInference.java @@ -15,6 +15,7 @@ */ package com.intellij.codeInspection.dataFlow; +import com.intellij.lang.ASTNode; import com.intellij.lang.LighterAST; import com.intellij.lang.LighterASTNode; import com.intellij.lang.TreeBackedLighterAST; @@ -54,7 +55,8 @@ public class NullityInference { return CachedValuesManager.getCachedValue(method, () -> { TreeBackedLighterAST tree = new TreeBackedLighterAST(method.getContainingFile().getNode()); PsiCodeBlock body = ObjectUtils.assertNotNull(method.getBody()); - NullityInferenceResult result = doInferNullity(tree, TreeBackedLighterAST.wrap(body.getNode())); + ASTNode node = body.getNode(); + NullityInferenceResult result = node == null ? null : doInferNullity(tree, TreeBackedLighterAST.wrap(node)); Nullness nullness = result == null ? null : RecursionManager.doPreventingRecursion(method, true, () -> result.getNullness(method, body)); if (nullness == null) nullness = Nullness.UNKNOWN; return CachedValueProvider.Result.create(nullness, method, PsiModificationTracker.JAVA_STRUCTURE_MODIFICATION_COUNT); diff --git a/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/PurityInference.java b/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/PurityInference.java index cdf7871da9a1..0b8602c287e0 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/PurityInference.java +++ b/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/PurityInference.java @@ -15,6 +15,7 @@ */ package com.intellij.codeInspection.dataFlow; +import com.intellij.lang.ASTNode; import com.intellij.lang.LighterAST; import com.intellij.lang.LighterASTNode; import com.intellij.lang.TreeBackedLighterAST; @@ -57,7 +58,8 @@ public class PurityInference { return CachedValuesManager.getCachedValue(method, () -> { TreeBackedLighterAST tree = new TreeBackedLighterAST(method.getContainingFile().getNode()); PsiCodeBlock body = method.getBody(); - PurityInferenceResult result = doInferPurity(TreeBackedLighterAST.wrap(body.getNode()), tree); + ASTNode node = body.getNode(); + PurityInferenceResult result = node == null ? null : doInferPurity(TreeBackedLighterAST.wrap(node), tree); Boolean pure = RecursionManager.doPreventingRecursion(method, true, () -> result != null && result.isPure(method, body)); return CachedValueProvider.Result.create(pure == Boolean.TRUE, method); });