rbs 3.7.0.dev.1 → 3.7.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 (83) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby.yml +1 -1
  3. data/.github/workflows/windows.yml +5 -3
  4. data/.gitignore +1 -0
  5. data/.rubocop.yml +6 -0
  6. data/CHANGELOG.md +47 -0
  7. data/Rakefile +23 -0
  8. data/config.yml +311 -0
  9. data/core/dir.rbs +1 -1
  10. data/core/kernel.rbs +2 -2
  11. data/core/process.rbs +1 -1
  12. data/core/set.rbs +1 -1
  13. data/docs/syntax.md +6 -4
  14. data/ext/rbs_extension/extconf.rb +10 -0
  15. data/ext/rbs_extension/parser.c +103 -110
  16. data/ext/rbs_extension/rbs_extension.h +1 -2
  17. data/{ext/rbs_extension → include/rbs}/constants.h +21 -19
  18. data/include/rbs/ruby_objs.h +72 -0
  19. data/include/rbs.h +7 -0
  20. data/lib/rbs/collection/config/lockfile_generator.rb +34 -5
  21. data/lib/rbs/collection/config.rb +2 -2
  22. data/lib/rbs/environment_loader.rb +5 -0
  23. data/lib/rbs/prototype/rb.rb +7 -3
  24. data/lib/rbs/types.rb +10 -3
  25. data/lib/rbs/version.rb +1 -1
  26. data/sig/ancestor_graph.rbs +1 -1
  27. data/sig/collection/config/lockfile_generator.rbs +9 -1
  28. data/sig/definition.rbs +1 -1
  29. data/sig/definition_builder.rbs +1 -1
  30. data/sig/environment.rbs +1 -1
  31. data/sig/prototype/rb.rbs +1 -1
  32. data/sig/type_alias_dependency.rbs +2 -2
  33. data/sig/type_alias_regularity.rbs +1 -1
  34. data/sig/type_param.rbs +3 -3
  35. data/sig/vendorer.rbs +1 -1
  36. data/{ext/rbs_extension → src}/constants.c +35 -36
  37. data/src/ruby_objs.c +793 -0
  38. data/stdlib/cgi/0/manifest.yaml +1 -0
  39. data/stdlib/csv/0/manifest.yaml +1 -0
  40. data/stdlib/did_you_mean/0/did_you_mean.rbs +1 -1
  41. data/stdlib/json/0/json.rbs +1 -1
  42. data/stdlib/minitest/0/kernel.rbs +2 -2
  43. data/stdlib/minitest/0/minitest/abstract_reporter.rbs +4 -1
  44. data/stdlib/minitest/0/minitest/assertion.rbs +1 -0
  45. data/stdlib/minitest/0/minitest/assertions.rbs +58 -13
  46. data/stdlib/minitest/0/minitest/backtrace_filter.rbs +7 -0
  47. data/stdlib/minitest/0/minitest/bench_spec.rbs +8 -8
  48. data/stdlib/minitest/0/minitest/benchmark.rbs +17 -16
  49. data/stdlib/minitest/0/minitest/compress.rbs +13 -0
  50. data/stdlib/minitest/0/minitest/error_on_warning.rbs +3 -0
  51. data/stdlib/minitest/0/minitest/mock.rbs +9 -5
  52. data/stdlib/minitest/0/minitest/parallel/executor.rbs +4 -0
  53. data/stdlib/minitest/0/minitest/parallel/test/class_methods.rbs +0 -1
  54. data/stdlib/minitest/0/minitest/pride_io.rbs +8 -0
  55. data/stdlib/minitest/0/minitest/pride_lol.rbs +2 -0
  56. data/stdlib/minitest/0/minitest/progress_reporter.rbs +1 -1
  57. data/stdlib/minitest/0/minitest/reportable.rbs +2 -0
  58. data/stdlib/minitest/0/minitest/runnable.rbs +33 -1
  59. data/stdlib/minitest/0/minitest/spec/dsl/instance_methods.rbs +1 -1
  60. data/stdlib/minitest/0/minitest/spec/dsl.rbs +10 -6
  61. data/stdlib/minitest/0/minitest/spec.rbs +1 -1
  62. data/stdlib/minitest/0/minitest/statistics_reporter.rbs +5 -0
  63. data/stdlib/minitest/0/minitest/summary_reporter.rbs +0 -7
  64. data/stdlib/minitest/0/minitest/test/lifecycle_hooks.rbs +1 -1
  65. data/stdlib/minitest/0/minitest/test.rbs +7 -14
  66. data/stdlib/minitest/0/minitest/unexpected_error.rbs +2 -0
  67. data/stdlib/minitest/0/minitest/unexpected_warning.rbs +6 -0
  68. data/stdlib/minitest/0/minitest/unit.rbs +1 -2
  69. data/stdlib/minitest/0/minitest.rbs +41 -892
  70. data/stdlib/open-uri/0/manifest.yaml +1 -0
  71. data/stdlib/openssl/0/manifest.yaml +1 -0
  72. data/stdlib/openssl/0/openssl.rbs +26 -1
  73. data/stdlib/psych/0/core_ext.rbs +12 -0
  74. data/templates/include/rbs/constants.h.erb +20 -0
  75. data/templates/include/rbs/ruby_objs.h.erb +10 -0
  76. data/templates/src/constants.c.erb +36 -0
  77. data/templates/src/ruby_objs.c.erb +27 -0
  78. data/templates/template.rb +122 -0
  79. metadata +19 -9
  80. data/ext/rbs_extension/ruby_objs.c +0 -602
  81. data/ext/rbs_extension/ruby_objs.h +0 -51
  82. data/stdlib/minitest/0/manifest.yaml +0 -2
  83. /data/{core/string_io.rbs → stdlib/stringio/0/stringio.rbs} +0 -0
