rbs 3.0.0.dev.1 → 3.0.0.dev.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (165) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/comments.yml +2 -1
  3. data/.github/workflows/ruby.yml +4 -3
  4. data/CHANGELOG.md +28 -0
  5. data/Gemfile.lock +12 -12
  6. data/README.md +1 -0
  7. data/Rakefile +77 -3
  8. data/Steepfile +1 -1
  9. data/core/array.rbs +574 -424
  10. data/core/basic_object.rbs +11 -39
  11. data/core/binding.rbs +1 -1
  12. data/core/builtin.rbs +9 -1
  13. data/core/class.rbs +37 -0
  14. data/core/comparable.rbs +7 -18
  15. data/core/complex.rbs +2 -2
  16. data/core/data.rbs +419 -0
  17. data/core/dir.rbs +52 -104
  18. data/core/encoding.rbs +22 -181
  19. data/core/enumerable.rbs +212 -175
  20. data/core/enumerator/product.rbs +96 -0
  21. data/core/enumerator.rbs +57 -8
  22. data/core/errors.rbs +8 -2
  23. data/core/exception.rbs +41 -0
  24. data/core/fiber.rbs +95 -12
  25. data/core/file.rbs +840 -275
  26. data/core/file_test.rbs +34 -19
  27. data/core/float.rbs +40 -96
  28. data/core/gc.rbs +15 -3
  29. data/core/hash.rbs +114 -176
  30. data/core/integer.rbs +85 -145
  31. data/core/io/buffer.rbs +187 -60
  32. data/core/io/wait.rbs +28 -16
  33. data/core/io.rbs +1859 -1389
  34. data/core/kernel.rbs +525 -961
  35. data/core/match_data.rbs +306 -142
  36. data/core/math.rbs +506 -234
  37. data/core/method.rbs +0 -24
  38. data/core/module.rbs +111 -18
  39. data/core/nil_class.rbs +2 -0
  40. data/core/numeric.rbs +76 -144
  41. data/core/object.rbs +88 -212
  42. data/core/proc.rbs +17 -5
  43. data/core/process.rbs +22 -5
  44. data/core/ractor.rbs +1 -1
  45. data/core/random.rbs +20 -3
  46. data/core/range.rbs +91 -89
  47. data/core/rational.rbs +2 -3
  48. data/core/rbs/unnamed/argf.rbs +177 -120
  49. data/core/rbs/unnamed/env_class.rbs +89 -163
  50. data/core/rbs/unnamed/random.rbs +36 -12
  51. data/core/refinement.rbs +8 -0
  52. data/core/regexp.rbs +462 -272
  53. data/core/ruby_vm.rbs +210 -0
  54. data/{stdlib/set/0 → core}/set.rbs +43 -47
  55. data/core/string.rbs +1403 -1332
  56. data/core/string_io.rbs +191 -107
  57. data/core/struct.rbs +67 -63
  58. data/core/symbol.rbs +187 -201
  59. data/core/thread.rbs +40 -35
  60. data/core/time.rbs +902 -826
  61. data/core/trace_point.rbs +55 -6
  62. data/core/unbound_method.rbs +48 -24
  63. data/docs/collection.md +4 -0
  64. data/docs/syntax.md +55 -0
  65. data/ext/rbs_extension/constants.c +16 -2
  66. data/ext/rbs_extension/constants.h +8 -1
  67. data/ext/rbs_extension/extconf.rb +1 -1
  68. data/ext/rbs_extension/lexer.c +834 -777
  69. data/ext/rbs_extension/lexer.h +3 -1
  70. data/ext/rbs_extension/lexer.re +3 -1
  71. data/ext/rbs_extension/lexstate.c +4 -2
  72. data/ext/rbs_extension/parser.c +262 -43
  73. data/ext/rbs_extension/ruby_objs.c +56 -2
  74. data/ext/rbs_extension/ruby_objs.h +7 -1
  75. data/lib/rbs/annotate/rdoc_annotator.rb +1 -1
  76. data/lib/rbs/ast/declarations.rb +49 -2
  77. data/lib/rbs/ast/directives.rb +39 -0
  78. data/lib/rbs/cli.rb +38 -19
  79. data/lib/rbs/collection/cleaner.rb +8 -1
  80. data/lib/rbs/collection/config/lockfile.rb +3 -1
  81. data/lib/rbs/collection/config/lockfile_generator.rb +37 -30
  82. data/lib/rbs/collection/config.rb +3 -3
  83. data/lib/rbs/collection/sources/git.rb +10 -3
  84. data/lib/rbs/collection/sources/local.rb +79 -0
  85. data/lib/rbs/collection/sources.rb +8 -1
  86. data/lib/rbs/definition_builder/ancestor_builder.rb +24 -8
  87. data/lib/rbs/definition_builder.rb +8 -8
  88. data/lib/rbs/environment/use_map.rb +77 -0
  89. data/lib/rbs/environment.rb +358 -88
  90. data/lib/rbs/environment_loader.rb +12 -9
  91. data/lib/rbs/environment_walker.rb +1 -1
  92. data/lib/rbs/errors.rb +52 -37
  93. data/lib/rbs/locator.rb +27 -8
  94. data/lib/rbs/parser_aux.rb +8 -6
  95. data/lib/rbs/resolver/constant_resolver.rb +23 -7
  96. data/lib/rbs/resolver/type_name_resolver.rb +2 -1
  97. data/lib/rbs/sorter.rb +5 -5
  98. data/lib/rbs/test/setup.rb +1 -1
  99. data/lib/rbs/type_alias_dependency.rb +1 -1
  100. data/lib/rbs/type_alias_regularity.rb +3 -3
  101. data/lib/rbs/validator.rb +23 -2
  102. data/lib/rbs/variance_calculator.rb +2 -2
  103. data/lib/rbs/version.rb +1 -1
  104. data/lib/rbs/writer.rb +28 -2
  105. data/lib/rbs.rb +2 -2
  106. data/lib/rdoc_plugin/parser.rb +2 -2
  107. data/rbs.gemspec +1 -1
  108. data/sig/ancestor_graph.rbs +22 -2
  109. data/sig/collection/config/lockfile_generator.rbs +8 -10
  110. data/sig/collection/config.rbs +1 -1
  111. data/sig/collection/sources.rbs +44 -9
  112. data/sig/constant.rbs +1 -1
  113. data/sig/declarations.rbs +36 -3
  114. data/sig/definition.rbs +1 -1
  115. data/sig/definition_builder.rbs +0 -1
  116. data/sig/directives.rbs +61 -0
  117. data/sig/environment.rbs +150 -29
  118. data/sig/environment_loader.rbs +1 -1
  119. data/sig/errors.rbs +22 -1
  120. data/sig/locator.rbs +14 -2
  121. data/sig/parser.rbs +8 -15
  122. data/sig/resolver/constant_resolver.rbs +1 -2
  123. data/sig/shims/{abstract_syntax_tree.rbs → _abstract_syntax_tree.rbs} +0 -0
  124. data/sig/shims/bundler.rbs +18 -0
  125. data/sig/shims/rubygems.rbs +6 -0
  126. data/sig/use_map.rbs +35 -0
  127. data/sig/validator.rbs +12 -5
  128. data/sig/writer.rbs +4 -2
  129. data/stdlib/bigdecimal/0/big_decimal.rbs +16 -13
  130. data/stdlib/cgi/0/core.rbs +16 -0
  131. data/stdlib/coverage/0/coverage.rbs +50 -8
  132. data/stdlib/csv/0/csv.rbs +1 -1
  133. data/stdlib/date/0/date.rbs +856 -726
  134. data/stdlib/date/0/date_time.rbs +83 -210
  135. data/stdlib/erb/0/erb.rbs +13 -36
  136. data/stdlib/etc/0/etc.rbs +127 -20
  137. data/stdlib/fileutils/0/fileutils.rbs +1290 -381
  138. data/stdlib/logger/0/logger.rbs +466 -316
  139. data/stdlib/net-http/0/net-http.rbs +2211 -534
  140. data/stdlib/nkf/0/nkf.rbs +5 -5
  141. data/stdlib/objspace/0/objspace.rbs +31 -14
  142. data/stdlib/openssl/0/openssl.rbs +11 -7
  143. data/stdlib/optparse/0/optparse.rbs +20 -17
  144. data/stdlib/pathname/0/pathname.rbs +21 -4
  145. data/stdlib/pstore/0/pstore.rbs +378 -154
  146. data/stdlib/pty/0/pty.rbs +24 -8
  147. data/stdlib/ripper/0/ripper.rbs +1650 -0
  148. data/stdlib/socket/0/addrinfo.rbs +9 -15
  149. data/stdlib/socket/0/socket.rbs +36 -3
  150. data/stdlib/strscan/0/string_scanner.rbs +7 -5
  151. data/stdlib/tempfile/0/tempfile.rbs +104 -44
  152. data/stdlib/time/0/time.rbs +2 -2
  153. data/stdlib/uri/0/file.rbs +5 -0
  154. data/stdlib/uri/0/generic.rbs +2 -2
  155. data/stdlib/yaml/0/yaml.rbs +2 -2
  156. data/stdlib/zlib/0/zlib.rbs +1 -1
  157. metadata +13 -13
  158. data/core/deprecated.rbs +0 -9
  159. data/lib/rbs/constant_table.rb +0 -167
  160. data/lib/rbs/type_name_resolver.rb +0 -67
  161. data/sig/constant_table.rbs +0 -30
  162. data/sig/shims/ripper.rbs +0 -8
  163. data/sig/type_name_resolver.rbs +0 -26
  164. data/steep/Gemfile +0 -3
  165. data/steep/Gemfile.lock +0 -61
@@ -115,18 +115,18 @@ start:
115
115
  default: goto yy2;
116
116
  }
117
117
  yy1:
118
- skip(state);
119
- #line 138 "ext/rbs_extension/lexer.re"
118
+ rbs_skip(state);
119
+ #line 140 "ext/rbs_extension/lexer.re"
120
120
  { return next_token(state, pEOF); }
121
121
  #line 122 "ext/rbs_extension/lexer.c"
122
122
  yy2:
123
- skip(state);
123
+ rbs_skip(state);
124
124
  yy3:
125
- #line 139 "ext/rbs_extension/lexer.re"
125
+ #line 141 "ext/rbs_extension/lexer.re"
126
126
  { return next_token(state, ErrorToken); }
127
127
  #line 128 "ext/rbs_extension/lexer.c"
128
128
  yy4:
129
- skip(state);
129
+ rbs_skip(state);
130
130
  yych = peek(state);
131
131
  if (yych <= '\f') {
132
132
  if (yych <= 0x00000008) goto yy5;
@@ -136,11 +136,11 @@ yy4:
136
136
  if (yych == ' ') goto yy4;
137
137
  }
138
138
  yy5:
139
- #line 137 "ext/rbs_extension/lexer.re"
139
+ #line 139 "ext/rbs_extension/lexer.re"
140
140
  { state->start = state->current; goto start; }
141
141
  #line 142 "ext/rbs_extension/lexer.c"
142
142
  yy6:
143
- skip(state);
143
+ rbs_skip(state);
144
144
  yych = peek(state);
145
145
  if (yych == '=') goto yy23;
146
146
  if (yych == '~') goto yy23;
@@ -150,13 +150,13 @@ yy7:
150
150
  #line 151 "ext/rbs_extension/lexer.c"
151
151
  yy8:
152
152
  yyaccept = 0;
153
- skip(state);
153
+ rbs_skip(state);
154
154
  backup = *state;
155
155
  yych = peek(state);
156
156
  if (yych <= 0x00000000) goto yy3;
157
157
  goto yy66;
158
158
  yy9:
159
- skip(state);
159
+ rbs_skip(state);
160
160
  yych = peek(state);
161
161
  if (yych <= 0x00000000) goto yy10;
162
162
  if (yych != '\n') goto yy9;
@@ -170,7 +170,7 @@ yy10:
170
170
  }
171
171
  #line 172 "ext/rbs_extension/lexer.c"
172
172
  yy11:
173
- skip(state);
173
+ rbs_skip(state);
174
174
  yych = peek(state);
