mirror of
https://github.com/github/codeql.git
synced 2026-04-29 10:45:15 +02:00
Python: Allow list_splats as type annotations
That is, the `*T` in `def foo(*args : *T): ...`. This is apparently a piece of syntax we did not support correctly until now. In terms of the grammar, we simply add `list_splat` as a possible alternative for `type` (which could previously only be an `expression`). We also update `python.tsg` to not specify `expression` those places (as the relevant stanzas will then not work for `list_splat`s). This syntax is not supported by the old parser, hence we only add a new parser test for it.
This commit is contained in:
@@ -963,7 +963,7 @@ module.exports = grammar({
|
||||
field('type', $.type)
|
||||
)),
|
||||
|
||||
type: $ => $.expression,
|
||||
type: $ => choice($.list_splat, $.expression),
|
||||
|
||||
keyword_argument: $ => seq(
|
||||
field('name', choice($.identifier, $.keyword_identifier)),
|
||||
|
||||
Reference in New Issue
Block a user