rbs 4.1.2-java → 4.2.0.pre.1-java

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 (61) hide show
  1. checksums.yaml +4 -4
  2. data/.gitattributes +1 -0
  3. data/.github/workflows/bundle-update.yml +2 -2
  4. data/.github/workflows/c-check.yml +2 -2
  5. data/.github/workflows/changelog.yml +121 -0
  6. data/.github/workflows/comments.yml +2 -2
  7. data/.github/workflows/dependabot.yml +1 -1
  8. data/.github/workflows/jruby.yml +3 -3
  9. data/.github/workflows/release-gems.yml +6 -7
  10. data/.github/workflows/ruby.yml +6 -6
  11. data/.github/workflows/rust.yml +12 -12
  12. data/.github/workflows/truffleruby.yml +2 -2
  13. data/.github/workflows/typecheck.yml +2 -2
  14. data/.github/workflows/wasm.yml +3 -3
  15. data/.github/workflows/windows.yml +2 -2
  16. data/CHANGELOG.md +34 -0
  17. data/Rakefile +50 -21
  18. data/config.yml +5 -0
  19. data/docs/CONTRIBUTING.md +1 -1
  20. data/docs/release.md +57 -1
  21. data/docs/stdlib.md +8 -0
  22. data/docs/syntax.md +12 -0
  23. data/ext/rbs_extension/ast_translation.c +15 -0
  24. data/ext/rbs_extension/class_constants.c +2 -0
  25. data/ext/rbs_extension/class_constants.h +1 -0
  26. data/ext/rbs_extension/main.c +55 -19
  27. data/include/rbs/ast.h +21 -13
  28. data/include/rbs/defines.h +8 -3
  29. data/include/rbs/lexer.h +13 -12
  30. data/include/rbs/parser.h +37 -3
  31. data/lib/rbs/ast/declarations.rb +1 -1
  32. data/lib/rbs/ast/type_param.rb +1 -1
  33. data/lib/rbs/definition_builder/ancestor_builder.rb +8 -5
  34. data/lib/rbs/definition_builder/method_builder.rb +4 -4
  35. data/lib/rbs/definition_builder.rb +5 -2
  36. data/lib/rbs/environment/class_entry.rb +12 -0
  37. data/lib/rbs/environment/module_entry.rb +26 -1
  38. data/lib/rbs/parser_aux.rb +2 -2
  39. data/lib/rbs/types.rb +44 -2
  40. data/lib/rbs/unit_test/type_assertions.rb +5 -5
  41. data/lib/rbs/version.rb +1 -1
  42. data/lib/rbs/wasm/parser.rb +62 -25
  43. data/lib/rbs/wasm/rbs_parser.wasm +0 -0
  44. data/lib/rbs/wasm/runtime.rb +19 -4
  45. data/lib/rbs/wasm/serialization_schema.rb +3 -2
  46. data/schema/function.json +12 -1
  47. data/sig/environment/class_entry.rbs +6 -0
  48. data/sig/environment/module_entry.rbs +15 -0
  49. data/sig/parser.rbs +4 -4
  50. data/sig/types.rbs +11 -1
  51. data/sig/unit_test/type_assertions.rbs +2 -2
  52. data/src/ast.c +17 -1
  53. data/src/lexer.c +1562 -1560
  54. data/src/lexer.re +50 -18
  55. data/src/lexstate.c +2 -1
  56. data/src/parser.c +130 -70
  57. data/src/serialize.c +20 -13
  58. data/src/util/rbs_encoding.c +195 -49
  59. data/wasm/README.md +20 -4
  60. data/wasm/rbs_wasm.c +93 -37
  61. metadata +4 -2
data/src/ast.c CHANGED
@@ -143,6 +143,8 @@ const char *RBS_NONNULL rbs_node_type_name(rbs_node_t *RBS_NONNULL node) {
143
143
  return "RBS::Types::ClassSingleton";
144
144
  case RBS_TYPES_FUNCTION:
145
145
  return "RBS::Types::Function";
146
+ case RBS_TYPES_FUNCTION_FORWARDING_PARAM:
147
+ return "RBS::Types::Function::ForwardingParam";
146
148
  case RBS_TYPES_FUNCTION_PARAM:
147
149
  return "RBS::Types::Function::Param";
148
150
  case RBS_TYPES_INTERFACE:
@@ -1430,7 +1432,7 @@ rbs_types_class_singleton_t *RBS_NONNULL rbs_types_class_singleton_new(rbs_alloc
1430
1432
  return instance;
1431
1433
  }
1432
1434
  #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) {
1435
+ 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_NULLABLE forwarding, rbs_node_t *RBS_NONNULL return_type) {
1434
1436
  rbs_types_function_t *instance = rbs_allocator_alloc(allocator, rbs_types_function_t);
1435
1437
 
1436
1438
  *instance = (rbs_types_function_t) {
@@ -1445,12 +1447,26 @@ rbs_types_function_t *RBS_NONNULL rbs_types_function_new(rbs_allocator_t *RBS_NO
1445
1447
  .required_keywords = required_keywords,
1446
1448
  .optional_keywords = optional_keywords,
1447
1449
  .rest_keywords = rest_keywords,
1450
+ .forwarding = forwarding,
1448
1451
  .return_type = return_type,
1449
1452
  };
1450
1453
 
1451
1454
  return instance;
1452
1455
  }
1453
1456
  #line 140 "templates/src/ast.c.erb"
1457
+ rbs_types_function_forwarding_param_t *RBS_NONNULL rbs_types_function_forwarding_param_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location) {
1458
+ rbs_types_function_forwarding_param_t *instance = rbs_allocator_alloc(allocator, rbs_types_function_forwarding_param_t);
1459
+
1460
+ *instance = (rbs_types_function_forwarding_param_t) {
1461
+ .base = (rbs_node_t) {
1462
+ .type = RBS_TYPES_FUNCTION_FORWARDING_PARAM,
1463
+ .location = location,
1464
+ },
1465
+ };
1466
+
1467
+ return instance;
1468
+ }
1469
+ #line 140 "templates/src/ast.c.erb"
1454
1470
  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) {
1455
1471
  rbs_types_function_param_t *instance = rbs_allocator_alloc(allocator, rbs_types_function_param_t);
1456
1472