175
175
  if (yych <= ')') {
176
176
  if (yych <= 0x0000001F) {
@@ -217,54 +217,54 @@ yy11:
217
217
  }
218
218
  yy12:
219
219
  yyaccept = 1;
220
- skip(state);
220
+ rbs_skip(state);
221
221
  backup = *state;
222
222
  yych = peek(state);
223
223
  if (yych == 'a') goto yy73;
224
224
  goto yy7;
225
225
  yy13:
226
- skip(state);
226
+ rbs_skip(state);
227
227
  #line 34 "ext/rbs_extension/lexer.re"
228
228
  { return next_token(state, pAMP); }
229
229
  #line 230 "ext/rbs_extension/lexer.c"
230
230
  yy14:
231
231
  yyaccept = 0;
232
- skip(state);
232
+ rbs_skip(state);
233
233
  backup = *state;
234
234
  yych = peek(state);
235
235
  if (yych <= 0x00000000) goto yy3;
236
236
  goto yy75;
237
237
  yy15:
238
- skip(state);
238
+ rbs_skip(state);
239
239
  #line 25 "ext/rbs_extension/lexer.re"
240
240
  { return next_token(state, pLPAREN); }
241
241
  #line 242 "ext/rbs_extension/lexer.c"
242
242
  yy16:
243
- skip(state);
243
+ rbs_skip(state);
244
244
  #line 26 "ext/rbs_extension/lexer.re"
245
245
  { return next_token(state, pRPAREN); }
246
246
  #line 247 "ext/rbs_extension/lexer.c"
247
247
  yy17:
248
- skip(state);
248
+ rbs_skip(state);
249
249
  yych = peek(state);
250
250
  if (yych == '*') goto yy79;
251
251
  #line 36 "ext/rbs_extension/lexer.re"
252
252
  { return next_token(state, pSTAR); }
253
253
  #line 254 "ext/rbs_extension/lexer.c"
254
254
  yy18:
255
- skip(state);
255
+ rbs_skip(state);
256
256
  yych = peek(state);
257
257
  if (yych <= '/') goto yy7;
258
258
  if (yych <= '9') goto yy24;
259
259
  if (yych == '@') goto yy23;
260
260
  goto yy7;
261
261
  yy19:
262
- skip(state);
262
+ rbs_skip(state);
263
263
  #line 31 "ext/rbs_extension/lexer.re"
264
264
  { return next_token(state, pCOMMA); }
265
265
  #line 266 "ext/rbs_extension/lexer.c"
266
266
  yy20:
267
- skip(state);
267
+ rbs_skip(state);
268
268
  yych = peek(state);
269
269
  if (yych <= '=') {
270
270
  if (yych <= '/') goto yy7;
@@ -277,7 +277,7 @@ yy20:
277
277
  }
278
278
  yy21:
279
279
  yyaccept = 2;
280
- skip(state);
280
+ rbs_skip(state);
281
281
  backup = *state;
282
282
  yych = peek(state);
283
283
  if (yych == '.') goto yy81;
@@ -286,10 +286,10 @@ yy22:
286
286
  { return next_token(state, pDOT); }
287
287
  #line 288 "ext/rbs_extension/lexer.c"
288
288
  yy23:
289
- skip(state);
289
+ rbs_skip(state);
290
290
  goto yy7;
291
291
  yy24:
292
- skip(state);
292
+ rbs_skip(state);
293
293
  yych = peek(state);
294
294
  if (yych <= '/') goto yy25;
295
295
  if (yych <= '9') goto yy24;
@@ -300,7 +300,7 @@ yy25:
300
300
  #line 301 "ext/rbs_extension/lexer.c"
301
301
  yy26:
302
302
  yyaccept = 3;
303
- skip(state);
303
+ rbs_skip(state);
304
304
  backup = *state;
305
305
  yych = peek(state);
306
306
  switch (yych) {
@@ -384,7 +384,7 @@ yy27:
384
384
  { return next_token(state, pCOLON); }
385
385
  #line 386 "ext/rbs_extension/lexer.c"
386
386
  yy28:
387
- skip(state);
387
+ rbs_skip(state);
388
388
  yych = peek(state);
389
389
  if (yych <= ';') goto yy29;
390
390
  if (yych <= '<') goto yy23;
@@ -394,7 +394,7 @@ yy29:
394
394
  { return next_token(state, pLT); }
395
395
  #line 396 "ext/rbs_extension/lexer.c"
396
396
  yy30:
397
- skip(state);
397
+ rbs_skip(state);
398
398
  yych = peek(state);
399
399
  if (yych <= '>') {
400
400
  if (yych <= '<') goto yy31;
@@ -408,19 +408,19 @@ yy31:
408
408
  { return next_token(state, pEQ); }
409
409
  #line 410 "ext/rbs_extension/lexer.c"
410
410
  yy32:
411
- skip(state);
411
+ rbs_skip(state);
412
412
  yych = peek(state);
413
413
  if (yych <= '<') goto yy7;
414
414
  if (yych <= '>') goto yy23;
415
415
  goto yy7;
416
416
  yy33:
417
- skip(state);
417
+ rbs_skip(state);
418
418
  #line 35 "ext/rbs_extension/lexer.re"
419
419
  { return next_token(state, pQUESTION); }
420
420
  #line 421 "ext/rbs_extension/lexer.c"
421
421
  yy34:
422
422
  yyaccept = 0;
423
- skip(state);
423
+ rbs_skip(state);
424
424
  backup = *state;
425
425
  yych = peek(state);
426
426
  if (yych <= '^') {
@@ -434,7 +434,7 @@ yy34:
434
434
  goto yy3;
435
435
  }
436
436
  yy35:
437
- skip(state);
437
+ rbs_skip(state);
438
438
  yych = peek(state);
439
439
  if (yych <= '=') {
440
440
  if (yych <= '/') {
@@ -453,28 +453,28 @@ yy35:
453
453
  }
454
454
  }
455
455
  yy36:
456
- #line 123 "ext/rbs_extension/lexer.re"
456
+ #line 125 "ext/rbs_extension/lexer.re"
457
457
  { return next_token(state, tUIDENT); }
458
458
  #line 459 "ext/rbs_extension/lexer.c"
459
459
  yy37:
460
- skip(state);
460
+ rbs_skip(state);
461
461
  yych = peek(state);
462
462
  if (yych == ']') goto yy106;
463
463
  #line 27 "ext/rbs_extension/lexer.re"
464
464
  { return next_token(state, pLBRACKET); }
465
465
  #line 466 "ext/rbs_extension/lexer.c"
466
466
  yy38:
467
- skip(state);
467
+ rbs_skip(state);
468
468
  #line 28 "ext/rbs_extension/lexer.re"
469
469
  { return next_token(state, pRBRACKET); }
470
470
  #line 471 "ext/rbs_extension/lexer.c"
471
471
  yy39:
472
- skip(state);
472
+ rbs_skip(state);
473
473
  #line 33 "ext/rbs_extension/lexer.re"
474
474
  { return next_token(state, pHAT); }
475
475
  #line 476 "ext/rbs_extension/lexer.c"
476
476
  yy40:
477
- skip(state);
477
+ rbs_skip(state);
478
478
  yych = peek(state);
479
479
  if (yych <= '=') {
480
480
  if (yych <= '/') {
@@ -493,12 +493,12 @@ yy40:
493
493
  }
494
494
  }
495
495
  yy41:
496
- #line 126 "ext/rbs_extension/lexer.re"
496
+ #line 128 "ext/rbs_extension/lexer.re"
497
497
  { return next_token(state, tULLIDENT); }
498
498
  #line 499 "ext/rbs_extension/lexer.c"
499
499
  yy42:
500
500
  yyaccept = 4;
501
- skip(state);
501
+ rbs_skip(state);
502
502
  backup = *state;
503
503
  yych = peek(state);
504
504
  if (yych <= ' ') {
@@ -512,43 +512,48 @@ yy43:
512
512
  { return next_token(state, tOPERATOR); }
513
513
  #line 514 "ext/rbs_extension/lexer.c"
514
514
  yy44:
515
- skip(state);
515
+ rbs_skip(state);
516
516
  yych = peek(state);
517
- if (yych == 'l') goto yy112;
518
- if (yych == 't') goto yy113;
519
- goto yy52;
517
+ if (yych <= 'r') {
518
+ if (yych == 'l') goto yy112;
519
+ goto yy52;
520
+ } else {
521
+ if (yych <= 's') goto yy113;
522
+ if (yych <= 't') goto yy115;
523
+ goto yy52;
524
+ }
520
525
  yy45:
521
- #line 122 "ext/rbs_extension/lexer.re"
526
+ #line 124 "ext/rbs_extension/lexer.re"
522
527
  { return next_token(state, tLIDENT); }
523
- #line 524 "ext/rbs_extension/lexer.c"
528
+ #line 529 "ext/rbs_extension/lexer.c"
524
529
  yy46:
525
- skip(state);
530
+ rbs_skip(state);
526
531
  yych = peek(state);
527
- if (yych == 'o') goto yy114;
532
+ if (yych == 'o') goto yy116;
528
533
  goto yy52;
529
534
  yy47:
530
- skip(state);
535
+ rbs_skip(state);
531
536
  yych = peek(state);
532
- if (yych == 'l') goto yy115;
537
+ if (yych == 'l') goto yy117;
533
538
  goto yy52;
534
539
  yy48:
535
- skip(state);
540
+ rbs_skip(state);
536
541
  yych = peek(state);
537
- if (yych == 'e') goto yy116;
542
+ if (yych == 'e') goto yy118;
538
543
  goto yy52;
539
544
  yy49:
540
- skip(state);
545
+ rbs_skip(state);
541
546
  yych = peek(state);
542
- if (yych == 'n') goto yy117;
543
- if (yych == 'x') goto yy118;
547
+ if (yych == 'n') goto yy119;
548
+ if (yych == 'x') goto yy120;
544
549
  goto yy52;
545
550
  yy50:
546
- skip(state);
551
+ rbs_skip(state);
547
552
  yych = peek(state);
548
- if (yych == 'a') goto yy119;
553
+ if (yych == 'a') goto yy121;
549
554
  goto yy52;
550
555
  yy51:
551
- skip(state);
556
+ rbs_skip(state);
552
557
  yych = peek(state);
553
558
  yy52:
554
559
  if (yych <= '=') {
@@ -572,75 +577,76 @@ yy52:
572
577
  }
573
578
  }
574
579
  yy53:
575
- skip(state);
580
+ rbs_skip(state);
576
581
  yych = peek(state);
577
- if (yych == 'n') goto yy120;
582
+ if (yych == 'n') goto yy122;
578
583
  goto yy52;
579
584
  yy54:
580
- skip(state);
585
+ rbs_skip(state);
581
586
  yych = peek(state);
582
- if (yych == 'o') goto yy122;
587
+ if (yych == 'o') goto yy124;
583
588
  goto yy52;
584
589
  yy55:
585
- skip(state);
590
+ rbs_skip(state);
586
591
  yych = peek(state);
587
- if (yych == 'i') goto yy123;
592
+ if (yych == 'i') goto yy125;
588
593
  goto yy52;
589
594
  yy56:
590
- skip(state);
595
+ rbs_skip(state);
591
596
  yych = peek(state);
592
- if (yych == 'u') goto yy124;
597
+ if (yych == 'u') goto yy126;
593
598
  goto yy52;
594
599
  yy57:
595
- skip(state);
600
+ rbs_skip(state);
596
601
  yych = peek(state);
597
- if (yych == 'r') goto yy125;
598
- if (yych == 'u') goto yy126;
602
+ if (yych == 'r') goto yy127;
603
+ if (yych == 'u') goto yy128;
599
604
  goto yy52;
600
605
  yy58:
601
- skip(state);
606
+ rbs_skip(state);
602
607
  yych = peek(state);
603
- if (yych == 'e') goto yy127;
604
- if (yych == 'i') goto yy128;
608
+ if (yych == 'e') goto yy129;
609
+ if (yych == 'i') goto yy130;
605
610
  goto yy52;
606
611
  yy59:
607
- skip(state);
612
+ rbs_skip(state);
608
613
  yych = peek(state);
609
614
  if (yych <= 'q') {
610
- if (yych == 'o') goto yy129;
615
+ if (yych == 'o') goto yy131;
611
616
  goto yy52;
612
617
  } else {
613
- if (yych <= 'r') goto yy130;
614
- if (yych == 'y') goto yy131;
618
+ if (yych <= 'r') goto yy132;
619
+ if (yych == 'y') goto yy133;
615
620
  goto yy52;
616
621
  }
617
622
  yy60:
618
- skip(state);
623
+ rbs_skip(state);
619
624
  yych = peek(state);
620
- if (yych == 'n') goto yy132;
625
+ if (yych == 'n') goto yy134;
626
+ if (yych == 's') goto yy135;
621
627
  goto yy52;
622
628
  yy61:
623
- skip(state);
629
+ rbs_skip(state);
624
630
  yych = peek(state);
625
- if (yych == 'o') goto yy133;
631
+ if (yych == 'o') goto yy136;
626
632
  goto yy52;
627
633
  yy62:
628
- skip(state);
634
+ rbs_skip(state);
629
635
  #line 29 "ext/rbs_extension/lexer.re"
630
636
  { return next_token(state, pLBRACE); }
631
- #line 632 "ext/rbs_extension/lexer.c"
637
+ #line 638 "ext/rbs_extension/lexer.c"
632
638
  yy63:
633
- skip(state);
639
+ rbs_skip(state);
634
640
  #line 32 "ext/rbs_extension/lexer.re"
635
641
  { return next_token(state, pBAR); }
636
- #line 637 "ext/rbs_extension/lexer.c"
642
+ #line 643 "ext/rbs_extension/lexer.c"
637
643
  yy64:
638
- skip(state);
644
+ rbs_skip(state);
639
645
  #line 30 "ext/rbs_extension/lexer.re"
640
646
  { return next_token(state, pRBRACE); }
641
- #line 642 "ext/rbs_extension/lexer.c"
647
+ #line 648 "ext/rbs_extension/lexer.c"
642
648
  yy65:
643
- skip(state);
649
+ rbs_skip(state);
644
650
  yych = peek(state);
645
651
  yy66:
646
652
  if (yych <= '"') {
@@ -675,16 +681,16 @@ yy67:
675
681
  goto yy77;
676
682
  }
677
683
  } else {
678
- goto yy147;
684
+ goto yy150;
679
685
  }
680
686
  }
681
687
  yy68:
682
- skip(state);
683
- #line 100 "ext/rbs_extension/lexer.re"
688
+ rbs_skip(state);
689
+ #line 102 "ext/rbs_extension/lexer.re"
684
690
  { return next_token(state, tDQSTRING); }
685
- #line 686 "ext/rbs_extension/lexer.c"
691
+ #line 692 "ext/rbs_extension/lexer.c"
686
692
  yy69:
687
- skip(state);
693
+ rbs_skip(state);
688
694
  yych = peek(state);
689
695
  if (yych <= 'd') {
690
696
  if (yych <= '[') {
@@ -708,7 +714,7 @@ yy69:
708
714
  }
709
715
  }
710
716
  yy70:
711
- skip(state);
717
+ rbs_skip(state);
712
718
  yych = peek(state);
713
719
  if (yych <= ',') {
714
720
  if (yych <= '\f') {
@@ -737,35 +743,35 @@ yy70:
737
743
  }
738
744
  }
739
745
  yy71:
740
- #line 133 "ext/rbs_extension/lexer.re"
746
+ #line 135 "ext/rbs_extension/lexer.re"
741
747
  { return next_token(state, tGIDENT); }
742
- #line 743 "ext/rbs_extension/lexer.c"
748
+ #line 749 "ext/rbs_extension/lexer.c"
743
749
  yy72:
744
- skip(state);
750
+ rbs_skip(state);
745
751
  goto yy71;
746
752
  yy73:
747
- skip(state);
753
+ rbs_skip(state);
748
754
  yych = peek(state);
749
755
  if (yych <= 'Z') {
750
756
  if (yych <= '(') {
751
757
  if (yych <= '\'') goto yy67;
752
- goto yy134;
758
+ goto yy137;
753
759
  } else {
754
- if (yych == '<') goto yy135;
760
+ if (yych == '<') goto yy138;
755
761
  goto yy67;
756
762
  }
757
763
  } else {
758
764
  if (yych <= 'z') {
759
- if (yych <= '[') goto yy136;
765
+ if (yych <= '[') goto yy139;
760
766
  goto yy67;
761
767
  } else {
762
- if (yych <= '{') goto yy137;
763
- if (yych <= '|') goto yy138;
768
+ if (yych <= '{') goto yy140;
769
+ if (yych <= '|') goto yy141;
764
770
  goto yy67;
765
771
  }
766
772
  }
767
773
  yy74:
768
- skip(state);
774
+ rbs_skip(state);
769
775
  yych = peek(state);
770
776
  yy75:
771
777
  if (yych <= '\'') {
@@ -776,177 +782,177 @@ yy75:
776
782
  goto yy74;
777
783
  }
778
784
  yy76:
779
- skip(state);
785
+ rbs_skip(state);
780
786
  yy77:
781
- #line 101 "ext/rbs_extension/lexer.re"
787
+ #line 103 "ext/rbs_extension/lexer.re"
782
788
  { return next_token(state, tSQSTRING); }
783
- #line 784 "ext/rbs_extension/lexer.c"
789
+ #line 790 "ext/rbs_extension/lexer.c"
784
790
  yy78:
785
- skip(state);
791
+ rbs_skip(state);
786
792
  yych = peek(state);
787
793
  if (yych <= '\'') {
788
794
  if (yych <= 0x00000000) goto yy67;
789
795
  if (yych <= '&') goto yy74;
790
- goto yy139;
796
+ goto yy142;
791
797
  } else {
792
798
  if (yych == '\\') goto yy78;
793
799
  goto yy74;
794
800
  }
795
801
  yy79:
796
- skip(state);
802
+ rbs_skip(state);
797
803
  #line 37 "ext/rbs_extension/lexer.re"
798
804
  { return next_token(state, pSTAR2); }
799
- #line 800 "ext/rbs_extension/lexer.c"
805
+ #line 806 "ext/rbs_extension/lexer.c"
800
806
  yy80:
801
- skip(state);
807
+ rbs_skip(state);
802
808
  #line 42 "ext/rbs_extension/lexer.re"
803
809
  { return next_token(state, pARROW); }
804
- #line 805 "ext/rbs_extension/lexer.c"
810
+ #line 811 "ext/rbs_extension/lexer.c"
805
811
  yy81:
806
- skip(state);
812
+ rbs_skip(state);
807
813
  yych = peek(state);
808
- if (yych == '.') goto yy140;
814
+ if (yych == '.') goto yy143;
809
815
  goto yy67;
810
816
  yy82:
811
- skip(state);
817
+ rbs_skip(state);
812
818
  yych = peek(state);
813
819
  if (yych == '=') goto yy86;
814
820
  if (yych == '~') goto yy86;
815
821
  yy83:
816
- #line 120 "ext/rbs_extension/lexer.re"
822
+ #line 122 "ext/rbs_extension/lexer.re"
817
823
  { return next_token(state, tSYMBOL); }
818
- #line 819 "ext/rbs_extension/lexer.c"
824
+ #line 825 "ext/rbs_extension/lexer.c"
819
825
  yy84:
820
- skip(state);
826
+ rbs_skip(state);
821
827
  yych = peek(state);
822
828
  if (yych <= '"') {
823
829
  if (yych <= 0x00000000) goto yy67;
824
830
  if (yych <= '!') goto yy84;
825
- goto yy141;
831
+ goto yy144;
826
832
  } else {
827
- if (yych == '\\') goto yy142;
833
+ if (yych == '\\') goto yy145;
828
834
  goto yy84;
829
835
  }
830
836
  yy85:
831
- skip(state);
837
+ rbs_skip(state);
832
838
  yych = peek(state);
833
839
  if (yych <= ')') {
834
840
  if (yych <= 0x0000001F) {
835
841
  if (yych <= '\n') {
836
842
  if (yych <= 0x00000000) goto yy67;
837
- if (yych <= 0x00000008) goto yy143;
843
+ if (yych <= 0x00000008) goto yy146;
838
844
  goto yy67;
839
845
  } else {
840
846
  if (yych == '\r') goto yy67;
841
- goto yy143;
847
+ goto yy146;
842
848
  }
843
849
  } else {
844
850
  if (yych <= '#') {
845
851
  if (yych <= ' ') goto yy67;
846
- if (yych <= '"') goto yy145;
847
- goto yy143;
852
+ if (yych <= '"') goto yy148;
853
+ goto yy146;
848
854
  } else {
849
855
  if (yych == '%') goto yy67;
850
- if (yych <= '\'') goto yy145;
856
+ if (yych <= '\'') goto yy148;
851
857
  goto yy67;
852
858
  }
853
859
  }
854
860
  } else {
855
861
  if (yych <= 'Z') {
856
862
  if (yych <= '/') {
857
- if (yych == '-') goto yy143;
858
- goto yy145;
863
+ if (yych == '-') goto yy146;
864
+ goto yy148;
859
865
  } else {
860
- if (yych <= '9') goto yy143;
861
- if (yych <= '>') goto yy145;
862
- goto yy143;
866
+ if (yych <= '9') goto yy146;
867
+ if (yych <= '>') goto yy148;
868
+ goto yy146;
863
869
  }
864
870
  } else {
865
871
  if (yych <= '^') {
866
- if (yych == '\\') goto yy145;
872
+ if (yych == '\\') goto yy148;
867
873
  goto yy67;
868
874
  } else {
869
- if (yych <= 'z') goto yy143;
875
+ if (yych <= 'z') goto yy146;
870
876
  if (yych <= '}') goto yy67;
871
- if (yych <= '~') goto yy145;
872
- goto yy143;
877
+ if (yych <= '~') goto yy148;
878
+ goto yy146;
873
879
  }
874
880
  }
875
881
  }
876
882
  yy86:
877
- skip(state);
883
+ rbs_skip(state);
878
884
  goto yy83;
879
885
  yy87:
880
- skip(state);
886
+ rbs_skip(state);
881
887
  yych = peek(state);
882
888
  if (yych <= '\'') {
883
889
  if (yych <= 0x00000000) goto yy67;
884
890
  if (yych <= '&') goto yy87;
885
- goto yy146;
891
+ goto yy149;
886
892
  } else {
887
- if (yych == '\\') goto yy148;
893
+ if (yych == '\\') goto yy151;
888
894
  goto yy87;
889
895
  }
890
896
  yy88:
891
- skip(state);
897
+ rbs_skip(state);
892
898
  yych = peek(state);
893
899
  if (yych == '*') goto yy86;
894
900
  goto yy83;
895
901
  yy89:
896
- skip(state);
902
+ rbs_skip(state);
897
903
  yych = peek(state);
898
904
  if (yych == '@') goto yy86;
899
905
  goto yy83;
900
906
  yy90:
901
- skip(state);
907
+ rbs_skip(state);
902
908
  #line 46 "ext/rbs_extension/lexer.re"
903
909
  { return next_token(state, pCOLON2); }
904
- #line 905 "ext/rbs_extension/lexer.c"
910
+ #line 911 "ext/rbs_extension/lexer.c"
905
911
  yy91:
906
- skip(state);
912
+ rbs_skip(state);
907
913
  yych = peek(state);
908
914
  if (yych <= ';') goto yy83;
909
915
  if (yych <= '<') goto yy86;
910
- if (yych <= '=') goto yy149;
916
+ if (yych <= '=') goto yy152;
911
917
  goto yy83;
912
918
  yy92:
913
- skip(state);
919
+ rbs_skip(state);
914
920
  yych = peek(state);
915
- if (yych == '=') goto yy150;
921
+ if (yych == '=') goto yy153;
916
922
  if (yych == '~') goto yy86;
917
923
  goto yy67;
918
924
  yy93:
919
- skip(state);
925
+ rbs_skip(state);
920
926
  yych = peek(state);
921
927
  if (yych <= '<') goto yy83;
922
928
  if (yych <= '>') goto yy86;
923
929
  goto yy83;
924
930
  yy94:
925
- skip(state);
931
+ rbs_skip(state);
926
932
  yych = peek(state);
927
933
  if (yych <= '^') {
928
934
  if (yych <= '?') goto yy67;
929
- if (yych <= '@') goto yy151;
930
- if (yych <= 'Z') goto yy152;
935
+ if (yych <= '@') goto yy154;
936
+ if (yych <= 'Z') goto yy155;
931
937
  goto yy67;
932
938
  } else {
933
939
  if (yych == '`') goto yy67;
934
- if (yych <= 'z') goto yy152;
940
+ if (yych <= 'z') goto yy155;
935
941
  goto yy67;
936
942
  }
937
943
  yy95:
938
- skip(state);
944
+ rbs_skip(state);
939
945
  yych = peek(state);
940
946
  if (yych <= '>') {
941
947
  if (yych <= '/') {
942
- if (yych == '!') goto yy154;
948
+ if (yych == '!') goto yy157;
943
949
  } else {
944
950
  if (yych <= '9') goto yy95;
945
- if (yych == '=') goto yy154;
951
+ if (yych == '=') goto yy157;
946
952
  }
947
953
  } else {
948
954
  if (yych <= '^') {
949
- if (yych <= '?') goto yy154;
955
+ if (yych <= '?') goto yy157;
950
956
  if (yych <= '@') goto yy96;
951
957
  if (yych <= 'Z') goto yy95;
952
958
  } else {
@@ -955,43 +961,43 @@ yy95:
955
961
  }
956
962
  }
957
963
  yy96:
958
- #line 116 "ext/rbs_extension/lexer.re"
964
+ #line 118 "ext/rbs_extension/lexer.re"
959
965
  { return next_token(state, tSYMBOL); }
960
- #line 961 "ext/rbs_extension/lexer.c"
966
+ #line 967 "ext/rbs_extension/lexer.c"
961
967
  yy97:
962
- skip(state);
968
+ rbs_skip(state);
963
969
  yych = peek(state);
964
- if (yych == ']') goto yy150;
970
+ if (yych == ']') goto yy153;
965
971
  goto yy67;
966
972
  yy98:
967
- skip(state);
973
+ rbs_skip(state);
968
974
  yych = peek(state);
969
975
  if (yych == '>') goto yy23;
970
976
  goto yy7;
971
977
  yy99:
972
- skip(state);
978
+ rbs_skip(state);
973
979
  yych = peek(state);
974
980
  if (yych == '=') goto yy23;
975
981
  goto yy7;
976
982
  yy100:
977
- skip(state);
983
+ rbs_skip(state);
978
984
  #line 43 "ext/rbs_extension/lexer.re"
979
985
  { return next_token(state, pFATARROW); }
980
- #line 981 "ext/rbs_extension/lexer.c"
986
+ #line 987 "ext/rbs_extension/lexer.c"
981
987
  yy101:
982
- skip(state);
988
+ rbs_skip(state);
983
989
  yych = peek(state);
984
990
  if (yych <= '^') {
985
991
  if (yych <= '@') goto yy67;
986
- if (yych <= 'Z') goto yy155;
992
+ if (yych <= 'Z') goto yy158;
987
993
  goto yy67;
988
994
  } else {
989
995
  if (yych == '`') goto yy67;
990
- if (yych <= 'z') goto yy155;
996
+ if (yych <= 'z') goto yy158;
991
997
  goto yy67;
992
998
  }
993
999
  yy102:
994
- skip(state);
1000
+ rbs_skip(state);
995
1001
  yych = peek(state);
996
1002
  if (yych <= 'Z') {
997
1003
  if (yych <= '/') goto yy103;
@@ -1006,28 +1012,28 @@ yy102:
1006
1012
  }
1007
1013
  }
