rbs 3.9.2 → 4.0.0.dev.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 (115) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby.yml +1 -1
  3. data/.github/workflows/windows.yml +1 -1
  4. data/CHANGELOG.md +0 -13
  5. data/Rakefile +28 -21
  6. data/Steepfile +1 -0
  7. data/config.yml +232 -62
  8. data/ext/rbs_extension/ast_translation.c +1149 -0
  9. data/ext/rbs_extension/ast_translation.h +30 -0
  10. data/{src/constants.c → ext/rbs_extension/class_constants.c} +15 -1
  11. data/{include/rbs/constants.h → ext/rbs_extension/class_constants.h} +10 -1
  12. data/ext/rbs_extension/extconf.rb +3 -1
  13. data/ext/rbs_extension/{location.c → legacy_location.c} +25 -34
  14. data/ext/rbs_extension/legacy_location.h +40 -0
  15. data/ext/rbs_extension/main.c +402 -8
  16. data/ext/rbs_extension/rbs_extension.h +3 -21
  17. data/ext/rbs_extension/rbs_string_bridging.c +9 -0
  18. data/ext/rbs_extension/rbs_string_bridging.h +20 -0
  19. data/include/rbs/ast.h +748 -0
  20. data/include/rbs/defines.h +60 -0
  21. data/{ext/rbs_extension → include/rbs}/lexer.h +40 -32
  22. data/include/rbs/location.h +59 -0
  23. data/include/rbs/parser.h +151 -0
  24. data/include/rbs/string.h +49 -0
  25. data/include/rbs/util/rbs_allocator.h +38 -0
  26. data/include/rbs/util/rbs_assert.h +9 -0
  27. data/include/rbs/util/rbs_buffer.h +83 -0
  28. data/include/rbs/util/rbs_constant_pool.h +3 -64
  29. data/include/rbs/util/rbs_encoding.h +280 -0
  30. data/include/rbs/util/rbs_unescape.h +23 -0
  31. data/include/rbs.h +1 -2
  32. data/lib/rbs/annotate/formatter.rb +3 -13
  33. data/lib/rbs/annotate/rdoc_annotator.rb +3 -1
  34. data/lib/rbs/annotate/rdoc_source.rb +1 -1
  35. data/lib/rbs/ast/ruby/annotations.rb +119 -0
  36. data/lib/rbs/ast/ruby/comment_block.rb +221 -0
  37. data/lib/rbs/ast/ruby/declarations.rb +86 -0
  38. data/lib/rbs/ast/ruby/helpers/constant_helper.rb +24 -0
  39. data/lib/rbs/ast/ruby/helpers/location_helper.rb +15 -0
  40. data/lib/rbs/ast/ruby/members.rb +213 -0
  41. data/lib/rbs/buffer.rb +104 -24
  42. data/lib/rbs/cli/validate.rb +39 -34
  43. data/lib/rbs/cli.rb +4 -5
  44. data/lib/rbs/definition.rb +6 -1
  45. data/lib/rbs/definition_builder/ancestor_builder.rb +63 -60
  46. data/lib/rbs/definition_builder/method_builder.rb +45 -30
  47. data/lib/rbs/definition_builder.rb +44 -9
  48. data/lib/rbs/environment/class_entry.rb +69 -0
  49. data/lib/rbs/environment/module_entry.rb +66 -0
  50. data/lib/rbs/environment.rb +185 -154
  51. data/lib/rbs/environment_loader.rb +2 -2
  52. data/lib/rbs/errors.rb +4 -3
  53. data/lib/rbs/inline_parser/comment_association.rb +117 -0
  54. data/lib/rbs/inline_parser.rb +206 -0
  55. data/lib/rbs/location_aux.rb +35 -3
  56. data/lib/rbs/parser_aux.rb +11 -1
  57. data/lib/rbs/prototype/runtime.rb +2 -2
  58. data/lib/rbs/source.rb +99 -0
  59. data/lib/rbs/subtractor.rb +4 -3
  60. data/lib/rbs/version.rb +1 -1
  61. data/lib/rbs.rb +12 -0
  62. data/lib/rdoc/discover.rb +1 -1
  63. data/lib/rdoc_plugin/parser.rb +2 -2
  64. data/rbs.gemspec +1 -0
  65. data/sig/ancestor_builder.rbs +1 -1
  66. data/sig/annotate/formatter.rbs +2 -2
  67. data/sig/annotate/rdoc_annotater.rbs +1 -1
  68. data/sig/ast/ruby/annotations.rbs +110 -0
  69. data/sig/ast/ruby/comment_block.rbs +119 -0
  70. data/sig/ast/ruby/declarations.rbs +60 -0
  71. data/sig/ast/ruby/helpers/constant_helper.rbs +11 -0
  72. data/sig/ast/ruby/helpers/location_helper.rbs +15 -0
  73. data/sig/ast/ruby/members.rbs +72 -0
  74. data/sig/buffer.rbs +63 -5
  75. data/sig/definition.rbs +1 -0
  76. data/sig/definition_builder.rbs +1 -1
  77. data/sig/environment/class_entry.rbs +50 -0
  78. data/sig/environment/module_entry.rbs +50 -0
  79. data/sig/environment.rbs +22 -76
  80. data/sig/errors.rbs +13 -6
  81. data/sig/inline_parser/comment_association.rbs +71 -0
  82. data/sig/inline_parser.rbs +87 -0
  83. data/sig/location.rbs +32 -7
  84. data/sig/method_builder.rbs +7 -4
  85. data/sig/parser.rbs +16 -0
  86. data/sig/source.rbs +48 -0
  87. data/src/ast.c +1345 -0
  88. data/src/lexer.c +2867 -0
  89. data/src/lexer.re +151 -0
  90. data/{ext/rbs_extension → src}/lexstate.c +58 -42
  91. data/src/location.c +71 -0
  92. data/src/parser.c +3739 -0
  93. data/src/string.c +89 -0
  94. data/src/util/rbs_allocator.c +149 -0
  95. data/src/util/rbs_assert.c +19 -0
  96. data/src/util/rbs_buffer.c +54 -0
  97. data/src/util/rbs_constant_pool.c +13 -81
  98. data/src/util/rbs_encoding.c +5273 -0
  99. data/src/util/rbs_unescape.c +130 -0
  100. data/stdlib/rdoc/0/code_object.rbs +2 -2
  101. data/stdlib/rdoc/0/comment.rbs +2 -0
  102. data/stdlib/rdoc/0/options.rbs +76 -0
  103. data/stdlib/rdoc/0/rdoc.rbs +6 -4
  104. data/stdlib/rdoc/0/store.rbs +1 -1
  105. metadata +70 -17
  106. data/ext/rbs_extension/lexer.c +0 -2728
  107. data/ext/rbs_extension/lexer.re +0 -147
  108. data/ext/rbs_extension/location.h +0 -85
  109. data/ext/rbs_extension/parser.c +0 -2982
  110. data/ext/rbs_extension/parser.h +0 -18
  111. data/ext/rbs_extension/parserstate.c +0 -411
  112. data/ext/rbs_extension/parserstate.h +0 -163
  113. data/ext/rbs_extension/unescape.c +0 -32
  114. data/include/rbs/ruby_objs.h +0 -72
  115. data/src/ruby_objs.c +0 -799
