From e20ffc728a16d575b3dd4aa66b1d8d51c8a3c517 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Tue, 3 Apr 2012 19:40:23 +0200 Subject: [PATCH] use correct names for files imported via star import (PY-5813) --- .../com/jetbrains/python/psi/resolve/VariantsProcessor.java | 2 +- python/testData/completion/moduleDotPy/a.after.py | 3 +++ python/testData/completion/moduleDotPy/a.py | 3 +++ python/testData/completion/moduleDotPy/shazam.py | 1 + python/testData/completion/moduleDotPy/xyzzy.py | 0 python/testSrc/com/jetbrains/python/PythonCompletionTest.java | 4 ++++ 6 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 python/testData/completion/moduleDotPy/a.after.py create mode 100644 python/testData/completion/moduleDotPy/a.py create mode 100644 python/testData/completion/moduleDotPy/shazam.py create mode 100644 python/testData/completion/moduleDotPy/xyzzy.py diff --git a/python/src/com/jetbrains/python/psi/resolve/VariantsProcessor.java b/python/src/com/jetbrains/python/psi/resolve/VariantsProcessor.java index 392b014d48e7..4246bd0aaa4f 100644 --- a/python/src/com/jetbrains/python/psi/resolve/VariantsProcessor.java +++ b/python/src/com/jetbrains/python/psi/resolve/VariantsProcessor.java @@ -77,7 +77,7 @@ public abstract class VariantsProcessor implements PsiScopeProcessor { final NameDefiner definer = (NameDefiner)element; for (PyElement expr : definer.iterateNames()) { if (expr != null && expr != myContext) { // NOTE: maybe rather have SingleIterables skip nulls outright? - String referencedName = expr.getName(); + String referencedName = expr instanceof PyFile ? FileUtil.getNameWithoutExtension(((PyFile) expr).getName()) : expr.getName(); if (referencedName != null && nameIsAcceptable(referencedName)) { addImportedElement(referencedName, definer, expr); } diff --git a/python/testData/completion/moduleDotPy/a.after.py b/python/testData/completion/moduleDotPy/a.after.py new file mode 100644 index 000000000000..5df601b2022f --- /dev/null +++ b/python/testData/completion/moduleDotPy/a.after.py @@ -0,0 +1,3 @@ +from shazam import * + +xyzzy \ No newline at end of file diff --git a/python/testData/completion/moduleDotPy/a.py b/python/testData/completion/moduleDotPy/a.py new file mode 100644 index 000000000000..574af1da8125 --- /dev/null +++ b/python/testData/completion/moduleDotPy/a.py @@ -0,0 +1,3 @@ +from shazam import * + +xy \ No newline at end of file diff --git a/python/testData/completion/moduleDotPy/shazam.py b/python/testData/completion/moduleDotPy/shazam.py new file mode 100644 index 000000000000..81a82a11778e --- /dev/null +++ b/python/testData/completion/moduleDotPy/shazam.py @@ -0,0 +1 @@ +import xyzzy diff --git a/python/testData/completion/moduleDotPy/xyzzy.py b/python/testData/completion/moduleDotPy/xyzzy.py new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/python/testSrc/com/jetbrains/python/PythonCompletionTest.java b/python/testSrc/com/jetbrains/python/PythonCompletionTest.java index 110f359fabfe..92a4a2599df7 100644 --- a/python/testSrc/com/jetbrains/python/PythonCompletionTest.java +++ b/python/testSrc/com/jetbrains/python/PythonCompletionTest.java @@ -387,6 +387,10 @@ public class PythonCompletionTest extends PyTestCase { doMultiFileTest(); } + public void testModuleDotPy() { // PY-5813 + doMultiFileTest(); + } + public void testHasAttr() { // PY-4423 doTest(); }