ruff/crates/ruff_python_parser/tests/snapshots/valid_syntax@statement__cla...

845 lines
36 KiB
Plaintext

---
source: crates/ruff_python_parser/tests/fixtures.rs
input_file: crates/ruff_python_parser/resources/valid/statement/class.py
---
## AST
```
Module(
ModModule {
range: 0..681,
body: [
ClassDef(
StmtClassDef {
range: 0..19,
decorator_list: [],
name: Identifier {
id: "Test",
range: 6..10,
},
type_params: None,
arguments: None,
body: [
Expr(
StmtExpr {
range: 16..19,
value: EllipsisLiteral(
ExprEllipsisLiteral {
range: 16..19,
},
),
},
),
],
},
),
ClassDef(
StmtClassDef {
range: 22..80,
decorator_list: [],
name: Identifier {
id: "Test",
range: 28..32,
},
type_params: None,
arguments: Some(
Arguments {
range: 32..34,
args: [],
keywords: [],
},
),
body: [
FunctionDef(
StmtFunctionDef {
range: 44..80,
is_async: false,
decorator_list: [],
name: Identifier {
id: "__init__",
range: 48..56,
},
type_params: None,
parameters: Parameters {
range: 56..62,
posonlyargs: [],
args: [
ParameterWithDefault {
range: 57..61,
parameter: Parameter {
range: 57..61,
name: Identifier {
id: "self",
range: 57..61,
},
annotation: None,
},
default: None,
},
],
vararg: None,
kwonlyargs: [],
kwarg: None,
},
returns: None,
body: [
Pass(
StmtPass {
range: 76..80,
},
),
],
},
),
],
},
),
ClassDef(
StmtClassDef {
range: 83..116,
decorator_list: [],
name: Identifier {
id: "Test",
range: 89..93,
},
type_params: None,
arguments: Some(
Arguments {
range: 93..107,
args: [
Starred(
ExprStarred {
range: 99..101,
value: Name(
ExprName {
range: 100..101,
id: "A",
ctx: Load,
},
),
ctx: Load,
},
),
],
keywords: [
Keyword {
range: 94..97,
arg: Some(
Identifier {
id: "a",
range: 94..95,
},
),
value: NumberLiteral(
ExprNumberLiteral {
range: 96..97,
value: Int(
1,
),
},
),
},
Keyword {
range: 103..106,
arg: None,
value: Name(
ExprName {
range: 105..106,
id: "k",
ctx: Load,
},
),
},
],
},
),
body: [
Expr(
StmtExpr {
range: 113..116,
value: EllipsisLiteral(
ExprEllipsisLiteral {
range: 113..116,
},
),
},
),
],
},
),
ClassDef(
StmtClassDef {
range: 119..168,
decorator_list: [],
name: Identifier {
id: "Test",
range: 125..129,
},
type_params: None,
arguments: None,
body: [
FunctionDef(
StmtFunctionDef {
range: 135..168,
is_async: false,
decorator_list: [],
name: Identifier {
id: "method",
range: 139..145,
},
type_params: None,
parameters: Parameters {
range: 145..147,
posonlyargs: [],
args: [],
vararg: None,
kwonlyargs: [],
kwarg: None,
},
returns: None,
body: [
Assign(
StmtAssign {
range: 157..168,
targets: [
Tuple(
ExprTuple {
range: 157..161,
elts: [
Name(
ExprName {
range: 157..158,
id: "a",
ctx: Store,
},
),
Name(
ExprName {
range: 160..161,
id: "b",
ctx: Store,
},
),
],
ctx: Store,
parenthesized: false,
},
),
],
value: Name(
ExprName {
range: 164..168,
id: "data",
ctx: Load,
},
),
},
),
],
},
),
],
},
),
ClassDef(
StmtClassDef {
range: 171..289,
decorator_list: [],
name: Identifier {
id: "Test",
range: 177..181,
},
type_params: None,
arguments: Some(
Arguments {
range: 181..187,
args: [
Name(
ExprName {
range: 182..183,
id: "A",
ctx: Load,
},
),
Name(
ExprName {
range: 185..186,
id: "B",
ctx: Load,
},
),
],
keywords: [],
},
),
body: [
FunctionDef(
StmtFunctionDef {
range: 193..225,
is_async: false,
decorator_list: [],
name: Identifier {
id: "__init__",
range: 197..205,
},
type_params: None,
parameters: Parameters {
range: 205..211,
posonlyargs: [],
args: [
ParameterWithDefault {
range: 206..210,
parameter: Parameter {
range: 206..210,
name: Identifier {
id: "self",
range: 206..210,
},
annotation: None,
},
default: None,
},
],
vararg: None,
kwonlyargs: [],
kwarg: None,
},
returns: None,
body: [
Pass(
StmtPass {
range: 221..225,
},
),
],
},
),
FunctionDef(
StmtFunctionDef {
range: 231..289,
is_async: false,
decorator_list: [],
name: Identifier {
id: "method_with_default",
range: 235..254,
},
type_params: None,
parameters: Parameters {
range: 254..275,
posonlyargs: [],
args: [
ParameterWithDefault {
range: 255..259,
parameter: Parameter {
range: 255..259,
name: Identifier {
id: "self",
range: 255..259,
},
annotation: None,
},
default: None,
},
ParameterWithDefault {
range: 261..274,
parameter: Parameter {
range: 261..264,
name: Identifier {
id: "arg",
range: 261..264,
},
annotation: None,
},
default: Some(
StringLiteral(
ExprStringLiteral {
range: 265..274,
value: StringLiteralValue {
inner: Single(
StringLiteral {
range: 265..274,
value: "default",
flags: StringLiteralFlags {
quote_style: Single,
prefix: Empty,
triple_quoted: false,
},
},
),
},
},
),
),
},
],
vararg: None,
kwonlyargs: [],
kwarg: None,
},
returns: None,
body: [
Pass(
StmtPass {
range: 285..289,
},
),
],
},
),
],
},
),
ClassDef(
StmtClassDef {
range: 331..351,
decorator_list: [],
name: Identifier {
id: "Test",
range: 337..341,
},
type_params: Some(
TypeParams {
range: 341..344,
type_params: [
TypeVar(
TypeParamTypeVar {
range: 342..343,
name: Identifier {
id: "T",
range: 342..343,
},
bound: None,
},
),
],
},
),
arguments: Some(
Arguments {
range: 344..346,
args: [],
keywords: [],
},
),
body: [
Expr(
StmtExpr {
range: 348..351,
value: EllipsisLiteral(
ExprEllipsisLiteral {
range: 348..351,
},
),
},
),
],
},
),
ClassDef(
StmtClassDef {
range: 374..399,
decorator_list: [],
name: Identifier {
id: "Test",
range: 380..384,
},
type_params: Some(
TypeParams {
range: 384..392,
type_params: [
TypeVar(
TypeParamTypeVar {
range: 385..391,
name: Identifier {
id: "T",
range: 385..386,
},
bound: Some(
Name(
ExprName {
range: 388..391,
id: "str",
ctx: Load,
},
),
),
},
),
],
},
),
arguments: Some(
Arguments {
range: 392..394,
args: [],
keywords: [],
},
),
body: [
Expr(
StmtExpr {
range: 396..399,
value: EllipsisLiteral(
ExprEllipsisLiteral {
range: 396..399,
},
),
},
),
],
},
),
ClassDef(
StmtClassDef {
range: 428..462,
decorator_list: [],
name: Identifier {
id: "Test",
range: 434..438,
},
type_params: Some(
TypeParams {
range: 438..455,
type_params: [
TypeVar(
TypeParamTypeVar {
range: 439..454,
name: Identifier {
id: "T",
range: 439..440,
},
bound: Some(
Tuple(
ExprTuple {
range: 442..454,
elts: [
Name(
ExprName {
range: 443..446,
id: "str",
ctx: Load,
},
),
Name(
ExprName {
range: 448..453,
id: "bytes",
ctx: Load,
},
),
],
ctx: Load,
parenthesized: true,
},
),
),
},
),
],
},
),
arguments: Some(
Arguments {
range: 455..457,
args: [],
keywords: [],
},
),
body: [
Expr(
StmtExpr {
range: 459..462,
value: EllipsisLiteral(
ExprEllipsisLiteral {
range: 459..462,
},
),
},
),
],
},
),
ClassDef(
StmtClassDef {
range: 483..506,
decorator_list: [],
name: Identifier {
id: "Test",
range: 489..493,
},
type_params: Some(
TypeParams {
range: 493..499,
type_params: [
TypeVar(
TypeParamTypeVar {
range: 494..495,
name: Identifier {
id: "T",
range: 494..495,
},
bound: None,
},
),
TypeVar(
TypeParamTypeVar {
range: 497..498,
name: Identifier {
id: "U",
range: 497..498,
},
bound: None,
},
),
],
},
),
arguments: Some(
Arguments {
range: 499..501,
args: [],
keywords: [],
},
),
body: [
Expr(
StmtExpr {
range: 503..506,
value: EllipsisLiteral(
ExprEllipsisLiteral {
range: 503..506,
},
),
},
),
],
},
),
ClassDef(
StmtClassDef {
range: 525..549,
decorator_list: [],
name: Identifier {
id: "Test",
range: 531..535,
},
type_params: Some(
TypeParams {
range: 535..542,
type_params: [
TypeVar(
TypeParamTypeVar {
range: 536..537,
name: Identifier {
id: "T",
range: 536..537,
},
bound: None,
},
),
TypeVar(
TypeParamTypeVar {
range: 539..540,
name: Identifier {
id: "U",
range: 539..540,
},
bound: None,
},
),
],
},
),
arguments: Some(
Arguments {
range: 542..544,
args: [],
keywords: [],
},
),
body: [
Expr(
StmtExpr {
range: 546..549,
value: EllipsisLiteral(
ExprEllipsisLiteral {
range: 546..549,
},
),
},
),
],
},
),
ClassDef(
StmtClassDef {
range: 566..588,
decorator_list: [],
name: Identifier {
id: "Test",
range: 572..576,
},
type_params: Some(
TypeParams {
range: 576..581,
type_params: [
TypeVarTuple(
TypeParamTypeVarTuple {
range: 577..580,
name: Identifier {
id: "Ts",
range: 578..580,
},
},
),
],
},
),
arguments: Some(
Arguments {
range: 581..583,
args: [],
keywords: [],
},
),
body: [
Expr(
StmtExpr {
range: 585..588,
value: EllipsisLiteral(
ExprEllipsisLiteral {
range: 585..588,
},
),
},
),
],
},
),
ClassDef(
StmtClassDef {
range: 602..624,
decorator_list: [],
name: Identifier {
id: "Test",
range: 608..612,
},
type_params: Some(
TypeParams {
range: 612..617,
type_params: [
ParamSpec(
TypeParamParamSpec {
range: 613..616,
name: Identifier {
id: "P",
range: 615..616,
},
},
),
],
},
),
arguments: Some(
Arguments {
range: 617..619,
args: [],
keywords: [],
},
),
body: [
Expr(
StmtExpr {
range: 621..624,
value: EllipsisLiteral(
ExprEllipsisLiteral {
range: 621..624,
},
),
},
),
],
},
),
ClassDef(
StmtClassDef {
range: 640..680,
decorator_list: [],
name: Identifier {
id: "Test",
range: 646..650,
},
type_params: Some(
TypeParams {
range: 650..670,
type_params: [
TypeVar(
TypeParamTypeVar {
range: 651..652,
name: Identifier {
id: "X",
range: 651..652,
},
bound: None,
},
),
TypeVar(
TypeParamTypeVar {
range: 654..660,
name: Identifier {
id: "Y",
range: 654..655,
},
bound: Some(
Name(
ExprName {
range: 657..660,
id: "str",
ctx: Load,
},
),
),
},
),
TypeVarTuple(
TypeParamTypeVarTuple {
range: 662..664,
name: Identifier {
id: "U",
range: 663..664,
},
},
),
ParamSpec(
TypeParamParamSpec {
range: 666..669,
name: Identifier {
id: "P",
range: 668..669,
},
},
),
],
},
),
arguments: Some(
Arguments {
range: 670..672,
args: [],
keywords: [],
},
),
body: [
Pass(
StmtPass {
range: 676..680,
},
),
],
},
),
],
},
)
```