forked from VimPlug/jedi
little fixes for the dynamic module
This commit is contained in:
@@ -182,12 +182,12 @@ def search_params(param):
|
|||||||
|
|
||||||
def check_array_additions(array):
|
def check_array_additions(array):
|
||||||
""" Just a mapper function for the internal _check_array_additions """
|
""" Just a mapper function for the internal _check_array_additions """
|
||||||
if array._array.type not in ['list', 'set']:
|
if not pr.Array.is_type(array._array, pr.Array.LIST, pr.Array.SET):
|
||||||
# TODO also check for dict updates
|
# TODO also check for dict updates
|
||||||
return []
|
return []
|
||||||
|
|
||||||
is_list = array._array.type == 'list'
|
is_list = array._array.type == 'list'
|
||||||
current_module = array._array.parent_stmt.get_parent_until()
|
current_module = array._array.get_parent_until()
|
||||||
res = _check_array_additions(array, current_module, is_list)
|
res = _check_array_additions(array, current_module, is_list)
|
||||||
return res
|
return res
|
||||||
|
|
||||||
@@ -264,10 +264,10 @@ def _check_array_additions(compare_array, module, is_list):
|
|||||||
def get_execution_parent(element, *stop_classes):
|
def get_execution_parent(element, *stop_classes):
|
||||||
""" Used to get an Instance/Execution parent """
|
""" Used to get an Instance/Execution parent """
|
||||||
if isinstance(element, er.Array):
|
if isinstance(element, er.Array):
|
||||||
stmt = element._array.parent_stmt
|
stmt = element._array.parent
|
||||||
else:
|
else:
|
||||||
# must be instance
|
# must be instance
|
||||||
stmt = element.var_args.parent_stmt
|
stmt = element.var_args.parent
|
||||||
if isinstance(stmt, er.InstanceElement):
|
if isinstance(stmt, er.InstanceElement):
|
||||||
stop_classes = list(stop_classes) + [er.Function]
|
stop_classes = list(stop_classes) + [er.Function]
|
||||||
return stmt.get_parent_until(stop_classes)
|
return stmt.get_parent_until(stop_classes)
|
||||||
|
|||||||
@@ -661,7 +661,7 @@ def follow_call_path(path, scope, position):
|
|||||||
debug.warning('unknown type:', current.type, current)
|
debug.warning('unknown type:', current.type, current)
|
||||||
scopes = []
|
scopes = []
|
||||||
# Make instances of those number/string objects.
|
# Make instances of those number/string objects.
|
||||||
scopes = [er.Instance(s, [current.name]) for s in scopes]
|
scopes = [er.Instance(s, (current.name,)) for s in scopes]
|
||||||
result = imports.strip_imports(scopes)
|
result = imports.strip_imports(scopes)
|
||||||
|
|
||||||
return follow_paths(path, result, scope, position=position)
|
return follow_paths(path, result, scope, position=position)
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ class Executable(pr.Base):
|
|||||||
|
|
||||||
class Instance(use_metaclass(cache.CachedMetaClass, Executable)):
|
class Instance(use_metaclass(cache.CachedMetaClass, Executable)):
|
||||||
""" This class is used to evaluate instances. """
|
""" This class is used to evaluate instances. """
|
||||||
def __init__(self, base, var_args=None):
|
def __init__(self, base, var_args=[]):
|
||||||
super(Instance, self).__init__(base, var_args)
|
super(Instance, self).__init__(base, var_args)
|
||||||
if str(base.name) in ['list', 'set'] \
|
if str(base.name) in ['list', 'set'] \
|
||||||
and builtin.Builtin.scope == base.get_parent_until():
|
and builtin.Builtin.scope == base.get_parent_until():
|
||||||
@@ -336,7 +336,7 @@ class Function(use_metaclass(cache.CachedMetaClass, pr.Base)):
|
|||||||
# Create param array.
|
# Create param array.
|
||||||
old_func = Function(f, is_decorated=True)
|
old_func = Function(f, is_decorated=True)
|
||||||
|
|
||||||
wrappers = Execution(decorator, [old_func]).get_return_types()
|
wrappers = Execution(decorator, (old_func,)).get_return_types()
|
||||||
if not len(wrappers):
|
if not len(wrappers):
|
||||||
debug.warning('no wrappers found', self.base_func)
|
debug.warning('no wrappers found', self.base_func)
|
||||||
return None
|
return None
|
||||||
|
|||||||
Reference in New Issue
Block a user