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

Function _parse_extras_list

tools/gyp/pylib/packaging/_parser.py:178–202  ·  view source on GitHub ↗

extras_list = identifier (wsp* ',' wsp* identifier)*

(tokenizer: Tokenizer)

Source from the content-addressed store, hash-verified

176
177
178def _parse_extras_list(tokenizer: Tokenizer) -> List[str]:
179 """
180 extras_list = identifier (wsp* ',' wsp* identifier)*
181 """
182 extras: List[str] = []
183
184 if not tokenizer.check("IDENTIFIER"):
185 return extras
186
187 extras.append(tokenizer.read().text)
188
189 while True:
190 tokenizer.consume("WS")
191 if tokenizer.check("IDENTIFIER", peek=True):
192 tokenizer.raise_syntax_error("Expected comma between extra names")
193 elif not tokenizer.check("COMMA"):
194 break
195
196 tokenizer.read()
197 tokenizer.consume("WS")
198
199 extra_token = tokenizer.expect("IDENTIFIER", expected="extra name after comma")
200 extras.append(extra_token.text)
201
202 return extras
203
204
205def _parse_specifier(tokenizer: Tokenizer) -> str:

Callers 1

_parse_extrasFunction · 0.85

Calls 6

raise_syntax_errorMethod · 0.80
checkMethod · 0.45
appendMethod · 0.45
readMethod · 0.45
consumeMethod · 0.45
expectMethod · 0.45

Tested by

no test coverage detected