pycode: Support "async" syntax

This commit is contained in:
Takeshi KOMIYA 2019-04-13 23:08:52 +09:00
parent e0abb10792
commit a77613fcfa
2 changed files with 19 additions and 0 deletions

View File

@ -381,6 +381,10 @@ class VariableCommentPicker(ast.NodeVisitor):
self.context.pop()
self.current_function = None
def visit_AsyncFunctionDef(self, node):
# type: (ast.AsyncFunctionDef) -> None
self.visit_FunctionDef(node) # type: ignore
class DefinitionFinder(TokenProcessor):
def __init__(self, lines):

View File

@ -314,6 +314,21 @@ def test_decorators():
'Foo.method': ('def', 13, 15)}
def test_async_function_and_method():
source = ('async def some_function():\n'
' """docstring"""\n'
' a = 1 + 1 #: comment1\n'
'\n'
'class Foo:\n'
' async def method(self):\n'
' pass\n')
parser = Parser(source)
parser.parse()
assert parser.definitions == {'some_function': ('def', 1, 3),
'Foo': ('class', 5, 7),
'Foo.method': ('def', 6, 7)}
def test_formfeed_char():
source = ('class Foo:\n'
'\f\n'