mirror of
https://github.com/astral-sh/ruff.git
synced 2025-08-19 01:50:38 +00:00
Fix incorrect Parameter
range for *args
and **kwargs
(#10283)
## Summary Fix #10282 This PR updates the Python grammar to include the `*` character in `*args` `**kwargs` in the range of the `Parameter` ``` def f(*args, **kwargs): pass # ~~~~ ~~~~~~ <-- range before the PR # ^^^^^ ^^^^^^^^ <-- range after ``` The invalid syntax `def f(*, **kwargs): ...` is also now correctly reported. ## Test Plan Test cases were added to `function.rs`.
This commit is contained in:
parent
b64f2ea401
commit
a067d87ccc
23 changed files with 28521 additions and 28529 deletions
|
@ -0,0 +1,100 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/function.rs
|
||||
expression: parse_ast
|
||||
---
|
||||
Ok(
|
||||
[
|
||||
FunctionDef(
|
||||
StmtFunctionDef {
|
||||
range: 0..39,
|
||||
is_async: false,
|
||||
decorator_list: [],
|
||||
name: Identifier {
|
||||
id: "f",
|
||||
range: 4..5,
|
||||
},
|
||||
type_params: None,
|
||||
parameters: Parameters {
|
||||
range: 5..33,
|
||||
posonlyargs: [],
|
||||
args: [],
|
||||
vararg: None,
|
||||
kwonlyargs: [
|
||||
ParameterWithDefault {
|
||||
range: 9..10,
|
||||
parameter: Parameter {
|
||||
range: 9..10,
|
||||
name: Identifier {
|
||||
id: "a",
|
||||
range: 9..10,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
default: None,
|
||||
},
|
||||
ParameterWithDefault {
|
||||
range: 12..16,
|
||||
parameter: Parameter {
|
||||
range: 12..13,
|
||||
name: Identifier {
|
||||
id: "b",
|
||||
range: 12..13,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
default: Some(
|
||||
NumberLiteral(
|
||||
ExprNumberLiteral {
|
||||
range: 14..16,
|
||||
value: Int(
|
||||
20,
|
||||
),
|
||||
},
|
||||
),
|
||||
),
|
||||
},
|
||||
ParameterWithDefault {
|
||||
range: 18..22,
|
||||
parameter: Parameter {
|
||||
range: 18..19,
|
||||
name: Identifier {
|
||||
id: "c",
|
||||
range: 18..19,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
default: Some(
|
||||
NumberLiteral(
|
||||
ExprNumberLiteral {
|
||||
range: 20..22,
|
||||
value: Int(
|
||||
30,
|
||||
),
|
||||
},
|
||||
),
|
||||
),
|
||||
},
|
||||
],
|
||||
kwarg: Some(
|
||||
Parameter {
|
||||
range: 24..32,
|
||||
name: Identifier {
|
||||
id: "kwargs",
|
||||
range: 26..32,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
),
|
||||
},
|
||||
returns: None,
|
||||
body: [
|
||||
Pass(
|
||||
StmtPass {
|
||||
range: 35..39,
|
||||
},
|
||||
),
|
||||
],
|
||||
},
|
||||
),
|
||||
],
|
||||
)
|
|
@ -0,0 +1,100 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/function.rs
|
||||
expression: parse_ast
|
||||
---
|
||||
Ok(
|
||||
[
|
||||
FunctionDef(
|
||||
StmtFunctionDef {
|
||||
range: 0..33,
|
||||
is_async: false,
|
||||
decorator_list: [],
|
||||
name: Identifier {
|
||||
id: "f",
|
||||
range: 4..5,
|
||||
},
|
||||
type_params: None,
|
||||
parameters: Parameters {
|
||||
range: 5..27,
|
||||
posonlyargs: [],
|
||||
args: [],
|
||||
vararg: Some(
|
||||
Parameter {
|
||||
range: 6..11,
|
||||
name: Identifier {
|
||||
id: "args",
|
||||
range: 7..11,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
),
|
||||
kwonlyargs: [
|
||||
ParameterWithDefault {
|
||||
range: 13..14,
|
||||
parameter: Parameter {
|
||||
range: 13..14,
|
||||
name: Identifier {
|
||||
id: "a",
|
||||
range: 13..14,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
default: None,
|
||||
},
|
||||
ParameterWithDefault {
|
||||
range: 16..20,
|
||||
parameter: Parameter {
|
||||
range: 16..17,
|
||||
name: Identifier {
|
||||
id: "b",
|
||||
range: 16..17,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
default: Some(
|
||||
NumberLiteral(
|
||||
ExprNumberLiteral {
|
||||
range: 18..20,
|
||||
value: Int(
|
||||
20,
|
||||
),
|
||||
},
|
||||
),
|
||||
),
|
||||
},
|
||||
ParameterWithDefault {
|
||||
range: 22..26,
|
||||
parameter: Parameter {
|
||||
range: 22..23,
|
||||
name: Identifier {
|
||||
id: "c",
|
||||
range: 22..23,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
default: Some(
|
||||
NumberLiteral(
|
||||
ExprNumberLiteral {
|
||||
range: 24..26,
|
||||
value: Int(
|
||||
30,
|
||||
),
|
||||
},
|
||||
),
|
||||
),
|
||||
},
|
||||
],
|
||||
kwarg: None,
|
||||
},
|
||||
returns: None,
|
||||
body: [
|
||||
Pass(
|
||||
StmtPass {
|
||||
range: 29..33,
|
||||
},
|
||||
),
|
||||
],
|
||||
},
|
||||
),
|
||||
],
|
||||
)
|
|
@ -0,0 +1,109 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/function.rs
|
||||
expression: parse_ast
|
||||
---
|
||||
Ok(
|
||||
[
|
||||
FunctionDef(
|
||||
StmtFunctionDef {
|
||||
range: 0..43,
|
||||
is_async: false,
|
||||
decorator_list: [],
|
||||
name: Identifier {
|
||||
id: "f",
|
||||
range: 4..5,
|
||||
},
|
||||
type_params: None,
|
||||
parameters: Parameters {
|
||||
range: 5..37,
|
||||
posonlyargs: [],
|
||||
args: [],
|
||||
vararg: Some(
|
||||
Parameter {
|
||||
range: 6..11,
|
||||
name: Identifier {
|
||||
id: "args",
|
||||
range: 7..11,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
),
|
||||
kwonlyargs: [
|
||||
ParameterWithDefault {
|
||||
range: 13..14,
|
||||
parameter: Parameter {
|
||||
range: 13..14,
|
||||
name: Identifier {
|
||||
id: "a",
|
||||
range: 13..14,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
default: None,
|
||||
},
|
||||
ParameterWithDefault {
|
||||
range: 16..20,
|
||||
parameter: Parameter {
|
||||
range: 16..17,
|
||||
name: Identifier {
|
||||
id: "b",
|
||||
range: 16..17,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
default: Some(
|
||||
NumberLiteral(
|
||||
ExprNumberLiteral {
|
||||
range: 18..20,
|
||||
value: Int(
|
||||
20,
|
||||
),
|
||||
},
|
||||
),
|
||||
),
|
||||
},
|
||||
ParameterWithDefault {
|
||||
range: 22..26,
|
||||
parameter: Parameter {
|
||||
range: 22..23,
|
||||
name: Identifier {
|
||||
id: "c",
|
||||
range: 22..23,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
default: Some(
|
||||
NumberLiteral(
|
||||
ExprNumberLiteral {
|
||||
range: 24..26,
|
||||
value: Int(
|
||||
30,
|
||||
),
|
||||
},
|
||||
),
|
||||
),
|
||||
},
|
||||
],
|
||||
kwarg: Some(
|
||||
Parameter {
|
||||
range: 28..36,
|
||||
name: Identifier {
|
||||
id: "kwargs",
|
||||
range: 30..36,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
),
|
||||
},
|
||||
returns: None,
|
||||
body: [
|
||||
Pass(
|
||||
StmtPass {
|
||||
range: 39..43,
|
||||
},
|
||||
),
|
||||
],
|
||||
},
|
||||
),
|
||||
],
|
||||
)
|
|
@ -6,7 +6,7 @@ Ok(
|
|||
[
|
||||
FunctionDef(
|
||||
StmtFunctionDef {
|
||||
range: 0..32,
|
||||
range: 0..35,
|
||||
is_async: false,
|
||||
decorator_list: [],
|
||||
name: Identifier {
|
||||
|
@ -15,9 +15,8 @@ Ok(
|
|||
},
|
||||
type_params: None,
|
||||
parameters: Parameters {
|
||||
range: 5..26,
|
||||
posonlyargs: [],
|
||||
args: [
|
||||
range: 5..29,
|
||||
posonlyargs: [
|
||||
ParameterWithDefault {
|
||||
range: 6..7,
|
||||
parameter: Parameter {
|
||||
|
@ -42,13 +41,15 @@ Ok(
|
|||
},
|
||||
default: None,
|
||||
},
|
||||
],
|
||||
args: [
|
||||
ParameterWithDefault {
|
||||
range: 12..13,
|
||||
range: 15..16,
|
||||
parameter: Parameter {
|
||||
range: 12..13,
|
||||
range: 15..16,
|
||||
name: Identifier {
|
||||
id: "c",
|
||||
range: 12..13,
|
||||
range: 15..16,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
|
@ -57,24 +58,12 @@ Ok(
|
|||
],
|
||||
vararg: None,
|
||||
kwonlyargs: [
|
||||
ParameterWithDefault {
|
||||
range: 18..19,
|
||||
parameter: Parameter {
|
||||
range: 18..19,
|
||||
name: Identifier {
|
||||
id: "d",
|
||||
range: 18..19,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
default: None,
|
||||
},
|
||||
ParameterWithDefault {
|
||||
range: 21..22,
|
||||
parameter: Parameter {
|
||||
range: 21..22,
|
||||
name: Identifier {
|
||||
id: "e",
|
||||
id: "d",
|
||||
range: 21..22,
|
||||
},
|
||||
annotation: None,
|
||||
|
@ -86,13 +75,25 @@ Ok(
|
|||
parameter: Parameter {
|
||||
range: 24..25,
|
||||
name: Identifier {
|
||||
id: "f",
|
||||
id: "e",
|
||||
range: 24..25,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
default: None,
|
||||
},
|
||||
ParameterWithDefault {
|
||||
range: 27..28,
|
||||
parameter: Parameter {
|
||||
range: 27..28,
|
||||
name: Identifier {
|
||||
id: "f",
|
||||
range: 27..28,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
default: None,
|
||||
},
|
||||
],
|
||||
kwarg: None,
|
||||
},
|
||||
|
@ -100,7 +101,7 @@ Ok(
|
|||
body: [
|
||||
Pass(
|
||||
StmtPass {
|
||||
range: 28..32,
|
||||
range: 31..35,
|
||||
},
|
||||
),
|
||||
],
|
||||
|
|
|
@ -6,7 +6,7 @@ Ok(
|
|||
[
|
||||
FunctionDef(
|
||||
StmtFunctionDef {
|
||||
range: 0..38,
|
||||
range: 0..41,
|
||||
is_async: false,
|
||||
decorator_list: [],
|
||||
name: Identifier {
|
||||
|
@ -15,9 +15,8 @@ Ok(
|
|||
},
|
||||
type_params: None,
|
||||
parameters: Parameters {
|
||||
range: 5..32,
|
||||
posonlyargs: [],
|
||||
args: [
|
||||
range: 5..35,
|
||||
posonlyargs: [
|
||||
ParameterWithDefault {
|
||||
range: 6..7,
|
||||
parameter: Parameter {
|
||||
|
@ -42,13 +41,15 @@ Ok(
|
|||
},
|
||||
default: None,
|
||||
},
|
||||
],
|
||||
args: [
|
||||
ParameterWithDefault {
|
||||
range: 12..13,
|
||||
range: 15..16,
|
||||
parameter: Parameter {
|
||||
range: 12..13,
|
||||
range: 15..16,
|
||||
name: Identifier {
|
||||
id: "c",
|
||||
range: 12..13,
|
||||
range: 15..16,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
|
@ -58,31 +59,31 @@ Ok(
|
|||
vararg: None,
|
||||
kwonlyargs: [
|
||||
ParameterWithDefault {
|
||||
range: 18..19,
|
||||
range: 21..22,
|
||||
parameter: Parameter {
|
||||
range: 18..19,
|
||||
range: 21..22,
|
||||
name: Identifier {
|
||||
id: "d",
|
||||
range: 18..19,
|
||||
range: 21..22,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
default: None,
|
||||
},
|
||||
ParameterWithDefault {
|
||||
range: 21..25,
|
||||
range: 24..28,
|
||||
parameter: Parameter {
|
||||
range: 21..22,
|
||||
range: 24..25,
|
||||
name: Identifier {
|
||||
id: "e",
|
||||
range: 21..22,
|
||||
range: 24..25,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
default: Some(
|
||||
NumberLiteral(
|
||||
ExprNumberLiteral {
|
||||
range: 23..25,
|
||||
range: 26..28,
|
||||
value: Int(
|
||||
20,
|
||||
),
|
||||
|
@ -91,19 +92,19 @@ Ok(
|
|||
),
|
||||
},
|
||||
ParameterWithDefault {
|
||||
range: 27..31,
|
||||
range: 30..34,
|
||||
parameter: Parameter {
|
||||
range: 27..28,
|
||||
range: 30..31,
|
||||
name: Identifier {
|
||||
id: "f",
|
||||
range: 27..28,
|
||||
range: 30..31,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
default: Some(
|
||||
NumberLiteral(
|
||||
ExprNumberLiteral {
|
||||
range: 29..31,
|
||||
range: 32..34,
|
||||
value: Int(
|
||||
30,
|
||||
),
|
||||
|
@ -118,7 +119,7 @@ Ok(
|
|||
body: [
|
||||
Pass(
|
||||
StmtPass {
|
||||
range: 34..38,
|
||||
range: 37..41,
|
||||
},
|
||||
),
|
||||
],
|
||||
|
|
|
@ -0,0 +1,138 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/function.rs
|
||||
expression: parse_ast
|
||||
---
|
||||
Ok(
|
||||
[
|
||||
FunctionDef(
|
||||
StmtFunctionDef {
|
||||
range: 0..51,
|
||||
is_async: false,
|
||||
decorator_list: [],
|
||||
name: Identifier {
|
||||
id: "f",
|
||||
range: 4..5,
|
||||
},
|
||||
type_params: None,
|
||||
parameters: Parameters {
|
||||
range: 5..45,
|
||||
posonlyargs: [
|
||||
ParameterWithDefault {
|
||||
range: 6..7,
|
||||
parameter: Parameter {
|
||||
range: 6..7,
|
||||
name: Identifier {
|
||||
id: "a",
|
||||
range: 6..7,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
default: None,
|
||||
},
|
||||
ParameterWithDefault {
|
||||
range: 9..10,
|
||||
parameter: Parameter {
|
||||
range: 9..10,
|
||||
name: Identifier {
|
||||
id: "b",
|
||||
range: 9..10,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
default: None,
|
||||
},
|
||||
],
|
||||
args: [
|
||||
ParameterWithDefault {
|
||||
range: 15..16,
|
||||
parameter: Parameter {
|
||||
range: 15..16,
|
||||
name: Identifier {
|
||||
id: "c",
|
||||
range: 15..16,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
default: None,
|
||||
},
|
||||
],
|
||||
vararg: None,
|
||||
kwonlyargs: [
|
||||
ParameterWithDefault {
|
||||
range: 21..22,
|
||||
parameter: Parameter {
|
||||
range: 21..22,
|
||||
name: Identifier {
|
||||
id: "d",
|
||||
range: 21..22,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
default: None,
|
||||
},
|
||||
ParameterWithDefault {
|
||||
range: 24..28,
|
||||
parameter: Parameter {
|
||||
range: 24..25,
|
||||
name: Identifier {
|
||||
id: "e",
|
||||
range: 24..25,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
default: Some(
|
||||
NumberLiteral(
|
||||
ExprNumberLiteral {
|
||||
range: 26..28,
|
||||
value: Int(
|
||||
20,
|
||||
),
|
||||
},
|
||||
),
|
||||
),
|
||||
},
|
||||
ParameterWithDefault {
|
||||
range: 30..34,
|
||||
parameter: Parameter {
|
||||
range: 30..31,
|
||||
name: Identifier {
|
||||
id: "f",
|
||||
range: 30..31,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
default: Some(
|
||||
NumberLiteral(
|
||||
ExprNumberLiteral {
|
||||
range: 32..34,
|
||||
value: Int(
|
||||
30,
|
||||
),
|
||||
},
|
||||
),
|
||||
),
|
||||
},
|
||||
],
|
||||
kwarg: Some(
|
||||
Parameter {
|
||||
range: 36..44,
|
||||
name: Identifier {
|
||||
id: "kwargs",
|
||||
range: 38..44,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
),
|
||||
},
|
||||
returns: None,
|
||||
body: [
|
||||
Pass(
|
||||
StmtPass {
|
||||
range: 47..51,
|
||||
},
|
||||
),
|
||||
],
|
||||
},
|
||||
),
|
||||
],
|
||||
)
|
|
@ -6,7 +6,7 @@ Ok(
|
|||
[
|
||||
FunctionDef(
|
||||
StmtFunctionDef {
|
||||
range: 0..42,
|
||||
range: 0..45,
|
||||
is_async: false,
|
||||
decorator_list: [],
|
||||
name: Identifier {
|
||||
|
@ -15,9 +15,8 @@ Ok(
|
|||
},
|
||||
type_params: None,
|
||||
parameters: Parameters {
|
||||
range: 5..36,
|
||||
posonlyargs: [],
|
||||
args: [
|
||||
range: 5..39,
|
||||
posonlyargs: [
|
||||
ParameterWithDefault {
|
||||
range: 6..7,
|
||||
parameter: Parameter {
|
||||
|
@ -42,13 +41,15 @@ Ok(
|
|||
},
|
||||
default: None,
|
||||
},
|
||||
],
|
||||
args: [
|
||||
ParameterWithDefault {
|
||||
range: 12..13,
|
||||
range: 15..16,
|
||||
parameter: Parameter {
|
||||
range: 12..13,
|
||||
range: 15..16,
|
||||
name: Identifier {
|
||||
id: "c",
|
||||
range: 12..13,
|
||||
range: 15..16,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
|
@ -57,41 +58,41 @@ Ok(
|
|||
],
|
||||
vararg: Some(
|
||||
Parameter {
|
||||
range: 16..20,
|
||||
range: 18..23,
|
||||
name: Identifier {
|
||||
id: "args",
|
||||
range: 16..20,
|
||||
range: 19..23,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
),
|
||||
kwonlyargs: [
|
||||
ParameterWithDefault {
|
||||
range: 22..23,
|
||||
range: 25..26,
|
||||
parameter: Parameter {
|
||||
range: 22..23,
|
||||
range: 25..26,
|
||||
name: Identifier {
|
||||
id: "d",
|
||||
range: 22..23,
|
||||
range: 25..26,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
default: None,
|
||||
},
|
||||
ParameterWithDefault {
|
||||
range: 25..29,
|
||||
range: 28..32,
|
||||
parameter: Parameter {
|
||||
range: 25..26,
|
||||
range: 28..29,
|
||||
name: Identifier {
|
||||
id: "e",
|
||||
range: 25..26,
|
||||
range: 28..29,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
default: Some(
|
||||
NumberLiteral(
|
||||
ExprNumberLiteral {
|
||||
range: 27..29,
|
||||
range: 30..32,
|
||||
value: Int(
|
||||
20,
|
||||
),
|
||||
|
@ -100,19 +101,19 @@ Ok(
|
|||
),
|
||||
},
|
||||
ParameterWithDefault {
|
||||
range: 31..35,
|
||||
range: 34..38,
|
||||
parameter: Parameter {
|
||||
range: 31..32,
|
||||
range: 34..35,
|
||||
name: Identifier {
|
||||
id: "f",
|
||||
range: 31..32,
|
||||
range: 34..35,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
default: Some(
|
||||
NumberLiteral(
|
||||
ExprNumberLiteral {
|
||||
range: 33..35,
|
||||
range: 36..38,
|
||||
value: Int(
|
||||
30,
|
||||
),
|
||||
|
@ -127,7 +128,7 @@ Ok(
|
|||
body: [
|
||||
Pass(
|
||||
StmtPass {
|
||||
range: 38..42,
|
||||
range: 41..45,
|
||||
},
|
||||
),
|
||||
],
|
||||
|
|
|
@ -6,7 +6,7 @@ Ok(
|
|||
[
|
||||
FunctionDef(
|
||||
StmtFunctionDef {
|
||||
range: 0..52,
|
||||
range: 0..55,
|
||||
is_async: false,
|
||||
decorator_list: [],
|
||||
name: Identifier {
|
||||
|
@ -15,9 +15,8 @@ Ok(
|
|||
},
|
||||
type_params: None,
|
||||
parameters: Parameters {
|
||||
range: 5..46,
|
||||
posonlyargs: [],
|
||||
args: [
|
||||
range: 5..49,
|
||||
posonlyargs: [
|
||||
ParameterWithDefault {
|
||||
range: 6..7,
|
||||
parameter: Parameter {
|
||||
|
@ -42,13 +41,15 @@ Ok(
|
|||
},
|
||||
default: None,
|
||||
},
|
||||
],
|
||||
args: [
|
||||
ParameterWithDefault {
|
||||
range: 12..13,
|
||||
range: 15..16,
|
||||
parameter: Parameter {
|
||||
range: 12..13,
|
||||
range: 15..16,
|
||||
name: Identifier {
|
||||
id: "c",
|
||||
range: 12..13,
|
||||
range: 15..16,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
|
@ -57,41 +58,41 @@ Ok(
|
|||
],
|
||||
vararg: Some(
|
||||
Parameter {
|
||||
range: 16..20,
|
||||
range: 18..23,
|
||||
name: Identifier {
|
||||
id: "args",
|
||||
range: 16..20,
|
||||
range: 19..23,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
),
|
||||
kwonlyargs: [
|
||||
ParameterWithDefault {
|
||||
range: 22..23,
|
||||
range: 25..26,
|
||||
parameter: Parameter {
|
||||
range: 22..23,
|
||||
range: 25..26,
|
||||
name: Identifier {
|
||||
id: "d",
|
||||
range: 22..23,
|
||||
range: 25..26,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
default: None,
|
||||
},
|
||||
ParameterWithDefault {
|
||||
range: 25..29,
|
||||
range: 28..32,
|
||||
parameter: Parameter {
|
||||
range: 25..26,
|
||||
range: 28..29,
|
||||
name: Identifier {
|
||||
id: "e",
|
||||
range: 25..26,
|
||||
range: 28..29,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
default: Some(
|
||||
NumberLiteral(
|
||||
ExprNumberLiteral {
|
||||
range: 27..29,
|
||||
range: 30..32,
|
||||
value: Int(
|
||||
20,
|
||||
),
|
||||
|
@ -100,19 +101,19 @@ Ok(
|
|||
),
|
||||
},
|
||||
ParameterWithDefault {
|
||||
range: 31..35,
|
||||
range: 34..38,
|
||||
parameter: Parameter {
|
||||
range: 31..32,
|
||||
range: 34..35,
|
||||
name: Identifier {
|
||||
id: "f",
|
||||
range: 31..32,
|
||||
range: 34..35,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
default: Some(
|
||||
NumberLiteral(
|
||||
ExprNumberLiteral {
|
||||
range: 33..35,
|
||||
range: 36..38,
|
||||
value: Int(
|
||||
30,
|
||||
),
|
||||
|
@ -123,10 +124,10 @@ Ok(
|
|||
],
|
||||
kwarg: Some(
|
||||
Parameter {
|
||||
range: 39..45,
|
||||
range: 40..48,
|
||||
name: Identifier {
|
||||
id: "kwargs",
|
||||
range: 39..45,
|
||||
range: 42..48,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
|
@ -136,7 +137,7 @@ Ok(
|
|||
body: [
|
||||
Pass(
|
||||
StmtPass {
|
||||
range: 48..52,
|
||||
range: 51..55,
|
||||
},
|
||||
),
|
||||
],
|
||||
|
|
|
@ -6,7 +6,7 @@ Ok(
|
|||
[
|
||||
FunctionDef(
|
||||
StmtFunctionDef {
|
||||
range: 0..26,
|
||||
range: 0..29,
|
||||
is_async: false,
|
||||
decorator_list: [],
|
||||
name: Identifier {
|
||||
|
@ -15,9 +15,8 @@ Ok(
|
|||
},
|
||||
type_params: None,
|
||||
parameters: Parameters {
|
||||
range: 5..20,
|
||||
posonlyargs: [],
|
||||
args: [
|
||||
range: 5..23,
|
||||
posonlyargs: [
|
||||
ParameterWithDefault {
|
||||
range: 6..7,
|
||||
parameter: Parameter {
|
||||
|
@ -51,20 +50,22 @@ Ok(
|
|||
),
|
||||
),
|
||||
},
|
||||
],
|
||||
args: [
|
||||
ParameterWithDefault {
|
||||
range: 15..19,
|
||||
range: 18..22,
|
||||
parameter: Parameter {
|
||||
range: 15..16,
|
||||
range: 18..19,
|
||||
name: Identifier {
|
||||
id: "c",
|
||||
range: 15..16,
|
||||
range: 18..19,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
default: Some(
|
||||
NumberLiteral(
|
||||
ExprNumberLiteral {
|
||||
range: 17..19,
|
||||
range: 20..22,
|
||||
value: Int(
|
||||
30,
|
||||
),
|
||||
|
@ -81,7 +82,7 @@ Ok(
|
|||
body: [
|
||||
Pass(
|
||||
StmtPass {
|
||||
range: 22..26,
|
||||
range: 25..29,
|
||||
},
|
||||
),
|
||||
],
|
||||
|
|
|
@ -0,0 +1,110 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/function.rs
|
||||
expression: parse_ast
|
||||
---
|
||||
Ok(
|
||||
[
|
||||
FunctionDef(
|
||||
StmtFunctionDef {
|
||||
range: 0..46,
|
||||
is_async: false,
|
||||
decorator_list: [],
|
||||
name: Identifier {
|
||||
id: "f",
|
||||
range: 4..5,
|
||||
},
|
||||
type_params: None,
|
||||
parameters: Parameters {
|
||||
range: 5..40,
|
||||
posonlyargs: [
|
||||
ParameterWithDefault {
|
||||
range: 6..7,
|
||||
parameter: Parameter {
|
||||
range: 6..7,
|
||||
name: Identifier {
|
||||
id: "a",
|
||||
range: 6..7,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
default: None,
|
||||
},
|
||||
ParameterWithDefault {
|
||||
range: 9..13,
|
||||
parameter: Parameter {
|
||||
range: 9..10,
|
||||
name: Identifier {
|
||||
id: "b",
|
||||
range: 9..10,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
default: Some(
|
||||
NumberLiteral(
|
||||
ExprNumberLiteral {
|
||||
range: 11..13,
|
||||
value: Int(
|
||||
20,
|
||||
),
|
||||
},
|
||||
),
|
||||
),
|
||||
},
|
||||
],
|
||||
args: [
|
||||
ParameterWithDefault {
|
||||
range: 18..22,
|
||||
parameter: Parameter {
|
||||
range: 18..19,
|
||||
name: Identifier {
|
||||
id: "c",
|
||||
range: 18..19,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
default: Some(
|
||||
NumberLiteral(
|
||||
ExprNumberLiteral {
|
||||
range: 20..22,
|
||||
value: Int(
|
||||
30,
|
||||
),
|
||||
},
|
||||
),
|
||||
),
|
||||
},
|
||||
],
|
||||
vararg: Some(
|
||||
Parameter {
|
||||
range: 24..29,
|
||||
name: Identifier {
|
||||
id: "args",
|
||||
range: 25..29,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
),
|
||||
kwonlyargs: [],
|
||||
kwarg: Some(
|
||||
Parameter {
|
||||
range: 31..39,
|
||||
name: Identifier {
|
||||
id: "kwargs",
|
||||
range: 33..39,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
),
|
||||
},
|
||||
returns: None,
|
||||
body: [
|
||||
Pass(
|
||||
StmtPass {
|
||||
range: 42..46,
|
||||
},
|
||||
),
|
||||
],
|
||||
},
|
||||
),
|
||||
],
|
||||
)
|
|
@ -0,0 +1,74 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/function.rs
|
||||
expression: parse_ast
|
||||
---
|
||||
Ok(
|
||||
[
|
||||
FunctionDef(
|
||||
StmtFunctionDef {
|
||||
range: 0..23,
|
||||
is_async: false,
|
||||
decorator_list: [],
|
||||
name: Identifier {
|
||||
id: "f",
|
||||
range: 4..5,
|
||||
},
|
||||
type_params: None,
|
||||
parameters: Parameters {
|
||||
range: 5..17,
|
||||
posonlyargs: [
|
||||
ParameterWithDefault {
|
||||
range: 6..7,
|
||||
parameter: Parameter {
|
||||
range: 6..7,
|
||||
name: Identifier {
|
||||
id: "a",
|
||||
range: 6..7,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
default: None,
|
||||
},
|
||||
],
|
||||
args: [
|
||||
ParameterWithDefault {
|
||||
range: 12..13,
|
||||
parameter: Parameter {
|
||||
range: 12..13,
|
||||
name: Identifier {
|
||||
id: "b",
|
||||
range: 12..13,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
default: None,
|
||||
},
|
||||
ParameterWithDefault {
|
||||
range: 15..16,
|
||||
parameter: Parameter {
|
||||
range: 15..16,
|
||||
name: Identifier {
|
||||
id: "c",
|
||||
range: 15..16,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
default: None,
|
||||
},
|
||||
],
|
||||
vararg: None,
|
||||
kwonlyargs: [],
|
||||
kwarg: None,
|
||||
},
|
||||
returns: None,
|
||||
body: [
|
||||
Pass(
|
||||
StmtPass {
|
||||
range: 19..23,
|
||||
},
|
||||
),
|
||||
],
|
||||
},
|
||||
),
|
||||
],
|
||||
)
|
|
@ -6,15 +6,14 @@ Ok(
|
|||
[
|
||||
Expr(
|
||||
StmtExpr {
|
||||
range: 0..26,
|
||||
range: 0..29,
|
||||
value: Lambda(
|
||||
ExprLambda {
|
||||
range: 0..26,
|
||||
range: 0..29,
|
||||
parameters: Some(
|
||||
Parameters {
|
||||
range: 7..23,
|
||||
posonlyargs: [],
|
||||
args: [
|
||||
range: 7..26,
|
||||
posonlyargs: [
|
||||
ParameterWithDefault {
|
||||
range: 7..8,
|
||||
parameter: Parameter {
|
||||
|
@ -39,13 +38,15 @@ Ok(
|
|||
},
|
||||
default: None,
|
||||
},
|
||||
],
|
||||
args: [
|
||||
ParameterWithDefault {
|
||||
range: 13..14,
|
||||
range: 16..17,
|
||||
parameter: Parameter {
|
||||
range: 13..14,
|
||||
range: 16..17,
|
||||
name: Identifier {
|
||||
id: "c",
|
||||
range: 13..14,
|
||||
range: 16..17,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
|
@ -55,24 +56,24 @@ Ok(
|
|||
vararg: None,
|
||||
kwonlyargs: [
|
||||
ParameterWithDefault {
|
||||
range: 19..20,
|
||||
range: 22..23,
|
||||
parameter: Parameter {
|
||||
range: 19..20,
|
||||
range: 22..23,
|
||||
name: Identifier {
|
||||
id: "d",
|
||||
range: 19..20,
|
||||
range: 22..23,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
default: None,
|
||||
},
|
||||
ParameterWithDefault {
|
||||
range: 22..23,
|
||||
range: 25..26,
|
||||
parameter: Parameter {
|
||||
range: 22..23,
|
||||
range: 25..26,
|
||||
name: Identifier {
|
||||
id: "e",
|
||||
range: 22..23,
|
||||
range: 25..26,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
|
@ -84,7 +85,7 @@ Ok(
|
|||
),
|
||||
body: NumberLiteral(
|
||||
ExprNumberLiteral {
|
||||
range: 25..26,
|
||||
range: 28..29,
|
||||
value: Int(
|
||||
0,
|
||||
),
|
||||
|
|
|
@ -0,0 +1,105 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/function.rs
|
||||
expression: parse_ast
|
||||
---
|
||||
Ok(
|
||||
[
|
||||
Expr(
|
||||
StmtExpr {
|
||||
range: 0..32,
|
||||
value: Lambda(
|
||||
ExprLambda {
|
||||
range: 0..32,
|
||||
parameters: Some(
|
||||
Parameters {
|
||||
range: 7..29,
|
||||
posonlyargs: [
|
||||
ParameterWithDefault {
|
||||
range: 7..8,
|
||||
parameter: Parameter {
|
||||
range: 7..8,
|
||||
name: Identifier {
|
||||
id: "a",
|
||||
range: 7..8,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
default: None,
|
||||
},
|
||||
ParameterWithDefault {
|
||||
range: 10..11,
|
||||
parameter: Parameter {
|
||||
range: 10..11,
|
||||
name: Identifier {
|
||||
id: "b",
|
||||
range: 10..11,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
default: None,
|
||||
},
|
||||
],
|
||||
args: [
|
||||
ParameterWithDefault {
|
||||
range: 16..17,
|
||||
parameter: Parameter {
|
||||
range: 16..17,
|
||||
name: Identifier {
|
||||
id: "c",
|
||||
range: 16..17,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
default: None,
|
||||
},
|
||||
],
|
||||
vararg: Some(
|
||||
Parameter {
|
||||
range: 19..21,
|
||||
name: Identifier {
|
||||
id: "d",
|
||||
range: 20..21,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
),
|
||||
kwonlyargs: [
|
||||
ParameterWithDefault {
|
||||
range: 23..24,
|
||||
parameter: Parameter {
|
||||
range: 23..24,
|
||||
name: Identifier {
|
||||
id: "e",
|
||||
range: 23..24,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
default: None,
|
||||
},
|
||||
],
|
||||
kwarg: Some(
|
||||
Parameter {
|
||||
range: 26..29,
|
||||
name: Identifier {
|
||||
id: "f",
|
||||
range: 28..29,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
),
|
||||
},
|
||||
),
|
||||
body: NumberLiteral(
|
||||
ExprNumberLiteral {
|
||||
range: 31..32,
|
||||
value: Int(
|
||||
0,
|
||||
),
|
||||
},
|
||||
),
|
||||
},
|
||||
),
|
||||
},
|
||||
),
|
||||
],
|
||||
)
|
|
@ -6,15 +6,14 @@ Ok(
|
|||
[
|
||||
Expr(
|
||||
StmtExpr {
|
||||
range: 0..23,
|
||||
range: 0..26,
|
||||
value: Lambda(
|
||||
ExprLambda {
|
||||
range: 0..23,
|
||||
range: 0..26,
|
||||
parameters: Some(
|
||||
Parameters {
|
||||
range: 7..20,
|
||||
posonlyargs: [],
|
||||
args: [
|
||||
range: 7..23,
|
||||
posonlyargs: [
|
||||
ParameterWithDefault {
|
||||
range: 7..8,
|
||||
parameter: Parameter {
|
||||
|
@ -48,20 +47,22 @@ Ok(
|
|||
),
|
||||
),
|
||||
},
|
||||
],
|
||||
args: [
|
||||
ParameterWithDefault {
|
||||
range: 16..20,
|
||||
range: 19..23,
|
||||
parameter: Parameter {
|
||||
range: 16..17,
|
||||
range: 19..20,
|
||||
name: Identifier {
|
||||
id: "c",
|
||||
range: 16..17,
|
||||
range: 19..20,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
default: Some(
|
||||
NumberLiteral(
|
||||
ExprNumberLiteral {
|
||||
range: 18..20,
|
||||
range: 21..23,
|
||||
value: Int(
|
||||
30,
|
||||
),
|
||||
|
@ -77,7 +78,7 @@ Ok(
|
|||
),
|
||||
body: NumberLiteral(
|
||||
ExprNumberLiteral {
|
||||
range: 22..23,
|
||||
range: 25..26,
|
||||
value: Int(
|
||||
1,
|
||||
),
|
||||
|
|
|
@ -0,0 +1,74 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/function.rs
|
||||
expression: parse_ast
|
||||
---
|
||||
Ok(
|
||||
[
|
||||
Expr(
|
||||
StmtExpr {
|
||||
range: 0..20,
|
||||
value: Lambda(
|
||||
ExprLambda {
|
||||
range: 0..20,
|
||||
parameters: Some(
|
||||
Parameters {
|
||||
range: 7..17,
|
||||
posonlyargs: [
|
||||
ParameterWithDefault {
|
||||
range: 7..8,
|
||||
parameter: Parameter {
|
||||
range: 7..8,
|
||||
name: Identifier {
|
||||
id: "a",
|
||||
range: 7..8,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
default: None,
|
||||
},
|
||||
ParameterWithDefault {
|
||||
range: 10..11,
|
||||
parameter: Parameter {
|
||||
range: 10..11,
|
||||
name: Identifier {
|
||||
id: "b",
|
||||
range: 10..11,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
default: None,
|
||||
},
|
||||
],
|
||||
args: [
|
||||
ParameterWithDefault {
|
||||
range: 16..17,
|
||||
parameter: Parameter {
|
||||
range: 16..17,
|
||||
name: Identifier {
|
||||
id: "c",
|
||||
range: 16..17,
|
||||
},
|
||||
annotation: None,
|
||||
},
|
||||
default: None,
|
||||
},
|
||||
],
|
||||
vararg: None,
|
||||
kwonlyargs: [],
|
||||
kwarg: None,
|
||||
},
|
||||
),
|
||||
body: NumberLiteral(
|
||||
ExprNumberLiteral {
|
||||
range: 19..20,
|
||||
value: Int(
|
||||
1,
|
||||
),
|
||||
},
|
||||
),
|
||||
},
|
||||
),
|
||||
},
|
||||
),
|
||||
],
|
||||
)
|
|
@ -346,7 +346,7 @@ expression: parse_suite(source).unwrap()
|
|||
args: [],
|
||||
vararg: Some(
|
||||
Parameter {
|
||||
range: 155..161,
|
||||
range: 154..161,
|
||||
name: Identifier {
|
||||
id: "a",
|
||||
range: 155..156,
|
||||
|
@ -417,7 +417,7 @@ expression: parse_suite(source).unwrap()
|
|||
args: [],
|
||||
vararg: Some(
|
||||
Parameter {
|
||||
range: 188..200,
|
||||
range: 187..200,
|
||||
name: Identifier {
|
||||
id: "args",
|
||||
range: 188..192,
|
||||
|
@ -446,7 +446,7 @@ expression: parse_suite(source).unwrap()
|
|||
kwonlyargs: [],
|
||||
kwarg: Some(
|
||||
Parameter {
|
||||
range: 204..220,
|
||||
range: 202..220,
|
||||
name: Identifier {
|
||||
id: "kwargs",
|
||||
range: 204..210,
|
||||
|
|
|
@ -19,7 +19,7 @@ expression: parse_ast
|
|||
args: [],
|
||||
vararg: Some(
|
||||
Parameter {
|
||||
range: 20..29,
|
||||
range: 19..29,
|
||||
name: Identifier {
|
||||
id: "args",
|
||||
range: 20..24,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue