1
0
forked from VimPlug/jedi

Fix param position lookups. Also forward annotations have the correct resolution path now (starting at the end of the file).

This commit is contained in:
Dave Halter
2015-12-22 11:25:32 +01:00
parent ac294244cf
commit 936cef97e9
4 changed files with 28 additions and 4 deletions

View File

@@ -322,6 +322,13 @@ class Evaluator(object):
# This is the first global lookup.
stmt = atom.get_definition()
scope = stmt.get_parent_until(tree.IsScope, include_current=True)
if isinstance(scope, (tree.Function, er.FunctionExecution)):
# Adjust scope: If the name is not in the suite, it's a param
# default or annotation and will be resolved as part of the
# parent scope.
colon = scope.children.index(':')
if atom.start_pos < scope.children[colon + 1].start_pos:
scope = scope.get_parent_scope()
if isinstance(stmt, tree.CompFor):
stmt = stmt.get_parent_until((tree.ClassOrFunc, tree.ExprStmt))
if stmt.type != 'expr_stmt':