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/src/ast.c CHANGED
@@ -11,7 +11,7 @@
11
11
  #include <stdio.h>
12
12
  #include <stdlib.h>
13
13
 
14
- const char *rbs_node_type_name(rbs_node_t *node) {
14
+ const char *RBS_NONNULL rbs_node_type_name(rbs_node_t *RBS_NONNULL node) {
15
15
  switch (node->type) {
16
16
  case RBS_AST_ANNOTATION:
17
17
  return "RBS::AST::Annotation";
@@ -89,6 +89,8 @@ const char *rbs_node_type_name(rbs_node_t *node) {
89
89
  return "RBS::AST::Ruby::Annotations::MethodTypesAnnotation";
90
90
  case RBS_AST_RUBY_ANNOTATIONS_MODULE_ALIAS_ANNOTATION:
91
91
  return "RBS::AST::Ruby::Annotations::ModuleAliasAnnotation";
92
+ case RBS_AST_RUBY_ANNOTATIONS_MODULE_SELF_ANNOTATION:
93
+ return "RBS::AST::Ruby::Annotations::ModuleSelfAnnotation";
92
94
  case RBS_AST_RUBY_ANNOTATIONS_NODE_TYPE_ASSERTION:
93
95
  return "RBS::AST::Ruby::Annotations::NodeTypeAssertion";
94
96
  case RBS_AST_RUBY_ANNOTATIONS_PARAM_TYPE_ANNOTATION:
@@ -174,7 +176,7 @@ const char *rbs_node_type_name(rbs_node_t *node) {
174
176
 
175
177
  /* rbs_node_list */
176
178
 
177
- rbs_node_list_t *rbs_node_list_new(rbs_allocator_t *allocator) {
179
+ rbs_node_list_t *RBS_NONNULL rbs_node_list_new(rbs_allocator_t *RBS_NONNULL allocator) {
178
180
  rbs_node_list_t *list = rbs_allocator_alloc(allocator, rbs_node_list_t);
179
181
  *list = (rbs_node_list_t) {
180
182
  .allocator = allocator,
@@ -186,7 +188,7 @@ rbs_node_list_t *rbs_node_list_new(rbs_allocator_t *allocator) {
186
188
  return list;
187
189
  }
188
190
 
189
- void rbs_node_list_append(rbs_node_list_t *list, rbs_node_t *node) {
191
+ void rbs_node_list_append(rbs_node_list_t *RBS_NONNULL list, rbs_node_t *RBS_NONNULL node) {
190
192
  rbs_node_list_node_t *new_node = rbs_allocator_alloc(list->allocator, rbs_node_list_node_t);
191
193
  *new_node = (rbs_node_list_node_t) {
192
194
  .node = node,
@@ -206,7 +208,7 @@ void rbs_node_list_append(rbs_node_list_t *list, rbs_node_t *node) {
206
208
 
207
209
  /* rbs_hash */
208
210
 
209
- rbs_hash_t *rbs_hash_new(rbs_allocator_t *allocator) {
211
+ rbs_hash_t *RBS_NONNULL rbs_hash_new(rbs_allocator_t *RBS_NONNULL allocator) {
210
212
  rbs_hash_t *hash = rbs_allocator_alloc(allocator, rbs_hash_t);
211
213
  *hash = (rbs_hash_t) {
212
214
  .allocator = allocator,
@@ -218,7 +220,7 @@ rbs_hash_t *rbs_hash_new(rbs_allocator_t *allocator) {
218
220
  return hash;
219
221
  }
220
222
 
221
- bool rbs_node_equal(rbs_node_t *lhs, rbs_node_t *rhs) {
223
+ bool rbs_node_equal(rbs_node_t *RBS_NONNULL lhs, rbs_node_t *RBS_NONNULL rhs) {
222
224
  if (lhs == rhs) return true;
223
225
  if (lhs->type != rhs->type) return false;
224
226
 
@@ -237,7 +239,7 @@ bool rbs_node_equal(rbs_node_t *lhs, rbs_node_t *rhs) {
237
239
  }
238
240
  }
239
241
 
240
- rbs_hash_node_t *rbs_hash_find(rbs_hash_t *hash, rbs_node_t *key) {
242
+ rbs_hash_node_t *RBS_NULLABLE rbs_hash_find(rbs_hash_t *RBS_NONNULL hash, rbs_node_t *RBS_NONNULL key) {
241
243
  rbs_hash_node_t *current = hash->head;
242
244
 
243
245
  while (current != NULL) {
@@ -250,7 +252,7 @@ rbs_hash_node_t *rbs_hash_find(rbs_hash_t *hash, rbs_node_t *key) {
250
252
  return NULL;
251
253
  }
252
254
 
253
- void rbs_hash_set(rbs_hash_t *hash, rbs_node_t *key, rbs_node_t *value) {
255
+ void rbs_hash_set(rbs_hash_t *RBS_NONNULL hash, rbs_node_t *RBS_NONNULL key, rbs_node_t *RBS_NONNULL value) {
254
256
  rbs_hash_node_t *existing_node = rbs_hash_find(hash, key);
255
257
  if (existing_node != NULL) {
256
258
  existing_node->value = value;
@@ -271,12 +273,12 @@ void rbs_hash_set(rbs_hash_t *hash, rbs_node_t *key, rbs_node_t *value) {
271
273
  }
272
274
  }
273
275
 
274
- rbs_node_t *rbs_hash_get(rbs_hash_t *hash, rbs_node_t *key) {
276
+ rbs_node_t *RBS_NULLABLE rbs_hash_get(rbs_hash_t *RBS_NONNULL hash, rbs_node_t *RBS_NONNULL key) {
275
277
  rbs_hash_node_t *node = rbs_hash_find(hash, key);
276
278
  return node ? node->value : NULL;
277
279
  }
278
280
 
279
- rbs_ast_symbol_t *rbs_ast_symbol_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_constant_pool_t *constant_pool, rbs_constant_id_t constant_id) {
281
+ rbs_ast_symbol_t *RBS_NONNULL rbs_ast_symbol_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_constant_pool_t *RBS_NONNULL constant_pool, rbs_constant_id_t constant_id) {
280
282
  rbs_ast_symbol_t *instance = rbs_allocator_alloc(allocator, rbs_ast_symbol_t);
281
283
 
282
284
  *instance = (rbs_ast_symbol_t) {
@@ -291,7 +293,7 @@ rbs_ast_symbol_t *rbs_ast_symbol_new(rbs_allocator_t *allocator, rbs_location_ra
291
293
  }
292
294
 
293
295
  #line 140 "prism/templates/src/ast.c.erb"
294
- rbs_ast_annotation_t *rbs_ast_annotation_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_string_t string) {
296
+ rbs_ast_annotation_t *RBS_NONNULL rbs_ast_annotation_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_string_t string) {
295
297
  rbs_ast_annotation_t *instance = rbs_allocator_alloc(allocator, rbs_ast_annotation_t);
296
298
 
297
299
  *instance = (rbs_ast_annotation_t) {
@@ -305,7 +307,7 @@ rbs_ast_annotation_t *rbs_ast_annotation_new(rbs_allocator_t *allocator, rbs_loc
305
307
  return instance;
306
308
  }
307
309
  #line 140 "prism/templates/src/ast.c.erb"
308
- rbs_ast_bool_t *rbs_ast_bool_new(rbs_allocator_t *allocator, rbs_location_range location, bool value) {
310
+ rbs_ast_bool_t *RBS_NONNULL rbs_ast_bool_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, bool value) {
309
311
  rbs_ast_bool_t *instance = rbs_allocator_alloc(allocator, rbs_ast_bool_t);
310
312
 
311
313
  *instance = (rbs_ast_bool_t) {
@@ -319,7 +321,7 @@ rbs_ast_bool_t *rbs_ast_bool_new(rbs_allocator_t *allocator, rbs_location_range
319
321
  return instance;
320
322
  }
321
323
  #line 140 "prism/templates/src/ast.c.erb"
322
- rbs_ast_comment_t *rbs_ast_comment_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_string_t string) {
324
+ rbs_ast_comment_t *RBS_NONNULL rbs_ast_comment_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_string_t string) {
323
325
  rbs_ast_comment_t *instance = rbs_allocator_alloc(allocator, rbs_ast_comment_t);
324
326
 
325
327
  *instance = (rbs_ast_comment_t) {
@@ -333,7 +335,7 @@ rbs_ast_comment_t *rbs_ast_comment_new(rbs_allocator_t *allocator, rbs_location_
333
335
  return instance;
334
336
  }
335
337
  #line 140 "prism/templates/src/ast.c.erb"
336
- 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) {
338
+ 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) {
337
339
  rbs_ast_declarations_class_t *instance = rbs_allocator_alloc(allocator, rbs_ast_declarations_class_t);
338
340
 
339
341
  *instance = (rbs_ast_declarations_class_t) {
@@ -357,7 +359,7 @@ rbs_ast_declarations_class_t *rbs_ast_declarations_class_new(rbs_allocator_t *al
357
359
  return instance;
358
360
  }
359
361
  #line 140 "prism/templates/src/ast.c.erb"
360
- 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) {
362
+ 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) {
361
363
  rbs_ast_declarations_class_super_t *instance = rbs_allocator_alloc(allocator, rbs_ast_declarations_class_super_t);
362
364
 
363
365
  *instance = (rbs_ast_declarations_class_super_t) {
@@ -374,7 +376,7 @@ rbs_ast_declarations_class_super_t *rbs_ast_declarations_class_super_new(rbs_all
374
376
  return instance;
375
377
  }
376
378
  #line 140 "prism/templates/src/ast.c.erb"
377
- 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) {
379
+ 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) {
378
380
  rbs_ast_declarations_class_alias_t *instance = rbs_allocator_alloc(allocator, rbs_ast_declarations_class_alias_t);
379
381
 
380
382
  *instance = (rbs_ast_declarations_class_alias_t) {
@@ -395,7 +397,7 @@ rbs_ast_declarations_class_alias_t *rbs_ast_declarations_class_alias_new(rbs_all
395
397
  return instance;
396
398
  }
397
399
  #line 140 "prism/templates/src/ast.c.erb"
398
- 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) {
400
+ 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) {
399
401
  rbs_ast_declarations_constant_t *instance = rbs_allocator_alloc(allocator, rbs_ast_declarations_constant_t);
400
402
 
401
403
  *instance = (rbs_ast_declarations_constant_t) {
@@ -414,7 +416,7 @@ rbs_ast_declarations_constant_t *rbs_ast_declarations_constant_new(rbs_allocator
414
416
  return instance;
415
417
  }
416
418
  #line 140 "prism/templates/src/ast.c.erb"
417
- 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) {
419
+ 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) {
418
420
  rbs_ast_declarations_global_t *instance = rbs_allocator_alloc(allocator, rbs_ast_declarations_global_t);
419
421
 
420
422
  *instance = (rbs_ast_declarations_global_t) {
@@ -433,7 +435,7 @@ rbs_ast_declarations_global_t *rbs_ast_declarations_global_new(rbs_allocator_t *
433
435
  return instance;
434
436
  }
435
437
  #line 140 "prism/templates/src/ast.c.erb"
436
- 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) {
438
+ 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) {
437
439
  rbs_ast_declarations_interface_t *instance = rbs_allocator_alloc(allocator, rbs_ast_declarations_interface_t);
438
440
 
439
441
  *instance = (rbs_ast_declarations_interface_t) {
@@ -455,7 +457,7 @@ rbs_ast_declarations_interface_t *rbs_ast_declarations_interface_new(rbs_allocat
455
457
  return instance;
456
458
  }
457
459
  #line 140 "prism/templates/src/ast.c.erb"
458
- 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) {
460
+ 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) {
459
461
  rbs_ast_declarations_module_t *instance = rbs_allocator_alloc(allocator, rbs_ast_declarations_module_t);
460
462
 
461
463
  *instance = (rbs_ast_declarations_module_t) {
@@ -480,7 +482,7 @@ rbs_ast_declarations_module_t *rbs_ast_declarations_module_new(rbs_allocator_t *
480
482
  return instance;
481
483
  }
482
484
  #line 140 "prism/templates/src/ast.c.erb"
483
- 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) {
485
+ 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) {
484
486
  rbs_ast_declarations_module_self_t *instance = rbs_allocator_alloc(allocator, rbs_ast_declarations_module_self_t);
485
487
 
486
488
  *instance = (rbs_ast_declarations_module_self_t) {
@@ -497,7 +499,7 @@ rbs_ast_declarations_module_self_t *rbs_ast_declarations_module_self_new(rbs_all
497
499
  return instance;
498
500
  }
499
501
  #line 140 "prism/templates/src/ast.c.erb"
500
- 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) {
502
+ 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) {
501
503
  rbs_ast_declarations_module_alias_t *instance = rbs_allocator_alloc(allocator, rbs_ast_declarations_module_alias_t);
502
504
 
503
505
  *instance = (rbs_ast_declarations_module_alias_t) {
@@ -518,7 +520,7 @@ rbs_ast_declarations_module_alias_t *rbs_ast_declarations_module_alias_new(rbs_a
518
520
  return instance;
519
521
  }
520
522
  #line 140 "prism/templates/src/ast.c.erb"
521
- 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) {
523
+ 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) {
522
524
  rbs_ast_declarations_type_alias_t *instance = rbs_allocator_alloc(allocator, rbs_ast_declarations_type_alias_t);
523
525
 
524
526
  *instance = (rbs_ast_declarations_type_alias_t) {
@@ -540,7 +542,7 @@ rbs_ast_declarations_type_alias_t *rbs_ast_declarations_type_alias_new(rbs_alloc
540
542
  return instance;
541
543
  }
542
544
  #line 140 "prism/templates/src/ast.c.erb"
543
- 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) {
545
+ 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) {
544
546
  rbs_ast_directives_use_t *instance = rbs_allocator_alloc(allocator, rbs_ast_directives_use_t);
545
547
 
546
548
  *instance = (rbs_ast_directives_use_t) {
@@ -555,7 +557,7 @@ rbs_ast_directives_use_t *rbs_ast_directives_use_new(rbs_allocator_t *allocator,
555
557
  return instance;
556
558
  }
557
559
  #line 140 "prism/templates/src/ast.c.erb"
558
- 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) {
560
+ 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) {
559
561
  rbs_ast_directives_use_single_clause_t *instance = rbs_allocator_alloc(allocator, rbs_ast_directives_use_single_clause_t);
560
562
 
561
563
  *instance = (rbs_ast_directives_use_single_clause_t) {
@@ -573,7 +575,7 @@ rbs_ast_directives_use_single_clause_t *rbs_ast_directives_use_single_clause_new
573
575
  return instance;
574
576
  }
575
577
  #line 140 "prism/templates/src/ast.c.erb"
576
- 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) {
578
+ 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) {
577
579
  rbs_ast_directives_use_wildcard_clause_t *instance = rbs_allocator_alloc(allocator, rbs_ast_directives_use_wildcard_clause_t);
578
580
 
579
581
  *instance = (rbs_ast_directives_use_wildcard_clause_t) {
@@ -589,7 +591,7 @@ rbs_ast_directives_use_wildcard_clause_t *rbs_ast_directives_use_wildcard_clause
589
591
  return instance;
590
592
  }
591
593
  #line 140 "prism/templates/src/ast.c.erb"
592
- rbs_ast_integer_t *rbs_ast_integer_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_string_t string_representation) {
594
+ 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) {
593
595
  rbs_ast_integer_t *instance = rbs_allocator_alloc(allocator, rbs_ast_integer_t);
594
596
 
595
597
  *instance = (rbs_ast_integer_t) {
@@ -603,7 +605,7 @@ rbs_ast_integer_t *rbs_ast_integer_new(rbs_allocator_t *allocator, rbs_location_
603
605
  return instance;
604
606
  }
605
607
  #line 140 "prism/templates/src/ast.c.erb"
606
- 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) {
608
+ 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) {
607
609
  rbs_ast_members_alias_t *instance = rbs_allocator_alloc(allocator, rbs_ast_members_alias_t);
608
610
 
609
611
  *instance = (rbs_ast_members_alias_t) {
@@ -626,7 +628,7 @@ rbs_ast_members_alias_t *rbs_ast_members_alias_new(rbs_allocator_t *allocator, r
626
628
  return instance;
627
629
  }
628
630
  #line 140 "prism/templates/src/ast.c.erb"
629
- 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) {
631
+ 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) {
630
632
  rbs_ast_members_attr_accessor_t *instance = rbs_allocator_alloc(allocator, rbs_ast_members_attr_accessor_t);
631
633
 
632
634
  *instance = (rbs_ast_members_attr_accessor_t) {
@@ -653,7 +655,7 @@ rbs_ast_members_attr_accessor_t *rbs_ast_members_attr_accessor_new(rbs_allocator
653
655
  return instance;
654
656
  }
655
657
  #line 140 "prism/templates/src/ast.c.erb"
656
- 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) {
658
+ 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) {
657
659
  rbs_ast_members_attr_reader_t *instance = rbs_allocator_alloc(allocator, rbs_ast_members_attr_reader_t);
658
660
 
659
661
  *instance = (rbs_ast_members_attr_reader_t) {
@@ -680,7 +682,7 @@ rbs_ast_members_attr_reader_t *rbs_ast_members_attr_reader_new(rbs_allocator_t *
680
682
  return instance;
681
683
  }
682
684
  #line 140 "prism/templates/src/ast.c.erb"
683
- 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) {
685
+ 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) {
684
686
  rbs_ast_members_attr_writer_t *instance = rbs_allocator_alloc(allocator, rbs_ast_members_attr_writer_t);
685
687
 
686
688
  *instance = (rbs_ast_members_attr_writer_t) {
@@ -707,7 +709,7 @@ rbs_ast_members_attr_writer_t *rbs_ast_members_attr_writer_new(rbs_allocator_t *
707
709
  return instance;
708
710
  }
709
711
  #line 140 "prism/templates/src/ast.c.erb"
710
- 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) {
712
+ 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) {
711
713
  rbs_ast_members_class_instance_variable_t *instance = rbs_allocator_alloc(allocator, rbs_ast_members_class_instance_variable_t);
712
714
 
713
715
  *instance = (rbs_ast_members_class_instance_variable_t) {
@@ -726,7 +728,7 @@ rbs_ast_members_class_instance_variable_t *rbs_ast_members_class_instance_variab
726
728
  return instance;
727
729
  }
728
730
  #line 140 "prism/templates/src/ast.c.erb"
729
- 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) {
731
+ 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) {
730
732
  rbs_ast_members_class_variable_t *instance = rbs_allocator_alloc(allocator, rbs_ast_members_class_variable_t);
731
733
 
732
734
  *instance = (rbs_ast_members_class_variable_t) {
@@ -745,7 +747,7 @@ rbs_ast_members_class_variable_t *rbs_ast_members_class_variable_new(rbs_allocat
745
747
  return instance;
746
748
  }
747
749
  #line 140 "prism/templates/src/ast.c.erb"
748
- 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) {
750
+ 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) {
749
751
  rbs_ast_members_extend_t *instance = rbs_allocator_alloc(allocator, rbs_ast_members_extend_t);
750
752
 
751
753
  *instance = (rbs_ast_members_extend_t) {
@@ -765,7 +767,7 @@ rbs_ast_members_extend_t *rbs_ast_members_extend_new(rbs_allocator_t *allocator,
765
767
  return instance;
766
768
  }
767
769
  #line 140 "prism/templates/src/ast.c.erb"
768
- 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) {
770
+ 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) {
769
771
  rbs_ast_members_include_t *instance = rbs_allocator_alloc(allocator, rbs_ast_members_include_t);
770
772
 
771
773
  *instance = (rbs_ast_members_include_t) {
@@ -785,7 +787,7 @@ rbs_ast_members_include_t *rbs_ast_members_include_new(rbs_allocator_t *allocato
785
787
  return instance;
786
788
  }
787
789
  #line 140 "prism/templates/src/ast.c.erb"
788
- 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) {
790
+ 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) {
789
791
  rbs_ast_members_instance_variable_t *instance = rbs_allocator_alloc(allocator, rbs_ast_members_instance_variable_t);
790
792
 
791
793
  *instance = (rbs_ast_members_instance_variable_t) {
@@ -804,7 +806,7 @@ rbs_ast_members_instance_variable_t *rbs_ast_members_instance_variable_new(rbs_a
804
806
  return instance;
805
807
  }
806
808
  #line 140 "prism/templates/src/ast.c.erb"
807
- 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) {
809
+ 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) {
808
810
  rbs_ast_members_method_definition_t *instance = rbs_allocator_alloc(allocator, rbs_ast_members_method_definition_t);
809
811
 
810
812
  *instance = (rbs_ast_members_method_definition_t) {
@@ -829,7 +831,7 @@ rbs_ast_members_method_definition_t *rbs_ast_members_method_definition_new(rbs_a
829
831
  return instance;
830
832
  }
831
833
  #line 140 "prism/templates/src/ast.c.erb"
832
- 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) {
834
+ 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) {
833
835
  rbs_ast_members_method_definition_overload_t *instance = rbs_allocator_alloc(allocator, rbs_ast_members_method_definition_overload_t);
834
836
 
835
837
  *instance = (rbs_ast_members_method_definition_overload_t) {
@@ -844,7 +846,7 @@ rbs_ast_members_method_definition_overload_t *rbs_ast_members_method_definition_
844
846
  return instance;
845
847
  }
846
848
  #line 140 "prism/templates/src/ast.c.erb"
847
- 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) {
849
+ 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) {
848
850
  rbs_ast_members_prepend_t *instance = rbs_allocator_alloc(allocator, rbs_ast_members_prepend_t);
849
851
 
850
852
  *instance = (rbs_ast_members_prepend_t) {
@@ -864,7 +866,7 @@ rbs_ast_members_prepend_t *rbs_ast_members_prepend_new(rbs_allocator_t *allocato
864
866
  return instance;
865
867
  }
866
868
  #line 140 "prism/templates/src/ast.c.erb"
867
- rbs_ast_members_private_t *rbs_ast_members_private_new(rbs_allocator_t *allocator, rbs_location_range location) {
869
+ rbs_ast_members_private_t *RBS_NONNULL rbs_ast_members_private_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location) {
868
870
  rbs_ast_members_private_t *instance = rbs_allocator_alloc(allocator, rbs_ast_members_private_t);
869
871
 
870
872
  *instance = (rbs_ast_members_private_t) {
@@ -877,7 +879,7 @@ rbs_ast_members_private_t *rbs_ast_members_private_new(rbs_allocator_t *allocato
877
879
  return instance;
878
880
  }
879
881
  #line 140 "prism/templates/src/ast.c.erb"
880
- rbs_ast_members_public_t *rbs_ast_members_public_new(rbs_allocator_t *allocator, rbs_location_range location) {
882
+ rbs_ast_members_public_t *RBS_NONNULL rbs_ast_members_public_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location) {
881
883
  rbs_ast_members_public_t *instance = rbs_allocator_alloc(allocator, rbs_ast_members_public_t);
882
884
 
883
885
  *instance = (rbs_ast_members_public_t) {
@@ -890,7 +892,7 @@ rbs_ast_members_public_t *rbs_ast_members_public_new(rbs_allocator_t *allocator,
890
892
  return instance;
891
893
  }
892
894
  #line 140 "prism/templates/src/ast.c.erb"
893
- 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) {
895
+ 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) {
894
896
  rbs_ast_ruby_annotations_block_param_type_annotation_t *instance = rbs_allocator_alloc(allocator, rbs_ast_ruby_annotations_block_param_type_annotation_t);
895
897
 
896
898
  *instance = (rbs_ast_ruby_annotations_block_param_type_annotation_t) {
@@ -911,7 +913,7 @@ rbs_ast_ruby_annotations_block_param_type_annotation_t *rbs_ast_ruby_annotations
911
913
  return instance;
912
914
  }
913
915
  #line 140 "prism/templates/src/ast.c.erb"
914
- 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) {
916
+ 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) {
915
917
  rbs_ast_ruby_annotations_class_alias_annotation_t *instance = rbs_allocator_alloc(allocator, rbs_ast_ruby_annotations_class_alias_annotation_t);
916
918
 
917
919
  *instance = (rbs_ast_ruby_annotations_class_alias_annotation_t) {
@@ -928,7 +930,7 @@ rbs_ast_ruby_annotations_class_alias_annotation_t *rbs_ast_ruby_annotations_clas
928
930
  return instance;
929
931
  }
930
932
  #line 140 "prism/templates/src/ast.c.erb"
931
- 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) {
933
+ 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) {
932
934
  rbs_ast_ruby_annotations_colon_method_type_annotation_t *instance = rbs_allocator_alloc(allocator, rbs_ast_ruby_annotations_colon_method_type_annotation_t);
933
935
 
934
936
  *instance = (rbs_ast_ruby_annotations_colon_method_type_annotation_t) {
@@ -944,7 +946,7 @@ rbs_ast_ruby_annotations_colon_method_type_annotation_t *rbs_ast_ruby_annotation
944
946
  return instance;
945
947
  }
946
948
  #line 140 "prism/templates/src/ast.c.erb"
947
- 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) {
949
+ 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) {
948
950
  rbs_ast_ruby_annotations_double_splat_param_type_annotation_t *instance = rbs_allocator_alloc(allocator, rbs_ast_ruby_annotations_double_splat_param_type_annotation_t);
949
951
 
950
952
  *instance = (rbs_ast_ruby_annotations_double_splat_param_type_annotation_t) {
@@ -963,7 +965,7 @@ rbs_ast_ruby_annotations_double_splat_param_type_annotation_t *rbs_ast_ruby_anno
963
965
  return instance;
964
966
  }
965
967
  #line 140 "prism/templates/src/ast.c.erb"
966
- 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) {
968
+ 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) {
967
969
  rbs_ast_ruby_annotations_instance_variable_annotation_t *instance = rbs_allocator_alloc(allocator, rbs_ast_ruby_annotations_instance_variable_annotation_t);
968
970
 
969
971
  *instance = (rbs_ast_ruby_annotations_instance_variable_annotation_t) {
@@ -982,7 +984,7 @@ rbs_ast_ruby_annotations_instance_variable_annotation_t *rbs_ast_ruby_annotation
982
984
  return instance;
983
985
  }
984
986
  #line 140 "prism/templates/src/ast.c.erb"
985
- 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) {
987
+ 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) {
986
988
  rbs_ast_ruby_annotations_method_types_annotation_t *instance = rbs_allocator_alloc(allocator, rbs_ast_ruby_annotations_method_types_annotation_t);
987
989
 
988
990
  *instance = (rbs_ast_ruby_annotations_method_types_annotation_t) {
@@ -999,7 +1001,7 @@ rbs_ast_ruby_annotations_method_types_annotation_t *rbs_ast_ruby_annotations_met
999
1001
  return instance;
1000
1002
  }
1001
1003
  #line 140 "prism/templates/src/ast.c.erb"
1002
- 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) {
1004
+ 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) {
1003
1005
  rbs_ast_ruby_annotations_module_alias_annotation_t *instance = rbs_allocator_alloc(allocator, rbs_ast_ruby_annotations_module_alias_annotation_t);
1004
1006
 
1005
1007
  *instance = (rbs_ast_ruby_annotations_module_alias_annotation_t) {
@@ -1016,7 +1018,29 @@ rbs_ast_ruby_annotations_module_alias_annotation_t *rbs_ast_ruby_annotations_mod
1016
1018
  return instance;
1017
1019
  }
1018
1020
  #line 140 "prism/templates/src/ast.c.erb"
1019
- 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) {
1021
+ 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) {
1022
+ rbs_ast_ruby_annotations_module_self_annotation_t *instance = rbs_allocator_alloc(allocator, rbs_ast_ruby_annotations_module_self_annotation_t);
1023
+
1024
+ *instance = (rbs_ast_ruby_annotations_module_self_annotation_t) {
1025
+ .base = (rbs_node_t) {
1026
+ .type = RBS_AST_RUBY_ANNOTATIONS_MODULE_SELF_ANNOTATION,
1027
+ .location = location,
1028
+ },
1029
+ .prefix_location = prefix_location,
1030
+ .keyword_location = keyword_location,
1031
+ .colon_location = colon_location,
1032
+ .name = name,
1033
+ .args = args,
1034
+ .open_bracket_location = open_bracket_location,
1035
+ .close_bracket_location = close_bracket_location,
1036
+ .args_comma_locations = args_comma_locations,
1037
+ .comment_location = comment_location,
1038
+ };
1039
+
1040
+ return instance;
1041
+ }
1042
+ #line 140 "prism/templates/src/ast.c.erb"
1043
+ 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) {
1020
1044
  rbs_ast_ruby_annotations_node_type_assertion_t *instance = rbs_allocator_alloc(allocator, rbs_ast_ruby_annotations_node_type_assertion_t);
1021
1045
 
1022
1046
  *instance = (rbs_ast_ruby_annotations_node_type_assertion_t) {
@@ -1031,7 +1055,7 @@ rbs_ast_ruby_annotations_node_type_assertion_t *rbs_ast_ruby_annotations_node_ty
1031
1055
  return instance;
1032
1056
  }
1033
1057
  #line 140 "prism/templates/src/ast.c.erb"
1034
- 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) {
1058
+ 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) {
1035
1059
  rbs_ast_ruby_annotations_param_type_annotation_t *instance = rbs_allocator_alloc(allocator, rbs_ast_ruby_annotations_param_type_annotation_t);
1036
1060
 
1037
1061
  *instance = (rbs_ast_ruby_annotations_param_type_annotation_t) {
@@ -1049,7 +1073,7 @@ rbs_ast_ruby_annotations_param_type_annotation_t *rbs_ast_ruby_annotations_param
1049
1073
  return instance;
1050
1074
  }
1051
1075
  #line 140 "prism/templates/src/ast.c.erb"
1052
- 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) {
1076
+ 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) {
1053
1077
  rbs_ast_ruby_annotations_return_type_annotation_t *instance = rbs_allocator_alloc(allocator, rbs_ast_ruby_annotations_return_type_annotation_t);
1054
1078
 
1055
1079
  *instance = (rbs_ast_ruby_annotations_return_type_annotation_t) {
@@ -1067,7 +1091,7 @@ rbs_ast_ruby_annotations_return_type_annotation_t *rbs_ast_ruby_annotations_retu
1067
1091
  return instance;
1068
1092
  }
1069
1093
  #line 140 "prism/templates/src/ast.c.erb"
1070
- 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) {
1094
+ 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) {
1071
1095
  rbs_ast_ruby_annotations_skip_annotation_t *instance = rbs_allocator_alloc(allocator, rbs_ast_ruby_annotations_skip_annotation_t);
1072
1096
 
1073
1097
  *instance = (rbs_ast_ruby_annotations_skip_annotation_t) {
@@ -1083,7 +1107,7 @@ rbs_ast_ruby_annotations_skip_annotation_t *rbs_ast_ruby_annotations_skip_annota
1083
1107
  return instance;
1084
1108
  }
1085
1109
  #line 140 "prism/templates/src/ast.c.erb"
1086
- 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) {
1110
+ 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) {
1087
1111
  rbs_ast_ruby_annotations_splat_param_type_annotation_t *instance = rbs_allocator_alloc(allocator, rbs_ast_ruby_annotations_splat_param_type_annotation_t);
1088
1112
 
1089
1113
  *instance = (rbs_ast_ruby_annotations_splat_param_type_annotation_t) {
@@ -1102,7 +1126,7 @@ rbs_ast_ruby_annotations_splat_param_type_annotation_t *rbs_ast_ruby_annotations
1102
1126
  return instance;
1103
1127
  }
1104
1128
  #line 140 "prism/templates/src/ast.c.erb"
1105
- 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) {
1129
+ 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) {
1106
1130
  rbs_ast_ruby_annotations_type_application_annotation_t *instance = rbs_allocator_alloc(allocator, rbs_ast_ruby_annotations_type_application_annotation_t);
1107
1131
 
1108
1132
  *instance = (rbs_ast_ruby_annotations_type_application_annotation_t) {
@@ -1119,7 +1143,7 @@ rbs_ast_ruby_annotations_type_application_annotation_t *rbs_ast_ruby_annotations
1119
1143
  return instance;
1120
1144
  }
1121
1145
  #line 140 "prism/templates/src/ast.c.erb"
1122
- rbs_ast_string_t *rbs_ast_string_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_string_t string) {
1146
+ rbs_ast_string_t *RBS_NONNULL rbs_ast_string_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_string_t string) {
1123
1147
  rbs_ast_string_t *instance = rbs_allocator_alloc(allocator, rbs_ast_string_t);
1124
1148
 
1125
1149
  *instance = (rbs_ast_string_t) {
@@ -1133,7 +1157,7 @@ rbs_ast_string_t *rbs_ast_string_new(rbs_allocator_t *allocator, rbs_location_ra
1133
1157
  return instance;
1134
1158
  }
1135
1159
  #line 140 "prism/templates/src/ast.c.erb"
1136
- 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) {
1160
+ 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) {
1137
1161
  rbs_ast_type_param_t *instance = rbs_allocator_alloc(allocator, rbs_ast_type_param_t);
1138
1162
 
1139
1163
  *instance = (rbs_ast_type_param_t) {
@@ -1158,7 +1182,7 @@ rbs_ast_type_param_t *rbs_ast_type_param_new(rbs_allocator_t *allocator, rbs_loc
1158
1182
  return instance;
1159
1183
  }
1160
1184
  #line 140 "prism/templates/src/ast.c.erb"
1161
- 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) {
1185
+ 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) {
1162
1186
  rbs_method_type_t *instance = rbs_allocator_alloc(allocator, rbs_method_type_t);
1163
1187
 
1164
1188
  *instance = (rbs_method_type_t) {
@@ -1176,7 +1200,7 @@ rbs_method_type_t *rbs_method_type_new(rbs_allocator_t *allocator, rbs_location_
1176
1200
  return instance;
1177
1201
  }
1178
1202
  #line 140 "prism/templates/src/ast.c.erb"
1179
- rbs_namespace_t *rbs_namespace_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_node_list_t *path, bool absolute) {
1203
+ 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) {
1180
1204
  rbs_namespace_t *instance = rbs_allocator_alloc(allocator, rbs_namespace_t);
1181
1205
 
1182
1206
  *instance = (rbs_namespace_t) {
@@ -1191,7 +1215,7 @@ rbs_namespace_t *rbs_namespace_new(rbs_allocator_t *allocator, rbs_location_rang
1191
1215
  return instance;
1192
1216
  }
1193
1217
  #line 140 "prism/templates/src/ast.c.erb"
1194
- rbs_signature_t *rbs_signature_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_node_list_t *directives, rbs_node_list_t *declarations) {
1218
+ 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) {
1195
1219
  rbs_signature_t *instance = rbs_allocator_alloc(allocator, rbs_signature_t);
1196
1220
 
1197
1221
  *instance = (rbs_signature_t) {
@@ -1206,7 +1230,7 @@ rbs_signature_t *rbs_signature_new(rbs_allocator_t *allocator, rbs_location_rang
1206
1230
  return instance;
1207
1231
  }
1208
1232
  #line 140 "prism/templates/src/ast.c.erb"
1209
- 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) {
1233
+ 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) {
1210
1234
  rbs_type_name_t *instance = rbs_allocator_alloc(allocator, rbs_type_name_t);
1211
1235
 
1212
1236
  *instance = (rbs_type_name_t) {
@@ -1221,7 +1245,7 @@ rbs_type_name_t *rbs_type_name_new(rbs_allocator_t *allocator, rbs_location_rang
1221
1245
  return instance;
1222
1246
  }
1223
1247
  #line 140 "prism/templates/src/ast.c.erb"
1224
- 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) {
1248
+ 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) {
1225
1249
  rbs_types_alias_t *instance = rbs_allocator_alloc(allocator, rbs_types_alias_t);
1226
1250
 
1227
1251
  *instance = (rbs_types_alias_t) {
@@ -1238,7 +1262,7 @@ rbs_types_alias_t *rbs_types_alias_new(rbs_allocator_t *allocator, rbs_location_
1238
1262
  return instance;
1239
1263
  }
1240
1264
  #line 140 "prism/templates/src/ast.c.erb"
1241
- rbs_types_bases_any_t *rbs_types_bases_any_new(rbs_allocator_t *allocator, rbs_location_range location, bool todo) {
1265
+ rbs_types_bases_any_t *RBS_NONNULL rbs_types_bases_any_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, bool todo) {
1242
1266
  rbs_types_bases_any_t *instance = rbs_allocator_alloc(allocator, rbs_types_bases_any_t);
1243
1267
 
1244
1268
  *instance = (rbs_types_bases_any_t) {
@@ -1252,7 +1276,7 @@ rbs_types_bases_any_t *rbs_types_bases_any_new(rbs_allocator_t *allocator, rbs_l
1252
1276
  return instance;
1253
1277
  }
1254
1278
  #line 140 "prism/templates/src/ast.c.erb"
1255
- rbs_types_bases_bool_t *rbs_types_bases_bool_new(rbs_allocator_t *allocator, rbs_location_range location) {
1279
+ rbs_types_bases_bool_t *RBS_NONNULL rbs_types_bases_bool_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location) {
1256
1280
  rbs_types_bases_bool_t *instance = rbs_allocator_alloc(allocator, rbs_types_bases_bool_t);
1257
1281
 
1258
1282
  *instance = (rbs_types_bases_bool_t) {
@@ -1265,7 +1289,7 @@ rbs_types_bases_bool_t *rbs_types_bases_bool_new(rbs_allocator_t *allocator, rbs
1265
1289
  return instance;
1266
1290
  }
1267
1291
  #line 140 "prism/templates/src/ast.c.erb"
1268
- rbs_types_bases_bottom_t *rbs_types_bases_bottom_new(rbs_allocator_t *allocator, rbs_location_range location) {
1292
+ rbs_types_bases_bottom_t *RBS_NONNULL rbs_types_bases_bottom_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location) {
1269
1293
  rbs_types_bases_bottom_t *instance = rbs_allocator_alloc(allocator, rbs_types_bases_bottom_t);
1270
1294
 
1271
1295
  *instance = (rbs_types_bases_bottom_t) {
@@ -1278,7 +1302,7 @@ rbs_types_bases_bottom_t *rbs_types_bases_bottom_new(rbs_allocator_t *allocator,
1278
1302
  return instance;
1279
1303
  }
1280
1304
  #line 140 "prism/templates/src/ast.c.erb"
1281
- rbs_types_bases_class_t *rbs_types_bases_class_new(rbs_allocator_t *allocator, rbs_location_range location) {
1305
+ rbs_types_bases_class_t *RBS_NONNULL rbs_types_bases_class_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location) {
1282
1306
  rbs_types_bases_class_t *instance = rbs_allocator_alloc(allocator, rbs_types_bases_class_t);
1283
1307
 
1284
1308
  *instance = (rbs_types_bases_class_t) {
@@ -1291,7 +1315,7 @@ rbs_types_bases_class_t *rbs_types_bases_class_new(rbs_allocator_t *allocator, r
1291
1315
  return instance;
1292
1316
  }
1293
1317
  #line 140 "prism/templates/src/ast.c.erb"
1294
- rbs_types_bases_instance_t *rbs_types_bases_instance_new(rbs_allocator_t *allocator, rbs_location_range location) {
1318
+ rbs_types_bases_instance_t *RBS_NONNULL rbs_types_bases_instance_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location) {
1295
1319
  rbs_types_bases_instance_t *instance = rbs_allocator_alloc(allocator, rbs_types_bases_instance_t);
1296
1320
 
1297
1321
  *instance = (rbs_types_bases_instance_t) {
@@ -1304,7 +1328,7 @@ rbs_types_bases_instance_t *rbs_types_bases_instance_new(rbs_allocator_t *alloca
1304
1328
  return instance;
1305
1329
  }
1306
1330
  #line 140 "prism/templates/src/ast.c.erb"
1307
- rbs_types_bases_nil_t *rbs_types_bases_nil_new(rbs_allocator_t *allocator, rbs_location_range location) {
1331
+ rbs_types_bases_nil_t *RBS_NONNULL rbs_types_bases_nil_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location) {
1308
1332
  rbs_types_bases_nil_t *instance = rbs_allocator_alloc(allocator, rbs_types_bases_nil_t);
1309
1333
 
1310
1334
  *instance = (rbs_types_bases_nil_t) {
@@ -1317,7 +1341,7 @@ rbs_types_bases_nil_t *rbs_types_bases_nil_new(rbs_allocator_t *allocator, rbs_l
1317
1341
  return instance;
1318
1342
  }
1319
1343
  #line 140 "prism/templates/src/ast.c.erb"
1320
- rbs_types_bases_self_t *rbs_types_bases_self_new(rbs_allocator_t *allocator, rbs_location_range location) {
1344
+ rbs_types_bases_self_t *RBS_NONNULL rbs_types_bases_self_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location) {
1321
1345
  rbs_types_bases_self_t *instance = rbs_allocator_alloc(allocator, rbs_types_bases_self_t);
1322
1346
 
1323
1347
  *instance = (rbs_types_bases_self_t) {
@@ -1330,7 +1354,7 @@ rbs_types_bases_self_t *rbs_types_bases_self_new(rbs_allocator_t *allocator, rbs
1330
1354
  return instance;
1331
1355
  }
1332
1356
  #line 140 "prism/templates/src/ast.c.erb"
1333
- rbs_types_bases_top_t *rbs_types_bases_top_new(rbs_allocator_t *allocator, rbs_location_range location) {
1357
+ rbs_types_bases_top_t *RBS_NONNULL rbs_types_bases_top_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location) {
1334
1358
  rbs_types_bases_top_t *instance = rbs_allocator_alloc(allocator, rbs_types_bases_top_t);
1335
1359
 
1336
1360
  *instance = (rbs_types_bases_top_t) {
@@ -1343,7 +1367,7 @@ rbs_types_bases_top_t *rbs_types_bases_top_new(rbs_allocator_t *allocator, rbs_l
1343
1367
  return instance;
1344
1368
  }
1345
1369
  #line 140 "prism/templates/src/ast.c.erb"
1346
- rbs_types_bases_void_t *rbs_types_bases_void_new(rbs_allocator_t *allocator, rbs_location_range location) {
1370
+ rbs_types_bases_void_t *RBS_NONNULL rbs_types_bases_void_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location) {
1347
1371
  rbs_types_bases_void_t *instance = rbs_allocator_alloc(allocator, rbs_types_bases_void_t);
1348
1372
 
1349
1373
  *instance = (rbs_types_bases_void_t) {
@@ -1356,7 +1380,7 @@ rbs_types_bases_void_t *rbs_types_bases_void_new(rbs_allocator_t *allocator, rbs
1356
1380
  return instance;
1357
1381
  }
1358
1382
  #line 140 "prism/templates/src/ast.c.erb"
1359
- 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) {
1383
+ 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) {
1360
1384
  rbs_types_block_t *instance = rbs_allocator_alloc(allocator, rbs_types_block_t);
1361
1385
 
1362
1386
  *instance = (rbs_types_block_t) {
@@ -1372,7 +1396,7 @@ rbs_types_block_t *rbs_types_block_new(rbs_allocator_t *allocator, rbs_location_
1372
1396
  return instance;
1373
1397
  }
1374
1398
  #line 140 "prism/templates/src/ast.c.erb"
1375
- 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) {
1399
+ 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) {
1376
1400
  rbs_types_class_instance_t *instance = rbs_allocator_alloc(allocator, rbs_types_class_instance_t);
1377
1401
 
1378
1402
  *instance = (rbs_types_class_instance_t) {
@@ -1389,7 +1413,7 @@ rbs_types_class_instance_t *rbs_types_class_instance_new(rbs_allocator_t *alloca
1389
1413
  return instance;
1390
1414
  }
1391
1415
  #line 140 "prism/templates/src/ast.c.erb"
1392
- 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) {
1416
+ 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) {
1393
1417
  rbs_types_class_singleton_t *instance = rbs_allocator_alloc(allocator, rbs_types_class_singleton_t);
1394
1418
 
1395
1419
  *instance = (rbs_types_class_singleton_t) {
@@ -1406,7 +1430,7 @@ rbs_types_class_singleton_t *rbs_types_class_singleton_new(rbs_allocator_t *allo
1406
1430
  return instance;
1407
1431
  }
1408
1432
  #line 140 "prism/templates/src/ast.c.erb"
1409
- 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) {
1433
+ 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) {
1410
1434
  rbs_types_function_t *instance = rbs_allocator_alloc(allocator, rbs_types_function_t);
1411
1435
 
1412
1436
  *instance = (rbs_types_function_t) {
@@ -1427,7 +1451,7 @@ rbs_types_function_t *rbs_types_function_new(rbs_allocator_t *allocator, rbs_loc
1427
1451
  return instance;
1428
1452
  }
1429
1453
  #line 140 "prism/templates/src/ast.c.erb"
1430
- 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) {
1454
+ 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) {
1431
1455
  rbs_types_function_param_t *instance = rbs_allocator_alloc(allocator, rbs_types_function_param_t);
1432
1456
 
1433
1457
  *instance = (rbs_types_function_param_t) {
@@ -1443,7 +1467,7 @@ rbs_types_function_param_t *rbs_types_function_param_new(rbs_allocator_t *alloca
1443
1467
  return instance;
1444
1468
  }
1445
1469
  #line 140 "prism/templates/src/ast.c.erb"
1446
- 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) {
1470
+ 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) {
1447
1471
  rbs_types_interface_t *instance = rbs_allocator_alloc(allocator, rbs_types_interface_t);
1448
1472
 
1449
1473
  *instance = (rbs_types_interface_t) {
@@ -1460,7 +1484,7 @@ rbs_types_interface_t *rbs_types_interface_new(rbs_allocator_t *allocator, rbs_l
1460
1484
  return instance;
1461
1485
  }
1462
1486
  #line 140 "prism/templates/src/ast.c.erb"
1463
- rbs_types_intersection_t *rbs_types_intersection_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_node_list_t *types) {
1487
+ 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) {
1464
1488
  rbs_types_intersection_t *instance = rbs_allocator_alloc(allocator, rbs_types_intersection_t);
1465
1489
 
1466
1490
  *instance = (rbs_types_intersection_t) {
@@ -1474,7 +1498,7 @@ rbs_types_intersection_t *rbs_types_intersection_new(rbs_allocator_t *allocator,
1474
1498
  return instance;
1475
1499
  }
1476
1500
  #line 140 "prism/templates/src/ast.c.erb"
1477
- rbs_types_literal_t *rbs_types_literal_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_node_t *literal) {
1501
+ 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) {
1478
1502
  rbs_types_literal_t *instance = rbs_allocator_alloc(allocator, rbs_types_literal_t);
1479
1503
 
1480
1504
  *instance = (rbs_types_literal_t) {
@@ -1488,7 +1512,7 @@ rbs_types_literal_t *rbs_types_literal_new(rbs_allocator_t *allocator, rbs_locat
1488
1512
  return instance;
1489
1513
  }
1490
1514
  #line 140 "prism/templates/src/ast.c.erb"
1491
- rbs_types_optional_t *rbs_types_optional_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_node_t *type) {
1515
+ 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) {
1492
1516
  rbs_types_optional_t *instance = rbs_allocator_alloc(allocator, rbs_types_optional_t);
1493
1517
 
1494
1518
  *instance = (rbs_types_optional_t) {
@@ -1502,7 +1526,7 @@ rbs_types_optional_t *rbs_types_optional_new(rbs_allocator_t *allocator, rbs_loc
1502
1526
  return instance;
1503
1527
  }
1504
1528
  #line 140 "prism/templates/src/ast.c.erb"
1505
- 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) {
1529
+ 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) {
1506
1530
  rbs_types_proc_t *instance = rbs_allocator_alloc(allocator, rbs_types_proc_t);
1507
1531
 
1508
1532
  *instance = (rbs_types_proc_t) {
@@ -1518,7 +1542,7 @@ rbs_types_proc_t *rbs_types_proc_new(rbs_allocator_t *allocator, rbs_location_ra
1518
1542
  return instance;
1519
1543
  }
1520
1544
  #line 140 "prism/templates/src/ast.c.erb"
1521
- rbs_types_record_t *rbs_types_record_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_hash_t *all_fields) {
1545
+ 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) {
1522
1546
  rbs_types_record_t *instance = rbs_allocator_alloc(allocator, rbs_types_record_t);
1523
1547
 
1524
1548
  *instance = (rbs_types_record_t) {
@@ -1532,7 +1556,7 @@ rbs_types_record_t *rbs_types_record_new(rbs_allocator_t *allocator, rbs_locatio
1532
1556
  return instance;
1533
1557
  }
1534
1558
  #line 140 "prism/templates/src/ast.c.erb"
1535
- 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) {
1559
+ 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) {
1536
1560
  rbs_types_record_field_type_t *instance = rbs_allocator_alloc(allocator, rbs_types_record_field_type_t);
1537
1561
 
1538
1562
  *instance = (rbs_types_record_field_type_t) {
@@ -1547,7 +1571,7 @@ rbs_types_record_field_type_t *rbs_types_record_field_type_new(rbs_allocator_t *
1547
1571
  return instance;
1548
1572
  }
1549
1573
  #line 140 "prism/templates/src/ast.c.erb"
1550
- rbs_types_tuple_t *rbs_types_tuple_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_node_list_t *types) {
1574
+ 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) {
1551
1575
  rbs_types_tuple_t *instance = rbs_allocator_alloc(allocator, rbs_types_tuple_t);
1552
1576
 
1553
1577
  *instance = (rbs_types_tuple_t) {
@@ -1561,7 +1585,7 @@ rbs_types_tuple_t *rbs_types_tuple_new(rbs_allocator_t *allocator, rbs_location_
1561
1585
  return instance;
1562
1586
  }
1563
1587
  #line 140 "prism/templates/src/ast.c.erb"
1564
- rbs_types_union_t *rbs_types_union_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_node_list_t *types) {
1588
+ 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) {
1565
1589
  rbs_types_union_t *instance = rbs_allocator_alloc(allocator, rbs_types_union_t);
1566
1590
 
1567
1591
  *instance = (rbs_types_union_t) {
@@ -1575,7 +1599,7 @@ rbs_types_union_t *rbs_types_union_new(rbs_allocator_t *allocator, rbs_location_
1575
1599
  return instance;
1576
1600
  }
1577
1601
  #line 140 "prism/templates/src/ast.c.erb"
1578
- rbs_types_untyped_function_t *rbs_types_untyped_function_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_node_t *return_type) {
1602
+ 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) {
1579
1603
  rbs_types_untyped_function_t *instance = rbs_allocator_alloc(allocator, rbs_types_untyped_function_t);
1580
1604
 
1581
1605
  *instance = (rbs_types_untyped_function_t) {
@@ -1589,7 +1613,7 @@ rbs_types_untyped_function_t *rbs_types_untyped_function_new(rbs_allocator_t *al
1589
1613
  return instance;
1590
1614
  }
1591
1615
  #line 140 "prism/templates/src/ast.c.erb"
1592
- rbs_types_variable_t *rbs_types_variable_new(rbs_allocator_t *allocator, rbs_location_range location, rbs_ast_symbol_t *name) {
1616
+ 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) {
1593
1617
  rbs_types_variable_t *instance = rbs_allocator_alloc(allocator, rbs_types_variable_t);
1594
1618
 
1595
1619
  *instance = (rbs_types_variable_t) {