1
0
forked from VimPlug/jedi

Private variable filtering improved.

This commit is contained in:
Dave Halter
2015-01-07 14:44:19 +01:00
parent 987121ae5c
commit c451c0b29e
3 changed files with 6 additions and 4 deletions

View File

@@ -247,7 +247,7 @@ class Script(object):
for names_dict in s.names_dicts(search_global=False):
names += chain.from_iterable(names_dict.values())
names = filter_definition_names(names)
names = filter_definition_names(names, self._parser.user_stmt())
for c in names:
completions.append((c, s))
return completions

View File

@@ -32,7 +32,7 @@ from jedi.evaluate import helpers
from jedi.evaluate.cache import memoize_default
def filter_definition_names(names, position=None):
def filter_definition_names(names, origin, position=None):
# Just calculate the scope from the first
stmt = names[0].get_definition()
scope = stmt.get_parent_scope()
@@ -45,7 +45,7 @@ def filter_definition_names(names, position=None):
names = list(names)
for name in names:
if name.value.startswith('__') and not name.value.endswith('__'):
if filter_private_variable(scope, name):
if filter_private_variable(scope, origin):
names.remove(name)
if not (isinstance(scope, er.FunctionExecution)
@@ -106,7 +106,7 @@ class NameFinder(object):
except KeyError:
return []
names = filter_definition_names(names, position)
names = filter_definition_names(names, self.name_str, position)
name_scope = None
# Only the names defined in the last position are valid definitions.

View File

@@ -388,6 +388,8 @@ class PrivateVar():
self.__var = 1
#? int()
self.__var
#? ['__var']
self.__var
#? []
PrivateVar().__var
#?