(self, node)
| 340 | return node |
| 341 | |
| 342 | def parse_signature(self, node): |
| 343 | node.args = args = [] |
| 344 | node.defaults = defaults = [] |
| 345 | self.stream.expect('lparen') |
| 346 | while self.stream.current.type != 'rparen': |
| 347 | if args: |
| 348 | self.stream.expect('comma') |
| 349 | arg = self.parse_assign_target(name_only=True) |
| 350 | arg.set_ctx('param') |
| 351 | if self.stream.skip_if('assign'): |
| 352 | defaults.append(self.parse_expression()) |
| 353 | elif defaults: |
| 354 | self.fail('non-default argument follows default argument') |
| 355 | args.append(arg) |
| 356 | self.stream.expect('rparen') |
| 357 | |
| 358 | def parse_call_block(self): |
| 359 | node = nodes.CallBlock(lineno=next(self.stream).lineno) |
no test coverage detected