@@ -0,0 +1,130 @@
1
+ #include "rbs/util/rbs_unescape.h"
2
+ #include <string.h>
3
+ #include <stdlib.h>
4
+ #include <ctype.h>
5
+
6
+ // Define the escape character mappings
7
+ // TODO: use a switch instead
8
+ static const struct {
9
+ const char* from;
10
+ const char* to;
11
+ } TABLE[] = {
12
+ {"\\a", "\a"},
13
+ {"\\b", "\b"},
14
+ {"\\e", "\033"},
15
+ {"\\f", "\f"},
16
+ {"\\n", "\n"},
17
+ {"\\r", "\r"},
18
+ {"\\s", " "},
19
+ {"\\t", "\t"},
20
+ {"\\v", "\v"},
21
+ {"\\\"", "\""},
22
+ {"\\'", "'"},
23
+ {"\\\\", "\\"},
24
+ {"\\", ""}
25
+ };
26
+
27
+ // Helper function to convert hex string to integer
28
+ static int hex_to_int(const char* hex, int length) {
29
+ int result = 0;
30
+ for (int i = 0; i < length; i++) {
31
+ result = result * 16 + (isdigit(hex[i]) ? hex[i] - '0' : tolower(hex[i]) - 'a' + 10);
32
+ }
33
+ return result;
34
+ }
35
+
36
+ // Helper function to convert octal string to integer
37
+ static int octal_to_int(const char* octal, int length) {
38
+ int result = 0;
39
+ for (int i = 0; i < length; i++) {
40
+ result = result * 8 + (octal[i] - '0');
41
+ }
42
+ return result;
43
+ }
44
+
45
+ int rbs_utf8_codelen(unsigned int c) {
46
+ if (c <= 0x7F) return 1;
47
+ if (c <= 0x7FF) return 2;
48
+ if (c <= 0xFFFF) return 3;
49
+ if (c <= 0x10FFFF) return 4;
50
+ return 1; // Invalid Unicode codepoint, treat as 1 byte
51
+ }
52
+
53
+ rbs_string_t unescape_string(rbs_allocator_t *allocator, const rbs_string_t string, bool is_double_quote) {
54
+ if (!string.start) return RBS_STRING_NULL;
55
+
56
+ size_t len = string.end - string.start;
57
+ const char* input = string.start;
58
+
59
+ char* output = rbs_allocator_alloc_many(allocator, len + 1, char);
60
+ if (!output) return RBS_STRING_NULL;
61
+
62
+ size_t i = 0, j = 0;
63
+ while (i < len) {
64
+ if (input[i] == '\\' && i + 1 < len) {
65
+ if (is_double_quote) {
66
+ if (isdigit(input[i+1])) {
67
+ // Octal escape
68
+ int octal_len = 1;
69
+ while (octal_len < 3 && i + 1 + octal_len < len && isdigit(input[i + 1 + octal_len])) octal_len++;
70
+ int value = octal_to_int(input + i + 1, octal_len);
71
+ output[j++] = (char)value;
72
+ i += octal_len + 1;
73
+ } else if (input[i+1] == 'x' && i + 3 < len) {
74
+ // Hex escape
75
+ int hex_len = isxdigit(input[i+3]) ? 2 : 1;
76
+ int value = hex_to_int(input + i + 2, hex_len);
77
+ output[j++] = (char)value;
78
+ i += hex_len + 2;
79
+ } else if (input[i+1] == 'u' && i + 5 < len) {
80
+ // Unicode escape
81
+ int value = hex_to_int(input + i + 2, 4);
82
+ output[j++] = (char)value;
83
+ i += 6;
84
+ } else {
85
+ // Other escapes
86
+ int found = 0;
87
+ for (size_t k = 0; k < sizeof(TABLE) / sizeof(TABLE[0]); k++) {
88
+ if (strncmp(input + i, TABLE[k].from, strlen(TABLE[k].from)) == 0) {
89
+ output[j++] = TABLE[k].to[0];
90
+ i += strlen(TABLE[k].from);
91
+ found = 1;
92
+ break;
93
+ }
94
+ }
95
+ if (!found) {
96
+ output[j++] = input[i++];
97
+ }
98
+ }
99
+ } else {
100
+ /* Single quote: only escape ' and \ */
101
+ if (input[i+1] == '\'' || input[i+1] == '\\') {
102
+ output[j++] = input[i+1];
103
+ i += 2;
104
+ } else {
105
+ output[j++] = input[i++];
106
+ }
107
+ }
108
+ } else {
109
+ output[j++] = input[i++];
110
+ }
111
+ }
112
+ output[j] = '\0';
113
+ return rbs_string_new(output, output + j);
114
+ }
115
+
116
+ rbs_string_t rbs_unquote_string(rbs_allocator_t *allocator, rbs_string_t input) {
117
+ unsigned int first_char = rbs_utf8_string_to_codepoint(input);
118
+ size_t byte_length = rbs_string_len(input);
119
+
120
+ ptrdiff_t start_offset = 0;
121
+ if (first_char == '"' || first_char == '\'' || first_char == '`') {
122
+ int bs = rbs_utf8_codelen(first_char);
123
+ start_offset += bs;
124
+ byte_length -= 2 * bs;
125
+ }
126
+
127
+ const char *new_start = input.start + start_offset;
128
+ rbs_string_t string = rbs_string_new(new_start, new_start + byte_length);
129
+ return unescape_string(allocator, string, first_char == '"');
130
+ }
@@ -30,7 +30,7 @@ module RDoc
30
30
  # <!-- rdoc-file=lib/rdoc/code_object.rb -->
