mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
fixed PY-9365 Make function from method: leads to unresolved attribute reference for method usages in class
This commit is contained in:
+2
-1
@@ -11,6 +11,7 @@ import com.intellij.psi.PsiReference;
|
||||
import com.intellij.psi.util.PsiTreeUtil;
|
||||
import com.intellij.usageView.UsageInfo;
|
||||
import com.jetbrains.python.PyBundle;
|
||||
import com.jetbrains.python.PyNames;
|
||||
import com.jetbrains.python.codeInsight.imports.AddImportHelper;
|
||||
import com.jetbrains.python.inspections.PyUnresolvedReferencesInspection;
|
||||
import com.jetbrains.python.psi.*;
|
||||
@@ -74,7 +75,7 @@ public class PyMakeFunctionFromMethodQuickFix implements LocalQuickFix {
|
||||
@NotNull final PsiFile usageFile, boolean addImport) {
|
||||
final PyExpression qualifier = element.getQualifier();
|
||||
if (qualifier == null) return;
|
||||
|
||||
if (qualifier.getText().equals(PyNames.CANONICAL_SELF)) PyUtil.removeQualifier(element);
|
||||
if (qualifier instanceof PyCallExpression) { // remove qualifier A().m()
|
||||
if (addImport)
|
||||
AddImportHelper.addImport((PsiNamedElement)finalElement, usageFile, element);
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
class A():
|
||||
def method(self):
|
||||
self.method2()
|
||||
|
||||
def metho<caret>d2(self):
|
||||
print 1
|
||||
@@ -0,0 +1,7 @@
|
||||
class A():
|
||||
def method(self):
|
||||
method2()
|
||||
|
||||
|
||||
def method2():
|
||||
print 1
|
||||
+4
@@ -55,4 +55,8 @@ public class PyMakeFunctionFromMethodQuickFixTest extends PyQuickFixTestCase {
|
||||
public void testUsageImport2() {
|
||||
doMultifilesTest(PyMethodMayBeStaticInspection.class, PyBundle.message("QFIX.NAME.make.function"), new String[]{"test.py"});
|
||||
}
|
||||
|
||||
public void testUsageSelf() {
|
||||
doInspectionTest(PyMethodMayBeStaticInspection.class, PyBundle.message("QFIX.NAME.make.function"));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user