rbs 3.3.2 → 3.4.0.pre.1

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