rbs 4.0.3 → 4.1.0.pre.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby.yml +34 -6
  3. data/.github/workflows/rust.yml +0 -2
  4. data/.github/workflows/windows.yml +0 -3
  5. data/CHANGELOG.md +0 -8
  6. data/Rakefile +2 -2
  7. data/config.yml +24 -0
  8. data/core/builtin.rbs +1 -0
  9. data/core/class.rbs +5 -3
  10. data/core/kernel.rbs +26 -11
  11. data/core/ruby_vm.rbs +40 -0
  12. data/docs/inline.md +29 -1
  13. data/ext/rbs_extension/ast_translation.c +21 -0
  14. data/ext/rbs_extension/class_constants.c +2 -0
  15. data/ext/rbs_extension/class_constants.h +1 -0
  16. data/ext/rbs_extension/extconf.rb +1 -0
  17. data/include/rbs/ast.h +314 -297
  18. data/include/rbs/defines.h +13 -0
  19. data/include/rbs/lexer.h +1 -0
  20. data/lib/rbs/annotate/rdoc_annotator.rb +27 -31
  21. data/lib/rbs/ast/ruby/annotations.rb +42 -0
  22. data/lib/rbs/ast/ruby/declarations.rb +11 -1
  23. data/lib/rbs/ast/ruby/members.rb +28 -0
  24. data/lib/rbs/cli.rb +3 -5
  25. data/lib/rbs/collection/config/lockfile_generator.rb +14 -1
  26. data/lib/rbs/environment.rb +6 -0
  27. data/lib/rbs/inline_parser.rb +49 -25
  28. data/lib/rbs/rewriter.rb +70 -0
  29. data/lib/rbs/test/type_check.rb +6 -1
  30. data/lib/rbs/version.rb +1 -1
  31. data/lib/rbs.rb +1 -0
  32. data/sig/annotate/rdoc_annotater.rbs +12 -9
  33. data/sig/ast/ruby/annotations.rbs +49 -0
  34. data/sig/ast/ruby/members.rbs +15 -0
  35. data/sig/collection/config/lockfile_generator.rbs +2 -0
  36. data/sig/inline_parser.rbs +2 -0
  37. data/sig/manifest.yaml +0 -1
  38. data/sig/rewriter.rbs +45 -0
  39. data/src/ast.c +109 -85
  40. data/src/lexer.c +137 -114
  41. data/src/lexer.re +1 -0
  42. data/src/lexstate.c +1 -0
  43. data/src/parser.c +55 -5
  44. data/stdlib/openssl/0/openssl.rbs +2 -2
  45. metadata +3 -1
data/include/rbs/ast.h CHANGED
@@ -8,6 +8,7 @@
8
8
  #ifndef RBS__AST_H
9
9
  #define RBS__AST_H
10
10
 
11
+ #include "rbs/defines.h"
11
12
  #include "rbs/util/rbs_allocator.h"
12
13
  #include "rbs/util/rbs_constant_pool.h"
13
14
  #include "string.h"
@@ -97,44 +98,45 @@ enum rbs_node_type {
97
98
  RBS_AST_RUBY_ANNOTATIONS_INSTANCE_VARIABLE_ANNOTATION = 36,
98
99
  RBS_AST_RUBY_ANNOTATIONS_METHOD_TYPES_ANNOTATION = 37,
99
100
  RBS_AST_RUBY_ANNOTATIONS_MODULE_ALIAS_ANNOTATION = 38,
100
- RBS_AST_RUBY_ANNOTATIONS_NODE_TYPE_ASSERTION = 39,
101
- RBS_AST_RUBY_ANNOTATIONS_PARAM_TYPE_ANNOTATION = 40,
102
- RBS_AST_RUBY_ANNOTATIONS_RETURN_TYPE_ANNOTATION = 41,
103
- RBS_AST_RUBY_ANNOTATIONS_SKIP_ANNOTATION = 42,
104
- RBS_AST_RUBY_ANNOTATIONS_SPLAT_PARAM_TYPE_ANNOTATION = 43,
105
- RBS_AST_RUBY_ANNOTATIONS_TYPE_APPLICATION_ANNOTATION = 44,
106
- RBS_AST_STRING = 45,
107
- RBS_AST_TYPE_PARAM = 46,
108
- RBS_METHOD_TYPE = 47,
109
- RBS_NAMESPACE = 48,
110
- RBS_SIGNATURE = 49,
111
- RBS_TYPE_NAME = 50,
112
- RBS_TYPES_ALIAS = 51,
113
- RBS_TYPES_BASES_ANY = 52,
114
- RBS_TYPES_BASES_BOOL = 53,
115
- RBS_TYPES_BASES_BOTTOM = 54,
116
- RBS_TYPES_BASES_CLASS = 55,
117
- RBS_TYPES_BASES_INSTANCE = 56,
118
- RBS_TYPES_BASES_NIL = 57,
119
- RBS_TYPES_BASES_SELF = 58,
120
- RBS_TYPES_BASES_TOP = 59,
121
- RBS_TYPES_BASES_VOID = 60,
122
- RBS_TYPES_BLOCK = 61,
123
- RBS_TYPES_CLASS_INSTANCE = 62,
124
- RBS_TYPES_CLASS_SINGLETON = 63,
125
- RBS_TYPES_FUNCTION = 64,
126
- RBS_TYPES_FUNCTION_PARAM = 65,
127
- RBS_TYPES_INTERFACE = 66,
128
- RBS_TYPES_INTERSECTION = 67,
129
- RBS_TYPES_LITERAL = 68,
130
- RBS_TYPES_OPTIONAL = 69,
131
- RBS_TYPES_PROC = 70,
132
- RBS_TYPES_RECORD = 71,
133
- RBS_TYPES_RECORD_FIELD_TYPE = 72,
134
- RBS_TYPES_TUPLE = 73,
135
- RBS_TYPES_UNION = 74,
136
- RBS_TYPES_UNTYPED_FUNCTION = 75,
137
- RBS_TYPES_VARIABLE = 76,
101
+ RBS_AST_RUBY_ANNOTATIONS_MODULE_SELF_ANNOTATION = 39,
102
+ RBS_AST_RUBY_ANNOTATIONS_NODE_TYPE_ASSERTION = 40,
103
+ RBS_AST_RUBY_ANNOTATIONS_PARAM_TYPE_ANNOTATION = 41,
104
+ RBS_AST_RUBY_ANNOTATIONS_RETURN_TYPE_ANNOTATION = 42,
105
+ RBS_AST_RUBY_ANNOTATIONS_SKIP_ANNOTATION = 43,
106
+ RBS_AST_RUBY_ANNOTATIONS_SPLAT_PARAM_TYPE_ANNOTATION = 44,
107
+ RBS_AST_RUBY_ANNOTATIONS_TYPE_APPLICATION_ANNOTATION = 45,
108
+ RBS_AST_STRING = 46,
109
+ RBS_AST_TYPE_PARAM = 47,
110
+ RBS_METHOD_TYPE = 48,
111
+ RBS_NAMESPACE = 49,
112
+ RBS_SIGNATURE = 50,
113
+ RBS_TYPE_NAME = 51,
114
+ RBS_TYPES_ALIAS = 52,
115
+ RBS_TYPES_BASES_ANY = 53,
116
+ RBS_TYPES_BASES_BOOL = 54,
117
+ RBS_TYPES_BASES_BOTTOM = 55,
118
+ RBS_TYPES_BASES_CLASS = 56,
119
+ RBS_TYPES_BASES_INSTANCE = 57,
120
+ RBS_TYPES_BASES_NIL = 58,
121
+ RBS_TYPES_BASES_SELF = 59,
122
+ RBS_TYPES_BASES_TOP = 60,
123
+ RBS_TYPES_BASES_VOID = 61,
124
+ RBS_TYPES_BLOCK = 62,
125
+ RBS_TYPES_CLASS_INSTANCE = 63,
126
+ RBS_TYPES_CLASS_SINGLETON = 64,
127
+ RBS_TYPES_FUNCTION = 65,
128
+ RBS_TYPES_FUNCTION_PARAM = 66,
129
+ RBS_TYPES_INTERFACE = 67,
130
+ RBS_TYPES_INTERSECTION = 68,
131
+ RBS_TYPES_LITERAL = 69,
132
+ RBS_TYPES_OPTIONAL = 70,
133
+ RBS_TYPES_PROC = 71,
134
+ RBS_TYPES_RECORD = 72,
135
+ RBS_TYPES_RECORD_FIELD_TYPE = 73,
136
+ RBS_TYPES_TUPLE = 74,
137
+ RBS_TYPES_UNION = 75,
138
+ RBS_TYPES_UNTYPED_FUNCTION = 76,
139
+ RBS_TYPES_VARIABLE = 77,
138
140
  RBS_AST_SYMBOL,
139
141
  };
140
142
 
@@ -143,48 +145,48 @@ typedef struct rbs_node {
143
145
  rbs_location_range location;
144
146
  } rbs_node_t;
145
147
 
146
- const char *rbs_node_type_name(rbs_node_t *node);
148
+ const char *RBS_NONNULL rbs_node_type_name(rbs_node_t *RBS_NONNULL node);
147
149
 
148
150
  /* rbs_node_list_node */
149
151
 
150
152
  typedef struct rbs_node_list_node {
151
- rbs_node_t *node;
152
- struct rbs_node_list_node *next;
153
+ rbs_node_t *RBS_NONNULL node;
154
+ struct rbs_node_list_node *RBS_NULLABLE next;
153
155
  } rbs_node_list_node_t;
154
156
 
155
157
  typedef struct rbs_node_list {
156
- rbs_allocator_t *allocator;
157
- rbs_node_list_node_t *head;
158
- rbs_node_list_node_t *tail;
158
+ rbs_allocator_t *RBS_NONNULL allocator;
159
+ rbs_node_list_node_t *RBS_NULLABLE head;
160
+ rbs_node_list_node_t *RBS_NULLABLE tail;
159
161
  size_t length;
160
162
  } rbs_node_list_t;
161
163
 
162
- rbs_node_list_t *rbs_node_list_new(rbs_allocator_t *);
164
+ rbs_node_list_t *RBS_NONNULL rbs_node_list_new(rbs_allocator_t *RBS_NONNULL);
163
165
 
164
- void rbs_node_list_append(rbs_node_list_t *list, rbs_node_t *node);
166
+ void rbs_node_list_append(rbs_node_list_t *RBS_NONNULL list, rbs_node_t *RBS_NONNULL node);
165
167
 
166
168
  /* rbs_hash */
167
169
 
168
170
  typedef struct rbs_hash_node {
169
- rbs_node_t *key;
170
- rbs_node_t *value;
171
- struct rbs_hash_node *next;
171
+ rbs_node_t *RBS_NONNULL key;
172
+ rbs_node_t *RBS_NONNULL value;
173
+ struct rbs_hash_node *RBS_NULLABLE next;
172
174
  } rbs_hash_node_t;
