rbs 4.0.3 → 4.1.0.pre.2

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 (125) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/c-check.yml +3 -0
  3. data/.github/workflows/dependabot.yml +1 -1
  4. data/.github/workflows/jruby.yml +67 -0
  5. data/.github/workflows/milestone.yml +4 -1
  6. data/.github/workflows/ruby.yml +40 -0
  7. data/.github/workflows/rust.yml +3 -2
  8. data/.github/workflows/truffleruby.yml +54 -0
  9. data/.github/workflows/typecheck.yml +3 -0
  10. data/.github/workflows/wasm.yml +53 -0
  11. data/.github/workflows/windows.yml +3 -0
  12. data/.gitignore +7 -0
  13. data/CHANGELOG.md +0 -8
  14. data/README.md +3 -3
  15. data/Rakefile +118 -3
  16. data/Steepfile +7 -0
  17. data/config.yml +24 -0
  18. data/core/array.rbs +144 -144
  19. data/core/builtin.rbs +7 -6
  20. data/core/class.rbs +5 -3
  21. data/core/enumerable.rbs +109 -109
  22. data/core/enumerator/product.rbs +5 -5
  23. data/core/enumerator.rbs +28 -28
  24. data/core/file.rbs +24 -1018
  25. data/core/file_constants.rbs +463 -0
  26. data/core/file_stat.rbs +534 -0
  27. data/core/hash.rbs +117 -101
  28. data/core/integer.rbs +21 -58
  29. data/core/io.rbs +25 -7
  30. data/core/kernel.rbs +26 -11
  31. data/core/module.rbs +88 -74
  32. data/core/numeric.rbs +3 -0
  33. data/core/object_space/weak_key_map.rbs +7 -7
  34. data/core/range.rbs +23 -23
  35. data/core/rbs/ops.rbs +154 -0
  36. data/core/rbs/unnamed/argf.rbs +3 -3
  37. data/core/ruby_vm.rbs +40 -0
  38. data/core/set.rbs +3 -3
  39. data/core/struct.rbs +16 -16
  40. data/core/thread.rbs +6 -6
  41. data/docs/CONTRIBUTING.md +2 -1
  42. data/docs/inline.md +65 -7
  43. data/docs/rbs_by_example.md +20 -20
  44. data/docs/syntax.md +2 -2
  45. data/docs/wasm_serialization.md +80 -0
  46. data/ext/rbs_extension/ast_translation.c +1298 -956
  47. data/ext/rbs_extension/ast_translation.h +4 -0
  48. data/ext/rbs_extension/class_constants.c +2 -0
  49. data/ext/rbs_extension/class_constants.h +1 -0
  50. data/ext/rbs_extension/extconf.rb +1 -0
  51. data/ext/rbs_extension/main.c +139 -4
  52. data/include/rbs/ast.h +323 -298
  53. data/include/rbs/defines.h +13 -0
  54. data/include/rbs/lexer.h +1 -0
  55. data/include/rbs/serialize.h +39 -0
  56. data/lib/rbs/annotate/rdoc_annotator.rb +27 -31
  57. data/lib/rbs/ast/ruby/annotations.rb +42 -0
  58. data/lib/rbs/ast/ruby/comment_block.rb +6 -4
  59. data/lib/rbs/ast/ruby/declarations.rb +11 -1
  60. data/lib/rbs/ast/ruby/helpers/location_helper.rb +1 -1
  61. data/lib/rbs/ast/ruby/members.rb +40 -1
  62. data/lib/rbs/buffer.rb +48 -11
  63. data/lib/rbs/cli.rb +3 -5
  64. data/lib/rbs/collection/config/lockfile_generator.rb +14 -1
  65. data/lib/rbs/collection/sources/git.rb +6 -0
  66. data/lib/rbs/definition_builder/method_builder.rb +12 -6
  67. data/lib/rbs/environment.rb +10 -3
  68. data/lib/rbs/inline_parser.rb +54 -28
  69. data/lib/rbs/namespace.rb +47 -11
  70. data/lib/rbs/prototype/runtime.rb +2 -0
  71. data/lib/rbs/resolver/type_name_resolver.rb +12 -14
  72. data/lib/rbs/rewriter.rb +70 -0
  73. data/lib/rbs/test/type_check.rb +6 -1
  74. data/lib/rbs/type_name.rb +33 -13
  75. data/lib/rbs/unit_test/type_assertions.rb +9 -0
  76. data/lib/rbs/version.rb +1 -1
  77. data/lib/rbs/wasm/deserializer.rb +213 -0
  78. data/lib/rbs/wasm/location.rb +61 -0
  79. data/lib/rbs/wasm/parser.rb +137 -0
  80. data/lib/rbs/wasm/runtime.rb +217 -0
  81. data/lib/rbs/wasm/serialization_schema.rb +110 -0
  82. data/lib/rbs.rb +14 -2
  83. data/rbs.gemspec +19 -2
  84. data/sig/annotate/rdoc_annotater.rbs +12 -9
  85. data/sig/ast/ruby/annotations.rbs +49 -0
  86. data/sig/ast/ruby/members.rbs +21 -1
  87. data/sig/buffer.rbs +19 -1
  88. data/sig/collection/config/lockfile_generator.rbs +2 -0
  89. data/sig/inline_parser.rbs +2 -0
  90. data/sig/manifest.yaml +0 -1
  91. data/sig/namespace.rbs +20 -0
  92. data/sig/parser.rbs +10 -0
  93. data/sig/resolver/type_name_resolver.rbs +2 -4
  94. data/sig/rewriter.rbs +45 -0
  95. data/sig/typename.rbs +15 -0
  96. data/sig/unit_test/type_assertions.rbs +4 -0
  97. data/sig/wasm/deserializer.rbs +66 -0
  98. data/sig/wasm/serialization_schema.rbs +13 -0
  99. data/src/ast.c +186 -162
  100. data/src/lexer.c +137 -114
  101. data/src/lexer.re +1 -0
  102. data/src/lexstate.c +6 -1
  103. data/src/parser.c +55 -5
  104. data/src/serialize.c +958 -0
  105. data/src/util/rbs_allocator.c +1 -4
  106. data/stdlib/abbrev/0/array.rbs +1 -1
  107. data/stdlib/csv/0/csv.rbs +5 -5
  108. data/stdlib/digest/0/digest.rbs +1 -1
  109. data/stdlib/etc/0/etc.rbs +18 -4
  110. data/stdlib/fileutils/0/fileutils.rbs +21 -21
  111. data/stdlib/json/0/json.rbs +6 -6
  112. data/stdlib/openssl/0/openssl.rbs +7 -7
  113. data/stdlib/resolv/0/resolv.rbs +1 -1
  114. data/stdlib/shellwords/0/shellwords.rbs +1 -1
  115. data/stdlib/stringio/0/stringio.rbs +32 -10
  116. data/stdlib/strscan/0/string_scanner.rbs +74 -55
  117. data/stdlib/tsort/0/cyclic.rbs +1 -1
  118. data/stdlib/tsort/0/interfaces.rbs +8 -8
  119. data/stdlib/tsort/0/tsort.rbs +9 -9
  120. data/stdlib/zlib/0/gzip_reader.rbs +2 -2
  121. data/wasm/README.md +59 -0
  122. data/wasm/rbs_wasm.c +411 -0
  123. metadata +23 -5
  124. data/.vscode/extensions.json +0 -5
  125. data/.vscode/settings.json +0 -19
