mirror of
https://github.com/astral-sh/ruff.git
synced 2025-09-26 20:10:09 +00:00
Add a TypeParams
node to the AST (#6261)
## Summary Similar to #6259, this PR adds a `TypeParams` node to the AST, to capture the list of type parameters with their surrounding brackets. If a statement lacks type parameters, the `type_params` field will be `None`.
This commit is contained in:
parent
981e64f82b
commit
b095b7204b
31 changed files with 1104 additions and 866 deletions
|
@ -7,10 +7,12 @@ Ok(
|
|||
FunctionDef(
|
||||
StmtFunctionDef {
|
||||
range: 0..23,
|
||||
decorator_list: [],
|
||||
name: Identifier {
|
||||
id: "f",
|
||||
range: 4..5,
|
||||
},
|
||||
type_params: None,
|
||||
parameters: Parameters {
|
||||
range: 5..17,
|
||||
posonlyargs: [],
|
||||
|
@ -56,6 +58,7 @@ Ok(
|
|||
],
|
||||
kwarg: None,
|
||||
},
|
||||
returns: None,
|
||||
body: [
|
||||
Pass(
|
||||
StmtPass {
|
||||
|
@ -63,9 +66,6 @@ Ok(
|
|||
},
|
||||
),
|
||||
],
|
||||
decorator_list: [],
|
||||
returns: None,
|
||||
type_params: [],
|
||||
},
|
||||
),
|
||||
],
|
||||
|
|
|
@ -7,10 +7,12 @@ Ok(
|
|||
FunctionDef(
|
||||
StmtFunctionDef {
|
||||
range: 0..29,
|
||||
decorator_list: [],
|
||||
name: Identifier {
|
||||
id: "f",
|
||||
range: 4..5,
|
||||
},
|
||||
type_params: None,
|
||||
parameters: Parameters {
|
||||
range: 5..23,
|
||||
posonlyargs: [],
|
||||
|
@ -76,6 +78,7 @@ Ok(
|
|||
],
|
||||
kwarg: None,
|
||||
},
|
||||
returns: None,
|
||||
body: [
|
||||
Pass(
|
||||
StmtPass {
|
||||
|
@ -83,9 +86,6 @@ Ok(
|
|||
},
|
||||
),
|
||||
],
|
||||
decorator_list: [],
|
||||
returns: None,
|
||||
type_params: [],
|
||||
},
|
||||
),
|
||||
],
|
||||
|
|
|
@ -7,10 +7,12 @@ Ok(
|
|||
FunctionDef(
|
||||
StmtFunctionDef {
|
||||
range: 0..13,
|
||||
decorator_list: [],
|
||||
name: Identifier {
|
||||
id: "f",
|
||||
range: 4..5,
|
||||
},
|
||||
type_params: None,
|
||||
parameters: Parameters {
|
||||
range: 5..7,
|
||||
posonlyargs: [],
|
||||
|
@ -19,6 +21,7 @@ Ok(
|
|||
kwonlyargs: [],
|
||||
kwarg: None,
|
||||
},
|
||||
returns: None,
|
||||
body: [
|
||||
Pass(
|
||||
StmtPass {
|
||||
|
@ -26,9 +29,6 @@ Ok(
|
|||
},
|
||||
),
|
||||
],
|
||||
decorator_list: [],
|
||||
returns: None,
|
||||
type_params: [],
|
||||
},
|
||||
),
|
||||
],
|
||||
|
|
|
@ -7,10 +7,12 @@ Ok(
|
|||
FunctionDef(
|
||||
StmtFunctionDef {
|
||||
range: 0..13,
|
||||
decorator_list: [],
|
||||
name: Identifier {
|
||||
id: "f",
|
||||
range: 4..5,
|
||||
},
|
||||
type_params: None,
|
||||
parameters: Parameters {
|
||||
range: 5..7,
|
||||
posonlyargs: [],
|
||||
|
@ -19,6 +21,7 @@ Ok(
|
|||
kwonlyargs: [],
|
||||
kwarg: None,
|
||||
},
|
||||
returns: None,
|
||||
body: [
|
||||
Pass(
|
||||
StmtPass {
|
||||
|
@ -26,9 +29,6 @@ Ok(
|
|||
},
|
||||
),
|
||||
],
|
||||
decorator_list: [],
|
||||
returns: None,
|
||||
type_params: [],
|
||||
},
|
||||
),
|
||||
],
|
||||
|
|
|
@ -7,10 +7,12 @@ Ok(
|
|||
FunctionDef(
|
||||
StmtFunctionDef {
|
||||
range: 0..32,
|
||||
decorator_list: [],
|
||||
name: Identifier {
|
||||
id: "f",
|
||||
range: 4..5,
|
||||
},
|
||||
type_params: None,
|
||||
parameters: Parameters {
|
||||
range: 5..26,
|
||||
posonlyargs: [],
|
||||
|
@ -93,6 +95,7 @@ Ok(
|
|||
],
|
||||
kwarg: None,
|
||||
},
|
||||
returns: None,
|
||||
body: [
|
||||
Pass(
|
||||
StmtPass {
|
||||
|
@ -100,9 +103,6 @@ Ok(
|
|||
},
|
||||
),
|
||||
],
|
||||
decorator_list: [],
|
||||
returns: None,
|
||||
type_params: [],
|
||||
},
|
||||
),
|
||||
],
|
||||
|
|
|
@ -7,10 +7,12 @@ Ok(
|
|||
FunctionDef(
|
||||
StmtFunctionDef {
|
||||
range: 0..38,
|
||||
decorator_list: [],
|
||||
name: Identifier {
|
||||
id: "f",
|
||||
range: 4..5,
|
||||
},
|
||||
type_params: None,
|
||||
parameters: Parameters {
|
||||
range: 5..32,
|
||||
posonlyargs: [],
|
||||
|
@ -113,6 +115,7 @@ Ok(
|
|||
],
|
||||
kwarg: None,
|
||||
},
|
||||
returns: None,
|
||||
body: [
|
||||
Pass(
|
||||
StmtPass {
|
||||
|
@ -120,9 +123,6 @@ Ok(
|
|||
},
|
||||
),
|
||||
],
|
||||
decorator_list: [],
|
||||
returns: None,
|
||||
type_params: [],
|
||||
},
|
||||
),
|
||||
],
|
||||
|
|
|
@ -7,10 +7,12 @@ Ok(
|
|||
FunctionDef(
|
||||
StmtFunctionDef {
|
||||
range: 0..42,
|
||||
decorator_list: [],
|
||||
name: Identifier {
|
||||
id: "f",
|
||||
range: 4..5,
|
||||
},
|
||||
type_params: None,
|
||||
parameters: Parameters {
|
||||
range: 5..36,
|
||||
posonlyargs: [],
|
||||
|
@ -122,6 +124,7 @@ Ok(
|
|||
],
|
||||
kwarg: None,
|
||||
},
|
||||
returns: None,
|
||||
body: [
|
||||
Pass(
|
||||
StmtPass {
|
||||
|
@ -129,9 +132,6 @@ Ok(
|
|||
},
|
||||
),
|
||||
],
|
||||
decorator_list: [],
|
||||
returns: None,
|
||||
type_params: [],
|
||||
},
|
||||
),
|
||||
],
|
||||
|
|
|
@ -7,10 +7,12 @@ Ok(
|
|||
FunctionDef(
|
||||
StmtFunctionDef {
|
||||
range: 0..52,
|
||||
decorator_list: [],
|
||||
name: Identifier {
|
||||
id: "f",
|
||||
range: 4..5,
|
||||
},
|
||||
type_params: None,
|
||||
parameters: Parameters {
|
||||
range: 5..46,
|
||||
posonlyargs: [],
|
||||
|
@ -131,6 +133,7 @@ Ok(
|
|||
},
|
||||
),
|
||||
},
|
||||
returns: None,
|
||||
body: [
|
||||
Pass(
|
||||
StmtPass {
|
||||
|
@ -138,9 +141,6 @@ Ok(
|
|||
},
|
||||
),
|
||||
],
|
||||
decorator_list: [],
|
||||
returns: None,
|
||||
type_params: [],
|
||||
},
|
||||
),
|
||||
],
|
||||
|
|
|
@ -7,10 +7,12 @@ Ok(
|
|||
FunctionDef(
|
||||
StmtFunctionDef {
|
||||
range: 0..20,
|
||||
decorator_list: [],
|
||||
name: Identifier {
|
||||
id: "f",
|
||||
range: 4..5,
|
||||
},
|
||||
type_params: None,
|
||||
parameters: Parameters {
|
||||
range: 5..14,
|
||||
posonlyargs: [],
|
||||
|
@ -56,6 +58,7 @@ Ok(
|
|||
kwonlyargs: [],
|
||||
kwarg: None,
|
||||
},
|
||||
returns: None,
|
||||
body: [
|
||||
Pass(
|
||||
StmtPass {
|
||||
|
@ -63,9 +66,6 @@ Ok(
|
|||
},
|
||||
),
|
||||
],
|
||||
decorator_list: [],
|
||||
returns: None,
|
||||
type_params: [],
|
||||
},
|
||||
),
|
||||
],
|
||||
|
|
|
@ -7,10 +7,12 @@ Ok(
|
|||
FunctionDef(
|
||||
StmtFunctionDef {
|
||||
range: 0..26,
|
||||
decorator_list: [],
|
||||
name: Identifier {
|
||||
id: "f",
|
||||
range: 4..5,
|
||||
},
|
||||
type_params: None,
|
||||
parameters: Parameters {
|
||||
range: 5..20,
|
||||
posonlyargs: [],
|
||||
|
@ -76,6 +78,7 @@ Ok(
|
|||
kwonlyargs: [],
|
||||
kwarg: None,
|
||||
},
|
||||
returns: None,
|
||||
body: [
|
||||
Pass(
|
||||
StmtPass {
|
||||
|
@ -83,9 +86,6 @@ Ok(
|
|||
},
|
||||
),
|
||||
],
|
||||
decorator_list: [],
|
||||
returns: None,
|
||||
type_params: [],
|
||||
},
|
||||
),
|
||||
],
|
||||
|
|
|
@ -7,10 +7,12 @@ Ok(
|
|||
FunctionDef(
|
||||
StmtFunctionDef {
|
||||
range: 0..20,
|
||||
decorator_list: [],
|
||||
name: Identifier {
|
||||
id: "f",
|
||||
range: 4..5,
|
||||
},
|
||||
type_params: None,
|
||||
parameters: Parameters {
|
||||
range: 5..14,
|
||||
posonlyargs: [],
|
||||
|
@ -56,6 +58,7 @@ Ok(
|
|||
kwonlyargs: [],
|
||||
kwarg: None,
|
||||
},
|
||||
returns: None,
|
||||
body: [
|
||||
Pass(
|
||||
StmtPass {
|
||||
|
@ -63,9 +66,6 @@ Ok(
|
|||
},
|
||||
),
|
||||
],
|
||||
decorator_list: [],
|
||||
returns: None,
|
||||
type_params: [],
|
||||
},
|
||||
),
|
||||
],
|
||||
|
|
|
@ -6,25 +6,6 @@ expression: parse_ast
|
|||
FunctionDef(
|
||||
StmtFunctionDef {
|
||||
range: 0..34,
|
||||
name: Identifier {
|
||||
id: "test",
|
||||
range: 18..22,
|
||||
},
|
||||
parameters: Parameters {
|
||||
range: 22..24,
|
||||
posonlyargs: [],
|
||||
args: [],
|
||||
vararg: None,
|
||||
kwonlyargs: [],
|
||||
kwarg: None,
|
||||
},
|
||||
body: [
|
||||
Pass(
|
||||
StmtPass {
|
||||
range: 30..34,
|
||||
},
|
||||
),
|
||||
],
|
||||
decorator_list: [
|
||||
Decorator {
|
||||
range: 0..13,
|
||||
|
@ -37,26 +18,32 @@ expression: parse_ast
|
|||
),
|
||||
},
|
||||
],
|
||||
name: Identifier {
|
||||
id: "test",
|
||||
range: 18..22,
|
||||
},
|
||||
type_params: None,
|
||||
parameters: Parameters {
|
||||
range: 22..24,
|
||||
posonlyargs: [],
|
||||
args: [],
|
||||
vararg: None,
|
||||
kwonlyargs: [],
|
||||
kwarg: None,
|
||||
},
|
||||
returns: None,
|
||||
type_params: [],
|
||||
body: [
|
||||
Pass(
|
||||
StmtPass {
|
||||
range: 30..34,
|
||||
},
|
||||
),
|
||||
],
|
||||
},
|
||||
),
|
||||
ClassDef(
|
||||
StmtClassDef {
|
||||
range: 36..73,
|
||||
name: Identifier {
|
||||
id: "Abcd",
|
||||
range: 59..63,
|
||||
},
|
||||
arguments: None,
|
||||
body: [
|
||||
Pass(
|
||||
StmtPass {
|
||||
range: 69..73,
|
||||
},
|
||||
),
|
||||
],
|
||||
type_params: [],
|
||||
decorator_list: [
|
||||
Decorator {
|
||||
range: 36..52,
|
||||
|
@ -69,6 +56,19 @@ expression: parse_ast
|
|||
),
|
||||
},
|
||||
],
|
||||
name: Identifier {
|
||||
id: "Abcd",
|
||||
range: 59..63,
|
||||
},
|
||||
type_params: None,
|
||||
arguments: None,
|
||||
body: [
|
||||
Pass(
|
||||
StmtPass {
|
||||
range: 69..73,
|
||||
},
|
||||
),
|
||||
],
|
||||
},
|
||||
),
|
||||
]
|
||||
|
|
|
@ -125,10 +125,12 @@ Module(
|
|||
FunctionDef(
|
||||
StmtFunctionDef {
|
||||
range: 566..626,
|
||||
decorator_list: [],
|
||||
name: Identifier {
|
||||
id: "foo",
|
||||
range: 570..573,
|
||||
},
|
||||
type_params: None,
|
||||
parameters: Parameters {
|
||||
range: 573..575,
|
||||
posonlyargs: [],
|
||||
|
@ -137,6 +139,7 @@ Module(
|
|||
kwonlyargs: [],
|
||||
kwarg: None,
|
||||
},
|
||||
returns: None,
|
||||
body: [
|
||||
Return(
|
||||
StmtReturn {
|
||||
|
@ -170,9 +173,6 @@ Module(
|
|||
},
|
||||
),
|
||||
],
|
||||
decorator_list: [],
|
||||
returns: None,
|
||||
type_params: [],
|
||||
},
|
||||
),
|
||||
LineMagic(
|
||||
|
|
|
@ -6,10 +6,12 @@ expression: "parse_suite(source, \"<test>\").unwrap()"
|
|||
ClassDef(
|
||||
StmtClassDef {
|
||||
range: 0..98,
|
||||
decorator_list: [],
|
||||
name: Identifier {
|
||||
id: "Foo",
|
||||
range: 6..9,
|
||||
},
|
||||
type_params: None,
|
||||
arguments: Some(
|
||||
Arguments {
|
||||
range: 9..15,
|
||||
|
@ -36,10 +38,12 @@ expression: "parse_suite(source, \"<test>\").unwrap()"
|
|||
FunctionDef(
|
||||
StmtFunctionDef {
|
||||
range: 18..44,
|
||||
decorator_list: [],
|
||||
name: Identifier {
|
||||
id: "__init__",
|
||||
range: 22..30,
|
||||
},
|
||||
type_params: None,
|
||||
parameters: Parameters {
|
||||
range: 30..36,
|
||||
posonlyargs: [],
|
||||
|
@ -61,6 +65,7 @@ expression: "parse_suite(source, \"<test>\").unwrap()"
|
|||
kwonlyargs: [],
|
||||
kwarg: None,
|
||||
},
|
||||
returns: None,
|
||||
body: [
|
||||
Pass(
|
||||
StmtPass {
|
||||
|
@ -68,18 +73,17 @@ expression: "parse_suite(source, \"<test>\").unwrap()"
|
|||
},
|
||||
),
|
||||
],
|
||||
decorator_list: [],
|
||||
returns: None,
|
||||
type_params: [],
|
||||
},
|
||||
),
|
||||
FunctionDef(
|
||||
StmtFunctionDef {
|
||||
range: 46..98,
|
||||
decorator_list: [],
|
||||
name: Identifier {
|
||||
id: "method_with_default",
|
||||
range: 50..69,
|
||||
},
|
||||
type_params: None,
|
||||
parameters: Parameters {
|
||||
range: 69..90,
|
||||
posonlyargs: [],
|
||||
|
@ -123,6 +127,7 @@ expression: "parse_suite(source, \"<test>\").unwrap()"
|
|||
kwonlyargs: [],
|
||||
kwarg: None,
|
||||
},
|
||||
returns: None,
|
||||
body: [
|
||||
Pass(
|
||||
StmtPass {
|
||||
|
@ -130,14 +135,9 @@ expression: "parse_suite(source, \"<test>\").unwrap()"
|
|||
},
|
||||
),
|
||||
],
|
||||
decorator_list: [],
|
||||
returns: None,
|
||||
type_params: [],
|
||||
},
|
||||
),
|
||||
],
|
||||
type_params: [],
|
||||
decorator_list: [],
|
||||
},
|
||||
),
|
||||
]
|
||||
|
|
|
@ -6,10 +6,28 @@ expression: "parse_suite(source, \"<test>\").unwrap()"
|
|||
ClassDef(
|
||||
StmtClassDef {
|
||||
range: 10..29,
|
||||
decorator_list: [],
|
||||
name: Identifier {
|
||||
id: "Foo",
|
||||
range: 16..19,
|
||||
},
|
||||
type_params: Some(
|
||||
TypeParams {
|
||||
range: 19..22,
|
||||
type_params: [
|
||||
TypeVar(
|
||||
TypeParamTypeVar {
|
||||
range: 20..21,
|
||||
name: Identifier {
|
||||
id: "T",
|
||||
range: 20..21,
|
||||
},
|
||||
bound: None,
|
||||
},
|
||||
),
|
||||
],
|
||||
},
|
||||
),
|
||||
arguments: Some(
|
||||
Arguments {
|
||||
range: 22..24,
|
||||
|
@ -31,28 +49,41 @@ expression: "parse_suite(source, \"<test>\").unwrap()"
|
|||
},
|
||||
),
|
||||
],
|
||||
type_params: [
|
||||
TypeVar(
|
||||
TypeParamTypeVar {
|
||||
range: 20..21,
|
||||
name: Identifier {
|
||||
id: "T",
|
||||
range: 20..21,
|
||||
},
|
||||
bound: None,
|
||||
},
|
||||
),
|
||||
],
|
||||
decorator_list: [],
|
||||
},
|
||||
),
|
||||
ClassDef(
|
||||
StmtClassDef {
|
||||
range: 52..76,
|
||||
decorator_list: [],
|
||||
name: Identifier {
|
||||
id: "Foo",
|
||||
range: 58..61,
|
||||
},
|
||||
type_params: Some(
|
||||
TypeParams {
|
||||
range: 61..69,
|
||||
type_params: [
|
||||
TypeVar(
|
||||
TypeParamTypeVar {
|
||||
range: 62..68,
|
||||
name: Identifier {
|
||||
id: "T",
|
||||
range: 62..63,
|
||||
},
|
||||
bound: Some(
|
||||
Name(
|
||||
ExprName {
|
||||
range: 65..68,
|
||||
id: "str",
|
||||
ctx: Load,
|
||||
},
|
||||
),
|
||||
),
|
||||
},
|
||||
),
|
||||
],
|
||||
},
|
||||
),
|
||||
arguments: Some(
|
||||
Arguments {
|
||||
range: 69..71,
|
||||
|
@ -74,36 +105,56 @@ expression: "parse_suite(source, \"<test>\").unwrap()"
|
|||
},
|
||||
),
|
||||
],
|
||||
type_params: [
|
||||
TypeVar(
|
||||
TypeParamTypeVar {
|
||||
range: 62..68,
|
||||
name: Identifier {
|
||||
id: "T",
|
||||
range: 62..63,
|
||||
},
|
||||
bound: Some(
|
||||
Name(
|
||||
ExprName {
|
||||
range: 65..68,
|
||||
id: "str",
|
||||
ctx: Load,
|
||||
},
|
||||
),
|
||||
),
|
||||
},
|
||||
),
|
||||
],
|
||||
decorator_list: [],
|
||||
},
|
||||
),
|
||||
ClassDef(
|
||||
StmtClassDef {
|
||||
range: 105..138,
|
||||
decorator_list: [],
|
||||
name: Identifier {
|
||||
id: "Foo",
|
||||
range: 111..114,
|
||||
},
|
||||
type_params: Some(
|
||||
TypeParams {
|
||||
range: 114..131,
|
||||
type_params: [
|
||||
TypeVar(
|
||||
TypeParamTypeVar {
|
||||
range: 115..130,
|
||||
name: Identifier {
|
||||
id: "T",
|
||||
range: 115..116,
|
||||
},
|
||||
bound: Some(
|
||||
Tuple(
|
||||
ExprTuple {
|
||||
range: 118..130,
|
||||
elts: [
|
||||
Name(
|
||||
ExprName {
|
||||
range: 119..122,
|
||||
id: "str",
|
||||
ctx: Load,
|
||||
},
|
||||
),
|
||||
Name(
|
||||
ExprName {
|
||||
range: 124..129,
|
||||
id: "bytes",
|
||||
ctx: Load,
|
||||
},
|
||||
),
|
||||
],
|
||||
ctx: Load,
|
||||
},
|
||||
),
|
||||
),
|
||||
},
|
||||
),
|
||||
],
|
||||
},
|
||||
),
|
||||
arguments: Some(
|
||||
Arguments {
|
||||
range: 131..133,
|
||||
|
@ -125,51 +176,43 @@ expression: "parse_suite(source, \"<test>\").unwrap()"
|
|||
},
|
||||
),
|
||||
],
|
||||
type_params: [
|
||||
TypeVar(
|
||||
TypeParamTypeVar {
|
||||
range: 115..130,
|
||||
name: Identifier {
|
||||
id: "T",
|
||||
range: 115..116,
|
||||
},
|
||||
bound: Some(
|
||||
Tuple(
|
||||
ExprTuple {
|
||||
range: 118..130,
|
||||
elts: [
|
||||
Name(
|
||||
ExprName {
|
||||
range: 119..122,
|
||||
id: "str",
|
||||
ctx: Load,
|
||||
},
|
||||
),
|
||||
Name(
|
||||
ExprName {
|
||||
range: 124..129,
|
||||
id: "bytes",
|
||||
ctx: Load,
|
||||
},
|
||||
),
|
||||
],
|
||||
ctx: Load,
|
||||
},
|
||||
),
|
||||
),
|
||||
},
|
||||
),
|
||||
],
|
||||
decorator_list: [],
|
||||
},
|
||||
),
|
||||
ClassDef(
|
||||
StmtClassDef {
|
||||
range: 159..181,
|
||||
decorator_list: [],
|
||||
name: Identifier {
|
||||
id: "Foo",
|
||||
range: 165..168,
|
||||
},
|
||||
type_params: Some(
|
||||
TypeParams {
|
||||
range: 168..174,
|
||||
type_params: [
|
||||
TypeVar(
|
||||
TypeParamTypeVar {
|
||||
range: 169..170,
|
||||
name: Identifier {
|
||||
id: "T",
|
||||
range: 169..170,
|
||||
},
|
||||
bound: None,
|
||||
},
|
||||
),
|
||||
TypeVar(
|
||||
TypeParamTypeVar {
|
||||
range: 172..173,
|
||||
name: Identifier {
|
||||
id: "U",
|
||||
range: 172..173,
|
||||
},
|
||||
bound: None,
|
||||
},
|
||||
),
|
||||
],
|
||||
},
|
||||
),
|
||||
arguments: Some(
|
||||
Arguments {
|
||||
range: 174..176,
|
||||
|
@ -191,38 +234,43 @@ expression: "parse_suite(source, \"<test>\").unwrap()"
|
|||
},
|
||||
),
|
||||
],
|
||||
type_params: [
|
||||
TypeVar(
|
||||
TypeParamTypeVar {
|
||||
range: 169..170,
|
||||
name: Identifier {
|
||||
id: "T",
|
||||
range: 169..170,
|
||||
},
|
||||
bound: None,
|
||||
},
|
||||
),
|
||||
TypeVar(
|
||||
TypeParamTypeVar {
|
||||
range: 172..173,
|
||||
name: Identifier {
|
||||
id: "U",
|
||||
range: 172..173,
|
||||
},
|
||||
bound: None,
|
||||
},
|
||||
),
|
||||
],
|
||||
decorator_list: [],
|
||||
},
|
||||
),
|
||||
ClassDef(
|
||||
StmtClassDef {
|
||||
range: 200..223,
|
||||
decorator_list: [],
|
||||
name: Identifier {
|
||||
id: "Foo",
|
||||
range: 206..209,
|
||||
},
|
||||
type_params: Some(
|
||||
TypeParams {
|
||||
range: 209..216,
|
||||
type_params: [
|
||||
TypeVar(
|
||||
TypeParamTypeVar {
|
||||
range: 210..211,
|
||||
name: Identifier {
|
||||
id: "T",
|
||||
range: 210..211,
|
||||
},
|
||||
bound: None,
|
||||
},
|
||||
),
|
||||
TypeVar(
|
||||
TypeParamTypeVar {
|
||||
range: 213..214,
|
||||
name: Identifier {
|
||||
id: "U",
|
||||
range: 213..214,
|
||||
},
|
||||
bound: None,
|
||||
},
|
||||
),
|
||||
],
|
||||
},
|
||||
),
|
||||
arguments: Some(
|
||||
Arguments {
|
||||
range: 216..218,
|
||||
|
@ -244,38 +292,32 @@ expression: "parse_suite(source, \"<test>\").unwrap()"
|
|||
},
|
||||
),
|
||||
],
|
||||
type_params: [
|
||||
TypeVar(
|
||||
TypeParamTypeVar {
|
||||
range: 210..211,
|
||||
name: Identifier {
|
||||
id: "T",
|
||||
range: 210..211,
|
||||
},
|
||||
bound: None,
|
||||
},
|
||||
),
|
||||
TypeVar(
|
||||
TypeParamTypeVar {
|
||||
range: 213..214,
|
||||
name: Identifier {
|
||||
id: "U",
|
||||
range: 213..214,
|
||||
},
|
||||
bound: None,
|
||||
},
|
||||
),
|
||||
],
|
||||
decorator_list: [],
|
||||
},
|
||||
),
|
||||
ClassDef(
|
||||
StmtClassDef {
|
||||
range: 240..261,
|
||||
decorator_list: [],
|
||||
name: Identifier {
|
||||
id: "Foo",
|
||||
range: 246..249,
|
||||
},
|
||||
type_params: Some(
|
||||
TypeParams {
|
||||
range: 249..254,
|
||||
type_params: [
|
||||
TypeVarTuple(
|
||||
TypeParamTypeVarTuple {
|
||||
range: 250..253,
|
||||
name: Identifier {
|
||||
id: "Ts",
|
||||
range: 251..253,
|
||||
},
|
||||
},
|
||||
),
|
||||
],
|
||||
},
|
||||
),
|
||||
arguments: Some(
|
||||
Arguments {
|
||||
range: 254..256,
|
||||
|
@ -297,27 +339,32 @@ expression: "parse_suite(source, \"<test>\").unwrap()"
|
|||
},
|
||||
),
|
||||
],
|
||||
type_params: [
|
||||
TypeVarTuple(
|
||||
TypeParamTypeVarTuple {
|
||||
range: 250..253,
|
||||
name: Identifier {
|
||||
id: "Ts",
|
||||
range: 251..253,
|
||||
},
|
||||
},
|
||||
),
|
||||
],
|
||||
decorator_list: [],
|
||||
},
|
||||
),
|
||||
ClassDef(
|
||||
StmtClassDef {
|
||||
range: 275..296,
|
||||
decorator_list: [],
|
||||
name: Identifier {
|
||||
id: "Foo",
|
||||
range: 281..284,
|
||||
},
|
||||
type_params: Some(
|
||||
TypeParams {
|
||||
range: 284..289,
|
||||
type_params: [
|
||||
ParamSpec(
|
||||
TypeParamParamSpec {
|
||||
range: 285..288,
|
||||
name: Identifier {
|
||||
id: "P",
|
||||
range: 287..288,
|
||||
},
|
||||
},
|
||||
),
|
||||
],
|
||||
},
|
||||
),
|
||||
arguments: Some(
|
||||
Arguments {
|
||||
range: 289..291,
|
||||
|
@ -339,27 +386,69 @@ expression: "parse_suite(source, \"<test>\").unwrap()"
|
|||
},
|
||||
),
|
||||
],
|
||||
type_params: [
|
||||
ParamSpec(
|
||||
TypeParamParamSpec {
|
||||
range: 285..288,
|
||||
name: Identifier {
|
||||
id: "P",
|
||||
range: 287..288,
|
||||
},
|
||||
},
|
||||
),
|
||||
],
|
||||
decorator_list: [],
|
||||
},
|
||||
),
|
||||
ClassDef(
|
||||
StmtClassDef {
|
||||
range: 312..351,
|
||||
decorator_list: [],
|
||||
name: Identifier {
|
||||
id: "Foo",
|
||||
range: 318..321,
|
||||
},
|
||||
type_params: Some(
|
||||
TypeParams {
|
||||
range: 321..341,
|
||||
type_params: [
|
||||
TypeVar(
|
||||
TypeParamTypeVar {
|
||||
range: 322..323,
|
||||
name: Identifier {
|
||||
id: "X",
|
||||
range: 322..323,
|
||||
},
|
||||
bound: None,
|
||||
},
|
||||
),
|
||||
TypeVar(
|
||||
TypeParamTypeVar {
|
||||
range: 325..331,
|
||||
name: Identifier {
|
||||
id: "Y",
|
||||
range: 325..326,
|
||||
},
|
||||
bound: Some(
|
||||
Name(
|
||||
ExprName {
|
||||
range: 328..331,
|
||||
id: "str",
|
||||
ctx: Load,
|
||||
},
|
||||
),
|
||||
),
|
||||
},
|
||||
),
|
||||
TypeVarTuple(
|
||||
TypeParamTypeVarTuple {
|
||||
range: 333..335,
|
||||
name: Identifier {
|
||||
id: "U",
|
||||
range: 334..335,
|
||||
},
|
||||
},
|
||||
),
|
||||
ParamSpec(
|
||||
TypeParamParamSpec {
|
||||
range: 337..340,
|
||||
name: Identifier {
|
||||
id: "P",
|
||||
range: 339..340,
|
||||
},
|
||||
},
|
||||
),
|
||||
],
|
||||
},
|
||||
),
|
||||
arguments: Some(
|
||||
Arguments {
|
||||
range: 341..343,
|
||||
|
@ -374,55 +463,6 @@ expression: "parse_suite(source, \"<test>\").unwrap()"
|
|||
},
|
||||
),
|
||||
],
|
||||
type_params: [
|
||||
TypeVar(
|
||||
TypeParamTypeVar {
|
||||
range: 322..323,
|
||||
name: Identifier {
|
||||
id: "X",
|
||||
range: 322..323,
|
||||
},
|
||||
bound: None,
|
||||
},
|
||||
),
|
||||
TypeVar(
|
||||
TypeParamTypeVar {
|
||||
range: 325..331,
|
||||
name: Identifier {
|
||||
id: "Y",
|
||||
range: 325..326,
|
||||
},
|
||||
bound: Some(
|
||||
Name(
|
||||
ExprName {
|
||||
range: 328..331,
|
||||
id: "str",
|
||||
ctx: Load,
|
||||
},
|
||||
),
|
||||
),
|
||||
},
|
||||
),
|
||||
TypeVarTuple(
|
||||
TypeParamTypeVarTuple {
|
||||
range: 333..335,
|
||||
name: Identifier {
|
||||
id: "U",
|
||||
range: 334..335,
|
||||
},
|
||||
},
|
||||
),
|
||||
ParamSpec(
|
||||
TypeParamParamSpec {
|
||||
range: 337..340,
|
||||
name: Identifier {
|
||||
id: "P",
|
||||
range: 339..340,
|
||||
},
|
||||
},
|
||||
),
|
||||
],
|
||||
decorator_list: [],
|
||||
},
|
||||
),
|
||||
]
|
||||
|
|
|
@ -6,10 +6,12 @@ expression: "parse_suite(source, \"<test>\").unwrap()"
|
|||
FunctionDef(
|
||||
StmtFunctionDef {
|
||||
range: 0..20,
|
||||
decorator_list: [],
|
||||
name: Identifier {
|
||||
id: "func",
|
||||
range: 4..8,
|
||||
},
|
||||
type_params: None,
|
||||
parameters: Parameters {
|
||||
range: 8..11,
|
||||
posonlyargs: [],
|
||||
|
@ -31,6 +33,7 @@ expression: "parse_suite(source, \"<test>\").unwrap()"
|
|||
kwonlyargs: [],
|
||||
kwarg: None,
|
||||
},
|
||||
returns: None,
|
||||
body: [
|
||||
Expr(
|
||||
StmtExpr {
|
||||
|
@ -45,18 +48,33 @@ expression: "parse_suite(source, \"<test>\").unwrap()"
|
|||
},
|
||||
),
|
||||
],
|
||||
decorator_list: [],
|
||||
returns: None,
|
||||
type_params: [],
|
||||
},
|
||||
),
|
||||
FunctionDef(
|
||||
StmtFunctionDef {
|
||||
range: 22..53,
|
||||
decorator_list: [],
|
||||
name: Identifier {
|
||||
id: "func",
|
||||
range: 26..30,
|
||||
},
|
||||
type_params: Some(
|
||||
TypeParams {
|
||||
range: 30..33,
|
||||
type_params: [
|
||||
TypeVar(
|
||||
TypeParamTypeVar {
|
||||
range: 31..32,
|
||||
name: Identifier {
|
||||
id: "T",
|
||||
range: 31..32,
|
||||
},
|
||||
bound: None,
|
||||
},
|
||||
),
|
||||
],
|
||||
},
|
||||
),
|
||||
parameters: Parameters {
|
||||
range: 33..39,
|
||||
posonlyargs: [],
|
||||
|
@ -86,6 +104,15 @@ expression: "parse_suite(source, \"<test>\").unwrap()"
|
|||
kwonlyargs: [],
|
||||
kwarg: None,
|
||||
},
|
||||
returns: Some(
|
||||
Name(
|
||||
ExprName {
|
||||
range: 43..44,
|
||||
id: "T",
|
||||
ctx: Load,
|
||||
},
|
||||
),
|
||||
),
|
||||
body: [
|
||||
Expr(
|
||||
StmtExpr {
|
||||
|
@ -100,37 +127,41 @@ expression: "parse_suite(source, \"<test>\").unwrap()"
|
|||
},
|
||||
),
|
||||
],
|
||||
decorator_list: [],
|
||||
returns: Some(
|
||||
Name(
|
||||
ExprName {
|
||||
range: 43..44,
|
||||
id: "T",
|
||||
ctx: Load,
|
||||
},
|
||||
),
|
||||
),
|
||||
type_params: [
|
||||
TypeVar(
|
||||
TypeParamTypeVar {
|
||||
range: 31..32,
|
||||
name: Identifier {
|
||||
id: "T",
|
||||
range: 31..32,
|
||||
},
|
||||
bound: None,
|
||||
},
|
||||
),
|
||||
],
|
||||
},
|
||||
),
|
||||
FunctionDef(
|
||||
StmtFunctionDef {
|
||||
range: 55..91,
|
||||
decorator_list: [],
|
||||
name: Identifier {
|
||||
id: "func",
|
||||
range: 59..63,
|
||||
},
|
||||
type_params: Some(
|
||||
TypeParams {
|
||||
range: 63..71,
|
||||
type_params: [
|
||||
TypeVar(
|
||||
TypeParamTypeVar {
|
||||
range: 64..70,
|
||||
name: Identifier {
|
||||
id: "T",
|
||||
range: 64..65,
|
||||
},
|
||||
bound: Some(
|
||||
Name(
|
||||
ExprName {
|
||||
range: 67..70,
|
||||
id: "str",
|
||||
ctx: Load,
|
||||
},
|
||||
),
|
||||
),
|
||||
},
|
||||
),
|
||||
],
|
||||
},
|
||||
),
|
||||
parameters: Parameters {
|
||||
range: 71..77,
|
||||
posonlyargs: [],
|
||||
|
@ -160,6 +191,15 @@ expression: "parse_suite(source, \"<test>\").unwrap()"
|
|||
kwonlyargs: [],
|
||||
kwarg: None,
|
||||
},
|
||||
returns: Some(
|
||||
Name(
|
||||
ExprName {
|
||||
range: 81..82,
|
||||
id: "T",
|
||||
ctx: Load,
|
||||
},
|
||||
),
|
||||
),
|
||||
body: [
|
||||
Expr(
|
||||
StmtExpr {
|
||||
|
@ -174,45 +214,56 @@ expression: "parse_suite(source, \"<test>\").unwrap()"
|
|||
},
|
||||
),
|
||||
],
|
||||
decorator_list: [],
|
||||
returns: Some(
|
||||
Name(
|
||||
ExprName {
|
||||
range: 81..82,
|
||||
id: "T",
|
||||
ctx: Load,
|
||||
},
|
||||
),
|
||||
),
|
||||
type_params: [
|
||||
TypeVar(
|
||||
TypeParamTypeVar {
|
||||
range: 64..70,
|
||||
name: Identifier {
|
||||
id: "T",
|
||||
range: 64..65,
|
||||
},
|
||||
bound: Some(
|
||||
Name(
|
||||
ExprName {
|
||||
range: 67..70,
|
||||
id: "str",
|
||||
ctx: Load,
|
||||
},
|
||||
),
|
||||
),
|
||||
},
|
||||
),
|
||||
],
|
||||
},
|
||||
),
|
||||
FunctionDef(
|
||||
StmtFunctionDef {
|
||||
range: 93..138,
|
||||
decorator_list: [],
|
||||
name: Identifier {
|
||||
id: "func",
|
||||
range: 97..101,
|
||||
},
|
||||
type_params: Some(
|
||||
TypeParams {
|
||||
range: 101..118,
|
||||
type_params: [
|
||||
TypeVar(
|
||||
TypeParamTypeVar {
|
||||
range: 102..117,
|
||||
name: Identifier {
|
||||
id: "T",
|
||||
range: 102..103,
|
||||
},
|
||||
bound: Some(
|
||||
Tuple(
|
||||
ExprTuple {
|
||||
range: 105..117,
|
||||
elts: [
|
||||
Name(
|
||||
ExprName {
|
||||
range: 106..109,
|
||||
id: "str",
|
||||
ctx: Load,
|
||||
},
|
||||
),
|
||||
Name(
|
||||
ExprName {
|
||||
range: 111..116,
|
||||
id: "bytes",
|
||||
ctx: Load,
|
||||
},
|
||||
),
|
||||
],
|
||||
ctx: Load,
|
||||
},
|
||||
),
|
||||
),
|
||||
},
|
||||
),
|
||||
],
|
||||
},
|
||||
),
|
||||
parameters: Parameters {
|
||||
range: 118..124,
|
||||
posonlyargs: [],
|
||||
|
@ -242,6 +293,15 @@ expression: "parse_suite(source, \"<test>\").unwrap()"
|
|||
kwonlyargs: [],
|
||||
kwarg: None,
|
||||
},
|
||||
returns: Some(
|
||||
Name(
|
||||
ExprName {
|
||||
range: 128..129,
|
||||
id: "T",
|
||||
ctx: Load,
|
||||
},
|
||||
),
|
||||
),
|
||||
body: [
|
||||
Expr(
|
||||
StmtExpr {
|
||||
|
@ -256,60 +316,32 @@ expression: "parse_suite(source, \"<test>\").unwrap()"
|
|||
},
|
||||
),
|
||||
],
|
||||
decorator_list: [],
|
||||
returns: Some(
|
||||
Name(
|
||||
ExprName {
|
||||
range: 128..129,
|
||||
id: "T",
|
||||
ctx: Load,
|
||||
},
|
||||
),
|
||||
),
|
||||
type_params: [
|
||||
TypeVar(
|
||||
TypeParamTypeVar {
|
||||
range: 102..117,
|
||||
name: Identifier {
|
||||
id: "T",
|
||||
range: 102..103,
|
||||
},
|
||||
bound: Some(
|
||||
Tuple(
|
||||
ExprTuple {
|
||||
range: 105..117,
|
||||
elts: [
|
||||
Name(
|
||||
ExprName {
|
||||
range: 106..109,
|
||||
id: "str",
|
||||
ctx: Load,
|
||||
},
|
||||
),
|
||||
Name(
|
||||
ExprName {
|
||||
range: 111..116,
|
||||
id: "bytes",
|
||||
ctx: Load,
|
||||
},
|
||||
),
|
||||
],
|
||||
ctx: Load,
|
||||
},
|
||||
),
|
||||
),
|
||||
},
|
||||
),
|
||||
],
|
||||
},
|
||||
),
|
||||
FunctionDef(
|
||||
StmtFunctionDef {
|
||||
range: 140..171,
|
||||
decorator_list: [],
|
||||
name: Identifier {
|
||||
id: "func",
|
||||
range: 144..148,
|
||||
},
|
||||
type_params: Some(
|
||||
TypeParams {
|
||||
range: 148..153,
|
||||
type_params: [
|
||||
TypeVarTuple(
|
||||
TypeParamTypeVarTuple {
|
||||
range: 149..152,
|
||||
name: Identifier {
|
||||
id: "Ts",
|
||||
range: 150..152,
|
||||
},
|
||||
},
|
||||
),
|
||||
],
|
||||
},
|
||||
),
|
||||
parameters: Parameters {
|
||||
range: 153..162,
|
||||
posonlyargs: [],
|
||||
|
@ -341,6 +373,7 @@ expression: "parse_suite(source, \"<test>\").unwrap()"
|
|||
kwonlyargs: [],
|
||||
kwarg: None,
|
||||
},
|
||||
returns: None,
|
||||
body: [
|
||||
Expr(
|
||||
StmtExpr {
|
||||
|
@ -355,28 +388,32 @@ expression: "parse_suite(source, \"<test>\").unwrap()"
|
|||
},
|
||||
),
|
||||
],
|
||||
decorator_list: [],
|
||||
returns: None,
|
||||
type_params: [
|
||||
TypeVarTuple(
|
||||
TypeParamTypeVarTuple {
|
||||
range: 149..152,
|
||||
name: Identifier {
|
||||
id: "Ts",
|
||||
range: 150..152,
|
||||
},
|
||||
},
|
||||
),
|
||||
],
|
||||
},
|
||||
),
|
||||
FunctionDef(
|
||||
StmtFunctionDef {
|
||||
range: 173..230,
|
||||
decorator_list: [],
|
||||
name: Identifier {
|
||||
id: "func",
|
||||
range: 177..181,
|
||||
},
|
||||
type_params: Some(
|
||||
TypeParams {
|
||||
range: 181..186,
|
||||
type_params: [
|
||||
ParamSpec(
|
||||
TypeParamParamSpec {
|
||||
range: 182..185,
|
||||
name: Identifier {
|
||||
id: "P",
|
||||
range: 184..185,
|
||||
},
|
||||
},
|
||||
),
|
||||
],
|
||||
},
|
||||
),
|
||||
parameters: Parameters {
|
||||
range: 186..221,
|
||||
posonlyargs: [],
|
||||
|
@ -439,6 +476,7 @@ expression: "parse_suite(source, \"<test>\").unwrap()"
|
|||
},
|
||||
),
|
||||
},
|
||||
returns: None,
|
||||
body: [
|
||||
Expr(
|
||||
StmtExpr {
|
||||
|
@ -453,28 +491,69 @@ expression: "parse_suite(source, \"<test>\").unwrap()"
|
|||
},
|
||||
),
|
||||
],
|
||||
decorator_list: [],
|
||||
returns: None,
|
||||
type_params: [
|
||||
ParamSpec(
|
||||
TypeParamParamSpec {
|
||||
range: 182..185,
|
||||
name: Identifier {
|
||||
id: "P",
|
||||
range: 184..185,
|
||||
},
|
||||
},
|
||||
),
|
||||
],
|
||||
},
|
||||
),
|
||||
FunctionDef(
|
||||
StmtFunctionDef {
|
||||
range: 232..273,
|
||||
decorator_list: [],
|
||||
name: Identifier {
|
||||
id: "func",
|
||||
range: 236..240,
|
||||
},
|
||||
type_params: Some(
|
||||
TypeParams {
|
||||
range: 240..261,
|
||||
type_params: [
|
||||
TypeVar(
|
||||
TypeParamTypeVar {
|
||||
range: 241..242,
|
||||
name: Identifier {
|
||||
id: "T",
|
||||
range: 241..242,
|
||||
},
|
||||
bound: None,
|
||||
},
|
||||
),
|
||||
TypeVar(
|
||||
TypeParamTypeVar {
|
||||
range: 244..250,
|
||||
name: Identifier {
|
||||
id: "U",
|
||||
range: 244..245,
|
||||
},
|
||||
bound: Some(
|
||||
Name(
|
||||
ExprName {
|
||||
range: 247..250,
|
||||
id: "str",
|
||||
ctx: Load,
|
||||
},
|
||||
),
|
||||
),
|
||||
},
|
||||
),
|
||||
TypeVarTuple(
|
||||
TypeParamTypeVarTuple {
|
||||
range: 252..255,
|
||||
name: Identifier {
|
||||
id: "Ts",
|
||||
range: 253..255,
|
||||
},
|
||||
},
|
||||
),
|
||||
ParamSpec(
|
||||
TypeParamParamSpec {
|
||||
range: 257..260,
|
||||
name: Identifier {
|
||||
id: "P",
|
||||
range: 259..260,
|
||||
},
|
||||
},
|
||||
),
|
||||
],
|
||||
},
|
||||
),
|
||||
parameters: Parameters {
|
||||
range: 261..263,
|
||||
posonlyargs: [],
|
||||
|
@ -483,6 +562,7 @@ expression: "parse_suite(source, \"<test>\").unwrap()"
|
|||
kwonlyargs: [],
|
||||
kwarg: None,
|
||||
},
|
||||
returns: None,
|
||||
body: [
|
||||
Pass(
|
||||
StmtPass {
|
||||
|
@ -490,56 +570,6 @@ expression: "parse_suite(source, \"<test>\").unwrap()"
|
|||
},
|
||||
),
|
||||
],
|
||||
decorator_list: [],
|
||||
returns: None,
|
||||
type_params: [
|
||||
TypeVar(
|
||||
TypeParamTypeVar {
|
||||
range: 241..242,
|
||||
name: Identifier {
|
||||
id: "T",
|
||||
range: 241..242,
|
||||
},
|
||||
bound: None,
|
||||
},
|
||||
),
|
||||
TypeVar(
|
||||
TypeParamTypeVar {
|
||||
range: 244..250,
|
||||
name: Identifier {
|
||||
id: "U",
|
||||
range: 244..245,
|
||||
},
|
||||
bound: Some(
|
||||
Name(
|
||||
ExprName {
|
||||
range: 247..250,
|
||||
id: "str",
|
||||
ctx: Load,
|
||||
},
|
||||
),
|
||||
),
|
||||
},
|
||||
),
|
||||
TypeVarTuple(
|
||||
TypeParamTypeVarTuple {
|
||||
range: 252..255,
|
||||
name: Identifier {
|
||||
id: "Ts",
|
||||
range: 253..255,
|
||||
},
|
||||
},
|
||||
),
|
||||
ParamSpec(
|
||||
TypeParamParamSpec {
|
||||
range: 257..260,
|
||||
name: Identifier {
|
||||
id: "P",
|
||||
range: 259..260,
|
||||
},
|
||||
},
|
||||
),
|
||||
],
|
||||
},
|
||||
),
|
||||
]
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/parser.rs
|
||||
expression: "ast::Suite::parse(source, \"<test>\").unwrap()"
|
||||
expression: "parse_suite(source, \"<test>\").unwrap()"
|
||||
---
|
||||
[
|
||||
TypeAlias(
|
||||
|
@ -13,7 +13,7 @@ expression: "ast::Suite::parse(source, \"<test>\").unwrap()"
|
|||
ctx: Store,
|
||||
},
|
||||
),
|
||||
type_params: [],
|
||||
type_params: None,
|
||||
value: Name(
|
||||
ExprName {
|
||||
range: 10..13,
|
||||
|
@ -33,7 +33,7 @@ expression: "ast::Suite::parse(source, \"<test>\").unwrap()"
|
|||
ctx: Store,
|
||||
},
|
||||
),
|
||||
type_params: [],
|
||||
type_params: None,
|
||||
value: BinOp(
|
||||
ExprBinOp {
|
||||
range: 23..32,
|
||||
|
@ -66,7 +66,7 @@ expression: "ast::Suite::parse(source, \"<test>\").unwrap()"
|
|||
ctx: Store,
|
||||
},
|
||||
),
|
||||
type_params: [],
|
||||
type_params: None,
|
||||
value: BinOp(
|
||||
ExprBinOp {
|
||||
range: 42..61,
|
||||
|
@ -101,18 +101,23 @@ expression: "ast::Suite::parse(source, \"<test>\").unwrap()"
|
|||
ctx: Store,
|
||||
},
|
||||
),
|
||||
type_params: [
|
||||
TypeVar(
|
||||
TypeParamTypeVar {
|
||||
range: 69..70,
|
||||
name: Identifier {
|
||||
id: "T",
|
||||
range: 69..70,
|
||||
},
|
||||
bound: None,
|
||||
},
|
||||
),
|
||||
],
|
||||
type_params: Some(
|
||||
TypeParams {
|
||||
range: 68..71,
|
||||
type_params: [
|
||||
TypeVar(
|
||||
TypeParamTypeVar {
|
||||
range: 69..70,
|
||||
name: Identifier {
|
||||
id: "T",
|
||||
range: 69..70,
|
||||
},
|
||||
bound: None,
|
||||
},
|
||||
),
|
||||
],
|
||||
},
|
||||
),
|
||||
value: BinOp(
|
||||
ExprBinOp {
|
||||
range: 74..88,
|
||||
|
@ -171,18 +176,23 @@ expression: "ast::Suite::parse(source, \"<test>\").unwrap()"
|
|||
ctx: Store,
|
||||
},
|
||||
),
|
||||
type_params: [
|
||||
TypeVar(
|
||||
TypeParamTypeVar {
|
||||
range: 109..110,
|
||||
name: Identifier {
|
||||
id: "T",
|
||||
range: 109..110,
|
||||
},
|
||||
bound: None,
|
||||
},
|
||||
),
|
||||
],
|
||||
type_params: Some(
|
||||
TypeParams {
|
||||
range: 108..111,
|
||||
type_params: [
|
||||
TypeVar(
|
||||
TypeParamTypeVar {
|
||||
range: 109..110,
|
||||
name: Identifier {
|
||||
id: "T",
|
||||
range: 109..110,
|
||||
},
|
||||
bound: None,
|
||||
},
|
||||
),
|
||||
],
|
||||
},
|
||||
),
|
||||
value: Name(
|
||||
ExprName {
|
||||
range: 114..117,
|
||||
|
@ -202,18 +212,23 @@ expression: "ast::Suite::parse(source, \"<test>\").unwrap()"
|
|||
ctx: Store,
|
||||
},
|
||||
),
|
||||
type_params: [
|
||||
TypeVar(
|
||||
TypeParamTypeVar {
|
||||
range: 125..126,
|
||||
name: Identifier {
|
||||
id: "T",
|
||||
range: 125..126,
|
||||
},
|
||||
bound: None,
|
||||
},
|
||||
),
|
||||
],
|
||||
type_params: Some(
|
||||
TypeParams {
|
||||
range: 124..127,
|
||||
type_params: [
|
||||
TypeVar(
|
||||
TypeParamTypeVar {
|
||||
range: 125..126,
|
||||
name: Identifier {
|
||||
id: "T",
|
||||
range: 125..126,
|
||||
},
|
||||
bound: None,
|
||||
},
|
||||
),
|
||||
],
|
||||
},
|
||||
),
|
||||
value: BinOp(
|
||||
ExprBinOp {
|
||||
range: 130..146,
|
||||
|
@ -272,36 +287,41 @@ expression: "ast::Suite::parse(source, \"<test>\").unwrap()"
|
|||
ctx: Store,
|
||||
},
|
||||
),
|
||||
type_params: [
|
||||
TypeVar(
|
||||
TypeParamTypeVar {
|
||||
range: 154..155,
|
||||
name: Identifier {
|
||||
id: "T",
|
||||
range: 154..155,
|
||||
},
|
||||
bound: None,
|
||||
},
|
||||
),
|
||||
TypeVarTuple(
|
||||
TypeParamTypeVarTuple {
|
||||
range: 157..160,
|
||||
name: Identifier {
|
||||
id: "Ts",
|
||||
range: 158..160,
|
||||
},
|
||||
},
|
||||
),
|
||||
ParamSpec(
|
||||
TypeParamParamSpec {
|
||||
range: 162..165,
|
||||
name: Identifier {
|
||||
id: "P",
|
||||
range: 164..165,
|
||||
},
|
||||
},
|
||||
),
|
||||
],
|
||||
type_params: Some(
|
||||
TypeParams {
|
||||
range: 153..166,
|
||||
type_params: [
|
||||
TypeVar(
|
||||
TypeParamTypeVar {
|
||||
range: 154..155,
|
||||
name: Identifier {
|
||||
id: "T",
|
||||
range: 154..155,
|
||||
},
|
||||
bound: None,
|
||||
},
|
||||
),
|
||||
TypeVarTuple(
|
||||
TypeParamTypeVarTuple {
|
||||
range: 157..160,
|
||||
name: Identifier {
|
||||
id: "Ts",
|
||||
range: 158..160,
|
||||
},
|
||||
},
|
||||
),
|
||||
ParamSpec(
|
||||
TypeParamParamSpec {
|
||||
range: 162..165,
|
||||
name: Identifier {
|
||||
id: "P",
|
||||
range: 164..165,
|
||||
},
|
||||
},
|
||||
),
|
||||
],
|
||||
},
|
||||
),
|
||||
value: Tuple(
|
||||
ExprTuple {
|
||||
range: 169..179,
|
||||
|
@ -343,44 +363,49 @@ expression: "ast::Suite::parse(source, \"<test>\").unwrap()"
|
|||
ctx: Store,
|
||||
},
|
||||
),
|
||||
type_params: [
|
||||
TypeVar(
|
||||
TypeParamTypeVar {
|
||||
range: 187..193,
|
||||
name: Identifier {
|
||||
id: "T",
|
||||
range: 187..188,
|
||||
},
|
||||
bound: Some(
|
||||
Name(
|
||||
ExprName {
|
||||
range: 190..193,
|
||||
id: "int",
|
||||
ctx: Load,
|
||||
type_params: Some(
|
||||
TypeParams {
|
||||
range: 186..204,
|
||||
type_params: [
|
||||
TypeVar(
|
||||
TypeParamTypeVar {
|
||||
range: 187..193,
|
||||
name: Identifier {
|
||||
id: "T",
|
||||
range: 187..188,
|
||||
},
|
||||
),
|
||||
bound: Some(
|
||||
Name(
|
||||
ExprName {
|
||||
range: 190..193,
|
||||
id: "int",
|
||||
ctx: Load,
|
||||
},
|
||||
),
|
||||
),
|
||||
},
|
||||
),
|
||||
},
|
||||
),
|
||||
TypeVarTuple(
|
||||
TypeParamTypeVarTuple {
|
||||
range: 195..198,
|
||||
name: Identifier {
|
||||
id: "Ts",
|
||||
range: 196..198,
|
||||
},
|
||||
},
|
||||
),
|
||||
ParamSpec(
|
||||
TypeParamParamSpec {
|
||||
range: 200..203,
|
||||
name: Identifier {
|
||||
id: "P",
|
||||
range: 202..203,
|
||||
},
|
||||
},
|
||||
),
|
||||
],
|
||||
TypeVarTuple(
|
||||
TypeParamTypeVarTuple {
|
||||
range: 195..198,
|
||||
name: Identifier {
|
||||
id: "Ts",
|
||||
range: 196..198,
|
||||
},
|
||||
},
|
||||
),
|
||||
ParamSpec(
|
||||
TypeParamParamSpec {
|
||||
range: 200..203,
|
||||
name: Identifier {
|
||||
id: "P",
|
||||
range: 202..203,
|
||||
},
|
||||
},
|
||||
),
|
||||
],
|
||||
},
|
||||
),
|
||||
value: Tuple(
|
||||
ExprTuple {
|
||||
range: 207..217,
|
||||
|
@ -422,59 +447,64 @@ expression: "ast::Suite::parse(source, \"<test>\").unwrap()"
|
|||
ctx: Store,
|
||||
},
|
||||
),
|
||||
type_params: [
|
||||
TypeVar(
|
||||
TypeParamTypeVar {
|
||||
range: 225..238,
|
||||
name: Identifier {
|
||||
id: "T",
|
||||
range: 225..226,
|
||||
},
|
||||
bound: Some(
|
||||
Tuple(
|
||||
ExprTuple {
|
||||
range: 228..238,
|
||||
elts: [
|
||||
Name(
|
||||
ExprName {
|
||||
range: 229..232,
|
||||
id: "int",
|
||||
ctx: Load,
|
||||
},
|
||||
),
|
||||
Name(
|
||||
ExprName {
|
||||
range: 234..237,
|
||||
id: "str",
|
||||
ctx: Load,
|
||||
},
|
||||
),
|
||||
],
|
||||
ctx: Load,
|
||||
type_params: Some(
|
||||
TypeParams {
|
||||
range: 224..249,
|
||||
type_params: [
|
||||
TypeVar(
|
||||
TypeParamTypeVar {
|
||||
range: 225..238,
|
||||
name: Identifier {
|
||||
id: "T",
|
||||
range: 225..226,
|
||||
},
|
||||
),
|
||||
bound: Some(
|
||||
Tuple(
|
||||
ExprTuple {
|
||||
range: 228..238,
|
||||
elts: [
|
||||
Name(
|
||||
ExprName {
|
||||
range: 229..232,
|
||||
id: "int",
|
||||
ctx: Load,
|
||||
},
|
||||
),
|
||||
Name(
|
||||
ExprName {
|
||||
range: 234..237,
|
||||
id: "str",
|
||||
ctx: Load,
|
||||
},
|
||||
),
|
||||
],
|
||||
ctx: Load,
|
||||
},
|
||||
),
|
||||
),
|
||||
},
|
||||
),
|
||||
},
|
||||
),
|
||||
TypeVarTuple(
|
||||
TypeParamTypeVarTuple {
|
||||
range: 240..243,
|
||||
name: Identifier {
|
||||
id: "Ts",
|
||||
range: 241..243,
|
||||
},
|
||||
},
|
||||
),
|
||||
ParamSpec(
|
||||
TypeParamParamSpec {
|
||||
range: 245..248,
|
||||
name: Identifier {
|
||||
id: "P",
|
||||
range: 247..248,
|
||||
},
|
||||
},
|
||||
),
|
||||
],
|
||||
TypeVarTuple(
|
||||
TypeParamTypeVarTuple {
|
||||
range: 240..243,
|
||||
name: Identifier {
|
||||
id: "Ts",
|
||||
range: 241..243,
|
||||
},
|
||||
},
|
||||
),
|
||||
ParamSpec(
|
||||
TypeParamParamSpec {
|
||||
range: 245..248,
|
||||
name: Identifier {
|
||||
id: "P",
|
||||
range: 247..248,
|
||||
},
|
||||
},
|
||||
),
|
||||
],
|
||||
},
|
||||
),
|
||||
value: Tuple(
|
||||
ExprTuple {
|
||||
range: 252..262,
|
||||
|
@ -516,7 +546,7 @@ expression: "ast::Suite::parse(source, \"<test>\").unwrap()"
|
|||
ctx: Store,
|
||||
},
|
||||
),
|
||||
type_params: [],
|
||||
type_params: None,
|
||||
value: Name(
|
||||
ExprName {
|
||||
range: 305..308,
|
||||
|
@ -536,7 +566,7 @@ expression: "ast::Suite::parse(source, \"<test>\").unwrap()"
|
|||
ctx: Store,
|
||||
},
|
||||
),
|
||||
type_params: [],
|
||||
type_params: None,
|
||||
value: Name(
|
||||
ExprName {
|
||||
range: 322..325,
|
||||
|
@ -556,7 +586,7 @@ expression: "ast::Suite::parse(source, \"<test>\").unwrap()"
|
|||
ctx: Store,
|
||||
},
|
||||
),
|
||||
type_params: [],
|
||||
type_params: None,
|
||||
value: Name(
|
||||
ExprName {
|
||||
range: 338..341,
|
||||
|
@ -576,7 +606,7 @@ expression: "ast::Suite::parse(source, \"<test>\").unwrap()"
|
|||
ctx: Store,
|
||||
},
|
||||
),
|
||||
type_params: [],
|
||||
type_params: None,
|
||||
value: Name(
|
||||
ExprName {
|
||||
range: 378..382,
|
||||
|
@ -596,7 +626,7 @@ expression: "ast::Suite::parse(source, \"<test>\").unwrap()"
|
|||
ctx: Store,
|
||||
},
|
||||
),
|
||||
type_params: [],
|
||||
type_params: None,
|
||||
value: Name(
|
||||
ExprName {
|
||||
range: 394..399,
|
||||
|
@ -616,7 +646,7 @@ expression: "ast::Suite::parse(source, \"<test>\").unwrap()"
|
|||
ctx: Store,
|
||||
},
|
||||
),
|
||||
type_params: [],
|
||||
type_params: None,
|
||||
value: Name(
|
||||
ExprName {
|
||||
range: 411..415,
|
||||
|
@ -636,7 +666,7 @@ expression: "ast::Suite::parse(source, \"<test>\").unwrap()"
|
|||
ctx: Store,
|
||||
},
|
||||
),
|
||||
type_params: [],
|
||||
type_params: None,
|
||||
value: Name(
|
||||
ExprName {
|
||||
range: 451..454,
|
||||
|
@ -656,7 +686,7 @@ expression: "ast::Suite::parse(source, \"<test>\").unwrap()"
|
|||
ctx: Store,
|
||||
},
|
||||
),
|
||||
type_params: [],
|
||||
type_params: None,
|
||||
value: Name(
|
||||
ExprName {
|
||||
range: 467..470,
|
||||
|
@ -676,7 +706,7 @@ expression: "ast::Suite::parse(source, \"<test>\").unwrap()"
|
|||
ctx: Store,
|
||||
},
|
||||
),
|
||||
type_params: [],
|
||||
type_params: None,
|
||||
value: Name(
|
||||
ExprName {
|
||||
range: 483..486,
|
||||
|
@ -696,7 +726,7 @@ expression: "ast::Suite::parse(source, \"<test>\").unwrap()"
|
|||
ctx: Store,
|
||||
},
|
||||
),
|
||||
type_params: [],
|
||||
type_params: None,
|
||||
value: Name(
|
||||
ExprName {
|
||||
range: 502..505,
|
||||
|
@ -716,18 +746,23 @@ expression: "ast::Suite::parse(source, \"<test>\").unwrap()"
|
|||
ctx: Store,
|
||||
},
|
||||
),
|
||||
type_params: [
|
||||
TypeVar(
|
||||
TypeParamTypeVar {
|
||||
range: 521..522,
|
||||
name: Identifier {
|
||||
id: "T",
|
||||
range: 521..522,
|
||||
},
|
||||
bound: None,
|
||||
},
|
||||
),
|
||||
],
|
||||
type_params: Some(
|
||||
TypeParams {
|
||||
range: 520..523,
|
||||
type_params: [
|
||||
TypeVar(
|
||||
TypeParamTypeVar {
|
||||
range: 521..522,
|
||||
name: Identifier {
|
||||
id: "T",
|
||||
range: 521..522,
|
||||
},
|
||||
bound: None,
|
||||
},
|
||||
),
|
||||
],
|
||||
},
|
||||
),
|
||||
value: Name(
|
||||
ExprName {
|
||||
range: 526..527,
|
||||
|
@ -747,18 +782,23 @@ expression: "ast::Suite::parse(source, \"<test>\").unwrap()"
|
|||
ctx: Store,
|
||||
},
|
||||
),
|
||||
type_params: [
|
||||
TypeVar(
|
||||
TypeParamTypeVar {
|
||||
range: 542..543,
|
||||
name: Identifier {
|
||||
id: "T",
|
||||
range: 542..543,
|
||||
},
|
||||
bound: None,
|
||||
},
|
||||
),
|
||||
],
|
||||
type_params: Some(
|
||||
TypeParams {
|
||||
range: 541..544,
|
||||
type_params: [
|
||||
TypeVar(
|
||||
TypeParamTypeVar {
|
||||
range: 542..543,
|
||||
name: Identifier {
|
||||
id: "T",
|
||||
range: 542..543,
|
||||
},
|
||||
bound: None,
|
||||
},
|
||||
),
|
||||
],
|
||||
},
|
||||
),
|
||||
value: Name(
|
||||
ExprName {
|
||||
range: 547..548,
|
||||
|
@ -778,18 +818,23 @@ expression: "ast::Suite::parse(source, \"<test>\").unwrap()"
|
|||
ctx: Store,
|
||||
},
|
||||
),
|
||||
type_params: [
|
||||
TypeVar(
|
||||
TypeParamTypeVar {
|
||||
range: 556..557,
|
||||
name: Identifier {
|
||||
id: "T",
|
||||
range: 556..557,
|
||||
},
|
||||
bound: None,
|
||||
},
|
||||
),
|
||||
],
|
||||
type_params: Some(
|
||||
TypeParams {
|
||||
range: 555..558,
|
||||
type_params: [
|
||||
TypeVar(
|
||||
TypeParamTypeVar {
|
||||
range: 556..557,
|
||||
name: Identifier {
|
||||
id: "T",
|
||||
range: 556..557,
|
||||
},
|
||||
bound: None,
|
||||
},
|
||||
),
|
||||
],
|
||||
},
|
||||
),
|
||||
value: Name(
|
||||
ExprName {
|
||||
range: 567..568,
|
||||
|
|
|
@ -6,10 +6,12 @@ expression: parse_ast
|
|||
FunctionDef(
|
||||
StmtFunctionDef {
|
||||
range: 1..49,
|
||||
decorator_list: [],
|
||||
name: Identifier {
|
||||
id: "args_to_tuple",
|
||||
range: 5..18,
|
||||
},
|
||||
type_params: None,
|
||||
parameters: Parameters {
|
||||
range: 18..30,
|
||||
posonlyargs: [],
|
||||
|
@ -41,21 +43,6 @@ expression: parse_ast
|
|||
kwonlyargs: [],
|
||||
kwarg: None,
|
||||
},
|
||||
body: [
|
||||
Expr(
|
||||
StmtExpr {
|
||||
range: 46..49,
|
||||
value: Constant(
|
||||
ExprConstant {
|
||||
range: 46..49,
|
||||
value: Ellipsis,
|
||||
kind: None,
|
||||
},
|
||||
),
|
||||
},
|
||||
),
|
||||
],
|
||||
decorator_list: [],
|
||||
returns: Some(
|
||||
Subscript(
|
||||
ExprSubscript {
|
||||
|
@ -84,7 +71,20 @@ expression: parse_ast
|
|||
},
|
||||
),
|
||||
),
|
||||
type_params: [],
|
||||
body: [
|
||||
Expr(
|
||||
StmtExpr {
|
||||
range: 46..49,
|
||||
value: Constant(
|
||||
ExprConstant {
|
||||
range: 46..49,
|
||||
value: Ellipsis,
|
||||
kind: None,
|
||||
},
|
||||
),
|
||||
},
|
||||
),
|
||||
],
|
||||
},
|
||||
),
|
||||
]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue