rbs 3.2.2 → 3.3.0.pre.1

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