data/src/ast.c CHANGED
@@ -5,13 +5,13 @@
5
5
  /* templates/src/ast.c.erb */
6
6
  /*----------------------------------------------------------------------------*/
7
7
 
8
- #line 2 "prism/templates/src/ast.c.erb"
8
+ #line 2 "templates/src/ast.c.erb"
9
9
  #include "rbs/ast.h"
10
10
 
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) {
@@ -290,8 +292,8 @@ rbs_ast_symbol_t *rbs_ast_symbol_new(rbs_allocator_t *allocator, rbs_location_ra
290
292
  return instance;
291
293
  }
292
294
 
293
- #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) {
295
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -304,8 +306,8 @@ rbs_ast_annotation_t *rbs_ast_annotation_new(rbs_allocator_t *allocator, rbs_loc
304
306
 
305
307
  return instance;
306
308
  }
307
- #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) {
309
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -318,8 +320,8 @@ rbs_ast_bool_t *rbs_ast_bool_new(rbs_allocator_t *allocator, rbs_location_range
318
320
 
319
321
  return instance;
320
322
  }
321
- #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) {
323
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -332,8 +334,8 @@ rbs_ast_comment_t *rbs_ast_comment_new(rbs_allocator_t *allocator, rbs_location_
332
334
 
333
335
  return instance;
334
336
  }
335
- #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) {
337
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -356,8 +358,8 @@ rbs_ast_declarations_class_t *rbs_ast_declarations_class_new(rbs_allocator_t *al
356
358
 
357
359
  return instance;
358
360
  }
359
- #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) {
361
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -373,8 +375,8 @@ rbs_ast_declarations_class_super_t *rbs_ast_declarations_class_super_new(rbs_all
373
375
 
374
376
  return instance;
375
377
  }
376
- #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) {
378
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -394,8 +396,8 @@ rbs_ast_declarations_class_alias_t *rbs_ast_declarations_class_alias_new(rbs_all
394
396
 
395
397
  return instance;
396
398
  }
397
- #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) {
399
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -413,8 +415,8 @@ rbs_ast_declarations_constant_t *rbs_ast_declarations_constant_new(rbs_allocator
413
415
 
414
416
  return instance;
415
417
  }
416
- #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) {
418
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -432,8 +434,8 @@ rbs_ast_declarations_global_t *rbs_ast_declarations_global_new(rbs_allocator_t *
432
434
 
433
435
  return instance;
434
436
  }
435
- #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) {
437
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -454,8 +456,8 @@ rbs_ast_declarations_interface_t *rbs_ast_declarations_interface_new(rbs_allocat
454
456
 
455
457
  return instance;
456
458
  }
457
- #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) {
459
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -479,8 +481,8 @@ rbs_ast_declarations_module_t *rbs_ast_declarations_module_new(rbs_allocator_t *
479
481
 
480
482
  return instance;
481
483
  }
482
- #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) {
484
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -496,8 +498,8 @@ rbs_ast_declarations_module_self_t *rbs_ast_declarations_module_self_new(rbs_all
496
498
 
497
499
  return instance;
498
500
  }
499
- #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) {
501
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -517,8 +519,8 @@ rbs_ast_declarations_module_alias_t *rbs_ast_declarations_module_alias_new(rbs_a
517
519
 
518
520
  return instance;
519
521
  }
520
- #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) {
522
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -539,8 +541,8 @@ rbs_ast_declarations_type_alias_t *rbs_ast_declarations_type_alias_new(rbs_alloc
539
541
 
540
542
  return instance;
541
543
  }
542
- #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) {
544
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -554,8 +556,8 @@ rbs_ast_directives_use_t *rbs_ast_directives_use_new(rbs_allocator_t *allocator,
554
556
 
555
557
  return instance;
556
558
  }
557
- #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) {
559
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -572,8 +574,8 @@ rbs_ast_directives_use_single_clause_t *rbs_ast_directives_use_single_clause_new
572
574
 
573
575
  return instance;
574
576
  }
