1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
[
FullOpeningTag(
FullOpeningTagStatement {
span: Span {
line: 1,
column: 1,
position: 0,
},
},
),
Interface(
InterfaceStatement {
attributes: [],
interface: Span {
line: 4,
column: 1,
position: 8,
},
name: SimpleIdentifier {
span: Span {
line: 4,
column: 11,
position: 18,
},
value: "foo",
},
extends: None,
body: InterfaceBody {
left_brace: Span {
line: 4,
column: 15,
position: 22,
},
members: [
Method(
AbstractMethod {
comments: CommentGroup {
comments: [],
},
attributes: [],
modifiers: MethodModifierGroup {
modifiers: [
Public(
Span {
line: 5,
column: 5,
position: 28,
},
),
],
},
function: Span {
line: 5,
column: 12,
position: 35,
},
ampersand: None,
name: SimpleIdentifier {
span: Span {
line: 5,
column: 21,
position: 44,
},
value: "bar",
},
parameters: FunctionParameterList {
comments: CommentGroup {
comments: [],
},
left_parenthesis: Span {
line: 5,
column: 24,
position: 47,
},
parameters: CommaSeparated {
inner: [],
commas: [],
},
right_parenthesis: Span {
line: 5,
column: 25,
position: 48,
},
},
return_type: Some(
ReturnType {
colon: Span {
line: 5,
column: 26,
position: 49,
},
data_type: ParentReference(
Span {
line: 5,
column: 28,
position: 51,
},
),
},
),
semicolon: Span {
line: 5,
column: 34,
position: 57,
},
},
),
],
right_brace: Span {
line: 6,
column: 1,
position: 59,
},
},
},
),
]