MCPcopy Create free account
hub / github.com/nodejs/node / parse_signature

Method parse_signature

deps/v8/third_party/jinja2/parser.py:402–416  ·  view source on GitHub ↗
(self, node: _MacroCall)

Source from the content-addressed store, hash-verified

400 return node
401
402 def parse_signature(self, node: _MacroCall) -> None:
403 args = node.args = []
404 defaults = node.defaults = []
405 self.stream.expect("lparen")
406 while self.stream.current.type != "rparen":
407 if args:
408 self.stream.expect("comma")
409 arg = self.parse_assign_target(name_only=True)
410 arg.set_ctx("param")
411 if self.stream.skip_if("assign"):
412 defaults.append(self.parse_expression())
413 elif defaults:
414 self.fail("non-default argument follows default argument")
415 args.append(arg)
416 self.stream.expect("rparen")
417
418 def parse_call_block(self) -> nodes.CallBlock:
419 node = nodes.CallBlock(lineno=next(self.stream).lineno)

Callers 2

parse_call_blockMethod · 0.95
parse_macroMethod · 0.95

Calls 7

parse_assign_targetMethod · 0.95
parse_expressionMethod · 0.95
failMethod · 0.95
expectMethod · 0.45
set_ctxMethod · 0.45
skip_ifMethod · 0.45
appendMethod · 0.45

Tested by

no test coverage detected