1008
1014
  yy103:
1009
- #line 130 "ext/rbs_extension/lexer.re"
1015
+ #line 132 "ext/rbs_extension/lexer.re"
1010
1016
  { return next_token(state, tAIDENT); }
1011
- #line 1012 "ext/rbs_extension/lexer.c"
1017
+ #line 1018 "ext/rbs_extension/lexer.c"
1012
1018
  yy104:
1013
- skip(state);
1014
- #line 127 "ext/rbs_extension/lexer.re"
1019
+ rbs_skip(state);
1020
+ #line 129 "ext/rbs_extension/lexer.re"
1015
1021
  { return next_token(state, tBANGIDENT); }
1016
- #line 1017 "ext/rbs_extension/lexer.c"
1022
+ #line 1023 "ext/rbs_extension/lexer.c"
1017
1023
  yy105:
1018
- skip(state);
1019
- #line 128 "ext/rbs_extension/lexer.re"
1024
+ rbs_skip(state);
1025
+ #line 130 "ext/rbs_extension/lexer.re"
1020
1026
  { return next_token(state, tEQIDENT); }
1021
- #line 1022 "ext/rbs_extension/lexer.c"
1027
+ #line 1028 "ext/rbs_extension/lexer.c"
1022
1028
  yy106:
1023
- skip(state);
1029
+ rbs_skip(state);
1024
1030
  yych = peek(state);
1025
1031
  if (yych == '=') goto yy23;
1026
1032
  #line 48 "ext/rbs_extension/lexer.re"
1027
1033
  { return next_token(state, pAREF_OPR); }
1028
- #line 1029 "ext/rbs_extension/lexer.c"
1034
+ #line 1035 "ext/rbs_extension/lexer.c"
1029
1035
  yy107:
1030
- skip(state);
1036
+ rbs_skip(state);
1031
1037
  yych = peek(state);
1032
1038
  if (yych <= '=') {
1033
1039
  if (yych <= '/') {
@@ -1046,11 +1052,11 @@ yy107:
1046
1052
  }
1047
1053
  }
1048
1054
  yy108:
1049
- #line 124 "ext/rbs_extension/lexer.re"
1055
+ #line 126 "ext/rbs_extension/lexer.re"
1050
1056
  { return next_token(state, tULLIDENT); }
1051
- #line 1052 "ext/rbs_extension/lexer.c"
1057
+ #line 1058 "ext/rbs_extension/lexer.c"
1052
1058
  yy109:
1053
- skip(state);
1059
+ rbs_skip(state);
1054
1060
  yych = peek(state);
1055
1061
  if (yych <= '=') {
1056
1062
  if (yych <= '/') {
@@ -1069,58 +1075,81 @@ yy109:
1069
1075
  }
1070
1076
  }
1071
1077
  yy110:
1072
- #line 125 "ext/rbs_extension/lexer.re"
1078
+ #line 127 "ext/rbs_extension/lexer.re"
1073
1079
  { return next_token(state, tULIDENT); }
1074
- #line 1075 "ext/rbs_extension/lexer.c"
1080
+ #line 1081 "ext/rbs_extension/lexer.c"
1075
1081
  yy111:
1076
- skip(state);
1082
+ rbs_skip(state);
1077
1083
  yych = peek(state);
1078
1084
  if (yych <= 0x00000000) goto yy67;
1079
- if (yych == '`') goto yy157;
1085
+ if (yych == '`') goto yy160;
1080
1086
  goto yy111;
1081
1087
  yy112:
1082
- skip(state);
1088
+ rbs_skip(state);
1083
1089
  yych = peek(state);
1084
- if (yych == 'i') goto yy158;
1090
+ if (yych == 'i') goto yy161;
1085
1091
  goto yy52;
1086
1092
  yy113:
1087
- skip(state);
1093
+ rbs_skip(state);
1088
1094
  yych = peek(state);
1089
- if (yych == 't') goto yy159;
1090
- goto yy52;
1095
+ if (yych <= '=') {
1096
+ if (yych <= '/') {
1097
+ if (yych == '!') goto yy104;
1098
+ } else {
1099
+ if (yych <= '9') goto yy51;
1100
+ if (yych >= '=') goto yy105;
1101
+ }
1102
+ } else {
1103
+ if (yych <= '^') {
1104
+ if (yych <= '@') goto yy114;
1105
+ if (yych <= 'Z') goto yy51;
1106
+ } else {
1107
+ if (yych == '`') goto yy114;
1108
+ if (yych <= 'z') goto yy51;
1109
+ }
1110
+ }
1091
1111
  yy114:
1092
- skip(state);
1093
- yych = peek(state);
1094
- if (yych == 'o') goto yy160;
1095
- if (yych == 't') goto yy161;
1096
- goto yy52;
1112
+ #line 97 "ext/rbs_extension/lexer.re"
1113
+ { return next_token(state, kAS); }
1114
+ #line 1115 "ext/rbs_extension/lexer.c"
1097
1115
  yy115:
1098
- skip(state);
1116
+ rbs_skip(state);
1099
1117
  yych = peek(state);
1100
- if (yych == 'a') goto yy163;
1118
+ if (yych == 't') goto yy162;
1101
1119
  goto yy52;
1102
1120
  yy116:
1103
- skip(state);
1121
+ rbs_skip(state);
1104
1122
  yych = peek(state);
1105
- if (yych == 'f') goto yy164;
1123
+ if (yych == 'o') goto yy163;
1124
+ if (yych == 't') goto yy164;
1106
1125
  goto yy52;
1107
1126
  yy117:
1108
- skip(state);
1127
+ rbs_skip(state);
1109
1128
  yych = peek(state);
1110
- if (yych == 'd') goto yy166;
1129
+ if (yych == 'a') goto yy166;
1111
1130
  goto yy52;
1112
1131
  yy118:
1113
- skip(state);
1132
+ rbs_skip(state);
1114
1133
  yych = peek(state);
