rbs 3.0.0.dev.1 → 3.0.0.dev.2

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 (75) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby.yml +0 -3
  3. data/CHANGELOG.md +28 -0
  4. data/Gemfile.lock +2 -2
  5. data/README.md +1 -0
  6. data/Rakefile +75 -1
  7. data/core/array.rbs +1 -1
  8. data/core/builtin.rbs +1 -1
  9. data/core/hash.rbs +1 -1
  10. data/core/module.rbs +1 -1
  11. data/ext/rbs_extension/constants.c +16 -2
  12. data/ext/rbs_extension/constants.h +8 -1
  13. data/ext/rbs_extension/extconf.rb +1 -1
  14. data/ext/rbs_extension/lexer.c +834 -777
  15. data/ext/rbs_extension/lexer.h +3 -1
  16. data/ext/rbs_extension/lexer.re +3 -1
  17. data/ext/rbs_extension/lexstate.c +4 -2
  18. data/ext/rbs_extension/parser.c +264 -44
  19. data/ext/rbs_extension/ruby_objs.c +56 -2
  20. data/ext/rbs_extension/ruby_objs.h +7 -1
  21. data/lib/rbs/annotate/rdoc_annotator.rb +1 -1
  22. data/lib/rbs/ast/declarations.rb +49 -2
  23. data/lib/rbs/ast/directives.rb +39 -0
  24. data/lib/rbs/cli.rb +32 -18
  25. data/lib/rbs/collection/config/lockfile_generator.rb +25 -20
  26. data/lib/rbs/collection/config.rb +2 -2
  27. data/lib/rbs/collection/sources/git.rb +1 -1
  28. data/lib/rbs/definition_builder/ancestor_builder.rb +24 -8
  29. data/lib/rbs/definition_builder.rb +8 -8
  30. data/lib/rbs/environment/use_map.rb +77 -0
  31. data/lib/rbs/environment.rb +352 -83
  32. data/lib/rbs/environment_loader.rb +9 -7
  33. data/lib/rbs/environment_walker.rb +1 -1
  34. data/lib/rbs/errors.rb +34 -37
  35. data/lib/rbs/locator.rb +1 -1
  36. data/lib/rbs/parser_aux.rb +8 -6
  37. data/lib/rbs/resolver/constant_resolver.rb +23 -7
  38. data/lib/rbs/resolver/type_name_resolver.rb +2 -1
  39. data/lib/rbs/sorter.rb +3 -3
  40. data/lib/rbs/test/setup.rb +1 -1
  41. data/lib/rbs/type_alias_dependency.rb +1 -1
  42. data/lib/rbs/type_alias_regularity.rb +3 -3
  43. data/lib/rbs/validator.rb +23 -2
  44. data/lib/rbs/variance_calculator.rb +2 -2
  45. data/lib/rbs/version.rb +1 -1
  46. data/lib/rbs/writer.rb +28 -2
  47. data/lib/rbs.rb +2 -2
  48. data/lib/rdoc_plugin/parser.rb +2 -2
  49. data/rbs.gemspec +1 -1
  50. data/sig/ancestor_graph.rbs +22 -2
  51. data/sig/collection/config/lockfile_generator.rbs +8 -10
  52. data/sig/collection/config.rbs +1 -1
  53. data/sig/collection/sources.rbs +12 -6
  54. data/sig/constant.rbs +1 -1
  55. data/sig/declarations.rbs +36 -3
  56. data/sig/definition.rbs +1 -1
  57. data/sig/definition_builder.rbs +0 -1
  58. data/sig/directives.rbs +61 -0
  59. data/sig/environment.rbs +150 -28
  60. data/sig/environment_loader.rbs +1 -1
  61. data/sig/errors.rbs +22 -1
  62. data/sig/parser.rbs +8 -15
  63. data/sig/resolver/constant_resolver.rbs +1 -2
  64. data/sig/shims/bundler.rbs +18 -0
  65. data/sig/shims/rubygems.rbs +6 -0
  66. data/sig/use_map.rbs +35 -0
  67. data/sig/validator.rbs +12 -5
  68. data/sig/writer.rbs +4 -2
  69. metadata +7 -9
  70. data/lib/rbs/constant_table.rb +0 -167
  71. data/lib/rbs/type_name_resolver.rb +0 -67
  72. data/sig/constant_table.rbs +0 -30
  73. data/sig/type_name_resolver.rbs +0 -26
  74. data/steep/Gemfile +0 -3
  75. 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
  }