mirror of
https://github.com/github/codeql.git
synced 2025-12-16 16:53:25 +01:00
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.
42 lines
1.2 KiB
Plaintext
42 lines
1.2 KiB
Plaintext
Module: [1, 0] - [3, 0]
|
|
body: [
|
|
Assign: [1, 0] - [1, 42]
|
|
targets: [
|
|
Name: [1, 4] - [1, 26]
|
|
variable: Variable('tuple_typed_list_splat', None)
|
|
ctx: Store
|
|
]
|
|
value:
|
|
FunctionExpr: [1, 0] - [1, 42]
|
|
name: 'tuple_typed_list_splat'
|
|
args:
|
|
arguments
|
|
defaults: []
|
|
kw_defaults: []
|
|
annotations: []
|
|
varargannotation:
|
|
Starred: [1, 35] - [1, 40]
|
|
value:
|
|
Name: [1, 36] - [1, 40]
|
|
variable: Variable('ARGS', None)
|
|
ctx: Load
|
|
ctx: Load
|
|
kwargannotation: None
|
|
kw_annotations: []
|
|
returns: None
|
|
inner_scope:
|
|
Function: [1, 0] - [1, 42]
|
|
name: 'tuple_typed_list_splat'
|
|
type_parameters: []
|
|
args: []
|
|
vararg:
|
|
Name: [1, 28] - [1, 32]
|
|
variable: Variable('args', None)
|
|
ctx: Param
|
|
kwonlyargs: []
|
|
kwarg: None
|
|
body: [
|
|
Pass: [2, 4] - [2, 8]
|
|
]
|
|
]
|