575
- #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) {
577
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -588,8 +590,8 @@ rbs_ast_directives_use_wildcard_clause_t *rbs_ast_directives_use_wildcard_clause
588
590
 
589
591
  return instance;
590
592
  }
591
- #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) {
593
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -602,8 +604,8 @@ rbs_ast_integer_t *rbs_ast_integer_new(rbs_allocator_t *allocator, rbs_location_
602
604
 
603
605
  return instance;
604
606
  }
605
- #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) {
607
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -625,8 +627,8 @@ rbs_ast_members_alias_t *rbs_ast_members_alias_new(rbs_allocator_t *allocator, r
625
627
 
626
628
  return instance;
627
629
  }
628
- #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) {
630
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -652,8 +654,8 @@ rbs_ast_members_attr_accessor_t *rbs_ast_members_attr_accessor_new(rbs_allocator
652
654
 
653
655
  return instance;
654
656
  }
655
- #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) {
657
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -679,8 +681,8 @@ rbs_ast_members_attr_reader_t *rbs_ast_members_attr_reader_new(rbs_allocator_t *
679
681
 
680
682
  return instance;
681
683
  }
682
- #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) {
684
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -706,8 +708,8 @@ rbs_ast_members_attr_writer_t *rbs_ast_members_attr_writer_new(rbs_allocator_t *
706
708
 
707
709
  return instance;
708
710
  }
709
- #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) {
711
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -725,8 +727,8 @@ rbs_ast_members_class_instance_variable_t *rbs_ast_members_class_instance_variab
725
727
 
726
728
  return instance;
727
729
  }
