rbs 3.2.2 → 3.3.0.pre.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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
  }