1115
- if (yych == 't') goto yy168;
1134
+ if (yych == 'f') goto yy167;
1116
1135
  goto yy52;
1117
1136
  yy119:
1118
- skip(state);
1137
+ rbs_skip(state);
1119
1138
  yych = peek(state);
1120
- if (yych == 'l') goto yy169;
1139
+ if (yych == 'd') goto yy169;
1121
1140
  goto yy52;
1122
1141
  yy120:
1123
- skip(state);
1142
+ rbs_skip(state);
1143
+ yych = peek(state);
1144
+ if (yych == 't') goto yy171;
1145
+ goto yy52;
1146
+ yy121:
1147
+ rbs_skip(state);
1148
+ yych = peek(state);
1149
+ if (yych == 'l') goto yy172;
1150
+ goto yy52;
1151
+ yy122:
1152
+ rbs_skip(state);
1124
1153
  yych = peek(state);
1125
1154
  if (yych <= '^') {
1126
1155
  if (yych <= '9') {
@@ -1130,124 +1159,129 @@ yy120:
1130
1159
  if (yych <= '=') {
1131
1160
  if (yych >= '=') goto yy105;
1132
1161
  } else {
1133
- if (yych <= '@') goto yy121;
1162
+ if (yych <= '@') goto yy123;
1134
1163
  if (yych <= 'Z') goto yy51;
1135
1164
  }
1136
1165
  }
1137
1166
  } else {
1138
1167
  if (yych <= 'c') {
1139
- if (yych == '`') goto yy121;
1168
+ if (yych == '`') goto yy123;
1140
1169
  if (yych <= 'b') goto yy51;
1141
- goto yy170;
1170
+ goto yy173;
1142
1171
  } else {
1143
1172
  if (yych <= 's') {
1144
1173
  if (yych <= 'r') goto yy51;
1145
- goto yy171;
1174
+ goto yy174;
1146
1175
  } else {
1147
- if (yych <= 't') goto yy172;
1176
+ if (yych <= 't') goto yy175;
1148
1177
  if (yych <= 'z') goto yy51;
1149
1178
  }
1150
1179
  }
1151
1180
  }
1152
- yy121:
1181
+ yy123:
1153
1182
  #line 78 "ext/rbs_extension/lexer.re"
1154
1183
  { return next_token(state, kIN); }
1155
- #line 1156 "ext/rbs_extension/lexer.c"
1156
- yy122:
1157
- skip(state);
1158
- yych = peek(state);
1159
- if (yych == 'd') goto yy173;
1160
- goto yy52;
1161
- yy123:
1162
- skip(state);
1163
- yych = peek(state);
1164
- if (yych == 'l') goto yy174;
1165
- goto yy52;
1184
+ #line 1185 "ext/rbs_extension/lexer.c"
1166
1185
  yy124:
1167
- skip(state);
1186
+ rbs_skip(state);
1168
1187
  yych = peek(state);
1169
- if (yych == 't') goto yy176;
1188
+ if (yych == 'd') goto yy176;
1170
1189
  goto yy52;
1171
1190
  yy125:
1172
- skip(state);
1191
+ rbs_skip(state);
1173
1192
  yych = peek(state);
1174
- if (yych == 'e') goto yy178;
1175
- if (yych == 'i') goto yy179;
1193
+ if (yych == 'l') goto yy177;
1176
1194
  goto yy52;
1177
1195
  yy126:
1178
- skip(state);
1196
+ rbs_skip(state);
1179
1197
  yych = peek(state);
1180
- if (yych == 'b') goto yy180;
1198
+ if (yych == 't') goto yy179;
1181
1199
  goto yy52;
1182
1200
  yy127:
1183
- skip(state);
1201
+ rbs_skip(state);
1184
1202
  yych = peek(state);
1185
- if (yych == 'l') goto yy181;
1203
+ if (yych == 'e') goto yy181;
1204
+ if (yych == 'i') goto yy182;
1186
1205
  goto yy52;
1187
1206
  yy128:
1188
- skip(state);
1207
+ rbs_skip(state);
1189
1208
  yych = peek(state);
1190
- if (yych == 'n') goto yy182;
1209
+ if (yych == 'b') goto yy183;
1191
1210
  goto yy52;
1192
1211
  yy129:
1193
- skip(state);
1212
+ rbs_skip(state);
1194
1213
  yych = peek(state);
1195
- if (yych == 'p') goto yy183;
1214
+ if (yych == 'l') goto yy184;
1196
1215
  goto yy52;
1197
1216
  yy130:
1198
- skip(state);
1217
+ rbs_skip(state);
1199
1218
  yych = peek(state);
1200
- if (yych == 'u') goto yy185;
1219
+ if (yych == 'n') goto yy185;
1201
1220
  goto yy52;
1202
1221
  yy131:
1203
- skip(state);
1222
+ rbs_skip(state);
1204
1223
  yych = peek(state);
1205
1224
  if (yych == 'p') goto yy186;
1206
1225
  goto yy52;
1207
1226
  yy132:
1208
- skip(state);
1227
+ rbs_skip(state);
1209
1228
  yych = peek(state);
1210
- if (yych == 'c') goto yy187;
1211
- if (yych == 't') goto yy188;
1229
+ if (yych == 'u') goto yy188;
1212
1230
  goto yy52;
1213
1231
  yy133:
1214
- skip(state);
1232
+ rbs_skip(state);
1215
1233
  yych = peek(state);
1216
- if (yych == 'i') goto yy189;
1234
+ if (yych == 'p') goto yy189;
1217
1235
  goto yy52;
1218
1236
  yy134:
1219
- skip(state);
1237
+ rbs_skip(state);
1220
1238
  yych = peek(state);
1221
- if (yych <= 0x00000000) goto yy67;
1222
- if (yych == ')') goto yy190;
1223
- goto yy134;
1239
+ if (yych == 'c') goto yy190;
1240
+ if (yych == 't') goto yy191;
1241
+ goto yy52;
1224
1242
  yy135:
1225
- skip(state);
1243
+ rbs_skip(state);
1226
1244
  yych = peek(state);
1227
- if (yych <= 0x00000000) goto yy67;
1228
- if (yych == '>') goto yy191;
1229
- goto yy135;
1245
+ if (yych == 'e') goto yy192;
1246
+ goto yy52;
1230
1247
  yy136:
1231
- skip(state);
1248
+ rbs_skip(state);
1232
1249
  yych = peek(state);
1233
- if (yych <= 0x00000000) goto yy67;
1234
- if (yych == ']') goto yy192;
1235
- goto yy136;
1250
+ if (yych == 'i') goto yy194;
1251
+ goto yy52;
1236
1252
  yy137:
1237
- skip(state);
1253
+ rbs_skip(state);
1238
1254
  yych = peek(state);
1239
1255
  if (yych <= 0x00000000) goto yy67;
1240
- if (yych == '}') goto yy193;
1256
+ if (yych == ')') goto yy195;
1241
1257
  goto yy137;
1242
1258
  yy138:
1243
- skip(state);
1259
+ rbs_skip(state);
1244
1260
  yych = peek(state);
1245
1261
  if (yych <= 0x00000000) goto yy67;
1246
- if (yych == '|') goto yy194;
1262
+ if (yych == '>') goto yy196;
1247
1263
  goto yy138;
1248
1264
  yy139:
1265
+ rbs_skip(state);
1266
+ yych = peek(state);
1267
+ if (yych <= 0x00000000) goto yy67;
1268
+ if (yych == ']') goto yy197;
1269
+ goto yy139;
1270
+ yy140:
1271
+ rbs_skip(state);
1272
+ yych = peek(state);
1273
+ if (yych <= 0x00000000) goto yy67;
1274
+ if (yych == '}') goto yy198;
1275
+ goto yy140;
1276
+ yy141:
1277
+ rbs_skip(state);
1278
+ yych = peek(state);
1279
+ if (yych <= 0x00000000) goto yy67;
1280
+ if (yych == '|') goto yy199;
1281
+ goto yy141;
1282
+ yy142:
1249
1283
  yyaccept = 5;
1250
- skip(state);
1284
+ rbs_skip(state);
1251
1285
  backup = *state;
1252
1286
  yych = peek(state);
1253
1287
  if (yych <= '\'') {
@@ -1258,18 +1292,18 @@ yy139:
1258
1292
  if (yych == '\\') goto yy78;
1259
1293
  goto yy74;
1260
1294
  }
1261
- yy140:
1262
- skip(state);
1295
+ yy143:
1296
+ rbs_skip(state);
1263
1297
  #line 39 "ext/rbs_extension/lexer.re"
1264
1298
  { return next_token(state, pDOT3); }
1265
- #line 1266 "ext/rbs_extension/lexer.c"
1266
- yy141:
1267
- skip(state);
1268
- #line 102 "ext/rbs_extension/lexer.re"
1299
+ #line 1300 "ext/rbs_extension/lexer.c"
1300
+ yy144:
1301
+ rbs_skip(state);
1302
+ #line 104 "ext/rbs_extension/lexer.re"
1269
1303
  { return next_token(state, tDQSYMBOL); }
1270
- #line 1271 "ext/rbs_extension/lexer.c"
1271
- yy142:
1272
- skip(state);
1304
+ #line 1305 "ext/rbs_extension/lexer.c"
1305
+ yy145:
1306
+ rbs_skip(state);
1273
1307
  yych = peek(state);
1274
1308
  if (yych <= 'd') {
1275
1309
  if (yych <= '[') {
@@ -1292,149 +1326,149 @@ yy142:
1292
1326
  goto yy67;
1293
1327
  }
1294
1328
  }
1295
- yy143:
1296
- skip(state);
1329
+ yy146:
1330
+ rbs_skip(state);
1297
1331
  yych = peek(state);
1298
1332
  if (yych <= ',') {
1299
1333
  if (yych <= '\f') {
1300
- if (yych <= 0x00000000) goto yy144;
1301
- if (yych <= 0x00000008) goto yy143;
1302
- if (yych >= '\v') goto yy143;
1334
+ if (yych <= 0x00000000) goto yy147;
1335
+ if (yych <= 0x00000008) goto yy146;
1336
+ if (yych >= '\v') goto yy146;
1303
1337
  } else {
1304
1338
  if (yych <= 0x0000001F) {
1305
- if (yych >= 0x0000000E) goto yy143;
1339
+ if (yych >= 0x0000000E) goto yy146;
1306
1340
  } else {
1307
- if (yych == '#') goto yy143;
1341
+ if (yych == '#') goto yy146;
1308
1342
  }
1309
1343
  }
1310
1344
  } else {
1311
1345
  if (yych <= '>') {
1312
- if (yych <= '-') goto yy143;
1313
- if (yych <= '/') goto yy144;
1314
- if (yych <= '9') goto yy143;
1346
+ if (yych <= '-') goto yy146;
1347
+ if (yych <= '/') goto yy147;
1348
+ if (yych <= '9') goto yy146;
1315
1349
  } else {
1316
1350
  if (yych <= '^') {
1317
- if (yych <= 'Z') goto yy143;
1351
+ if (yych <= 'Z') goto yy146;
1318
1352
  } else {
1319
- if (yych <= 'z') goto yy143;
1320
- if (yych >= 0x0000007F) goto yy143;
1353
+ if (yych <= 'z') goto yy146;
1354
+ if (yych >= 0x0000007F) goto yy146;
1321
1355
  }
1322
1356
  }
1323
1357
  }
1324
- yy144:
1325
- #line 119 "ext/rbs_extension/lexer.re"
1326
- { return next_token(state, tSYMBOL); }
1327
- #line 1328 "ext/rbs_extension/lexer.c"
1328
- yy145:
1329
- skip(state);
1330
- goto yy144;
1331
- yy146:
1332
- skip(state);
1333
1358
  yy147:
1334
- #line 103 "ext/rbs_extension/lexer.re"
1335
- { return next_token(state, tSQSYMBOL); }
1336
- #line 1337 "ext/rbs_extension/lexer.c"
1359
+ #line 121 "ext/rbs_extension/lexer.re"
1360
+ { return next_token(state, tSYMBOL); }
1361
+ #line 1362 "ext/rbs_extension/lexer.c"
1337
1362
  yy148:
1338
- skip(state);
1363
+ rbs_skip(state);
1364
+ goto yy147;
1365
+ yy149:
1366
+ rbs_skip(state);
1367
+ yy150:
1368
+ #line 105 "ext/rbs_extension/lexer.re"
1369
+ { return next_token(state, tSQSYMBOL); }
1370
+ #line 1371 "ext/rbs_extension/lexer.c"
1371
+ yy151:
1372
+ rbs_skip(state);
1339
1373
  yych = peek(state);
1340
1374
  if (yych <= '\'') {
1341
1375
  if (yych <= 0x00000000) goto yy67;
1342
1376
  if (yych <= '&') goto yy87;
1343
- goto yy195;
1377
+ goto yy200;
1344
1378
  } else {
1345
- if (yych == '\\') goto yy148;
1379
+ if (yych == '\\') goto yy151;
1346
1380
  goto yy87;
1347
1381
  }
1348
- yy149:
1349
- skip(state);
1382
+ yy152:
1383
+ rbs_skip(state);
1350
1384
  yych = peek(state);
1351
1385
  if (yych == '>') goto yy86;
1352
1386
  goto yy83;
1353
- yy150:
1354
- skip(state);
1387
+ yy153:
1388
+ rbs_skip(state);
1355
1389
  yych = peek(state);
1356
1390
  if (yych == '=') goto yy86;
1357
1391
  goto yy83;
1358
- yy151:
1359
- skip(state);
1392
+ yy154:
1393
+ rbs_skip(state);
1360
1394
  yych = peek(state);
1361
1395
  if (yych <= '^') {
1362
1396
  if (yych <= '@') goto yy67;
1363
- if (yych <= 'Z') goto yy196;
1397
+ if (yych <= 'Z') goto yy201;
1364
1398
  goto yy67;
1365
1399
  } else {
1366
1400
  if (yych == '`') goto yy67;
1367
- if (yych <= 'z') goto yy196;
1401
+ if (yych <= 'z') goto yy201;
1368
1402
  goto yy67;
1369
1403
  }
1370
- yy152:
1371
- skip(state);
1404
+ yy155:
1405
+ rbs_skip(state);
1372
1406
  yych = peek(state);
1373
1407
  if (yych <= '>') {
1374
1408
  if (yych <= '/') {
1375
- if (yych == '!') goto yy198;
1409
+ if (yych == '!') goto yy203;
1376
1410
  } else {
1377
- if (yych <= '9') goto yy152;
1378
- if (yych == '=') goto yy198;
1411
+ if (yych <= '9') goto yy155;
1412
+ if (yych == '=') goto yy203;
1379
1413
  }
1380
1414
  } else {
1381
1415
  if (yych <= '^') {
1382
- if (yych <= '?') goto yy198;
1383
- if (yych <= '@') goto yy153;
1384
- if (yych <= 'Z') goto yy152;
1416
+ if (yych <= '?') goto yy203;
1417
+ if (yych <= '@') goto yy156;
1418
+ if (yych <= 'Z') goto yy155;
1385
1419
  } else {
1386
- if (yych == '`') goto yy153;
1387
- if (yych <= 'z') goto yy152;
1420
+ if (yych == '`') goto yy156;
1421
+ if (yych <= 'z') goto yy155;
1388
1422
  }
1389
1423
  }