728
- #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) {
730
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -744,8 +746,8 @@ rbs_ast_members_class_variable_t *rbs_ast_members_class_variable_new(rbs_allocat
744
746
 
745
747
  return instance;
746
748
  }
747
- #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) {
749
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -764,8 +766,8 @@ rbs_ast_members_extend_t *rbs_ast_members_extend_new(rbs_allocator_t *allocator,
764
766
 
765
767
  return instance;
766
768
  }
767
- #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) {
769
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -784,8 +786,8 @@ rbs_ast_members_include_t *rbs_ast_members_include_new(rbs_allocator_t *allocato
784
786
 
785
787
  return instance;
786
788
  }
787
- #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) {
789
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -803,8 +805,8 @@ rbs_ast_members_instance_variable_t *rbs_ast_members_instance_variable_new(rbs_a
803
805
 
804
806
  return instance;
805
807
  }
806
- #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) {
808
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -828,8 +830,8 @@ rbs_ast_members_method_definition_t *rbs_ast_members_method_definition_new(rbs_a
828
830
 
829
831
  return instance;
830
832
  }
831
- #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) {
833
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -843,8 +845,8 @@ rbs_ast_members_method_definition_overload_t *rbs_ast_members_method_definition_
843
845
 
844
846
  return instance;
845
847
  }
846
- #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) {
848
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -863,8 +865,8 @@ rbs_ast_members_prepend_t *rbs_ast_members_prepend_new(rbs_allocator_t *allocato
863
865
 
864
866
  return instance;
865
867
  }
866
- #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) {
868
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -876,8 +878,8 @@ rbs_ast_members_private_t *rbs_ast_members_private_new(rbs_allocator_t *allocato
876
878
 
877
879
  return instance;
878
880
  }
879
- #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) {
881
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -889,8 +891,8 @@ rbs_ast_members_public_t *rbs_ast_members_public_new(rbs_allocator_t *allocator,
889
891
 
890
892
  return instance;
891
893
  }
892
- #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) {
894
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -910,8 +912,8 @@ rbs_ast_ruby_annotations_block_param_type_annotation_t *rbs_ast_ruby_annotations
910
912
 
911
913
  return instance;
912
914
  }
913
- #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) {
915
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -927,8 +929,8 @@ rbs_ast_ruby_annotations_class_alias_annotation_t *rbs_ast_ruby_annotations_clas
927
929
 
928
930
  return instance;
929
931
  }
930
- #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) {
932
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -943,8 +945,8 @@ rbs_ast_ruby_annotations_colon_method_type_annotation_t *rbs_ast_ruby_annotation
943
945
 
944
946
  return instance;
945
947
  }
946
- #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) {
948
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -962,8 +964,8 @@ rbs_ast_ruby_annotations_double_splat_param_type_annotation_t *rbs_ast_ruby_anno
962
964
 
963
965
  return instance;
964
966
  }
965
- #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) {
967
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -981,8 +983,8 @@ rbs_ast_ruby_annotations_instance_variable_annotation_t *rbs_ast_ruby_annotation
981
983
 
982
984
  return instance;
983
985
  }
984
- #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) {
986
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -998,8 +1000,8 @@ rbs_ast_ruby_annotations_method_types_annotation_t *rbs_ast_ruby_annotations_met
998
1000
 
999
1001
  return instance;
1000
1002
  }
1001
- #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) {
1003
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -1015,8 +1017,30 @@ rbs_ast_ruby_annotations_module_alias_annotation_t *rbs_ast_ruby_annotations_mod
1015
1017
 
1016
1018
  return instance;
1017
1019
  }
1018
- #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) {
1020
+ #line 140 "templates/src/ast.c.erb"
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 "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) {
@@ -1030,8 +1054,8 @@ rbs_ast_ruby_annotations_node_type_assertion_t *rbs_ast_ruby_annotations_node_ty
1030
1054
 
1031
1055
  return instance;
1032
1056
  }
1033
- #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) {
1057
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -1048,8 +1072,8 @@ rbs_ast_ruby_annotations_param_type_annotation_t *rbs_ast_ruby_annotations_param
1048
1072
 
1049
1073
  return instance;
1050
1074
  }
1051
- #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) {
1075
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -1066,8 +1090,8 @@ rbs_ast_ruby_annotations_return_type_annotation_t *rbs_ast_ruby_annotations_retu
1066
1090
 
