diff --git a/python/src/com/jetbrains/python/inspections/PyUnresolvedReferencesInspection.java b/python/src/com/jetbrains/python/inspections/PyUnresolvedReferencesInspection.java index 7b71bdb7cfde..f8cb1e80604d 100644 --- a/python/src/com/jetbrains/python/inspections/PyUnresolvedReferencesInspection.java +++ b/python/src/com/jetbrains/python/inspections/PyUnresolvedReferencesInspection.java @@ -476,7 +476,8 @@ public class PyUnresolvedReferencesInspection extends PyInspection { } addAddSelfFix(node, refex, actions); PyCallExpression callExpression = PsiTreeUtil.getParentOfType(element, PyCallExpression.class); - if (callExpression != null) { + if (callExpression != null && (!(callExpression.getCallee() instanceof PyQualifiedExpression) || + ((PyQualifiedExpression)callExpression.getCallee()).getQualifier() == null)) { actions.add(new UnresolvedRefCreateFunctionQuickFix(callExpression, refex)); } PyFunction parentFunction = PsiTreeUtil.getParentOfType(element, PyFunction.class); diff --git a/python/testData/inspections/UnresolvedRefNoCreateFunction.py b/python/testData/inspections/UnresolvedRefNoCreateFunction.py new file mode 100644 index 000000000000..ae313c0ba02a --- /dev/null +++ b/python/testData/inspections/UnresolvedRefNoCreateFunction.py @@ -0,0 +1 @@ +my_ref.do_smth(1, 2) \ No newline at end of file diff --git a/python/testSrc/com/jetbrains/python/PyQuickFixTest.java b/python/testSrc/com/jetbrains/python/PyQuickFixTest.java index ad74c78338f2..29f8a1ac286f 100644 --- a/python/testSrc/com/jetbrains/python/PyQuickFixTest.java +++ b/python/testSrc/com/jetbrains/python/PyQuickFixTest.java @@ -266,6 +266,14 @@ public class PyQuickFixTest extends PyTestCase { PyBundle.message("QFIX.unresolved.reference.create.function.$0", "ref"), true, true); } + public void testUnresolvedRefNoCreateFunction() { + myFixture.enableInspections(PyUnresolvedReferencesInspection.class); + myFixture.configureByFile("UnresolvedRefNoCreateFunction.py"); + myFixture.checkHighlighting(true, false, false); + final IntentionAction intentionAction = myFixture.getAvailableIntention(PyBundle.message("QFIX.unresolved.reference.create.function.$0", "ref")); + assertNull(intentionAction); + } + public void testReplaceNotEqOperator() { doInspectionTest("ReplaceNotEqOperator.py", PyCompatibilityInspection.class, PyBundle.message("INTN.replace.noteq.operator"), true, true);