173
175
 
174
176
  typedef struct rbs_hash {
175
- rbs_allocator_t *allocator;
176
- rbs_hash_node_t *head;
177
- rbs_hash_node_t *tail;
177
+ rbs_allocator_t *RBS_NONNULL allocator;
178
+ rbs_hash_node_t *RBS_NULLABLE head;
179
+ rbs_hash_node_t *RBS_NULLABLE tail;
178
180
  size_t length;
179
181
  } rbs_hash_t;
180
182
 
181
- rbs_hash_t *rbs_hash_new(rbs_allocator_t *);
183
+ rbs_hash_t *RBS_NONNULL rbs_hash_new(rbs_allocator_t *RBS_NONNULL);
182
184
 
183
- void rbs_hash_set(rbs_hash_t *hash, rbs_node_t *key, rbs_node_t *value);
185
+ void rbs_hash_set(rbs_hash_t *RBS_NONNULL hash, rbs_node_t *RBS_NONNULL key, rbs_node_t *RBS_NONNULL value);
184
186
 
185
- rbs_hash_node_t *rbs_hash_find(rbs_hash_t *hash, rbs_node_t *key);
187
+ rbs_hash_node_t *RBS_NULLABLE rbs_hash_find(rbs_hash_t *RBS_NONNULL hash, rbs_node_t *RBS_NONNULL key);
186
188
 
187
- rbs_node_t *rbs_hash_get(rbs_hash_t *hash, rbs_node_t *key);
189
+ rbs_node_t *RBS_NULLABLE rbs_hash_get(rbs_hash_t *RBS_NONNULL hash, rbs_node_t *RBS_NONNULL key);
188
190
 
189
191
  /* rbs_ast_node */
190
192
 