1067
1091
  return instance;
1068
1092
  }
1069
- #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) {
1093
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -1082,8 +1106,8 @@ rbs_ast_ruby_annotations_skip_annotation_t *rbs_ast_ruby_annotations_skip_annota
1082
1106
 
1083
1107
  return instance;
1084
1108
  }
1085
- #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) {
1109
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -1101,8 +1125,8 @@ rbs_ast_ruby_annotations_splat_param_type_annotation_t *rbs_ast_ruby_annotations
1101
1125
 
1102
1126
  return instance;
1103
1127
  }
1104
- #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) {
1128
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -1118,8 +1142,8 @@ rbs_ast_ruby_annotations_type_application_annotation_t *rbs_ast_ruby_annotations
1118
1142
 
1119
1143
  return instance;
1120
1144
  }
1121
- #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) {
1145
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -1132,8 +1156,8 @@ rbs_ast_string_t *rbs_ast_string_new(rbs_allocator_t *allocator, rbs_location_ra
1132
1156
 
1133
1157
  return instance;
1134
1158
  }
1135
- #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) {
1159
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -1157,8 +1181,8 @@ rbs_ast_type_param_t *rbs_ast_type_param_new(rbs_allocator_t *allocator, rbs_loc
1157
1181
 
1158
1182
  return instance;
1159
1183
  }
1160
- #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) {
1184
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -1175,8 +1199,8 @@ rbs_method_type_t *rbs_method_type_new(rbs_allocator_t *allocator, rbs_location_
1175
1199
 
1176
1200
  return instance;
1177
1201
  }
1178
- #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) {
1202
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -1190,8 +1214,8 @@ rbs_namespace_t *rbs_namespace_new(rbs_allocator_t *allocator, rbs_location_rang
1190
1214
 
1191
1215
  return instance;
1192
1216
  }
1193
- #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) {
1217
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -1205,8 +1229,8 @@ rbs_signature_t *rbs_signature_new(rbs_allocator_t *allocator, rbs_location_rang
1205
1229
 
1206
1230
  return instance;
1207
1231
  }
1208
- #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) {
1232
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -1220,8 +1244,8 @@ rbs_type_name_t *rbs_type_name_new(rbs_allocator_t *allocator, rbs_location_rang
1220
1244
 
1221
1245
  return instance;
1222
1246
  }
1223
- #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) {
1247
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -1237,8 +1261,8 @@ rbs_types_alias_t *rbs_types_alias_new(rbs_allocator_t *allocator, rbs_location_
1237
1261
 
1238
1262
  return instance;
1239
1263
  }
1240
- #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) {
1264
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -1251,8 +1275,8 @@ rbs_types_bases_any_t *rbs_types_bases_any_new(rbs_allocator_t *allocator, rbs_l
1251
1275
 
1252
1276
  return instance;
1253
1277
  }
1254
- #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) {
1278
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -1264,8 +1288,8 @@ rbs_types_bases_bool_t *rbs_types_bases_bool_new(rbs_allocator_t *allocator, rbs
1264
1288
 
1265
1289
  return instance;
1266
1290
  }
1267
- #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) {
1291
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -1277,8 +1301,8 @@ rbs_types_bases_bottom_t *rbs_types_bases_bottom_new(rbs_allocator_t *allocator,
1277
1301
 
1278
1302
  return instance;
1279
1303
  }
1280
- #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) {
1304
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -1290,8 +1314,8 @@ rbs_types_bases_class_t *rbs_types_bases_class_new(rbs_allocator_t *allocator, r
1290
1314
 
1291
1315
  return instance;
1292
1316
  }
1293
- #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) {
1317
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -1303,8 +1327,8 @@ rbs_types_bases_instance_t *rbs_types_bases_instance_new(rbs_allocator_t *alloca
1303
1327
 
1304
1328
  return instance;
1305
1329
  }
1306
- #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) {
1330
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -1316,8 +1340,8 @@ rbs_types_bases_nil_t *rbs_types_bases_nil_new(rbs_allocator_t *allocator, rbs_l
1316
1340
 
1317
1341
  return instance;
1318
1342
  }
1319
- #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) {
1343
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -1329,8 +1353,8 @@ rbs_types_bases_self_t *rbs_types_bases_self_new(rbs_allocator_t *allocator, rbs
1329
1353
 
1330
1354
  return instance;
1331
1355
  }
