-
Notifications
You must be signed in to change notification settings - Fork 181
/
class_and_resource.txt
217 lines (203 loc) · 5.5 KB
/
class_and_resource.txt
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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
==================================
Class definition
==================================
class A {
init() {}
inflight do_something() {}
a_member: str;
var b_member: num;
static static_field: num;
static var static_var_field: num;
static static_method() {}
}
---
(source
(class_definition
name: (identifier)
implementation: (class_implementation
(constructor
parameter_list: (parameter_list)
block: (block))
(inflight_method_definition
name: (identifier)
parameter_list: (parameter_list)
block: (block)
)
(class_field
name: (identifier)
type: (builtin_type)
)
(class_field
reassignable: (reassignable)
name: (identifier)
type: (builtin_type)
)
(class_field
static: (static)
name: (identifier)
type: (builtin_type)
)
(class_field
static: (static)
reassignable: (reassignable)
name: (identifier)
type: (builtin_type)
)
(method_definition
static: (static)
name: (identifier)
parameter_list: (parameter_list)
block: (block)
)
)
)
)
==================================
Class inheritance
==================================
class A extends B {}
---
(source
(class_definition
name: (identifier)
parent: (custom_type
object: (identifier)
)
implementation: (class_implementation)
)
)
==================================
Resource definition
==================================
resource A {
init() {}
preflight_func() {}
async preflight_func() {}
public preflight_func2() {}
inflight inflight_func() {}
public inflight inflight_func2(): num {}
pf_member: str;
inflight if_member: str;
public inflight var if_member2: str;
static inflight inflight_field: num;
static inflight inflight_method() {}
}
---
(source
(resource_definition
name: (identifier)
implementation: (resource_implementation
(constructor
parameter_list: (parameter_list)
block: (block))
(method_definition
name: (identifier)
parameter_list: (parameter_list)
block: (block)
)
(method_definition
async: (async_modifier)
name: (identifier)
parameter_list: (parameter_list)
block: (block)
)
(method_definition
access_modifier: (access_modifier)
name: (identifier)
parameter_list: (parameter_list)
block: (block)
)
(inflight_method_definition
name: (identifier)
parameter_list: (parameter_list)
block: (block)
)
(inflight_method_definition
access_modifier: (access_modifier)
name: (identifier)
parameter_list: (parameter_list)
type: (builtin_type)
block: (block)
)
(class_field
name: (identifier)
type: (builtin_type)
)
(class_field
name: (identifier)
type: (builtin_type)
)
(class_field
access_modifier: (access_modifier)
reassignable: (reassignable)
name: (identifier)
type: (builtin_type)
)
(class_field
static: (static)
name: (identifier)
type: (builtin_type)
)
(inflight_method_definition
static: (static)
name: (identifier)
parameter_list: (parameter_list)
block: (block)
)
)
)
)
==================================
Resource inheritance
==================================
resource A extends B impl C, D {}
---
(source
(resource_definition
name: (identifier)
parent: (custom_type
object: (identifier)
)
implements: (custom_type
object: (identifier)
)
implements: (custom_type
object: (identifier)
)
implementation: (resource_implementation)
)
)
==================================
Interface definition
==================================
interface A extends B, C {
do_something();
inflight do_something_else(x: str): num;
a_member: str;
inflight b_member: num;
}
---
(source
(interface_definition
name: (identifier)
extends: (custom_type
object: (identifier))
extends: (custom_type
object: (identifier))
implementation: (interface_implementation
(method_signature
name: (identifier)
parameter_list: (parameter_list))
(inflight_method_signature
name: (identifier)
parameter_list: (parameter_list
(parameter_definition
name: (identifier)
type: (builtin_type)))
type: (builtin_type))
(class_field
name: (identifier)
type: (builtin_type))
(class_field
name: (identifier)
type: (builtin_type)))))