31
31
  # Our comment
32
32
  #
33
- attr_reader comment: Markup::Document | Comment | String
33
+ attr_reader comment: Comment | String
34
34
 
35
35
  # <!--
36
36
  # rdoc-file=lib/rdoc/code_object.rb
@@ -46,6 +46,6 @@ module RDoc
46
46
  # -->
47
47
  # Replaces our comment with `comment`, unless it is empty.
48
48
  #
49
- def comment=: (Markup::Document | Comment | String | nil) -> (Markup::Document | Comment | String)
49
+ def comment=: (Comment | String | nil) -> (Comment | String | nil)
50
50
  end
51
51
  end
@@ -20,6 +20,8 @@ module RDoc
20
20
  #
21
21
  attr_accessor location: String
22
22
 
23
+ alias file location
24
+
23
25
  # <!--
24
26
  # rdoc-file=lib/rdoc/comment.rb
25
27
  # - new(text = nil, location = nil, language = nil)
@@ -0,0 +1,76 @@
1
+ %a{annotate:rdoc:skip}
2
+ module RDoc
3
+ # <!-- rdoc-file=lib/rdoc/options.rb -->
4
+ # RDoc::Options handles the parsing and storage of options
5
+ #
6
+ # ## Saved Options
7
+ #
8
+ # You can save some options like the markup format in the `.rdoc_options` file
9
+ # in your gem. The easiest way to do this is:
10
+ #
11
+ # rdoc --markup tomdoc --write-options
12
+ #
13
+ # Which will automatically create the file and fill it with the options you
14
+ # specified.
15
+ #
16
+ # The following options will not be saved since they interfere with the user's
17
+ # preferences or with the normal operation of RDoc:
18
+ #
19
+ # * `--coverage-report`
20
+ # * `--dry-run`
21
+ # * `--encoding`
22
+ # * `--force-update`
23
+ # * `--format`
24
+ # * `--pipe`
25
+ # * `--quiet`
26
+ # * `--template`
27
+ # * `--verbose`
28
+ #
29
+ # ## Custom Options
30
+ #
31
+ # Generators can hook into RDoc::Options to add generator-specific command line
32
+ # options.
33
+ #
34
+ # When `--format` is encountered in ARGV, RDoc calls ::setup_options on the
35
+ # generator class to add extra options to the option parser. Options for custom
36
+ # generators must occur after `--format`. `rdoc --help` will list options for
37
+ # all installed generators.
38
+ #
39
+ # Example:
40
+ #
41
+ # class RDoc::Generator::Spellcheck
42
+ # RDoc::RDoc.add_generator self
43
+ #
44
+ # def self.setup_options rdoc_options
45
+ # op = rdoc_options.option_parser
46
+ #
47
+ # op.on('--spell-dictionary DICTIONARY',
48
+ # RDoc::Options::Path) do |dictionary|
49
+ # rdoc_options.spell_dictionary = dictionary
50
+ # end
51
+ # end
52
+ # end
53
+ #
54
+ # Of course, RDoc::Options does not respond to `spell_dictionary` by default so
55
+ # you will need to add it:
56
+ #
57
+ # class RDoc::Options
58
+ #
59
+ # ##
60
+ # # The spell dictionary used by the spell-checking plugin.
61
+ #
62
+ # attr_accessor :spell_dictionary
63
+ #
64
+ # end
65
+ #
66
+ # ## Option Validators
67
+ #
68
+ # OptionParser validators will validate and cast user input values. In addition
69
+ # to the validators that ship with OptionParser (String, Integer, Float,
70
+ # TrueClass, FalseClass, Array, Regexp, Date, Time, URI, etc.), RDoc::Options
71
+ # adds Path, PathArray and Template.
72
+ #
73
+ class Options
74
+ def initialize: (?untyped loaded_options) -> void
75
+ end
76
+ end
@@ -190,7 +190,7 @@ module RDoc
190
190
  #
