Keyword-only arguments were not usable. Fixes #883 and #856.

This commit is contained in:
Dave Halter
2017-04-03 18:18:21 +02:00
parent 632072000e
commit d41e036427
2 changed files with 16 additions and 1 deletions

View File

@@ -1230,7 +1230,15 @@ class Param(PythonBaseNode):
@property
def position_nr(self):
return self.parent.children.index(self) - 1
index = self.parent.children.index(self)
try:
keyword_only_index = self.parent.children.index('*')
if index > keyword_only_index:
# Skip the ` *, `
index -= 2
except ValueError:
pass
return index - 1
def get_parent_function(self):
return search_ancestor(self, ('funcdef', 'lambda'))

View File

@@ -158,3 +158,10 @@ Y = int
def just_because_we_can(x: "flo" + "at"):
#? float()
x
def keyword_only(a: str, *, b: str):
#? ['startswith']
a.startswi
#? ['startswith']
b.startswi