@@ -209,12 +211,12 @@ typedef struct rbs_ast_comment {
209
211
  typedef struct rbs_ast_declarations_class {
210
212
  rbs_node_t base;
211
213
 
212
- struct rbs_type_name *name;
213
- struct rbs_node_list *type_params;
214
- struct rbs_ast_declarations_class_super *super_class; /* Optional */
215
- struct rbs_node_list *members;
216
- struct rbs_node_list *annotations;
217
- struct rbs_ast_comment *comment; /* Optional */
214
+ struct rbs_type_name *RBS_NONNULL name;
215
+ struct rbs_node_list *RBS_NONNULL type_params;
216
+ struct rbs_ast_declarations_class_super *RBS_NULLABLE super_class;
217
+ struct rbs_node_list *RBS_NONNULL members;
218
+ struct rbs_node_list *RBS_NONNULL annotations;
219
+ struct rbs_ast_comment *RBS_NULLABLE comment;
218
220
 
219
221
  rbs_location_range keyword_range; /* Required */
220
222
  rbs_location_range name_range; /* Required */
@@ -226,8 +228,8 @@ typedef struct rbs_ast_declarations_class {
226
228
  typedef struct rbs_ast_declarations_class_super {
227
229
  rbs_node_t base;
228
230
 
229
- struct rbs_type_name *name;
230
- struct rbs_node_list *args;
231
+ struct rbs_type_name *RBS_NONNULL name;
232
+ struct rbs_node_list *RBS_NONNULL args;
231
233
 
232
234
  rbs_location_range name_range; /* Required */
233
235
  rbs_location_range args_range; /* Optional */
@@ -236,10 +238,10 @@ typedef struct rbs_ast_declarations_class_super {
236
238
  typedef struct rbs_ast_declarations_class_alias {
237
239
  rbs_node_t base;
238
240
 
239
- struct rbs_type_name *new_name;
240
- struct rbs_type_name *old_name;
241
- struct rbs_ast_comment *comment; /* Optional */
242
- struct rbs_node_list *annotations;
241
+ struct rbs_type_name *RBS_NONNULL new_name;
242
+ struct rbs_type_name *RBS_NONNULL old_name;
243
+ struct rbs_ast_comment *RBS_NULLABLE comment;
244
+ struct rbs_node_list *RBS_NONNULL annotations;
243
245
 
244
246
  rbs_location_range keyword_range; /* Required */
245
247
  rbs_location_range new_name_range; /* Required */
@@ -250,10 +252,10 @@ typedef struct rbs_ast_declarations_class_alias {
250
252
  typedef struct rbs_ast_declarations_constant {
251
253
  rbs_node_t base;
252
254
 
253
- struct rbs_type_name *name;
254
- struct rbs_node *type;
255
- struct rbs_ast_comment *comment; /* Optional */
256
- struct rbs_node_list *annotations;
255
+ struct rbs_type_name *RBS_NONNULL name;
256
+ struct rbs_node *RBS_NONNULL type;
257
+ struct rbs_ast_comment *RBS_NULLABLE comment;
258
+ struct rbs_node_list *RBS_NONNULL annotations;
257
259
 
258
260
  rbs_location_range name_range; /* Required */
259
261
  rbs_location_range colon_range; /* Required */
@@ -262,10 +264,10 @@ typedef struct rbs_ast_declarations_constant {
262
264
  typedef struct rbs_ast_declarations_global {
263
265
  rbs_node_t base;
264
266
 
265
- struct rbs_ast_symbol *name;
266
- struct rbs_node *type;
267
- struct rbs_ast_comment *comment; /* Optional */
268
- struct rbs_node_list *annotations;
267
+ struct rbs_ast_symbol *RBS_NONNULL name;
268
+ struct rbs_node *RBS_NONNULL type;
269
+ struct rbs_ast_comment *RBS_NULLABLE comment;
270
+ struct rbs_node_list *RBS_NONNULL annotations;
269
271
 
270
272
  rbs_location_range name_range; /* Required */
271
273
  rbs_location_range colon_range; /* Required */
@@ -274,11 +276,11 @@ typedef struct rbs_ast_declarations_global {
274
276
  typedef struct rbs_ast_declarations_interface {
275
277
  rbs_node_t base;
276
278
 
277
- struct rbs_type_name *name;
278
- struct rbs_node_list *type_params;
279
- struct rbs_node_list *members;
280
- struct rbs_node_list *annotations;
281
- struct rbs_ast_comment *comment; /* Optional */
279
+ struct rbs_type_name *RBS_NONNULL name;
280
+ struct rbs_node_list *RBS_NONNULL type_params;
281
+ struct rbs_node_list *RBS_NONNULL members;
282
+ struct rbs_node_list *RBS_NONNULL annotations;
283
+ struct rbs_ast_comment *RBS_NULLABLE comment;
282
284
 
283
285
  rbs_location_range keyword_range; /* Required */
284
286
  rbs_location_range name_range; /* Required */
@@ -289,12 +291,12 @@ typedef struct rbs_ast_declarations_interface {
289
291
  typedef struct rbs_ast_declarations_module {
290
292
  rbs_node_t base;
291
293
 
292
- struct rbs_type_name *name;
293
- struct rbs_node_list *type_params;
294
- struct rbs_node_list *self_types;
295
- struct rbs_node_list *members;
296
- struct rbs_node_list *annotations;
297
- struct rbs_ast_comment *comment; /* Optional */
294
+ struct rbs_type_name *RBS_NONNULL name;
295
+ struct rbs_node_list *RBS_NONNULL type_params;
296
+ struct rbs_node_list *RBS_NONNULL self_types;
297
+ struct rbs_node_list *RBS_NONNULL members;
298
+ struct rbs_node_list *RBS_NONNULL annotations;
299
+ struct rbs_ast_comment *RBS_NULLABLE comment;
298
300
 
299
301
  rbs_location_range keyword_range; /* Required */
300
302
  rbs_location_range name_range; /* Required */
@@ -307,8 +309,8 @@ typedef struct rbs_ast_declarations_module {
307
309
  typedef struct rbs_ast_declarations_module_self {
308
310
  rbs_node_t base;
309
311
 
310
- struct rbs_type_name *name;
311
- struct rbs_node_list *args;
312
+ struct rbs_type_name *RBS_NONNULL name;
313
+ struct rbs_node_list *RBS_NONNULL args;
312
314
 
313
315
  rbs_location_range name_range; /* Required */
314
316
  rbs_location_range args_range; /* Optional */
@@ -317,10 +319,10 @@ typedef struct rbs_ast_declarations_module_self {
317
319
  typedef struct rbs_ast_declarations_module_alias {
318
320
  rbs_node_t base;
319
321
 
320
- struct rbs_type_name *new_name;
321
- struct rbs_type_name *old_name;
322
- struct rbs_ast_comment *comment; /* Optional */
323
- struct rbs_node_list *annotations;
322
+ struct rbs_type_name *RBS_NONNULL new_name;
323
+ struct rbs_type_name *RBS_NONNULL old_name;
324
+ struct rbs_ast_comment *RBS_NULLABLE comment;
325
+ struct rbs_node_list *RBS_NONNULL annotations;
324
326
 
325
327
  rbs_location_range keyword_range; /* Required */
326
328
  rbs_location_range new_name_range; /* Required */
@@ -331,11 +333,11 @@ typedef struct rbs_ast_declarations_module_alias {
331
333
  typedef struct rbs_ast_declarations_type_alias {
332
334
  rbs_node_t base;
333
335
 
334
- struct rbs_type_name *name;
335
- struct rbs_node_list *type_params;
336
- struct rbs_node *type;
337
- struct rbs_node_list *annotations;
338
- struct rbs_ast_comment *comment; /* Optional */
336
+ struct rbs_type_name *RBS_NONNULL name;
337
+ struct rbs_node_list *RBS_NONNULL type_params;
338
+ struct rbs_node *RBS_NONNULL type;
339
+ struct rbs_node_list *RBS_NONNULL annotations;
340
+ struct rbs_ast_comment *RBS_NULLABLE comment;
339
341
 
340
342
  rbs_location_range keyword_range; /* Required */
341
343
  rbs_location_range name_range; /* Required */
@@ -346,7 +348,7 @@ typedef struct rbs_ast_declarations_type_alias {
346
348
  typedef struct rbs_ast_directives_use {
347
349
  rbs_node_t base;
348
350
 
349
- struct rbs_node_list *clauses;
351
+ struct rbs_node_list *RBS_NONNULL clauses;
350
352
 
351
353
  rbs_location_range keyword_range; /* Required */
352
354
  } rbs_ast_directives_use_t;
@@ -354,8 +356,8 @@ typedef struct rbs_ast_directives_use {
354
356
  typedef struct rbs_ast_directives_use_single_clause {
355
357
  rbs_node_t base;
356
358
 
357
- struct rbs_type_name *type_name;
358
- struct rbs_ast_symbol *new_name; /* Optional */
359
+ struct rbs_type_name *RBS_NONNULL type_name;
360
+ struct rbs_ast_symbol *RBS_NULLABLE new_name;
359
361
 
360
362
  rbs_location_range type_name_range; /* Required */
361
363
  rbs_location_range keyword_range; /* Optional */
@@ -365,7 +367,7 @@ typedef struct rbs_ast_directives_use_single_clause {
365
367
  typedef struct rbs_ast_directives_use_wildcard_clause {
366
368
  rbs_node_t base;
367
369
 
368
- struct rbs_namespace *rbs_namespace;
370
+ struct rbs_namespace *RBS_NONNULL rbs_namespace;
369
371
 
370
372
  rbs_location_range namespace_range; /* Required */
371
373
  rbs_location_range star_range; /* Required */
@@ -380,11 +382,11 @@ typedef struct rbs_ast_integer {
380
382
  typedef struct rbs_ast_members_alias {
381
383
  rbs_node_t base;
382
384
 
383
- struct rbs_ast_symbol *new_name;
384
- struct rbs_ast_symbol *old_name;
385
+ struct rbs_ast_symbol *RBS_NONNULL new_name;
386
+ struct rbs_ast_symbol *RBS_NONNULL old_name;
385
387
  enum rbs_alias_kind kind;
386
- struct rbs_node_list *annotations;
387
- struct rbs_ast_comment *comment; /* Optional */
388
+ struct rbs_node_list *RBS_NONNULL annotations;
389
+ struct rbs_ast_comment *RBS_NULLABLE comment;
388
390
 
389
391
  rbs_location_range keyword_range; /* Required */
390
392
  rbs_location_range new_name_range; /* Required */
@@ -396,12 +398,12 @@ typedef struct rbs_ast_members_alias {
396
398
  typedef struct rbs_ast_members_attr_accessor {
397
399
  rbs_node_t base;
398
400
 
399
- struct rbs_ast_symbol *name;
400
- struct rbs_node *type;
401
+ struct rbs_ast_symbol *RBS_NONNULL name;
402
+ struct rbs_node *RBS_NONNULL type;
401
403
  rbs_attr_ivar_name_t ivar_name;
402
404
  enum rbs_attribute_kind kind;
403
- struct rbs_node_list *annotations;
404
- struct rbs_ast_comment *comment; /* Optional */
405
+ struct rbs_node_list *RBS_NONNULL annotations;
406
+ struct rbs_ast_comment *RBS_NULLABLE comment;
405
407
  enum rbs_attribute_visibility visibility;
406
408
 
407
409
  rbs_location_range keyword_range; /* Required */
@@ -416,12 +418,12 @@ typedef struct rbs_ast_members_attr_accessor {
416
418
  typedef struct rbs_ast_members_attr_reader {
417
419
  rbs_node_t base;
418
420
 
419
- struct rbs_ast_symbol *name;
420
- struct rbs_node *type;
421
+ struct rbs_ast_symbol *RBS_NONNULL name;
422
+ struct rbs_node *RBS_NONNULL type;
421
423
  rbs_attr_ivar_name_t ivar_name;
422
424
  enum rbs_attribute_kind kind;
423
- struct rbs_node_list *annotations;
424
- struct rbs_ast_comment *comment; /* Optional */
425
+ struct rbs_node_list *RBS_NONNULL annotations;
426
+ struct rbs_ast_comment *RBS_NULLABLE comment;
425
427
  enum rbs_attribute_visibility visibility;
426
428
 
427
429
  rbs_location_range keyword_range; /* Required */
@@ -436,12 +438,12 @@ typedef struct rbs_ast_members_attr_reader {
436
438
  typedef struct rbs_ast_members_attr_writer {
437
439
  rbs_node_t base;
438
440
 
439
- struct rbs_ast_symbol *name;
440
- struct rbs_node *type;
441
+ struct rbs_ast_symbol *RBS_NONNULL name;
442
+ struct rbs_node *RBS_NONNULL type;
441
443
  rbs_attr_ivar_name_t ivar_name;
442
444
  enum rbs_attribute_kind kind;
443
- struct rbs_node_list *annotations;
444
- struct rbs_ast_comment *comment; /* Optional */
445
+ struct rbs_node_list *RBS_NONNULL annotations;
446
+ struct rbs_ast_comment *RBS_NULLABLE comment;
445
447
  enum rbs_attribute_visibility visibility;
446
448
 
447
449
  rbs_location_range keyword_range; /* Required */
@@ -456,9 +458,9 @@ typedef struct rbs_ast_members_attr_writer {
456
458
  typedef struct rbs_ast_members_class_instance_variable {
457
459
  rbs_node_t base;
458
460
 
459
- struct rbs_ast_symbol *name;
460
- struct rbs_node *type;
461
- struct rbs_ast_comment *comment; /* Optional */
461
+ struct rbs_ast_symbol *RBS_NONNULL name;
462
+ struct rbs_node *RBS_NONNULL type;
463
+ struct rbs_ast_comment *RBS_NULLABLE comment;
462
464
 
463
465
  rbs_location_range name_range; /* Required */
464
466
  rbs_location_range colon_range; /* Required */
@@ -468,9 +470,9 @@ typedef struct rbs_ast_members_class_instance_variable {
468
470
  typedef struct rbs_ast_members_class_variable {
469
471
  rbs_node_t base;
470
472
 
471
- struct rbs_ast_symbol *name;
472
- struct rbs_node *type;
473
- struct rbs_ast_comment *comment; /* Optional */
473
+ struct rbs_ast_symbol *RBS_NONNULL name;
474
+ struct rbs_node *RBS_NONNULL type;
475
+ struct rbs_ast_comment *RBS_NULLABLE comment;
474
476
 
475
477
  rbs_location_range name_range; /* Required */
476
478
  rbs_location_range colon_range; /* Required */
@@ -480,10 +482,10 @@ typedef struct rbs_ast_members_class_variable {
480
482
  typedef struct rbs_ast_members_extend {
481
483
  rbs_node_t base;
482
484
 
483
- struct rbs_type_name *name;
484
- struct rbs_node_list *args;
485
- struct rbs_node_list *annotations;
486
- struct rbs_ast_comment *comment; /* Optional */
485
+ struct rbs_type_name *RBS_NONNULL name;
486
+ struct rbs_node_list *RBS_NONNULL args;
487
+ struct rbs_node_list *RBS_NONNULL annotations;
488
+ struct rbs_ast_comment *RBS_NULLABLE comment;
487
489
 
488
490
  rbs_location_range name_range; /* Required */
489
491
  rbs_location_range keyword_range; /* Required */
@@ -493,10 +495,10 @@ typedef struct rbs_ast_members_extend {
493
495
  typedef struct rbs_ast_members_include {
494
496
  rbs_node_t base;
495
497
 
496
- struct rbs_type_name *name;
497
- struct rbs_node_list *args;
498
- struct rbs_node_list *annotations;
499
- struct rbs_ast_comment *comment; /* Optional */
498
+ struct rbs_type_name *RBS_NONNULL name;
499
+ struct rbs_node_list *RBS_NONNULL args;
500
+ struct rbs_node_list *RBS_NONNULL annotations;
501
+ struct rbs_ast_comment *RBS_NULLABLE comment;
500
502
 
501
503
  rbs_location_range name_range; /* Required */
502
504
  rbs_location_range keyword_range; /* Required */
@@ -506,9 +508,9 @@ typedef struct rbs_ast_members_include {
506
508
  typedef struct rbs_ast_members_instance_variable {
507
509
  rbs_node_t base;
508
510
 
509
- struct rbs_ast_symbol *name;
510
- struct rbs_node *type;
511
- struct rbs_ast_comment *comment; /* Optional */
511
+ struct rbs_ast_symbol *RBS_NONNULL name;
512
+ struct rbs_node *RBS_NONNULL type;
513
+ struct rbs_ast_comment *RBS_NULLABLE comment;
512
514
 
513
515
  rbs_location_range name_range; /* Required */
514
516
  rbs_location_range colon_range; /* Required */
@@ -518,11 +520,11 @@ typedef struct rbs_ast_members_instance_variable {
518
520
  typedef struct rbs_ast_members_method_definition {
519
521
  rbs_node_t base;
520
522
 
521
- struct rbs_ast_symbol *name;
523
+ struct rbs_ast_symbol *RBS_NONNULL name;
522
524
  enum rbs_method_definition_kind kind;
523
- struct rbs_node_list *overloads;
524
- struct rbs_node_list *annotations;
525
- struct rbs_ast_comment *comment; /* Optional */
525
+ struct rbs_node_list *RBS_NONNULL overloads;
526
+ struct rbs_node_list *RBS_NONNULL annotations;
527
+ struct rbs_ast_comment *RBS_NULLABLE comment;
526
528
  bool overloading;
527
529
  enum rbs_method_definition_visibility visibility;
528
530
 
@@ -536,17 +538,17 @@ typedef struct rbs_ast_members_method_definition {
536
538
  typedef struct rbs_ast_members_method_definition_overload {
537
539
  rbs_node_t base;
538
540
 
539
- struct rbs_node_list *annotations;
540
- struct rbs_node *method_type;
541
+ struct rbs_node_list *RBS_NONNULL annotations;
542
+ struct rbs_node *RBS_NONNULL method_type;
541
543
  } rbs_ast_members_method_definition_overload_t;
542
544
 
543
545
  typedef struct rbs_ast_members_prepend {
544
546
  rbs_node_t base;
545
547
 
546
- struct rbs_type_name *name;
547
- struct rbs_node_list *args;
548
- struct rbs_node_list *annotations;
549
- struct rbs_ast_comment *comment; /* Optional */
548
+ struct rbs_type_name *RBS_NONNULL name;
549
+ struct rbs_node_list *RBS_NONNULL args;
550
+ struct rbs_node_list *RBS_NONNULL annotations;
551
+ struct rbs_ast_comment *RBS_NULLABLE comment;
550
552
 
551
553
  rbs_location_range name_range; /* Required */
552
554
  rbs_location_range keyword_range; /* Required */
@@ -568,12 +570,12 @@ typedef struct rbs_ast_ruby_annotations_block_param_type_annotation {
568
570
 
569
571
  rbs_location_range prefix_location;
570
572
  rbs_location_range ampersand_location;
571
- rbs_location_range name_location; /* Optional */
573
+ rbs_location_range name_location;
572
574
  rbs_location_range colon_location;
573
- rbs_location_range question_location; /* Optional */
575
+ rbs_location_range question_location;
574
576
  rbs_location_range type_location;
575
- struct rbs_node *type_;
576
- rbs_location_range comment_location; /* Optional */
577
+ struct rbs_node *RBS_NONNULL type_;
578
+ rbs_location_range comment_location;
577
579
  } rbs_ast_ruby_annotations_block_param_type_annotation_t;
578
580
 
579
581
  typedef struct rbs_ast_ruby_annotations_class_alias_annotation {
@@ -581,16 +583,16 @@ typedef struct rbs_ast_ruby_annotations_class_alias_annotation {
581
583
 
582
584
  rbs_location_range prefix_location;
583
585
  rbs_location_range keyword_location;
584
- struct rbs_type_name *type_name;
585
- rbs_location_range type_name_location; /* Optional */
586
+ struct rbs_type_name *RBS_NONNULL type_name;
587
+ rbs_location_range type_name_location;
586
588
  } rbs_ast_ruby_annotations_class_alias_annotation_t;
587
589
 
588
590
  typedef struct rbs_ast_ruby_annotations_colon_method_type_annotation {
589
591
  rbs_node_t base;
590
592
 
591
593
  rbs_location_range prefix_location;
592
- struct rbs_node_list *annotations;
593
- struct rbs_node *method_type;
594
+ struct rbs_node_list *RBS_NONNULL annotations;
595
+ struct rbs_node *RBS_NONNULL method_type;
594
596
  } rbs_ast_ruby_annotations_colon_method_type_annotation_t;
595
597
 
596
598
  typedef struct rbs_ast_ruby_annotations_double_splat_param_type_annotation {
@@ -598,30 +600,30 @@ typedef struct rbs_ast_ruby_annotations_double_splat_param_type_annotation {
598
600
 
599
601
  rbs_location_range prefix_location;
600
602
  rbs_location_range star2_location;
601
- rbs_location_range name_location; /* Optional */
603
+ rbs_location_range name_location;
602
604
  rbs_location_range colon_location;
603
- struct rbs_node *param_type;
604
- rbs_location_range comment_location; /* Optional */
605
+ struct rbs_node *RBS_NONNULL param_type;
606
+ rbs_location_range comment_location;
605
607
  } rbs_ast_ruby_annotations_double_splat_param_type_annotation_t;
606
608
 
607
609
  typedef struct rbs_ast_ruby_annotations_instance_variable_annotation {
608
610
  rbs_node_t base;
609
611
 
610
612
  rbs_location_range prefix_location;
611
- struct rbs_ast_symbol *ivar_name;
613
+ struct rbs_ast_symbol *RBS_NONNULL ivar_name;
612
614
  rbs_location_range ivar_name_location;
613
615
  rbs_location_range colon_location;
614
- struct rbs_node *type;
615
- rbs_location_range comment_location; /* Optional */
616
+ struct rbs_node *RBS_NONNULL type;
617
+ rbs_location_range comment_location;
616
618
  } rbs_ast_ruby_annotations_instance_variable_annotation_t;
617
619
 
618
620
  typedef struct rbs_ast_ruby_annotations_method_types_annotation {
619
621
  rbs_node_t base;
620
622
 
621
623
  rbs_location_range prefix_location;
622
- struct rbs_node_list *overloads;
623
- rbs_location_range_list_t *vertical_bar_locations;
624
- rbs_location_range dot3_location; /* Optional */
624
+ struct rbs_node_list *RBS_NONNULL overloads;
625
+ rbs_location_range_list_t *RBS_NONNULL vertical_bar_locations;
626
+ rbs_location_range dot3_location;
625
627
  } rbs_ast_ruby_annotations_method_types_annotation_t;
626
628
 
627
629
  typedef struct rbs_ast_ruby_annotations_module_alias_annotation {
@@ -629,15 +631,29 @@ typedef struct rbs_ast_ruby_annotations_module_alias_annotation {
629
631
 
630
632
  rbs_location_range prefix_location;
631
633
  rbs_location_range keyword_location;
632
- struct rbs_type_name *type_name;
633
- rbs_location_range type_name_location; /* Optional */
634
+ struct rbs_type_name *RBS_NONNULL type_name;
635
+ rbs_location_range type_name_location;
634
636
  } rbs_ast_ruby_annotations_module_alias_annotation_t;
635
637
 
638
+ typedef struct rbs_ast_ruby_annotations_module_self_annotation {
639
+ rbs_node_t base;
640
+
641
+ rbs_location_range prefix_location;
642
+ rbs_location_range keyword_location;
643
+ rbs_location_range colon_location;
644
+ struct rbs_type_name *RBS_NONNULL name;
645
+ struct rbs_node_list *RBS_NONNULL args;
646
+ rbs_location_range open_bracket_location;
647
+ rbs_location_range close_bracket_location;
648
+ rbs_location_range_list_t *RBS_NONNULL args_comma_locations;
649
+ rbs_location_range comment_location;
650
+ } rbs_ast_ruby_annotations_module_self_annotation_t;
651
+
636
652
  typedef struct rbs_ast_ruby_annotations_node_type_assertion {
637
653
  rbs_node_t base;
638
654
 
639
655
  rbs_location_range prefix_location;
640
- struct rbs_node *type;
656
+ struct rbs_node *RBS_NONNULL type;
641
657
  } rbs_ast_ruby_annotations_node_type_assertion_t;
642
658
 
643
659
  typedef struct rbs_ast_ruby_annotations_param_type_annotation {
@@ -646,8 +662,8 @@ typedef struct rbs_ast_ruby_annotations_param_type_annotation {
646
662
  rbs_location_range prefix_location;
647
663
  rbs_location_range name_location;
648
664
  rbs_location_range colon_location;
649
- struct rbs_node *param_type;
650
- rbs_location_range comment_location; /* Optional */
665
+ struct rbs_node *RBS_NONNULL param_type;
666
+ rbs_location_range comment_location;
651
667
  } rbs_ast_ruby_annotations_param_type_annotation_t;
652
668
 
653
669
  typedef struct rbs_ast_ruby_annotations_return_type_annotation {
@@ -656,8 +672,8 @@ typedef struct rbs_ast_ruby_annotations_return_type_annotation {
656
672
  rbs_location_range prefix_location;
657
673
  rbs_location_range return_location;
658
674
  rbs_location_range colon_location;
659
- struct rbs_node *return_type;
660
- rbs_location_range comment_location; /* Optional */
675
+ struct rbs_node *RBS_NONNULL return_type;
676
+ rbs_location_range comment_location;
661
677
  } rbs_ast_ruby_annotations_return_type_annotation_t;
662
678
 
663
679
  typedef struct rbs_ast_ruby_annotations_skip_annotation {
@@ -665,7 +681,7 @@ typedef struct rbs_ast_ruby_annotations_skip_annotation {
665
681
 
666
682
  rbs_location_range prefix_location;
667
683
  rbs_location_range skip_location;
668
- rbs_location_range comment_location; /* Optional */
684
+ rbs_location_range comment_location;
669
685
  } rbs_ast_ruby_annotations_skip_annotation_t;
670
686
 
671
687
  typedef struct rbs_ast_ruby_annotations_splat_param_type_annotation {
@@ -673,19 +689,19 @@ typedef struct rbs_ast_ruby_annotations_splat_param_type_annotation {
673
689
 
674
690
  rbs_location_range prefix_location;
675
691
  rbs_location_range star_location;
676
- rbs_location_range name_location; /* Optional */
692
+ rbs_location_range name_location;
677
693
  rbs_location_range colon_location;
678
- struct rbs_node *param_type;
679
- rbs_location_range comment_location; /* Optional */
694
+ struct rbs_node *RBS_NONNULL param_type;
695
+ rbs_location_range comment_location;
680
696
  } rbs_ast_ruby_annotations_splat_param_type_annotation_t;
681
697
 
682
698
  typedef struct rbs_ast_ruby_annotations_type_application_annotation {
683
699
  rbs_node_t base;
684
700
 
685
701
  rbs_location_range prefix_location;
686
- struct rbs_node_list *type_args;
702
+ struct rbs_node_list *RBS_NONNULL type_args;
687
703
  rbs_location_range close_bracket_location;
688
- rbs_location_range_list_t *comma_locations;
704
+ rbs_location_range_list_t *RBS_NONNULL comma_locations;
689
705
  } rbs_ast_ruby_annotations_type_application_annotation_t;
690
706
 
691
707
  typedef struct rbs_ast_string {
@@ -697,11 +713,11 @@ typedef struct rbs_ast_string {
697
713
  typedef struct rbs_ast_type_param {
698
714
  rbs_node_t base;
699
715
 
700
- struct rbs_ast_symbol *name;
716
+ struct rbs_ast_symbol *RBS_NONNULL name;
701
717
  enum rbs_type_param_variance variance;
702
- struct rbs_node *upper_bound; /* Optional */
703
- struct rbs_node *lower_bound; /* Optional */
704
- struct rbs_node *default_type; /* Optional */
718
+ struct rbs_node *RBS_NULLABLE upper_bound;
719
+ struct rbs_node *RBS_NULLABLE lower_bound;
720
+ struct rbs_node *RBS_NULLABLE default_type;
705
721
  bool unchecked;
706
722
 
707
723
  rbs_location_range name_range; /* Required */
@@ -715,9 +731,9 @@ typedef struct rbs_ast_type_param {
715
731
  typedef struct rbs_method_type {
716
732
  rbs_node_t base;
717
733
 
718
- struct rbs_node_list *type_params;
719
- struct rbs_node *type;
720
- struct rbs_types_block *block; /* Optional */
734
+ struct rbs_node_list *RBS_NONNULL type_params;
735
+ struct rbs_node *RBS_NONNULL type;
736
+ struct rbs_types_block *RBS_NULLABLE block;
721
737
 
722
738
  rbs_location_range type_range; /* Required */
723
739
  rbs_location_range type_params_range; /* Optional */
@@ -726,29 +742,29 @@ typedef struct rbs_method_type {
726
742
  typedef struct rbs_namespace {
727
743
  rbs_node_t base;
728
744
 
729
- struct rbs_node_list *path;
745
+ struct rbs_node_list *RBS_NONNULL path;
730
746
  bool absolute;
731
747
  } rbs_namespace_t;
732
748
 
733
749
  typedef struct rbs_signature {
734
750
  rbs_node_t base;
735
751
 
736
- struct rbs_node_list *directives;
737
- struct rbs_node_list *declarations;
752
+ struct rbs_node_list *RBS_NONNULL directives;
753
+ struct rbs_node_list *RBS_NONNULL declarations;
738
754
  } rbs_signature_t;
739
755
 
740
756
  typedef struct rbs_type_name {
741
757
  rbs_node_t base;
742
758
 
743
- struct rbs_namespace *rbs_namespace;
744
- struct rbs_ast_symbol *name;
759
+ struct rbs_namespace *RBS_NONNULL rbs_namespace;
760
+ struct rbs_ast_symbol *RBS_NONNULL name;
745
761
  } rbs_type_name_t;
746
762
 
747
763
  typedef struct rbs_types_alias {
748
764
  rbs_node_t base;
749
765
 
750
- struct rbs_type_name *name;
751
- struct rbs_node_list *args;
766
+ struct rbs_type_name *RBS_NONNULL name;
767
+ struct rbs_node_list *RBS_NONNULL args;
752
768
 
753
769
  rbs_location_range name_range; /* Required */
754
770
  rbs_location_range args_range; /* Optional */
@@ -803,16 +819,16 @@ typedef struct rbs_types_bases_void {
803
819
  typedef struct rbs_types_block {
804
820
  rbs_node_t base;
805
821
 
806
- struct rbs_node *type;
822
+ struct rbs_node *RBS_NONNULL type;
807
823
  bool required;
808
- struct rbs_node *self_type; /* Optional */
824
+ struct rbs_node *RBS_NULLABLE self_type;
809
825
  } rbs_types_block_t;
810
826
 
811
827
  typedef struct rbs_types_class_instance {
812
828
  rbs_node_t base;
813
829
 
814
- struct rbs_type_name *name;
815
- struct rbs_node_list *args;
830
+ struct rbs_type_name *RBS_NONNULL name;
831
+ struct rbs_node_list *RBS_NONNULL args;
816
832
 
817
833
  rbs_location_range name_range; /* Required */
818
834
  rbs_location_range args_range; /* Optional */
@@ -821,8 +837,8 @@ typedef struct rbs_types_class_instance {
821
837
  typedef struct rbs_types_class_singleton {
822
838
  rbs_node_t base;
823
839
 
824
- struct rbs_type_name *name;
825
- struct rbs_node_list *args;
840
+ struct rbs_type_name *RBS_NONNULL name;
841
+ struct rbs_node_list *RBS_NONNULL args;
826
842
 
827
843
  rbs_location_range name_range; /* Required */
828
844
  rbs_location_range args_range; /* Optional */
@@ -831,21 +847,21 @@ typedef struct rbs_types_class_singleton {
831
847
  typedef struct rbs_types_function {
832
848
  rbs_node_t base;
833
849
 
834
- struct rbs_node_list *required_positionals;
835
- struct rbs_node_list *optional_positionals;
836
- struct rbs_node *rest_positionals; /* Optional */
837
- struct rbs_node_list *trailing_positionals;
838
- struct rbs_hash *required_keywords;
839
- struct rbs_hash *optional_keywords;
840
- struct rbs_node *rest_keywords; /* Optional */
841
- struct rbs_node *return_type;
850
+ struct rbs_node_list *RBS_NONNULL required_positionals;
851
+ struct rbs_node_list *RBS_NONNULL optional_positionals;
852
+ struct rbs_node *RBS_NULLABLE rest_positionals;
853
+ struct rbs_node_list *RBS_NONNULL trailing_positionals;
854
+ struct rbs_hash *RBS_NONNULL required_keywords;
855
+ struct rbs_hash *RBS_NONNULL optional_keywords;
856
+ struct rbs_node *RBS_NULLABLE rest_keywords;
857
+ struct rbs_node *RBS_NONNULL return_type;
842
858
  } rbs_types_function_t;
843
859
 
844
860
  typedef struct rbs_types_function_param {
845
861
  rbs_node_t base;
846
862
 
847
- struct rbs_node *type;
848
- struct rbs_ast_symbol *name; /* Optional */
863
+ struct rbs_node *RBS_NONNULL type;
864
+ struct rbs_ast_symbol *RBS_NULLABLE name;
849
865
 
850
866
  rbs_location_range name_range; /* Optional */
851
867
  } rbs_types_function_param_t;
@@ -853,8 +869,8 @@ typedef struct rbs_types_function_param {
853
869
  typedef struct rbs_types_interface {
854
870
  rbs_node_t base;
855
871
 
856
- struct rbs_type_name *name;
857
- struct rbs_node_list *args;
872
+ struct rbs_type_name *RBS_NONNULL name;
873
+ struct rbs_node_list *RBS_NONNULL args;
858
874
 
859
875
  rbs_location_range name_range; /* Required */
860
876
  rbs_location_range args_range; /* Optional */
@@ -863,64 +879,64 @@ typedef struct rbs_types_interface {
863
879
  typedef struct rbs_types_intersection {
864
880
  rbs_node_t base;
865
881
 
866
- struct rbs_node_list *types;
882
+ struct rbs_node_list *RBS_NONNULL types;
867
883
  } rbs_types_intersection_t;
868
884
 
869
885
  typedef struct rbs_types_literal {
870
886
  rbs_node_t base;
871
887
 
872
- struct rbs_node *literal;
888
+ struct rbs_node *RBS_NONNULL literal;
873
889
  } rbs_types_literal_t;
874
890
 
875
891
  typedef struct rbs_types_optional {
876
892
  rbs_node_t base;
877
893
 
878
- struct rbs_node *type;
894
+ struct rbs_node *RBS_NONNULL type;
879
895
  } rbs_types_optional_t;
880
896
 
881
897
  typedef struct rbs_types_proc {
882
898
  rbs_node_t base;
883
899
 
884
- struct rbs_node *type;
885
- struct rbs_types_block *block; /* Optional */
886
- struct rbs_node *self_type; /* Optional */
900
+ struct rbs_node *RBS_NONNULL type;
901
+ struct rbs_types_block *RBS_NULLABLE block;
902
+ struct rbs_node *RBS_NULLABLE self_type;
887
903
  } rbs_types_proc_t;
888
904
 
889
905
  typedef struct rbs_types_record {
890
906
  rbs_node_t base;
891
907
 
892
- struct rbs_hash *all_fields;
908
+ struct rbs_hash *RBS_NONNULL all_fields;
893
909
  } rbs_types_record_t;
894
910
 
895
911
  typedef struct rbs_types_record_field_type {
896
912
  rbs_node_t base;
897
913
 
898
- struct rbs_node *type;
914
+ struct rbs_node *RBS_NONNULL type;
899
915
  bool required;
900
916
  } rbs_types_record_field_type_t;
901
917
 
902
918
  typedef struct rbs_types_tuple {
903
919
  rbs_node_t base;
904
920
 
905
- struct rbs_node_list *types;
921
+ struct rbs_node_list *RBS_NONNULL types;
906
922
  } rbs_types_tuple_t;
907
923
 
908
924
  typedef struct rbs_types_union {
909
925
  rbs_node_t base;
910
926
 
911
- struct rbs_node_list *types;
927
+ struct rbs_node_list *RBS_NONNULL types;
912
928
  } rbs_types_union_t;
913
929
 
914
930
  typedef struct rbs_types_untyped_function {
915
931
  rbs_node_t base;
916
932
 
917
- struct rbs_node *return_type;
933
+ struct rbs_node *RBS_NONNULL return_type;
918
934
  } rbs_types_untyped_function_t;
919
935
 
920
936
  typedef struct rbs_types_variable {
921
937
  rbs_node_t base;
922
938
 
923
- struct rbs_ast_symbol *name;
939
+ struct rbs_ast_symbol *RBS_NONNULL name;
924
940
  } rbs_types_variable_t;
925
941
 
926
942
  typedef union rbs_ast_ruby_annotations {
@@ -940,83 +956,84 @@ typedef struct rbs_ast_symbol {
940
956
  rbs_constant_id_t constant_id;
941
957
  } rbs_ast_symbol_t;
942
958
 
943
- rbs_ast_symbol_t *rbs_ast_symbol_new(rbs_allocator_t *, rbs_location_range, rbs_constant_pool_t *, rbs_constant_id_t);
944
-
945
- rbs_ast_annotation_t *rbs_ast_annotation_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_string_t string);
946
- rbs_ast_bool_t *rbs_ast_bool_new(rbs_allocator_t *allocator, rbs_location_range location, bool value);
947
- rbs_ast_comment_t *rbs_ast_comment_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_string_t string);
948
- rbs_ast_declarations_class_t *rbs_ast_declarations_class_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_type_name_t *name, rbs_node_list_t *type_params, rbs_ast_declarations_class_super_t *super_class, rbs_node_list_t *members, rbs_node_list_t *annotations, rbs_ast_comment_t *comment, rbs_location_range keyword_range, rbs_location_range name_range, rbs_location_range end_range);
949
- rbs_ast_declarations_class_super_t *rbs_ast_declarations_class_super_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_type_name_t *name, rbs_node_list_t *args, rbs_location_range name_range);
950
- rbs_ast_declarations_class_alias_t *rbs_ast_declarations_class_alias_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_type_name_t *new_name, rbs_type_name_t *old_name, rbs_ast_comment_t *comment, rbs_node_list_t *annotations, rbs_location_range keyword_range, rbs_location_range new_name_range, rbs_location_range eq_range, rbs_location_range old_name_range);
951
- rbs_ast_declarations_constant_t *rbs_ast_declarations_constant_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_type_name_t *name, rbs_node_t *type, rbs_ast_comment_t *comment, rbs_node_list_t *annotations, rbs_location_range name_range, rbs_location_range colon_range);
952
- rbs_ast_declarations_global_t *rbs_ast_declarations_global_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_ast_symbol_t *name, rbs_node_t *type, rbs_ast_comment_t *comment, rbs_node_list_t *annotations, rbs_location_range name_range, rbs_location_range colon_range);
953
- rbs_ast_declarations_interface_t *rbs_ast_declarations_interface_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_type_name_t *name, rbs_node_list_t *type_params, rbs_node_list_t *members, rbs_node_list_t *annotations, rbs_ast_comment_t *comment, rbs_location_range keyword_range, rbs_location_range name_range, rbs_location_range end_range);
954
- rbs_ast_declarations_module_t *rbs_ast_declarations_module_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_type_name_t *name, rbs_node_list_t *type_params, rbs_node_list_t *self_types, rbs_node_list_t *members, rbs_node_list_t *annotations, rbs_ast_comment_t *comment, rbs_location_range keyword_range, rbs_location_range name_range, rbs_location_range end_range);
955
- rbs_ast_declarations_module_self_t *rbs_ast_declarations_module_self_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_type_name_t *name, rbs_node_list_t *args, rbs_location_range name_range);
956
- rbs_ast_declarations_module_alias_t *rbs_ast_declarations_module_alias_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_type_name_t *new_name, rbs_type_name_t *old_name, rbs_ast_comment_t *comment, rbs_node_list_t *annotations, rbs_location_range keyword_range, rbs_location_range new_name_range, rbs_location_range eq_range, rbs_location_range old_name_range);
957
- rbs_ast_declarations_type_alias_t *rbs_ast_declarations_type_alias_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_type_name_t *name, rbs_node_list_t *type_params, rbs_node_t *type, rbs_node_list_t *annotations, rbs_ast_comment_t *comment, rbs_location_range keyword_range, rbs_location_range name_range, rbs_location_range eq_range);
958
- rbs_ast_directives_use_t *rbs_ast_directives_use_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_node_list_t *clauses, rbs_location_range keyword_range);
959
- rbs_ast_directives_use_single_clause_t *rbs_ast_directives_use_single_clause_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_type_name_t *type_name, rbs_ast_symbol_t *new_name, rbs_location_range type_name_range);
960
- rbs_ast_directives_use_wildcard_clause_t *rbs_ast_directives_use_wildcard_clause_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_namespace_t *rbs_namespace, rbs_location_range namespace_range, rbs_location_range star_range);
961
- rbs_ast_integer_t *rbs_ast_integer_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_string_t string_representation);
962
- rbs_ast_members_alias_t *rbs_ast_members_alias_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_ast_symbol_t *new_name, rbs_ast_symbol_t *old_name, enum rbs_alias_kind kind, rbs_node_list_t *annotations, rbs_ast_comment_t *comment, rbs_location_range keyword_range, rbs_location_range new_name_range, rbs_location_range old_name_range);
963
- rbs_ast_members_attr_accessor_t *rbs_ast_members_attr_accessor_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_ast_symbol_t *name, rbs_node_t *type, rbs_attr_ivar_name_t ivar_name, enum rbs_attribute_kind kind, rbs_node_list_t *annotations, rbs_ast_comment_t *comment, enum rbs_attribute_visibility visibility, rbs_location_range keyword_range, rbs_location_range name_range, rbs_location_range colon_range);
964
- rbs_ast_members_attr_reader_t *rbs_ast_members_attr_reader_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_ast_symbol_t *name, rbs_node_t *type, rbs_attr_ivar_name_t ivar_name, enum rbs_attribute_kind kind, rbs_node_list_t *annotations, rbs_ast_comment_t *comment, enum rbs_attribute_visibility visibility, rbs_location_range keyword_range, rbs_location_range name_range, rbs_location_range colon_range);
965
- rbs_ast_members_attr_writer_t *rbs_ast_members_attr_writer_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_ast_symbol_t *name, rbs_node_t *type, rbs_attr_ivar_name_t ivar_name, enum rbs_attribute_kind kind, rbs_node_list_t *annotations, rbs_ast_comment_t *comment, enum rbs_attribute_visibility visibility, rbs_location_range keyword_range, rbs_location_range name_range, rbs_location_range colon_range);
966
- rbs_ast_members_class_instance_variable_t *rbs_ast_members_class_instance_variable_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_ast_symbol_t *name, rbs_node_t *type, rbs_ast_comment_t *comment, rbs_location_range name_range, rbs_location_range colon_range);
967
- rbs_ast_members_class_variable_t *rbs_ast_members_class_variable_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_ast_symbol_t *name, rbs_node_t *type, rbs_ast_comment_t *comment, rbs_location_range name_range, rbs_location_range colon_range);
968
- rbs_ast_members_extend_t *rbs_ast_members_extend_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_type_name_t *name, rbs_node_list_t *args, rbs_node_list_t *annotations, rbs_ast_comment_t *comment, rbs_location_range name_range, rbs_location_range keyword_range);
969
- rbs_ast_members_include_t *rbs_ast_members_include_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_type_name_t *name, rbs_node_list_t *args, rbs_node_list_t *annotations, rbs_ast_comment_t *comment, rbs_location_range name_range, rbs_location_range keyword_range);
970
- rbs_ast_members_instance_variable_t *rbs_ast_members_instance_variable_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_ast_symbol_t *name, rbs_node_t *type, rbs_ast_comment_t *comment, rbs_location_range name_range, rbs_location_range colon_range);
971
- rbs_ast_members_method_definition_t *rbs_ast_members_method_definition_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_ast_symbol_t *name, enum rbs_method_definition_kind kind, rbs_node_list_t *overloads, rbs_node_list_t *annotations, rbs_ast_comment_t *comment, bool overloading, enum rbs_method_definition_visibility visibility, rbs_location_range keyword_range, rbs_location_range name_range);
972
- rbs_ast_members_method_definition_overload_t *rbs_ast_members_method_definition_overload_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_node_list_t *annotations, rbs_node_t *method_type);
973
- rbs_ast_members_prepend_t *rbs_ast_members_prepend_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_type_name_t *name, rbs_node_list_t *args, rbs_node_list_t *annotations, rbs_ast_comment_t *comment, rbs_location_range name_range, rbs_location_range keyword_range);
974
- rbs_ast_members_private_t *rbs_ast_members_private_new(rbs_allocator_t *allocator, rbs_location_range location);
975
- rbs_ast_members_public_t *rbs_ast_members_public_new(rbs_allocator_t *allocator, rbs_location_range location);
976
- rbs_ast_ruby_annotations_block_param_type_annotation_t *rbs_ast_ruby_annotations_block_param_type_annotation_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_location_range prefix_location, rbs_location_range ampersand_location, rbs_location_range name_location, rbs_location_range colon_location, rbs_location_range question_location, rbs_location_range type_location, rbs_node_t *type_, rbs_location_range comment_location);
977
- rbs_ast_ruby_annotations_class_alias_annotation_t *rbs_ast_ruby_annotations_class_alias_annotation_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_location_range prefix_location, rbs_location_range keyword_location, rbs_type_name_t *type_name, rbs_location_range type_name_location);
978
- rbs_ast_ruby_annotations_colon_method_type_annotation_t *rbs_ast_ruby_annotations_colon_method_type_annotation_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_location_range prefix_location, rbs_node_list_t *annotations, rbs_node_t *method_type);
979
- rbs_ast_ruby_annotations_double_splat_param_type_annotation_t *rbs_ast_ruby_annotations_double_splat_param_type_annotation_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_location_range prefix_location, rbs_location_range star2_location, rbs_location_range name_location, rbs_location_range colon_location, rbs_node_t *param_type, rbs_location_range comment_location);
980
- rbs_ast_ruby_annotations_instance_variable_annotation_t *rbs_ast_ruby_annotations_instance_variable_annotation_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_location_range prefix_location, rbs_ast_symbol_t *ivar_name, rbs_location_range ivar_name_location, rbs_location_range colon_location, rbs_node_t *type, rbs_location_range comment_location);
981
- rbs_ast_ruby_annotations_method_types_annotation_t *rbs_ast_ruby_annotations_method_types_annotation_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_location_range prefix_location, rbs_node_list_t *overloads, rbs_location_range_list_t *vertical_bar_locations, rbs_location_range dot3_location);
982
- rbs_ast_ruby_annotations_module_alias_annotation_t *rbs_ast_ruby_annotations_module_alias_annotation_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_location_range prefix_location, rbs_location_range keyword_location, rbs_type_name_t *type_name, rbs_location_range type_name_location);
983
- rbs_ast_ruby_annotations_node_type_assertion_t *rbs_ast_ruby_annotations_node_type_assertion_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_location_range prefix_location, rbs_node_t *type);
984
- rbs_ast_ruby_annotations_param_type_annotation_t *rbs_ast_ruby_annotations_param_type_annotation_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_location_range prefix_location, rbs_location_range name_location, rbs_location_range colon_location, rbs_node_t *param_type, rbs_location_range comment_location);
985
- rbs_ast_ruby_annotations_return_type_annotation_t *rbs_ast_ruby_annotations_return_type_annotation_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_location_range prefix_location, rbs_location_range return_location, rbs_location_range colon_location, rbs_node_t *return_type, rbs_location_range comment_location);
986
- rbs_ast_ruby_annotations_skip_annotation_t *rbs_ast_ruby_annotations_skip_annotation_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_location_range prefix_location, rbs_location_range skip_location, rbs_location_range comment_location);
987
- rbs_ast_ruby_annotations_splat_param_type_annotation_t *rbs_ast_ruby_annotations_splat_param_type_annotation_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_location_range prefix_location, rbs_location_range star_location, rbs_location_range name_location, rbs_location_range colon_location, rbs_node_t *param_type, rbs_location_range comment_location);
988
- rbs_ast_ruby_annotations_type_application_annotation_t *rbs_ast_ruby_annotations_type_application_annotation_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_location_range prefix_location, rbs_node_list_t *type_args, rbs_location_range close_bracket_location, rbs_location_range_list_t *comma_locations);
989
- rbs_ast_string_t *rbs_ast_string_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_string_t string);
990
- rbs_ast_type_param_t *rbs_ast_type_param_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_ast_symbol_t *name, enum rbs_type_param_variance variance, rbs_node_t *upper_bound, rbs_node_t *lower_bound, rbs_node_t *default_type, bool unchecked, rbs_location_range name_range);
991
- rbs_method_type_t *rbs_method_type_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_node_list_t *type_params, rbs_node_t *type, rbs_types_block_t *block, rbs_location_range type_range);
992
- rbs_namespace_t *rbs_namespace_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_node_list_t *path, bool absolute);
993
- rbs_signature_t *rbs_signature_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_node_list_t *directives, rbs_node_list_t *declarations);
994
- rbs_type_name_t *rbs_type_name_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_namespace_t *rbs_namespace, rbs_ast_symbol_t *name);
995
- rbs_types_alias_t *rbs_types_alias_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_type_name_t *name, rbs_node_list_t *args, rbs_location_range name_range);
996
- rbs_types_bases_any_t *rbs_types_bases_any_new(rbs_allocator_t *allocator, rbs_location_range location, bool todo);
997
- rbs_types_bases_bool_t *rbs_types_bases_bool_new(rbs_allocator_t *allocator, rbs_location_range location);
998
- rbs_types_bases_bottom_t *rbs_types_bases_bottom_new(rbs_allocator_t *allocator, rbs_location_range location);
999
- rbs_types_bases_class_t *rbs_types_bases_class_new(rbs_allocator_t *allocator, rbs_location_range location);
1000
- rbs_types_bases_instance_t *rbs_types_bases_instance_new(rbs_allocator_t *allocator, rbs_location_range location);
1001
- rbs_types_bases_nil_t *rbs_types_bases_nil_new(rbs_allocator_t *allocator, rbs_location_range location);
1002
- rbs_types_bases_self_t *rbs_types_bases_self_new(rbs_allocator_t *allocator, rbs_location_range location);
1003
- rbs_types_bases_top_t *rbs_types_bases_top_new(rbs_allocator_t *allocator, rbs_location_range location);
1004
- rbs_types_bases_void_t *rbs_types_bases_void_new(rbs_allocator_t *allocator, rbs_location_range location);
1005
- rbs_types_block_t *rbs_types_block_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_node_t *type, bool required, rbs_node_t *self_type);
1006
- rbs_types_class_instance_t *rbs_types_class_instance_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_type_name_t *name, rbs_node_list_t *args, rbs_location_range name_range);
1007
- rbs_types_class_singleton_t *rbs_types_class_singleton_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_type_name_t *name, rbs_node_list_t *args, rbs_location_range name_range);
1008
- rbs_types_function_t *rbs_types_function_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_node_list_t *required_positionals, rbs_node_list_t *optional_positionals, rbs_node_t *rest_positionals, rbs_node_list_t *trailing_positionals, rbs_hash_t *required_keywords, rbs_hash_t *optional_keywords, rbs_node_t *rest_keywords, rbs_node_t *return_type);
1009
- rbs_types_function_param_t *rbs_types_function_param_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_node_t *type, rbs_ast_symbol_t *name);
1010
- rbs_types_interface_t *rbs_types_interface_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_type_name_t *name, rbs_node_list_t *args, rbs_location_range name_range);
1011
- rbs_types_intersection_t *rbs_types_intersection_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_node_list_t *types);
1012
- rbs_types_literal_t *rbs_types_literal_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_node_t *literal);
1013
- rbs_types_optional_t *rbs_types_optional_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_node_t *type);
1014
- rbs_types_proc_t *rbs_types_proc_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_node_t *type, rbs_types_block_t *block, rbs_node_t *self_type);
1015
- rbs_types_record_t *rbs_types_record_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_hash_t *all_fields);
1016
- rbs_types_record_field_type_t *rbs_types_record_field_type_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_node_t *type, bool required);
1017
- rbs_types_tuple_t *rbs_types_tuple_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_node_list_t *types);
1018
- rbs_types_union_t *rbs_types_union_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_node_list_t *types);
1019
- rbs_types_untyped_function_t *rbs_types_untyped_function_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_node_t *return_type);
1020
- rbs_types_variable_t *rbs_types_variable_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_ast_symbol_t *name);
959
+ rbs_ast_symbol_t *RBS_NONNULL rbs_ast_symbol_new(rbs_allocator_t *RBS_NONNULL, rbs_location_range, rbs_constant_pool_t *RBS_NONNULL, rbs_constant_id_t);
960
+
961
+ rbs_ast_annotation_t *RBS_NONNULL rbs_ast_annotation_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_string_t string);
962
+ rbs_ast_bool_t *RBS_NONNULL rbs_ast_bool_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, bool value);
963
+ rbs_ast_comment_t *RBS_NONNULL rbs_ast_comment_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_string_t string);
964
+ rbs_ast_declarations_class_t *RBS_NONNULL rbs_ast_declarations_class_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_type_name_t *RBS_NONNULL name, rbs_node_list_t *RBS_NONNULL type_params, rbs_ast_declarations_class_super_t *RBS_NULLABLE super_class, rbs_node_list_t *RBS_NONNULL members, rbs_node_list_t *RBS_NONNULL annotations, rbs_ast_comment_t *RBS_NULLABLE comment, rbs_location_range keyword_range, rbs_location_range name_range, rbs_location_range end_range);
965
+ rbs_ast_declarations_class_super_t *RBS_NONNULL rbs_ast_declarations_class_super_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_type_name_t *RBS_NONNULL name, rbs_node_list_t *RBS_NONNULL args, rbs_location_range name_range);
966
+ rbs_ast_declarations_class_alias_t *RBS_NONNULL rbs_ast_declarations_class_alias_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_type_name_t *RBS_NONNULL new_name, rbs_type_name_t *RBS_NONNULL old_name, rbs_ast_comment_t *RBS_NULLABLE comment, rbs_node_list_t *RBS_NONNULL annotations, rbs_location_range keyword_range, rbs_location_range new_name_range, rbs_location_range eq_range, rbs_location_range old_name_range);
967
+ rbs_ast_declarations_constant_t *RBS_NONNULL rbs_ast_declarations_constant_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_type_name_t *RBS_NONNULL name, rbs_node_t *RBS_NONNULL type, rbs_ast_comment_t *RBS_NULLABLE comment, rbs_node_list_t *RBS_NONNULL annotations, rbs_location_range name_range, rbs_location_range colon_range);
968
+ rbs_ast_declarations_global_t *RBS_NONNULL rbs_ast_declarations_global_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_ast_symbol_t *RBS_NONNULL name, rbs_node_t *RBS_NONNULL type, rbs_ast_comment_t *RBS_NULLABLE comment, rbs_node_list_t *RBS_NONNULL annotations, rbs_location_range name_range, rbs_location_range colon_range);
969
+ rbs_ast_declarations_interface_t *RBS_NONNULL rbs_ast_declarations_interface_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_type_name_t *RBS_NONNULL name, rbs_node_list_t *RBS_NONNULL type_params, rbs_node_list_t *RBS_NONNULL members, rbs_node_list_t *RBS_NONNULL annotations, rbs_ast_comment_t *RBS_NULLABLE comment, rbs_location_range keyword_range, rbs_location_range name_range, rbs_location_range end_range);
970
+ rbs_ast_declarations_module_t *RBS_NONNULL rbs_ast_declarations_module_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_type_name_t *RBS_NONNULL name, rbs_node_list_t *RBS_NONNULL type_params, rbs_node_list_t *RBS_NONNULL self_types, rbs_node_list_t *RBS_NONNULL members, rbs_node_list_t *RBS_NONNULL annotations, rbs_ast_comment_t *RBS_NULLABLE comment, rbs_location_range keyword_range, rbs_location_range name_range, rbs_location_range end_range);
971
+ rbs_ast_declarations_module_self_t *RBS_NONNULL rbs_ast_declarations_module_self_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_type_name_t *RBS_NONNULL name, rbs_node_list_t *RBS_NONNULL args, rbs_location_range name_range);
972
+ rbs_ast_declarations_module_alias_t *RBS_NONNULL rbs_ast_declarations_module_alias_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_type_name_t *RBS_NONNULL new_name, rbs_type_name_t *RBS_NONNULL old_name, rbs_ast_comment_t *RBS_NULLABLE comment, rbs_node_list_t *RBS_NONNULL annotations, rbs_location_range keyword_range, rbs_location_range new_name_range, rbs_location_range eq_range, rbs_location_range old_name_range);
973
+ rbs_ast_declarations_type_alias_t *RBS_NONNULL rbs_ast_declarations_type_alias_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_type_name_t *RBS_NONNULL name, rbs_node_list_t *RBS_NONNULL type_params, rbs_node_t *RBS_NONNULL type, rbs_node_list_t *RBS_NONNULL annotations, rbs_ast_comment_t *RBS_NULLABLE comment, rbs_location_range keyword_range, rbs_location_range name_range, rbs_location_range eq_range);
974
+ rbs_ast_directives_use_t *RBS_NONNULL rbs_ast_directives_use_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_node_list_t *RBS_NONNULL clauses, rbs_location_range keyword_range);
975
+ rbs_ast_directives_use_single_clause_t *RBS_NONNULL rbs_ast_directives_use_single_clause_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_type_name_t *RBS_NONNULL type_name, rbs_ast_symbol_t *RBS_NULLABLE new_name, rbs_location_range type_name_range);
976
+ rbs_ast_directives_use_wildcard_clause_t *RBS_NONNULL rbs_ast_directives_use_wildcard_clause_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_namespace_t *RBS_NONNULL rbs_namespace, rbs_location_range namespace_range, rbs_location_range star_range);
977
+ rbs_ast_integer_t *RBS_NONNULL rbs_ast_integer_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_string_t string_representation);
978
+ rbs_ast_members_alias_t *RBS_NONNULL rbs_ast_members_alias_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_ast_symbol_t *RBS_NONNULL new_name, rbs_ast_symbol_t *RBS_NONNULL old_name, enum rbs_alias_kind kind, rbs_node_list_t *RBS_NONNULL annotations, rbs_ast_comment_t *RBS_NULLABLE comment, rbs_location_range keyword_range, rbs_location_range new_name_range, rbs_location_range old_name_range);
979
+ rbs_ast_members_attr_accessor_t *RBS_NONNULL rbs_ast_members_attr_accessor_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_ast_symbol_t *RBS_NONNULL name, rbs_node_t *RBS_NONNULL type, rbs_attr_ivar_name_t ivar_name, enum rbs_attribute_kind kind, rbs_node_list_t *RBS_NONNULL annotations, rbs_ast_comment_t *RBS_NULLABLE comment, enum rbs_attribute_visibility visibility, rbs_location_range keyword_range, rbs_location_range name_range, rbs_location_range colon_range);
980
+ rbs_ast_members_attr_reader_t *RBS_NONNULL rbs_ast_members_attr_reader_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_ast_symbol_t *RBS_NONNULL name, rbs_node_t *RBS_NONNULL type, rbs_attr_ivar_name_t ivar_name, enum rbs_attribute_kind kind, rbs_node_list_t *RBS_NONNULL annotations, rbs_ast_comment_t *RBS_NULLABLE comment, enum rbs_attribute_visibility visibility, rbs_location_range keyword_range, rbs_location_range name_range, rbs_location_range colon_range);
981
+ rbs_ast_members_attr_writer_t *RBS_NONNULL rbs_ast_members_attr_writer_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_ast_symbol_t *RBS_NONNULL name, rbs_node_t *RBS_NONNULL type, rbs_attr_ivar_name_t ivar_name, enum rbs_attribute_kind kind, rbs_node_list_t *RBS_NONNULL annotations, rbs_ast_comment_t *RBS_NULLABLE comment, enum rbs_attribute_visibility visibility, rbs_location_range keyword_range, rbs_location_range name_range, rbs_location_range colon_range);
982
+ rbs_ast_members_class_instance_variable_t *RBS_NONNULL rbs_ast_members_class_instance_variable_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_ast_symbol_t *RBS_NONNULL name, rbs_node_t *RBS_NONNULL type, rbs_ast_comment_t *RBS_NULLABLE comment, rbs_location_range name_range, rbs_location_range colon_range);
983
+ rbs_ast_members_class_variable_t *RBS_NONNULL rbs_ast_members_class_variable_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_ast_symbol_t *RBS_NONNULL name, rbs_node_t *RBS_NONNULL type, rbs_ast_comment_t *RBS_NULLABLE comment, rbs_location_range name_range, rbs_location_range colon_range);
984
+ rbs_ast_members_extend_t *RBS_NONNULL rbs_ast_members_extend_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_type_name_t *RBS_NONNULL name, rbs_node_list_t *RBS_NONNULL args, rbs_node_list_t *RBS_NONNULL annotations, rbs_ast_comment_t *RBS_NULLABLE comment, rbs_location_range name_range, rbs_location_range keyword_range);
985
+ rbs_ast_members_include_t *RBS_NONNULL rbs_ast_members_include_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_type_name_t *RBS_NONNULL name, rbs_node_list_t *RBS_NONNULL args, rbs_node_list_t *RBS_NONNULL annotations, rbs_ast_comment_t *RBS_NULLABLE comment, rbs_location_range name_range, rbs_location_range keyword_range);
986
+ rbs_ast_members_instance_variable_t *RBS_NONNULL rbs_ast_members_instance_variable_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_ast_symbol_t *RBS_NONNULL name, rbs_node_t *RBS_NONNULL type, rbs_ast_comment_t *RBS_NULLABLE comment, rbs_location_range name_range, rbs_location_range colon_range);
987
+ rbs_ast_members_method_definition_t *RBS_NONNULL rbs_ast_members_method_definition_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_ast_symbol_t *RBS_NONNULL name, enum rbs_method_definition_kind kind, rbs_node_list_t *RBS_NONNULL overloads, rbs_node_list_t *RBS_NONNULL annotations, rbs_ast_comment_t *RBS_NULLABLE comment, bool overloading, enum rbs_method_definition_visibility visibility, rbs_location_range keyword_range, rbs_location_range name_range);
988
+ rbs_ast_members_method_definition_overload_t *RBS_NONNULL rbs_ast_members_method_definition_overload_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_node_list_t *RBS_NONNULL annotations, rbs_node_t *RBS_NONNULL method_type);
989
+ rbs_ast_members_prepend_t *RBS_NONNULL rbs_ast_members_prepend_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_type_name_t *RBS_NONNULL name, rbs_node_list_t *RBS_NONNULL args, rbs_node_list_t *RBS_NONNULL annotations, rbs_ast_comment_t *RBS_NULLABLE comment, rbs_location_range name_range, rbs_location_range keyword_range);
990
+ rbs_ast_members_private_t *RBS_NONNULL rbs_ast_members_private_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location);
991
+ rbs_ast_members_public_t *RBS_NONNULL rbs_ast_members_public_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location);
992
+ rbs_ast_ruby_annotations_block_param_type_annotation_t *RBS_NONNULL rbs_ast_ruby_annotations_block_param_type_annotation_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_location_range prefix_location, rbs_location_range ampersand_location, rbs_location_range name_location, rbs_location_range colon_location, rbs_location_range question_location, rbs_location_range type_location, rbs_node_t *RBS_NONNULL type_, rbs_location_range comment_location);
993
+ rbs_ast_ruby_annotations_class_alias_annotation_t *RBS_NONNULL rbs_ast_ruby_annotations_class_alias_annotation_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_location_range prefix_location, rbs_location_range keyword_location, rbs_type_name_t *RBS_NONNULL type_name, rbs_location_range type_name_location);
994
+ rbs_ast_ruby_annotations_colon_method_type_annotation_t *RBS_NONNULL rbs_ast_ruby_annotations_colon_method_type_annotation_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_location_range prefix_location, rbs_node_list_t *RBS_NONNULL annotations, rbs_node_t *RBS_NONNULL method_type);
995
+ rbs_ast_ruby_annotations_double_splat_param_type_annotation_t *RBS_NONNULL rbs_ast_ruby_annotations_double_splat_param_type_annotation_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_location_range prefix_location, rbs_location_range star2_location, rbs_location_range name_location, rbs_location_range colon_location, rbs_node_t *RBS_NONNULL param_type, rbs_location_range comment_location);
996
+ rbs_ast_ruby_annotations_instance_variable_annotation_t *RBS_NONNULL rbs_ast_ruby_annotations_instance_variable_annotation_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_location_range prefix_location, rbs_ast_symbol_t *RBS_NONNULL ivar_name, rbs_location_range ivar_name_location, rbs_location_range colon_location, rbs_node_t *RBS_NONNULL type, rbs_location_range comment_location);
997
+ rbs_ast_ruby_annotations_method_types_annotation_t *RBS_NONNULL rbs_ast_ruby_annotations_method_types_annotation_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_location_range prefix_location, rbs_node_list_t *RBS_NONNULL overloads, rbs_location_range_list_t *RBS_NONNULL vertical_bar_locations, rbs_location_range dot3_location);
998
+ rbs_ast_ruby_annotations_module_alias_annotation_t *RBS_NONNULL rbs_ast_ruby_annotations_module_alias_annotation_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_location_range prefix_location, rbs_location_range keyword_location, rbs_type_name_t *RBS_NONNULL type_name, rbs_location_range type_name_location);
999
+ rbs_ast_ruby_annotations_module_self_annotation_t *RBS_NONNULL rbs_ast_ruby_annotations_module_self_annotation_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_location_range prefix_location, rbs_location_range keyword_location, rbs_location_range colon_location, rbs_type_name_t *RBS_NONNULL name, rbs_node_list_t *RBS_NONNULL args, rbs_location_range open_bracket_location, rbs_location_range close_bracket_location, rbs_location_range_list_t *RBS_NONNULL args_comma_locations, rbs_location_range comment_location);
1000
+ rbs_ast_ruby_annotations_node_type_assertion_t *RBS_NONNULL rbs_ast_ruby_annotations_node_type_assertion_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_location_range prefix_location, rbs_node_t *RBS_NONNULL type);
1001
+ rbs_ast_ruby_annotations_param_type_annotation_t *RBS_NONNULL rbs_ast_ruby_annotations_param_type_annotation_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_location_range prefix_location, rbs_location_range name_location, rbs_location_range colon_location, rbs_node_t *RBS_NONNULL param_type, rbs_location_range comment_location);
1002
+ rbs_ast_ruby_annotations_return_type_annotation_t *RBS_NONNULL rbs_ast_ruby_annotations_return_type_annotation_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_location_range prefix_location, rbs_location_range return_location, rbs_location_range colon_location, rbs_node_t *RBS_NONNULL return_type, rbs_location_range comment_location);
1003
+ rbs_ast_ruby_annotations_skip_annotation_t *RBS_NONNULL rbs_ast_ruby_annotations_skip_annotation_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_location_range prefix_location, rbs_location_range skip_location, rbs_location_range comment_location);
1004
+ rbs_ast_ruby_annotations_splat_param_type_annotation_t *RBS_NONNULL rbs_ast_ruby_annotations_splat_param_type_annotation_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_location_range prefix_location, rbs_location_range star_location, rbs_location_range name_location, rbs_location_range colon_location, rbs_node_t *RBS_NONNULL param_type, rbs_location_range comment_location);
1005
+ rbs_ast_ruby_annotations_type_application_annotation_t *RBS_NONNULL rbs_ast_ruby_annotations_type_application_annotation_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_location_range prefix_location, rbs_node_list_t *RBS_NONNULL type_args, rbs_location_range close_bracket_location, rbs_location_range_list_t *RBS_NONNULL comma_locations);
1006
+ rbs_ast_string_t *RBS_NONNULL rbs_ast_string_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_string_t string);
1007
+ rbs_ast_type_param_t *RBS_NONNULL rbs_ast_type_param_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_ast_symbol_t *RBS_NONNULL name, enum rbs_type_param_variance variance, rbs_node_t *RBS_NULLABLE upper_bound, rbs_node_t *RBS_NULLABLE lower_bound, rbs_node_t *RBS_NULLABLE default_type, bool unchecked, rbs_location_range name_range);
1008
+ rbs_method_type_t *RBS_NONNULL rbs_method_type_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_node_list_t *RBS_NONNULL type_params, rbs_node_t *RBS_NONNULL type, rbs_types_block_t *RBS_NULLABLE block, rbs_location_range type_range);
1009
+ rbs_namespace_t *RBS_NONNULL rbs_namespace_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_node_list_t *RBS_NONNULL path, bool absolute);
1010
+ rbs_signature_t *RBS_NONNULL rbs_signature_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_node_list_t *RBS_NONNULL directives, rbs_node_list_t *RBS_NONNULL declarations);
1011
+ rbs_type_name_t *RBS_NONNULL rbs_type_name_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_namespace_t *RBS_NONNULL rbs_namespace, rbs_ast_symbol_t *RBS_NONNULL name);
1012
+ rbs_types_alias_t *RBS_NONNULL rbs_types_alias_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_type_name_t *RBS_NONNULL name, rbs_node_list_t *RBS_NONNULL args, rbs_location_range name_range);
1013
+ rbs_types_bases_any_t *RBS_NONNULL rbs_types_bases_any_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, bool todo);
1014
+ rbs_types_bases_bool_t *RBS_NONNULL rbs_types_bases_bool_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location);
1015
+ rbs_types_bases_bottom_t *RBS_NONNULL rbs_types_bases_bottom_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location);
1016
+ rbs_types_bases_class_t *RBS_NONNULL rbs_types_bases_class_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location);
1017
+ rbs_types_bases_instance_t *RBS_NONNULL rbs_types_bases_instance_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location);
1018
+ rbs_types_bases_nil_t *RBS_NONNULL rbs_types_bases_nil_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location);
1019
+ rbs_types_bases_self_t *RBS_NONNULL rbs_types_bases_self_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location);
1020
+ rbs_types_bases_top_t *RBS_NONNULL rbs_types_bases_top_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location);
1021
+ rbs_types_bases_void_t *RBS_NONNULL rbs_types_bases_void_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location);
1022
+ rbs_types_block_t *RBS_NONNULL rbs_types_block_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_node_t *RBS_NONNULL type, bool required, rbs_node_t *RBS_NULLABLE self_type);
1023
+ rbs_types_class_instance_t *RBS_NONNULL rbs_types_class_instance_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_type_name_t *RBS_NONNULL name, rbs_node_list_t *RBS_NONNULL args, rbs_location_range name_range);
1024
+ rbs_types_class_singleton_t *RBS_NONNULL rbs_types_class_singleton_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_type_name_t *RBS_NONNULL name, rbs_node_list_t *RBS_NONNULL args, rbs_location_range name_range);
1025
+ rbs_types_function_t *RBS_NONNULL rbs_types_function_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_node_list_t *RBS_NONNULL required_positionals, rbs_node_list_t *RBS_NONNULL optional_positionals, rbs_node_t *RBS_NULLABLE rest_positionals, rbs_node_list_t *RBS_NONNULL trailing_positionals, rbs_hash_t *RBS_NONNULL required_keywords, rbs_hash_t *RBS_NONNULL optional_keywords, rbs_node_t *RBS_NULLABLE rest_keywords, rbs_node_t *RBS_NONNULL return_type);
1026
+ rbs_types_function_param_t *RBS_NONNULL rbs_types_function_param_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_node_t *RBS_NONNULL type, rbs_ast_symbol_t *RBS_NULLABLE name);
1027
+ rbs_types_interface_t *RBS_NONNULL rbs_types_interface_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_type_name_t *RBS_NONNULL name, rbs_node_list_t *RBS_NONNULL args, rbs_location_range name_range);
1028
+ rbs_types_intersection_t *RBS_NONNULL rbs_types_intersection_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_node_list_t *RBS_NONNULL types);
1029
+ rbs_types_literal_t *RBS_NONNULL rbs_types_literal_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_node_t *RBS_NONNULL literal);
1030
+ rbs_types_optional_t *RBS_NONNULL rbs_types_optional_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_node_t *RBS_NONNULL type);
1031
+ rbs_types_proc_t *RBS_NONNULL rbs_types_proc_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_node_t *RBS_NONNULL type, rbs_types_block_t *RBS_NULLABLE block, rbs_node_t *RBS_NULLABLE self_type);
1032
+ rbs_types_record_t *RBS_NONNULL rbs_types_record_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_hash_t *RBS_NONNULL all_fields);
1033
+ rbs_types_record_field_type_t *RBS_NONNULL rbs_types_record_field_type_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_node_t *RBS_NONNULL type, bool required);
1034
+ rbs_types_tuple_t *RBS_NONNULL rbs_types_tuple_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_node_list_t *RBS_NONNULL types);
1035
+ rbs_types_union_t *RBS_NONNULL rbs_types_union_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_node_list_t *RBS_NONNULL types);
1036
+ rbs_types_untyped_function_t *RBS_NONNULL rbs_types_untyped_function_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_node_t *RBS_NONNULL return_type);
1037
+ rbs_types_variable_t *RBS_NONNULL rbs_types_variable_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_ast_symbol_t *RBS_NONNULL name);
1021
1038
 
1022
1039
  #endif