1390
- yy153:
1391
- #line 117 "ext/rbs_extension/lexer.re"
1424
+ yy156:
1425
+ #line 119 "ext/rbs_extension/lexer.re"
1392
1426
  { return next_token(state, tSYMBOL); }
1393
- #line 1394 "ext/rbs_extension/lexer.c"
1394
- yy154:
1395
- skip(state);
1427
+ #line 1428 "ext/rbs_extension/lexer.c"
1428
+ yy157:
1429
+ rbs_skip(state);
1396
1430
  goto yy96;
1397
- yy155:
1398
- skip(state);
1431
+ yy158:
1432
+ rbs_skip(state);
1399
1433
  yych = peek(state);
1400
1434
  if (yych <= 'Z') {
1401
- if (yych <= '/') goto yy156;
1402
- if (yych <= '9') goto yy155;
1403
- if (yych >= 'A') goto yy155;
1435
+ if (yych <= '/') goto yy159;
1436
+ if (yych <= '9') goto yy158;
1437
+ if (yych >= 'A') goto yy158;
1404
1438
  } else {
1405
1439
  if (yych <= '_') {
1406
- if (yych >= '_') goto yy155;
1440
+ if (yych >= '_') goto yy158;
1407
1441
  } else {
1408
- if (yych <= '`') goto yy156;
1409
- if (yych <= 'z') goto yy155;
1442
+ if (yych <= '`') goto yy159;
1443
+ if (yych <= 'z') goto yy158;
1410
1444
  }
1411
1445
  }
1412
- yy156:
1413
- #line 131 "ext/rbs_extension/lexer.re"
1446
+ yy159:
1447
+ #line 133 "ext/rbs_extension/lexer.re"
1414
1448
  { return next_token(state, tA2IDENT); }
1415
- #line 1416 "ext/rbs_extension/lexer.c"
1416
- yy157:
1417
- skip(state);
1449
+ #line 1450 "ext/rbs_extension/lexer.c"
1450
+ yy160:
1451
+ rbs_skip(state);
1418
1452
  #line 41 "ext/rbs_extension/lexer.re"
1419
1453
  { return next_token(state, tQIDENT); }
1420
- #line 1421 "ext/rbs_extension/lexer.c"
1421
- yy158:
1422
- skip(state);
1454
+ #line 1455 "ext/rbs_extension/lexer.c"
1455
+ yy161:
1456
+ rbs_skip(state);
1423
1457
  yych = peek(state);
1424
- if (yych == 'a') goto yy199;
1458
+ if (yych == 'a') goto yy204;
1425
1459
  goto yy52;
1426
- yy159:
1427
- skip(state);
1460
+ yy162:
1461
+ rbs_skip(state);
1428
1462
  yych = peek(state);
1429
- if (yych == 'r') goto yy200;
1463
+ if (yych == 'r') goto yy205;
1430
1464
  goto yy52;
1431
- yy160:
1432
- skip(state);
1465
+ yy163:
1466
+ rbs_skip(state);
1433
1467
  yych = peek(state);
1434
- if (yych == 'l') goto yy201;
1468
+ if (yych == 'l') goto yy206;
1435
1469
  goto yy52;
1436
- yy161:
1437
- skip(state);
1470
+ yy164:
1471
+ rbs_skip(state);
1438
1472
  yych = peek(state);
1439
1473
  if (yych <= '=') {
1440
1474
  if (yych <= '/') {
@@ -1445,24 +1479,24 @@ yy161:
1445
1479
  }
1446
1480
  } else {
1447
1481
  if (yych <= '^') {
1448
- if (yych <= '@') goto yy162;
1482
+ if (yych <= '@') goto yy165;
1449
1483
  if (yych <= 'Z') goto yy51;
1450
1484
  } else {
1451
- if (yych == '`') goto yy162;
1485
+ if (yych == '`') goto yy165;
1452
1486
  if (yych <= 'z') goto yy51;
1453
1487
  }
1454
1488
  }
1455
- yy162:
1489
+ yy165:
1456
1490
  #line 72 "ext/rbs_extension/lexer.re"
1457
1491
  { return next_token(state, kBOT); }
1458
- #line 1459 "ext/rbs_extension/lexer.c"
1459
- yy163:
1460
- skip(state);
1492
+ #line 1493 "ext/rbs_extension/lexer.c"
1493
+ yy166:
1494
+ rbs_skip(state);
1461
1495
  yych = peek(state);
1462
- if (yych == 's') goto yy203;
1496
+ if (yych == 's') goto yy208;
1463
1497
  goto yy52;
1464
- yy164:
1465
- skip(state);
1498
+ yy167:
1499
+ rbs_skip(state);
1466
1500
  yych = peek(state);
1467
1501
  if (yych <= '=') {
1468
1502
  if (yych <= '/') {
@@ -1473,19 +1507,19 @@ yy164:
1473
1507
  }
1474
1508
  } else {
1475
1509
  if (yych <= '^') {
1476
- if (yych <= '@') goto yy165;
1510
+ if (yych <= '@') goto yy168;
1477
1511
  if (yych <= 'Z') goto yy51;
1478
1512
  } else {
1479
- if (yych == '`') goto yy165;
1513
+ if (yych == '`') goto yy168;
1480
1514
  if (yych <= 'z') goto yy51;
1481
1515
  }
1482
1516
  }
1483
- yy165:
1517
+ yy168:
1484
1518
  #line 74 "ext/rbs_extension/lexer.re"
1485
1519
  { return next_token(state, kDEF); }
1486
- #line 1487 "ext/rbs_extension/lexer.c"
1487
- yy166:
1488
- skip(state);
1520
+ #line 1521 "ext/rbs_extension/lexer.c"
1521
+ yy169:
1522
+ rbs_skip(state);
1489
1523
  yych = peek(state);
1490
1524
  if (yych <= '=') {
1491
1525
  if (yych <= '/') {
@@ -1496,49 +1530,49 @@ yy166:
1496
1530
  }
1497
1531
  } else {
1498
1532
  if (yych <= '^') {
1499
- if (yych <= '@') goto yy167;
1533
+ if (yych <= '@') goto yy170;
1500
1534
  if (yych <= 'Z') goto yy51;
1501
1535
  } else {
1502
- if (yych == '`') goto yy167;
1536
+ if (yych == '`') goto yy170;
1503
1537
  if (yych <= 'z') goto yy51;
1504
1538
  }
1505
1539
  }
1506
- yy167:
1540
+ yy170:
1507
1541
  #line 75 "ext/rbs_extension/lexer.re"
1508
1542
  { return next_token(state, kEND); }
1509
- #line 1510 "ext/rbs_extension/lexer.c"
1510
- yy168:
1511
- skip(state);
1543
+ #line 1544 "ext/rbs_extension/lexer.c"
1544
+ yy171:
1545
+ rbs_skip(state);
1512
1546
  yych = peek(state);
1513
- if (yych == 'e') goto yy204;
1547
+ if (yych == 'e') goto yy209;
1514
1548
  goto yy52;
1515
- yy169:
1516
- skip(state);
1549
+ yy172:
1550
+ rbs_skip(state);
1517
1551
  yych = peek(state);
1518
- if (yych == 's') goto yy205;
1552
+ if (yych == 's') goto yy210;
1519
1553
  goto yy52;
1520
- yy170:
1521
- skip(state);
1554
+ yy173:
1555
+ rbs_skip(state);
1522
1556
  yych = peek(state);
1523
- if (yych == 'l') goto yy206;
1557
+ if (yych == 'l') goto yy211;
1524
1558
  goto yy52;
1525
- yy171:
1526
- skip(state);
1559
+ yy174:
1560
+ rbs_skip(state);
1527
1561
  yych = peek(state);
1528
- if (yych == 't') goto yy207;
1562
+ if (yych == 't') goto yy212;
1529
1563
  goto yy52;
1530
- yy172:
1531
- skip(state);
1564
+ yy175:
1565
+ rbs_skip(state);
1532
1566
  yych = peek(state);
1533
- if (yych == 'e') goto yy208;
1567
+ if (yych == 'e') goto yy213;
1534
1568
  goto yy52;
1535
- yy173:
1536
- skip(state);
1569
+ yy176:
1570
+ rbs_skip(state);
1537
1571
  yych = peek(state);
1538
- if (yych == 'u') goto yy209;
1572
+ if (yych == 'u') goto yy214;
1539
1573
  goto yy52;
1540
- yy174:
1541
- skip(state);
1574
+ yy177:
1575
+ rbs_skip(state);
1542
1576
  yych = peek(state);
1543
1577
  if (yych <= '=') {
1544
1578
  if (yych <= '/') {
@@ -1549,19 +1583,19 @@ yy174:
1549
1583
  }
1550
1584
  } else {
1551
1585
  if (yych <= '^') {
1552
- if (yych <= '@') goto yy175;
1586
+ if (yych <= '@') goto yy178;
1553
1587
  if (yych <= 'Z') goto yy51;
1554
1588
  } else {
1555
- if (yych == '`') goto yy175;
1589
+ if (yych == '`') goto yy178;
1556
1590
  if (yych <= 'z') goto yy51;
1557
1591
  }
1558
1592
  }
1559
- yy175:
1593
+ yy178:
1560
1594
  #line 83 "ext/rbs_extension/lexer.re"
1561
1595
  { return next_token(state, kNIL); }
1562
- #line 1563 "ext/rbs_extension/lexer.c"
1563
- yy176:
1564
- skip(state);
1596
+ #line 1597 "ext/rbs_extension/lexer.c"
1597
+ yy179:
1598
+ rbs_skip(state);
1565
1599
  yych = peek(state);
1566
1600
  if (yych <= '=') {
1567
1601
  if (yych <= '/') {
@@ -1572,44 +1606,44 @@ yy176:
1572
1606
  }
1573
1607
  } else {
1574
1608
  if (yych <= '^') {
1575
- if (yych <= '@') goto yy177;
1609
+ if (yych <= '@') goto yy180;
1576
1610
  if (yych <= 'Z') goto yy51;
1577
1611
  } else {
1578
- if (yych == '`') goto yy177;
1612
+ if (yych == '`') goto yy180;
1579
1613
  if (yych <= 'z') goto yy51;
1580
1614
  }
1581
1615
  }
1582
- yy177:
1616
+ yy180:
1583
1617
  #line 84 "ext/rbs_extension/lexer.re"
1584
1618
  { return next_token(state, kOUT); }
1585
- #line 1586 "ext/rbs_extension/lexer.c"
1586
- yy178:
1587
- skip(state);
1619
+ #line 1620 "ext/rbs_extension/lexer.c"
1620
+ yy181:
1621
+ rbs_skip(state);
1588
1622
  yych = peek(state);
1589
- if (yych == 'p') goto yy210;
1623
+ if (yych == 'p') goto yy215;
1590
1624
  goto yy52;
1591
- yy179:
1592
- skip(state);
1625
+ yy182:
1626
+ rbs_skip(state);
1593
1627
  yych = peek(state);
1594
- if (yych == 'v') goto yy211;
1628
+ if (yych == 'v') goto yy216;
1595
1629
  goto yy52;
1596
- yy180:
1597
- skip(state);
1630
+ yy183:
1631
+ rbs_skip(state);
1598
1632
  yych = peek(state);
1599
- if (yych == 'l') goto yy212;
1633
+ if (yych == 'l') goto yy217;
1600
1634
  goto yy52;
1601
- yy181:
1602
- skip(state);
1635
+ yy184:
1636
+ rbs_skip(state);
1603
1637
  yych = peek(state);
1604
- if (yych == 'f') goto yy213;
1638
+ if (yych == 'f') goto yy218;
1605
1639
  goto yy52;
1606
- yy182:
1607
- skip(state);
1640
+ yy185:
1641
+ rbs_skip(state);
1608
1642
  yych = peek(state);
1609
- if (yych == 'g') goto yy215;
1643
+ if (yych == 'g') goto yy220;
1610
1644
  goto yy52;
1611
- yy183:
1612
- skip(state);
1645
+ yy186:
1646
+ rbs_skip(state);
1613
1647
  yych = peek(state);
1614
1648
  if (yych <= '=') {
1615
1649
  if (yych <= '/') {
@@ -1620,119 +1654,142 @@ yy183:
1620
1654
  }
1621
1655
  } else {
1622
1656
  if (yych <= '^') {
1623
- if (yych <= '@') goto yy184;
1657
+ if (yych <= '@') goto yy187;
1624
1658
  if (yych <= 'Z') goto yy51;
1625
1659
  } else {
1626
- if (yych == '`') goto yy184;
1660
+ if (yych == '`') goto yy187;
1627
1661
  if (yych <= 'z') goto yy51;
1628
1662
  }
1629
1663
  }
1630
- yy184:
1664
+ yy187:
1631
1665
  #line 90 "ext/rbs_extension/lexer.re"
1632
1666
  { return next_token(state, kTOP); }
1633
- #line 1634 "ext/rbs_extension/lexer.c"
1634
- yy185:
1635
- skip(state);
1667
+ #line 1668 "ext/rbs_extension/lexer.c"
1668
+ yy188:
1669
+ rbs_skip(state);
1636
1670
  yych = peek(state);
1637
- if (yych == 'e') goto yy216;
1671
+ if (yych == 'e') goto yy221;
1638
1672
  goto yy52;
1639
- yy186:
1640
- skip(state);
1673
+ yy189:
1674
+ rbs_skip(state);
1641
1675
  yych = peek(state);
1642
- if (yych == 'e') goto yy218;
1676
+ if (yych == 'e') goto yy223;
1643
1677
  goto yy52;
1644
- yy187:
1645
- skip(state);
1678
+ yy190:
1679
+ rbs_skip(state);
1646
1680
  yych = peek(state);
1647
- if (yych == 'h') goto yy220;
1681
+ if (yych == 'h') goto yy225;
1648
1682
  goto yy52;
1649
- yy188:
1650
- skip(state);
1683
+ yy191:
1684
+ rbs_skip(state);
1651
1685
  yych = peek(state);
1652
- if (yych == 'y') goto yy221;
1686
+ if (yych == 'y') goto yy226;
1653
1687
  goto yy52;
1654
- yy189:
1655
- skip(state);
1688
+ yy192:
1689
+ rbs_skip(state);
1656
1690
  yych = peek(state);
1657
- if (yych == 'd') goto yy222;
1691
+ if (yych <= '=') {
1692
+ if (yych <= '/') {
1693
+ if (yych == '!') goto yy104;
1694
+ } else {
1695
+ if (yych <= '9') goto yy51;
1696
+ if (yych >= '=') goto yy105;
1697
+ }
1698
+ } else {
1699
+ if (yych <= '^') {
1700
+ if (yych <= '@') goto yy193;
1701
+ if (yych <= 'Z') goto yy51;
1702
+ } else {
1703
+ if (yych == '`') goto yy193;
1704
+ if (yych <= 'z') goto yy51;
1705
+ }
1706
+ }
1707
+ yy193:
1708
+ #line 96 "ext/rbs_extension/lexer.re"
1709
+ { return next_token(state, kUSE); }
1710
+ #line 1711 "ext/rbs_extension/lexer.c"
1711
+ yy194:
1712
+ rbs_skip(state);
1713
+ yych = peek(state);
1714
+ if (yych == 'd') goto yy227;
1658
1715
  goto yy52;