@@ -1,602 +0,0 @@
1
- #include "rbs_extension.h"
2
-
3
- #ifdef RB_PASS_KEYWORDS
4
- // Ruby 2.7 or later
5
- #define CLASS_NEW_INSTANCE(klass, argc, argv)\
6
- rb_class_new_instance_kw(argc, argv, klass, RB_PASS_KEYWORDS)
7
- #else
8
- // Ruby 2.6
9
- #define CLASS_NEW_INSTANCE(receiver, argc, argv)\
10
- rb_class_new_instance(argc, argv, receiver)
11
- #endif
12
-
13
- VALUE rbs_base_type(VALUE klass, VALUE location) {
14
- VALUE args = rb_hash_new();
15
- rb_hash_aset(args, ID2SYM(rb_intern("location")), location);
16
-
17
- return CLASS_NEW_INSTANCE(
18
- klass,
19
- 1,
20
- &args
21
- );
22
- }
23
-
24
- VALUE rbs_namespace(VALUE path, VALUE absolute) {
25
- VALUE args = rb_hash_new();
26
- rb_hash_aset(args, ID2SYM(rb_intern("path")), path);
27
- rb_hash_aset(args, ID2SYM(rb_intern("absolute")), absolute);
28
-
29
- return CLASS_NEW_INSTANCE(
30
- RBS_Namespace,
31
- 1,
32
- &args
33
- );
34
- }
35
-
36
- VALUE rbs_type_name(VALUE namespace, VALUE name) {
37
- VALUE args = rb_hash_new();
38
- rb_hash_aset(args, ID2SYM(rb_intern("namespace")), namespace);
39
- rb_hash_aset(args, ID2SYM(rb_intern("name")), name);
40
-
41
- return CLASS_NEW_INSTANCE(
42
- RBS_TypeName,
43
- 1,
44
- &args
45
- );
46
- }
47
-
48
- VALUE rbs_class_instance(VALUE typename, VALUE type_args, VALUE location) {
49
- VALUE args = rb_hash_new();
50
- rb_hash_aset(args, ID2SYM(rb_intern("name")), typename);
51
- rb_hash_aset(args, ID2SYM(rb_intern("args")), type_args);
52
- rb_hash_aset(args, ID2SYM(rb_intern("location")), location);
53
-
54
- return CLASS_NEW_INSTANCE(
55
- RBS_Types_ClassInstance,
56
- 1,
57
- &args
58
- );
59
- }
60
-
61
- VALUE rbs_class_singleton(VALUE typename, VALUE location) {
62
- VALUE args = rb_hash_new();
63
- rb_hash_aset(args, ID2SYM(rb_intern("name")), typename);
64
- rb_hash_aset(args, ID2SYM(rb_intern("location")), location);
65
-
66
- return CLASS_NEW_INSTANCE(
67
- RBS_Types_ClassSingleton,
68
- 1,
69
- &args
70
- );
71
- }
72
-
73
- VALUE rbs_alias(VALUE typename, VALUE args, VALUE location) {
74
- VALUE kwargs = rb_hash_new();
75
- rb_hash_aset(kwargs, ID2SYM(rb_intern("name")), typename);
76
- rb_hash_aset(kwargs, ID2SYM(rb_intern("args")), args);
77
- rb_hash_aset(kwargs, ID2SYM(rb_intern("location")), location);
78
-
79
- return CLASS_NEW_INSTANCE(
80
- RBS_Types_Alias,
81
- 1,
82
- &kwargs
83
- );
84
- }
85
-
86
- VALUE rbs_interface(VALUE typename, VALUE type_args, VALUE location) {
87
- VALUE args = rb_hash_new();
88
- rb_hash_aset(args, ID2SYM(rb_intern("name")), typename);
89
- rb_hash_aset(args, ID2SYM(rb_intern("args")), type_args);
90
- rb_hash_aset(args, ID2SYM(rb_intern("location")), location);
91
-
92
- return CLASS_NEW_INSTANCE(
93
- RBS_Types_Interface,
94
- 1,
95
- &args
96
- );
97
- }
98
-
99
- VALUE rbs_union(VALUE types, VALUE location) {
100
- VALUE args = rb_hash_new();
101
- rb_hash_aset(args, ID2SYM(rb_intern("types")), types);
102
- rb_hash_aset(args, ID2SYM(rb_intern("location")), location);
103
-
104
- return CLASS_NEW_INSTANCE(
105
- RBS_Types_Union,
106
- 1,
107
- &args
108
- );
109
- }
110
-
111
- VALUE rbs_intersection(VALUE types, VALUE location) {
112
- VALUE args = rb_hash_new();
113
- rb_hash_aset(args, ID2SYM(rb_intern("types")), types);
114
- rb_hash_aset(args, ID2SYM(rb_intern("location")), location);
115
-
116
- return CLASS_NEW_INSTANCE(
117
- RBS_Types_Intersection,
118
- 1,
119
- &args
120
- );
121
- }
122
-
123
- VALUE rbs_tuple(VALUE types, VALUE location) {
124
- VALUE args = rb_hash_new();
125
- rb_hash_aset(args, ID2SYM(rb_intern("types")), types);
126
- rb_hash_aset(args, ID2SYM(rb_intern("location")), location);
127
-
128
- return CLASS_NEW_INSTANCE(
129
- RBS_Types_Tuple,
130
- 1,
131
- &args
132
- );
133
- }
134
-
135
- VALUE rbs_optional(VALUE type, VALUE location) {
136
- VALUE args = rb_hash_new();
137
- rb_hash_aset(args, ID2SYM(rb_intern("type")), type);
138
- rb_hash_aset(args, ID2SYM(rb_intern("location")), location);
139
-
140
- return CLASS_NEW_INSTANCE(
141
- RBS_Types_Optional,
142
- 1,
143
- &args
144
- );
145
- }
146
-
147
- VALUE rbs_block(VALUE type, VALUE required, VALUE self_type) {
148
- VALUE args = rb_hash_new();
149
- rb_hash_aset(args, ID2SYM(rb_intern("type")), type);
150
- rb_hash_aset(args, ID2SYM(rb_intern("required")), required);
151
- rb_hash_aset(args, ID2SYM(rb_intern("self_type")), self_type);
152
-
153
- return CLASS_NEW_INSTANCE(
154
- RBS_Types_Block,
155
- 1,
156
- &args
157
- );
158
- }
159
-
160
- VALUE rbs_function_param(VALUE type, VALUE name, VALUE location) {
161
- VALUE args = rb_hash_new();
162
- rb_hash_aset(args, ID2SYM(rb_intern("type")), type);
163
- rb_hash_aset(args, ID2SYM(rb_intern("name")), name);
164
- rb_hash_aset(args, ID2SYM(rb_intern("location")), location);
165
-
166
- return CLASS_NEW_INSTANCE(
167
- RBS_Types_Function_Param,
168
- 1,
169
- &args
170
- );
171
- }
172
-
173
- VALUE rbs_untyped_function(VALUE return_type) {
174
- VALUE args = rb_hash_new();
175
- rb_hash_aset(args, ID2SYM(rb_intern("return_type")), return_type);
176
-
177
- return CLASS_NEW_INSTANCE(
178
- RBS_Types_UntypedFunction,
179
- 1,
180
- &args
181
- );
182
- }
183
-
184
- VALUE rbs_function(
185
- VALUE required_positional_params,
186
- VALUE optional_positional_params,
187
- VALUE rest_positional_param,
188
- VALUE trailing_positional_params,
189
- VALUE required_keyword_params,
190
- VALUE optional_keyword_params,
191
- VALUE rest_keyword_param,
192
- VALUE return_type
193
- ) {
194
- VALUE args = rb_hash_new();
195
- rb_hash_aset(args, ID2SYM(rb_intern("required_positionals")), required_positional_params);
196
- rb_hash_aset(args, ID2SYM(rb_intern("optional_positionals")), optional_positional_params);
197
- rb_hash_aset(args, ID2SYM(rb_intern("rest_positionals")), rest_positional_param);
198
- rb_hash_aset(args, ID2SYM(rb_intern("trailing_positionals")), trailing_positional_params);
199
- rb_hash_aset(args, ID2SYM(rb_intern("required_keywords")), required_keyword_params);
200
- rb_hash_aset(args, ID2SYM(rb_intern("optional_keywords")), optional_keyword_params);
201
- rb_hash_aset(args, ID2SYM(rb_intern("rest_keywords")), rest_keyword_param);
202
- rb_hash_aset(args, ID2SYM(rb_intern("return_type")), return_type);
203
-
204
- return CLASS_NEW_INSTANCE(
205
- RBS_Types_Function,
206
- 1,
207
- &args
208
- );
209
- }
210
-
211
- VALUE rbs_proc(VALUE function, VALUE block, VALUE location, VALUE self_type) {
212
- VALUE args = rb_hash_new();
213
- rb_hash_aset(args, ID2SYM(rb_intern("type")), function);
214
- rb_hash_aset(args, ID2SYM(rb_intern("block")), block);
215
- rb_hash_aset(args, ID2SYM(rb_intern("location")), location);
216
- rb_hash_aset(args, ID2SYM(rb_intern("self_type")), self_type);
217
-
218
- return CLASS_NEW_INSTANCE(
219
- RBS_Types_Proc,
220
- 1,
221
- &args
222
- );
223
- }
224
-
225
- VALUE rbs_void(VALUE location) {
226
- VALUE args = rb_hash_new();
227
- rb_hash_aset(args, ID2SYM(rb_intern("location")), location);
228
-
229
- return CLASS_NEW_INSTANCE(
230
- RBS_Types_Bases_Void,
231
- 1,
232
- &args
233
- );
234
- }
235
-
236
- VALUE rbs_literal(VALUE literal, VALUE location) {
237
- VALUE args = rb_hash_new();
238
- rb_hash_aset(args, ID2SYM(rb_intern("location")), location);
239
- rb_hash_aset(args, ID2SYM(rb_intern("literal")), literal);
240
-
241
- return CLASS_NEW_INSTANCE(
242
- RBS_Types_Literal,
243
- 1,
244
- &args
245
- );
246
- }
247
-
248
- VALUE rbs_record(VALUE fields,VALUE location) {
249
- VALUE args = rb_hash_new();
250
- rb_hash_aset(args, ID2SYM(rb_intern("location")), location);
251
- rb_hash_aset(args, ID2SYM(rb_intern("all_fields")), fields);
252
-
253
- return CLASS_NEW_INSTANCE(
254
- RBS_Types_Record,
255
- 1,
256
- &args
257
- );
258
- }
259
-
260
- VALUE rbs_variable(VALUE name, VALUE location) {
261
- VALUE args = rb_hash_new();
262
- rb_hash_aset(args, ID2SYM(rb_intern("location")), location);
263
- rb_hash_aset(args, ID2SYM(rb_intern("name")), name);
264
-
265
- return CLASS_NEW_INSTANCE(
266
- RBS_Types_Variable,
267
- 1,
268
- &args
269
- );
270
- }
271
-
272
- VALUE rbs_method_type(VALUE type_params, VALUE type, VALUE block, VALUE location) {
273
- VALUE args = rb_hash_new();
274
- rb_hash_aset(args, ID2SYM(rb_intern("type_params")), type_params);
275
- rb_hash_aset(args, ID2SYM(rb_intern("type")), type);
276
- rb_hash_aset(args, ID2SYM(rb_intern("block")), block);
277
- rb_hash_aset(args, ID2SYM(rb_intern("location")), location);
278
-
279
- return CLASS_NEW_INSTANCE(
280
- RBS_MethodType,
281
- 1,
282
- &args
283
- );
284
- }
285
-
286
- VALUE rbs_ast_comment(VALUE string, VALUE location) {
287
- VALUE args = rb_hash_new();
288
- rb_hash_aset(args, ID2SYM(rb_intern("string")), string);
289
- rb_hash_aset(args, ID2SYM(rb_intern("location")), location);
290
-
291
- return CLASS_NEW_INSTANCE(
292
- RBS_AST_Comment,
293
- 1,
294
- &args
295
- );
296
- }
297
-
298
- VALUE rbs_ast_annotation(VALUE string, VALUE location) {
299
- VALUE args = rb_hash_new();
300
- rb_hash_aset(args, ID2SYM(rb_intern("string")), string);
301
- rb_hash_aset(args, ID2SYM(rb_intern("location")), location);
302
-
303
- return CLASS_NEW_INSTANCE(
304
- RBS_AST_Annotation,
305
- 1,
306
- &args
307
- );
308
- }
309
-
310
- VALUE rbs_ast_type_param(VALUE name, VALUE variance, bool unchecked, VALUE upper_bound, VALUE default_type, VALUE location) {
311
- VALUE args = rb_hash_new();
312
- rb_hash_aset(args, ID2SYM(rb_intern("name")), name);
313
- rb_hash_aset(args, ID2SYM(rb_intern("variance")), variance);
314
- rb_hash_aset(args, ID2SYM(rb_intern("upper_bound")), upper_bound);
315
- rb_hash_aset(args, ID2SYM(rb_intern("default_type")), default_type);
316
- rb_hash_aset(args, ID2SYM(rb_intern("location")), location);
317
-
318
- VALUE type_param = CLASS_NEW_INSTANCE(RBS_AST_TypeParam, 1, &args);
319
-
320
- if (unchecked) {
321
- rb_funcall(type_param, rb_intern("unchecked!"), 0);
322
- }
323
-
324
- return type_param;
325
- }
326
-
327
- VALUE rbs_ast_decl_constant(VALUE name, VALUE type, VALUE location, VALUE comment) {
328
- VALUE args = rb_hash_new();
329
- rb_hash_aset(args, ID2SYM(rb_intern("name")), name);
330
- rb_hash_aset(args, ID2SYM(rb_intern("type")), type);
331
- rb_hash_aset(args, ID2SYM(rb_intern("location")), location);
332
- rb_hash_aset(args, ID2SYM(rb_intern("comment")), comment);
333
-
334
- return CLASS_NEW_INSTANCE(
335
- RBS_AST_Declarations_Constant,
336
- 1,
337
- &args
338
- );
339
- }
340
-
341
- VALUE rbs_ast_decl_global(VALUE name, VALUE type, VALUE location, VALUE comment) {
342
- VALUE args = rb_hash_new();
343
- rb_hash_aset(args, ID2SYM(rb_intern("name")), name);
344
- rb_hash_aset(args, ID2SYM(rb_intern("type")), type);
345
- rb_hash_aset(args, ID2SYM(rb_intern("location")), location);
346
- rb_hash_aset(args, ID2SYM(rb_intern("comment")), comment);
347
-
348
- return CLASS_NEW_INSTANCE(
349
- RBS_AST_Declarations_Global,
350
- 1,
351
- &args
352
- );
353
- }
354
-
355
- VALUE rbs_ast_decl_type_alias(VALUE name, VALUE type_params, VALUE type, VALUE annotations, VALUE location, VALUE comment) {
356
- VALUE args = rb_hash_new();
357
- rb_hash_aset(args, ID2SYM(rb_intern("name")), name);
358
- rb_hash_aset(args, ID2SYM(rb_intern("type_params")), type_params);
359
- rb_hash_aset(args, ID2SYM(rb_intern("type")), type);
360
- rb_hash_aset(args, ID2SYM(rb_intern("annotations")), annotations);
361
- rb_hash_aset(args, ID2SYM(rb_intern("location")), location);
362
- rb_hash_aset(args, ID2SYM(rb_intern("comment")), comment);
363
-
364
- return CLASS_NEW_INSTANCE(
365
- RBS_AST_Declarations_TypeAlias,
366
- 1,
367
- &args
368
- );
369
- }
370
-
371
- VALUE rbs_ast_decl_interface(VALUE name, VALUE type_params, VALUE members, VALUE annotations, VALUE location, VALUE comment) {
372
- VALUE args = rb_hash_new();
373
- rb_hash_aset(args, ID2SYM(rb_intern("name")), name);
374
- rb_hash_aset(args, ID2SYM(rb_intern("type_params")), type_params);
375
- rb_hash_aset(args, ID2SYM(rb_intern("members")), members);
376
- rb_hash_aset(args, ID2SYM(rb_intern("annotations")), annotations);
377
- rb_hash_aset(args, ID2SYM(rb_intern("location")), location);
378
- rb_hash_aset(args, ID2SYM(rb_intern("comment")), comment);
379
-
380
- return CLASS_NEW_INSTANCE(
381
- RBS_AST_Declarations_Interface,
382
- 1,
383
- &args
384
- );
385
- }
386
-
387
- VALUE rbs_ast_decl_module_self(VALUE name, VALUE args, VALUE location) {
388
- VALUE kw_args = rb_hash_new();
389
- rb_hash_aset(kw_args, ID2SYM(rb_intern("name")), name);
390
- rb_hash_aset(kw_args, ID2SYM(rb_intern("args")), args);
391
- rb_hash_aset(kw_args, ID2SYM(rb_intern("location")), location);
392
-
393
- return CLASS_NEW_INSTANCE(
394
- RBS_AST_Declarations_Module_Self,
395
- 1,
396
- &kw_args
397
- );
398
- }
399
-
400
- VALUE rbs_ast_decl_module(VALUE name, VALUE type_params, VALUE self_types, VALUE members, VALUE annotations, VALUE location, VALUE comment) {
401
- VALUE args = rb_hash_new();
402
- rb_hash_aset(args, ID2SYM(rb_intern("name")), name);
403
- rb_hash_aset(args, ID2SYM(rb_intern("type_params")), type_params);
404
- rb_hash_aset(args, ID2SYM(rb_intern("self_types")), self_types);
405
- rb_hash_aset(args, ID2SYM(rb_intern("members")), members);
406
- rb_hash_aset(args, ID2SYM(rb_intern("annotations")), annotations);
407
- rb_hash_aset(args, ID2SYM(rb_intern("location")), location);
408
- rb_hash_aset(args, ID2SYM(rb_intern("comment")), comment);
409
-
410
- return CLASS_NEW_INSTANCE(
411
- RBS_AST_Declarations_Module,
412
- 1,
413
- &args
414
- );
415
- }
416
-
417
- VALUE rbs_ast_decl_class_alias(VALUE new_name, VALUE old_name, VALUE location, VALUE comment) {
418
- VALUE args = rb_hash_new();
419
- rb_hash_aset(args, ID2SYM(rb_intern("new_name")), new_name);
420
- rb_hash_aset(args, ID2SYM(rb_intern("old_name")), old_name);
421
- rb_hash_aset(args, ID2SYM(rb_intern("location")), location);
422
- rb_hash_aset(args, ID2SYM(rb_intern("comment")), comment);
423
-
424
- return CLASS_NEW_INSTANCE(
425
- RBS_AST_Declarations_ClassAlias,
426
- 1,
427
- &args
428
- );
429
- }
430
-
431
- VALUE rbs_ast_decl_module_alias(VALUE new_name, VALUE old_name, VALUE location, VALUE comment) {
432
- VALUE args = rb_hash_new();
433
- rb_hash_aset(args, ID2SYM(rb_intern("new_name")), new_name);
434
- rb_hash_aset(args, ID2SYM(rb_intern("old_name")), old_name);
435
- rb_hash_aset(args, ID2SYM(rb_intern("location")), location);
436
- rb_hash_aset(args, ID2SYM(rb_intern("comment")), comment);
437
-
438
- return CLASS_NEW_INSTANCE(
439
- RBS_AST_Declarations_ModuleAlias,
440
- 1,
441
- &args
442
- );
443
- }
444
-
445
- VALUE rbs_ast_members_method_definition_overload(VALUE annotations, VALUE method_type) {
446
- VALUE args = rb_hash_new();
447
- rb_hash_aset(args, ID2SYM(rb_intern("annotations")), annotations);
448
- rb_hash_aset(args, ID2SYM(rb_intern("method_type")), method_type);
449
-
450
- return CLASS_NEW_INSTANCE(
451
- RBS_AST_Members_MethodDefinition_Overload,
452
- 1,
453
- &args
454
- );
455
- }
456
-
457
- VALUE rbs_ast_members_method_definition(VALUE name, VALUE kind, VALUE overloads, VALUE annotations, VALUE location, VALUE comment, VALUE overloading, VALUE visibility) {
458
- VALUE args = rb_hash_new();
459
- rb_hash_aset(args, ID2SYM(rb_intern("name")), name);
460
- rb_hash_aset(args, ID2SYM(rb_intern("kind")), kind);
461
- rb_hash_aset(args, ID2SYM(rb_intern("overloads")), overloads);
462
- rb_hash_aset(args, ID2SYM(rb_intern("annotations")), annotations);
463
- rb_hash_aset(args, ID2SYM(rb_intern("location")), location);
464
- rb_hash_aset(args, ID2SYM(rb_intern("comment")), comment);
465
- rb_hash_aset(args, ID2SYM(rb_intern("overloading")), overloading);
466
- rb_hash_aset(args, ID2SYM(rb_intern("visibility")), visibility);
467
-
468
- return CLASS_NEW_INSTANCE(
469
- RBS_AST_Members_MethodDefinition,
470
- 1,
471
- &args
472
- );
473
- }
474
-
475
- VALUE rbs_ast_members_variable(VALUE klass, VALUE name, VALUE type, VALUE location, VALUE comment) {
476
- VALUE args = rb_hash_new();
477
- rb_hash_aset(args, ID2SYM(rb_intern("name")), name);
478
- rb_hash_aset(args, ID2SYM(rb_intern("type")), type);
479
- rb_hash_aset(args, ID2SYM(rb_intern("location")), location);
480
- rb_hash_aset(args, ID2SYM(rb_intern("comment")), comment);
481
-
482
- return CLASS_NEW_INSTANCE(
483
- klass,
484
- 1,
485
- &args
486
- );
487
- }
488
-
489
- VALUE rbs_ast_members_mixin(VALUE klass, VALUE name, VALUE module_args, VALUE annotations, VALUE location, VALUE comment) {
490
- VALUE args = rb_hash_new();
491
- rb_hash_aset(args, ID2SYM(rb_intern("name")), name);
492
- rb_hash_aset(args, ID2SYM(rb_intern("args")), module_args);
493
- rb_hash_aset(args, ID2SYM(rb_intern("annotations")), annotations);
494
- rb_hash_aset(args, ID2SYM(rb_intern("location")), location);
495
- rb_hash_aset(args, ID2SYM(rb_intern("comment")), comment);
496
-
497
- return CLASS_NEW_INSTANCE(
498
- klass,
499
- 1,
500
- &args
501
- );
502
- }
503
-
504
- VALUE rbs_ast_members_attribute(VALUE klass, VALUE name, VALUE type, VALUE ivar_name, VALUE kind, VALUE annotations, VALUE location, VALUE comment, VALUE visibility) {
505
- VALUE args = rb_hash_new();
506
- rb_hash_aset(args, ID2SYM(rb_intern("name")), name);
507
- rb_hash_aset(args, ID2SYM(rb_intern("type")), type);
508
- rb_hash_aset(args, ID2SYM(rb_intern("ivar_name")), ivar_name);
509
- rb_hash_aset(args, ID2SYM(rb_intern("kind")), kind);
510
- rb_hash_aset(args, ID2SYM(rb_intern("annotations")), annotations);
511
- rb_hash_aset(args, ID2SYM(rb_intern("location")), location);
512
- rb_hash_aset(args, ID2SYM(rb_intern("comment")), comment);
513
- rb_hash_aset(args, ID2SYM(rb_intern("visibility")), visibility);
514
-
515
- return CLASS_NEW_INSTANCE(
516
- klass,
517
- 1,
518
- &args
519
- );
520
- }
521
-
522
- VALUE rbs_ast_members_visibility(VALUE klass, VALUE location) {
523
- VALUE args = rb_hash_new();
524
- rb_hash_aset(args, ID2SYM(rb_intern("location")), location);
525
-
526
- return CLASS_NEW_INSTANCE(
527
- klass,
528
- 1,
529
- &args
530
- );
531
- }
532
-
533
- VALUE rbs_ast_members_alias(VALUE new_name, VALUE old_name, VALUE kind, VALUE annotations, VALUE location, VALUE comment) {
534
- VALUE args = rb_hash_new();
535
- rb_hash_aset(args, ID2SYM(rb_intern("new_name")), new_name);
536
- rb_hash_aset(args, ID2SYM(rb_intern("old_name")), old_name);
537
- rb_hash_aset(args, ID2SYM(rb_intern("kind")), kind);
538
- rb_hash_aset(args, ID2SYM(rb_intern("annotations")), annotations);
539
- rb_hash_aset(args, ID2SYM(rb_intern("location")), location);
540
- rb_hash_aset(args, ID2SYM(rb_intern("comment")), comment);
541
-
542
- return CLASS_NEW_INSTANCE(
543
- RBS_AST_Members_Alias,
544
- 1,
545
- &args
546
- );
547
- }
548
-
549
- VALUE rbs_ast_decl_class_super(VALUE name, VALUE args, VALUE location) {
550
- VALUE kwargs = rb_hash_new();
551
- rb_hash_aset(kwargs, ID2SYM(rb_intern("name")), name);
552
- rb_hash_aset(kwargs, ID2SYM(rb_intern("args")), args);
553
- rb_hash_aset(kwargs, ID2SYM(rb_intern("location")), location);
554
-
555
- return CLASS_NEW_INSTANCE(
556
- RBS_AST_Declarations_Class_Super,
557
- 1,
558
- &kwargs
559
- );
560
- }
561
-
562
- VALUE rbs_ast_decl_class(VALUE name, VALUE type_params, VALUE super_class, VALUE members, VALUE annotations, VALUE location, VALUE comment) {
563
- VALUE kwargs = rb_hash_new();
564
- rb_hash_aset(kwargs, ID2SYM(rb_intern("name")), name);
565
- rb_hash_aset(kwargs, ID2SYM(rb_intern("type_params")), type_params);
566
- rb_hash_aset(kwargs, ID2SYM(rb_intern("super_class")), super_class);
567
- rb_hash_aset(kwargs, ID2SYM(rb_intern("members")), members);
568
- rb_hash_aset(kwargs, ID2SYM(rb_intern("annotations")), annotations);
569
- rb_hash_aset(kwargs, ID2SYM(rb_intern("location")), location);
570
- rb_hash_aset(kwargs, ID2SYM(rb_intern("comment")), comment);
571
-
572
- return CLASS_NEW_INSTANCE(
573
- RBS_AST_Declarations_Class,
574
- 1,
575
- &kwargs
576
- );
577
- }
578
-
579
- VALUE rbs_ast_directives_use(VALUE clauses, VALUE location) {
580
- VALUE kwargs = rb_hash_new();
581
- rb_hash_aset(kwargs, ID2SYM(rb_intern("clauses")), clauses);
582
- rb_hash_aset(kwargs, ID2SYM(rb_intern("location")), location);
583
-
584
- return CLASS_NEW_INSTANCE(RBS_AST_Directives_Use, 1, &kwargs);
585
- }
586
-
587
- VALUE rbs_ast_directives_use_single_clause(VALUE type_name, VALUE new_name, VALUE location) {
588
- VALUE kwargs = rb_hash_new();
589
- rb_hash_aset(kwargs, ID2SYM(rb_intern("type_name")), type_name);
590
- rb_hash_aset(kwargs, ID2SYM(rb_intern("new_name")), new_name);
591
- rb_hash_aset(kwargs, ID2SYM(rb_intern("location")), location);
592
-
593
- return CLASS_NEW_INSTANCE(RBS_AST_Directives_Use_SingleClause, 1, &kwargs);
594
- }
595
-
596
- VALUE rbs_ast_directives_use_wildcard_clause(VALUE namespace, VALUE location) {
597
- VALUE kwargs = rb_hash_new();
598
- rb_hash_aset(kwargs, ID2SYM(rb_intern("namespace")), namespace);
599
- rb_hash_aset(kwargs, ID2SYM(rb_intern("location")), location);
600
-
601
- return CLASS_NEW_INSTANCE(RBS_AST_Directives_Use_WildcardClause, 1, &kwargs);
602
- }
@@ -1,51 +0,0 @@
1
- #ifndef RBS__RUBY_OBJS_H
2
- #define RBS__RUBY_OBJS_H
3
-
4
- #include "ruby.h"
5
-
6
- VALUE rbs_alias(VALUE typename, VALUE args, VALUE location);
7
- VALUE rbs_ast_annotation(VALUE string, VALUE location);
8
- VALUE rbs_ast_comment(VALUE string, VALUE location);
9
- VALUE rbs_ast_type_param(VALUE name, VALUE variance, bool unchecked, VALUE upper_bound, VALUE default_type, VALUE location);
10
- VALUE rbs_ast_decl_type_alias(VALUE name, VALUE type_params, VALUE type, VALUE annotations, VALUE location, VALUE comment);
11
- VALUE rbs_ast_decl_class_super(VALUE name, VALUE args, VALUE location);
12
- VALUE rbs_ast_decl_class(VALUE name, VALUE type_params, VALUE super_class, VALUE members, VALUE annotations, VALUE location, VALUE comment);
13
- VALUE rbs_ast_decl_constant(VALUE name, VALUE type, VALUE location, VALUE comment);
14
- VALUE rbs_ast_decl_global(VALUE name, VALUE type, VALUE location, VALUE comment);
15
- VALUE rbs_ast_decl_interface(VALUE name, VALUE type_params, VALUE members, VALUE annotations, VALUE location, VALUE comment);
16
- VALUE rbs_ast_decl_module_self(VALUE name, VALUE args, VALUE location);
17
- VALUE rbs_ast_decl_module(VALUE name, VALUE type_params, VALUE self_types, VALUE members, VALUE annotations, VALUE location, VALUE comment);
18
- VALUE rbs_ast_decl_module_alias(VALUE new_name, VALUE old_name, VALUE location, VALUE comment);
19
- VALUE rbs_ast_decl_class_alias(VALUE new_name, VALUE old_name, VALUE location, VALUE comment);
20
- VALUE rbs_ast_members_alias(VALUE new_name, VALUE old_name, VALUE kind, VALUE annotations, VALUE location, VALUE comment);
21
- VALUE rbs_ast_members_attribute(VALUE klass, VALUE name, VALUE type, VALUE ivar_name, VALUE kind, VALUE annotations, VALUE location, VALUE comment, VALUE visibility);
22
- VALUE rbs_ast_members_method_definition(VALUE name, VALUE kind, VALUE overloads, VALUE annotations, VALUE location, VALUE comment, VALUE overloading, VALUE visibility);
23
- VALUE rbs_ast_members_method_definition_overload(VALUE annotations, VALUE method_type);
24
- VALUE rbs_ast_members_mixin(VALUE klass, VALUE name, VALUE args, VALUE annotations, VALUE location, VALUE comment);
25
- VALUE rbs_ast_members_variable(VALUE klass, VALUE name, VALUE type, VALUE location, VALUE comment);
26
- VALUE rbs_ast_members_visibility(VALUE klass, VALUE location);
27
- VALUE rbs_base_type(VALUE klass, VALUE location);
28
- VALUE rbs_block(VALUE type, VALUE required, VALUE self_type);
29
- VALUE rbs_class_instance(VALUE typename, VALUE type_args, VALUE location);
30
- VALUE rbs_class_singleton(VALUE typename, VALUE location);
31
- VALUE rbs_function_param(VALUE type, VALUE name, VALUE location);
32
- VALUE rbs_function(VALUE required_positional_params, VALUE optional_positional_params, VALUE rest_positional_params, VALUE trailing_positional_params, VALUE required_keywords, VALUE optional_keywords, VALUE rest_keywords, VALUE return_type);
33
- VALUE rbs_untyped_function(VALUE return_type);
34
- VALUE rbs_interface(VALUE typename, VALUE type_args, VALUE location);
35
- VALUE rbs_intersection(VALUE types, VALUE location);
36
- VALUE rbs_literal(VALUE literal, VALUE location);
37
- VALUE rbs_method_type(VALUE type_params, VALUE type, VALUE block, VALUE location);
38
- VALUE rbs_namespace(VALUE path, VALUE absolute);
39
- VALUE rbs_optional(VALUE type, VALUE location);
40
- VALUE rbs_proc(VALUE function, VALUE block, VALUE location, VALUE self_type);
41
- VALUE rbs_record(VALUE fields, VALUE location);
42
- VALUE rbs_tuple(VALUE types, VALUE location);
43
- VALUE rbs_type_name(VALUE namespace, VALUE name);
44
- VALUE rbs_union(VALUE types, VALUE location);
45
- VALUE rbs_variable(VALUE name, VALUE location);
46
-
47
- VALUE rbs_ast_directives_use(VALUE clauses, VALUE location);
48
- VALUE rbs_ast_directives_use_single_clause(VALUE type_name, VALUE new_name, VALUE location);
49
- VALUE rbs_ast_directives_use_wildcard_clause(VALUE namespace, VALUE location);
50
-
51
- #endif
@@ -1,2 +0,0 @@
1
- dependencies:
2
- - name: mutex_m