191
191
  # Usually this is called by super from a subclass.
192
192
  #
193
- def initialize: (String text, String name) -> void
193
+ def initialize: (String text, String name, ?singleton: bool) -> void
194
194
 
195
195
  # <!--
196
196
  # rdoc-file=lib/rdoc/method_attr.rb
@@ -267,7 +267,7 @@ module RDoc
267
267
  # -->
268
268
  # Creates a new AnyMethod with a token stream `text` and `name`
269
269
  #
270
- def initialize: (String? text, String name) -> void
270
+ def initialize: (String? text, String name, ?singleton: bool) -> void
271
271
  end
272
272
 
273
273
  # <!-- rdoc-file=lib/rdoc/attr.rb -->
@@ -286,7 +286,7 @@ module RDoc
286
286
  # Creates a new Attr with body `text`, `name`, read/write status `rw` and
287
287
  # `comment`. `singleton` marks this as a class attribute.
288
288
  #
289
- def initialize: (String? text, String name, String rw, RDoc::Comment? comment, ?bool `singleton`) -> void
289
+ def initialize: (String? text, String name, String rw, RDoc::Comment? comment, ?singleton: bool) -> void
290
290
  end
291
291
 
292
292
  # <!-- rdoc-file=lib/rdoc/constant.rb -->
