From fade29fb8ab3d753c3f391410f90f7ca63be1be1 Mon Sep 17 00:00:00 2001 From: Andrey Vlasovskikh Date: Wed, 18 Sep 2013 16:41:58 +0400 Subject: [PATCH] Fixed potential NPE --- .../inspections/PyUnboundLocalVariableInspection.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/python/src/com/jetbrains/python/inspections/PyUnboundLocalVariableInspection.java b/python/src/com/jetbrains/python/inspections/PyUnboundLocalVariableInspection.java index 1c62d10b2051..3ad8d989b072 100644 --- a/python/src/com/jetbrains/python/inspections/PyUnboundLocalVariableInspection.java +++ b/python/src/com/jetbrains/python/inspections/PyUnboundLocalVariableInspection.java @@ -11,6 +11,7 @@ import com.intellij.openapi.util.Key; import com.intellij.openapi.util.Ref; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElementVisitor; +import com.intellij.psi.PsiPolyVariantReference; import com.intellij.psi.util.PsiTreeUtil; import com.intellij.util.Function; import com.intellij.util.containers.HashSet; @@ -111,7 +112,11 @@ public class PyUnboundLocalVariableInspection extends PyInspection { if (!isFirstUnboundRead(node, owner)) { return; } - final PsiElement resolved = node.getReference(resolveWithoutImplicits()).resolve(); + final PsiPolyVariantReference ref = node.getReference(resolveWithoutImplicits()); + if (ref == null) { + return; + } + final PsiElement resolved = ref.resolve(); final boolean isBuiltin = PyBuiltinCache.getInstance(node).hasInBuiltins(resolved); if (owner instanceof PyClass) { if (isBuiltin || ScopeUtil.getDeclarationScopeOwner(owner, name) != null) {