rbs 2.8.4 → 3.8.1

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