1659
- yy190:
1660
- skip(state);
1716
+ yy195:
1717
+ rbs_skip(state);
1661
1718
  #line 55 "ext/rbs_extension/lexer.re"
1662
1719
  { return next_token(state, tANNOTATION); }
1663
- #line 1664 "ext/rbs_extension/lexer.c"
1664
- yy191:
1665
- skip(state);
1720
+ #line 1721 "ext/rbs_extension/lexer.c"
1721
+ yy196:
1722
+ rbs_skip(state);
1666
1723
  #line 58 "ext/rbs_extension/lexer.re"
1667
1724
  { return next_token(state, tANNOTATION); }
1668
- #line 1669 "ext/rbs_extension/lexer.c"
1669
- yy192:
1670
- skip(state);
1725
+ #line 1726 "ext/rbs_extension/lexer.c"
1726
+ yy197:
1727
+ rbs_skip(state);
1671
1728
  #line 56 "ext/rbs_extension/lexer.re"
1672
1729
  { return next_token(state, tANNOTATION); }
1673
- #line 1674 "ext/rbs_extension/lexer.c"
1674
- yy193:
1675
- skip(state);
1730
+ #line 1731 "ext/rbs_extension/lexer.c"
1731
+ yy198:
1732
+ rbs_skip(state);
1676
1733
  #line 54 "ext/rbs_extension/lexer.re"
1677
1734
  { return next_token(state, tANNOTATION); }
1678
- #line 1679 "ext/rbs_extension/lexer.c"
1679
- yy194:
1680
- skip(state);
1735
+ #line 1736 "ext/rbs_extension/lexer.c"
1736
+ yy199:
1737
+ rbs_skip(state);
1681
1738
  #line 57 "ext/rbs_extension/lexer.re"
1682
1739
  { return next_token(state, tANNOTATION); }
1683
- #line 1684 "ext/rbs_extension/lexer.c"
1684
- yy195:
1740
+ #line 1741 "ext/rbs_extension/lexer.c"
1741
+ yy200:
1685
1742
  yyaccept = 6;
1686
- skip(state);
1743
+ rbs_skip(state);
1687
1744
  backup = *state;
1688
1745
  yych = peek(state);
1689
1746
  if (yych <= '\'') {
1690
- if (yych <= 0x00000000) goto yy147;
1747
+ if (yych <= 0x00000000) goto yy150;
1691
1748
  if (yych <= '&') goto yy87;
1692
- goto yy146;
1749
+ goto yy149;
1693
1750
  } else {
1694
- if (yych == '\\') goto yy148;
1751
+ if (yych == '\\') goto yy151;
1695
1752
  goto yy87;
1696
1753
  }
1697
- yy196:
1698
- skip(state);
1754
+ yy201:
1755
+ rbs_skip(state);
1699
1756
  yych = peek(state);
1700
1757
  if (yych <= '>') {
1701
1758
  if (yych <= '/') {
1702
- if (yych == '!') goto yy224;
1759
+ if (yych == '!') goto yy229;
1703
1760
  } else {
1704
- if (yych <= '9') goto yy196;
1705
- if (yych == '=') goto yy224;
1761
+ if (yych <= '9') goto yy201;
1762
+ if (yych == '=') goto yy229;
1706
1763
  }
1707
1764
  } else {
1708
1765
  if (yych <= '^') {
1709
- if (yych <= '?') goto yy224;
1710
- if (yych <= '@') goto yy197;
1711
- if (yych <= 'Z') goto yy196;
1766
+ if (yych <= '?') goto yy229;
1767
+ if (yych <= '@') goto yy202;
1768
+ if (yych <= 'Z') goto yy201;
1712
1769
  } else {
1713
- if (yych == '`') goto yy197;
1714
- if (yych <= 'z') goto yy196;
1770
+ if (yych == '`') goto yy202;
1771
+ if (yych <= 'z') goto yy201;
1715
1772
  }
1716
1773
  }
1717
- yy197:
1718
- #line 118 "ext/rbs_extension/lexer.re"
1774
+ yy202:
1775
+ #line 120 "ext/rbs_extension/lexer.re"
1719
1776
  { return next_token(state, tSYMBOL); }
1720
- #line 1721 "ext/rbs_extension/lexer.c"
1721
- yy198:
1722
- skip(state);
1723
- goto yy153;
1724
- yy199:
1725
- skip(state);
1777
+ #line 1778 "ext/rbs_extension/lexer.c"
1778
+ yy203:
1779
+ rbs_skip(state);
1780
+ goto yy156;
1781
+ yy204:
1782
+ rbs_skip(state);
1726
1783
  yych = peek(state);
1727
- if (yych == 's') goto yy225;
1784
+ if (yych == 's') goto yy230;
1728
1785
  goto yy52;
1729
- yy200:
1730
- skip(state);
1786
+ yy205:
1787
+ rbs_skip(state);
1731
1788
  yych = peek(state);
1732
- if (yych == '_') goto yy227;
1789
+ if (yych == '_') goto yy232;
1733
1790
  goto yy52;
1734
- yy201:
1735
- skip(state);
1791
+ yy206:
1792
+ rbs_skip(state);
1736
1793
  yych = peek(state);
1737
1794
  if (yych <= '=') {
1738
1795
  if (yych <= '/') {
@@ -1743,69 +1800,69 @@ yy201:
1743
1800
  }
1744
1801
  } else {
1745
1802
  if (yych <= '^') {
1746
- if (yych <= '@') goto yy202;
1803
+ if (yych <= '@') goto yy207;
1747
1804
  if (yych <= 'Z') goto yy51;
1748
1805
  } else {
1749
- if (yych == '`') goto yy202;
1806
+ if (yych == '`') goto yy207;
1750
1807
  if (yych <= 'z') goto yy51;
1751
1808
  }
1752
1809
  }
1753
- yy202:
1810
+ yy207:
1754
1811
  #line 71 "ext/rbs_extension/lexer.re"
1755
1812
  { return next_token(state, kBOOL); }
1756
- #line 1757 "ext/rbs_extension/lexer.c"
1757
- yy203:
1758
- skip(state);
1813
+ #line 1814 "ext/rbs_extension/lexer.c"
1814
+ yy208:
1815
+ rbs_skip(state);
1759
1816
  yych = peek(state);
1760
- if (yych == 's') goto yy228;
1817
+ if (yych == 's') goto yy233;
1761
1818
  goto yy52;
1762
- yy204:
1763
- skip(state);
1819
+ yy209:
1820
+ rbs_skip(state);
1764
1821
  yych = peek(state);
1765
- if (yych == 'n') goto yy230;
1822
+ if (yych == 'n') goto yy235;
1766
1823
  goto yy52;
1767
- yy205:
1768
- skip(state);
1824
+ yy210:
1825
+ rbs_skip(state);
1769
1826
  yych = peek(state);
1770
- if (yych == 'e') goto yy231;
1827
+ if (yych == 'e') goto yy236;
1771
1828
  goto yy52;
1772
- yy206:
1773
- skip(state);
1829
+ yy211:
1830
+ rbs_skip(state);
1774
1831
  yych = peek(state);
1775
- if (yych == 'u') goto yy233;
1832
+ if (yych == 'u') goto yy238;
1776
1833
  goto yy52;
1777
- yy207:
1778
- skip(state);
1834
+ yy212:
1835
+ rbs_skip(state);
1779
1836
  yych = peek(state);
1780
- if (yych == 'a') goto yy234;
1837
+ if (yych == 'a') goto yy239;
1781
1838
  goto yy52;
1782
- yy208:
1783
- skip(state);
1839
+ yy213:
1840
+ rbs_skip(state);
1784
1841
  yych = peek(state);
1785
- if (yych == 'r') goto yy235;
1842
+ if (yych == 'r') goto yy240;
1786
1843
  goto yy52;
1787
- yy209:
1788
- skip(state);
1844
+ yy214:
1845
+ rbs_skip(state);
1789
1846
  yych = peek(state);
1790
- if (yych == 'l') goto yy236;
1847
+ if (yych == 'l') goto yy241;
1791
1848
  goto yy52;
1792
- yy210:
1793
- skip(state);
1849
+ yy215:
1850
+ rbs_skip(state);
1794
1851
  yych = peek(state);
1795
- if (yych == 'e') goto yy237;
1852
+ if (yych == 'e') goto yy242;
1796
1853
  goto yy52;
1797
- yy211:
1798
- skip(state);
1854
+ yy216:
1855
+ rbs_skip(state);
1799
1856
  yych = peek(state);
1800
- if (yych == 'a') goto yy238;
1857
+ if (yych == 'a') goto yy243;
1801
1858
  goto yy52;
1802
- yy212:
1803
- skip(state);
1859
+ yy217:
1860
+ rbs_skip(state);
1804
1861
  yych = peek(state);
1805
- if (yych == 'i') goto yy239;
1862
+ if (yych == 'i') goto yy244;
1806
1863
  goto yy52;
1807
- yy213:
1808
- skip(state);
1864
+ yy218:
1865
+ rbs_skip(state);
1809
1866
  yych = peek(state);
1810
1867
  if (yych <= '=') {
1811
1868
  if (yych <= '/') {
@@ -1816,24 +1873,24 @@ yy213:
1816
1873
  }
1817
1874
  } else {
1818
1875
  if (yych <= '^') {
1819
- if (yych <= '@') goto yy214;
1876
+ if (yych <= '@') goto yy219;
1820
1877
  if (yych <= 'Z') goto yy51;
1821
1878
  } else {
1822
- if (yych == '`') goto yy214;
1879
+ if (yych == '`') goto yy219;
1823
1880
  if (yych <= 'z') goto yy51;
1824
1881
  }
1825
1882
  }
1826
- yy214:
1883
+ yy219:
1827
1884
  #line 88 "ext/rbs_extension/lexer.re"
1828
1885
  { return next_token(state, kSELF); }
1829
- #line 1830 "ext/rbs_extension/lexer.c"
1830
- yy215:
1831
- skip(state);
1886
+ #line 1887 "ext/rbs_extension/lexer.c"
1887
+ yy220:
1888
+ rbs_skip(state);
1832
1889
  yych = peek(state);
1833
- if (yych == 'l') goto yy240;
1890
+ if (yych == 'l') goto yy245;
1834
1891
  goto yy52;
1835
- yy216:
1836
- skip(state);
1892
+ yy221:
1893
+ rbs_skip(state);
1837
1894
  yych = peek(state);
1838
1895
  if (yych <= '=') {
1839
1896
  if (yych <= '/') {
@@ -1844,19 +1901,19 @@ yy216:
1844
1901
  }
1845
1902
  } else {
1846
1903
  if (yych <= '^') {
1847
- if (yych <= '@') goto yy217;
1904
+ if (yych <= '@') goto yy222;
1848
1905
  if (yych <= 'Z') goto yy51;
1849
1906
  } else {
1850
- if (yych == '`') goto yy217;
1907
+ if (yych == '`') goto yy222;
1851
1908
  if (yych <= 'z') goto yy51;
1852
1909
  }
1853
1910
  }
1854
- yy217:
1911
+ yy222:
1855
1912
  #line 91 "ext/rbs_extension/lexer.re"
1856
1913
  { return next_token(state, kTRUE); }
1857
- #line 1858 "ext/rbs_extension/lexer.c"
1858
- yy218:
1859
- skip(state);
1914
+ #line 1915 "ext/rbs_extension/lexer.c"
1915
+ yy223:
1916
+ rbs_skip(state);
1860
1917
  yych = peek(state);
1861
1918
  if (yych <= '=') {
1862
1919
  if (yych <= '/') {
@@ -1867,29 +1924,29 @@ yy218:
1867
1924
  }
1868
1925
  } else {
1869
1926
  if (yych <= '^') {
1870
- if (yych <= '@') goto yy219;
1927
+ if (yych <= '@') goto yy224;
1871
1928
  if (yych <= 'Z') goto yy51;
1872
1929
  } else {
1873
- if (yych == '`') goto yy219;
1930
+ if (yych == '`') goto yy224;
1874
1931
  if (yych <= 'z') goto yy51;
1875
1932
  }
1876
1933
  }
1877
- yy219:
1934
+ yy224:
1878
1935
  #line 92 "ext/rbs_extension/lexer.re"
1879
1936
  { return next_token(state, kTYPE); }
1880
- #line 1881 "ext/rbs_extension/lexer.c"
1881
- yy220:
1882
- skip(state);
1937
+ #line 1938 "ext/rbs_extension/lexer.c"
1938
+ yy225:
1939
+ rbs_skip(state);
1883
1940
  yych = peek(state);
1884
- if (yych == 'e') goto yy241;
1941
+ if (yych == 'e') goto yy246;
1885
1942
  goto yy52;
1886
- yy221:
1887
- skip(state);
1943
+ yy226:
1944
+ rbs_skip(state);
1888
1945
  yych = peek(state);
1889
- if (yych == 'p') goto yy242;
1946
+ if (yych == 'p') goto yy247;
1890
1947
  goto yy52;
1891
- yy222:
1892
- skip(state);
1948
+ yy227:
1949
+ rbs_skip(state);
1893
1950
  yych = peek(state);
1894
1951
  if (yych <= '=') {
1895
1952
  if (yych <= '/') {
@@ -1900,22 +1957,22 @@ yy222:
1900
1957
  }
1901
1958
  } else {
1902
1959
  if (yych <= '^') {
1903
- if (yych <= '@') goto yy223;
1960
+ if (yych <= '@') goto yy228;
1904
1961
  if (yych <= 'Z') goto yy51;
1905
1962
  } else {
1906
- if (yych == '`') goto yy223;
1963
+ if (yych == '`') goto yy228;
1907
1964
  if (yych <= 'z') goto yy51;
1908
1965
  }
1909
1966
  }
1910
- yy223:
1967
+ yy228:
1911
1968
  #line 95 "ext/rbs_extension/lexer.re"
1912
1969
  { return next_token(state, kVOID); }
1913
- #line 1914 "ext/rbs_extension/lexer.c"
1914
- yy224:
1915
- skip(state);
1916
- goto yy197;
1917
- yy225:
1918
- skip(state);
1970
+ #line 1971 "ext/rbs_extension/lexer.c"
1971
+ yy229:
1972
+ rbs_skip(state);
1973
+ goto yy202;
1974
+ yy230:
1975
+ rbs_skip(state);
1919
1976
  yych = peek(state);
1920
1977
  if (yych <= '=') {
1921
1978
  if (yych <= '/') {
@@ -1926,30 +1983,30 @@ yy225:
1926
1983
  }
1927
1984
  } else {
1928
1985
  if (yych <= '^') {
1929
- if (yych <= '@') goto yy226;
1986
+ if (yych <= '@') goto yy231;
1930
1987
  if (yych <= 'Z') goto yy51;
1931
1988
  } else {
1932
- if (yych == '`') goto yy226;
1989
+ if (yych == '`') goto yy231;
1933
1990
  if (yych <= 'z') goto yy51;
1934
1991
  }
1935
1992
  }
1936
- yy226:
1993
+ yy231:
1937
1994
  #line 67 "ext/rbs_extension/lexer.re"