@@ -372,6 +372,8 @@ module RDoc
372
372
  #
373
373
  attr_accessor old_name: String
374
374
 
375
+ attr_reader singleton: bool
376
+
375
377
  # <!--
376
378
  # rdoc-file=lib/rdoc/alias.rb
377
379
  # - new(text, old_name, new_name, comment, singleton = false)
@@ -379,7 +381,7 @@ module RDoc
379
381
  # Creates a new Alias with a token stream of `text` that aliases `old_name` to
380
382
  # `new_name`, has `comment` and is a `singleton` context.
381
383
  #
382
- def initialize: (String? text, String name, String old_name, RDoc::Comment? comment, ?bool `singleton`) -> void
384
+ def initialize: (String? text, String name, String old_name, RDoc::Comment? comment, ?singleton: bool) -> void
383
385
  end
384
386
 
385
387
  # <!-- rdoc-file=lib/rdoc/stats.rb -->
@@ -26,7 +26,7 @@ module RDoc
26
26
  # -->
27
27
  # Creates a new Store of `type` that will load or save to `path`
28
28
  #
29
- def initialize: (?String? path, ?Symbol? type) -> void
29
+ def initialize: (Options, ?path: String? , ?type: Symbol?) -> void
30
30
 
31
31
  # <!--
32
32
  # rdoc-file=lib/rdoc/store.rb
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rbs
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.9.2
4
+ version: 4.0.0.dev.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Soutaro Matsumoto
8
8
  bindir: exe
9
9
  cert_chain: []
10
- date: 2025-03-31 00:00:00.000000000 Z
10
+ date: 2025-05-02 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: logger
@@ -23,6 +23,20 @@ dependencies:
23
23
  - - ">="