1332
- #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) {
1356
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -1342,8 +1366,8 @@ rbs_types_bases_top_t *rbs_types_bases_top_new(rbs_allocator_t *allocator, rbs_l
1342
1366
 
1343
1367
  return instance;
1344
1368
  }
1345
- #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) {
1369
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -1355,8 +1379,8 @@ rbs_types_bases_void_t *rbs_types_bases_void_new(rbs_allocator_t *allocator, rbs
1355
1379
 
1356
1380
  return instance;
1357
1381
  }
1358
- #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) {
1382
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -1371,8 +1395,8 @@ rbs_types_block_t *rbs_types_block_new(rbs_allocator_t *allocator, rbs_location_
1371
1395
 
1372
1396
  return instance;
1373
1397
  }
1374
- #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) {
1398
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -1388,8 +1412,8 @@ rbs_types_class_instance_t *rbs_types_class_instance_new(rbs_allocator_t *alloca
1388
1412
 
1389
1413
  return instance;
1390
1414
  }
1391
- #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) {
1415
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -1405,8 +1429,8 @@ rbs_types_class_singleton_t *rbs_types_class_singleton_new(rbs_allocator_t *allo
1405
1429
 
1406
1430
  return instance;
1407
1431
  }
1408
- #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) {
1432
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -1426,8 +1450,8 @@ rbs_types_function_t *rbs_types_function_new(rbs_allocator_t *allocator, rbs_loc
1426
1450
 
1427
1451
  return instance;
1428
1452
  }
1429
- #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) {
1453
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -1442,8 +1466,8 @@ rbs_types_function_param_t *rbs_types_function_param_new(rbs_allocator_t *alloca
1442
1466
 
1443
1467
  return instance;
1444
1468
  }
1445
- #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) {
1469
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -1459,8 +1483,8 @@ rbs_types_interface_t *rbs_types_interface_new(rbs_allocator_t *allocator, rbs_l
1459
1483
 
1460
1484
  return instance;
1461
1485
  }
1462
- #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) {
1486
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -1473,8 +1497,8 @@ rbs_types_intersection_t *rbs_types_intersection_new(rbs_allocator_t *allocator,
1473
1497
 
1474
1498
  return instance;
1475
1499
  }
1476
- #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) {
1500
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -1487,8 +1511,8 @@ rbs_types_literal_t *rbs_types_literal_new(rbs_allocator_t *allocator, rbs_locat
1487
1511
 
1488
1512
  return instance;
1489
1513
  }
1490
- #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) {
1514
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -1501,8 +1525,8 @@ rbs_types_optional_t *rbs_types_optional_new(rbs_allocator_t *allocator, rbs_loc
1501
1525
 
1502
1526
  return instance;
1503
1527
  }
1504
- #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) {
1528
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -1517,8 +1541,8 @@ rbs_types_proc_t *rbs_types_proc_new(rbs_allocator_t *allocator, rbs_location_ra
1517
1541
 
1518
1542
  return instance;
1519
1543
  }
1520
- #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) {
1544
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -1531,8 +1555,8 @@ rbs_types_record_t *rbs_types_record_new(rbs_allocator_t *allocator, rbs_locatio
1531
1555
 
1532
1556
  return instance;
1533
1557
  }
1534
- #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) {
1558
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -1546,8 +1570,8 @@ rbs_types_record_field_type_t *rbs_types_record_field_type_new(rbs_allocator_t *
1546
1570
 
1547
1571
  return instance;
1548
1572
  }
1549
- #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) {
1573
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -1560,8 +1584,8 @@ rbs_types_tuple_t *rbs_types_tuple_new(rbs_allocator_t *allocator, rbs_location_
1560
1584
 
1561
1585
  return instance;
1562
1586
  }
1563
- #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) {
1587
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -1574,8 +1598,8 @@ rbs_types_union_t *rbs_types_union_new(rbs_allocator_t *allocator, rbs_location_
1574
1598
 
1575
1599
  return instance;
1576
1600
  }
1577
- #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) {
1601
+ #line 140 "templates/src/ast.c.erb"
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) {
@@ -1588,8 +1612,8 @@ rbs_types_untyped_function_t *rbs_types_untyped_function_new(rbs_allocator_t *al
1588
1612
 
1589
1613
  return instance;
1590
1614
  }
1591
- #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) {
1615
+ #line 140 "templates/src/ast.c.erb"
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) {