1938
1995
  { return next_token(state, kALIAS); }
1939
- #line 1940 "ext/rbs_extension/lexer.c"
1940
- yy227:
1941
- skip(state);
1996
+ #line 1997 "ext/rbs_extension/lexer.c"
1997
+ yy232:
1998
+ rbs_skip(state);
1942
1999
  yych = peek(state);
1943
2000
  if (yych <= 'q') {
1944
- if (yych == 'a') goto yy243;
2001
+ if (yych == 'a') goto yy248;
1945
2002
  goto yy52;
1946
2003
  } else {
1947
- if (yych <= 'r') goto yy244;
1948
- if (yych == 'w') goto yy245;
2004
+ if (yych <= 'r') goto yy249;
2005
+ if (yych == 'w') goto yy250;
1949
2006
  goto yy52;
1950
2007
  }
1951
- yy228:
1952
- skip(state);
2008
+ yy233:
2009
+ rbs_skip(state);
1953
2010
  yych = peek(state);
1954
2011
  if (yych <= '=') {
1955
2012
  if (yych <= '/') {
@@ -1960,24 +2017,24 @@ yy228:
1960
2017
  }
1961
2018
  } else {
1962
2019
  if (yych <= '^') {
1963
- if (yych <= '@') goto yy229;
2020
+ if (yych <= '@') goto yy234;
1964
2021
  if (yych <= 'Z') goto yy51;
1965
2022
  } else {
1966
- if (yych == '`') goto yy229;
2023
+ if (yych == '`') goto yy234;
1967
2024
  if (yych <= 'z') goto yy51;
1968
2025
  }
1969
2026
  }
1970
- yy229:
2027
+ yy234:
1971
2028
  #line 73 "ext/rbs_extension/lexer.re"
1972
2029
  { return next_token(state, kCLASS); }
1973
- #line 1974 "ext/rbs_extension/lexer.c"
1974
- yy230:
1975
- skip(state);
2030
+ #line 2031 "ext/rbs_extension/lexer.c"
2031
+ yy235:
2032
+ rbs_skip(state);
1976
2033
  yych = peek(state);
1977
- if (yych == 'd') goto yy246;
2034
+ if (yych == 'd') goto yy251;
1978
2035
  goto yy52;
1979
- yy231:
1980
- skip(state);
2036
+ yy236:
2037
+ rbs_skip(state);
1981
2038
  yych = peek(state);
1982
2039
  if (yych <= '=') {
1983
2040
  if (yych <= '/') {
@@ -1988,84 +2045,84 @@ yy231:
1988
2045
  }
1989
2046
  } else {
1990
2047
  if (yych <= '^') {
1991
- if (yych <= '@') goto yy232;
2048
+ if (yych <= '@') goto yy237;
1992
2049
  if (yych <= 'Z') goto yy51;
1993
2050
  } else {
1994
- if (yych == '`') goto yy232;
2051
+ if (yych == '`') goto yy237;
1995
2052
  if (yych <= 'z') goto yy51;
1996
2053
  }
1997
2054
  }
1998
- yy232:
2055
+ yy237:
1999
2056
  #line 77 "ext/rbs_extension/lexer.re"
2000
2057
  { return next_token(state, kFALSE); }
2001
- #line 2002 "ext/rbs_extension/lexer.c"
2002
- yy233:
2003
- skip(state);
2058
+ #line 2059 "ext/rbs_extension/lexer.c"
2059
+ yy238:
2060
+ rbs_skip(state);
2004
2061
  yych = peek(state);
2005
- if (yych == 'd') goto yy248;
2062
+ if (yych == 'd') goto yy253;
2006
2063
  goto yy52;
2007
- yy234:
2008
- skip(state);
2064
+ yy239:
2065
+ rbs_skip(state);
2009
2066
  yych = peek(state);
2010
- if (yych == 'n') goto yy249;
2067
+ if (yych == 'n') goto yy254;
2011
2068
  goto yy52;
2012
- yy235:
2013
- skip(state);
2069
+ yy240:
2070
+ rbs_skip(state);
2014
2071
  yych = peek(state);
2015
- if (yych == 'f') goto yy250;
2072
+ if (yych == 'f') goto yy255;
2016
2073
  goto yy52;
2017
- yy236:
2018
- skip(state);
2074
+ yy241:
2075
+ rbs_skip(state);
2019
2076
  yych = peek(state);
2020
- if (yych == 'e') goto yy251;
2077
+ if (yych == 'e') goto yy256;
2021
2078
  goto yy52;
2022
- yy237:
2023
- skip(state);
2079
+ yy242:
2080
+ rbs_skip(state);
2024
2081
  yych = peek(state);
2025
- if (yych == 'n') goto yy253;
2082
+ if (yych == 'n') goto yy258;
2026
2083
  goto yy52;
2027
- yy238:
2028
- skip(state);
2084
+ yy243:
2085
+ rbs_skip(state);
2029
2086
  yych = peek(state);
2030
- if (yych == 't') goto yy254;
2087
+ if (yych == 't') goto yy259;
2031
2088
  goto yy52;
2032
- yy239:
2033
- skip(state);
2089
+ yy244:
2090
+ rbs_skip(state);
2034
2091
  yych = peek(state);
2035
- if (yych == 'c') goto yy255;
2092
+ if (yych == 'c') goto yy260;
2036
2093
  goto yy52;
2037
- yy240:
2038
- skip(state);
2094
+ yy245:
2095
+ rbs_skip(state);
2039
2096
  yych = peek(state);
2040
- if (yych == 'e') goto yy257;
2097
+ if (yych == 'e') goto yy262;
2041
2098
  goto yy52;
2042
- yy241:
2043
- skip(state);
2099
+ yy246:
2100
+ rbs_skip(state);
2044
2101
  yych = peek(state);
2045
- if (yych == 'c') goto yy258;
2102
+ if (yych == 'c') goto yy263;
2046
2103
  goto yy52;
2047
- yy242:
2048
- skip(state);
2104
+ yy247:
2105
+ rbs_skip(state);
2049
2106
  yych = peek(state);
2050
- if (yych == 'e') goto yy259;
2107
+ if (yych == 'e') goto yy264;
2051
2108
  goto yy52;
2052
- yy243:
2053
- skip(state);
2109
+ yy248:
2110
+ rbs_skip(state);
2054
2111
  yych = peek(state);
2055
- if (yych == 'c') goto yy260;
2112
+ if (yych == 'c') goto yy265;
2056
2113
  goto yy52;
2057
- yy244:
2058
- skip(state);
2114
+ yy249:
2115
+ rbs_skip(state);
2059
2116
  yych = peek(state);
2060
- if (yych == 'e') goto yy261;
2117
+ if (yych == 'e') goto yy266;
2061
2118
  goto yy52;
2062
- yy245:
2063
- skip(state);
2119
+ yy250:
2120
+ rbs_skip(state);
2064
2121
  yych = peek(state);
2065
- if (yych == 'r') goto yy262;
2122
+ if (yych == 'r') goto yy267;
2066
2123
  goto yy52;
2067
- yy246:
2068
- skip(state);
2124
+ yy251:
2125
+ rbs_skip(state);
2069
2126
  yych = peek(state);
2070
2127
  if (yych <= '=') {
2071
2128
  if (yych <= '/') {
@@ -2076,34 +2133,34 @@ yy246:
2076
2133
  }
2077
2134
  } else {
2078
2135
  if (yych <= '^') {
2079
- if (yych <= '@') goto yy247;
2136
+ if (yych <= '@') goto yy252;
2080
2137
  if (yych <= 'Z') goto yy51;
2081
2138
  } else {
2082
- if (yych == '`') goto yy247;
2139
+ if (yych == '`') goto yy252;
2083
2140
  if (yych <= 'z') goto yy51;
2084
2141
  }
2085
2142
  }
2086
- yy247:
2143
+ yy252:
2087
2144
  #line 76 "ext/rbs_extension/lexer.re"
2088
2145
  { return next_token(state, kEXTEND); }
2089
- #line 2090 "ext/rbs_extension/lexer.c"
2090
- yy248:
2091
- skip(state);
2146
+ #line 2147 "ext/rbs_extension/lexer.c"
2147
+ yy253:
2148
+ rbs_skip(state);
2092
2149
  yych = peek(state);
2093
- if (yych == 'e') goto yy263;
2150
+ if (yych == 'e') goto yy268;
2094
2151
  goto yy52;
2095
- yy249:
2096
- skip(state);
2152
+ yy254:
2153
+ rbs_skip(state);
2097
2154
  yych = peek(state);
2098
- if (yych == 'c') goto yy265;
2155
+ if (yych == 'c') goto yy270;
2099
2156
  goto yy52;
2100
- yy250:
2101
- skip(state);
2157
+ yy255:
2158
+ rbs_skip(state);
2102
2159
  yych = peek(state);
2103
- if (yych == 'a') goto yy266;
2160
+ if (yych == 'a') goto yy271;
2104
2161
  goto yy52;
2105
- yy251:
2106
- skip(state);
2162
+ yy256:
2163
+ rbs_skip(state);
2107
2164
  yych = peek(state);
2108
2165
  if (yych <= '=') {
2109
2166
  if (yych <= '/') {
@@ -2114,29 +2171,29 @@ yy251:
2114
2171
  }
2115
2172
  } else {
2116
2173
  if (yych <= '^') {
2117
- if (yych <= '@') goto yy252;
2174
+ if (yych <= '@') goto yy257;
2118
2175
  if (yych <= 'Z') goto yy51;
2119
2176
  } else {
2120
- if (yych == '`') goto yy252;
2177
+ if (yych == '`') goto yy257;
2121
2178
  if (yych <= 'z') goto yy51;
2122
2179
  }
2123
2180
  }
2124
- yy252:
2181
+ yy257:
2125
2182
  #line 82 "ext/rbs_extension/lexer.re"
2126
2183
  { return next_token(state, kMODULE); }
2127
- #line 2128 "ext/rbs_extension/lexer.c"
2128
- yy253:
2129
- skip(state);
2184
+ #line 2185 "ext/rbs_extension/lexer.c"
2185
+ yy258:
2186
+ rbs_skip(state);
2130
2187
  yych = peek(state);
2131
- if (yych == 'd') goto yy267;
2188
+ if (yych == 'd') goto yy272;
2132
2189
  goto yy52;
2133
- yy254:
2134
- skip(state);
2190
+ yy259:
2191
+ rbs_skip(state);
2135
2192
  yych = peek(state);
2136
- if (yych == 'e') goto yy269;
2193
+ if (yych == 'e') goto yy274;
2137
2194
  goto yy52;
2138
- yy255:
2139
- skip(state);
2195
+ yy260:
2196
+ rbs_skip(state);
2140
2197
  yych = peek(state);
2141
2198
  if (yych <= '=') {
2142
2199
  if (yych <= '/') {
@@ -2147,49 +2204,49 @@ yy255:
2147
2204
  }
2148
2205
  } else {
2149
2206
  if (yych <= '^') {
2150
- if (yych <= '@') goto yy256;
2207
+ if (yych <= '@') goto yy261;
2151
2208
  if (yych <= 'Z') goto yy51;
2152
2209
  } else {
2153
- if (yych == '`') goto yy256;
2210
+ if (yych == '`') goto yy261;
2154
2211
  if (yych <= 'z') goto yy51;
2155
2212
  }
2156
2213
  }
2157
- yy256:
2214
+ yy261:
2158
2215
  #line 87 "ext/rbs_extension/lexer.re"
2159
2216
  { return next_token(state, kPUBLIC); }
2160
- #line 2161 "ext/rbs_extension/lexer.c"
2161
- yy257:
2162
- skip(state);
2217
+ #line 2218 "ext/rbs_extension/lexer.c"
2218
+ yy262:
2219
+ rbs_skip(state);
2163
2220
  yych = peek(state);
2164
- if (yych == 't') goto yy271;
2221
+ if (yych == 't') goto yy276;
2165
2222
  goto yy52;
2166
- yy258:
2167
- skip(state);
2223
+ yy263:
2224
+ rbs_skip(state);
2168
2225
  yych = peek(state);
2169
- if (yych == 'k') goto yy272;
2226
+ if (yych == 'k') goto yy277;
2170
2227
  goto yy52;
2171
- yy259:
2172
- skip(state);
2228
+ yy264:
2229
+ rbs_skip(state);
2173
2230
  yych = peek(state);
2174
- if (yych == 'd') goto yy273;
2231
+ if (yych == 'd') goto yy278;
2175
2232
  goto yy52;
2176
- yy260:
2177
- skip(state);
2233
+ yy265:
2234
+ rbs_skip(state);
2178
2235
  yych = peek(state);
2179
- if (yych == 'c') goto yy275;
2236
+ if (yych == 'c') goto yy280;
2180
2237
  goto yy52;
2181
- yy261:
2182
- skip(state);
2238
+ yy266:
2239
+ rbs_skip(state);
2183
2240
  yych = peek(state);
2184
- if (yych == 'a') goto yy276;
2241
+ if (yych == 'a') goto yy281;
2185
2242
  goto yy52;
2186
- yy262:
2187
- skip(state);
2243
+ yy267:
2244
+ rbs_skip(state);
2188
2245
  yych = peek(state);
2189
- if (yych == 'i') goto yy277;
2246
+ if (yych == 'i') goto yy282;
2190
2247
  goto yy52;
2191
- yy263:
2192
- skip(state);
2248
+ yy268:
2249
+ rbs_skip(state);
2193
2250
  yych = peek(state);
2194
2251
  if (yych <= '=') {
2195
2252
  if (yych <= '/') {
@@ -2200,29 +2257,29 @@ yy263:
2200
2257
  }
2201
2258
  } else {
2202
2259
  if (yych <= '^') {
2203
- if (yych <= '@') goto yy264;
2260
+ if (yych <= '@') goto yy269;
2204
2261
  if (yych <= 'Z') goto yy51;
2205
2262
  } else {
2206
- if (yych == '`') goto yy264;
2263
+ if (yych == '`') goto yy269;
2207
2264
  if (yych <= 'z') goto yy51;
2208
2265
  }
2209
2266
  }
2210
- yy264:
2267
+ yy269:
2211
2268
  #line 79 "ext/rbs_extension/lexer.re"
2212
2269
  { return next_token(state, kINCLUDE); }
2213
- #line 2214 "ext/rbs_extension/lexer.c"
2214
- yy265:
2215
- skip(state);
2270
+ #line 2271 "ext/rbs_extension/lexer.c"
2271
+ yy270:
2272
+ rbs_skip(state);
2216
2273
  yych = peek(state);
2217
- if (yych == 'e') goto yy278;
2274
+ if (yych == 'e') goto yy283;
2218
2275
  goto yy52;
2219
- yy266:
2220
- skip(state);
2276
+ yy271:
2277
+ rbs_skip(state);
2221
2278
  yych = peek(state);
2222
- if (yych == 'c') goto yy280;
2279
+ if (yych == 'c') goto yy285;
2223
2280
  goto yy52;
2224
- yy267:
2225
- skip(state);
2281
+ yy272:
2282
+ rbs_skip(state);
2226
2283
  yych = peek(state);
