rbs 4.1.3-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 (59) 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 +27 -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 +2 -2
  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/version.rb +1 -1
  41. data/lib/rbs/wasm/parser.rb +62 -25
  42. data/lib/rbs/wasm/rbs_parser.wasm +0 -0
  43. data/lib/rbs/wasm/runtime.rb +19 -4
  44. data/lib/rbs/wasm/serialization_schema.rb +3 -2
  45. data/schema/function.json +12 -1
  46. data/sig/environment/class_entry.rbs +6 -0
  47. data/sig/environment/module_entry.rbs +15 -0
  48. data/sig/parser.rbs +4 -4
  49. data/sig/types.rbs +11 -1
  50. data/src/ast.c +17 -1
  51. data/src/lexer.c +1562 -1560
  52. data/src/lexer.re +50 -18
  53. data/src/lexstate.c +2 -1
  54. data/src/parser.c +130 -70
  55. data/src/serialize.c +20 -13
  56. data/src/util/rbs_encoding.c +195 -49
  57. data/wasm/README.md +20 -4
  58. data/wasm/rbs_wasm.c +93 -37
  59. metadata +3 -1
data/src/serialize.c CHANGED
@@ -132,7 +132,7 @@ static void w_hash(rbs_serialize_state *state, rbs_hash_t *hash) {
132
132
  // The node tag written ahead of every node. Tag 0 is reserved for NULL, tags
133
133
  // 1..N are the nodes below (in the same order the Ruby schema is generated),
134
134
  // and the final tag is `rbs_ast_symbol`, which is not a config.yml node.
135
- #define RBS_SERIALIZE_TAG_SYMBOL 78
135
+ #define RBS_SERIALIZE_TAG_SYMBOL 79
136
136
 
137
137
  static void serialize_node(rbs_serialize_state *state, rbs_node_t *instance) {
138
138
  if (instance == NULL) {
@@ -830,11 +830,18 @@ static void serialize_node(rbs_serialize_state *state, rbs_node_t *instance) {
830
830
  w_hash(state, node->required_keywords);
831
831
  w_hash(state, node->optional_keywords);
832
832
  serialize_node(state, (rbs_node_t *) node->rest_keywords);
833
+ serialize_node(state, (rbs_node_t *) node->forwarding);
833
834
  serialize_node(state, (rbs_node_t *) node->return_type);
834
835
  return;
835
836
  }
836
- case RBS_TYPES_FUNCTION_PARAM: {
837
+ case RBS_TYPES_FUNCTION_FORWARDING_PARAM: {
837
838
  w_u8(state, 66);
839
+ rbs_types_function_forwarding_param_t *node = (rbs_types_function_forwarding_param_t *) instance;
840
+ w_loc_range(state, node->base.location);
841
+ return;
842
+ }
843
+ case RBS_TYPES_FUNCTION_PARAM: {
844
+ w_u8(state, 67);
838
845
  rbs_types_function_param_t *node = (rbs_types_function_param_t *) instance;
839
846
  w_loc_range(state, node->base.location);
840
847
  w_loc_range(state, node->name_range);
@@ -843,7 +850,7 @@ static void serialize_node(rbs_serialize_state *state, rbs_node_t *instance) {
843
850
  return;
844
851
  }
845
852
  case RBS_TYPES_INTERFACE: {
846
- w_u8(state, 67);
853
+ w_u8(state, 68);
847
854
  rbs_types_interface_t *node = (rbs_types_interface_t *) instance;
848
855
  w_loc_range(state, node->base.location);
849
856
  w_loc_range(state, node->name_range);
@@ -853,28 +860,28 @@ static void serialize_node(rbs_serialize_state *state, rbs_node_t *instance) {
853
860
  return;
854
861
  }
855
862
  case RBS_TYPES_INTERSECTION: {
856
- w_u8(state, 68);
863
+ w_u8(state, 69);
857
864
  rbs_types_intersection_t *node = (rbs_types_intersection_t *) instance;
858
865
  w_loc_range(state, node->base.location);
859
866
  w_node_list(state, node->types);
860
867
  return;
861
868
  }
862
869
  case RBS_TYPES_LITERAL: {
863
- w_u8(state, 69);
870
+ w_u8(state, 70);
864
871
  rbs_types_literal_t *node = (rbs_types_literal_t *) instance;
865
872
  w_loc_range(state, node->base.location);
866
873
  serialize_node(state, (rbs_node_t *) node->literal);
867
874
  return;
868
875
  }
869
876
  case RBS_TYPES_OPTIONAL: {
870
- w_u8(state, 70);
877
+ w_u8(state, 71);
871
878
  rbs_types_optional_t *node = (rbs_types_optional_t *) instance;
872
879
  w_loc_range(state, node->base.location);
873
880
  serialize_node(state, (rbs_node_t *) node->type);
874
881
  return;
875
882
  }
876
883
  case RBS_TYPES_PROC: {
877
- w_u8(state, 71);
884
+ w_u8(state, 72);
878
885
  rbs_types_proc_t *node = (rbs_types_proc_t *) instance;
879
886
  w_loc_range(state, node->base.location);
880
887
  serialize_node(state, (rbs_node_t *) node->type);
@@ -883,41 +890,41 @@ static void serialize_node(rbs_serialize_state *state, rbs_node_t *instance) {
883
890
  return;
884
891
  }
885
892
  case RBS_TYPES_RECORD: {
886
- w_u8(state, 72);
893
+ w_u8(state, 73);
887
894
  rbs_types_record_t *node = (rbs_types_record_t *) instance;
888
895
  w_loc_range(state, node->base.location);
889
896
  w_hash(state, node->all_fields);
890
897
  return;
891
898
  }
892
899
  case RBS_TYPES_RECORD_FIELD_TYPE: {
893
- w_u8(state, 73);
900
+ w_u8(state, 74);
894
901
  rbs_types_record_field_type_t *node = (rbs_types_record_field_type_t *) instance;
895
902
  serialize_node(state, node->type);
896
903
  w_u8(state, node->required ? 1 : 0);
897
904
  return;
898
905
  }
899
906
  case RBS_TYPES_TUPLE: {
900
- w_u8(state, 74);
907
+ w_u8(state, 75);
901
908
  rbs_types_tuple_t *node = (rbs_types_tuple_t *) instance;
902
909
  w_loc_range(state, node->base.location);
903
910
  w_node_list(state, node->types);
904
911
  return;
905
912
  }
906
913
  case RBS_TYPES_UNION: {
907
- w_u8(state, 75);
914
+ w_u8(state, 76);
908
915
  rbs_types_union_t *node = (rbs_types_union_t *) instance;
909
916
  w_loc_range(state, node->base.location);
910
917
  w_node_list(state, node->types);
911
918
  return;
912
919
  }
913
920
  case RBS_TYPES_UNTYPED_FUNCTION: {
914
- w_u8(state, 76);
921
+ w_u8(state, 77);
915
922
  rbs_types_untyped_function_t *node = (rbs_types_untyped_function_t *) instance;
916
923
  serialize_node(state, (rbs_node_t *) node->return_type);
917
924
  return;
918
925
  }
919
926
  case RBS_TYPES_VARIABLE: {
920
- w_u8(state, 77);
927
+ w_u8(state, 78);
921
928
  rbs_types_variable_t *node = (rbs_types_variable_t *) instance;
922
929
  w_loc_range(state, node->base.location);
923
930
  serialize_node(state, (rbs_node_t *) node->name);
@@ -5,7 +5,7 @@
5
5
 
6
6
  typedef uint32_t rbs_unicode_codepoint_t;
7
7
 
8
- #define UNICODE_ALPHA_CODEPOINTS_LENGTH 1450
8
+ #define UNICODE_ALPHA_CODEPOINTS_LENGTH 1508
9
9
  static const rbs_unicode_codepoint_t unicode_alpha_codepoints[UNICODE_ALPHA_CODEPOINTS_LENGTH] = {
10
10
  0x100,
11
11
  0x2C1,
@@ -19,7 +19,7 @@ static const rbs_unicode_codepoint_t unicode_alpha_codepoints[UNICODE_ALPHA_CODE
19
19
  0x2EE,
20
20
  0x345,
21
21
  0x345,
22
- 0x370,
22
+ 0x363,
23
23
  0x374,
24
24
  0x376,
25
25
  0x377,
@@ -100,7 +100,9 @@ static const rbs_unicode_codepoint_t unicode_alpha_codepoints[UNICODE_ALPHA_CODE
100
100
  0x870,
101
101
  0x887,
102
102
  0x889,
103
- 0x88E,
103
+ 0x88F,
104
+ 0x897,
105
+ 0x897,
104
106
  0x8A0,
105
107
  0x8C9,
106
108
  0x8D4,
@@ -279,7 +281,7 @@ static const rbs_unicode_codepoint_t unicode_alpha_codepoints[UNICODE_ALPHA_CODE
279
281
  0xC56,
280
282
  0xC58,
281
283
  0xC5A,
282
- 0xC5D,
284
+ 0xC5C,
283
285
  0xC5D,
284
286
  0xC60,
285
287
  0xC63,
@@ -303,7 +305,7 @@ static const rbs_unicode_codepoint_t unicode_alpha_codepoints[UNICODE_ALPHA_CODE
303
305
  0xCCC,
304
306
  0xCD5,
305
307
  0xCD6,
306
- 0xCDD,
308
+ 0xCDC,
307
309
  0xCDE,
308
310
  0xCE0,
309
311
  0xCE3,
@@ -528,7 +530,7 @@ static const rbs_unicode_codepoint_t unicode_alpha_codepoints[UNICODE_ALPHA_CODE
528
530
  0x1C5A,
529
531
  0x1C7D,
530
532
  0x1C80,
531
- 0x1C88,
533
+ 0x1C8A,
532
534
  0x1C90,
533
535
  0x1CBA,
534
536
  0x1CBD,
@@ -543,7 +545,7 @@ static const rbs_unicode_codepoint_t unicode_alpha_codepoints[UNICODE_ALPHA_CODE
543
545
  0x1CFA,
544
546
  0x1D00,
545
547
  0x1DBF,
546
- 0x1DE7,
548
+ 0x1DD3,
547
549
  0x1DF4,
548
550
  0x1E00,
549
551
  0x1F15,
@@ -704,14 +706,8 @@ static const rbs_unicode_codepoint_t unicode_alpha_codepoints[UNICODE_ALPHA_CODE
704
706
  0xA722,
705
707
  0xA788,
706
708
  0xA78B,
707
- 0xA7CA,
708
- 0xA7D0,
709
- 0xA7D1,
710
- 0xA7D3,
711
- 0xA7D3,
712
- 0xA7D5,
713
- 0xA7D9,
714
- 0xA7F2,
709
+ 0xA7DC,
710
+ 0xA7F1,
715
711
  0xA805,
716
712
  0xA807,
717
713
  0xA827,
@@ -891,6 +887,8 @@ static const rbs_unicode_codepoint_t unicode_alpha_codepoints[UNICODE_ALPHA_CODE
891
887
  0x105B9,
892
888
  0x105BB,
893
889
  0x105BC,
890
+ 0x105C0,
891
+ 0x105F3,
894
892
  0x10600,
895
893
  0x10736,
896
894
  0x10740,
@@ -927,6 +925,8 @@ static const rbs_unicode_codepoint_t unicode_alpha_codepoints[UNICODE_ALPHA_CODE
927
925
  0x10915,
928
926
  0x10920,
929
927
  0x10939,
928
+ 0x10940,
929
+ 0x10959,
930
930
  0x10980,
931
931
  0x109B7,
932
932
  0x109BE,
@@ -965,12 +965,22 @@ static const rbs_unicode_codepoint_t unicode_alpha_codepoints[UNICODE_ALPHA_CODE
965
965
  0x10CF2,
966
966
  0x10D00,
967
967
  0x10D27,
968
+ 0x10D4A,
969
+ 0x10D65,
970
+ 0x10D69,
971
+ 0x10D69,
972
+ 0x10D6F,
973
+ 0x10D85,
968
974
  0x10E80,
969
975
  0x10EA9,
970
976
  0x10EAB,
971
977
  0x10EAC,
972
978
  0x10EB0,
973
979
  0x10EB1,
980
+ 0x10EC2,
981
+ 0x10EC7,
982
+ 0x10EFA,
983
+ 0x10EFC,
974
984
  0x10F00,
975
985
  0x10F1C,
976
986
  0x10F27,
@@ -1057,6 +1067,28 @@ static const rbs_unicode_codepoint_t unicode_alpha_codepoints[UNICODE_ALPHA_CODE
1057
1067
  0x11357,
1058
1068
  0x1135D,
1059
1069
  0x11363,
1070
+ 0x11380,
1071
+ 0x11389,
1072
+ 0x1138B,
1073
+ 0x1138B,
1074
+ 0x1138E,
1075
+ 0x1138E,
1076
+ 0x11390,
1077
+ 0x113B5,
1078
+ 0x113B7,
1079
+ 0x113C0,
1080
+ 0x113C2,
1081
+ 0x113C2,
1082
+ 0x113C5,
1083
+ 0x113C5,
1084
+ 0x113C7,
1085
+ 0x113CA,
1086
+ 0x113CC,
1087
+ 0x113CD,
1088
+ 0x113D1,
1089
+ 0x113D1,
1090
+ 0x113D3,
1091
+ 0x113D3,
1060
1092
  0x11400,
1061
1093
  0x11441,
1062
1094
  0x11443,
@@ -1133,6 +1165,10 @@ static const rbs_unicode_codepoint_t unicode_alpha_codepoints[UNICODE_ALPHA_CODE
1133
1165
  0x11A9D,
1134
1166
  0x11AB0,
1135
1167
  0x11AF8,
1168
+ 0x11B60,
1169
+ 0x11B67,
1170
+ 0x11BC0,
1171
+ 0x11BE0,
1136
1172
  0x11C00,
1137
1173
  0x11C08,
1138
1174
  0x11C0A,
@@ -1175,6 +1211,8 @@ static const rbs_unicode_codepoint_t unicode_alpha_codepoints[UNICODE_ALPHA_CODE
1175
1211
  0x11D96,
1176
1212
  0x11D98,
1177
1213
  0x11D98,
1214
+ 0x11DB0,
1215
+ 0x11DDB,
1178
1216
  0x11EE0,
1179
1217
  0x11EF6,
1180
1218
  0x11F00,
@@ -1197,8 +1235,12 @@ static const rbs_unicode_codepoint_t unicode_alpha_codepoints[UNICODE_ALPHA_CODE
1197
1235
  0x1342F,
1198
1236
  0x13441,
1199
1237
  0x13446,
1238
+ 0x13460,
1239
+ 0x143FA,
1200
1240
  0x14400,
1201
1241
  0x14646,
1242
+ 0x16100,
1243
+ 0x1612E,
1202
1244
  0x16800,
1203
1245
  0x16A38,
1204
1246
  0x16A40,
@@ -1215,8 +1257,14 @@ static const rbs_unicode_codepoint_t unicode_alpha_codepoints[UNICODE_ALPHA_CODE
1215
1257
  0x16B77,
1216
1258
  0x16B7D,
1217
1259
  0x16B8F,
1260
+ 0x16D40,
1261
+ 0x16D6C,
1218
1262
  0x16E40,
1219
1263
  0x16E7F,
1264
+ 0x16EA0,
1265
+ 0x16EB8,
1266
+ 0x16EBB,
1267
+ 0x16ED3,
1220
1268
  0x16F00,
1221
1269
  0x16F4A,
1222
1270
  0x16F4F,
@@ -1228,13 +1276,13 @@ static const rbs_unicode_codepoint_t unicode_alpha_codepoints[UNICODE_ALPHA_CODE
1228
1276
  0x16FE3,
1229
1277
  0x16FE3,
1230
1278
  0x16FF0,
1231
- 0x16FF1,
1279
+ 0x16FF6,
1232
1280
  0x17000,
1233
- 0x187F7,
1234
- 0x18800,
1235
1281
  0x18CD5,
1236
- 0x18D00,
1237
- 0x18D08,
1282
+ 0x18CFF,
1283
+ 0x18D1E,
1284
+ 0x18D80,
1285
+ 0x18DF2,
1238
1286
  0x1AFF0,
1239
1287
  0x1AFF3,
1240
1288
  0x1AFF5,
@@ -1353,6 +1401,16 @@ static const rbs_unicode_codepoint_t unicode_alpha_codepoints[UNICODE_ALPHA_CODE
1353
1401
  0x1E2EB,
1354
1402
  0x1E4D0,
1355
1403
  0x1E4EB,
1404
+ 0x1E5D0,
1405
+ 0x1E5ED,
1406
+ 0x1E5F0,
1407
+ 0x1E5F0,
1408
+ 0x1E6C0,
1409
+ 0x1E6DE,
1410
+ 0x1E6E0,
1411
+ 0x1E6F5,
1412
+ 0x1E6FE,
1413
+ 0x1E6FF,
1356
1414
  0x1E7E0,
1357
1415
  0x1E7E6,
1358
1416
  0x1E7E8,
@@ -1444,22 +1502,22 @@ static const rbs_unicode_codepoint_t unicode_alpha_codepoints[UNICODE_ALPHA_CODE
1444
1502
  0x20000,
1445
1503
  0x2A6DF,
1446
1504
  0x2A700,
1447
- 0x2B739,
1448
- 0x2B740,
1449
1505
  0x2B81D,
1450
1506
  0x2B820,
1451
- 0x2CEA1,
1507
+ 0x2CEAD,
1452
1508
  0x2CEB0,
1453
1509
  0x2EBE0,
1510
+ 0x2EBF0,
1511
+ 0x2EE5D,
1454
1512
  0x2F800,
1455
1513
  0x2FA1D,
1456
1514
  0x30000,
1457
1515
  0x3134A,
1458
1516
  0x31350,
1459
- 0x323AF,
1517
+ 0x33479,
1460
1518
  };
1461
1519
 
1462
- #define UNICODE_ALNUM_CODEPOINTS_LENGTH 1528
1520
+ #define UNICODE_ALNUM_CODEPOINTS_LENGTH 1598
1463
1521
  static const rbs_unicode_codepoint_t unicode_alnum_codepoints[UNICODE_ALNUM_CODEPOINTS_LENGTH] = {
1464
1522
  0x100,
1465
1523
  0x2C1,
@@ -1473,7 +1531,7 @@ static const rbs_unicode_codepoint_t unicode_alnum_codepoints[UNICODE_ALNUM_CODE
1473
1531
  0x2EE,
1474
1532
  0x345,
1475
1533
  0x345,
1476
- 0x370,
1534
+ 0x363,
1477
1535
  0x374,
1478
1536
  0x376,
1479
1537
  0x377,
@@ -1552,7 +1610,9 @@ static const rbs_unicode_codepoint_t unicode_alnum_codepoints[UNICODE_ALNUM_CODE
1552
1610
  0x870,
1553
1611
  0x887,
1554
1612
  0x889,
1555
- 0x88E,
1613
+ 0x88F,
1614
+ 0x897,
1615
+ 0x897,
1556
1616
  0x8A0,
1557
1617
  0x8C9,
1558
1618
  0x8D4,
@@ -1739,7 +1799,7 @@ static const rbs_unicode_codepoint_t unicode_alnum_codepoints[UNICODE_ALNUM_CODE
1739
1799
  0xC56,
1740
1800
  0xC58,
1741
1801
  0xC5A,
1742
- 0xC5D,
1802
+ 0xC5C,
1743
1803
  0xC5D,
1744
1804
  0xC60,
1745
1805
  0xC63,
@@ -1765,7 +1825,7 @@ static const rbs_unicode_codepoint_t unicode_alnum_codepoints[UNICODE_ALNUM_CODE
1765
1825
  0xCCC,
1766
1826
  0xCD5,
1767
1827
  0xCD6,
1768
- 0xCDD,
1828
+ 0xCDC,
1769
1829
  0xCDE,
1770
1830
  0xCE0,
1771
1831
  0xCE3,
@@ -2010,7 +2070,7 @@ static const rbs_unicode_codepoint_t unicode_alnum_codepoints[UNICODE_ALNUM_CODE
2010
2070
  0x1C4D,
2011
2071
  0x1C7D,
2012
2072
  0x1C80,
2013
- 0x1C88,
2073
+ 0x1C8A,
2014
2074
  0x1C90,
2015
2075
  0x1CBA,
2016
2076
  0x1CBD,
@@ -2025,7 +2085,7 @@ static const rbs_unicode_codepoint_t unicode_alnum_codepoints[UNICODE_ALNUM_CODE
2025
2085
  0x1CFA,
2026
2086
  0x1D00,
2027
2087
  0x1DBF,
2028
- 0x1DE7,
2088
+ 0x1DD3,
2029
2089
  0x1DF4,
2030
2090
  0x1E00,
2031
2091
  0x1F15,
@@ -2184,14 +2244,8 @@ static const rbs_unicode_codepoint_t unicode_alnum_codepoints[UNICODE_ALNUM_CODE
2184
2244
  0xA722,
2185
2245
  0xA788,
2186
2246
  0xA78B,
2187
- 0xA7CA,
2188
- 0xA7D0,
2189
- 0xA7D1,
2190
- 0xA7D3,
2191
- 0xA7D3,
2192
- 0xA7D5,
2193
- 0xA7D9,
2194
- 0xA7F2,
2247
+ 0xA7DC,
2248
+ 0xA7F1,
2195
2249
  0xA805,
2196
2250
  0xA807,
2197
2251
  0xA827,
@@ -2377,6 +2431,8 @@ static const rbs_unicode_codepoint_t unicode_alnum_codepoints[UNICODE_ALNUM_CODE
2377
2431
  0x105B9,
2378
2432
  0x105BB,
2379
2433
  0x105BC,
2434
+ 0x105C0,
2435
+ 0x105F3,
2380
2436
  0x10600,
2381
2437
  0x10736,
2382
2438
  0x10740,
@@ -2413,6 +2469,8 @@ static const rbs_unicode_codepoint_t unicode_alnum_codepoints[UNICODE_ALNUM_CODE
2413
2469
  0x10915,
2414
2470
  0x10920,
2415
2471
  0x10939,
2472
+ 0x10940,
2473
+ 0x10959,
2416
2474
  0x10980,
2417
2475
  0x109B7,
2418
2476
  0x109BE,
@@ -2453,12 +2511,22 @@ static const rbs_unicode_codepoint_t unicode_alnum_codepoints[UNICODE_ALNUM_CODE
2453
2511
  0x10D27,
2454
2512
  0x10D30,
2455
2513
  0x10D39,
2514
+ 0x10D40,
2515
+ 0x10D65,
2516
+ 0x10D69,
2517
+ 0x10D69,
2518
+ 0x10D6F,
2519
+ 0x10D85,
2456
2520
  0x10E80,
2457
2521
  0x10EA9,
2458
2522
  0x10EAB,
2459
2523
  0x10EAC,
2460
2524
  0x10EB0,
2461
2525
  0x10EB1,
2526
+ 0x10EC2,
2527
+ 0x10EC7,
2528
+ 0x10EFA,
2529
+ 0x10EFC,
2462
2530
  0x10F00,
2463
2531
  0x10F1C,
2464
2532
  0x10F27,
@@ -2551,6 +2619,28 @@ static const rbs_unicode_codepoint_t unicode_alnum_codepoints[UNICODE_ALNUM_CODE
2551
2619
  0x11357,
2552
2620
  0x1135D,
2553
2621
  0x11363,
2622
+ 0x11380,
2623
+ 0x11389,
2624
+ 0x1138B,
2625
+ 0x1138B,
2626
+ 0x1138E,
2627
+ 0x1138E,
2628
+ 0x11390,
2629
+ 0x113B5,
2630
+ 0x113B7,
2631
+ 0x113C0,
2632
+ 0x113C2,
2633
+ 0x113C2,
2634
+ 0x113C5,
2635
+ 0x113C5,
2636
+ 0x113C7,
2637
+ 0x113CA,
2638
+ 0x113CC,
2639
+ 0x113CD,
2640
+ 0x113D1,
2641
+ 0x113D1,
2642
+ 0x113D3,
2643
+ 0x113D3,
2554
2644
  0x11400,
2555
2645
  0x11441,
2556
2646
  0x11443,
@@ -2589,6 +2679,8 @@ static const rbs_unicode_codepoint_t unicode_alnum_codepoints[UNICODE_ALNUM_CODE
2589
2679
  0x116B8,
2590
2680
  0x116C0,
2591
2681
  0x116C9,
2682
+ 0x116D0,
2683
+ 0x116E3,
2592
2684
  0x11700,
2593
2685
  0x1171A,
2594
2686
  0x1171D,
@@ -2639,6 +2731,12 @@ static const rbs_unicode_codepoint_t unicode_alnum_codepoints[UNICODE_ALNUM_CODE
2639
2731
  0x11A9D,
2640
2732
  0x11AB0,
2641
2733
  0x11AF8,
2734
+ 0x11B60,
2735
+ 0x11B67,
2736
+ 0x11BC0,
2737
+ 0x11BE0,
2738
+ 0x11BF0,
2739
+ 0x11BF9,
2642
2740
  0x11C00,
2643
2741
  0x11C08,
2644
2742
  0x11C0A,
@@ -2687,6 +2785,10 @@ static const rbs_unicode_codepoint_t unicode_alnum_codepoints[UNICODE_ALNUM_CODE
2687
2785
  0x11D98,
2688
2786
  0x11DA0,
2689
2787
  0x11DA9,
2788
+ 0x11DB0,
2789
+ 0x11DDB,
2790
+ 0x11DE0,
2791
+ 0x11DE9,
2690
2792
  0x11EE0,
2691
2793
  0x11EF6,
2692
2794
  0x11F00,
@@ -2711,8 +2813,14 @@ static const rbs_unicode_codepoint_t unicode_alnum_codepoints[UNICODE_ALNUM_CODE
2711
2813
  0x1342F,
2712
2814
  0x13441,
2713
2815
  0x13446,
2816
+ 0x13460,
2817
+ 0x143FA,
2714
2818
  0x14400,
2715
2819
  0x14646,
2820
+ 0x16100,
2821
+ 0x1612E,
2822
+ 0x16130,
2823
+ 0x16139,
2716
2824
  0x16800,
2717
2825
  0x16A38,
2718
2826
  0x16A40,
@@ -2735,8 +2843,16 @@ static const rbs_unicode_codepoint_t unicode_alnum_codepoints[UNICODE_ALNUM_CODE
2735
2843
  0x16B77,
2736
2844
  0x16B7D,
2737
2845
  0x16B8F,
2846
+ 0x16D40,
2847
+ 0x16D6C,
2848
+ 0x16D70,
2849
+ 0x16D79,
2738
2850
  0x16E40,
2739
2851
  0x16E7F,
2852
+ 0x16EA0,
2853
+ 0x16EB8,
2854
+ 0x16EBB,
2855
+ 0x16ED3,
2740
2856
  0x16F00,
2741
2857
  0x16F4A,
2742
2858
  0x16F4F,
@@ -2748,13 +2864,13 @@ static const rbs_unicode_codepoint_t unicode_alnum_codepoints[UNICODE_ALNUM_CODE
2748
2864
  0x16FE3,
2749
2865
  0x16FE3,
2750
2866
  0x16FF0,
2751
- 0x16FF1,
2867
+ 0x16FF6,
2752
2868
  0x17000,
2753
- 0x187F7,
2754
- 0x18800,
2755
2869
  0x18CD5,
2756
- 0x18D00,
2757
- 0x18D08,
2870
+ 0x18CFF,
2871
+ 0x18D1E,
2872
+ 0x18D80,
2873
+ 0x18DF2,
2758
2874
  0x1AFF0,
2759
2875
  0x1AFF3,
2760
2876
  0x1AFF5,
@@ -2783,6 +2899,8 @@ static const rbs_unicode_codepoint_t unicode_alnum_codepoints[UNICODE_ALNUM_CODE
2783
2899
  0x1BC99,
2784
2900
  0x1BC9E,
2785
2901
  0x1BC9E,
2902
+ 0x1CCF0,
2903
+ 0x1CCF9,
2786
2904
  0x1D400,
2787
2905
  0x1D454,
2788
2906
  0x1D456,
@@ -2881,6 +2999,16 @@ static const rbs_unicode_codepoint_t unicode_alnum_codepoints[UNICODE_ALNUM_CODE
2881
2999
  0x1E4EB,
2882
3000
  0x1E4F0,
2883
3001
  0x1E4F9,
3002
+ 0x1E5D0,
3003
+ 0x1E5ED,
3004
+ 0x1E5F0,
3005
+ 0x1E5FA,
3006
+ 0x1E6C0,
3007
+ 0x1E6DE,
3008
+ 0x1E6E0,
3009
+ 0x1E6F5,
3010
+ 0x1E6FE,
3011
+ 0x1E6FF,
2884
3012
  0x1E7E0,
2885
3013
  0x1E7E6,
2886
3014
  0x1E7E8,
@@ -2976,22 +3104,22 @@ static const rbs_unicode_codepoint_t unicode_alnum_codepoints[UNICODE_ALNUM_CODE
2976
3104
  0x20000,
2977
3105
  0x2A6DF,
2978
3106
  0x2A700,
2979
- 0x2B739,
2980
- 0x2B740,
2981
3107
  0x2B81D,
2982
3108
  0x2B820,
2983
- 0x2CEA1,
3109
+ 0x2CEAD,
2984
3110
  0x2CEB0,
2985
3111
  0x2EBE0,
3112
+ 0x2EBF0,
3113
+ 0x2EE5D,
2986
3114
  0x2F800,
2987
3115
  0x2FA1D,
2988
3116
  0x30000,
2989
3117
  0x3134A,
2990
3118
  0x31350,
2991
- 0x323AF,
3119
+ 0x33479,
2992
3120
  };
2993
3121
 
2994
- #define UNICODE_ISUPPER_CODEPOINTS_LENGTH 1302
3122
+ #define UNICODE_ISUPPER_CODEPOINTS_LENGTH 1320
2995
3123
  static const rbs_unicode_codepoint_t unicode_isupper_codepoints[UNICODE_ISUPPER_CODEPOINTS_LENGTH] = {
2996
3124
  0x100,
2997
3125
  0x100,
@@ -3539,6 +3667,8 @@ static const rbs_unicode_codepoint_t unicode_isupper_codepoints[UNICODE_ISUPPER_
3539
3667
  0x10CD,
3540
3668
  0x13A0,
3541
3669
  0x13F5,
3670
+ 0x1C89,
3671
+ 0x1C89,
3542
3672
  0x1C90,
3543
3673
  0x1CBA,
3544
3674
  0x1CBD,
@@ -4197,12 +4327,24 @@ static const rbs_unicode_codepoint_t unicode_isupper_codepoints[UNICODE_ISUPPER_
4197
4327
  0xA7C7,
4198
4328
  0xA7C9,
4199
4329
  0xA7C9,
4330
+ 0xA7CB,
4331
+ 0xA7CC,
4332
+ 0xA7CE,
4333
+ 0xA7CE,
4200
4334
  0xA7D0,
4201
4335
  0xA7D0,
4336
+ 0xA7D2,
4337
+ 0xA7D2,
4338
+ 0xA7D4,
4339
+ 0xA7D4,
4202
4340
  0xA7D6,
4203
4341
  0xA7D6,
4204
4342
  0xA7D8,
4205
4343
  0xA7D8,
4344
+ 0xA7DA,
4345
+ 0xA7DA,
4346
+ 0xA7DC,
4347
+ 0xA7DC,
4206
4348
  0xA7F5,
4207
4349
  0xA7F5,
4208
4350
  0xFF21,
@@ -4221,10 +4363,14 @@ static const rbs_unicode_codepoint_t unicode_isupper_codepoints[UNICODE_ISUPPER_
4221
4363
  0x10595,
4222
4364
  0x10C80,
4223
4365
  0x10CB2,
4366
+ 0x10D50,
4367
+ 0x10D65,
4224
4368
  0x118A0,
4225
4369
  0x118BF,
4226
4370
  0x16E40,
4227
4371
  0x16E5F,
4372
+ 0x16EA0,
4373
+ 0x16EB8,
4228
4374
  0x1D400,
4229
4375
  0x1D419,
4230
4376
  0x1D434,