forked from VimPlug/jedi
Trying to get the NameFinder to use only NameParts.
This commit is contained in:
@@ -339,7 +339,7 @@ class Evaluator(object):
|
|||||||
for typ in self.eval_call(call):
|
for typ in self.eval_call(call):
|
||||||
for param in typ.params:
|
for param in typ.params:
|
||||||
if unicode(param.get_name()) == unicode(named_param_name):
|
if unicode(param.get_name()) == unicode(named_param_name):
|
||||||
param_names.append(param.get_name())
|
param_names.append(param.get_name().names[-1])
|
||||||
return param_names
|
return param_names
|
||||||
return [call_path[0]]
|
return [call_path[0]]
|
||||||
|
|
||||||
|
|||||||
@@ -102,14 +102,15 @@ class NameFinder(object):
|
|||||||
or isinstance(scope, compiled.CompiledObject) \
|
or isinstance(scope, compiled.CompiledObject) \
|
||||||
or isinstance(stmt, pr.ExprStmt) and stmt.is_global():
|
or isinstance(stmt, pr.ExprStmt) and stmt.is_global():
|
||||||
# Always reachable.
|
# Always reachable.
|
||||||
result.append(name)
|
result.append(name.names[-1])
|
||||||
|
assert name == name.names[-1].parent
|
||||||
else:
|
else:
|
||||||
check = flow_analysis.break_check(self._evaluator,
|
check = flow_analysis.break_check(self._evaluator,
|
||||||
name_list_scope,
|
name_list_scope,
|
||||||
er.wrap(self._evaluator, scope),
|
er.wrap(self._evaluator, scope),
|
||||||
self.scope)
|
self.scope)
|
||||||
if check is not flow_analysis.UNREACHABLE:
|
if check is not flow_analysis.UNREACHABLE:
|
||||||
result.append(name)
|
result.append(name.names[-1])
|
||||||
if check is flow_analysis.REACHABLE:
|
if check is flow_analysis.REACHABLE:
|
||||||
break
|
break
|
||||||
|
|
||||||
|
|||||||
@@ -359,6 +359,8 @@ def _gen_param_name_copy(func, var_args, param, keys=(), values=(), array_type=N
|
|||||||
new_param.set_expression_list([arr])
|
new_param.set_expression_list([arr])
|
||||||
|
|
||||||
name = copy.copy(param.get_name())
|
name = copy.copy(param.get_name())
|
||||||
|
name.names = [copy.copy(name.names[0])]
|
||||||
|
name.names[0].parent = name
|
||||||
name.parent = new_param
|
name.parent = new_param
|
||||||
return name
|
return name
|
||||||
|
|
||||||
|
|||||||
@@ -291,6 +291,11 @@ class InstanceElement(use_metaclass(CachedMetaClass, pr.Base)):
|
|||||||
return [get_instance_el(self._evaluator, self.instance, command, self.is_class_var)
|
return [get_instance_el(self._evaluator, self.instance, command, self.is_class_var)
|
||||||
for command in self.var.expression_list()]
|
for command in self.var.expression_list()]
|
||||||
|
|
||||||
|
@property
|
||||||
|
@underscore_memoization
|
||||||
|
def names(self):
|
||||||
|
return [pr.NamePart(unicode(n), self, n.start_pos) for n in self.var.names]
|
||||||
|
|
||||||
@property
|
@property
|
||||||
@underscore_memoization
|
@underscore_memoization
|
||||||
def name(self):
|
def name(self):
|
||||||
|
|||||||
Reference in New Issue
Block a user