2227
2284
  if (yych <= '=') {
2228
2285
  if (yych <= '/') {
@@ -2233,19 +2290,19 @@ yy267:
2233
2290
  }
2234
2291
  } else {
2235
2292
  if (yych <= '^') {
2236
- if (yych <= '@') goto yy268;
2293
+ if (yych <= '@') goto yy273;
2237
2294
  if (yych <= 'Z') goto yy51;
2238
2295
  } else {
2239
- if (yych == '`') goto yy268;
2296
+ if (yych == '`') goto yy273;
2240
2297
  if (yych <= 'z') goto yy51;
2241
2298
  }
2242
2299
  }
2243
- yy268:
2300
+ yy273:
2244
2301
  #line 85 "ext/rbs_extension/lexer.re"
2245
2302
  { return next_token(state, kPREPEND); }
2246
- #line 2247 "ext/rbs_extension/lexer.c"
2247
- yy269:
2248
- skip(state);
2303
+ #line 2304 "ext/rbs_extension/lexer.c"
2304
+ yy274:
2305
+ rbs_skip(state);
2249
2306
  yych = peek(state);
2250
2307
  if (yych <= '=') {
2251
2308
  if (yych <= '/') {
@@ -2256,29 +2313,29 @@ yy269:
2256
2313
  }
2257
2314
  } else {
2258
2315
  if (yych <= '^') {
2259
- if (yych <= '@') goto yy270;
2316
+ if (yych <= '@') goto yy275;
2260
2317
  if (yych <= 'Z') goto yy51;
2261
2318
  } else {
2262
- if (yych == '`') goto yy270;
2319
+ if (yych == '`') goto yy275;
2263
2320
  if (yych <= 'z') goto yy51;
2264
2321
  }
2265
2322
  }
2266
- yy270:
2323
+ yy275:
2267
2324
  #line 86 "ext/rbs_extension/lexer.re"
2268
2325
  { return next_token(state, kPRIVATE); }
2269
- #line 2270 "ext/rbs_extension/lexer.c"
2270
- yy271:
2271
- skip(state);
2326
+ #line 2327 "ext/rbs_extension/lexer.c"
2327
+ yy276:
2328
+ rbs_skip(state);
2272
2329
  yych = peek(state);
2273
- if (yych == 'o') goto yy281;
2330
+ if (yych == 'o') goto yy286;
2274
2331
  goto yy52;
2275
- yy272:
2276
- skip(state);
2332
+ yy277:
2333
+ rbs_skip(state);
2277
2334
  yych = peek(state);
2278
- if (yych == 'e') goto yy282;
2335
+ if (yych == 'e') goto yy287;
2279
2336
  goto yy52;
2280
- yy273:
2281
- skip(state);
2337
+ yy278:
2338
+ rbs_skip(state);
2282
2339
  yych = peek(state);
2283
2340
  if (yych <= '=') {
2284
2341
  if (yych <= '/') {
@@ -2289,34 +2346,34 @@ yy273:
2289
2346
  }
2290
2347
  } else {
2291
2348
  if (yych <= '^') {
2292
- if (yych <= '@') goto yy274;
2349
+ if (yych <= '@') goto yy279;
2293
2350
  if (yych <= 'Z') goto yy51;
2294
2351
  } else {
2295
- if (yych == '`') goto yy274;
2352
+ if (yych == '`') goto yy279;
2296
2353
  if (yych <= 'z') goto yy51;
2297
2354
  }
2298
2355
  }
2299
- yy274:
2356
+ yy279:
2300
2357
  #line 94 "ext/rbs_extension/lexer.re"
2301
2358
  { return next_token(state, kUNTYPED); }
2302
- #line 2303 "ext/rbs_extension/lexer.c"
2303
- yy275:
2304
- skip(state);
2359
+ #line 2360 "ext/rbs_extension/lexer.c"
2360
+ yy280:
2361
+ rbs_skip(state);
2305
2362
  yych = peek(state);
2306
- if (yych == 'e') goto yy283;
2363
+ if (yych == 'e') goto yy288;
2307
2364
  goto yy52;
2308
- yy276:
2309
- skip(state);
2365
+ yy281:
2366
+ rbs_skip(state);
2310
2367
  yych = peek(state);
2311
- if (yych == 'd') goto yy284;
2368
+ if (yych == 'd') goto yy289;
2312
2369
  goto yy52;
2313
- yy277:
2314
- skip(state);
2370
+ yy282:
2371
+ rbs_skip(state);
2315
2372
  yych = peek(state);
2316
- if (yych == 't') goto yy285;
2373
+ if (yych == 't') goto yy290;
2317
2374
  goto yy52;
2318
- yy278:
2319
- skip(state);
2375
+ yy283:
2376
+ rbs_skip(state);
2320
2377
  yych = peek(state);
2321
2378
  if (yych <= '=') {
2322
2379
  if (yych <= '/') {
@@ -2327,49 +2384,49 @@ yy278:
2327
2384
  }
2328
2385
  } else {
2329
2386
  if (yych <= '^') {
2330
- if (yych <= '@') goto yy279;
2387
+ if (yych <= '@') goto yy284;
2331
2388
  if (yych <= 'Z') goto yy51;
2332
2389
  } else {
2333
- if (yych == '`') goto yy279;
2390
+ if (yych == '`') goto yy284;
2334
2391
  if (yych <= 'z') goto yy51;
2335
2392
  }
2336
2393
  }
2337
- yy279:
2394
+ yy284:
2338
2395
  #line 80 "ext/rbs_extension/lexer.re"
2339
2396
  { return next_token(state, kINSTANCE); }
2340
- #line 2341 "ext/rbs_extension/lexer.c"
2341
- yy280:
2342
- skip(state);
2397
+ #line 2398 "ext/rbs_extension/lexer.c"
2398
+ yy285:
2399
+ rbs_skip(state);
2343
2400
  yych = peek(state);
2344
- if (yych == 'e') goto yy286;
2401
+ if (yych == 'e') goto yy291;
2345
2402
  goto yy52;
2346
- yy281:
2347
- skip(state);
2403
+ yy286:
2404
+ rbs_skip(state);
2348
2405
  yych = peek(state);
2349
- if (yych == 'n') goto yy288;
2406
+ if (yych == 'n') goto yy293;
2350
2407
  goto yy52;
2351
- yy282:
2352
- skip(state);
2408
+ yy287:
2409
+ rbs_skip(state);
2353
2410
  yych = peek(state);
2354
- if (yych == 'd') goto yy290;
2411
+ if (yych == 'd') goto yy295;
2355
2412
  goto yy52;
2356
- yy283:
2357
- skip(state);
2413
+ yy288:
2414
+ rbs_skip(state);
2358
2415
  yych = peek(state);
2359
- if (yych == 's') goto yy292;
2416
+ if (yych == 's') goto yy297;
2360
2417
  goto yy52;
2361
- yy284:
2362
- skip(state);
2418
+ yy289:
2419
+ rbs_skip(state);
2363
2420
  yych = peek(state);
2364
- if (yych == 'e') goto yy293;
2421
+ if (yych == 'e') goto yy298;
2365
2422
  goto yy52;
2366
- yy285:
2367
- skip(state);
2423
+ yy290:
2424
+ rbs_skip(state);
2368
2425
  yych = peek(state);
2369
- if (yych == 'e') goto yy294;
2426
+ if (yych == 'e') goto yy299;
2370
2427
  goto yy52;
2371
- yy286:
2372
- skip(state);
2428
+ yy291:
2429
+ rbs_skip(state);
2373
2430
  yych = peek(state);
2374
2431
  if (yych <= '=') {
2375
2432
  if (yych <= '/') {
@@ -2380,19 +2437,19 @@ yy286:
2380
2437
  }
2381
2438
  } else {
2382
2439
  if (yych <= '^') {
2383
- if (yych <= '@') goto yy287;
2440
+ if (yych <= '@') goto yy292;
2384
2441
  if (yych <= 'Z') goto yy51;
2385
2442
  } else {
2386
- if (yych == '`') goto yy287;
2443
+ if (yych == '`') goto yy292;
2387
2444
  if (yych <= 'z') goto yy51;
2388
2445
  }
2389
2446
  }
2390
- yy287:
2447
+ yy292:
2391
2448
  #line 81 "ext/rbs_extension/lexer.re"
2392
2449
  { return next_token(state, kINTERFACE); }
2393
- #line 2394 "ext/rbs_extension/lexer.c"
2394
- yy288:
2395
- skip(state);
2450
+ #line 2451 "ext/rbs_extension/lexer.c"
2451
+ yy293:
2452
+ rbs_skip(state);
2396
2453
  yych = peek(state);
2397
2454
  if (yych <= '=') {
2398
2455
  if (yych <= '/') {
@@ -2403,19 +2460,19 @@ yy288:
2403
2460
  }
2404
2461
  } else {
2405
2462
  if (yych <= '^') {
2406
- if (yych <= '@') goto yy289;
2463
+ if (yych <= '@') goto yy294;
2407
2464
  if (yych <= 'Z') goto yy51;
2408
2465
  } else {
2409
- if (yych == '`') goto yy289;
2466
+ if (yych == '`') goto yy294;
2410
2467
  if (yych <= 'z') goto yy51;
2411
2468
  }
2412
2469
  }
2413
- yy289:
2470
+ yy294:
2414
2471
  #line 89 "ext/rbs_extension/lexer.re"
2415
2472
  { return next_token(state, kSINGLETON); }
2416
- #line 2417 "ext/rbs_extension/lexer.c"
2417
- yy290:
2418
- skip(state);
2473
+ #line 2474 "ext/rbs_extension/lexer.c"
2474
+ yy295:
2475
+ rbs_skip(state);
2419
2476
  yych = peek(state);
2420
2477
  if (yych <= '=') {
2421
2478
  if (yych <= '/') {
@@ -2426,39 +2483,39 @@ yy290:
2426
2483
  }
2427
2484
  } else {
2428
2485
  if (yych <= '^') {
2429
- if (yych <= '@') goto yy291;
2486
+ if (yych <= '@') goto yy296;
2430
2487
  if (yych <= 'Z') goto yy51;
2431
2488
  } else {
2432
- if (yych == '`') goto yy291;
2489
+ if (yych == '`') goto yy296;
2433
2490
  if (yych <= 'z') goto yy51;
2434
2491
  }
2435
2492
  }
2436
- yy291:
2493
+ yy296:
2437
2494
  #line 93 "ext/rbs_extension/lexer.re"
2438
2495
  { return next_token(state, kUNCHECKED); }
2439
- #line 2440 "ext/rbs_extension/lexer.c"
2440
- yy292:
2441
- skip(state);
2496
+ #line 2497 "ext/rbs_extension/lexer.c"
2497
+ yy297:
2498
+ rbs_skip(state);
2442
2499
  yych = peek(state);
2443
- if (yych == 's') goto yy295;
2500
+ if (yych == 's') goto yy300;
2444
2501
  goto yy52;
2445
- yy293:
2446
- skip(state);
2502
+ yy298:
2503
+ rbs_skip(state);
2447
2504
  yych = peek(state);
2448
- if (yych == 'r') goto yy296;
2505
+ if (yych == 'r') goto yy301;
2449
2506
  goto yy52;
2450
- yy294:
2451
- skip(state);
2507
+ yy299:
2508
+ rbs_skip(state);
2452
2509
  yych = peek(state);
2453
- if (yych == 'r') goto yy298;
2510
+ if (yych == 'r') goto yy303;
2454
2511
  goto yy52;
2455
- yy295:
2456
- skip(state);
2512
+ yy300:
2513
+ rbs_skip(state);
2457
2514
  yych = peek(state);
2458
- if (yych == 'o') goto yy300;
2515
+ if (yych == 'o') goto yy305;
2459
2516
  goto yy52;
2460
- yy296:
2461
- skip(state);
2517
+ yy301:
2518
+ rbs_skip(state);
2462
2519
  yych = peek(state);
2463
2520
  if (yych <= '=') {
2464
2521
  if (yych <= '/') {
@@ -2469,19 +2526,19 @@ yy296:
2469
2526
  }
2470
2527
  } else {
2471
2528
  if (yych <= '^') {
2472
- if (yych <= '@') goto yy297;
2529
+ if (yych <= '@') goto yy302;
2473
2530
  if (yych <= 'Z') goto yy51;
2474
2531
  } else {
2475
- if (yych == '`') goto yy297;
2532
+ if (yych == '`') goto yy302;
2476
2533
  if (yych <= 'z') goto yy51;
2477
2534
  }
2478
2535
  }
2479
- yy297:
2536
+ yy302:
2480
2537
  #line 69 "ext/rbs_extension/lexer.re"
2481
2538
  { return next_token(state, kATTRREADER); }
2482
- #line 2483 "ext/rbs_extension/lexer.c"
2483
- yy298:
2484
- skip(state);
2539
+ #line 2540 "ext/rbs_extension/lexer.c"
2540
+ yy303:
2541
+ rbs_skip(state);
2485
2542
  yych = peek(state);
2486
2543
  if (yych <= '=') {
2487
2544
  if (yych <= '/') {
@@ -2492,22 +2549,22 @@ yy298:
2492
2549
  }
2493
2550
  } else {
2494
2551
  if (yych <= '^') {
2495
- if (yych <= '@') goto yy299;
2552
+ if (yych <= '@') goto yy304;
2496
2553
  if (yych <= 'Z') goto yy51;
2497
2554
  } else {
2498
- if (yych == '`') goto yy299;
2555
+ if (yych == '`') goto yy304;
2499
2556
  if (yych <= 'z') goto yy51;
2500
2557
  }
2501
2558
  }
2502
- yy299:
2559
+ yy304:
2503
2560
  #line 70 "ext/rbs_extension/lexer.re"
2504
2561
  { return next_token(state, kATTRWRITER); }
2505
- #line 2506 "ext/rbs_extension/lexer.c"
2506
- yy300:
2507
- skip(state);
2562
+ #line 2563 "ext/rbs_extension/lexer.c"
2563
+ yy305:
2564
+ rbs_skip(state);
2508
2565
  yych = peek(state);
2509
2566
  if (yych != 'r') goto yy52;
2510
- skip(state);
2567
+ rbs_skip(state);
2511
2568
  yych = peek(state);
2512
2569
  if (yych <= '=') {
2513
2570
  if (yych <= '/') {
@@ -2518,18 +2575,18 @@ yy300:
2518
2575
  }
2519
2576
  } else {
2520
2577
  if (yych <= '^') {
2521
- if (yych <= '@') goto yy301;
2578
+ if (yych <= '@') goto yy306;
2522
2579
  if (yych <= 'Z') goto yy51;
2523
2580
  } else {
2524
- if (yych == '`') goto yy301;
2581
+ if (yych == '`') goto yy306;
2525
2582
  if (yych <= 'z') goto yy51;
2526
2583
  }
2527
2584
  }
2528
- yy301:
2585
+ yy306:
2529
2586
  #line 68 "ext/rbs_extension/lexer.re"
2530
2587
  { return next_token(state, kATTRACCESSOR); }
2531
- #line 2532 "ext/rbs_extension/lexer.c"
2588
+ #line 2589 "ext/rbs_extension/lexer.c"
2532
2589
  }
2533
- #line 140 "ext/rbs_extension/lexer.re"
2590
+ #line 142 "ext/rbs_extension/lexer.re"
2534
2591
 
2535
2592
  }