24
24
  - !ruby/object:Gem::Version
25
25
  version: '0'
26
+ - !ruby/object:Gem::Dependency
27
+ name: prism
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 1.3.0
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: 1.3.0
26
40
  description: RBS is the language for type signatures for Ruby and standard library
27
41
  definitions.
28
42
  email:
@@ -142,25 +156,31 @@ files:
142
156
  - docs/syntax.md
143
157
  - docs/tools.md
144
158
  - exe/rbs
159
+ - ext/rbs_extension/ast_translation.c
160
+ - ext/rbs_extension/ast_translation.h
161
+ - ext/rbs_extension/class_constants.c
162
+ - ext/rbs_extension/class_constants.h
145
163
  - ext/rbs_extension/extconf.rb
146
- - ext/rbs_extension/lexer.c
147
- - ext/rbs_extension/lexer.h
148
- - ext/rbs_extension/lexer.re
149
- - ext/rbs_extension/lexstate.c
150
- - ext/rbs_extension/location.c
151
- - ext/rbs_extension/location.h
164
+ - ext/rbs_extension/legacy_location.c
165
+ - ext/rbs_extension/legacy_location.h
152
166
  - ext/rbs_extension/main.c
153
- - ext/rbs_extension/parser.c
154
- - ext/rbs_extension/parser.h
155
- - ext/rbs_extension/parserstate.c
156
- - ext/rbs_extension/parserstate.h
157
167
  - ext/rbs_extension/rbs_extension.h
158
- - ext/rbs_extension/unescape.c
168
+ - ext/rbs_extension/rbs_string_bridging.c
169
+ - ext/rbs_extension/rbs_string_bridging.h
159
170
  - goodcheck.yml
160
171
  - include/rbs.h
161
- - include/rbs/constants.h
162
- - include/rbs/ruby_objs.h
172
+ - include/rbs/ast.h
173
+ - include/rbs/defines.h
174
+ - include/rbs/lexer.h
175
+ - include/rbs/location.h
176
+ - include/rbs/parser.h
177
+ - include/rbs/string.h
178
+ - include/rbs/util/rbs_allocator.h
179
+ - include/rbs/util/rbs_assert.h
180
+ - include/rbs/util/rbs_buffer.h
163
181
  - include/rbs/util/rbs_constant_pool.h
182
+ - include/rbs/util/rbs_encoding.h
183
+ - include/rbs/util/rbs_unescape.h
164
184
  - lib/rbs.rb
165
185
  - lib/rbs/ancestor_graph.rb
166
186
  - lib/rbs/annotate.rb
@@ -173,6 +193,12 @@ files:
173
193
  - lib/rbs/ast/declarations.rb
174
194
  - lib/rbs/ast/directives.rb
175
195
  - lib/rbs/ast/members.rb
196
+ - lib/rbs/ast/ruby/annotations.rb
197
+ - lib/rbs/ast/ruby/comment_block.rb
198
+ - lib/rbs/ast/ruby/declarations.rb
199
+ - lib/rbs/ast/ruby/helpers/constant_helper.rb
200
+ - lib/rbs/ast/ruby/helpers/location_helper.rb
201
+ - lib/rbs/ast/ruby/members.rb
176
202
  - lib/rbs/ast/type_param.rb
177
203
  - lib/rbs/ast/visitor.rb
178
204
  - lib/rbs/buffer.rb
@@ -200,12 +226,16 @@ files:
200
226
  - lib/rbs/definition_builder/method_builder.rb
201
227
  - lib/rbs/diff.rb
202
228
  - lib/rbs/environment.rb
229
+ - lib/rbs/environment/class_entry.rb
230
+ - lib/rbs/environment/module_entry.rb
203
231
  - lib/rbs/environment/use_map.rb
204
232
  - lib/rbs/environment_loader.rb
205
233
  - lib/rbs/environment_walker.rb
206
234
  - lib/rbs/errors.rb
207
235
  - lib/rbs/factory.rb
