mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
PY-13264 Consider qualifier of reference expression when collecting names used in function
This commit is contained in:
@@ -158,6 +158,7 @@ public class PyRefactoringUtil {
|
||||
@Override
|
||||
public void visitPyReferenceExpression(PyReferenceExpression node) {
|
||||
variables.add(node.getReferencedName());
|
||||
super.visitPyReferenceExpression(node);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
def select():
|
||||
return 'spam'
|
||||
|
||||
def func():
|
||||
return se<caret>lect().upper()
|
||||
@@ -42,9 +42,9 @@ public abstract class PyIntroduceTestCase extends PyTestCase {
|
||||
|
||||
protected Collection<String> buildSuggestions(Class<? extends PyExpression> parentClass) {
|
||||
myFixture.configureByFile(getTestName(true) + ".py");
|
||||
IntroduceHandler handler = createHandler();
|
||||
PyExpression expr = PsiTreeUtil.getParentOfType(myFixture.getFile().findElementAt(myFixture.getEditor().getCaretModel().getOffset()),
|
||||
parentClass);
|
||||
final IntroduceHandler handler = createHandler();
|
||||
final PyExpression expr = PsiTreeUtil.getParentOfType(myFixture.getFile().findElementAt(myFixture.getCaretOffset()), parentClass);
|
||||
assertNotNull(expr);
|
||||
return handler.getSuggestedNames(expr);
|
||||
}
|
||||
|
||||
|
||||
@@ -78,6 +78,12 @@ public class PyIntroduceVariableTest extends PyIntroduceTestCase {
|
||||
assertFalse(strings.contains("dict"));
|
||||
}
|
||||
|
||||
// PY-13264
|
||||
public void testDontSuggestNameOfCalledFunction() {
|
||||
final Collection<String> suggestions = buildSuggestions(PyCallExpression.class);
|
||||
assertDoesntContain(suggestions, "select");
|
||||
}
|
||||
|
||||
public void testSuggestNamesNotInScope() { // PY-4605
|
||||
final Collection<String> strings = buildSuggestions(PyExpression.class);
|
||||
assertTrue(strings.contains("myfunc1"));
|
||||
|
||||
Reference in New Issue
Block a user