parser/tests/fixtures/0221/ast.txt
Saif Eddin Gmati c93634a62b
chore: refactor class and trait ast (#189)
Signed-off-by: azjezz <azjezz@protonmail.com>

Signed-off-by: azjezz <azjezz@protonmail.com>
2022-12-09 22:05:03 +01:00

321 lines
10 KiB
Plaintext

[
Interface(
Interface {
start: (
3,
1,
),
end: (
3,
14,
),
attributes: [],
name: Identifier {
start: (
3,
11,
),
name: "A",
end: (
3,
13,
),
},
extends: None,
members: [],
},
),
Interface(
Interface {
start: (
4,
1,
),
end: (
4,
14,
),
attributes: [],
name: Identifier {
start: (
4,
11,
),
name: "B",
end: (
4,
13,
),
},
extends: None,
members: [],
},
),
Interface(
Interface {
start: (
5,
1,
),
end: (
5,
14,
),
attributes: [],
name: Identifier {
start: (
5,
11,
),
name: "C",
end: (
5,
13,
),
},
extends: None,
members: [],
},
),
Interface(
Interface {
start: (
6,
1,
),
end: (
6,
14,
),
attributes: [],
name: Identifier {
start: (
6,
11,
),
name: "D",
end: (
6,
13,
),
},
extends: None,
members: [],
},
),
Function(
Function {
start: (
8,
1,
),
end: (
10,
1,
),
name: Identifier {
start: (
8,
10,
),
name: "foo",
end: (
8,
13,
),
},
attributes: [],
parameters: FunctionParameterList {
start: (
8,
13,
),
end: (
8,
27,
),
members: [
FunctionParameter {
start: (
8,
14,
),
end: (
8,
26,
),
name: Variable {
start: (
8,
24,
),
name: "a",
end: (
8,
26,
),
},
attributes: [],
type: Some(
Union(
[
Identifier(
Identifier {
start: (
8,
14,
),
name: "A",
end: (
8,
15,
),
},
),
Intersection(
[
Identifier(
Identifier {
start: (
8,
17,
),
name: "B",
end: (
8,
18,
),
},
),
Identifier(
Identifier {
start: (
8,
19,
),
name: "C",
end: (
8,
20,
),
},
),
Identifier(
Identifier {
start: (
8,
21,
),
name: "D",
end: (
8,
22,
),
},
),
],
),
],
),
),
variadic: false,
default: None,
by_ref: false,
},
],
},
return_type: Some(
Intersection(
[
Identifier(
Identifier {
start: (
8,
29,
),
name: "A",
end: (
8,
30,
),
},
),
Union(
[
Identifier(
Identifier {
start: (
8,
32,
),
name: "B",
end: (
8,
33,
),
},
),
Identifier(
Identifier {
start: (
8,
34,
),
name: "C",
end: (
8,
35,
),
},
),
Identifier(
Identifier {
start: (
8,
36,
),
name: "D",
end: (
8,
37,
),
},
),
],
),
],
),
),
by_ref: false,
body: [
Expression {
expr: Call {
target: Identifier(
Identifier {
start: (
9,
5,
),
name: "exit",
end: (
9,
9,
),
},
),
args: [
Arg {
name: None,
value: LiteralInteger {
i: "0",
},
unpack: false,
},
],
},
},
],
},
),
]