208
236
  - lib/rbs/file_finder.rb
237
+ - lib/rbs/inline_parser.rb
238
+ - lib/rbs/inline_parser/comment_association.rb
209
239
  - lib/rbs/location_aux.rb
210
240
  - lib/rbs/locator.rb
211
241
  - lib/rbs/method_type.rb
@@ -225,6 +255,7 @@ files:
225
255
  - lib/rbs/resolver/constant_resolver.rb
226
256
  - lib/rbs/resolver/type_name_resolver.rb
227
257
  - lib/rbs/sorter.rb
258
+ - lib/rbs/source.rb
228
259
  - lib/rbs/substitution.rb
229
260
  - lib/rbs/subtractor.rb
230
261
  - lib/rbs/test.rb
@@ -269,6 +300,12 @@ files:
269
300
  - sig/annotate/rdoc_annotater.rbs
270
301
  - sig/annotate/rdoc_source.rbs
271
302
  - sig/annotation.rbs
303
+ - sig/ast/ruby/annotations.rbs
304
+ - sig/ast/ruby/comment_block.rbs
305
+ - sig/ast/ruby/declarations.rbs
306
+ - sig/ast/ruby/helpers/constant_helper.rbs
307
+ - sig/ast/ruby/helpers/location_helper.rbs
308
+ - sig/ast/ruby/members.rbs
272
309
  - sig/buffer.rbs
273
310
  - sig/builtin_names.rbs
274
311
  - sig/cli.rbs
@@ -290,11 +327,15 @@ files:
290
327
  - sig/diff.rbs
291
328
  - sig/directives.rbs
292
329
  - sig/environment.rbs
330
+ - sig/environment/class_entry.rbs
331
+ - sig/environment/module_entry.rbs
293
332
  - sig/environment_loader.rbs
294
333
  - sig/environment_walker.rbs
295
334
  - sig/errors.rbs
296
335
  - sig/factory.rbs
297
336
  - sig/file_finder.rbs
337
+ - sig/inline_parser.rbs
338
+ - sig/inline_parser/comment_association.rbs
298
339
  - sig/location.rbs
299
340
  - sig/locator.rbs
300
341
  - sig/manifest.yaml
@@ -318,6 +359,7 @@ files:
318
359
  - sig/shims/enumerable.rbs
319
360
  - sig/shims/rubygems.rbs
320
361
  - sig/sorter.rbs
362
+ - sig/source.rbs
321
363
  - sig/substitution.rbs
322
364
  - sig/subtractor.rbs
323
365
  - sig/test.rbs
@@ -341,9 +383,19 @@ files:
341
383
  - sig/version.rbs
342
384
  - sig/visitor.rbs
343
385
  - sig/writer.rbs
344
- - src/constants.c
345
- - src/ruby_objs.c
386
+ - src/ast.c
387
+ - src/lexer.c
388
+ - src/lexer.re
389
+ - src/lexstate.c
390
+ - src/location.c
391
+ - src/parser.c
392
+ - src/string.c
393
+ - src/util/rbs_allocator.c
394
+ - src/util/rbs_assert.c
395
+ - src/util/rbs_buffer.c
346
396
  - src/util/rbs_constant_pool.c
397
+ - src/util/rbs_encoding.c
398
+ - src/util/rbs_unescape.c
347
399
  - stdlib/abbrev/0/abbrev.rbs
348
400
  - stdlib/abbrev/0/array.rbs
349
401
  - stdlib/base64/0/base64.rbs
@@ -450,6 +502,7 @@ files:
450
502
  - stdlib/rdoc/0/comment.rbs
451
503
  - stdlib/rdoc/0/context.rbs
452
504
  - stdlib/rdoc/0/markup.rbs
505
+ - stdlib/rdoc/0/options.rbs
453
506
  - stdlib/rdoc/0/parser.rbs
454
507
  - stdlib/rdoc/0/rdoc.rbs
455
508
  - stdlib/rdoc/0/ri.rbs