From 2602c22e992f4fe0e6aa77ffab04c5a2dc5a8a47 Mon Sep 17 00:00:00 2001 From: Joe Truba Date: Sat, 18 Nov 2023 11:00:24 -0800 Subject: [PATCH] Stop accidentally relying on untyped objects (#69) From sorbet/sorbet#7038, the return type from `self.class` in a module that uses `mixes_in_class_methods` is untyped. To get better type coverage, I am removing most uses of `self.class` in the library. This also allows me to stop relying on `include Kernel` in the various `Interfaces`, and to start treating the protocol objects as proper singletons. These changes do not affect any public APIs, so there is no version change. Resolves #69 --- Gemfile | 8 +- Gemfile.lock | 20 +- .../bullseye/.devcontainer/devcontainer.json | 4 +- .../jammy/.devcontainer/devcontainer.json | 4 +- gemfiles/openssl_3.0.gemfile | 8 +- gemfiles/openssl_3.0.gemfile.lock | 56 +- gemfiles/rbnacl.gemfile | 8 +- gemfiles/rbnacl.gemfile.lock | 60 +- gemfiles/standalone.gemfile | 8 +- gemfiles/standalone.gemfile.lock | 58 +- lib/paseto/interface/pbkd.rb | 20 +- lib/paseto/interface/pie.rb | 31 +- lib/paseto/interface/pke.rb | 66 +- lib/paseto/interface/version.rb | 147 +- lib/paseto/operations/id/i_dv3.rb | 2 +- lib/paseto/operations/id/i_dv4.rb | 2 +- lib/paseto/operations/pbkd/p_b_k_dv3.rb | 5 +- lib/paseto/operations/pbkd/p_b_k_dv4.rb | 5 +- lib/paseto/operations/pke/p_k_ev3.rb | 46 +- lib/paseto/operations/pke/p_k_ev4.rb | 60 +- lib/paseto/protocol/version3.rb | 29 +- lib/paseto/protocol/version4.rb | 29 +- lib/paseto/v3/local.rb | 2 +- lib/paseto/v3/public.rb | 2 +- lib/paseto/v4/local.rb | 2 +- lib/paseto/v4/public.rb | 2 +- lib/paseto/versions.rb | 4 +- lib/paseto/wrappers/pie/pie_v3.rb | 37 +- lib/paseto/wrappers/pie/pie_v4.rb | 35 +- sorbet/rbi/annotations/rainbow.rbi | 2 +- sorbet/rbi/gems/commander@4.6.0.rbi | 8 + sorbet/rbi/gems/diff-lcs@1.5.0.rbi | 2 +- sorbet/rbi/gems/docile@1.4.0.rbi | 2 +- sorbet/rbi/gems/erubi@1.12.0.rbi | 145 + sorbet/rbi/gems/ffi@1.15.5.rbi | 4 +- sorbet/rbi/gems/highline@2.0.3.rbi | 8 + .../rbi/gems/{irb@1.6.3.rbi => irb@1.6.4.rbi} | 0 sorbet/rbi/gems/json@2.6.3.rbi | 138 +- sorbet/rbi/gems/kwalify@0.7.2.rbi | 1401 + .../language_server-protocol@3.17.0.3.rbi | 14237 ++++++++++ .../rbi/gems/{oj@3.14.2.rbi => oj@3.15.0.rbi} | 63 +- sorbet/rbi/gems/openssl@3.1.0.rbi | 34 - ...arallel@1.22.1.rbi => parallel@1.23.0.rbi} | 154 +- sorbet/rbi/gems/prettier_print@1.2.1.rbi | 951 + sorbet/rbi/gems/racc@1.7.1.rbi | 161 + sorbet/rbi/gems/rainbow@3.1.1.rbi | 7 +- sorbet/rbi/gems/rake@13.0.6.rbi | 11 +- sorbet/rbi/gems/rbnacl@7.1.1.rbi | 4 +- ...rser@2.7.0.rbi => regexp_parser@2.8.1.rbi} | 1125 +- .../{reline@0.3.2.rbi => reline@0.3.3.rbi} | 0 sorbet/rbi/gems/rexml@3.2.5.rbi | 4 +- sorbet/rbi/gems/rspec-expectations@3.12.2.rbi | 6 - sorbet/rbi/gems/rspec-mocks@3.12.4.rbi | 6 - sorbet/rbi/gems/rspec-support@3.12.0.rbi | 52 +- sorbet/rbi/gems/rspec@3.12.0.rbi | 50 +- sorbet/rbi/gems/rubocop-capybara@2.18.0.rbi | 827 + .../rbi/gems/rubocop-factory_bot@2.22.0.rbi | 529 + sorbet/rbi/gems/simplecov-html@0.12.3.rbi | 85 +- .../gems/simplecov_json_formatter@0.1.4.rbi | 234 +- sorbet/rbi/gems/syntax_tree@6.1.1.rbi | 22855 ++++++++++++++++ .../gems/{thor@1.2.1.rbi => thor@1.2.2.rbi} | 133 +- sorbet/rbi/gems/timecop@0.9.6.rbi | 3 - sorbet/rbi/gems/webrick@1.7.0.rbi | 2555 -- ...sorbet@0.8.0.rbi => yard-sorbet@0.8.1.rbi} | 39 +- .../gems/{yard@0.9.28.rbi => yard@0.9.34.rbi} | 1107 +- ...{zeitwerk@2.6.7.rbi => zeitwerk@2.6.8.rbi} | 0 sorbet/rbi/todo.rbi | 6 +- spec/vectors/k3_local-pw_spec.rb | 12 +- spec/vectors/k3_secret-pw_spec.rb | 6 +- spec/vectors/k4_local-pw_spec.rb | 12 +- spec/vectors/k4_secret-pw_spec.rb | 6 +- .../vectors/templates/k3_local-pw_example.erb | 2 +- .../templates/k3_secret-pw_example.erb | 2 +- .../vectors/templates/k4_local-pw_example.erb | 2 +- .../templates/k4_secret-pw_example.erb | 2 +- 75 files changed, 43429 insertions(+), 4323 deletions(-) create mode 100644 sorbet/rbi/gems/commander@4.6.0.rbi create mode 100644 sorbet/rbi/gems/erubi@1.12.0.rbi create mode 100644 sorbet/rbi/gems/highline@2.0.3.rbi rename sorbet/rbi/gems/{irb@1.6.3.rbi => irb@1.6.4.rbi} (100%) create mode 100644 sorbet/rbi/gems/kwalify@0.7.2.rbi create mode 100644 sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi rename sorbet/rbi/gems/{oj@3.14.2.rbi => oj@3.15.0.rbi} (92%) rename sorbet/rbi/gems/{parallel@1.22.1.rbi => parallel@1.23.0.rbi} (59%) create mode 100644 sorbet/rbi/gems/prettier_print@1.2.1.rbi create mode 100644 sorbet/rbi/gems/racc@1.7.1.rbi rename sorbet/rbi/gems/{regexp_parser@2.7.0.rbi => regexp_parser@2.8.1.rbi} (87%) rename sorbet/rbi/gems/{reline@0.3.2.rbi => reline@0.3.3.rbi} (100%) create mode 100644 sorbet/rbi/gems/rubocop-capybara@2.18.0.rbi create mode 100644 sorbet/rbi/gems/rubocop-factory_bot@2.22.0.rbi create mode 100644 sorbet/rbi/gems/syntax_tree@6.1.1.rbi rename sorbet/rbi/gems/{thor@1.2.1.rbi => thor@1.2.2.rbi} (97%) delete mode 100644 sorbet/rbi/gems/webrick@1.7.0.rbi rename sorbet/rbi/gems/{yard-sorbet@0.8.0.rbi => yard-sorbet@0.8.1.rbi} (92%) rename sorbet/rbi/gems/{yard@0.9.28.rbi => yard@0.9.34.rbi} (95%) rename sorbet/rbi/gems/{zeitwerk@2.6.7.rbi => zeitwerk@2.6.8.rbi} (100%) diff --git a/Gemfile b/Gemfile index 1c58107..ac0541b 100644 --- a/Gemfile +++ b/Gemfile @@ -21,10 +21,10 @@ gem 'rake', '~> 13' gem 'reek' gem 'rspec', '~> 3' gem 'rspec_junit_formatter' -gem 'rubocop', '~> 1.54.2' -gem 'rubocop-performance', '~> 1.18.0' -gem 'rubocop-rspec', '~> 2.22.0' -gem 'rubocop-sorbet', '~> 0.7.3' +gem 'rubocop', '~> 1.57' +gem 'rubocop-performance', '~> 1.18' +gem 'rubocop-rspec', '~> 2.22' +gem 'rubocop-sorbet', '~> 0.7' gem 'simplecov', '~> 0' gem 'simplecov_json_formatter' gem 'sorbet', '~> 0' diff --git a/Gemfile.lock b/Gemfile.lock index 1c328c5..82da6a0 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -48,7 +48,7 @@ GEM parser rainbow (~> 3.0) sorbet-runtime (>= 0.5) - parser (3.2.2.3) + parser (3.2.2.4) ast (~> 2.4.1) racc prettier_print (1.2.1) @@ -67,7 +67,7 @@ GEM regexp_parser (2.8.1) reline (0.3.3) io-console (~> 0.5) - rexml (3.2.6) + rexml (3.2.5) rspec (3.12.0) rspec-core (~> 3.12.0) rspec-expectations (~> 3.12.0) @@ -83,15 +83,15 @@ GEM rspec-support (3.12.0) rspec_junit_formatter (0.6.0) rspec-core (>= 2, < 4, != 2.12.0) - rubocop (1.54.2) + rubocop (1.57.2) json (~> 2.3) language_server-protocol (>= 3.17.0) parallel (~> 1.10) - parser (>= 3.2.2.3) + parser (>= 3.2.2.4) rainbow (>= 2.2.2, < 4.0) regexp_parser (>= 1.8, < 3.0) rexml (>= 3.2.5, < 4.0) - rubocop-ast (>= 1.28.0, < 2.0) + rubocop-ast (>= 1.28.1, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 2.4.0, < 3.0) rubocop-ast (1.29.0) @@ -107,7 +107,7 @@ GEM rubocop (~> 1.33) rubocop-capybara (~> 2.17) rubocop-factory_bot (~> 2.22) - rubocop-sorbet (0.7.3) + rubocop-sorbet (0.7.0) rubocop (>= 0.90.0) ruby-progressbar (1.13.0) simplecov (0.22.0) @@ -166,10 +166,10 @@ DEPENDENCIES reek rspec (~> 3) rspec_junit_formatter - rubocop (~> 1.54.2) - rubocop-performance (~> 1.18.0) - rubocop-rspec (~> 2.22.0) - rubocop-sorbet (~> 0.7.3) + rubocop (~> 1.57) + rubocop-performance (~> 1.18) + rubocop-rspec (~> 2.22) + rubocop-sorbet (~> 0.7) ruby-paseto! simplecov (~> 0) simplecov_json_formatter diff --git a/devcontainers/bullseye/.devcontainer/devcontainer.json b/devcontainers/bullseye/.devcontainer/devcontainer.json index c5a46f4..56f92cb 100644 --- a/devcontainers/bullseye/.devcontainer/devcontainer.json +++ b/devcontainers/bullseye/.devcontainer/devcontainer.json @@ -13,9 +13,8 @@ "customizations": { "vscode": { "extensions": [ - "rebornix.Ruby", + "Shopify.ruby-lsp", "sorbet.sorbet-vscode-extension", - "castwide.solargraph", "yzhang.markdown-all-in-one", "eamodio.gitlens", "KoichiSasada.vscode-rdbg" @@ -29,7 +28,6 @@ // Use 'forwardPorts' to make a list of ports inside the container available locally. // "forwardPorts": [], - "onCreateCommand": "gem install solargraph --no-document", "postCreateCommand": "bin/setup", "remoteUser": "vscode" diff --git a/devcontainers/jammy/.devcontainer/devcontainer.json b/devcontainers/jammy/.devcontainer/devcontainer.json index a2ea872..058c428 100644 --- a/devcontainers/jammy/.devcontainer/devcontainer.json +++ b/devcontainers/jammy/.devcontainer/devcontainer.json @@ -20,9 +20,8 @@ "customizations": { "vscode": { "extensions": [ - "rebornix.Ruby", + "Shopify.ruby-lsp", "sorbet.sorbet-vscode-extension", - "castwide.solargraph", "yzhang.markdown-all-in-one", "eamodio.gitlens", "KoichiSasada.vscode-rdbg" @@ -36,7 +35,6 @@ // Use 'forwardPorts' to make a list of ports inside the container available locally. // "forwardPorts": [], - "onCreateCommand": "gem install solargraph --no-document", "postCreateCommand": "bin/setup", "remoteUser": "vscode" diff --git a/gemfiles/openssl_3.0.gemfile b/gemfiles/openssl_3.0.gemfile index 091d892..d1b420f 100644 --- a/gemfiles/openssl_3.0.gemfile +++ b/gemfiles/openssl_3.0.gemfile @@ -8,10 +8,10 @@ gem "rake", "~> 13" gem "reek" gem "rspec", "~> 3" gem "rspec_junit_formatter" -gem "rubocop", "~> 1.54.2" -gem "rubocop-performance", "~> 1.18.0" -gem "rubocop-rspec", "~> 2.22.0" -gem "rubocop-sorbet", "~> 0.7.0" +gem "rubocop", "~> 1.57" +gem "rubocop-performance", "~> 1.18" +gem "rubocop-rspec", "~> 2.22" +gem "rubocop-sorbet", "~> 0.7" gem "simplecov", "~> 0" gem "simplecov_json_formatter" gem "sorbet", "~> 0" diff --git a/gemfiles/openssl_3.0.gemfile.lock b/gemfiles/openssl_3.0.gemfile.lock index c457aa8..68ebca7 100644 --- a/gemfiles/openssl_3.0.gemfile.lock +++ b/gemfiles/openssl_3.0.gemfile.lock @@ -17,23 +17,23 @@ GEM kwalify (0.7.2) language_server-protocol (3.17.0.3) multi_json (1.15.0) - oj (3.15.0) + oj (3.16.1) openssl (3.0.2) parallel (1.23.0) - parallel_tests (4.2.1) + parallel_tests (4.3.0) parallel - parser (3.2.2.3) + parser (3.2.2.4) ast (~> 2.4.1) racc - racc (1.7.1) + racc (1.7.3) rainbow (3.1.1) - rake (13.0.6) + rake (13.1.0) reek (6.1.4) kwalify (~> 0.7.0) parser (~> 3.2.0) rainbow (>= 2.0, < 4.0) - regexp_parser (2.8.1) - rexml (3.2.5) + regexp_parser (2.8.2) + rexml (3.2.6) rspec (3.12.0) rspec-core (~> 3.12.0) rspec-expectations (~> 3.12.0) @@ -49,31 +49,31 @@ GEM rspec-support (3.12.1) rspec_junit_formatter (0.6.0) rspec-core (>= 2, < 4, != 2.12.0) - rubocop (1.54.2) + rubocop (1.57.2) json (~> 2.3) language_server-protocol (>= 3.17.0) parallel (~> 1.10) - parser (>= 3.2.2.3) + parser (>= 3.2.2.4) rainbow (>= 2.2.2, < 4.0) regexp_parser (>= 1.8, < 3.0) rexml (>= 3.2.5, < 4.0) - rubocop-ast (>= 1.28.0, < 2.0) + rubocop-ast (>= 1.28.1, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 2.4.0, < 3.0) - rubocop-ast (1.29.0) + rubocop-ast (1.30.0) parser (>= 3.2.1.0) - rubocop-capybara (2.18.0) + rubocop-capybara (2.19.0) rubocop (~> 1.41) - rubocop-factory_bot (2.23.1) + rubocop-factory_bot (2.24.0) rubocop (~> 1.33) - rubocop-performance (1.18.0) + rubocop-performance (1.19.1) rubocop (>= 1.7.0, < 2.0) rubocop-ast (>= 0.4.0) - rubocop-rspec (2.22.0) - rubocop (~> 1.33) + rubocop-rspec (2.25.0) + rubocop (~> 1.40) rubocop-capybara (~> 2.17) rubocop-factory_bot (~> 2.22) - rubocop-sorbet (0.7.0) + rubocop-sorbet (0.7.5) rubocop (>= 0.90.0) ruby-progressbar (1.13.0) simplecov (0.22.0) @@ -82,13 +82,13 @@ GEM simplecov_json_formatter (~> 0.1) simplecov-html (0.12.3) simplecov_json_formatter (0.1.4) - sorbet (0.5.10929) - sorbet-static (= 0.5.10929) - sorbet-runtime (0.5.10929) - sorbet-static (0.5.10929-x86_64-linux) - timecop (0.9.6) - unicode-display_width (2.4.2) - zeitwerk (2.6.8) + sorbet (0.5.11139) + sorbet-static (= 0.5.11139) + sorbet-runtime (0.5.11139) + sorbet-static (0.5.11139-x86_64-linux) + timecop (0.9.8) + unicode-display_width (2.5.0) + zeitwerk (2.6.12) PLATFORMS x86_64-linux @@ -102,10 +102,10 @@ DEPENDENCIES reek rspec (~> 3) rspec_junit_formatter - rubocop (~> 1.54.2) - rubocop-performance (~> 1.18.0) - rubocop-rspec (~> 2.22.0) - rubocop-sorbet (~> 0.7.0) + rubocop (~> 1.57) + rubocop-performance (~> 1.18) + rubocop-rspec (~> 2.22) + rubocop-sorbet (~> 0.7) ruby-paseto! simplecov (~> 0) simplecov_json_formatter diff --git a/gemfiles/rbnacl.gemfile b/gemfiles/rbnacl.gemfile index 45e74b4..32584cd 100644 --- a/gemfiles/rbnacl.gemfile +++ b/gemfiles/rbnacl.gemfile @@ -8,10 +8,10 @@ gem "rake", "~> 13" gem "reek" gem "rspec", "~> 3" gem "rspec_junit_formatter" -gem "rubocop", "~> 1.54.2" -gem "rubocop-performance", "~> 1.18.0" -gem "rubocop-rspec", "~> 2.22.0" -gem "rubocop-sorbet", "~> 0.7.0" +gem "rubocop", "~> 1.57" +gem "rubocop-performance", "~> 1.18" +gem "rubocop-rspec", "~> 2.22" +gem "rubocop-sorbet", "~> 0.7" gem "simplecov", "~> 0" gem "simplecov_json_formatter" gem "sorbet", "~> 0" diff --git a/gemfiles/rbnacl.gemfile.lock b/gemfiles/rbnacl.gemfile.lock index 545484c..fb1617e 100644 --- a/gemfiles/rbnacl.gemfile.lock +++ b/gemfiles/rbnacl.gemfile.lock @@ -13,30 +13,30 @@ GEM ast (2.4.2) diff-lcs (1.5.0) docile (1.4.0) - ffi (1.15.5) + ffi (1.16.3) json (2.6.3) kwalify (0.7.2) language_server-protocol (3.17.0.3) multi_json (1.15.0) - oj (3.15.0) - openssl (3.1.0) + oj (3.16.1) + openssl (3.2.0) parallel (1.23.0) - parallel_tests (4.2.1) + parallel_tests (4.3.0) parallel - parser (3.2.2.3) + parser (3.2.2.4) ast (~> 2.4.1) racc - racc (1.7.1) + racc (1.7.3) rainbow (3.1.1) - rake (13.0.6) + rake (13.1.0) rbnacl (7.1.1) ffi reek (6.1.4) kwalify (~> 0.7.0) parser (~> 3.2.0) rainbow (>= 2.0, < 4.0) - regexp_parser (2.8.1) - rexml (3.2.5) + regexp_parser (2.8.2) + rexml (3.2.6) rspec (3.12.0) rspec-core (~> 3.12.0) rspec-expectations (~> 3.12.0) @@ -52,31 +52,31 @@ GEM rspec-support (3.12.1) rspec_junit_formatter (0.6.0) rspec-core (>= 2, < 4, != 2.12.0) - rubocop (1.54.2) + rubocop (1.57.2) json (~> 2.3) language_server-protocol (>= 3.17.0) parallel (~> 1.10) - parser (>= 3.2.2.3) + parser (>= 3.2.2.4) rainbow (>= 2.2.2, < 4.0) regexp_parser (>= 1.8, < 3.0) rexml (>= 3.2.5, < 4.0) - rubocop-ast (>= 1.28.0, < 2.0) + rubocop-ast (>= 1.28.1, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 2.4.0, < 3.0) - rubocop-ast (1.29.0) + rubocop-ast (1.30.0) parser (>= 3.2.1.0) - rubocop-capybara (2.18.0) + rubocop-capybara (2.19.0) rubocop (~> 1.41) - rubocop-factory_bot (2.23.1) + rubocop-factory_bot (2.24.0) rubocop (~> 1.33) - rubocop-performance (1.18.0) + rubocop-performance (1.19.1) rubocop (>= 1.7.0, < 2.0) rubocop-ast (>= 0.4.0) - rubocop-rspec (2.22.0) - rubocop (~> 1.33) + rubocop-rspec (2.25.0) + rubocop (~> 1.40) rubocop-capybara (~> 2.17) rubocop-factory_bot (~> 2.22) - rubocop-sorbet (0.7.0) + rubocop-sorbet (0.7.5) rubocop (>= 0.90.0) ruby-progressbar (1.13.0) simplecov (0.22.0) @@ -85,13 +85,13 @@ GEM simplecov_json_formatter (~> 0.1) simplecov-html (0.12.3) simplecov_json_formatter (0.1.4) - sorbet (0.5.10929) - sorbet-static (= 0.5.10929) - sorbet-runtime (0.5.10929) - sorbet-static (0.5.10929-x86_64-linux) - timecop (0.9.6) - unicode-display_width (2.4.2) - zeitwerk (2.6.8) + sorbet (0.5.11139) + sorbet-static (= 0.5.11139) + sorbet-runtime (0.5.11139) + sorbet-static (0.5.11139-x86_64-linux) + timecop (0.9.8) + unicode-display_width (2.5.0) + zeitwerk (2.6.12) PLATFORMS x86_64-linux @@ -105,10 +105,10 @@ DEPENDENCIES reek rspec (~> 3) rspec_junit_formatter - rubocop (~> 1.54.2) - rubocop-performance (~> 1.18.0) - rubocop-rspec (~> 2.22.0) - rubocop-sorbet (~> 0.7.0) + rubocop (~> 1.57) + rubocop-performance (~> 1.18) + rubocop-rspec (~> 2.22) + rubocop-sorbet (~> 0.7) ruby-paseto! simplecov (~> 0) simplecov_json_formatter diff --git a/gemfiles/standalone.gemfile b/gemfiles/standalone.gemfile index 1b58cb1..725dc1d 100644 --- a/gemfiles/standalone.gemfile +++ b/gemfiles/standalone.gemfile @@ -8,10 +8,10 @@ gem "rake", "~> 13" gem "reek" gem "rspec", "~> 3" gem "rspec_junit_formatter" -gem "rubocop", "~> 1.54.2" -gem "rubocop-performance", "~> 1.18.0" -gem "rubocop-rspec", "~> 2.22.0" -gem "rubocop-sorbet", "~> 0.7.0" +gem "rubocop", "~> 1.57" +gem "rubocop-performance", "~> 1.18" +gem "rubocop-rspec", "~> 2.22" +gem "rubocop-sorbet", "~> 0.7" gem "simplecov", "~> 0" gem "simplecov_json_formatter" gem "sorbet", "~> 0" diff --git a/gemfiles/standalone.gemfile.lock b/gemfiles/standalone.gemfile.lock index 72bf2a6..4b18907 100644 --- a/gemfiles/standalone.gemfile.lock +++ b/gemfiles/standalone.gemfile.lock @@ -17,23 +17,23 @@ GEM kwalify (0.7.2) language_server-protocol (3.17.0.3) multi_json (1.15.0) - oj (3.15.0) - openssl (3.1.0) + oj (3.16.1) + openssl (3.2.0) parallel (1.23.0) - parallel_tests (4.2.1) + parallel_tests (4.3.0) parallel - parser (3.2.2.3) + parser (3.2.2.4) ast (~> 2.4.1) racc - racc (1.7.1) + racc (1.7.3) rainbow (3.1.1) - rake (13.0.6) + rake (13.1.0) reek (6.1.4) kwalify (~> 0.7.0) parser (~> 3.2.0) rainbow (>= 2.0, < 4.0) - regexp_parser (2.8.1) - rexml (3.2.5) + regexp_parser (2.8.2) + rexml (3.2.6) rspec (3.12.0) rspec-core (~> 3.12.0) rspec-expectations (~> 3.12.0) @@ -49,31 +49,31 @@ GEM rspec-support (3.12.1) rspec_junit_formatter (0.6.0) rspec-core (>= 2, < 4, != 2.12.0) - rubocop (1.54.2) + rubocop (1.57.2) json (~> 2.3) language_server-protocol (>= 3.17.0) parallel (~> 1.10) - parser (>= 3.2.2.3) + parser (>= 3.2.2.4) rainbow (>= 2.2.2, < 4.0) regexp_parser (>= 1.8, < 3.0) rexml (>= 3.2.5, < 4.0) - rubocop-ast (>= 1.28.0, < 2.0) + rubocop-ast (>= 1.28.1, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 2.4.0, < 3.0) - rubocop-ast (1.29.0) + rubocop-ast (1.30.0) parser (>= 3.2.1.0) - rubocop-capybara (2.18.0) + rubocop-capybara (2.19.0) rubocop (~> 1.41) - rubocop-factory_bot (2.23.1) + rubocop-factory_bot (2.24.0) rubocop (~> 1.33) - rubocop-performance (1.18.0) + rubocop-performance (1.19.1) rubocop (>= 1.7.0, < 2.0) rubocop-ast (>= 0.4.0) - rubocop-rspec (2.22.0) - rubocop (~> 1.33) + rubocop-rspec (2.25.0) + rubocop (~> 1.40) rubocop-capybara (~> 2.17) rubocop-factory_bot (~> 2.22) - rubocop-sorbet (0.7.0) + rubocop-sorbet (0.7.5) rubocop (>= 0.90.0) ruby-progressbar (1.13.0) simplecov (0.22.0) @@ -82,13 +82,13 @@ GEM simplecov_json_formatter (~> 0.1) simplecov-html (0.12.3) simplecov_json_formatter (0.1.4) - sorbet (0.5.10929) - sorbet-static (= 0.5.10929) - sorbet-runtime (0.5.10929) - sorbet-static (0.5.10929-x86_64-linux) - timecop (0.9.6) - unicode-display_width (2.4.2) - zeitwerk (2.6.8) + sorbet (0.5.11139) + sorbet-static (= 0.5.11139) + sorbet-runtime (0.5.11139) + sorbet-static (0.5.11139-x86_64-linux) + timecop (0.9.8) + unicode-display_width (2.5.0) + zeitwerk (2.6.12) PLATFORMS x86_64-linux @@ -101,10 +101,10 @@ DEPENDENCIES reek rspec (~> 3) rspec_junit_formatter - rubocop (~> 1.54.2) - rubocop-performance (~> 1.18.0) - rubocop-rspec (~> 2.22.0) - rubocop-sorbet (~> 0.7.0) + rubocop (~> 1.57) + rubocop-performance (~> 1.18) + rubocop-rspec (~> 2.22) + rubocop-sorbet (~> 0.7) ruby-paseto! simplecov (~> 0) simplecov_json_formatter diff --git a/lib/paseto/interface/pbkd.rb b/lib/paseto/interface/pbkd.rb index a57a2db..1d39f5a 100644 --- a/lib/paseto/interface/pbkd.rb +++ b/lib/paseto/interface/pbkd.rb @@ -7,22 +7,8 @@ module PBKD extend T::Sig extend T::Helpers - include Kernel - abstract! - module ClassMethods - extend T::Sig - extend T::Helpers - - interface! - - sig { abstract.returns(Interface::Version) } - def protocol; end - end - - mixes_in_class_methods(ClassMethods) - sig do abstract.params( header: String, @@ -63,10 +49,8 @@ def paserk_version protocol.paserk_version end - sig(:final) { returns(Interface::Version) } - def protocol - self.class.protocol - end + sig { abstract.returns(Interface::Version) } + def protocol; end sig { abstract.returns(String) } def random_nonce; end diff --git a/lib/paseto/interface/pie.rb b/lib/paseto/interface/pie.rb index b7b5f87..17fe08d 100644 --- a/lib/paseto/interface/pie.rb +++ b/lib/paseto/interface/pie.rb @@ -8,25 +8,8 @@ module PIE extend T::Sig extend T::Helpers - include Kernel - abstract! - module ClassMethods - extend T::Sig - extend T::Helpers - - interface! - - sig { abstract.params(data: String).returns({ t: String, n: String, c: String }) } - def decode_and_split(data); end - - sig { abstract.returns(Interface::Version) } - def protocol; end - end - - mixes_in_class_methods(ClassMethods) - sig { abstract.params(nonce: String).returns(String) } def authentication_key(nonce:); end @@ -36,24 +19,20 @@ def authentication_tag(payload:, auth_key:); end sig { abstract.params(nonce: String, payload: String).returns(String) } def crypt(nonce:, payload:); end - sig { params(data: String).returns({ t: String, n: String, c: String }) } - def decode_and_split(data) - self.class.decode_and_split(data) - end + sig { abstract.params(data: String).returns({ t: String, n: String, c: String }) } + def decode_and_split(data); end sig { abstract.returns(String) } def local_header; end + sig { abstract.returns(Interface::Version) } + def protocol; end + sig { abstract.returns(String) } def random_nonce; end sig { abstract.returns(String) } def secret_header; end - - sig(:final) { returns(Interface::Version) } - def protocol - self.class.protocol - end end end end diff --git a/lib/paseto/interface/pke.rb b/lib/paseto/interface/pke.rb index 5bffb90..9dbc11c 100644 --- a/lib/paseto/interface/pke.rb +++ b/lib/paseto/interface/pke.rb @@ -8,40 +8,11 @@ module PKE extend T::Sig extend T::Helpers - include Kernel - abstract! DOMAIN_SEPARATOR_ENCRYPT = "\x01" DOMAIN_SEPARATOR_AUTH = "\x02" - module ClassMethods - extend T::Sig - extend T::Helpers - - interface! - - sig { abstract.params(esk: T.untyped).returns(String) } - def epk_bytes_from_esk(esk); end - - sig { abstract.returns(T.untyped) } - def generate_ephemeral_key; end - - sig { abstract.returns(String) } - def header; end - - sig { abstract.returns(Interface::Version) } - def protocol; end - - sig { abstract.params(encoded_data: String).returns([String, T.untyped, String]) } - def split(encoded_data); end - end - - mixes_in_class_methods(ClassMethods) - - sig { abstract.returns(AsymmetricKey) } - def sealing_key; end - sig { abstract.params(xk: String, epk: T.untyped).returns(String) } def derive_ak(xk:, epk:); end @@ -54,33 +25,26 @@ def decrypt(message:, ek:, n:); end sig { abstract.params(message: String, ek: String, n: String).returns(String) } def encrypt(message:, ek:, n:); end - sig { abstract.params(ak: String, epk: T.untyped, edk: String).returns(String) } - def tag(ak:, epk:, edk:); end + sig { abstract.params(esk: T.untyped).returns(String) } + def epk_bytes_from_esk(esk); end - sig(:final) { params(esk: T.untyped).returns(String) } - def epk_bytes_from_esk(esk) - self.class.epk_bytes_from_esk(esk) - end + sig { abstract.returns(T.untyped) } + def generate_ephemeral_key; end - sig(:final) { returns(T.untyped) } - def generate_ephemeral_key - self.class.generate_ephemeral_key - end + sig { abstract.returns(Interface::Version) } + def protocol; end - sig(:final) { returns(String) } - def header - self.class.header - end + sig { abstract.returns(String) } + def header; end - sig(:final) { returns(Interface::Version) } - def protocol - self.class.protocol - end + sig { abstract.returns(AsymmetricKey) } + def sealing_key; end + + sig { abstract.params(encoded_data: String).returns([String, T.untyped, String]) } + def split(encoded_data); end - sig(:final) { params(encoded_data: String).returns([String, T.untyped, String]) } - def split(encoded_data) - self.class.split(encoded_data) - end + sig { abstract.params(ak: String, epk: T.untyped, edk: String).returns(String) } + def tag(ak:, epk:, edk:); end end end end diff --git a/lib/paseto/interface/version.rb b/lib/paseto/interface/version.rb index 1231d57..4f4e404 100644 --- a/lib/paseto/interface/version.rb +++ b/lib/paseto/interface/version.rb @@ -8,144 +8,57 @@ module Version extend T::Helpers include Comparable - include Kernel abstract! - module ClassMethods - extend T::Sig - extend T::Helpers + sig { abstract.params(key: String, nonce: String, payload: String).returns(String) } + def crypt(key:, nonce:, payload:); end - interface! + sig { abstract.params(data: String, digest_size: Integer).returns(String) } + def digest(data, digest_size:); end - sig { abstract.params(key: String, nonce: String, payload: String).returns(String) } - def crypt(key:, nonce:, payload:); end + sig { abstract.returns(Integer) } + def digest_bytes; end - sig { abstract.params(data: String, digest_size: Integer).returns(String) } - def digest(data, digest_size:); end + sig { abstract.params(data: String, key: String, digest_size: Integer).returns(String) } + def hmac(data, key:, digest_size: nil); end - sig { abstract.returns(Integer) } - def digest_bytes; end + sig { abstract.returns(Interface::ID) } + def id; end - sig { abstract.params(data: String, key: String, digest_size: Integer).returns(String) } - def hmac(data, key:, digest_size:); end - - sig { abstract.returns(Interface::ID) } - def id; end - - sig do - abstract.params( - password: String, - salt: String, - length: Integer, - parameters: Integer - ).returns(String) - end - def kdf(password, salt:, length:, **parameters); end - - sig { abstract.returns(String) } - def paserk_version; end - - sig { abstract.returns(String) } - def pbkd_local_header; end - - sig { abstract.returns(String) } - def pbkd_secret_header; end - - sig { abstract.params(password: String).returns(Interface::PBKD) } - def pbkw(password); end - - sig { abstract.params(key: SymmetricKey).returns(Interface::PIE) } - def pie(key); end - - sig { abstract.params(key: AsymmetricKey).returns(Interface::PKE) } - def pke(key); end - - sig { abstract.params(size: Integer).returns(String) } - def random(size); end - - sig { abstract.returns(String) } - def version; end - end - - mixes_in_class_methods(ClassMethods) - - sig(:final) { params(key: String, nonce: String, payload: String).returns(String) } - def crypt(key:, nonce:, payload:) - self.class.crypt(key: key, nonce: nonce, payload: payload) - end - - sig(:final) { params(data: String, digest_size: T.nilable(Integer)).returns(String) } - def digest(data, digest_size: nil) - self.class.digest(data, digest_size: digest_size || digest_bytes) - end - - sig(:final) { returns(Integer) } - def digest_bytes - self.class.digest_bytes - end - - sig(:final) { params(data: String, key: String, digest_size: T.nilable(Integer)).returns(String) } - def hmac(data, key:, digest_size: nil) - self.class.hmac(data, key: key, digest_size: digest_size || digest_bytes) - end - - sig(:final) { returns(Interface::ID) } - def id - self.class.id - end - - sig(:final) do - params( + sig do + abstract.params( password: String, salt: String, length: Integer, - parameters: T.any(Symbol, Integer) + parameters: Integer ).returns(String) end - def kdf(password, salt:, length:, **parameters) - self.class.kdf(password, salt: salt, length: length, **parameters) - end + def kdf(password, salt:, length:, **parameters); end - sig(:final) { returns(String) } - def paserk_version - self.class.paserk_version - end + sig { abstract.returns(String) } + def paserk_version; end - sig(:final) { returns(String) } - def pbkd_local_header - self.class.pbkd_local_header - end + sig { abstract.returns(String) } + def pbkd_local_header; end - sig(:final) { returns(String) } - def pbkd_secret_header - self.class.pbkd_secret_header - end + sig { abstract.returns(String) } + def pbkd_secret_header; end - sig(:final) { params(password: String).returns(Interface::PBKD) } - def pbkw(password) - self.class.pbkw(password) - end + sig { abstract.params(password: String).returns(Interface::PBKD) } + def pbkw(password); end - sig(:final) { params(key: SymmetricKey).returns(Interface::PIE) } - def pie(key) - self.class.pie(key) - end + sig { abstract.params(key: SymmetricKey).returns(Interface::PIE) } + def pie(key); end - sig(:final) { params(key: AsymmetricKey).returns(Interface::PKE) } - def pke(key) - self.class.pke(key) - end + sig { abstract.params(key: AsymmetricKey).returns(Interface::PKE) } + def pke(key); end - sig(:final) { params(size: Integer).returns(String) } - def random(size) - self.class.random(size) - end + sig { abstract.params(size: Integer).returns(String) } + def random(size); end - sig(:final) { returns(String) } - def version - self.class.version - end + sig { abstract.returns(String) } + def version; end sig(:final) { params(other: T.untyped).returns(T.nilable(Integer)) } def <=>(other) diff --git a/lib/paseto/operations/id/i_dv3.rb b/lib/paseto/operations/id/i_dv3.rb index 5896a2a..3871167 100644 --- a/lib/paseto/operations/id/i_dv3.rb +++ b/lib/paseto/operations/id/i_dv3.rb @@ -12,7 +12,7 @@ module IDv3 sig { override.returns(Protocol::Version3) } def self.protocol - Protocol::Version3.new + Protocol::Version3.instance end end end diff --git a/lib/paseto/operations/id/i_dv4.rb b/lib/paseto/operations/id/i_dv4.rb index 2f70073..9237982 100644 --- a/lib/paseto/operations/id/i_dv4.rb +++ b/lib/paseto/operations/id/i_dv4.rb @@ -12,7 +12,7 @@ module IDv4 sig { override.returns(Protocol::Version4) } def self.protocol - Protocol::Version4.new + Protocol::Version4.instance end end end diff --git a/lib/paseto/operations/pbkd/p_b_k_dv3.rb b/lib/paseto/operations/pbkd/p_b_k_dv3.rb index c9a660c..082b2a6 100644 --- a/lib/paseto/operations/pbkd/p_b_k_dv3.rb +++ b/lib/paseto/operations/pbkd/p_b_k_dv3.rb @@ -11,13 +11,12 @@ class PBKDv3 include Interface::PBKD sig { override.returns(Protocol::Version3) } - def self.protocol - Protocol::Version3.new - end + attr_reader :protocol sig { params(password: String).void } def initialize(password) @password = password + @protocol = T.let(Protocol::Version3.instance, Protocol::Version3) end sig do diff --git a/lib/paseto/operations/pbkd/p_b_k_dv4.rb b/lib/paseto/operations/pbkd/p_b_k_dv4.rb index 90f2b1b..3383593 100644 --- a/lib/paseto/operations/pbkd/p_b_k_dv4.rb +++ b/lib/paseto/operations/pbkd/p_b_k_dv4.rb @@ -11,13 +11,12 @@ class PBKDv4 include Interface::PBKD sig { override.returns(Protocol::Version4) } - def self.protocol - Protocol::Version4.new - end + attr_reader :protocol sig { params(password: String).void } def initialize(password) @password = password + @protocol = T.let(Protocol::Version4.instance, Protocol::Version4) end sig do diff --git a/lib/paseto/operations/pke/p_k_ev3.rb b/lib/paseto/operations/pke/p_k_ev3.rb index 225361f..e8ebac0 100644 --- a/lib/paseto/operations/pke/p_k_ev3.rb +++ b/lib/paseto/operations/pke/p_k_ev3.rb @@ -10,28 +10,24 @@ class PKEv3 include Interface::PKE - sig { override.params(esk: OpenSSL::PKey::EC).returns(String) } - def self.epk_bytes_from_esk(esk) - esk.public_key.to_octet_string(:compressed) - end + sig { override.returns(Protocol::Version3) } + attr_reader :protocol - sig(:final) { override.returns(OpenSSL::PKey::EC) } - def self.generate_ephemeral_key - OpenSSL::PKey::EC.generate('secp384r1') - end + sig { override.returns(String) } + attr_reader :header - sig(:final) { override.returns(String) } - def self.header - 'k3.seal.' - end + sig { params(sealing_key: AsymmetricKey).void } + def initialize(sealing_key) + raise LucidityError unless sealing_key.is_a? V3::Public - sig { override.returns(Protocol::Version3) } - def self.protocol - Protocol::Version3.new + @header = T.let('k3.seal.', String) + @protocol = T.let(Protocol::Version3.instance, Protocol::Version3) + @sealing_key = T.let(sealing_key, V3::Public) + @pk = T.let(@sealing_key.public_bytes, String) end sig { override.params(encoded_data: String).returns([String, OpenSSL::PKey::EC::Point, String]) } - def self.split(encoded_data) + def split(encoded_data) data = Util.decode64(encoded_data) t = T.must(data.slice(0, 48)) @@ -44,14 +40,6 @@ def self.split(encoded_data) [t, epk, edk] end - sig { params(sealing_key: AsymmetricKey).void } - def initialize(sealing_key) - raise LucidityError unless sealing_key.is_a? V3::Public - - @sealing_key = T.let(sealing_key, V3::Public) - @pk = T.let(@sealing_key.public_bytes, String) - end - sig { override.params(message: String, ek: String, n: String).returns(SymmetricKey) } def decrypt(message:, ek:, n:) pdk = protocol.crypt(key: ek, nonce: n, payload: message) @@ -81,6 +69,16 @@ def encrypt(message:, ek:, n:) protocol.crypt(payload: message, key: ek, nonce: n) end + sig { override.params(esk: OpenSSL::PKey::EC).returns(String) } + def epk_bytes_from_esk(esk) + esk.public_key.to_octet_string(:compressed) + end + + sig(:final) { override.returns(OpenSSL::PKey::EC) } + def generate_ephemeral_key + OpenSSL::PKey::EC.generate('secp384r1') + end + sig { override.params(ak: String, epk: OpenSSL::PKey::EC::Point, edk: String).returns(String) } def tag(ak:, epk:, edk:) epk_bytes = epk.to_octet_string(:compressed) diff --git a/lib/paseto/operations/pke/p_k_ev4.rb b/lib/paseto/operations/pke/p_k_ev4.rb index 707b2d4..d8e39e1 100644 --- a/lib/paseto/operations/pke/p_k_ev4.rb +++ b/lib/paseto/operations/pke/p_k_ev4.rb @@ -10,44 +10,18 @@ class PKEv4 include Interface::PKE - sig { override.params(esk: RbNaCl::PrivateKey).returns(String) } - def self.epk_bytes_from_esk(esk) - esk.public_key.to_bytes - end - - sig(:final) { override.returns(RbNaCl::PrivateKey) } - def self.generate_ephemeral_key - RbNaCl::PrivateKey.generate - end - - sig(:final) { override.returns(String) } - def self.header - 'k4.seal.' - end + sig { override.returns(String) } + attr_reader :header sig { override.returns(Protocol::Version4) } - def self.protocol - Protocol::Version4.new - end - - sig { override.params(encoded_data: String).returns([String, RbNaCl::PublicKey, String]) } - def self.split(encoded_data) - data = Util.decode64(encoded_data) - - t = T.must(data.slice(0, 32)) - - epk_bytes = T.must(data.slice(32, 32)) - epk = RbNaCl::PublicKey.new(epk_bytes) - - edk = T.must(data.slice(64, 32)) - - [t, epk, edk] - end + attr_reader :protocol sig { params(sealing_key: AsymmetricKey).void } def initialize(sealing_key) raise LucidityError unless sealing_key.is_a? V4::Public + @header = T.let('k4.seal.', String) + @protocol = T.let(Protocol::Version4.instance, Protocol::Version4) @sealing_key = T.let(sealing_key, V4::Public) @pk = T.let(@sealing_key.x25519_public_key, RbNaCl::PublicKey) @pk_bytes = T.let(@pk.to_bytes, String) @@ -80,6 +54,30 @@ def encrypt(message:, ek:, n:) protocol.crypt(payload: message, key: ek, nonce: n) end + sig { override.params(esk: RbNaCl::PrivateKey).returns(String) } + def epk_bytes_from_esk(esk) + esk.public_key.to_bytes + end + + sig(:final) { override.returns(RbNaCl::PrivateKey) } + def generate_ephemeral_key + RbNaCl::PrivateKey.generate + end + + sig { override.params(encoded_data: String).returns([String, RbNaCl::PublicKey, String]) } + def split(encoded_data) + data = Util.decode64(encoded_data) + + t = T.must(data.slice(0, 32)) + + epk_bytes = T.must(data.slice(32, 32)) + epk = RbNaCl::PublicKey.new(epk_bytes) + + edk = T.must(data.slice(64, 32)) + + [t, epk, edk] + end + sig { override.params(ak: String, epk: RbNaCl::PublicKey, edk: String).returns(String) } def tag(ak:, epk:, edk:) protocol.hmac("#{header}#{epk.to_bytes}#{edk}", key: ak, digest_size: 32) diff --git a/lib/paseto/protocol/version3.rb b/lib/paseto/protocol/version3.rb index d47d899..80568f6 100644 --- a/lib/paseto/protocol/version3.rb +++ b/lib/paseto/protocol/version3.rb @@ -8,10 +8,11 @@ class Version3 extend T::Sig extend T::Helpers + include Singleton include Interface::Version sig(:final) { override.params(key: String, nonce: String, payload: String).returns(String) } - def self.crypt(key:, nonce:, payload:) + def crypt(key:, nonce:, payload:) cipher = OpenSSL::Cipher.new('aes-256-ctr') cipher.key = key cipher.iv = nonce @@ -19,22 +20,22 @@ def self.crypt(key:, nonce:, payload:) end sig(:final) { override.params(data: String, digest_size: Integer).returns(String) } - def self.digest(data, digest_size:) + def digest(data, digest_size: 48) T.must(OpenSSL::Digest.digest('SHA384', data).byteslice(0, digest_size)) end sig(:final) { override.returns(Integer) } - def self.digest_bytes + def digest_bytes 48 end sig(:final) { override.params(data: String, key: String, digest_size: Integer).returns(String) } - def self.hmac(data, key:, digest_size:) + def hmac(data, key:, digest_size: 48) T.must(OpenSSL::HMAC.digest('SHA384', key, data).byteslice(0, digest_size)) end sig(:final) { override.returns(T.class_of(Operations::ID::IDv3)) } - def self.id + def id Operations::ID::IDv3 end @@ -46,7 +47,7 @@ def self.id parameters: Integer ).returns(String) end - def self.kdf(password, salt:, length:, **parameters) + def kdf(password, salt:, length:, **parameters) OpenSSL::KDF.pbkdf2_hmac( password, salt: salt, @@ -57,42 +58,42 @@ def self.kdf(password, salt:, length:, **parameters) end sig(:final) { override.returns(String) } - def self.paserk_version + def paserk_version 'k3' end sig(:final) { override.returns(String) } - def self.pbkd_local_header + def pbkd_local_header 'k3.local-pw' end sig(:final) { override.returns(String) } - def self.pbkd_secret_header + def pbkd_secret_header 'k3.secret-pw' end sig(:final) { override.params(password: String).returns(Operations::PBKD::PBKDv3) } - def self.pbkw(password) + def pbkw(password) Operations::PBKD::PBKDv3.new(password) end sig(:final) { override.params(key: SymmetricKey).returns(Wrappers::PIE::PieV3) } - def self.pie(key) + def pie(key) Wrappers::PIE::PieV3.new(key) end sig(:final) { override.params(key: AsymmetricKey).returns(Operations::PKE::PKEv3) } - def self.pke(key) + def pke(key) Operations::PKE::PKEv3.new(key) end sig(:final) { override.params(size: Integer).returns(String) } - def self.random(size) + def random(size) SecureRandom.random_bytes(size) end sig(:final) { override.returns(String) } - def self.version + def version 'v3' end end diff --git a/lib/paseto/protocol/version4.rb b/lib/paseto/protocol/version4.rb index faa3fb2..1fa74e5 100644 --- a/lib/paseto/protocol/version4.rb +++ b/lib/paseto/protocol/version4.rb @@ -7,30 +7,31 @@ class Version4 extend T::Sig extend T::Helpers + include Singleton include Interface::Version sig(:final) { override.params(key: String, nonce: String, payload: String).returns(String) } - def self.crypt(key:, nonce:, payload:) + def crypt(key:, nonce:, payload:) Paseto::Sodium::Stream::XChaCha20Xor.new(key).encrypt(nonce, payload) end sig(:final) { override.params(data: String, digest_size: Integer).returns(String) } - def self.digest(data, digest_size:) + def digest(data, digest_size: 32) RbNaCl::Hash.blake2b(data, digest_size: digest_size) end sig(:final) { override.returns(Integer) } - def self.digest_bytes + def digest_bytes 32 end sig(:final) { override.params(data: String, key: String, digest_size: Integer).returns(String) } - def self.hmac(data, key:, digest_size: 32) + def hmac(data, key:, digest_size: 32) RbNaCl::Hash.blake2b(data, key: key, digest_size: digest_size) end sig(:final) { override.returns(T.class_of(Operations::ID::IDv4)) } - def self.id + def id Operations::ID::IDv4 end @@ -42,7 +43,7 @@ def self.id parameters: T.any(Symbol, Integer) ).returns(String) end - def self.kdf(password, salt:, length:, **parameters) + def kdf(password, salt:, length:, **parameters) memlimit = RbNaCl::PasswordHash::Argon2.memlimit_value(parameters[:memlimit]) opslimit = RbNaCl::PasswordHash::Argon2.opslimit_value(parameters[:opslimit]) @@ -56,42 +57,42 @@ def self.kdf(password, salt:, length:, **parameters) end sig(:final) { override.returns(String) } - def self.paserk_version + def paserk_version 'k4' end sig(:final) { override.returns(String) } - def self.pbkd_local_header + def pbkd_local_header 'k4.local-pw' end sig(:final) { override.returns(String) } - def self.pbkd_secret_header + def pbkd_secret_header 'k4.secret-pw' end sig(:final) { override.params(password: String).returns(Operations::PBKD::PBKDv4) } - def self.pbkw(password) + def pbkw(password) Operations::PBKD::PBKDv4.new(password) end sig(:final) { override.params(key: SymmetricKey).returns(Wrappers::PIE::PieV4) } - def self.pie(key) + def pie(key) Wrappers::PIE::PieV4.new(key) end sig(:final) { override.params(key: AsymmetricKey).returns(Operations::PKE::PKEv4) } - def self.pke(key) + def pke(key) Operations::PKE::PKEv4.new(key) end sig(:final) { override.params(size: Integer).returns(String) } - def self.random(size) + def random(size) RbNaCl::Random.random_bytes(size) end sig(:final) { override.returns(String) } - def self.version + def version 'v4' end end diff --git a/lib/paseto/v3/local.rb b/lib/paseto/v3/local.rb index 3014d86..ccd5139 100644 --- a/lib/paseto/v3/local.rb +++ b/lib/paseto/v3/local.rb @@ -28,7 +28,7 @@ def self.generate sig(:final) { params(ikm: String).void } def initialize(ikm:) - @protocol = T.let(Protocol::Version3.new, Paseto::Protocol::Version3) + @protocol = T.let(Protocol::Version3.instance, Paseto::Protocol::Version3) super(ikm) end diff --git a/lib/paseto/v3/public.rb b/lib/paseto/v3/public.rb index 0d256b2..7c4e405 100644 --- a/lib/paseto/v3/public.rb +++ b/lib/paseto/v3/public.rb @@ -50,7 +50,7 @@ def initialize(key) raise LucidityError unless @key.group.curve_name == 'secp384r1' raise InvalidKeyPair unless custom_check_key - @protocol = T.let(Protocol::Version3.new, Protocol::Version3) + @protocol = T.let(Protocol::Version3.instance, Protocol::Version3) super rescue OpenSSL::PKey::ECError => e diff --git a/lib/paseto/v4/local.rb b/lib/paseto/v4/local.rb index 952f90e..6ce80d2 100644 --- a/lib/paseto/v4/local.rb +++ b/lib/paseto/v4/local.rb @@ -21,7 +21,7 @@ def self.generate sig(:final) { params(ikm: String).void } def initialize(ikm:) - @protocol = T.let(Protocol::Version4.new, Paseto::Protocol::Version4) + @protocol = T.let(Protocol::Version4.instance, Paseto::Protocol::Version4) super(ikm) end diff --git a/lib/paseto/v4/public.rb b/lib/paseto/v4/public.rb index dde8846..073abe3 100644 --- a/lib/paseto/v4/public.rb +++ b/lib/paseto/v4/public.rb @@ -44,7 +44,7 @@ def initialize(key) @key = T.let(key, T.any(RbNaCl::SigningKey, RbNaCl::VerifyKey)) @private = T.let(@key.is_a?(RbNaCl::SigningKey), T::Boolean) - @protocol = T.let(Protocol::Version4.new, Paseto::Protocol::Version4) + @protocol = T.let(Protocol::Version4.instance, Paseto::Protocol::Version4) super end diff --git a/lib/paseto/versions.rb b/lib/paseto/versions.rb index d68074f..d2279b0 100644 --- a/lib/paseto/versions.rb +++ b/lib/paseto/versions.rb @@ -17,8 +17,8 @@ class Versions < T::Enum sig { returns(Interface::Version) } def instance case self - when V3Version, V3Str, K3Str then Protocol::Version3.new - when V4Version, V4Str, K4Str then Protocol::Version4.new + when V3Version, V3Str, K3Str then Protocol::Version3.instance + when V4Version, V4Str, K4Str then Protocol::Version4.instance end end end diff --git a/lib/paseto/wrappers/pie/pie_v3.rb b/lib/paseto/wrappers/pie/pie_v3.rb index 4bef711..61e19e2 100644 --- a/lib/paseto/wrappers/pie/pie_v3.rb +++ b/lib/paseto/wrappers/pie/pie_v3.rb @@ -13,33 +13,20 @@ class PieV3 DOMAIN_SEPARATOR_AUTH = "\x81" DOMAIN_SEPARATOR_ENCRYPT = "\x80" - sig { override.params(data: String).returns({ t: String, n: String, c: String }) } - def self.decode_and_split(data) - b = Util.decode64(data) - { - t: T.must(b.byteslice(0, 48)), - n: T.must(b.byteslice(48, 32)), - c: T.must(b.byteslice(80..)) - } - end + sig { override.returns(String) } + attr_reader :local_header sig { override.returns(Protocol::Version3) } - def self.protocol - Protocol::Version3.new - end + attr_reader :protocol sig { override.returns(String) } - def local_header - 'k3.local-wrap.pie.' - end - - sig { override.returns(String) } - def secret_header - 'k3.secret-wrap.pie.' - end + attr_reader :secret_header sig { params(wrapping_key: SymmetricKey).void } def initialize(wrapping_key) + @local_header = T.let('k3.local-wrap.pie.', String) + @protocol = T.let(Protocol::Version3.instance, Protocol::Version3) + @secret_header = T.let('k3.secret-wrap.pie.', String) @wrapping_key = wrapping_key end @@ -53,6 +40,16 @@ def authentication_tag(payload:, auth_key:) protocol.hmac(payload, key: auth_key) end + sig { override.params(data: String).returns({ t: String, n: String, c: String }) } + def decode_and_split(data) + b = Util.decode64(data) + { + t: T.must(b.byteslice(0, 48)), + n: T.must(b.byteslice(48, 32)), + c: T.must(b.byteslice(80..)) + } + end + sig { override.returns(String) } def random_nonce protocol.random(32) diff --git a/lib/paseto/wrappers/pie/pie_v4.rb b/lib/paseto/wrappers/pie/pie_v4.rb index 4cb868b..df38746 100644 --- a/lib/paseto/wrappers/pie/pie_v4.rb +++ b/lib/paseto/wrappers/pie/pie_v4.rb @@ -13,33 +13,20 @@ class PieV4 DOMAIN_SEPARATOR_AUTH = "\x81" DOMAIN_SEPARATOR_ENCRYPT = "\x80" - sig { override.params(data: String).returns({ t: String, n: String, c: String }) } - def self.decode_and_split(data) - b = Util.decode64(data) - { - t: T.must(b.byteslice(0, 32)), - n: T.must(b.byteslice(32, 32)), - c: T.must(b.byteslice(64..)) - } - end - sig { override.returns(Protocol::Version4) } - def self.protocol - Protocol::Version4.new - end + attr_reader :protocol sig { override.returns(String) } - def local_header - 'k4.local-wrap.pie.' - end + attr_reader :local_header sig { override.returns(String) } - def secret_header - 'k4.secret-wrap.pie.' - end + attr_reader :secret_header sig { params(wrapping_key: SymmetricKey).void } def initialize(wrapping_key) + @local_header = T.let('k4.local-wrap.pie.', String) + @protocol = T.let(Protocol::Version4.instance, Protocol::Version4) + @secret_header = T.let('k4.secret-wrap.pie.', String) @wrapping_key = wrapping_key end @@ -53,6 +40,16 @@ def authentication_tag(payload:, auth_key:) protocol.hmac(payload, key: auth_key, digest_size: 32) end + sig { override.params(data: String).returns({ t: String, n: String, c: String }) } + def decode_and_split(data) + b = Util.decode64(data) + { + t: T.must(b.byteslice(0, 32)), + n: T.must(b.byteslice(32, 32)), + c: T.must(b.byteslice(64..)) + } + end + sig { override.returns(String) } def random_nonce protocol.random(32) diff --git a/sorbet/rbi/annotations/rainbow.rbi b/sorbet/rbi/annotations/rainbow.rbi index 60ba90a..227f879 100644 --- a/sorbet/rbi/annotations/rainbow.rbi +++ b/sorbet/rbi/annotations/rainbow.rbi @@ -1,4 +1,4 @@ -# typed: strict +# typed: true # DO NOT EDIT MANUALLY # This file was pulled from a central RBI files repository. diff --git a/sorbet/rbi/gems/commander@4.6.0.rbi b/sorbet/rbi/gems/commander@4.6.0.rbi new file mode 100644 index 0000000..58fe656 --- /dev/null +++ b/sorbet/rbi/gems/commander@4.6.0.rbi @@ -0,0 +1,8 @@ +# typed: true + +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `commander` gem. +# Please instead update this file by running `bin/tapioca gem commander`. + +# THIS IS AN EMPTY RBI FILE. +# see https://github.com/Shopify/tapioca#manually-requiring-parts-of-a-gem diff --git a/sorbet/rbi/gems/diff-lcs@1.5.0.rbi b/sorbet/rbi/gems/diff-lcs@1.5.0.rbi index 120f096..4e1f791 100644 --- a/sorbet/rbi/gems/diff-lcs@1.5.0.rbi +++ b/sorbet/rbi/gems/diff-lcs@1.5.0.rbi @@ -522,7 +522,7 @@ Diff::LCS::Change::VALID_ACTIONS = T.let(T.unsafe(nil), Array) # elements in the old and the new sequenced enumerables as well as the action # taken. # -# source://diff-lcs//lib/diff/lcs/change.rb#101 +# source://diff-lcs//lib/diff/lcs/change.rb#100 class Diff::LCS::ContextChange < ::Diff::LCS::Change # @return [ContextChange] a new instance of ContextChange # diff --git a/sorbet/rbi/gems/docile@1.4.0.rbi b/sorbet/rbi/gems/docile@1.4.0.rbi index d62d1db..35ff010 100644 --- a/sorbet/rbi/gems/docile@1.4.0.rbi +++ b/sorbet/rbi/gems/docile@1.4.0.rbi @@ -253,7 +253,7 @@ Docile::BacktraceFilter::FILTER_PATTERN = T.let(T.unsafe(nil), Regexp) # @api private # @see Docile.dsl_eval_immutable # -# source://docile//lib/docile/chaining_fallback_context_proxy.rb#19 +# source://docile//lib/docile/chaining_fallback_context_proxy.rb#17 class Docile::ChainingFallbackContextProxy < ::Docile::FallbackContextProxy # Proxy methods as in {FallbackContextProxy#method_missing}, replacing # `receiver` with the returned value. diff --git a/sorbet/rbi/gems/erubi@1.12.0.rbi b/sorbet/rbi/gems/erubi@1.12.0.rbi new file mode 100644 index 0000000..c52738f --- /dev/null +++ b/sorbet/rbi/gems/erubi@1.12.0.rbi @@ -0,0 +1,145 @@ +# typed: true + +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `erubi` gem. +# Please instead update this file by running `bin/tapioca gem erubi`. + +# source://erubi//lib/erubi.rb#3 +module Erubi + class << self + def h(_arg0); end + end +end + +# source://erubi//lib/erubi.rb#54 +class Erubi::Engine + # Initialize a new Erubi::Engine. Options: + # +:bufval+ :: The value to use for the buffer variable, as a string (default '::String.new'). + # +:bufvar+ :: The variable name to use for the buffer variable, as a string. + # +:chain_appends+ :: Whether to chain << calls to the buffer variable. Offers better + # performance, but can cause issues when the buffer variable is reassigned during + # template rendering (default +false+). + # +:ensure+ :: Wrap the template in a begin/ensure block restoring the previous value of bufvar. + # +:escapefunc+ :: The function to use for escaping, as a string (default: '::Erubi.h'). + # +:escape+ :: Whether to make <%= escape by default, and <%== not escape by default. + # +:escape_html+ :: Same as +:escape+, with lower priority. + # +:filename+ :: The filename for the template. + # the resulting source code. Note this may cause problems if you are wrapping the resulting + # source code in other code, because the magic comment only has an effect at the beginning of + # the file, and having the magic comment later in the file can trigger warnings. + # +:freeze_template_literals+ :: Whether to suffix all literal strings for template code with .freeze + # (default: +true+ on Ruby 2.1+, +false+ on Ruby 2.0 and older). + # Can be set to +false+ on Ruby 2.3+ when frozen string literals are enabled + # in order to improve performance. + # +:literal_prefix+ :: The prefix to output when using escaped tag delimiters (default '<%'). + # +:literal_postfix+ :: The postfix to output when using escaped tag delimiters (default '%>'). + # +:outvar+ :: Same as +:bufvar+, with lower priority. + # +:postamble+ :: The postamble for the template, by default returns the resulting source code. + # +:preamble+ :: The preamble for the template, by default initializes the buffer variable. + # +:regexp+ :: The regexp to use for scanning. + # +:src+ :: The initial value to use for the source code, an empty string by default. + # +:trim+ :: Whether to trim leading and trailing whitespace, true by default. + # + # @return [Engine] a new instance of Engine + # + # source://erubi//lib/erubi.rb#94 + def initialize(input, properties = T.unsafe(nil)); end + + # The variable name used for the buffer variable. + # + # source://erubi//lib/erubi.rb#65 + def bufvar; end + + # The filename of the template, if one was given. + # + # source://erubi//lib/erubi.rb#62 + def filename; end + + # The frozen ruby source code generated from the template, which can be evaled. + # + # source://erubi//lib/erubi.rb#59 + def src; end + + private + + # Add ruby code to the template + # + # source://erubi//lib/erubi.rb#226 + def add_code(code); end + + # Add the given ruby expression result to the template, + # escaping it based on the indicator given and escape flag. + # + # source://erubi//lib/erubi.rb#235 + def add_expression(indicator, code); end + + # Add the result of Ruby expression to the template + # + # source://erubi//lib/erubi.rb#244 + def add_expression_result(code); end + + # Add the escaped result of Ruby expression to the template + # + # source://erubi//lib/erubi.rb#249 + def add_expression_result_escaped(code); end + + # Add the given postamble to the src. Can be overridden in subclasses + # to make additional changes to src that depend on the current state. + # + # source://erubi//lib/erubi.rb#255 + def add_postamble(postamble); end + + # Add raw text to the template. Modifies argument if argument is mutable as a memory optimization. + # Must be called with a string, cannot be called with nil (Rails's subclass depends on it). + # + # source://erubi//lib/erubi.rb#213 + def add_text(text); end + + # Raise an exception, as the base engine class does not support handling other indicators. + # + # @raise [ArgumentError] + # + # source://erubi//lib/erubi.rb#261 + def handle(indicator, code, tailch, rspace, lspace); end + + # Make sure that any current expression has been terminated. + # The default is to terminate all expressions, but when + # the chain_appends option is used, expressions may not be + # terminated. + # + # source://erubi//lib/erubi.rb#289 + def terminate_expression; end + + # Make sure the buffer variable is the target of the next append + # before yielding to the block. Mark that the buffer is the target + # of the next append after the block executes. + # + # This method should only be called if the block will result in + # code where << will append to the bufvar. + # + # source://erubi//lib/erubi.rb#271 + def with_buffer; end +end + +# The default regular expression used for scanning. +# +# source://erubi//lib/erubi.rb#56 +Erubi::Engine::DEFAULT_REGEXP = T.let(T.unsafe(nil), Regexp) + +# source://erubi//lib/erubi.rb#17 +Erubi::FREEZE_TEMPLATE_LITERALS = T.let(T.unsafe(nil), TrueClass) + +# source://erubi//lib/erubi.rb#15 +Erubi::MATCH_METHOD = T.let(T.unsafe(nil), Symbol) + +# source://erubi//lib/erubi.rb#8 +Erubi::RANGE_FIRST = T.let(T.unsafe(nil), Integer) + +# source://erubi//lib/erubi.rb#9 +Erubi::RANGE_LAST = T.let(T.unsafe(nil), Integer) + +# source://erubi//lib/erubi.rb#16 +Erubi::SKIP_DEFINED_FOR_INSTANCE_VARIABLE = T.let(T.unsafe(nil), TrueClass) + +# source://erubi//lib/erubi.rb#4 +Erubi::VERSION = T.let(T.unsafe(nil), String) diff --git a/sorbet/rbi/gems/ffi@1.15.5.rbi b/sorbet/rbi/gems/ffi@1.15.5.rbi index fe2cf7e..88c49a3 100644 --- a/sorbet/rbi/gems/ffi@1.15.5.rbi +++ b/sorbet/rbi/gems/ffi@1.15.5.rbi @@ -361,7 +361,7 @@ end # CallableReleaser is a {Releaser} used when an {AutoPointer} is defined with a # Proc or a Method. # -# source://ffi//lib/ffi/autopointer.rb#173 +# source://ffi//lib/ffi/autopointer.rb#168 class FFI::AutoPointer::CallableReleaser < ::FFI::AutoPointer::Releaser # Release +ptr+ by using Proc or Method defined at +ptr+ # {AutoPointer#initialize initialization}. @@ -377,7 +377,7 @@ end # without Proc or Method. In this case, the pointer to release must be of # a class derived from AutoPointer with a {release} class method. # -# source://ffi//lib/ffi/autopointer.rb#160 +# source://ffi//lib/ffi/autopointer.rb#157 class FFI::AutoPointer::DefaultReleaser < ::FFI::AutoPointer::Releaser # Release +ptr+ using the {release} class method of its class. # diff --git a/sorbet/rbi/gems/highline@2.0.3.rbi b/sorbet/rbi/gems/highline@2.0.3.rbi new file mode 100644 index 0000000..6269c04 --- /dev/null +++ b/sorbet/rbi/gems/highline@2.0.3.rbi @@ -0,0 +1,8 @@ +# typed: true + +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `highline` gem. +# Please instead update this file by running `bin/tapioca gem highline`. + +# THIS IS AN EMPTY RBI FILE. +# see https://github.com/Shopify/tapioca#manually-requiring-parts-of-a-gem diff --git a/sorbet/rbi/gems/irb@1.6.3.rbi b/sorbet/rbi/gems/irb@1.6.4.rbi similarity index 100% rename from sorbet/rbi/gems/irb@1.6.3.rbi rename to sorbet/rbi/gems/irb@1.6.4.rbi diff --git a/sorbet/rbi/gems/json@2.6.3.rbi b/sorbet/rbi/gems/json@2.6.3.rbi index b379bc4..259116a 100644 --- a/sorbet/rbi/gems/json@2.6.3.rbi +++ b/sorbet/rbi/gems/json@2.6.3.rbi @@ -5,8 +5,6 @@ # Please instead update this file by running `bin/tapioca gem json`. # Extends any Class to include _json_creatable?_ method. -# -# source://json//lib/json/common.rb#695 class Class < ::Module # Returns true if this class can be used to create an instance # from a serialised JSON string. The class has to implement a class @@ -15,7 +13,7 @@ class Class < ::Module # # @return [Boolean] # - # source://json//lib/json/common.rb#700 + # source://json//json/common.rb#700 def json_creatable?; end end @@ -588,8 +586,6 @@ end # Parsed JSON: # Without custom addition: "#" (String) # With custom addition: # (Foo) -# -# source://json//lib/json/version.rb#2 module JSON private @@ -621,7 +617,7 @@ module JSON # Output: # {"foo":[0,1],"bar":{"baz":2,"bat":3},"bam":"bad"} # - # source://json//lib/json/common.rb#631 + # source://json//json/common.rb#631 def dump(obj, anIO = T.unsafe(nil), limit = T.unsafe(nil)); end # :call-seq: @@ -638,13 +634,13 @@ module JSON # # Raises SystemStackError (stack level too deep): # JSON.fast_generate(a) # - # source://json//lib/json/common.rb#335 + # source://json//json/common.rb#335 def fast_generate(obj, opts = T.unsafe(nil)); end # :stopdoc: # I want to deprecate these later, so I'll first be silent about them, and later delete them. # - # source://json//lib/json/common.rb#335 + # source://json//json/common.rb#335 def fast_unparse(obj, opts = T.unsafe(nil)); end # :call-seq: @@ -683,7 +679,7 @@ module JSON # # Raises JSON::NestingError (nesting of 100 is too deep): # JSON.generate(a) # - # source://json//lib/json/common.rb#296 + # source://json//json/common.rb#296 def generate(obj, opts = T.unsafe(nil)); end # :call-seq: @@ -814,7 +810,7 @@ module JSON # #"Admin", "password"=>"0wn3d"}>} # - # source://json//lib/json/common.rb#557 + # source://json//json/common.rb#557 def load(source, proc = T.unsafe(nil), options = T.unsafe(nil)); end # :call-seq: @@ -825,7 +821,7 @@ module JSON # # See method #parse. # - # source://json//lib/json/common.rb#245 + # source://json//json/common.rb#245 def load_file(filespec, opts = T.unsafe(nil)); end # :call-seq: @@ -836,7 +832,7 @@ module JSON # # See method #parse! # - # source://json//lib/json/common.rb#256 + # source://json//json/common.rb#256 def load_file!(filespec, opts = T.unsafe(nil)); end # :call-seq: @@ -887,7 +883,7 @@ module JSON # # Raises JSON::ParserError (783: unexpected token at ''): # JSON.parse('') # - # source://json//lib/json/common.rb#215 + # source://json//json/common.rb#215 def parse(source, opts = T.unsafe(nil)); end # :call-seq: @@ -902,7 +898,7 @@ module JSON # which disables checking for nesting depth. # - Option +allow_nan+, if not provided, defaults to +true+. # - # source://json//lib/json/common.rb#230 + # source://json//json/common.rb#230 def parse!(source, opts = T.unsafe(nil)); end # :call-seq: @@ -935,28 +931,28 @@ module JSON # } # } # - # source://json//lib/json/common.rb#390 + # source://json//json/common.rb#390 def pretty_generate(obj, opts = T.unsafe(nil)); end # :stopdoc: # I want to deprecate these later, so I'll first be silent about them, and later delete them. # - # source://json//lib/json/common.rb#390 + # source://json//json/common.rb#390 def pretty_unparse(obj, opts = T.unsafe(nil)); end # Recursively calls passed _Proc_ if the parsed data structure is an _Array_ or _Hash_ # - # source://json//lib/json/common.rb#575 + # source://json//json/common.rb#575 def recurse_proc(result, &proc); end - # source://json//lib/json/common.rb#557 + # source://json//json/common.rb#557 def restore(source, proc = T.unsafe(nil), options = T.unsafe(nil)); end # :stopdoc: # I want to deprecate these later, so I'll first be silent about them, and # later delete them. # - # source://json//lib/json/common.rb#296 + # source://json//json/common.rb#296 def unparse(obj, opts = T.unsafe(nil)); end class << self @@ -972,26 +968,26 @@ module JSON # ruby = [0, 1, nil] # JSON[ruby] # => '[0,1,null]' # - # source://json//lib/json/common.rb#18 + # source://json//json/common.rb#18 def [](object, opts = T.unsafe(nil)); end - # source://json//lib/json/common.rb#81 + # source://json//json/common.rb#81 def create_fast_state; end # Returns the current create identifier. # See also JSON.create_id=. # - # source://json//lib/json/common.rb#126 + # source://json//json/common.rb#126 def create_id; end # Sets create identifier, which is used to decide if the _json_create_ # hook of a class should be called; initial value is +json_class+: # JSON.create_id # => 'json_class' # - # source://json//lib/json/common.rb#120 + # source://json//json/common.rb#120 def create_id=(new_value); end - # source://json//lib/json/common.rb#91 + # source://json//json/common.rb#91 def create_pretty_state; end # Return the constant located at _path_. The format of _path_ has to be @@ -999,7 +995,7 @@ module JSON # level (absolute namespace path?). If there doesn't exist a constant at # the given path, an ArgumentError is raised. # - # source://json//lib/json/common.rb#42 + # source://json//json/common.rb#42 def deep_const_get(path); end # :call-seq: @@ -1030,7 +1026,7 @@ module JSON # Output: # {"foo":[0,1],"bar":{"baz":2,"bat":3},"bam":"bad"} # - # source://json//lib/json/common.rb#631 + # source://json//json/common.rb#631 def dump(obj, anIO = T.unsafe(nil), limit = T.unsafe(nil)); end # Sets or returns the default options for the JSON.dump method. @@ -1038,7 +1034,7 @@ module JSON # opts = JSON.dump_default_options # opts # => {:max_nesting=>false, :allow_nan=>true, :escape_slash=>false} # - # source://json//lib/json/common.rb#596 + # source://json//json/common.rb#596 def dump_default_options; end # Sets or returns the default options for the JSON.dump method. @@ -1046,7 +1042,7 @@ module JSON # opts = JSON.dump_default_options # opts # => {:max_nesting=>false, :allow_nan=>true, :escape_slash=>false} # - # source://json//lib/json/common.rb#596 + # source://json//json/common.rb#596 def dump_default_options=(_arg0); end # :call-seq: @@ -1063,13 +1059,13 @@ module JSON # # Raises SystemStackError (stack level too deep): # JSON.fast_generate(a) # - # source://json//lib/json/common.rb#335 + # source://json//json/common.rb#335 def fast_generate(obj, opts = T.unsafe(nil)); end # :stopdoc: # I want to deprecate these later, so I'll first be silent about them, and later delete them. # - # source://json//lib/json/common.rb#335 + # source://json//json/common.rb#335 def fast_unparse(obj, opts = T.unsafe(nil)); end # :call-seq: @@ -1108,24 +1104,24 @@ module JSON # # Raises JSON::NestingError (nesting of 100 is too deep): # JSON.generate(a) # - # source://json//lib/json/common.rb#296 + # source://json//json/common.rb#296 def generate(obj, opts = T.unsafe(nil)); end # Returns the JSON generator module that is used by JSON. This is # either JSON::Ext::Generator or JSON::Pure::Generator: # JSON.generator # => JSON::Ext::Generator # - # source://json//lib/json/common.rb#103 + # source://json//json/common.rb#103 def generator; end # Set the module _generator_ to be used by JSON. # - # source://json//lib/json/common.rb#58 + # source://json//json/common.rb#58 def generator=(generator); end # Encodes string using String.encode. # - # source://json//lib/json/common.rb#653 + # source://json//json/common.rb#653 def iconv(to, from, string); end # :call-seq: @@ -1256,7 +1252,7 @@ module JSON # #"Admin", "password"=>"0wn3d"}>} # - # source://json//lib/json/common.rb#557 + # source://json//json/common.rb#557 def load(source, proc = T.unsafe(nil), options = T.unsafe(nil)); end # Sets or returns default options for the JSON.load method. @@ -1264,7 +1260,7 @@ module JSON # opts = JSON.load_default_options # opts # => {:max_nesting=>false, :allow_nan=>true, :allow_blank=>true, :create_additions=>true} # - # source://json//lib/json/common.rb#420 + # source://json//json/common.rb#420 def load_default_options; end # Sets or returns default options for the JSON.load method. @@ -1272,7 +1268,7 @@ module JSON # opts = JSON.load_default_options # opts # => {:max_nesting=>false, :allow_nan=>true, :allow_blank=>true, :create_additions=>true} # - # source://json//lib/json/common.rb#420 + # source://json//json/common.rb#420 def load_default_options=(_arg0); end # :call-seq: @@ -1283,7 +1279,7 @@ module JSON # # See method #parse. # - # source://json//lib/json/common.rb#245 + # source://json//json/common.rb#245 def load_file(filespec, opts = T.unsafe(nil)); end # :call-seq: @@ -1294,7 +1290,7 @@ module JSON # # See method #parse! # - # source://json//lib/json/common.rb#256 + # source://json//json/common.rb#256 def load_file!(filespec, opts = T.unsafe(nil)); end # :call-seq: @@ -1345,7 +1341,7 @@ module JSON # # Raises JSON::ParserError (783: unexpected token at ''): # JSON.parse('') # - # source://json//lib/json/common.rb#215 + # source://json//json/common.rb#215 def parse(source, opts = T.unsafe(nil)); end # :call-seq: @@ -1360,19 +1356,19 @@ module JSON # which disables checking for nesting depth. # - Option +allow_nan+, if not provided, defaults to +true+. # - # source://json//lib/json/common.rb#230 + # source://json//json/common.rb#230 def parse!(source, opts = T.unsafe(nil)); end # Returns the JSON parser class that is used by JSON. This is either # JSON::Ext::Parser or JSON::Pure::Parser: # JSON.parser # => JSON::Ext::Parser # - # source://json//lib/json/common.rb#29 + # source://json//json/common.rb#29 def parser; end # Set the JSON parser class _parser_ to be used by JSON. # - # source://json//lib/json/common.rb#32 + # source://json//json/common.rb#32 def parser=(parser); end # :call-seq: @@ -1405,115 +1401,111 @@ module JSON # } # } # - # source://json//lib/json/common.rb#390 + # source://json//json/common.rb#390 def pretty_generate(obj, opts = T.unsafe(nil)); end # :stopdoc: # I want to deprecate these later, so I'll first be silent about them, and later delete them. # - # source://json//lib/json/common.rb#390 + # source://json//json/common.rb#390 def pretty_unparse(obj, opts = T.unsafe(nil)); end # Recursively calls passed _Proc_ if the parsed data structure is an _Array_ or _Hash_ # - # source://json//lib/json/common.rb#575 + # source://json//json/common.rb#575 def recurse_proc(result, &proc); end - # source://json//lib/json/common.rb#557 + # source://json//json/common.rb#557 def restore(source, proc = T.unsafe(nil), options = T.unsafe(nil)); end # Sets or Returns the JSON generator state class that is used by JSON. This is # either JSON::Ext::Generator::State or JSON::Pure::Generator::State: # JSON.state # => JSON::Ext::Generator::State # - # source://json//lib/json/common.rb#108 + # source://json//json/common.rb#108 def state; end # Sets or Returns the JSON generator state class that is used by JSON. This is # either JSON::Ext::Generator::State or JSON::Pure::Generator::State: # JSON.state # => JSON::Ext::Generator::State # - # source://json//lib/json/common.rb#108 + # source://json//json/common.rb#108 def state=(_arg0); end # :stopdoc: # I want to deprecate these later, so I'll first be silent about them, and # later delete them. # - # source://json//lib/json/common.rb#296 + # source://json//json/common.rb#296 def unparse(obj, opts = T.unsafe(nil)); end end end -# source://json//lib/json/common.rb#114 +# source://json//json/common.rb#114 JSON::CREATE_ID_TLS_KEY = T.let(T.unsafe(nil), String) -# source://json//lib/json/common.rb#111 +# source://json//json/common.rb#111 JSON::DEFAULT_CREATE_ID = T.let(T.unsafe(nil), String) -# source://json//lib/json/generic_object.rb#5 class JSON::GenericObject < ::OpenStruct - # source://json//lib/json/generic_object.rb#63 + # source://json//json/generic_object.rb#63 def as_json(*_arg0); end - # source://json//lib/json/generic_object.rb#47 + # source://json//json/generic_object.rb#47 def to_hash; end - # source://json//lib/json/generic_object.rb#67 + # source://json//json/generic_object.rb#67 def to_json(*a); end - # source://json//lib/json/generic_object.rb#59 + # source://json//json/generic_object.rb#59 def |(other); end class << self - # source://json//lib/json/generic_object.rb#41 + # source://json//json/generic_object.rb#41 def dump(obj, *args); end - # source://json//lib/json/generic_object.rb#21 + # source://json//json/generic_object.rb#21 def from_hash(object); end # Sets the attribute json_creatable # # @param value the value to set the attribute json_creatable to. # - # source://json//lib/json/generic_object.rb#13 + # source://json//json/generic_object.rb#13 def json_creatable=(_arg0); end # @return [Boolean] # - # source://json//lib/json/generic_object.rb#9 + # source://json//json/generic_object.rb#9 def json_creatable?; end - # source://json//lib/json/generic_object.rb#15 + # source://json//json/generic_object.rb#15 def json_create(data); end - # source://json//lib/json/generic_object.rb#36 + # source://json//json/generic_object.rb#36 def load(source, proc = T.unsafe(nil), opts = T.unsafe(nil)); end end end # The base exception for JSON errors. -# -# source://json//lib/json/common.rb#137 class JSON::JSONError < ::StandardError class << self - # source://json//lib/json/common.rb#138 + # source://json//json/common.rb#138 def wrap(exception); end end end -# source://json//lib/json/common.rb#35 +# source://json//json/common.rb#35 JSON::Parser = JSON::Ext::Parser -# source://json//lib/json/common.rb#73 +# source://json//json/common.rb#73 JSON::State = JSON::Ext::Generator::State # For backwards compatibility # -# source://json//lib/json/common.rb#159 +# source://json//json/common.rb#159 JSON::UnparserError = JSON::GeneratorError -# source://json//lib/json/common.rb#658 module Kernel private @@ -1524,18 +1516,18 @@ module Kernel # The _opts_ argument is passed through to generate/parse respectively. See # generate and parse for their documentation. # - # source://json//lib/json/common.rb#685 + # source://json//json/common.rb#685 def JSON(object, *args); end # Outputs _objs_ to STDOUT as JSON strings in the shortest form, that is in # one line. # - # source://json//lib/json/common.rb#663 + # source://json//json/common.rb#663 def j(*objs); end # Outputs _objs_ to STDOUT as JSON strings in a pretty format, with # indentation and over many lines. # - # source://json//lib/json/common.rb#672 + # source://json//json/common.rb#672 def jj(*objs); end end diff --git a/sorbet/rbi/gems/kwalify@0.7.2.rbi b/sorbet/rbi/gems/kwalify@0.7.2.rbi new file mode 100644 index 0000000..9387f17 --- /dev/null +++ b/sorbet/rbi/gems/kwalify@0.7.2.rbi @@ -0,0 +1,1401 @@ +# typed: true + +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `kwalify` gem. +# Please instead update this file by running `bin/tapioca gem kwalify`. + +# source://kwalify//lib/kwalify/types.rb#58 +class Date + include ::Comparable + include ::Kwalify::Scalar +end + +# source://kwalify//lib/kwalify/types.rb#17 +class FalseClass + include ::Kwalify::Boolean + include ::Kwalify::Scalar +end + +# source://kwalify//lib/kwalify.rb#8 +module Kwalify + extend ::Kwalify::Types + extend ::Kwalify::ErrorHelper + + class << self + # obsolete + # + # source://kwalify//lib/kwalify/meta-validator.rb#271 + def meta_validator; end + + # source://kwalify//lib/kwalify/messages.rb#11 + def msg(key); end + + # source://kwalify//lib/kwalify/messages.rb#163 + def word(key); end + end +end + +# source://kwalify//lib/kwalify/errors.rb#15 +class Kwalify::AssertionError < ::Kwalify::KwalifyError + # @return [AssertionError] a new instance of AssertionError + # + # source://kwalify//lib/kwalify/errors.rb#16 + def initialize(msg); end +end + +# source://kwalify//lib/kwalify/errors.rb#22 +class Kwalify::BaseError < ::Kwalify::KwalifyError + # @return [BaseError] a new instance of BaseError + # + # source://kwalify//lib/kwalify/errors.rb#23 + def initialize(message = T.unsafe(nil), path = T.unsafe(nil), value = T.unsafe(nil), rule = T.unsafe(nil), error_symbol = T.unsafe(nil)); end + + # source://kwalify//lib/kwalify/errors.rb#49 + def <=>(ex); end + + def _to_s; end + + # Returns the value of attribute column. + # + # source://kwalify//lib/kwalify/errors.rb#31 + def column; end + + # Sets the attribute column + # + # @param value the value to set the attribute column to. + # + # source://kwalify//lib/kwalify/errors.rb#31 + def column=(_arg0); end + + # Returns the value of attribute error_symbol. + # + # source://kwalify//lib/kwalify/errors.rb#30 + def error_symbol; end + + # Sets the attribute error_symbol + # + # @param value the value to set the attribute error_symbol to. + # + # source://kwalify//lib/kwalify/errors.rb#30 + def error_symbol=(_arg0); end + + # Returns the value of attribute filename. + # + # source://kwalify//lib/kwalify/errors.rb#31 + def filename; end + + # Sets the attribute filename + # + # @param value the value to set the attribute filename to. + # + # source://kwalify//lib/kwalify/errors.rb#31 + def filename=(_arg0); end + + # Returns the value of attribute linenum. + # + # source://kwalify//lib/kwalify/errors.rb#31 + def linenum; end + + # Sets the attribute linenum + # + # @param value the value to set the attribute linenum to. + # + # source://kwalify//lib/kwalify/errors.rb#31 + def linenum=(_arg0); end + + def message; end + + # Returns the value of attribute path. + # + # source://kwalify//lib/kwalify/errors.rb#33 + def path; end + + # Sets the attribute path + # + # @param value the value to set the attribute path to. + # + # source://kwalify//lib/kwalify/errors.rb#30 + def path=(_arg0); end + + # Returns the value of attribute rule. + # + # source://kwalify//lib/kwalify/errors.rb#30 + def rule; end + + # Sets the attribute rule + # + # @param value the value to set the attribute rule to. + # + # source://kwalify//lib/kwalify/errors.rb#30 + def rule=(_arg0); end + + # source://kwalify//lib/kwalify/errors.rb#40 + def to_s; end + + # Returns the value of attribute value. + # + # source://kwalify//lib/kwalify/errors.rb#30 + def value; end + + # Sets the attribute value + # + # @param value the value to set the attribute value to. + # + # source://kwalify//lib/kwalify/errors.rb#30 + def value=(_arg0); end +end + +# base class for Yaml::Parser +# +# source://kwalify//lib/kwalify/parser/base.rb#15 +class Kwalify::BaseParser + # source://kwalify//lib/kwalify/parser/base.rb#67 + def _getch; end + + # source://kwalify//lib/kwalify/parser/base.rb#36 + def _set_column_and_linenum(s); end + + # Returns the value of attribute column. + # + # source://kwalify//lib/kwalify/parser/base.rb#25 + def column; end + + # @return [Boolean] + # + # source://kwalify//lib/kwalify/parser/base.rb#57 + def eos?; end + + # Returns the value of attribute filename. + # + # source://kwalify//lib/kwalify/parser/base.rb#25 + def filename; end + + # source://kwalify//lib/kwalify/parser/base.rb#52 + def group(n); end + + # Returns the value of attribute linenum. + # + # source://kwalify//lib/kwalify/parser/base.rb#25 + def linenum; end + + # @return [Boolean] + # + # source://kwalify//lib/kwalify/parser/base.rb#47 + def match?(regexp); end + + # source://kwalify//lib/kwalify/parser/base.rb#62 + def peep(n = T.unsafe(nil)); end + + # source://kwalify//lib/kwalify/parser/base.rb#18 + def reset(input, filename = T.unsafe(nil), untabify = T.unsafe(nil)); end + + # source://kwalify//lib/kwalify/parser/base.rb#28 + def scan(regexp); end + + # source://kwalify//lib/kwalify/parser/base.rb#81 + def scan_string; end + + protected + + # source://kwalify//lib/kwalify/parser/base.rb#120 + def _syntax_error(message, path = T.unsafe(nil), linenum = T.unsafe(nil), column = T.unsafe(nil)); end +end + +# source://kwalify//lib/kwalify/parser/base.rb#79 +Kwalify::BaseParser::CHAR_TABLE = T.let(T.unsafe(nil), Hash) + +# source://kwalify//lib/kwalify/types.rb#11 +module Kwalify::Boolean; end + +# source://kwalify//lib/kwalify/errors.rb#93 +module Kwalify::ErrorHelper + # module_function + # + # @raise [AssertionError] + # + # source://kwalify//lib/kwalify/errors.rb#97 + def assert_error(message = T.unsafe(nil)); end + + # source://kwalify//lib/kwalify/errors.rb#108 + def schema_error(error_symbol, rule, path, val, args = T.unsafe(nil)); end + + private + + # source://kwalify//lib/kwalify/errors.rb#114 + def _build_message(message_key, val, args); end + + # source://kwalify//lib/kwalify/errors.rb#101 + def validate_error(error_symbol, rule, path, val, args = T.unsafe(nil)); end + + class << self + # source://kwalify//lib/kwalify/errors.rb#114 + def _build_message(message_key, val, args); end + + # source://kwalify//lib/kwalify/errors.rb#101 + def validate_error(error_symbol, rule, path, val, args = T.unsafe(nil)); end + end +end + +# source://kwalify//lib/kwalify.rb#64 +module Kwalify::Json; end + +# source://kwalify//lib/kwalify/errors.rb#11 +class Kwalify::KwalifyError < ::StandardError; end + +# source://kwalify//lib/kwalify/meta-validator.rb#269 +Kwalify::META_VALIDATOR = T.let(T.unsafe(nil), Kwalify::MetaValidator) + +# ex. +# meta_validator = Kwalify::MetaValidator.instance() +# schema = File.load_file('schema.yaml') +# errors = meta_validator.validate(schema) +# if !errors.empty? +# errors.each do |error| +# puts "[#{error.path}] #{error.message}" +# end +# end +# +# source://kwalify//lib/kwalify/meta-validator.rb#27 +class Kwalify::MetaValidator < ::Kwalify::Validator + # @return [MetaValidator] a new instance of MetaValidator + # + # source://kwalify//lib/kwalify/meta-validator.rb#40 + def initialize(schema, &block); end + + # source://kwalify//lib/kwalify/meta-validator.rb#44 + def validate_hook(value, rule, path, errors); end + + class << self + # source://kwalify//lib/kwalify/meta-validator.rb#32 + def instance; end + end +end + +# source://kwalify//lib/kwalify/meta-validator.rb#30 +Kwalify::MetaValidator::META_SCHEMA = T.let(T.unsafe(nil), String) + +# alias of YamlParser class +# +# source://kwalify//lib/kwalify/yaml-parser.rb#862 +class Kwalify::Parser < ::Kwalify::YamlParser + # @return [Parser] a new instance of Parser + # + # source://kwalify//lib/kwalify/yaml-parser.rb#863 + def initialize(yaml_str); end +end + +# base class of yaml parser +# +# ex. +# str = ARGF.read() +# parser = Kwalify::PlainYamlParser.new(str) +# doc = parser.parse() +# p doc +# +# source://kwalify//lib/kwalify/yaml-parser.rb#25 +class Kwalify::PlainYamlParser + # @return [PlainYamlParser] a new instance of PlainYamlParser + # + # source://kwalify//lib/kwalify/yaml-parser.rb#36 + def initialize(yaml_str); end + + # @return [Boolean] + # + # source://kwalify//lib/kwalify/yaml-parser.rb#55 + def has_next?; end + + # source://kwalify//lib/kwalify/yaml-parser.rb#45 + def parse; end + + # source://kwalify//lib/kwalify/yaml-parser.rb#60 + def parse_all; end + + protected + + # source://kwalify//lib/kwalify/yaml-parser.rb#89 + def add_to_map(map, key, value, linenum); end + + # source://kwalify//lib/kwalify/yaml-parser.rb#77 + def add_to_seq(seq, value, linenum); end + + # source://kwalify//lib/kwalify/yaml-parser.rb#85 + def create_mapping(linenum = T.unsafe(nil)); end + + # source://kwalify//lib/kwalify/yaml-parser.rb#107 + def create_scalar(value, linenum = T.unsafe(nil)); end + + # source://kwalify//lib/kwalify/yaml-parser.rb#73 + def create_sequence(linenum = T.unsafe(nil)); end + + # source://kwalify//lib/kwalify/yaml-parser.rb#112 + def current_line; end + + # source://kwalify//lib/kwalify/yaml-parser.rb#116 + def current_linenum; end + + # source://kwalify//lib/kwalify/yaml-parser.rb#101 + def merge_map(map, map2, linenum); end + + # source://kwalify//lib/kwalify/yaml-parser.rb#97 + def set_default(map, value, linenum); end + + # source://kwalify//lib/kwalify/yaml-parser.rb#93 + def set_map_with(map, key, value, linenum); end + + # source://kwalify//lib/kwalify/yaml-parser.rb#81 + def set_seq_at(seq, i, value, linenum); end + + private + + # source://kwalify//lib/kwalify/yaml-parser.rb#149 + def _getchar; end + + # source://kwalify//lib/kwalify/yaml-parser.rb#130 + def _getline; end + + # source://kwalify//lib/kwalify/yaml-parser.rb#720 + def assert(bool_expr); end + + # source://kwalify//lib/kwalify/yaml-parser.rb#173 + def current_char; end + + # source://kwalify//lib/kwalify/yaml-parser.rb#161 + def getchar; end + + # source://kwalify//lib/kwalify/yaml-parser.rb#167 + def getchar_or_nl; end + + # source://kwalify//lib/kwalify/yaml-parser.rb#177 + def getlabel; end + + # source://kwalify//lib/kwalify/yaml-parser.rb#124 + def getline; end + + # source://kwalify//lib/kwalify/yaml-parser.rb#478 + def parse_alias(column, value); end + + # source://kwalify//lib/kwalify/yaml-parser.rb#451 + def parse_anchor(column, value); end + + # source://kwalify//lib/kwalify/yaml-parser.rb#546 + def parse_block_text(column, value); end + + # source://kwalify//lib/kwalify/yaml-parser.rb#199 + def parse_child(column); end + + # source://kwalify//lib/kwalify/yaml-parser.rb#267 + def parse_flow(depth); end + + # source://kwalify//lib/kwalify/yaml-parser.rb#346 + def parse_flow_map(depth); end + + # source://kwalify//lib/kwalify/yaml-parser.rb#376 + def parse_flow_map_item(depth); end + + # source://kwalify//lib/kwalify/yaml-parser.rb#389 + def parse_flow_scalar(depth); end + + # source://kwalify//lib/kwalify/yaml-parser.rb#314 + def parse_flow_seq(depth); end + + # source://kwalify//lib/kwalify/yaml-parser.rb#342 + def parse_flow_seq_item(depth); end + + # flowstyle ::= flow_seq | flow_map | flow_scalar | alias + # + # flow_seq ::= '[' [ flow_seq_item { ',' sp flow_seq_item } ] ']' + # flow_seq_item ::= flowstyle + # + # flow_map ::= '{' [ flow_map_item { ',' sp flow_map_item } ] '}' + # flow_map_item ::= flowstyle ':' sp flowstyle + # + # flow_scalar ::= string | number | boolean | symbol | date + # + # source://kwalify//lib/kwalify/yaml-parser.rb#252 + def parse_flowstyle(column, value); end + + # source://kwalify//lib/kwalify/yaml-parser.rb#625 + def parse_mapping(column, value); end + + # source://kwalify//lib/kwalify/yaml-parser.rb#672 + def parse_scalar(indent, value); end + + # source://kwalify//lib/kwalify/yaml-parser.rb#588 + def parse_sequence(column, value); end + + # source://kwalify//lib/kwalify/yaml-parser.rb#435 + def parse_tag(column, value); end + + # source://kwalify//lib/kwalify/yaml-parser.rb#210 + def parse_value(column, value, value_start_column); end + + # source://kwalify//lib/kwalify/yaml-parser.rb#496 + def register_alias(label); end + + # source://kwalify//lib/kwalify/yaml-parser.rb#470 + def register_anchor(label, data); end + + # source://kwalify//lib/kwalify/yaml-parser.rb#143 + def reset_sbuf(str); end + + # source://kwalify//lib/kwalify/yaml-parser.rb#503 + def resolve_aliases(data); end + + # -- + # def syntax_error(error_symbol, linenum=@linenum) + # msg = Kwalify.msg(error_symbol) % [linenum] + # return Kwalify::YamlSyntaxError.new(msg, linenum,error_symbol) + # end + # ++ + # + # source://kwalify//lib/kwalify/yaml-parser.rb#193 + def syntax_error(error_symbol, arg = T.unsafe(nil), linenum = T.unsafe(nil)); end + + # source://kwalify//lib/kwalify/yaml-parser.rb#679 + def to_scalar(str); end + + # @return [Boolean] + # + # source://kwalify//lib/kwalify/yaml-parser.rb#235 + def white?(ch); end +end + +# source://kwalify//lib/kwalify/yaml-parser.rb#27 +class Kwalify::PlainYamlParser::Alias + # @return [Alias] a new instance of Alias + # + # source://kwalify//lib/kwalify/yaml-parser.rb#28 + def initialize(label, linenum); end + + # Returns the value of attribute label. + # + # source://kwalify//lib/kwalify/yaml-parser.rb#32 + def label; end + + # Returns the value of attribute linenum. + # + # source://kwalify//lib/kwalify/yaml-parser.rb#32 + def linenum; end +end + +# source://kwalify//lib/kwalify.rb#10 +Kwalify::RELEASE = T.let(T.unsafe(nil), String) + +# source://kwalify//lib/kwalify/rule.rb#15 +class Kwalify::Rule + include ::Kwalify::ErrorHelper + + # @return [Rule] a new instance of Rule + # + # source://kwalify//lib/kwalify/rule.rb#40 + def initialize(hash = T.unsafe(nil), parent = T.unsafe(nil)); end + + # source://kwalify//lib/kwalify/rule.rb#46 + def _init(hash, path = T.unsafe(nil), rule_table = T.unsafe(nil)); end + + # source://kwalify//lib/kwalify/rule.rb#539 + def _uniqueness_check_table; end + + # Returns the value of attribute assert. + # + # source://kwalify//lib/kwalify/rule.rb#29 + def assert; end + + # Returns the value of attribute assert_proc. + # + # source://kwalify//lib/kwalify/rule.rb#30 + def assert_proc; end + + # Returns the value of attribute classname. + # + # source://kwalify//lib/kwalify/rule.rb#36 + def classname; end + + # Returns the value of attribute classobj. + # + # source://kwalify//lib/kwalify/rule.rb#37 + def classobj; end + + # Returns the value of attribute default. + # + # source://kwalify//lib/kwalify/rule.rb#35 + def default; end + + # Returns the value of attribute desc. + # + # source://kwalify//lib/kwalify/rule.rb#20 + def desc; end + + # Returns the value of attribute enum. + # + # source://kwalify//lib/kwalify/rule.rb#21 + def enum; end + + # Returns the value of attribute ident. + # + # source://kwalify//lib/kwalify/rule.rb#33 + def ident; end + + # Returns the value of attribute length. + # + # source://kwalify//lib/kwalify/rule.rb#32 + def length; end + + # Returns the value of attribute mapping. + # + # source://kwalify//lib/kwalify/rule.rb#28 + def mapping; end + + # Returns the value of attribute name. + # + # source://kwalify//lib/kwalify/rule.rb#19 + def name; end + + # Returns the value of attribute parent. + # + # source://kwalify//lib/kwalify/rule.rb#18 + def parent; end + + # Sets the attribute parent + # + # @param value the value to set the attribute parent to. + # + # source://kwalify//lib/kwalify/rule.rb#18 + def parent=(_arg0); end + + # Returns the value of attribute pattern. + # + # source://kwalify//lib/kwalify/rule.rb#25 + def pattern; end + + # Returns the value of attribute range. + # + # source://kwalify//lib/kwalify/rule.rb#31 + def range; end + + # Returns the value of attribute regexp. + # + # source://kwalify//lib/kwalify/rule.rb#26 + def regexp; end + + # Returns the value of attribute required. + # + # source://kwalify//lib/kwalify/rule.rb#22 + def required; end + + # Returns the value of attribute sequence. + # + # source://kwalify//lib/kwalify/rule.rb#27 + def sequence; end + + # Returns the value of attribute type. + # + # source://kwalify//lib/kwalify/rule.rb#23 + def type; end + + # Returns the value of attribute type_class. + # + # source://kwalify//lib/kwalify/rule.rb#24 + def type_class; end + + # Returns the value of attribute unique. + # + # source://kwalify//lib/kwalify/rule.rb#34 + def unique; end + + protected + + # source://kwalify//lib/kwalify/rule.rb#473 + def _inspect(str = T.unsafe(nil), level = T.unsafe(nil), done = T.unsafe(nil)); end + + # source://kwalify//lib/kwalify/rule.rb#86 + def get_init_method(sym); end + + private + + # source://kwalify//lib/kwalify/rule.rb#427 + def _check_confliction(hash, rule, path); end + + # source://kwalify//lib/kwalify/rule.rb#197 + def _init_assert_value(val, rule, path); end + + # source://kwalify//lib/kwalify/rule.rb#116 + def _init_class_value(val, rule, path); end + + # source://kwalify//lib/kwalify/rule.rb#358 + def _init_default_value(val, rule, path); end + + # source://kwalify//lib/kwalify/rule.rb#135 + def _init_desc_value(val, rule, path); end + + # source://kwalify//lib/kwalify/rule.rb#172 + def _init_enum_value(val, rule, path); end + + # source://kwalify//lib/kwalify/rule.rb#319 + def _init_ident_value(val, rule, path); end + + # source://kwalify//lib/kwalify/rule.rb#268 + def _init_length_value(val, rule, path); end + + # source://kwalify//lib/kwalify/rule.rb#396 + def _init_mapping_value(val, rule, path, rule_table); end + + # source://kwalify//lib/kwalify/rule.rb#130 + def _init_name_value(val, rule, path); end + + # source://kwalify//lib/kwalify/rule.rb#149 + def _init_pattern_value(val, rule, path); end + + # source://kwalify//lib/kwalify/rule.rb#216 + def _init_range_value(val, rule, path); end + + # source://kwalify//lib/kwalify/rule.rb#140 + def _init_required_value(val, rule, path); end + + # source://kwalify//lib/kwalify/rule.rb#375 + def _init_sequence_value(val, rule, path, rule_table); end + + # source://kwalify//lib/kwalify/rule.rb#95 + def _init_type_value(val, rule, path); end + + # source://kwalify//lib/kwalify/rule.rb#341 + def _init_unique_value(val, rule, path); end +end + +# source://kwalify//lib/kwalify/types.rb#49 +module Kwalify::Scalar; end + +# source://kwalify//lib/kwalify/errors.rb#60 +class Kwalify::SchemaError < ::Kwalify::BaseError + # @return [SchemaError] a new instance of SchemaError + # + # source://kwalify//lib/kwalify/errors.rb#61 + def initialize(message = T.unsafe(nil), path = T.unsafe(nil), rule = T.unsafe(nil), value = T.unsafe(nil), error_symbol = T.unsafe(nil)); end +end + +# syntax error for YAML and JSON +# +# source://kwalify//lib/kwalify/errors.rb#75 +class Kwalify::SyntaxError < ::Kwalify::BaseError + # KwalifyError + # + # @return [SyntaxError] a new instance of SyntaxError + # + # source://kwalify//lib/kwalify/errors.rb#76 + def initialize(msg, linenum = T.unsafe(nil), error_symbol = T.unsafe(nil)); end + + # attr_accessor :linenum, :error_symbol + # + # source://kwalify//lib/kwalify/errors.rb#82 + def message; end +end + +# source://kwalify//lib/kwalify/types.rb#30 +module Kwalify::Text + include ::Kwalify::Scalar +end + +# source://kwalify//lib/kwalify/types.rb#83 +module Kwalify::Types + private + + # -- + # def collection_class?(klass) + # return klass.is_a?(Array) || klass.is_a?(Hash) + # end + # + # def scalar_class?(klass) + # return !klass.is_a?(Array) && !klass.is_a?(Hash) && klass != Object + # end + # + # @return [Boolean] + # + # source://kwalify//lib/kwalify/types.rb#134 + def collection?(val); end + + # @return [Boolean] + # + # source://kwalify//lib/kwalify/types.rb#143 + def collection_type?(type); end + + # @return [Boolean] + # + # source://kwalify//lib/kwalify/types.rb#138 + def scalar?(val); end + + # @return [Boolean] + # + # source://kwalify//lib/kwalify/types.rb#147 + def scalar_type?(type); end + + class << self + # -- + # def collection_class?(klass) + # return klass.is_a?(Array) || klass.is_a?(Hash) + # end + # + # def scalar_class?(klass) + # return !klass.is_a?(Array) && !klass.is_a?(Hash) && klass != Object + # end + # + # @return [Boolean] + # + # source://kwalify//lib/kwalify/types.rb#134 + def collection?(val); end + + # @return [Boolean] + # + # source://kwalify//lib/kwalify/types.rb#143 + def collection_type?(type); end + + # source://kwalify//lib/kwalify/types.rb#119 + def get_type_class(type); end + + # @return [Boolean] + # + # source://kwalify//lib/kwalify/types.rb#138 + def scalar?(val); end + + # @return [Boolean] + # + # source://kwalify//lib/kwalify/types.rb#147 + def scalar_type?(type); end + + # source://kwalify//lib/kwalify/types.rb#113 + def type_class(type); end + + # source://kwalify//lib/kwalify/types.rb#109 + def type_table; end + end +end + +# use "str" as default of @type +# +# source://kwalify//lib/kwalify/types.rb#86 +Kwalify::Types::DEFAULT_TYPE = T.let(T.unsafe(nil), String) + +# source://kwalify//lib/kwalify/util.rb#9 +module Kwalify::Util + private + + # source://kwalify//lib/kwalify/util.rb#77 + def _traverse_rule(rule, _done = T.unsafe(nil), &block); end + + # source://kwalify//lib/kwalify/util.rb#50 + def _traverse_schema(hash, _done = T.unsafe(nil), &block); end + + # create a hash table from list of hash with primary key. + # + # ex. + # hashlist = [ + # { "name"=>"Foo", "gender"=>"M", "age"=>20, }, + # { "name"=>"Bar", "gender"=>"F", "age"=>25, }, + # { "name"=>"Baz", "gender"=>"M", "age"=>30, }, + # ] + # hashtable = YamlHelper.create_hashtable(hashlist, "name") + # p hashtable + # # => { "Foo" => { "name"=>"Foo", "gender"=>"M", "age"=>20, }, + # # "Bar" => { "name"=>"Bar", "gender"=>"F", "age"=>25, }, + # # "Baz" => { "name"=>"Baz", "gender"=>"M", "age"=>30, }, } + # + # source://kwalify//lib/kwalify/util.rb#118 + def create_hashtable(hashlist, primarykey, flag_duplicate_check = T.unsafe(nil)); end + + # get class object. if not found, NameError raised. + # + # source://kwalify//lib/kwalify/util.rb#94 + def get_class(classname); end + + # get nested value directly. + # + # ex. + # val = YamlHelper.get_value(obj, ['aaa', 0, 'xxx']) + # + # This is equal to the following: + # begin + # val = obj['aaa'][0]['xxx'] + # rescue NameError + # val = nil + # end + # + # source://kwalify//lib/kwalify/util.rb#147 + def get_value(obj, path); end + + # traverse rule + # + # ex. + # schema = YAML.load_file('myschema.yaml') + # validator = Kwalify::Validator.new(schema) + # Kwalify::Util.traverse_rule(validator) do |rule| + # p rule if rule.classname + # end + # + # source://kwalify//lib/kwalify/util.rb#71 + def traverse_rule(validator, &block); end + + # traverse schema + # + # ex. + # schema = YAML.load_file('myschema.yaml') + # Kwalify::Util.traverse_schema(schema) do |rulehash| + # ## add module prefix to class name + # if rulehash['class'] + # rulehash['class'] = 'MyModule::' + rulehash['class'] + # end + # end + # + # source://kwalify//lib/kwalify/util.rb#44 + def traverse_schema(schema, &block); end + + # expand tab character to spaces + # + # ex. + # untabified_str = YamlHelper.untabify(tabbed_str) + # + # source://kwalify//lib/kwalify/util.rb#19 + def untabify(str, width = T.unsafe(nil)); end + + class << self + # @yield [rule] + # + # source://kwalify//lib/kwalify/util.rb#77 + def _traverse_rule(rule, _done = T.unsafe(nil), &block); end + + # @yield [hash] + # + # source://kwalify//lib/kwalify/util.rb#50 + def _traverse_schema(hash, _done = T.unsafe(nil), &block); end + + # create a hash table from list of hash with primary key. + # + # ex. + # hashlist = [ + # { "name"=>"Foo", "gender"=>"M", "age"=>20, }, + # { "name"=>"Bar", "gender"=>"F", "age"=>25, }, + # { "name"=>"Baz", "gender"=>"M", "age"=>30, }, + # ] + # hashtable = YamlHelper.create_hashtable(hashlist, "name") + # p hashtable + # # => { "Foo" => { "name"=>"Foo", "gender"=>"M", "age"=>20, }, + # # "Bar" => { "name"=>"Bar", "gender"=>"F", "age"=>25, }, + # # "Baz" => { "name"=>"Baz", "gender"=>"M", "age"=>30, }, } + # + # source://kwalify//lib/kwalify/util.rb#118 + def create_hashtable(hashlist, primarykey, flag_duplicate_check = T.unsafe(nil)); end + + # get class object. if not found, NameError raised. + # + # source://kwalify//lib/kwalify/util.rb#94 + def get_class(classname); end + + # get nested value directly. + # + # ex. + # val = YamlHelper.get_value(obj, ['aaa', 0, 'xxx']) + # + # This is equal to the following: + # begin + # val = obj['aaa'][0]['xxx'] + # rescue NameError + # val = nil + # end + # + # source://kwalify//lib/kwalify/util.rb#147 + def get_value(obj, path); end + + # traverse rule + # + # ex. + # schema = YAML.load_file('myschema.yaml') + # validator = Kwalify::Validator.new(schema) + # Kwalify::Util.traverse_rule(validator) do |rule| + # p rule if rule.classname + # end + # + # source://kwalify//lib/kwalify/util.rb#71 + def traverse_rule(validator, &block); end + + # traverse schema + # + # ex. + # schema = YAML.load_file('myschema.yaml') + # Kwalify::Util.traverse_schema(schema) do |rulehash| + # ## add module prefix to class name + # if rulehash['class'] + # rulehash['class'] = 'MyModule::' + rulehash['class'] + # end + # end + # + # source://kwalify//lib/kwalify/util.rb#44 + def traverse_schema(schema, &block); end + + # expand tab character to spaces + # + # ex. + # untabified_str = YamlHelper.untabify(tabbed_str) + # + # source://kwalify//lib/kwalify/util.rb#19 + def untabify(str, width = T.unsafe(nil)); end + end +end + +# add hash-like methods +# +# source://kwalify//lib/kwalify/util/hashlike.rb#14 +module Kwalify::Util::HashLike + # source://kwalify//lib/kwalify/util/hashlike.rb#16 + def [](key); end + + # source://kwalify//lib/kwalify/util/hashlike.rb#20 + def []=(key, val); end + + # not necessary + # + # source://kwalify//lib/kwalify/util/hashlike.rb#39 + def each; end + + # -- + # def keys() + # instance_variables().collect { |name| name[1, name.length-1] } + # end + # ++ + # + # @return [Boolean] + # + # source://kwalify//lib/kwalify/util/hashlike.rb#30 + def key?(key); end +end + +# source://kwalify//lib/kwalify/errors.rb#67 +class Kwalify::ValidationError < ::Kwalify::BaseError + # @return [ValidationError] a new instance of ValidationError + # + # source://kwalify//lib/kwalify/errors.rb#68 + def initialize(message = T.unsafe(nil), path = T.unsafe(nil), rule = T.unsafe(nil), value = T.unsafe(nil), error_symbol = T.unsafe(nil)); end +end + +# validate YAML document +# +# ex1. validate yaml document +# schema = YAML.load_file('schema.yaml') +# validator = Kwalify::Validator.new(schema) +# document = YAML.load_file('document.yaml') +# erros = validator.validate(document) +# if errors && !errors.empty? +# errors.each do |err| +# puts "- [#{err.path}] #{err.message}" +# end +# end +# +# ex2. validate with parsing +# schema = YAML.load_file('schema.yaml') +# validator = Kwalify::Validator.new(schema) +# parser = Kwalify::Yaml::Parser.new(validator) +# document = parser.parse(File.read('document.yaml')) +# errors = parser.errors +# if errors && errors.empty? +# errors.each do |e| +# puts "#{e.linenum}:#{e.column} [#{e.path}] #{e.message}" +# end +# end +# +# source://kwalify//lib/kwalify/validator.rb#40 +class Kwalify::Validator + include ::Kwalify::ErrorHelper + + # @return [Validator] a new instance of Validator + # + # source://kwalify//lib/kwalify/validator.rb#44 + def initialize(hash_or_rule, &block); end + + # source://kwalify//lib/kwalify/validator.rb#52 + def _inspect; end + + # source://kwalify//lib/kwalify/validator.rb#75 + def _validate(value, rule, path, errors, done, uniq_table, recursive = T.unsafe(nil)); end + + # source://kwalify//lib/kwalify/validator.rb#161 + def _validate_mapping_required_keys(hash, map_rule, path, errors); end + + # source://kwalify//lib/kwalify/validator.rb#188 + def _validate_unique(value, rule, path, errors, uniq_table); end + + # Returns the value of attribute rule. + # + # source://kwalify//lib/kwalify/validator.rb#49 + def rule; end + + # source://kwalify//lib/kwalify/validator.rb#57 + def validate(value); end + + protected + + # source://kwalify//lib/kwalify/validator.rb#67 + def validate_hook(value, rule, path, errors); end + + private + + # source://kwalify//lib/kwalify/validator.rb#202 + def _validate_assert(value, rule, path, errors); end + + # source://kwalify//lib/kwalify/validator.rb#211 + def _validate_enum(value, rule, path, errors); end + + # source://kwalify//lib/kwalify/validator.rb#255 + def _validate_length(value, rule, path, errors); end + + # source://kwalify//lib/kwalify/validator.rb#140 + def _validate_mapping(hash, map_rule, path, errors, done, uniq_table, recursive = T.unsafe(nil)); end + + # source://kwalify//lib/kwalify/validator.rb#222 + def _validate_pattern(value, rule, path, errors); end + + # source://kwalify//lib/kwalify/validator.rb#231 + def _validate_range(value, rule, path, errors); end + + # source://kwalify//lib/kwalify/validator.rb#175 + def _validate_scalar(value, rule, path, errors, done, uniq_table); end + + # source://kwalify//lib/kwalify/validator.rb#127 + def _validate_sequence(list, seq_rule, path, errors, done, uniq_table, recursive = T.unsafe(nil)); end +end + +# source://kwalify//lib/kwalify/parser/yaml.rb#16 +module Kwalify::Yaml + class << self + # read yaml_str, parse it, and return yaml document. + # + # opts: + # ::validator: Kwalify::Validator object + # ::preceding_aliass: allow preceding alias if true + # ::data_binding: enable data binding if true + # ::untabify: expand tab chars if true + # ::filename: filename + # + # source://kwalify//lib/kwalify.rb#45 + def load(yaml_str, opts = T.unsafe(nil)); end + + # read file, parse it, and return yaml document. + # see Kwalify::Yaml::Parser.load() + # + # source://kwalify//lib/kwalify.rb#57 + def load_file(filename, opts = T.unsafe(nil)); end + end +end + +# YAML parser with validator +# +# ex. +# schema = YAML.load_file('schema.yaml') +# require 'kwalify' +# validator = Kwalify::Validator.new(schema) +# parser = Kwalify::Yaml::Parser.new(validator) # validator is optional +# #parser.preceding_alias = true # optional +# #parser.data_binding = true # optional +# ydoc = parser.parse_file('data.yaml') +# errors = parser.errors +# if errors && !errors.empty? +# errors.each do |e| +# puts "line=#{e.linenum}, path=#{e.path}, mesg=#{e.message}" +# end +# end +# +# source://kwalify//lib/kwalify/parser/yaml.rb#40 +class Kwalify::Yaml::Parser < ::Kwalify::BaseParser + # @return [Parser] a new instance of Parser + # + # source://kwalify//lib/kwalify/parser/yaml.rb#46 + def initialize(validator = T.unsafe(nil), properties = T.unsafe(nil)); end + + # source://kwalify//lib/kwalify/parser/yaml.rb#335 + def _parse_map_value(map, map_rule, path, level, key, is_merged, uniq_table, _linenum, _column, _linenum2, _column2); end + + # source://kwalify//lib/kwalify/parser/yaml.rb#90 + def _set_error_info(linenum = T.unsafe(nil), column = T.unsafe(nil), &block); end + + # *V + # + # source://kwalify//lib/kwalify/parser/yaml.rb#408 + def _validate_map_value(map, map_rule, rule, path, uniq_table, key, val, _linenum, _column); end + + # boolean + # + # source://kwalify//lib/kwalify/parser/yaml.rb#54 + def data_binding; end + + # boolean + # + # source://kwalify//lib/kwalify/parser/yaml.rb#54 + def data_binding=(_arg0); end + + # @return [Boolean] + # + # source://kwalify//lib/kwalify/parser/yaml.rb#112 + def document_start?; end + + # Returns the value of attribute errors. + # + # source://kwalify//lib/kwalify/parser/yaml.rb#68 + def errors; end + + # @return [Boolean] + # + # source://kwalify//lib/kwalify/parser/yaml.rb#122 + def has_next?; end + + # source://kwalify//lib/kwalify/parser/yaml.rb#795 + def location(path); end + + # Class + # + # source://kwalify//lib/kwalify/parser/yaml.rb#57 + def mapping_class; end + + # Class + # + # source://kwalify//lib/kwalify/parser/yaml.rb#57 + def mapping_class=(_arg0); end + + # source://kwalify//lib/kwalify/parser/yaml.rb#127 + def parse(input = T.unsafe(nil), opts = T.unsafe(nil)); end + + # source://kwalify//lib/kwalify/parser/yaml.rb#198 + def parse_alias(rule, path, uniq_table, container); end + + # source://kwalify//lib/kwalify/parser/yaml.rb#187 + def parse_anchor(rule, path, uniq_table, container); end + + # source://kwalify//lib/kwalify/parser/yaml.rb#426 + def parse_block_map(map, map_rule, path, uniq_table); end + + # source://kwalify//lib/kwalify/parser/yaml.rb#463 + def parse_block_scalar(rule, path, uniq_table); end + + # source://kwalify//lib/kwalify/parser/yaml.rb#307 + def parse_block_seq(seq, seq_rule, path, uniq_table); end + + # source://kwalify//lib/kwalify/parser/yaml.rb#484 + def parse_block_text(column, rule, path, uniq_table); end + + # source://kwalify//lib/kwalify/parser/yaml.rb#235 + def parse_block_value(level, rule, path, uniq_table, container); end + + # source://kwalify//lib/kwalify/parser/yaml.rb#166 + def parse_documents(input, opts = T.unsafe(nil), &block); end + + # source://kwalify//lib/kwalify/parser/yaml.rb#133 + def parse_file(filename, opts = T.unsafe(nil)); end + + # source://kwalify//lib/kwalify/parser/yaml.rb#634 + def parse_flow_map(map, map_rule, path, uniq_table); end + + # source://kwalify//lib/kwalify/parser/yaml.rb#673 + def parse_flow_scalar(rule, path, uniq_table); end + + # source://kwalify//lib/kwalify/parser/yaml.rb#597 + def parse_flow_seq(seq, seq_rule, path, uniq_table); end + + # source://kwalify//lib/kwalify/parser/yaml.rb#555 + def parse_flow_value(rule, path, uniq_table, container); end + + # source://kwalify//lib/kwalify/parser/yaml.rb#139 + def parse_next; end + + # source://kwalify//lib/kwalify/parser/yaml.rb#166 + def parse_stream(input, opts = T.unsafe(nil), &block); end + + # boolean + # + # source://kwalify//lib/kwalify/parser/yaml.rb#55 + def preceding_alias; end + + # boolean + # + # source://kwalify//lib/kwalify/parser/yaml.rb#55 + def preceding_alias=(_arg0); end + + # source://kwalify//lib/kwalify/parser/yaml.rb#60 + def reset_parser; end + + # source://kwalify//lib/kwalify/parser/base.rb#18 + def reset_scanner(input, filename = T.unsafe(nil), untabify = T.unsafe(nil)); end + + # source://kwalify//lib/kwalify/parser/yaml.rb#215 + def resolve_preceding_aliases(val); end + + # Class + # + # source://kwalify//lib/kwalify/parser/yaml.rb#56 + def sequence_class; end + + # Class + # + # source://kwalify//lib/kwalify/parser/yaml.rb#56 + def sequence_class=(_arg0); end + + # source://kwalify//lib/kwalify/parser/yaml.rb#834 + def set_errors_linenum(errors); end + + # source://kwalify//lib/kwalify/parser/yaml.rb#103 + def skip_spaces_and_comments; end + + # @return [Boolean] + # + # source://kwalify//lib/kwalify/parser/yaml.rb#117 + def stream_end?; end + + # source://kwalify//lib/kwalify/parser/yaml.rb#702 + def to_scalar(str); end + + # Validator + # + # source://kwalify//lib/kwalify/parser/yaml.rb#53 + def validator; end + + # Validator + # + # source://kwalify//lib/kwalify/parser/yaml.rb#53 + def validator=(_arg0); end + + protected + + # source://kwalify//lib/kwalify/parser/yaml.rb#783 + def _getclass(classname); end + + # source://kwalify//lib/kwalify/parser/yaml.rb#762 + def add_to_seq(rule, seq, val, linenum, column); end + + # source://kwalify//lib/kwalify/parser/yaml.rb#743 + def create_mapping(rule, linenum, column); end + + # source://kwalify//lib/kwalify/parser/yaml.rb#757 + def create_scalar(rule, value, linenum, column); end + + # source://kwalify//lib/kwalify/parser/yaml.rb#736 + def create_sequence(rule, linenum, column); end + + # source://kwalify//lib/kwalify/parser/yaml.rb#768 + def put_to_map(rule, map, key, val, linenum, column); end + + private + + # source://kwalify//lib/kwalify/parser/yaml.rb#71 + def _error(klass, message, path, linenum, column); end + + # source://kwalify//lib/kwalify/parser/yaml.rb#453 + def to_mapkey(str); end +end + +# source://kwalify//lib/kwalify/parser/yaml.rb#182 +Kwalify::Yaml::Parser::MAPKEY_PATTERN = T.let(T.unsafe(nil), Regexp) + +# source://kwalify//lib/kwalify/parser/yaml.rb#184 +Kwalify::Yaml::Parser::PRECEDING_ALIAS_PLACEHOLDER = T.let(T.unsafe(nil), Object) + +# (OBSOLETE) yaml parser +# +# this class has been obsoleted. use Kwalify::Yaml::Parser instead. +# +# ex. +# # load document with YamlParser +# str = ARGF.read() +# parser = Kwalify::YamlParser.new(str) +# document = parser.parse() +# +# # validate document +# schema = YAML.load(File.read('schema.yaml')) +# validator = Kwalify::Validator.new(schema) +# errors = validator.validate(document) +# +# # print validation result +# if errors && !errors.empty? +# parser.set_errors_linenum(errors) +# errors.sort.each do |error| +# print "line %d: path %s: %s" % [error.linenum, error.path, error.message] +# end +# end +# +# source://kwalify//lib/kwalify/yaml-parser.rb#752 +class Kwalify::YamlParser < ::Kwalify::PlainYamlParser + # @return [YamlParser] a new instance of YamlParser + # + # source://kwalify//lib/kwalify/yaml-parser.rb#754 + def initialize(*args); end + + # source://kwalify//lib/kwalify/yaml-parser.rb#759 + def parse; end + + # source://kwalify//lib/kwalify/yaml-parser.rb#764 + def path_linenum(path); end + + # source://kwalify//lib/kwalify/yaml-parser.rb#794 + def set_error_linenums(errors); end + + # source://kwalify//lib/kwalify/yaml-parser.rb#788 + def set_errors_linenum(errors); end + + protected + + # source://kwalify//lib/kwalify/yaml-parser.rb#823 + def add_to_map(map, key, value, linenum); end + + # source://kwalify//lib/kwalify/yaml-parser.rb#807 + def add_to_seq(seq, value, linenum); end + + # source://kwalify//lib/kwalify/yaml-parser.rb#817 + def create_mapping(linenum = T.unsafe(nil)); end + + # source://kwalify//lib/kwalify/yaml-parser.rb#852 + def create_scalar(value, linenum = T.unsafe(nil)); end + + # source://kwalify//lib/kwalify/yaml-parser.rb#801 + def create_sequence(linenum = T.unsafe(nil)); end + + # source://kwalify//lib/kwalify/yaml-parser.rb#838 + def merge_map(map, collection, linenum); end + + # source://kwalify//lib/kwalify/yaml-parser.rb#833 + def set_default(map, value, linenum); end + + # source://kwalify//lib/kwalify/yaml-parser.rb#828 + def set_map_with(map, key, value, linenum); end + + # source://kwalify//lib/kwalify/yaml-parser.rb#812 + def set_seq_at(seq, i, value, linenum); end +end + +# (obsolete) use Kwalify::SyntaxError instead +# +# source://kwalify//lib/kwalify/errors.rb#89 +class Kwalify::YamlSyntaxError < ::Kwalify::SyntaxError; end + +# source://kwalify//lib/kwalify/types.rb#70 +class NilClass + include ::Kwalify::Scalar +end + +# source://kwalify//lib/kwalify/types.rb#36 +class Numeric + include ::Comparable + include ::Kwalify::Text + include ::Kwalify::Scalar +end + +# source://kwalify//lib/kwalify/types.rb#33 +class String + include ::Comparable + include ::Kwalify::Text + include ::Kwalify::Scalar +end + +# source://kwalify//lib/kwalify/types.rb#61 +class Time + include ::Comparable + include ::Kwalify::Scalar +end + +# source://kwalify//lib/kwalify/types.rb#14 +class TrueClass + include ::Kwalify::Boolean + include ::Kwalify::Scalar +end diff --git a/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi b/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi new file mode 100644 index 0000000..f6b1d8e --- /dev/null +++ b/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi @@ -0,0 +1,14237 @@ +# typed: true + +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `language_server-protocol` gem. +# Please instead update this file by running `bin/tapioca gem language_server-protocol`. + +# source://language_server-protocol//lib/language_server/protocol/version.rb#1 +module LanguageServer; end + +# source://language_server-protocol//lib/language_server/protocol/version.rb#2 +module LanguageServer::Protocol; end + +# source://language_server-protocol//lib/language_server/protocol/constant.rb#3 +module LanguageServer::Protocol::Constant; end + +# The kind of a code action. +# +# Kinds are a hierarchical list of identifiers separated by `.`, +# e.g. `"refactor.extract.function"`. +# +# The set of kinds is open and client needs to announce the kinds it supports +# to the server during initialization. +# A set of predefined code action kinds. +# +# source://language_server-protocol//lib/language_server/protocol/constant/code_action_kind.rb#14 +module LanguageServer::Protocol::Constant::CodeActionKind; end + +# Empty kind. +# +# source://language_server-protocol//lib/language_server/protocol/constant/code_action_kind.rb#18 +LanguageServer::Protocol::Constant::CodeActionKind::EMPTY = T.let(T.unsafe(nil), String) + +# Base kind for quickfix actions: 'quickfix'. +# +# source://language_server-protocol//lib/language_server/protocol/constant/code_action_kind.rb#22 +LanguageServer::Protocol::Constant::CodeActionKind::QUICK_FIX = T.let(T.unsafe(nil), String) + +# Base kind for refactoring actions: 'refactor'. +# +# source://language_server-protocol//lib/language_server/protocol/constant/code_action_kind.rb#26 +LanguageServer::Protocol::Constant::CodeActionKind::REFACTOR = T.let(T.unsafe(nil), String) + +# Base kind for refactoring extraction actions: 'refactor.extract'. +# +# Example extract actions: +# +# - Extract method +# - Extract function +# - Extract variable +# - Extract interface from class +# - ... +# +# source://language_server-protocol//lib/language_server/protocol/constant/code_action_kind.rb#38 +LanguageServer::Protocol::Constant::CodeActionKind::REFACTOR_EXTRACT = T.let(T.unsafe(nil), String) + +# Base kind for refactoring inline actions: 'refactor.inline'. +# +# Example inline actions: +# +# - Inline function +# - Inline variable +# - Inline constant +# - ... +# +# source://language_server-protocol//lib/language_server/protocol/constant/code_action_kind.rb#49 +LanguageServer::Protocol::Constant::CodeActionKind::REFACTOR_INLINE = T.let(T.unsafe(nil), String) + +# Base kind for refactoring rewrite actions: 'refactor.rewrite'. +# +# Example rewrite actions: +# +# - Convert JavaScript function to class +# - Add or remove parameter +# - Encapsulate field +# - Make method static +# - Move method to base class +# - ... +# +# source://language_server-protocol//lib/language_server/protocol/constant/code_action_kind.rb#62 +LanguageServer::Protocol::Constant::CodeActionKind::REFACTOR_REWRITE = T.let(T.unsafe(nil), String) + +# Base kind for source actions: `source`. +# +# Source code actions apply to the entire file. +# +# source://language_server-protocol//lib/language_server/protocol/constant/code_action_kind.rb#68 +LanguageServer::Protocol::Constant::CodeActionKind::SOURCE = T.let(T.unsafe(nil), String) + +# Base kind for a 'fix all' source action: `source.fixAll`. +# +# 'Fix all' actions automatically fix errors that have a clear fix that +# do not require user input. They should not suppress errors or perform +# unsafe fixes such as generating new types or classes. +# +# source://language_server-protocol//lib/language_server/protocol/constant/code_action_kind.rb#81 +LanguageServer::Protocol::Constant::CodeActionKind::SOURCE_FIX_ALL = T.let(T.unsafe(nil), String) + +# Base kind for an organize imports source action: +# `source.organizeImports`. +# +# source://language_server-protocol//lib/language_server/protocol/constant/code_action_kind.rb#73 +LanguageServer::Protocol::Constant::CodeActionKind::SOURCE_ORGANIZE_IMPORTS = T.let(T.unsafe(nil), String) + +# The reason why code actions were requested. +# +# source://language_server-protocol//lib/language_server/protocol/constant/code_action_trigger_kind.rb#7 +module LanguageServer::Protocol::Constant::CodeActionTriggerKind; end + +# Code actions were requested automatically. +# +# This typically happens when current selection in a file changes, but can +# also be triggered when file content changes. +# +# source://language_server-protocol//lib/language_server/protocol/constant/code_action_trigger_kind.rb#18 +LanguageServer::Protocol::Constant::CodeActionTriggerKind::AUTOMATIC = T.let(T.unsafe(nil), Integer) + +# Code actions were explicitly requested by the user or by an extension. +# +# source://language_server-protocol//lib/language_server/protocol/constant/code_action_trigger_kind.rb#11 +LanguageServer::Protocol::Constant::CodeActionTriggerKind::INVOKED = T.let(T.unsafe(nil), Integer) + +# The kind of a completion entry. +# +# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#7 +module LanguageServer::Protocol::Constant::CompletionItemKind; end + +# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#14 +LanguageServer::Protocol::Constant::CompletionItemKind::CLASS = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#23 +LanguageServer::Protocol::Constant::CompletionItemKind::COLOR = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#28 +LanguageServer::Protocol::Constant::CompletionItemKind::CONSTANT = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#11 +LanguageServer::Protocol::Constant::CompletionItemKind::CONSTRUCTOR = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#20 +LanguageServer::Protocol::Constant::CompletionItemKind::ENUM = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#27 +LanguageServer::Protocol::Constant::CompletionItemKind::ENUM_MEMBER = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#30 +LanguageServer::Protocol::Constant::CompletionItemKind::EVENT = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#12 +LanguageServer::Protocol::Constant::CompletionItemKind::FIELD = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#24 +LanguageServer::Protocol::Constant::CompletionItemKind::FILE = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#26 +LanguageServer::Protocol::Constant::CompletionItemKind::FOLDER = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#10 +LanguageServer::Protocol::Constant::CompletionItemKind::FUNCTION = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#15 +LanguageServer::Protocol::Constant::CompletionItemKind::INTERFACE = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#21 +LanguageServer::Protocol::Constant::CompletionItemKind::KEYWORD = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#9 +LanguageServer::Protocol::Constant::CompletionItemKind::METHOD = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#16 +LanguageServer::Protocol::Constant::CompletionItemKind::MODULE = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#31 +LanguageServer::Protocol::Constant::CompletionItemKind::OPERATOR = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#17 +LanguageServer::Protocol::Constant::CompletionItemKind::PROPERTY = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#25 +LanguageServer::Protocol::Constant::CompletionItemKind::REFERENCE = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#22 +LanguageServer::Protocol::Constant::CompletionItemKind::SNIPPET = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#29 +LanguageServer::Protocol::Constant::CompletionItemKind::STRUCT = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#8 +LanguageServer::Protocol::Constant::CompletionItemKind::TEXT = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#32 +LanguageServer::Protocol::Constant::CompletionItemKind::TYPE_PARAMETER = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#18 +LanguageServer::Protocol::Constant::CompletionItemKind::UNIT = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#19 +LanguageServer::Protocol::Constant::CompletionItemKind::VALUE = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#13 +LanguageServer::Protocol::Constant::CompletionItemKind::VARIABLE = T.let(T.unsafe(nil), Integer) + +# Completion item tags are extra annotations that tweak the rendering of a +# completion item. +# +# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_tag.rb#8 +module LanguageServer::Protocol::Constant::CompletionItemTag; end + +# Render a completion as obsolete, usually using a strike-out. +# +# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_tag.rb#12 +LanguageServer::Protocol::Constant::CompletionItemTag::DEPRECATED = T.let(T.unsafe(nil), Integer) + +# How a completion was triggered +# +# source://language_server-protocol//lib/language_server/protocol/constant/completion_trigger_kind.rb#7 +module LanguageServer::Protocol::Constant::CompletionTriggerKind; end + +# Completion was triggered by typing an identifier (24x7 code +# complete), manual invocation (e.g Ctrl+Space) or via API. +# +# source://language_server-protocol//lib/language_server/protocol/constant/completion_trigger_kind.rb#12 +LanguageServer::Protocol::Constant::CompletionTriggerKind::INVOKED = T.let(T.unsafe(nil), Integer) + +# Completion was triggered by a trigger character specified by +# the `triggerCharacters` properties of the +# `CompletionRegistrationOptions`. +# +# source://language_server-protocol//lib/language_server/protocol/constant/completion_trigger_kind.rb#18 +LanguageServer::Protocol::Constant::CompletionTriggerKind::TRIGGER_CHARACTER = T.let(T.unsafe(nil), Integer) + +# Completion was re-triggered as the current completion list is incomplete. +# +# source://language_server-protocol//lib/language_server/protocol/constant/completion_trigger_kind.rb#22 +LanguageServer::Protocol::Constant::CompletionTriggerKind::TRIGGER_FOR_INCOMPLETE_COMPLETIONS = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/diagnostic_severity.rb#4 +module LanguageServer::Protocol::Constant::DiagnosticSeverity; end + +# Reports an error. +# +# source://language_server-protocol//lib/language_server/protocol/constant/diagnostic_severity.rb#8 +LanguageServer::Protocol::Constant::DiagnosticSeverity::ERROR = T.let(T.unsafe(nil), Integer) + +# Reports a hint. +# +# source://language_server-protocol//lib/language_server/protocol/constant/diagnostic_severity.rb#20 +LanguageServer::Protocol::Constant::DiagnosticSeverity::HINT = T.let(T.unsafe(nil), Integer) + +# Reports an information. +# +# source://language_server-protocol//lib/language_server/protocol/constant/diagnostic_severity.rb#16 +LanguageServer::Protocol::Constant::DiagnosticSeverity::INFORMATION = T.let(T.unsafe(nil), Integer) + +# Reports a warning. +# +# source://language_server-protocol//lib/language_server/protocol/constant/diagnostic_severity.rb#12 +LanguageServer::Protocol::Constant::DiagnosticSeverity::WARNING = T.let(T.unsafe(nil), Integer) + +# The diagnostic tags. +# +# source://language_server-protocol//lib/language_server/protocol/constant/diagnostic_tag.rb#7 +module LanguageServer::Protocol::Constant::DiagnosticTag; end + +# Deprecated or obsolete code. +# +# Clients are allowed to rendered diagnostics with this tag strike through. +# +# source://language_server-protocol//lib/language_server/protocol/constant/diagnostic_tag.rb#20 +LanguageServer::Protocol::Constant::DiagnosticTag::DEPRECATED = T.let(T.unsafe(nil), Integer) + +# Unused or unnecessary code. +# +# Clients are allowed to render diagnostics with this tag faded out +# instead of having an error squiggle. +# +# source://language_server-protocol//lib/language_server/protocol/constant/diagnostic_tag.rb#14 +LanguageServer::Protocol::Constant::DiagnosticTag::UNNECESSARY = T.let(T.unsafe(nil), Integer) + +# The document diagnostic report kinds. +# +# source://language_server-protocol//lib/language_server/protocol/constant/document_diagnostic_report_kind.rb#7 +module LanguageServer::Protocol::Constant::DocumentDiagnosticReportKind; end + +# A diagnostic report with a full +# set of problems. +# +# source://language_server-protocol//lib/language_server/protocol/constant/document_diagnostic_report_kind.rb#12 +LanguageServer::Protocol::Constant::DocumentDiagnosticReportKind::FULL = T.let(T.unsafe(nil), String) + +# A report indicating that the last +# returned report is still accurate. +# +# source://language_server-protocol//lib/language_server/protocol/constant/document_diagnostic_report_kind.rb#17 +LanguageServer::Protocol::Constant::DocumentDiagnosticReportKind::UNCHANGED = T.let(T.unsafe(nil), String) + +# A document highlight kind. +# +# source://language_server-protocol//lib/language_server/protocol/constant/document_highlight_kind.rb#7 +module LanguageServer::Protocol::Constant::DocumentHighlightKind; end + +# Read-access of a symbol, like reading a variable. +# +# source://language_server-protocol//lib/language_server/protocol/constant/document_highlight_kind.rb#15 +LanguageServer::Protocol::Constant::DocumentHighlightKind::READ = T.let(T.unsafe(nil), Integer) + +# A textual occurrence. +# +# source://language_server-protocol//lib/language_server/protocol/constant/document_highlight_kind.rb#11 +LanguageServer::Protocol::Constant::DocumentHighlightKind::TEXT = T.let(T.unsafe(nil), Integer) + +# Write-access of a symbol, like writing to a variable. +# +# source://language_server-protocol//lib/language_server/protocol/constant/document_highlight_kind.rb#19 +LanguageServer::Protocol::Constant::DocumentHighlightKind::WRITE = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/error_codes.rb#4 +module LanguageServer::Protocol::Constant::ErrorCodes; end + +# The server detected that the content of a document got +# modified outside normal conditions. A server should +# NOT send this error code if it detects a content change +# in it unprocessed messages. The result even computed +# on an older state might still be useful for the client. +# +# If a client decides that a result is not of any use anymore +# the client should cancel the request. +# +# source://language_server-protocol//lib/language_server/protocol/constant/error_codes.rb#59 +LanguageServer::Protocol::Constant::ErrorCodes::CONTENT_MODIFIED = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/error_codes.rb#9 +LanguageServer::Protocol::Constant::ErrorCodes::INTERNAL_ERROR = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/error_codes.rb#8 +LanguageServer::Protocol::Constant::ErrorCodes::INVALID_PARAMS = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/error_codes.rb#6 +LanguageServer::Protocol::Constant::ErrorCodes::INVALID_REQUEST = T.let(T.unsafe(nil), Integer) + +# This is the end range of JSON-RPC reserved error codes. +# It doesn't denote a real error code. +# +# source://language_server-protocol//lib/language_server/protocol/constant/error_codes.rb#29 +LanguageServer::Protocol::Constant::ErrorCodes::JSONRPC_RESERVED_ERROR_RANGE_END = T.let(T.unsafe(nil), Integer) + +# This is the start range of JSON-RPC reserved error codes. +# It doesn't denote a real error code. No LSP error codes should +# be defined between the start and end range. For backwards +# compatibility the `ServerNotInitialized` and the `UnknownErrorCode` +# are left in the range. +# +# source://language_server-protocol//lib/language_server/protocol/constant/error_codes.rb#17 +LanguageServer::Protocol::Constant::ErrorCodes::JSONRPC_RESERVED_ERROR_RANGE_START = T.let(T.unsafe(nil), Integer) + +# This is the end range of LSP reserved error codes. +# It doesn't denote a real error code. +# +# source://language_server-protocol//lib/language_server/protocol/constant/error_codes.rb#69 +LanguageServer::Protocol::Constant::ErrorCodes::LSP_RESERVED_ERROR_RANGE_END = T.let(T.unsafe(nil), Integer) + +# This is the start range of LSP reserved error codes. +# It doesn't denote a real error code. +# +# source://language_server-protocol//lib/language_server/protocol/constant/error_codes.rb#35 +LanguageServer::Protocol::Constant::ErrorCodes::LSP_RESERVED_ERROR_RANGE_START = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/error_codes.rb#7 +LanguageServer::Protocol::Constant::ErrorCodes::METHOD_NOT_FOUND = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/error_codes.rb#5 +LanguageServer::Protocol::Constant::ErrorCodes::PARSE_ERROR = T.let(T.unsafe(nil), Integer) + +# The client has canceled a request and a server as detected +# the cancel. +# +# source://language_server-protocol//lib/language_server/protocol/constant/error_codes.rb#64 +LanguageServer::Protocol::Constant::ErrorCodes::REQUEST_CANCELLED = T.let(T.unsafe(nil), Integer) + +# A request failed but it was syntactically correct, e.g the +# method name was known and the parameters were valid. The error +# message should contain human readable information about why +# the request failed. +# +# source://language_server-protocol//lib/language_server/protocol/constant/error_codes.rb#42 +LanguageServer::Protocol::Constant::ErrorCodes::REQUEST_FAILED = T.let(T.unsafe(nil), Integer) + +# The server cancelled the request. This error code should +# only be used for requests that explicitly support being +# server cancellable. +# +# source://language_server-protocol//lib/language_server/protocol/constant/error_codes.rb#48 +LanguageServer::Protocol::Constant::ErrorCodes::SERVER_CANCELLED = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/error_codes.rb#30 +LanguageServer::Protocol::Constant::ErrorCodes::SERVER_ERROR_END = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/error_codes.rb#18 +LanguageServer::Protocol::Constant::ErrorCodes::SERVER_ERROR_START = T.let(T.unsafe(nil), Integer) + +# Error code indicating that a server received a notification or +# request before the server has received the `initialize` request. +# +# source://language_server-protocol//lib/language_server/protocol/constant/error_codes.rb#23 +LanguageServer::Protocol::Constant::ErrorCodes::SERVER_NOT_INITIALIZED = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/error_codes.rb#24 +LanguageServer::Protocol::Constant::ErrorCodes::UNKNOWN_ERROR_CODE = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/failure_handling_kind.rb#4 +module LanguageServer::Protocol::Constant::FailureHandlingKind; end + +# Applying the workspace change is simply aborted if one of the changes +# provided fails. All operations executed before the failing operation +# stay executed. +# +# source://language_server-protocol//lib/language_server/protocol/constant/failure_handling_kind.rb#10 +LanguageServer::Protocol::Constant::FailureHandlingKind::ABORT = T.let(T.unsafe(nil), String) + +# If the workspace edit contains only textual file changes they are +# executed transactional. If resource changes (create, rename or delete +# file) are part of the change the failure handling strategy is abort. +# +# source://language_server-protocol//lib/language_server/protocol/constant/failure_handling_kind.rb#21 +LanguageServer::Protocol::Constant::FailureHandlingKind::TEXT_ONLY_TRANSACTIONAL = T.let(T.unsafe(nil), String) + +# All operations are executed transactional. That means they either all +# succeed or no changes at all are applied to the workspace. +# +# source://language_server-protocol//lib/language_server/protocol/constant/failure_handling_kind.rb#15 +LanguageServer::Protocol::Constant::FailureHandlingKind::TRANSACTIONAL = T.let(T.unsafe(nil), String) + +# The client tries to undo the operations already executed. But there is no +# guarantee that this is succeeding. +# +# source://language_server-protocol//lib/language_server/protocol/constant/failure_handling_kind.rb#26 +LanguageServer::Protocol::Constant::FailureHandlingKind::UNDO = T.let(T.unsafe(nil), String) + +# The file event type. +# +# source://language_server-protocol//lib/language_server/protocol/constant/file_change_type.rb#7 +module LanguageServer::Protocol::Constant::FileChangeType; end + +# The file got changed. +# +# source://language_server-protocol//lib/language_server/protocol/constant/file_change_type.rb#15 +LanguageServer::Protocol::Constant::FileChangeType::CHANGED = T.let(T.unsafe(nil), Integer) + +# The file got created. +# +# source://language_server-protocol//lib/language_server/protocol/constant/file_change_type.rb#11 +LanguageServer::Protocol::Constant::FileChangeType::CREATED = T.let(T.unsafe(nil), Integer) + +# The file got deleted. +# +# source://language_server-protocol//lib/language_server/protocol/constant/file_change_type.rb#19 +LanguageServer::Protocol::Constant::FileChangeType::DELETED = T.let(T.unsafe(nil), Integer) + +# A pattern kind describing if a glob pattern matches a file a folder or +# both. +# +# source://language_server-protocol//lib/language_server/protocol/constant/file_operation_pattern_kind.rb#8 +module LanguageServer::Protocol::Constant::FileOperationPatternKind; end + +# The pattern matches a file only. +# +# source://language_server-protocol//lib/language_server/protocol/constant/file_operation_pattern_kind.rb#12 +LanguageServer::Protocol::Constant::FileOperationPatternKind::FILE = T.let(T.unsafe(nil), String) + +# The pattern matches a folder only. +# +# source://language_server-protocol//lib/language_server/protocol/constant/file_operation_pattern_kind.rb#16 +LanguageServer::Protocol::Constant::FileOperationPatternKind::FOLDER = T.let(T.unsafe(nil), String) + +# A set of predefined range kinds. +# The type is a string since the value set is extensible +# +# source://language_server-protocol//lib/language_server/protocol/constant/folding_range_kind.rb#8 +module LanguageServer::Protocol::Constant::FoldingRangeKind; end + +# Folding range for a comment +# +# source://language_server-protocol//lib/language_server/protocol/constant/folding_range_kind.rb#12 +LanguageServer::Protocol::Constant::FoldingRangeKind::COMMENT = T.let(T.unsafe(nil), String) + +# Folding range for imports or includes +# +# source://language_server-protocol//lib/language_server/protocol/constant/folding_range_kind.rb#16 +LanguageServer::Protocol::Constant::FoldingRangeKind::IMPORTS = T.let(T.unsafe(nil), String) + +# Folding range for a region (e.g. `#region`) +# +# source://language_server-protocol//lib/language_server/protocol/constant/folding_range_kind.rb#20 +LanguageServer::Protocol::Constant::FoldingRangeKind::REGION = T.let(T.unsafe(nil), String) + +# Known error codes for an `InitializeErrorCodes`; +# +# source://language_server-protocol//lib/language_server/protocol/constant/initialize_error_codes.rb#7 +module LanguageServer::Protocol::Constant::InitializeErrorCodes; end + +# If the protocol version provided by the client can't be handled by +# the server. +# +# source://language_server-protocol//lib/language_server/protocol/constant/initialize_error_codes.rb#12 +LanguageServer::Protocol::Constant::InitializeErrorCodes::UNKNOWN_PROTOCOL_VERSION = T.let(T.unsafe(nil), Integer) + +# Inlay hint kinds. +# +# source://language_server-protocol//lib/language_server/protocol/constant/inlay_hint_kind.rb#7 +module LanguageServer::Protocol::Constant::InlayHintKind; end + +# An inlay hint that is for a parameter. +# +# source://language_server-protocol//lib/language_server/protocol/constant/inlay_hint_kind.rb#15 +LanguageServer::Protocol::Constant::InlayHintKind::PARAMETER = T.let(T.unsafe(nil), Integer) + +# An inlay hint that for a type annotation. +# +# source://language_server-protocol//lib/language_server/protocol/constant/inlay_hint_kind.rb#11 +LanguageServer::Protocol::Constant::InlayHintKind::TYPE = T.let(T.unsafe(nil), Integer) + +# Defines whether the insert text in a completion item should be interpreted as +# plain text or a snippet. +# +# source://language_server-protocol//lib/language_server/protocol/constant/insert_text_format.rb#8 +module LanguageServer::Protocol::Constant::InsertTextFormat; end + +# The primary text to be inserted is treated as a plain string. +# +# source://language_server-protocol//lib/language_server/protocol/constant/insert_text_format.rb#12 +LanguageServer::Protocol::Constant::InsertTextFormat::PLAIN_TEXT = T.let(T.unsafe(nil), Integer) + +# The primary text to be inserted is treated as a snippet. +# +# A snippet can define tab stops and placeholders with `$1`, `$2` +# and `${3:foo}`. `$0` defines the final tab stop, it defaults to +# the end of the snippet. Placeholders with equal identifiers are linked, +# that is typing in one will update others too. +# +# source://language_server-protocol//lib/language_server/protocol/constant/insert_text_format.rb#21 +LanguageServer::Protocol::Constant::InsertTextFormat::SNIPPET = T.let(T.unsafe(nil), Integer) + +# How whitespace and indentation is handled during completion +# item insertion. +# +# source://language_server-protocol//lib/language_server/protocol/constant/insert_text_mode.rb#8 +module LanguageServer::Protocol::Constant::InsertTextMode; end + +# The editor adjusts leading whitespace of new lines so that +# they match the indentation up to the cursor of the line for +# which the item is accepted. +# +# Consider a line like this: <2tabs><3tabs>foo. Accepting a +# multi line completion item is indented using 2 tabs and all +# following lines inserted will be indented using 2 tabs as well. +# +# source://language_server-protocol//lib/language_server/protocol/constant/insert_text_mode.rb#26 +LanguageServer::Protocol::Constant::InsertTextMode::ADJUST_INDENTATION = T.let(T.unsafe(nil), Integer) + +# The insertion or replace strings is taken as it is. If the +# value is multi line the lines below the cursor will be +# inserted using the indentation defined in the string value. +# The client will not apply any kind of adjustments to the +# string. +# +# source://language_server-protocol//lib/language_server/protocol/constant/insert_text_mode.rb#16 +LanguageServer::Protocol::Constant::InsertTextMode::AS_IS = T.let(T.unsafe(nil), Integer) + +# Describes the content type that a client supports in various +# result literals like `Hover`, `ParameterInfo` or `CompletionItem`. +# +# Please note that `MarkupKinds` must not start with a `$`. This kinds +# are reserved for internal usage. +# +# source://language_server-protocol//lib/language_server/protocol/constant/markup_kind.rb#11 +module LanguageServer::Protocol::Constant::MarkupKind; end + +# Markdown is supported as a content format +# +# source://language_server-protocol//lib/language_server/protocol/constant/markup_kind.rb#19 +LanguageServer::Protocol::Constant::MarkupKind::MARKDOWN = T.let(T.unsafe(nil), String) + +# Plain text is supported as a content format +# +# source://language_server-protocol//lib/language_server/protocol/constant/markup_kind.rb#15 +LanguageServer::Protocol::Constant::MarkupKind::PLAIN_TEXT = T.let(T.unsafe(nil), String) + +# source://language_server-protocol//lib/language_server/protocol/constant/message_type.rb#4 +module LanguageServer::Protocol::Constant::MessageType; end + +# An error message. +# +# source://language_server-protocol//lib/language_server/protocol/constant/message_type.rb#8 +LanguageServer::Protocol::Constant::MessageType::ERROR = T.let(T.unsafe(nil), Integer) + +# An information message. +# +# source://language_server-protocol//lib/language_server/protocol/constant/message_type.rb#16 +LanguageServer::Protocol::Constant::MessageType::INFO = T.let(T.unsafe(nil), Integer) + +# A log message. +# +# source://language_server-protocol//lib/language_server/protocol/constant/message_type.rb#20 +LanguageServer::Protocol::Constant::MessageType::LOG = T.let(T.unsafe(nil), Integer) + +# A warning message. +# +# source://language_server-protocol//lib/language_server/protocol/constant/message_type.rb#12 +LanguageServer::Protocol::Constant::MessageType::WARNING = T.let(T.unsafe(nil), Integer) + +# The moniker kind. +# +# source://language_server-protocol//lib/language_server/protocol/constant/moniker_kind.rb#7 +module LanguageServer::Protocol::Constant::MonikerKind; end + +# The moniker represents a symbol that is exported from a project +# +# source://language_server-protocol//lib/language_server/protocol/constant/moniker_kind.rb#15 +LanguageServer::Protocol::Constant::MonikerKind::EXPORT = T.let(T.unsafe(nil), String) + +# The moniker represent a symbol that is imported into a project +# +# source://language_server-protocol//lib/language_server/protocol/constant/moniker_kind.rb#11 +LanguageServer::Protocol::Constant::MonikerKind::IMPORT = T.let(T.unsafe(nil), String) + +# The moniker represents a symbol that is local to a project (e.g. a local +# variable of a function, a class not visible outside the project, ...) +# +# source://language_server-protocol//lib/language_server/protocol/constant/moniker_kind.rb#20 +LanguageServer::Protocol::Constant::MonikerKind::LOCAL = T.let(T.unsafe(nil), String) + +# A notebook cell kind. +# +# source://language_server-protocol//lib/language_server/protocol/constant/notebook_cell_kind.rb#7 +module LanguageServer::Protocol::Constant::NotebookCellKind; end + +# A code-cell is source code. +# +# source://language_server-protocol//lib/language_server/protocol/constant/notebook_cell_kind.rb#15 +LanguageServer::Protocol::Constant::NotebookCellKind::CODE = T.let(T.unsafe(nil), Integer) + +# A markup-cell is formatted source that is used for display. +# +# source://language_server-protocol//lib/language_server/protocol/constant/notebook_cell_kind.rb#11 +LanguageServer::Protocol::Constant::NotebookCellKind::MARKUP = T.let(T.unsafe(nil), Integer) + +# A type indicating how positions are encoded, +# specifically what column offsets mean. +# A set of predefined position encoding kinds. +# +# source://language_server-protocol//lib/language_server/protocol/constant/position_encoding_kind.rb#9 +module LanguageServer::Protocol::Constant::PositionEncodingKind; end + +# Character offsets count UTF-16 code units. +# +# This is the default and must always be supported +# by servers +# +# source://language_server-protocol//lib/language_server/protocol/constant/position_encoding_kind.rb#20 +LanguageServer::Protocol::Constant::PositionEncodingKind::UTF16 = T.let(T.unsafe(nil), String) + +# Character offsets count UTF-32 code units. +# +# Implementation note: these are the same as Unicode code points, +# so this `PositionEncodingKind` may also be used for an +# encoding-agnostic representation of character offsets. +# +# source://language_server-protocol//lib/language_server/protocol/constant/position_encoding_kind.rb#28 +LanguageServer::Protocol::Constant::PositionEncodingKind::UTF32 = T.let(T.unsafe(nil), String) + +# Character offsets count UTF-8 code units (e.g bytes). +# +# source://language_server-protocol//lib/language_server/protocol/constant/position_encoding_kind.rb#13 +LanguageServer::Protocol::Constant::PositionEncodingKind::UTF8 = T.let(T.unsafe(nil), String) + +# source://language_server-protocol//lib/language_server/protocol/constant/prepare_support_default_behavior.rb#4 +module LanguageServer::Protocol::Constant::PrepareSupportDefaultBehavior; end + +# The client's default behavior is to select the identifier +# according to the language's syntax rule. +# +# source://language_server-protocol//lib/language_server/protocol/constant/prepare_support_default_behavior.rb#9 +LanguageServer::Protocol::Constant::PrepareSupportDefaultBehavior::IDENTIFIER = T.let(T.unsafe(nil), Integer) + +# The kind of resource operations supported by the client. +# +# source://language_server-protocol//lib/language_server/protocol/constant/resource_operation_kind.rb#7 +module LanguageServer::Protocol::Constant::ResourceOperationKind; end + +# Supports creating new files and folders. +# +# source://language_server-protocol//lib/language_server/protocol/constant/resource_operation_kind.rb#11 +LanguageServer::Protocol::Constant::ResourceOperationKind::CREATE = T.let(T.unsafe(nil), String) + +# Supports deleting existing files and folders. +# +# source://language_server-protocol//lib/language_server/protocol/constant/resource_operation_kind.rb#19 +LanguageServer::Protocol::Constant::ResourceOperationKind::DELETE = T.let(T.unsafe(nil), String) + +# Supports renaming existing files and folders. +# +# source://language_server-protocol//lib/language_server/protocol/constant/resource_operation_kind.rb#15 +LanguageServer::Protocol::Constant::ResourceOperationKind::RENAME = T.let(T.unsafe(nil), String) + +# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_modifiers.rb#4 +module LanguageServer::Protocol::Constant::SemanticTokenModifiers; end + +# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_modifiers.rb#10 +LanguageServer::Protocol::Constant::SemanticTokenModifiers::ABSTRACT = T.let(T.unsafe(nil), String) + +# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_modifiers.rb#11 +LanguageServer::Protocol::Constant::SemanticTokenModifiers::ASYNC = T.let(T.unsafe(nil), String) + +# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_modifiers.rb#5 +LanguageServer::Protocol::Constant::SemanticTokenModifiers::DECLARATION = T.let(T.unsafe(nil), String) + +# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_modifiers.rb#14 +LanguageServer::Protocol::Constant::SemanticTokenModifiers::DEFAULT_LIBRARY = T.let(T.unsafe(nil), String) + +# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_modifiers.rb#6 +LanguageServer::Protocol::Constant::SemanticTokenModifiers::DEFINITION = T.let(T.unsafe(nil), String) + +# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_modifiers.rb#9 +LanguageServer::Protocol::Constant::SemanticTokenModifiers::DEPRECATED = T.let(T.unsafe(nil), String) + +# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_modifiers.rb#13 +LanguageServer::Protocol::Constant::SemanticTokenModifiers::DOCUMENTATION = T.let(T.unsafe(nil), String) + +# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_modifiers.rb#12 +LanguageServer::Protocol::Constant::SemanticTokenModifiers::MODIFICATION = T.let(T.unsafe(nil), String) + +# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_modifiers.rb#7 +LanguageServer::Protocol::Constant::SemanticTokenModifiers::READONLY = T.let(T.unsafe(nil), String) + +# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_modifiers.rb#8 +LanguageServer::Protocol::Constant::SemanticTokenModifiers::STATIC = T.let(T.unsafe(nil), String) + +# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#4 +module LanguageServer::Protocol::Constant::SemanticTokenTypes; end + +# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#11 +LanguageServer::Protocol::Constant::SemanticTokenTypes::CLASS = T.let(T.unsafe(nil), String) + +# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#26 +LanguageServer::Protocol::Constant::SemanticTokenTypes::COMMENT = T.let(T.unsafe(nil), String) + +# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#31 +LanguageServer::Protocol::Constant::SemanticTokenTypes::DECORATOR = T.let(T.unsafe(nil), String) + +# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#12 +LanguageServer::Protocol::Constant::SemanticTokenTypes::ENUM = T.let(T.unsafe(nil), String) + +# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#19 +LanguageServer::Protocol::Constant::SemanticTokenTypes::ENUM_MEMBER = T.let(T.unsafe(nil), String) + +# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#20 +LanguageServer::Protocol::Constant::SemanticTokenTypes::EVENT = T.let(T.unsafe(nil), String) + +# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#21 +LanguageServer::Protocol::Constant::SemanticTokenTypes::FUNCTION = T.let(T.unsafe(nil), String) + +# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#13 +LanguageServer::Protocol::Constant::SemanticTokenTypes::INTERFACE = T.let(T.unsafe(nil), String) + +# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#24 +LanguageServer::Protocol::Constant::SemanticTokenTypes::KEYWORD = T.let(T.unsafe(nil), String) + +# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#23 +LanguageServer::Protocol::Constant::SemanticTokenTypes::MACRO = T.let(T.unsafe(nil), String) + +# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#22 +LanguageServer::Protocol::Constant::SemanticTokenTypes::METHOD = T.let(T.unsafe(nil), String) + +# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#25 +LanguageServer::Protocol::Constant::SemanticTokenTypes::MODIFIER = T.let(T.unsafe(nil), String) + +# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#5 +LanguageServer::Protocol::Constant::SemanticTokenTypes::NAMESPACE = T.let(T.unsafe(nil), String) + +# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#28 +LanguageServer::Protocol::Constant::SemanticTokenTypes::NUMBER = T.let(T.unsafe(nil), String) + +# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#30 +LanguageServer::Protocol::Constant::SemanticTokenTypes::OPERATOR = T.let(T.unsafe(nil), String) + +# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#16 +LanguageServer::Protocol::Constant::SemanticTokenTypes::PARAMETER = T.let(T.unsafe(nil), String) + +# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#18 +LanguageServer::Protocol::Constant::SemanticTokenTypes::PROPERTY = T.let(T.unsafe(nil), String) + +# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#29 +LanguageServer::Protocol::Constant::SemanticTokenTypes::REGEXP = T.let(T.unsafe(nil), String) + +# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#27 +LanguageServer::Protocol::Constant::SemanticTokenTypes::STRING = T.let(T.unsafe(nil), String) + +# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#14 +LanguageServer::Protocol::Constant::SemanticTokenTypes::STRUCT = T.let(T.unsafe(nil), String) + +# Represents a generic type. Acts as a fallback for types which +# can't be mapped to a specific type like class or enum. +# +# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#10 +LanguageServer::Protocol::Constant::SemanticTokenTypes::TYPE = T.let(T.unsafe(nil), String) + +# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#15 +LanguageServer::Protocol::Constant::SemanticTokenTypes::TYPE_PARAMETER = T.let(T.unsafe(nil), String) + +# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#17 +LanguageServer::Protocol::Constant::SemanticTokenTypes::VARIABLE = T.let(T.unsafe(nil), String) + +# How a signature help was triggered. +# +# source://language_server-protocol//lib/language_server/protocol/constant/signature_help_trigger_kind.rb#7 +module LanguageServer::Protocol::Constant::SignatureHelpTriggerKind; end + +# Signature help was triggered by the cursor moving or by the document +# content changing. +# +# source://language_server-protocol//lib/language_server/protocol/constant/signature_help_trigger_kind.rb#20 +LanguageServer::Protocol::Constant::SignatureHelpTriggerKind::CONTENT_CHANGE = T.let(T.unsafe(nil), Integer) + +# Signature help was invoked manually by the user or by a command. +# +# source://language_server-protocol//lib/language_server/protocol/constant/signature_help_trigger_kind.rb#11 +LanguageServer::Protocol::Constant::SignatureHelpTriggerKind::INVOKED = T.let(T.unsafe(nil), Integer) + +# Signature help was triggered by a trigger character. +# +# source://language_server-protocol//lib/language_server/protocol/constant/signature_help_trigger_kind.rb#15 +LanguageServer::Protocol::Constant::SignatureHelpTriggerKind::TRIGGER_CHARACTER = T.let(T.unsafe(nil), Integer) + +# A symbol kind. +# +# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#7 +module LanguageServer::Protocol::Constant::SymbolKind; end + +# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#25 +LanguageServer::Protocol::Constant::SymbolKind::ARRAY = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#24 +LanguageServer::Protocol::Constant::SymbolKind::BOOLEAN = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#12 +LanguageServer::Protocol::Constant::SymbolKind::CLASS = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#21 +LanguageServer::Protocol::Constant::SymbolKind::CONSTANT = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#16 +LanguageServer::Protocol::Constant::SymbolKind::CONSTRUCTOR = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#17 +LanguageServer::Protocol::Constant::SymbolKind::ENUM = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#29 +LanguageServer::Protocol::Constant::SymbolKind::ENUM_MEMBER = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#31 +LanguageServer::Protocol::Constant::SymbolKind::EVENT = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#15 +LanguageServer::Protocol::Constant::SymbolKind::FIELD = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#8 +LanguageServer::Protocol::Constant::SymbolKind::FILE = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#19 +LanguageServer::Protocol::Constant::SymbolKind::FUNCTION = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#18 +LanguageServer::Protocol::Constant::SymbolKind::INTERFACE = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#27 +LanguageServer::Protocol::Constant::SymbolKind::KEY = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#13 +LanguageServer::Protocol::Constant::SymbolKind::METHOD = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#9 +LanguageServer::Protocol::Constant::SymbolKind::MODULE = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#10 +LanguageServer::Protocol::Constant::SymbolKind::NAMESPACE = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#28 +LanguageServer::Protocol::Constant::SymbolKind::NULL = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#23 +LanguageServer::Protocol::Constant::SymbolKind::NUMBER = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#26 +LanguageServer::Protocol::Constant::SymbolKind::OBJECT = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#32 +LanguageServer::Protocol::Constant::SymbolKind::OPERATOR = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#11 +LanguageServer::Protocol::Constant::SymbolKind::PACKAGE = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#14 +LanguageServer::Protocol::Constant::SymbolKind::PROPERTY = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#22 +LanguageServer::Protocol::Constant::SymbolKind::STRING = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#30 +LanguageServer::Protocol::Constant::SymbolKind::STRUCT = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#33 +LanguageServer::Protocol::Constant::SymbolKind::TYPE_PARAMETER = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#20 +LanguageServer::Protocol::Constant::SymbolKind::VARIABLE = T.let(T.unsafe(nil), Integer) + +# Symbol tags are extra annotations that tweak the rendering of a symbol. +# +# source://language_server-protocol//lib/language_server/protocol/constant/symbol_tag.rb#7 +module LanguageServer::Protocol::Constant::SymbolTag; end + +# Render a symbol as obsolete, usually using a strike-out. +# +# source://language_server-protocol//lib/language_server/protocol/constant/symbol_tag.rb#11 +LanguageServer::Protocol::Constant::SymbolTag::DEPRECATED = T.let(T.unsafe(nil), Integer) + +# Represents reasons why a text document is saved. +# +# source://language_server-protocol//lib/language_server/protocol/constant/text_document_save_reason.rb#7 +module LanguageServer::Protocol::Constant::TextDocumentSaveReason; end + +# Automatic after a delay. +# +# source://language_server-protocol//lib/language_server/protocol/constant/text_document_save_reason.rb#16 +LanguageServer::Protocol::Constant::TextDocumentSaveReason::AFTER_DELAY = T.let(T.unsafe(nil), Integer) + +# When the editor lost focus. +# +# source://language_server-protocol//lib/language_server/protocol/constant/text_document_save_reason.rb#20 +LanguageServer::Protocol::Constant::TextDocumentSaveReason::FOCUS_OUT = T.let(T.unsafe(nil), Integer) + +# Manually triggered, e.g. by the user pressing save, by starting +# debugging, or by an API call. +# +# source://language_server-protocol//lib/language_server/protocol/constant/text_document_save_reason.rb#12 +LanguageServer::Protocol::Constant::TextDocumentSaveReason::MANUAL = T.let(T.unsafe(nil), Integer) + +# Defines how the host (editor) should sync document changes to the language +# server. +# +# source://language_server-protocol//lib/language_server/protocol/constant/text_document_sync_kind.rb#8 +module LanguageServer::Protocol::Constant::TextDocumentSyncKind; end + +# Documents are synced by always sending the full content +# of the document. +# +# source://language_server-protocol//lib/language_server/protocol/constant/text_document_sync_kind.rb#17 +LanguageServer::Protocol::Constant::TextDocumentSyncKind::FULL = T.let(T.unsafe(nil), Integer) + +# Documents are synced by sending the full content on open. +# After that only incremental updates to the document are +# sent. +# +# source://language_server-protocol//lib/language_server/protocol/constant/text_document_sync_kind.rb#23 +LanguageServer::Protocol::Constant::TextDocumentSyncKind::INCREMENTAL = T.let(T.unsafe(nil), Integer) + +# Documents should not be synced at all. +# +# source://language_server-protocol//lib/language_server/protocol/constant/text_document_sync_kind.rb#12 +LanguageServer::Protocol::Constant::TextDocumentSyncKind::NONE = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/constant/token_format.rb#4 +module LanguageServer::Protocol::Constant::TokenFormat; end + +# source://language_server-protocol//lib/language_server/protocol/constant/token_format.rb#5 +LanguageServer::Protocol::Constant::TokenFormat::RELATIVE = T.let(T.unsafe(nil), String) + +# Moniker uniqueness level to define scope of the moniker. +# +# source://language_server-protocol//lib/language_server/protocol/constant/uniqueness_level.rb#7 +module LanguageServer::Protocol::Constant::UniquenessLevel; end + +# The moniker is only unique inside a document +# +# source://language_server-protocol//lib/language_server/protocol/constant/uniqueness_level.rb#11 +LanguageServer::Protocol::Constant::UniquenessLevel::DOCUMENT = T.let(T.unsafe(nil), String) + +# The moniker is globally unique +# +# source://language_server-protocol//lib/language_server/protocol/constant/uniqueness_level.rb#27 +LanguageServer::Protocol::Constant::UniquenessLevel::GLOBAL = T.let(T.unsafe(nil), String) + +# The moniker is unique inside the group to which a project belongs +# +# source://language_server-protocol//lib/language_server/protocol/constant/uniqueness_level.rb#19 +LanguageServer::Protocol::Constant::UniquenessLevel::GROUP = T.let(T.unsafe(nil), String) + +# The moniker is unique inside a project for which a dump got created +# +# source://language_server-protocol//lib/language_server/protocol/constant/uniqueness_level.rb#15 +LanguageServer::Protocol::Constant::UniquenessLevel::PROJECT = T.let(T.unsafe(nil), String) + +# The moniker is unique inside the moniker scheme. +# +# source://language_server-protocol//lib/language_server/protocol/constant/uniqueness_level.rb#23 +LanguageServer::Protocol::Constant::UniquenessLevel::SCHEME = T.let(T.unsafe(nil), String) + +# source://language_server-protocol//lib/language_server/protocol/constant/watch_kind.rb#4 +module LanguageServer::Protocol::Constant::WatchKind; end + +# Interested in change events +# +# source://language_server-protocol//lib/language_server/protocol/constant/watch_kind.rb#12 +LanguageServer::Protocol::Constant::WatchKind::CHANGE = T.let(T.unsafe(nil), Integer) + +# Interested in create events. +# +# source://language_server-protocol//lib/language_server/protocol/constant/watch_kind.rb#8 +LanguageServer::Protocol::Constant::WatchKind::CREATE = T.let(T.unsafe(nil), Integer) + +# Interested in delete events +# +# source://language_server-protocol//lib/language_server/protocol/constant/watch_kind.rb#16 +LanguageServer::Protocol::Constant::WatchKind::DELETE = T.let(T.unsafe(nil), Integer) + +# source://language_server-protocol//lib/language_server/protocol/interface.rb#3 +module LanguageServer::Protocol::Interface; end + +# A special text edit with an additional change annotation. +# +# source://language_server-protocol//lib/language_server/protocol/interface/annotated_text_edit.rb#7 +class LanguageServer::Protocol::Interface::AnnotatedTextEdit + # @return [AnnotatedTextEdit] a new instance of AnnotatedTextEdit + # + # source://language_server-protocol//lib/language_server/protocol/interface/annotated_text_edit.rb#8 + def initialize(range:, new_text:, annotation_id:); end + + # The actual annotation identifier. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/annotated_text_edit.rb#40 + def annotation_id; end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/annotated_text_edit.rb#44 + def attributes; end + + # The string to be inserted. For delete operations use an + # empty string. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/annotated_text_edit.rb#32 + def new_text; end + + # The range of the text document to be manipulated. To insert + # text into a document create a range where start === end. + # + # @return [Range] + # + # source://language_server-protocol//lib/language_server/protocol/interface/annotated_text_edit.rb#23 + def range; end + + # source://language_server-protocol//lib/language_server/protocol/interface/annotated_text_edit.rb#46 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/annotated_text_edit.rb#50 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/apply_workspace_edit_params.rb#4 +class LanguageServer::Protocol::Interface::ApplyWorkspaceEditParams + # @return [ApplyWorkspaceEditParams] a new instance of ApplyWorkspaceEditParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/apply_workspace_edit_params.rb#5 + def initialize(edit:, label: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/apply_workspace_edit_params.rb#32 + def attributes; end + + # The edits to apply. + # + # @return [WorkspaceEdit] + # + # source://language_server-protocol//lib/language_server/protocol/interface/apply_workspace_edit_params.rb#28 + def edit; end + + # An optional label of the workspace edit. This label is + # presented in the user interface for example on an undo + # stack to undo the workspace edit. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/apply_workspace_edit_params.rb#20 + def label; end + + # source://language_server-protocol//lib/language_server/protocol/interface/apply_workspace_edit_params.rb#34 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/apply_workspace_edit_params.rb#38 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/apply_workspace_edit_result.rb#4 +class LanguageServer::Protocol::Interface::ApplyWorkspaceEditResult + # @return [ApplyWorkspaceEditResult] a new instance of ApplyWorkspaceEditResult + # + # source://language_server-protocol//lib/language_server/protocol/interface/apply_workspace_edit_result.rb#5 + def initialize(applied:, failure_reason: T.unsafe(nil), failed_change: T.unsafe(nil)); end + + # Indicates whether the edit was applied or not. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/apply_workspace_edit_result.rb#19 + def applied; end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/apply_workspace_edit_result.rb#44 + def attributes; end + + # Depending on the client's failure handling strategy `failedChange` + # might contain the index of the change that failed. This property is + # only available if the client signals a `failureHandling` strategy + # in its client capabilities. + # + # @return [number] + # + # source://language_server-protocol//lib/language_server/protocol/interface/apply_workspace_edit_result.rb#40 + def failed_change; end + + # An optional textual description for why the edit was not applied. + # This may be used by the server for diagnostic logging or to provide + # a suitable error for a request that triggered the edit. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/apply_workspace_edit_result.rb#29 + def failure_reason; end + + # source://language_server-protocol//lib/language_server/protocol/interface/apply_workspace_edit_result.rb#46 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/apply_workspace_edit_result.rb#50 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_client_capabilities.rb#4 +class LanguageServer::Protocol::Interface::CallHierarchyClientCapabilities + # @return [CallHierarchyClientCapabilities] a new instance of CallHierarchyClientCapabilities + # + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_client_capabilities.rb#5 + def initialize(dynamic_registration: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_client_capabilities.rb#24 + def attributes; end + + # Whether implementation supports dynamic registration. If this is set to + # `true` the client supports the new `(TextDocumentRegistrationOptions & + # StaticRegistrationOptions)` return value for the corresponding server + # capability as well. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_client_capabilities.rb#20 + def dynamic_registration; end + + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_client_capabilities.rb#26 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_client_capabilities.rb#30 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_incoming_call.rb#4 +class LanguageServer::Protocol::Interface::CallHierarchyIncomingCall + # @return [CallHierarchyIncomingCall] a new instance of CallHierarchyIncomingCall + # + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_incoming_call.rb#5 + def initialize(from:, from_ranges:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_incoming_call.rb#31 + def attributes; end + + # The item that makes the call. + # + # @return [CallHierarchyItem] + # + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_incoming_call.rb#18 + def from; end + + # The ranges at which the calls appear. This is relative to the caller + # denoted by [`this.from`](#CallHierarchyIncomingCall.from). + # + # @return [Range[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_incoming_call.rb#27 + def from_ranges; end + + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_incoming_call.rb#33 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_incoming_call.rb#37 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_incoming_calls_params.rb#4 +class LanguageServer::Protocol::Interface::CallHierarchyIncomingCallsParams + # @return [CallHierarchyIncomingCallsParams] a new instance of CallHierarchyIncomingCallsParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_incoming_calls_params.rb#5 + def initialize(item:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_incoming_calls_params.rb#37 + def attributes; end + + # @return [CallHierarchyItem] + # + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_incoming_calls_params.rb#33 + def item; end + + # An optional token that a server can use to report partial results (e.g. + # streaming) to the client. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_incoming_calls_params.rb#28 + def partial_result_token; end + + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_incoming_calls_params.rb#39 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_incoming_calls_params.rb#43 + def to_json(*args); end + + # An optional token that a server can use to report work done progress. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_incoming_calls_params.rb#19 + def work_done_token; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_item.rb#4 +class LanguageServer::Protocol::Interface::CallHierarchyItem + # @return [CallHierarchyItem] a new instance of CallHierarchyItem + # + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_item.rb#5 + def initialize(name:, kind:, uri:, range:, selection_range:, tags: T.unsafe(nil), detail: T.unsafe(nil), data: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_item.rb#88 + def attributes; end + + # A data entry field that is preserved between a call hierarchy prepare and + # incoming calls or outgoing calls requests. + # + # @return [unknown] + # + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_item.rb#84 + def data; end + + # More detail for this item, e.g. the signature of a function. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_item.rb#48 + def detail; end + + # The kind of this item. + # + # @return [SymbolKind] + # + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_item.rb#32 + def kind; end + + # The name of this item. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_item.rb#24 + def name; end + + # The range enclosing this symbol not including leading/trailing whitespace + # but everything else, e.g. comments and code. + # + # @return [Range] + # + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_item.rb#65 + def range; end + + # The range that should be selected and revealed when this symbol is being + # picked, e.g. the name of a function. Must be contained by the + # [`range`](#CallHierarchyItem.range). + # + # @return [Range] + # + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_item.rb#75 + def selection_range; end + + # Tags for this item. + # + # @return [1[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_item.rb#40 + def tags; end + + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_item.rb#90 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_item.rb#94 + def to_json(*args); end + + # The resource identifier of this item. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_item.rb#56 + def uri; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_options.rb#4 +class LanguageServer::Protocol::Interface::CallHierarchyOptions + # @return [CallHierarchyOptions] a new instance of CallHierarchyOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_options.rb#5 + def initialize(work_done_progress: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_options.rb#18 + def attributes; end + + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_options.rb#20 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_options.rb#24 + def to_json(*args); end + + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_options.rb#14 + def work_done_progress; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_outgoing_call.rb#4 +class LanguageServer::Protocol::Interface::CallHierarchyOutgoingCall + # @return [CallHierarchyOutgoingCall] a new instance of CallHierarchyOutgoingCall + # + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_outgoing_call.rb#5 + def initialize(to:, from_ranges:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_outgoing_call.rb#31 + def attributes; end + + # The range at which this item is called. This is the range relative to + # the caller, e.g the item passed to `callHierarchy/outgoingCalls` request. + # + # @return [Range[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_outgoing_call.rb#27 + def from_ranges; end + + # The item that is called. + # + # @return [CallHierarchyItem] + # + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_outgoing_call.rb#18 + def to; end + + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_outgoing_call.rb#33 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_outgoing_call.rb#37 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_outgoing_calls_params.rb#4 +class LanguageServer::Protocol::Interface::CallHierarchyOutgoingCallsParams + # @return [CallHierarchyOutgoingCallsParams] a new instance of CallHierarchyOutgoingCallsParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_outgoing_calls_params.rb#5 + def initialize(item:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_outgoing_calls_params.rb#37 + def attributes; end + + # @return [CallHierarchyItem] + # + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_outgoing_calls_params.rb#33 + def item; end + + # An optional token that a server can use to report partial results (e.g. + # streaming) to the client. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_outgoing_calls_params.rb#28 + def partial_result_token; end + + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_outgoing_calls_params.rb#39 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_outgoing_calls_params.rb#43 + def to_json(*args); end + + # An optional token that a server can use to report work done progress. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_outgoing_calls_params.rb#19 + def work_done_token; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_prepare_params.rb#4 +class LanguageServer::Protocol::Interface::CallHierarchyPrepareParams + # @return [CallHierarchyPrepareParams] a new instance of CallHierarchyPrepareParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_prepare_params.rb#5 + def initialize(text_document:, position:, work_done_token: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_prepare_params.rb#39 + def attributes; end + + # The position inside the text document. + # + # @return [Position] + # + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_prepare_params.rb#27 + def position; end + + # The text document. + # + # @return [TextDocumentIdentifier] + # + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_prepare_params.rb#19 + def text_document; end + + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_prepare_params.rb#41 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_prepare_params.rb#45 + def to_json(*args); end + + # An optional token that a server can use to report work done progress. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_prepare_params.rb#35 + def work_done_token; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_registration_options.rb#4 +class LanguageServer::Protocol::Interface::CallHierarchyRegistrationOptions + # @return [CallHierarchyRegistrationOptions] a new instance of CallHierarchyRegistrationOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_registration_options.rb#5 + def initialize(document_selector:, work_done_progress: T.unsafe(nil), id: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_registration_options.rb#38 + def attributes; end + + # A document selector to identify the scope of the registration. If set to + # null the document selector provided on the client side will be used. + # + # @return [DocumentSelector] + # + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_registration_options.rb#20 + def document_selector; end + + # The id used to register the request. The id can be used to deregister + # the request again. See also Registration#id. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_registration_options.rb#34 + def id; end + + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_registration_options.rb#40 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_registration_options.rb#44 + def to_json(*args); end + + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_registration_options.rb#25 + def work_done_progress; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/cancel_params.rb#4 +class LanguageServer::Protocol::Interface::CancelParams + # @return [CancelParams] a new instance of CancelParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/cancel_params.rb#5 + def initialize(id:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/cancel_params.rb#21 + def attributes; end + + # The request id to cancel. + # + # @return [string | number] + # + # source://language_server-protocol//lib/language_server/protocol/interface/cancel_params.rb#17 + def id; end + + # source://language_server-protocol//lib/language_server/protocol/interface/cancel_params.rb#23 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/cancel_params.rb#27 + def to_json(*args); end +end + +# Additional information that describes document changes. +# +# source://language_server-protocol//lib/language_server/protocol/interface/change_annotation.rb#7 +class LanguageServer::Protocol::Interface::ChangeAnnotation + # @return [ChangeAnnotation] a new instance of ChangeAnnotation + # + # source://language_server-protocol//lib/language_server/protocol/interface/change_annotation.rb#8 + def initialize(label:, needs_confirmation: T.unsafe(nil), description: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/change_annotation.rb#45 + def attributes; end + + # A human-readable string which is rendered less prominent in + # the user interface. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/change_annotation.rb#41 + def description; end + + # A human-readable string describing the actual change. The string + # is rendered prominent in the user interface. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/change_annotation.rb#23 + def label; end + + # A flag which indicates that user confirmation is needed + # before applying the change. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/change_annotation.rb#32 + def needs_confirmation; end + + # source://language_server-protocol//lib/language_server/protocol/interface/change_annotation.rb#47 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/change_annotation.rb#51 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/client_capabilities.rb#4 +class LanguageServer::Protocol::Interface::ClientCapabilities + # @return [ClientCapabilities] a new instance of ClientCapabilities + # + # source://language_server-protocol//lib/language_server/protocol/interface/client_capabilities.rb#5 + def initialize(workspace: T.unsafe(nil), text_document: T.unsafe(nil), notebook_document: T.unsafe(nil), window: T.unsafe(nil), general: T.unsafe(nil), experimental: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/client_capabilities.rb#66 + def attributes; end + + # Experimental client capabilities. + # + # @return [LSPAny] + # + # source://language_server-protocol//lib/language_server/protocol/interface/client_capabilities.rb#62 + def experimental; end + + # General client capabilities. + # + # @return [{ staleRequestSupport?: { cancel: boolean; retryOnContentModified: string[]; }; regularExpressions?: RegularExpressionsClientCapabilities; markdown?: any; positionEncodings?: string[]; }] + # + # source://language_server-protocol//lib/language_server/protocol/interface/client_capabilities.rb#54 + def general; end + + # Capabilities specific to the notebook document support. + # + # @return [NotebookDocumentClientCapabilities] + # + # source://language_server-protocol//lib/language_server/protocol/interface/client_capabilities.rb#38 + def notebook_document; end + + # Text document specific client capabilities. + # + # @return [TextDocumentClientCapabilities] + # + # source://language_server-protocol//lib/language_server/protocol/interface/client_capabilities.rb#30 + def text_document; end + + # source://language_server-protocol//lib/language_server/protocol/interface/client_capabilities.rb#68 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/client_capabilities.rb#72 + def to_json(*args); end + + # Window specific client capabilities. + # + # @return [{ workDoneProgress?: boolean; showMessage?: ShowMessageRequestClientCapabilities; showDocument?: ShowDocumentClientCapabilities; }] + # + # source://language_server-protocol//lib/language_server/protocol/interface/client_capabilities.rb#46 + def window; end + + # Workspace specific client capabilities. + # + # @return [{ applyEdit?: boolean; workspaceEdit?: WorkspaceEditClientCapabilities; didChangeConfiguration?: DidChangeConfigurationClientCapabilities; ... 10 more ...; diagnostics?: DiagnosticWorkspaceClientCapabilities; }] + # + # source://language_server-protocol//lib/language_server/protocol/interface/client_capabilities.rb#22 + def workspace; end +end + +# A code action represents a change that can be performed in code, e.g. to fix +# a problem or to refactor code. +# +# A CodeAction must set either `edit` and/or a `command`. If both are supplied, +# the `edit` is applied first, then the `command` is executed. +# +# source://language_server-protocol//lib/language_server/protocol/interface/code_action.rb#11 +class LanguageServer::Protocol::Interface::CodeAction + # @return [CodeAction] a new instance of CodeAction + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_action.rb#12 + def initialize(title:, kind: T.unsafe(nil), diagnostics: T.unsafe(nil), is_preferred: T.unsafe(nil), disabled: T.unsafe(nil), edit: T.unsafe(nil), command: T.unsafe(nil), data: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_action.rb#115 + def attributes; end + + # A command this code action executes. If a code action + # provides an edit and a command, first the edit is + # executed and then the command. + # + # @return [Command] + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_action.rb#102 + def command; end + + # A data entry field that is preserved on a code action between + # a `textDocument/codeAction` and a `codeAction/resolve` request. + # + # @return [LSPAny] + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_action.rb#111 + def data; end + + # The diagnostics that this code action resolves. + # + # @return [Diagnostic[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_action.rb#49 + def diagnostics; end + + # Marks that the code action cannot currently be applied. + # + # Clients should follow the following guidelines regarding disabled code + # actions: + # + # - Disabled code actions are not shown in automatic lightbulbs code + # action menus. + # + # - Disabled actions are shown as faded out in the code action menu when + # the user request a more specific type of code action, such as + # refactorings. + # + # - If the user has a keybinding that auto applies a code action and only + # a disabled code actions are returned, the client should show the user + # an error message with `reason` in the editor. + # + # @return [{ reason: string; }] + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_action.rb#84 + def disabled; end + + # The workspace edit this code action performs. + # + # @return [WorkspaceEdit] + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_action.rb#92 + def edit; end + + # Marks this as a preferred action. Preferred actions are used by the + # `auto fix` command and can be targeted by keybindings. + # + # A quick fix should be marked preferred if it properly addresses the + # underlying error. A refactoring should be marked preferred if it is the + # most reasonable choice of actions to take. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_action.rb#62 + def is_preferred; end + + # The kind of the code action. + # + # Used to filter code actions. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_action.rb#41 + def kind; end + + # A short, human-readable, title for this code action. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_action.rb#31 + def title; end + + # source://language_server-protocol//lib/language_server/protocol/interface/code_action.rb#117 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/code_action.rb#121 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/code_action_client_capabilities.rb#4 +class LanguageServer::Protocol::Interface::CodeActionClientCapabilities + # @return [CodeActionClientCapabilities] a new instance of CodeActionClientCapabilities + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_action_client_capabilities.rb#5 + def initialize(dynamic_registration: T.unsafe(nil), code_action_literal_support: T.unsafe(nil), is_preferred_support: T.unsafe(nil), disabled_support: T.unsafe(nil), data_support: T.unsafe(nil), resolve_support: T.unsafe(nil), honors_change_annotations: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_action_client_capabilities.rb#83 + def attributes; end + + # The client supports code action literals as a valid + # response of the `textDocument/codeAction` request. + # + # @return [{ codeActionKind: { valueSet: string[]; }; }] + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_action_client_capabilities.rb#32 + def code_action_literal_support; end + + # Whether code action supports the `data` property which is + # preserved between a `textDocument/codeAction` and a + # `codeAction/resolve` request. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_action_client_capabilities.rb#58 + def data_support; end + + # Whether code action supports the `disabled` property. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_action_client_capabilities.rb#48 + def disabled_support; end + + # Whether code action supports dynamic registration. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_action_client_capabilities.rb#23 + def dynamic_registration; end + + # Whether the client honors the change annotations in + # text edits and resource operations returned via the + # `CodeAction#edit` property by for example presenting + # the workspace edit in the user interface and asking + # for confirmation. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_action_client_capabilities.rb#79 + def honors_change_annotations; end + + # Whether code action supports the `isPreferred` property. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_action_client_capabilities.rb#40 + def is_preferred_support; end + + # Whether the client supports resolving additional code action + # properties via a separate `codeAction/resolve` request. + # + # @return [{ properties: string[]; }] + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_action_client_capabilities.rb#67 + def resolve_support; end + + # source://language_server-protocol//lib/language_server/protocol/interface/code_action_client_capabilities.rb#85 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/code_action_client_capabilities.rb#89 + def to_json(*args); end +end + +# Contains additional diagnostic information about the context in which +# a code action is run. +# +# source://language_server-protocol//lib/language_server/protocol/interface/code_action_context.rb#8 +class LanguageServer::Protocol::Interface::CodeActionContext + # @return [CodeActionContext] a new instance of CodeActionContext + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_action_context.rb#9 + def initialize(diagnostics:, only: T.unsafe(nil), trigger_kind: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_action_context.rb#51 + def attributes; end + + # An array of diagnostics known on the client side overlapping the range + # provided to the `textDocument/codeAction` request. They are provided so + # that the server knows which errors are currently presented to the user + # for the given range. There is no guarantee that these accurately reflect + # the error state of the resource. The primary parameter + # to compute code actions is the provided range. + # + # @return [Diagnostic[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_action_context.rb#28 + def diagnostics; end + + # Requested kind of actions to return. + # + # Actions not of this kind are filtered out by the client before being + # shown. So servers can omit computing them. + # + # @return [string[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_action_context.rb#39 + def only; end + + # source://language_server-protocol//lib/language_server/protocol/interface/code_action_context.rb#53 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/code_action_context.rb#57 + def to_json(*args); end + + # The reason why code actions were requested. + # + # @return [CodeActionTriggerKind] + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_action_context.rb#47 + def trigger_kind; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/code_action_options.rb#4 +class LanguageServer::Protocol::Interface::CodeActionOptions + # @return [CodeActionOptions] a new instance of CodeActionOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_action_options.rb#5 + def initialize(work_done_progress: T.unsafe(nil), code_action_kinds: T.unsafe(nil), resolve_provider: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_action_options.rb#40 + def attributes; end + + # CodeActionKinds that this server may return. + # + # The list of kinds may be generic, such as `CodeActionKind.Refactor`, + # or the server may list out every specific kind they provide. + # + # @return [string[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_action_options.rb#27 + def code_action_kinds; end + + # The server provides support to resolve additional + # information for a code action. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_action_options.rb#36 + def resolve_provider; end + + # source://language_server-protocol//lib/language_server/protocol/interface/code_action_options.rb#42 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/code_action_options.rb#46 + def to_json(*args); end + + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_action_options.rb#16 + def work_done_progress; end +end + +# Params for the CodeActionRequest +# +# source://language_server-protocol//lib/language_server/protocol/interface/code_action_params.rb#7 +class LanguageServer::Protocol::Interface::CodeActionParams + # @return [CodeActionParams] a new instance of CodeActionParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_action_params.rb#8 + def initialize(text_document:, range:, context:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_action_params.rb#61 + def attributes; end + + # Context carrying additional information. + # + # @return [CodeActionContext] + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_action_params.rb#57 + def context; end + + # An optional token that a server can use to report partial results (e.g. + # streaming) to the client. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_action_params.rb#33 + def partial_result_token; end + + # The range for which the command was invoked. + # + # @return [Range] + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_action_params.rb#49 + def range; end + + # The document in which the command was invoked. + # + # @return [TextDocumentIdentifier] + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_action_params.rb#41 + def text_document; end + + # source://language_server-protocol//lib/language_server/protocol/interface/code_action_params.rb#63 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/code_action_params.rb#67 + def to_json(*args); end + + # An optional token that a server can use to report work done progress. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_action_params.rb#24 + def work_done_token; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/code_action_registration_options.rb#4 +class LanguageServer::Protocol::Interface::CodeActionRegistrationOptions + # @return [CodeActionRegistrationOptions] a new instance of CodeActionRegistrationOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_action_registration_options.rb#5 + def initialize(document_selector:, work_done_progress: T.unsafe(nil), code_action_kinds: T.unsafe(nil), resolve_provider: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_action_registration_options.rb#50 + def attributes; end + + # CodeActionKinds that this server may return. + # + # The list of kinds may be generic, such as `CodeActionKind.Refactor`, + # or the server may list out every specific kind they provide. + # + # @return [string[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_action_registration_options.rb#37 + def code_action_kinds; end + + # A document selector to identify the scope of the registration. If set to + # null the document selector provided on the client side will be used. + # + # @return [DocumentSelector] + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_action_registration_options.rb#21 + def document_selector; end + + # The server provides support to resolve additional + # information for a code action. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_action_registration_options.rb#46 + def resolve_provider; end + + # source://language_server-protocol//lib/language_server/protocol/interface/code_action_registration_options.rb#52 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/code_action_registration_options.rb#56 + def to_json(*args); end + + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_action_registration_options.rb#26 + def work_done_progress; end +end + +# Structure to capture a description for an error code. +# +# source://language_server-protocol//lib/language_server/protocol/interface/code_description.rb#7 +class LanguageServer::Protocol::Interface::CodeDescription + # @return [CodeDescription] a new instance of CodeDescription + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_description.rb#8 + def initialize(href:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_description.rb#24 + def attributes; end + + # An URI to open with more information about the diagnostic error. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_description.rb#20 + def href; end + + # source://language_server-protocol//lib/language_server/protocol/interface/code_description.rb#26 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/code_description.rb#30 + def to_json(*args); end +end + +# A code lens represents a command that should be shown along with +# source text, like the number of references, a way to run tests, etc. +# +# A code lens is _unresolved_ when no command is associated to it. For +# performance reasons the creation of a code lens and resolving should be done +# in two stages. +# +# source://language_server-protocol//lib/language_server/protocol/interface/code_lens.rb#12 +class LanguageServer::Protocol::Interface::CodeLens + # @return [CodeLens] a new instance of CodeLens + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_lens.rb#13 + def initialize(range:, command: T.unsafe(nil), data: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_lens.rb#49 + def attributes; end + + # The command this code lens represents. + # + # @return [Command] + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_lens.rb#36 + def command; end + + # A data entry field that is preserved on a code lens item between + # a code lens and a code lens resolve request. + # + # @return [LSPAny] + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_lens.rb#45 + def data; end + + # The range in which this code lens is valid. Should only span a single + # line. + # + # @return [Range] + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_lens.rb#28 + def range; end + + # source://language_server-protocol//lib/language_server/protocol/interface/code_lens.rb#51 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/code_lens.rb#55 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/code_lens_client_capabilities.rb#4 +class LanguageServer::Protocol::Interface::CodeLensClientCapabilities + # @return [CodeLensClientCapabilities] a new instance of CodeLensClientCapabilities + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_client_capabilities.rb#5 + def initialize(dynamic_registration: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_client_capabilities.rb#21 + def attributes; end + + # Whether code lens supports dynamic registration. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_client_capabilities.rb#17 + def dynamic_registration; end + + # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_client_capabilities.rb#23 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_client_capabilities.rb#27 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/code_lens_options.rb#4 +class LanguageServer::Protocol::Interface::CodeLensOptions + # @return [CodeLensOptions] a new instance of CodeLensOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_options.rb#5 + def initialize(work_done_progress: T.unsafe(nil), resolve_provider: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_options.rb#27 + def attributes; end + + # Code lens has a resolve provider as well. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_options.rb#23 + def resolve_provider; end + + # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_options.rb#29 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_options.rb#33 + def to_json(*args); end + + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_options.rb#15 + def work_done_progress; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/code_lens_params.rb#4 +class LanguageServer::Protocol::Interface::CodeLensParams + # @return [CodeLensParams] a new instance of CodeLensParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_params.rb#5 + def initialize(text_document:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_params.rb#40 + def attributes; end + + # An optional token that a server can use to report partial results (e.g. + # streaming) to the client. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_params.rb#28 + def partial_result_token; end + + # The document to request code lens for. + # + # @return [TextDocumentIdentifier] + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_params.rb#36 + def text_document; end + + # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_params.rb#42 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_params.rb#46 + def to_json(*args); end + + # An optional token that a server can use to report work done progress. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_params.rb#19 + def work_done_token; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/code_lens_registration_options.rb#4 +class LanguageServer::Protocol::Interface::CodeLensRegistrationOptions + # @return [CodeLensRegistrationOptions] a new instance of CodeLensRegistrationOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_registration_options.rb#5 + def initialize(document_selector:, work_done_progress: T.unsafe(nil), resolve_provider: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_registration_options.rb#37 + def attributes; end + + # A document selector to identify the scope of the registration. If set to + # null the document selector provided on the client side will be used. + # + # @return [DocumentSelector] + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_registration_options.rb#20 + def document_selector; end + + # Code lens has a resolve provider as well. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_registration_options.rb#33 + def resolve_provider; end + + # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_registration_options.rb#39 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_registration_options.rb#43 + def to_json(*args); end + + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_registration_options.rb#25 + def work_done_progress; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/code_lens_workspace_client_capabilities.rb#4 +class LanguageServer::Protocol::Interface::CodeLensWorkspaceClientCapabilities + # @return [CodeLensWorkspaceClientCapabilities] a new instance of CodeLensWorkspaceClientCapabilities + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_workspace_client_capabilities.rb#5 + def initialize(refresh_support: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_workspace_client_capabilities.rb#27 + def attributes; end + + # Whether the client implementation supports a refresh request sent from the + # server to the client. + # + # Note that this event is global and will force the client to refresh all + # code lenses currently shown. It should be used with absolute care and is + # useful for situation where a server for example detect a project wide + # change that requires such a calculation. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_workspace_client_capabilities.rb#23 + def refresh_support; end + + # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_workspace_client_capabilities.rb#29 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_workspace_client_capabilities.rb#33 + def to_json(*args); end +end + +# Represents a color in RGBA space. +# +# source://language_server-protocol//lib/language_server/protocol/interface/color.rb#7 +class LanguageServer::Protocol::Interface::Color + # @return [Color] a new instance of Color + # + # source://language_server-protocol//lib/language_server/protocol/interface/color.rb#8 + def initialize(red:, green:, blue:, alpha:); end + + # The alpha component of this color in the range [0-1]. + # + # @return [number] + # + # source://language_server-protocol//lib/language_server/protocol/interface/color.rb#47 + def alpha; end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/color.rb#51 + def attributes; end + + # The blue component of this color in the range [0-1]. + # + # @return [number] + # + # source://language_server-protocol//lib/language_server/protocol/interface/color.rb#39 + def blue; end + + # The green component of this color in the range [0-1]. + # + # @return [number] + # + # source://language_server-protocol//lib/language_server/protocol/interface/color.rb#31 + def green; end + + # The red component of this color in the range [0-1]. + # + # @return [number] + # + # source://language_server-protocol//lib/language_server/protocol/interface/color.rb#23 + def red; end + + # source://language_server-protocol//lib/language_server/protocol/interface/color.rb#53 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/color.rb#57 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/color_information.rb#4 +class LanguageServer::Protocol::Interface::ColorInformation + # @return [ColorInformation] a new instance of ColorInformation + # + # source://language_server-protocol//lib/language_server/protocol/interface/color_information.rb#5 + def initialize(range:, color:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/color_information.rb#30 + def attributes; end + + # The actual color value for this color range. + # + # @return [Color] + # + # source://language_server-protocol//lib/language_server/protocol/interface/color_information.rb#26 + def color; end + + # The range in the document where this color appears. + # + # @return [Range] + # + # source://language_server-protocol//lib/language_server/protocol/interface/color_information.rb#18 + def range; end + + # source://language_server-protocol//lib/language_server/protocol/interface/color_information.rb#32 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/color_information.rb#36 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/color_presentation.rb#4 +class LanguageServer::Protocol::Interface::ColorPresentation + # @return [ColorPresentation] a new instance of ColorPresentation + # + # source://language_server-protocol//lib/language_server/protocol/interface/color_presentation.rb#5 + def initialize(label:, text_edit: T.unsafe(nil), additional_text_edits: T.unsafe(nil)); end + + # An optional array of additional [text edits](#TextEdit) that are applied + # when selecting this color presentation. Edits must not overlap with the + # main [edit](#ColorPresentation.textEdit) nor with themselves. + # + # @return [TextEdit[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/color_presentation.rb#41 + def additional_text_edits; end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/color_presentation.rb#45 + def attributes; end + + # The label of this color presentation. It will be shown on the color + # picker header. By default this is also the text that is inserted when + # selecting this color presentation. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/color_presentation.rb#21 + def label; end + + # An [edit](#TextEdit) which is applied to a document when selecting + # this presentation for the color. When `falsy` the + # [label](#ColorPresentation.label) is used. + # + # @return [TextEdit] + # + # source://language_server-protocol//lib/language_server/protocol/interface/color_presentation.rb#31 + def text_edit; end + + # source://language_server-protocol//lib/language_server/protocol/interface/color_presentation.rb#47 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/color_presentation.rb#51 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/color_presentation_params.rb#4 +class LanguageServer::Protocol::Interface::ColorPresentationParams + # @return [ColorPresentationParams] a new instance of ColorPresentationParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/color_presentation_params.rb#5 + def initialize(text_document:, color:, range:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/color_presentation_params.rb#58 + def attributes; end + + # The color information to request presentations for. + # + # @return [Color] + # + # source://language_server-protocol//lib/language_server/protocol/interface/color_presentation_params.rb#46 + def color; end + + # An optional token that a server can use to report partial results (e.g. + # streaming) to the client. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/color_presentation_params.rb#30 + def partial_result_token; end + + # The range where the color would be inserted. Serves as a context. + # + # @return [Range] + # + # source://language_server-protocol//lib/language_server/protocol/interface/color_presentation_params.rb#54 + def range; end + + # The text document. + # + # @return [TextDocumentIdentifier] + # + # source://language_server-protocol//lib/language_server/protocol/interface/color_presentation_params.rb#38 + def text_document; end + + # source://language_server-protocol//lib/language_server/protocol/interface/color_presentation_params.rb#60 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/color_presentation_params.rb#64 + def to_json(*args); end + + # An optional token that a server can use to report work done progress. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/color_presentation_params.rb#21 + def work_done_token; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/command.rb#4 +class LanguageServer::Protocol::Interface::Command + # @return [Command] a new instance of Command + # + # source://language_server-protocol//lib/language_server/protocol/interface/command.rb#5 + def initialize(title:, command:, arguments: T.unsafe(nil)); end + + # Arguments that the command handler should be + # invoked with. + # + # @return [LSPAny[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/command.rb#36 + def arguments; end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/command.rb#40 + def attributes; end + + # The identifier of the actual command handler. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/command.rb#27 + def command; end + + # Title of the command, like `save`. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/command.rb#19 + def title; end + + # source://language_server-protocol//lib/language_server/protocol/interface/command.rb#42 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/command.rb#46 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/completion_client_capabilities.rb#4 +class LanguageServer::Protocol::Interface::CompletionClientCapabilities + # @return [CompletionClientCapabilities] a new instance of CompletionClientCapabilities + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_client_capabilities.rb#5 + def initialize(dynamic_registration: T.unsafe(nil), completion_item: T.unsafe(nil), completion_item_kind: T.unsafe(nil), context_support: T.unsafe(nil), insert_text_mode: T.unsafe(nil), completion_list: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_client_capabilities.rb#67 + def attributes; end + + # The client supports the following `CompletionItem` specific + # capabilities. + # + # @return [{ snippetSupport?: boolean; commitCharactersSupport?: boolean; documentationFormat?: MarkupKind[]; deprecatedSupport?: boolean; preselectSupport?: boolean; tagSupport?: { valueSet: 1[]; }; insertReplaceSupport?: boolean; resolveSupport?: { ...; }; insertTextModeSupport?: { ...; }; labelDetailsSupport?: boolean; }] + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_client_capabilities.rb#31 + def completion_item; end + + # @return [{ valueSet?: CompletionItemKind[]; }] + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_client_capabilities.rb#36 + def completion_item_kind; end + + # The client supports the following `CompletionList` specific + # capabilities. + # + # @return [{ itemDefaults?: string[]; }] + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_client_capabilities.rb#63 + def completion_list; end + + # The client supports to send additional context information for a + # `textDocument/completion` request. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_client_capabilities.rb#45 + def context_support; end + + # Whether completion supports dynamic registration. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_client_capabilities.rb#22 + def dynamic_registration; end + + # The client's default when the completion item doesn't provide a + # `insertTextMode` property. + # + # @return [InsertTextMode] + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_client_capabilities.rb#54 + def insert_text_mode; end + + # source://language_server-protocol//lib/language_server/protocol/interface/completion_client_capabilities.rb#69 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/completion_client_capabilities.rb#73 + def to_json(*args); end +end + +# Contains additional information about the context in which a completion +# request is triggered. +# +# source://language_server-protocol//lib/language_server/protocol/interface/completion_context.rb#8 +class LanguageServer::Protocol::Interface::CompletionContext + # @return [CompletionContext] a new instance of CompletionContext + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_context.rb#9 + def initialize(trigger_kind:, trigger_character: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_context.rb#36 + def attributes; end + + # source://language_server-protocol//lib/language_server/protocol/interface/completion_context.rb#38 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/completion_context.rb#42 + def to_json(*args); end + + # The trigger character (a single character) that has trigger code + # complete. Is undefined if + # `triggerKind !== CompletionTriggerKind.TriggerCharacter` + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_context.rb#32 + def trigger_character; end + + # How the completion was triggered. + # + # @return [CompletionTriggerKind] + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_context.rb#22 + def trigger_kind; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#4 +class LanguageServer::Protocol::Interface::CompletionItem + # @return [CompletionItem] a new instance of CompletionItem + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#5 + def initialize(label:, label_details: T.unsafe(nil), kind: T.unsafe(nil), tags: T.unsafe(nil), detail: T.unsafe(nil), documentation: T.unsafe(nil), deprecated: T.unsafe(nil), preselect: T.unsafe(nil), sort_text: T.unsafe(nil), filter_text: T.unsafe(nil), insert_text: T.unsafe(nil), insert_text_format: T.unsafe(nil), insert_text_mode: T.unsafe(nil), text_edit: T.unsafe(nil), text_edit_text: T.unsafe(nil), additional_text_edits: T.unsafe(nil), commit_characters: T.unsafe(nil), command: T.unsafe(nil), data: T.unsafe(nil)); end + + # An optional array of additional text edits that are applied when + # selecting this completion. Edits must not overlap (including the same + # insert position) with the main edit nor with themselves. + # + # Additional text edits should be used to change text unrelated to the + # current cursor position (for example adding an import statement at the + # top of the file if the completion item will insert an unqualified type). + # + # @return [TextEdit[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#221 + def additional_text_edits; end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#255 + def attributes; end + + # An optional command that is executed *after* inserting this completion. + # *Note* that additional modifications to the current document should be + # described with the additionalTextEdits-property. + # + # @return [Command] + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#242 + def command; end + + # An optional set of characters that when pressed while this completion is + # active will accept it first and then type that character. *Note* that all + # commit characters should have `length=1` and that superfluous characters + # will be ignored. + # + # @return [string[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#232 + def commit_characters; end + + # A data entry field that is preserved on a completion item between + # a completion and a completion resolve request. + # + # @return [LSPAny] + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#251 + def data; end + + # Indicates if this item is deprecated. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#92 + def deprecated; end + + # A human-readable string with additional information + # about this item, like type or symbol information. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#76 + def detail; end + + # A human-readable string that represents a doc-comment. + # + # @return [string | MarkupContent] + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#84 + def documentation; end + + # A string that should be used when filtering a set of + # completion items. When `falsy` the label is used as the + # filter text for this item. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#124 + def filter_text; end + + # A string that should be inserted into a document when selecting + # this completion. When `falsy` the label is used as the insert text + # for this item. + # + # The `insertText` is subject to interpretation by the client side. + # Some tools might not take the string literally. For example + # VS Code when code complete is requested in this example + # `con` and a completion item with an `insertText` of + # `console` is provided it will only insert `sole`. Therefore it is + # recommended to use `textEdit` instead since it avoids additional client + # side interpretation. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#142 + def insert_text; end + + # The format of the insert text. The format applies to both the + # `insertText` property and the `newText` property of a provided + # `textEdit`. If omitted defaults to `InsertTextFormat.PlainText`. + # + # Please note that the insertTextFormat doesn't apply to + # `additionalTextEdits`. + # + # @return [InsertTextFormat] + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#155 + def insert_text_format; end + + # How whitespace and indentation is handled during completion + # item insertion. If not provided the client's default value depends on + # the `textDocument.completion.insertTextMode` client capability. + # + # @return [InsertTextMode] + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#165 + def insert_text_mode; end + + # The kind of this completion item. Based of the kind + # an icon is chosen by the editor. The standardized set + # of available values is defined in `CompletionItemKind`. + # + # @return [CompletionItemKind] + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#59 + def kind; end + + # The label of this completion item. + # + # The label property is also by default the text that + # is inserted when selecting this completion. + # + # If label details are provided the label itself should + # be an unqualified name of the completion item. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#41 + def label; end + + # Additional details for the label + # + # @return [CompletionItemLabelDetails] + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#49 + def label_details; end + + # Select this item when showing. + # + # *Note* that only one completion item can be selected and that the + # tool / client decides which item that is. The rule is that the *first* + # item of those that match best is selected. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#104 + def preselect; end + + # A string that should be used when comparing this item + # with other items. When `falsy` the label is used + # as the sort text for this item. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#114 + def sort_text; end + + # Tags for this completion item. + # + # @return [1[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#67 + def tags; end + + # An edit which is applied to a document when selecting this completion. + # When an edit is provided the value of `insertText` is ignored. + # + # *Note:* The range of the edit must be a single line range and it must + # contain the position at which completion has been requested. + # + # Most editors support two different operations when accepting a completion + # item. One is to insert a completion text and the other is to replace an + # existing text with a completion text. Since this can usually not be + # predetermined by a server it can report both ranges. Clients need to + # signal support for `InsertReplaceEdit`s via the + # `textDocument.completion.completionItem.insertReplaceSupport` client + # capability property. + # + # *Note 1:* The text edit's range as well as both ranges from an insert + # replace edit must be a [single line] and they must contain the position + # at which completion has been requested. + # *Note 2:* If an `InsertReplaceEdit` is returned the edit's insert range + # must be a prefix of the edit's replace range, that means it must be + # contained and starting at the same position. + # + # @return [TextEdit | InsertReplaceEdit] + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#192 + def text_edit; end + + # The edit text used if the completion item is part of a CompletionList and + # CompletionList defines an item default for the text edit range. + # + # Clients will only honor this property if they opt into completion list + # item defaults using the capability `completionList.itemDefaults`. + # + # If not provided and a list's default range is provided the label + # property is used as a text. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#207 + def text_edit_text; end + + # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#257 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#261 + def to_json(*args); end +end + +# Additional details for a completion item label. +# +# source://language_server-protocol//lib/language_server/protocol/interface/completion_item_label_details.rb#7 +class LanguageServer::Protocol::Interface::CompletionItemLabelDetails + # @return [CompletionItemLabelDetails] a new instance of CompletionItemLabelDetails + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_item_label_details.rb#8 + def initialize(detail: T.unsafe(nil), description: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_item_label_details.rb#37 + def attributes; end + + # An optional string which is rendered less prominently after + # {@link CompletionItemLabelDetails.detail}. Should be used for fully qualified + # names or file path. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_item_label_details.rb#33 + def description; end + + # An optional string which is rendered less prominently directly after + # {@link CompletionItem.label label}, without any spacing. Should be + # used for function signatures or type annotations. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_item_label_details.rb#23 + def detail; end + + # source://language_server-protocol//lib/language_server/protocol/interface/completion_item_label_details.rb#39 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/completion_item_label_details.rb#43 + def to_json(*args); end +end + +# Represents a collection of [completion items](#CompletionItem) to be +# presented in the editor. +# +# source://language_server-protocol//lib/language_server/protocol/interface/completion_list.rb#8 +class LanguageServer::Protocol::Interface::CompletionList + # @return [CompletionList] a new instance of CompletionList + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_list.rb#9 + def initialize(is_incomplete:, items:, item_defaults: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_list.rb#57 + def attributes; end + + # This list is not complete. Further typing should result in recomputing + # this list. + # + # Recomputed lists have all their items replaced (not appended) in the + # incomplete completion sessions. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_list.rb#27 + def is_incomplete; end + + # In many cases the items of an actual completion result share the same + # value for properties like `commitCharacters` or the range of a text + # edit. A completion list can therefore define item defaults which will + # be used if a completion item itself doesn't specify the value. + # + # If a completion list specifies a default value and a completion item + # also specifies a corresponding value the one from the item is used. + # + # Servers are only allowed to return default values if the client + # signals support for this via the `completionList.itemDefaults` + # capability. + # + # @return [{ commitCharacters?: string[]; editRange?: Range | { insert: Range; replace: Range; }; insertTextFormat?: InsertTextFormat; insertTextMode?: InsertTextMode; data?: LSPAny; }] + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_list.rb#45 + def item_defaults; end + + # The completion items. + # + # @return [CompletionItem[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_list.rb#53 + def items; end + + # source://language_server-protocol//lib/language_server/protocol/interface/completion_list.rb#59 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/completion_list.rb#63 + def to_json(*args); end +end + +# Completion options. +# +# source://language_server-protocol//lib/language_server/protocol/interface/completion_options.rb#7 +class LanguageServer::Protocol::Interface::CompletionOptions + # @return [CompletionOptions] a new instance of CompletionOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_options.rb#8 + def initialize(work_done_progress: T.unsafe(nil), trigger_characters: T.unsafe(nil), all_commit_characters: T.unsafe(nil), resolve_provider: T.unsafe(nil), completion_item: T.unsafe(nil)); end + + # The list of all possible characters that commit a completion. This field + # can be used if clients don't support individual commit characters per + # completion item. See client capability + # `completion.completionItem.commitCharactersSupport`. + # + # If a server provides both `allCommitCharacters` and commit characters on + # an individual completion item the ones on the completion item win. + # + # @return [string[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_options.rb#53 + def all_commit_characters; end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_options.rb#75 + def attributes; end + + # The server supports the following `CompletionItem` specific + # capabilities. + # + # @return [{ labelDetailsSupport?: boolean; }] + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_options.rb#71 + def completion_item; end + + # The server provides support to resolve additional + # information for a completion item. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_options.rb#62 + def resolve_provider; end + + # source://language_server-protocol//lib/language_server/protocol/interface/completion_options.rb#77 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/completion_options.rb#81 + def to_json(*args); end + + # The additional characters, beyond the defaults provided by the client (typically + # [a-zA-Z]), that should automatically trigger a completion request. For example + # `.` in JavaScript represents the beginning of an object property or method and is + # thus a good candidate for triggering a completion request. + # + # Most tools trigger a completion request automatically without explicitly + # requesting it using a keyboard shortcut (e.g. Ctrl+Space). Typically they + # do so when the user starts to type an identifier. For example if the user + # types `c` in a JavaScript file code complete will automatically pop up + # present `console` besides others as a completion item. Characters that + # make up identifiers don't need to be listed here. + # + # @return [string[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_options.rb#39 + def trigger_characters; end + + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_options.rb#21 + def work_done_progress; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/completion_params.rb#4 +class LanguageServer::Protocol::Interface::CompletionParams + # @return [CompletionParams] a new instance of CompletionParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_params.rb#5 + def initialize(text_document:, position:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil), context: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_params.rb#60 + def attributes; end + + # The completion context. This is only available if the client specifies + # to send this using the client capability + # `completion.contextSupport === true` + # + # @return [CompletionContext] + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_params.rb#56 + def context; end + + # An optional token that a server can use to report partial results (e.g. + # streaming) to the client. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_params.rb#46 + def partial_result_token; end + + # The position inside the text document. + # + # @return [Position] + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_params.rb#29 + def position; end + + # The text document. + # + # @return [TextDocumentIdentifier] + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_params.rb#21 + def text_document; end + + # source://language_server-protocol//lib/language_server/protocol/interface/completion_params.rb#62 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/completion_params.rb#66 + def to_json(*args); end + + # An optional token that a server can use to report work done progress. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_params.rb#37 + def work_done_token; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/completion_registration_options.rb#4 +class LanguageServer::Protocol::Interface::CompletionRegistrationOptions + # @return [CompletionRegistrationOptions] a new instance of CompletionRegistrationOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_registration_options.rb#5 + def initialize(document_selector:, work_done_progress: T.unsafe(nil), trigger_characters: T.unsafe(nil), all_commit_characters: T.unsafe(nil), resolve_provider: T.unsafe(nil), completion_item: T.unsafe(nil)); end + + # The list of all possible characters that commit a completion. This field + # can be used if clients don't support individual commit characters per + # completion item. See client capability + # `completion.completionItem.commitCharactersSupport`. + # + # If a server provides both `allCommitCharacters` and commit characters on + # an individual completion item the ones on the completion item win. + # + # @return [string[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_registration_options.rb#60 + def all_commit_characters; end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_registration_options.rb#82 + def attributes; end + + # The server supports the following `CompletionItem` specific + # capabilities. + # + # @return [{ labelDetailsSupport?: boolean; }] + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_registration_options.rb#78 + def completion_item; end + + # A document selector to identify the scope of the registration. If set to + # null the document selector provided on the client side will be used. + # + # @return [DocumentSelector] + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_registration_options.rb#23 + def document_selector; end + + # The server provides support to resolve additional + # information for a completion item. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_registration_options.rb#69 + def resolve_provider; end + + # source://language_server-protocol//lib/language_server/protocol/interface/completion_registration_options.rb#84 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/completion_registration_options.rb#88 + def to_json(*args); end + + # The additional characters, beyond the defaults provided by the client (typically + # [a-zA-Z]), that should automatically trigger a completion request. For example + # `.` in JavaScript represents the beginning of an object property or method and is + # thus a good candidate for triggering a completion request. + # + # Most tools trigger a completion request automatically without explicitly + # requesting it using a keyboard shortcut (e.g. Ctrl+Space). Typically they + # do so when the user starts to type an identifier. For example if the user + # types `c` in a JavaScript file code complete will automatically pop up + # present `console` besides others as a completion item. Characters that + # make up identifiers don't need to be listed here. + # + # @return [string[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_registration_options.rb#46 + def trigger_characters; end + + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/completion_registration_options.rb#28 + def work_done_progress; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/configuration_item.rb#4 +class LanguageServer::Protocol::Interface::ConfigurationItem + # @return [ConfigurationItem] a new instance of ConfigurationItem + # + # source://language_server-protocol//lib/language_server/protocol/interface/configuration_item.rb#5 + def initialize(scope_uri: T.unsafe(nil), section: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/configuration_item.rb#30 + def attributes; end + + # The scope to get the configuration section for. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/configuration_item.rb#18 + def scope_uri; end + + # The configuration section asked for. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/configuration_item.rb#26 + def section; end + + # source://language_server-protocol//lib/language_server/protocol/interface/configuration_item.rb#32 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/configuration_item.rb#36 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/configuration_params.rb#4 +class LanguageServer::Protocol::Interface::ConfigurationParams + # @return [ConfigurationParams] a new instance of ConfigurationParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/configuration_params.rb#5 + def initialize(items:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/configuration_params.rb#18 + def attributes; end + + # @return [ConfigurationItem[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/configuration_params.rb#14 + def items; end + + # source://language_server-protocol//lib/language_server/protocol/interface/configuration_params.rb#20 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/configuration_params.rb#24 + def to_json(*args); end +end + +# Create file operation +# +# source://language_server-protocol//lib/language_server/protocol/interface/create_file.rb#7 +class LanguageServer::Protocol::Interface::CreateFile + # @return [CreateFile] a new instance of CreateFile + # + # source://language_server-protocol//lib/language_server/protocol/interface/create_file.rb#8 + def initialize(kind:, uri:, options: T.unsafe(nil), annotation_id: T.unsafe(nil)); end + + # An optional annotation identifier describing the operation. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/create_file.rb#47 + def annotation_id; end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/create_file.rb#51 + def attributes; end + + # A create + # + # @return ["create"] + # + # source://language_server-protocol//lib/language_server/protocol/interface/create_file.rb#23 + def kind; end + + # Additional options + # + # @return [CreateFileOptions] + # + # source://language_server-protocol//lib/language_server/protocol/interface/create_file.rb#39 + def options; end + + # source://language_server-protocol//lib/language_server/protocol/interface/create_file.rb#53 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/create_file.rb#57 + def to_json(*args); end + + # The resource to create. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/create_file.rb#31 + def uri; end +end + +# Options to create a file. +# +# source://language_server-protocol//lib/language_server/protocol/interface/create_file_options.rb#7 +class LanguageServer::Protocol::Interface::CreateFileOptions + # @return [CreateFileOptions] a new instance of CreateFileOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/create_file_options.rb#8 + def initialize(overwrite: T.unsafe(nil), ignore_if_exists: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/create_file_options.rb#33 + def attributes; end + + # Ignore if exists. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/create_file_options.rb#29 + def ignore_if_exists; end + + # Overwrite existing file. Overwrite wins over `ignoreIfExists` + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/create_file_options.rb#21 + def overwrite; end + + # source://language_server-protocol//lib/language_server/protocol/interface/create_file_options.rb#35 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/create_file_options.rb#39 + def to_json(*args); end +end + +# The parameters sent in notifications/requests for user-initiated creation +# of files. +# +# source://language_server-protocol//lib/language_server/protocol/interface/create_files_params.rb#8 +class LanguageServer::Protocol::Interface::CreateFilesParams + # @return [CreateFilesParams] a new instance of CreateFilesParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/create_files_params.rb#9 + def initialize(files:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/create_files_params.rb#25 + def attributes; end + + # An array of all files/folders created in this operation. + # + # @return [FileCreate[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/create_files_params.rb#21 + def files; end + + # source://language_server-protocol//lib/language_server/protocol/interface/create_files_params.rb#27 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/create_files_params.rb#31 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/declaration_client_capabilities.rb#4 +class LanguageServer::Protocol::Interface::DeclarationClientCapabilities + # @return [DeclarationClientCapabilities] a new instance of DeclarationClientCapabilities + # + # source://language_server-protocol//lib/language_server/protocol/interface/declaration_client_capabilities.rb#5 + def initialize(dynamic_registration: T.unsafe(nil), link_support: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/declaration_client_capabilities.rb#32 + def attributes; end + + # Whether declaration supports dynamic registration. If this is set to + # `true` the client supports the new `DeclarationRegistrationOptions` + # return value for the corresponding server capability as well. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/declaration_client_capabilities.rb#20 + def dynamic_registration; end + + # The client supports additional metadata in the form of declaration links. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/declaration_client_capabilities.rb#28 + def link_support; end + + # source://language_server-protocol//lib/language_server/protocol/interface/declaration_client_capabilities.rb#34 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/declaration_client_capabilities.rb#38 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/declaration_options.rb#4 +class LanguageServer::Protocol::Interface::DeclarationOptions + # @return [DeclarationOptions] a new instance of DeclarationOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/declaration_options.rb#5 + def initialize(work_done_progress: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/declaration_options.rb#18 + def attributes; end + + # source://language_server-protocol//lib/language_server/protocol/interface/declaration_options.rb#20 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/declaration_options.rb#24 + def to_json(*args); end + + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/declaration_options.rb#14 + def work_done_progress; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/declaration_params.rb#4 +class LanguageServer::Protocol::Interface::DeclarationParams + # @return [DeclarationParams] a new instance of DeclarationParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/declaration_params.rb#5 + def initialize(text_document:, position:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/declaration_params.rb#49 + def attributes; end + + # An optional token that a server can use to report partial results (e.g. + # streaming) to the client. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/declaration_params.rb#45 + def partial_result_token; end + + # The position inside the text document. + # + # @return [Position] + # + # source://language_server-protocol//lib/language_server/protocol/interface/declaration_params.rb#28 + def position; end + + # The text document. + # + # @return [TextDocumentIdentifier] + # + # source://language_server-protocol//lib/language_server/protocol/interface/declaration_params.rb#20 + def text_document; end + + # source://language_server-protocol//lib/language_server/protocol/interface/declaration_params.rb#51 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/declaration_params.rb#55 + def to_json(*args); end + + # An optional token that a server can use to report work done progress. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/declaration_params.rb#36 + def work_done_token; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/declaration_registration_options.rb#4 +class LanguageServer::Protocol::Interface::DeclarationRegistrationOptions + # @return [DeclarationRegistrationOptions] a new instance of DeclarationRegistrationOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/declaration_registration_options.rb#5 + def initialize(document_selector:, work_done_progress: T.unsafe(nil), id: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/declaration_registration_options.rb#38 + def attributes; end + + # A document selector to identify the scope of the registration. If set to + # null the document selector provided on the client side will be used. + # + # @return [DocumentSelector] + # + # source://language_server-protocol//lib/language_server/protocol/interface/declaration_registration_options.rb#25 + def document_selector; end + + # The id used to register the request. The id can be used to deregister + # the request again. See also Registration#id. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/declaration_registration_options.rb#34 + def id; end + + # source://language_server-protocol//lib/language_server/protocol/interface/declaration_registration_options.rb#40 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/declaration_registration_options.rb#44 + def to_json(*args); end + + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/declaration_registration_options.rb#16 + def work_done_progress; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/definition_client_capabilities.rb#4 +class LanguageServer::Protocol::Interface::DefinitionClientCapabilities + # @return [DefinitionClientCapabilities] a new instance of DefinitionClientCapabilities + # + # source://language_server-protocol//lib/language_server/protocol/interface/definition_client_capabilities.rb#5 + def initialize(dynamic_registration: T.unsafe(nil), link_support: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/definition_client_capabilities.rb#30 + def attributes; end + + # Whether definition supports dynamic registration. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/definition_client_capabilities.rb#18 + def dynamic_registration; end + + # The client supports additional metadata in the form of definition links. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/definition_client_capabilities.rb#26 + def link_support; end + + # source://language_server-protocol//lib/language_server/protocol/interface/definition_client_capabilities.rb#32 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/definition_client_capabilities.rb#36 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/definition_options.rb#4 +class LanguageServer::Protocol::Interface::DefinitionOptions + # @return [DefinitionOptions] a new instance of DefinitionOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/definition_options.rb#5 + def initialize(work_done_progress: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/definition_options.rb#18 + def attributes; end + + # source://language_server-protocol//lib/language_server/protocol/interface/definition_options.rb#20 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/definition_options.rb#24 + def to_json(*args); end + + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/definition_options.rb#14 + def work_done_progress; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/definition_params.rb#4 +class LanguageServer::Protocol::Interface::DefinitionParams + # @return [DefinitionParams] a new instance of DefinitionParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/definition_params.rb#5 + def initialize(text_document:, position:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/definition_params.rb#49 + def attributes; end + + # An optional token that a server can use to report partial results (e.g. + # streaming) to the client. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/definition_params.rb#45 + def partial_result_token; end + + # The position inside the text document. + # + # @return [Position] + # + # source://language_server-protocol//lib/language_server/protocol/interface/definition_params.rb#28 + def position; end + + # The text document. + # + # @return [TextDocumentIdentifier] + # + # source://language_server-protocol//lib/language_server/protocol/interface/definition_params.rb#20 + def text_document; end + + # source://language_server-protocol//lib/language_server/protocol/interface/definition_params.rb#51 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/definition_params.rb#55 + def to_json(*args); end + + # An optional token that a server can use to report work done progress. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/definition_params.rb#36 + def work_done_token; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/definition_registration_options.rb#4 +class LanguageServer::Protocol::Interface::DefinitionRegistrationOptions + # @return [DefinitionRegistrationOptions] a new instance of DefinitionRegistrationOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/definition_registration_options.rb#5 + def initialize(document_selector:, work_done_progress: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/definition_registration_options.rb#28 + def attributes; end + + # A document selector to identify the scope of the registration. If set to + # null the document selector provided on the client side will be used. + # + # @return [DocumentSelector] + # + # source://language_server-protocol//lib/language_server/protocol/interface/definition_registration_options.rb#19 + def document_selector; end + + # source://language_server-protocol//lib/language_server/protocol/interface/definition_registration_options.rb#30 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/definition_registration_options.rb#34 + def to_json(*args); end + + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/definition_registration_options.rb#24 + def work_done_progress; end +end + +# Delete file operation +# +# source://language_server-protocol//lib/language_server/protocol/interface/delete_file.rb#7 +class LanguageServer::Protocol::Interface::DeleteFile + # @return [DeleteFile] a new instance of DeleteFile + # + # source://language_server-protocol//lib/language_server/protocol/interface/delete_file.rb#8 + def initialize(kind:, uri:, options: T.unsafe(nil), annotation_id: T.unsafe(nil)); end + + # An optional annotation identifier describing the operation. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/delete_file.rb#47 + def annotation_id; end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/delete_file.rb#51 + def attributes; end + + # A delete + # + # @return ["delete"] + # + # source://language_server-protocol//lib/language_server/protocol/interface/delete_file.rb#23 + def kind; end + + # Delete options. + # + # @return [DeleteFileOptions] + # + # source://language_server-protocol//lib/language_server/protocol/interface/delete_file.rb#39 + def options; end + + # source://language_server-protocol//lib/language_server/protocol/interface/delete_file.rb#53 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/delete_file.rb#57 + def to_json(*args); end + + # The file to delete. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/delete_file.rb#31 + def uri; end +end + +# Delete file options +# +# source://language_server-protocol//lib/language_server/protocol/interface/delete_file_options.rb#7 +class LanguageServer::Protocol::Interface::DeleteFileOptions + # @return [DeleteFileOptions] a new instance of DeleteFileOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/delete_file_options.rb#8 + def initialize(recursive: T.unsafe(nil), ignore_if_not_exists: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/delete_file_options.rb#33 + def attributes; end + + # Ignore the operation if the file doesn't exist. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/delete_file_options.rb#29 + def ignore_if_not_exists; end + + # Delete the content recursively if a folder is denoted. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/delete_file_options.rb#21 + def recursive; end + + # source://language_server-protocol//lib/language_server/protocol/interface/delete_file_options.rb#35 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/delete_file_options.rb#39 + def to_json(*args); end +end + +# The parameters sent in notifications/requests for user-initiated deletes +# of files. +# +# source://language_server-protocol//lib/language_server/protocol/interface/delete_files_params.rb#8 +class LanguageServer::Protocol::Interface::DeleteFilesParams + # @return [DeleteFilesParams] a new instance of DeleteFilesParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/delete_files_params.rb#9 + def initialize(files:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/delete_files_params.rb#25 + def attributes; end + + # An array of all files/folders deleted in this operation. + # + # @return [FileDelete[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/delete_files_params.rb#21 + def files; end + + # source://language_server-protocol//lib/language_server/protocol/interface/delete_files_params.rb#27 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/delete_files_params.rb#31 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/diagnostic.rb#4 +class LanguageServer::Protocol::Interface::Diagnostic + # @return [Diagnostic] a new instance of Diagnostic + # + # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic.rb#5 + def initialize(range:, message:, severity: T.unsafe(nil), code: T.unsafe(nil), code_description: T.unsafe(nil), source: T.unsafe(nil), tags: T.unsafe(nil), related_information: T.unsafe(nil), data: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic.rb#98 + def attributes; end + + # The diagnostic's code, which might appear in the user interface. + # + # @return [string | number] + # + # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic.rb#42 + def code; end + + # An optional property to describe the error code. + # + # @return [CodeDescription] + # + # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic.rb#50 + def code_description; end + + # A data entry field that is preserved between a + # `textDocument/publishDiagnostics` notification and + # `textDocument/codeAction` request. + # + # @return [unknown] + # + # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic.rb#94 + def data; end + + # The diagnostic's message. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic.rb#67 + def message; end + + # The range at which the message applies. + # + # @return [Range] + # + # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic.rb#25 + def range; end + + # An array of related diagnostic information, e.g. when symbol-names within + # a scope collide all definitions can be marked via this property. + # + # @return [DiagnosticRelatedInformation[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic.rb#84 + def related_information; end + + # The diagnostic's severity. Can be omitted. If omitted it is up to the + # client to interpret diagnostics as error, warning, info or hint. + # + # @return [DiagnosticSeverity] + # + # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic.rb#34 + def severity; end + + # A human-readable string describing the source of this + # diagnostic, e.g. 'typescript' or 'super lint'. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic.rb#59 + def source; end + + # Additional metadata about the diagnostic. + # + # @return [DiagnosticTag[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic.rb#75 + def tags; end + + # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic.rb#100 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic.rb#104 + def to_json(*args); end +end + +# Client capabilities specific to diagnostic pull requests. +# +# source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_client_capabilities.rb#7 +class LanguageServer::Protocol::Interface::DiagnosticClientCapabilities + # @return [DiagnosticClientCapabilities] a new instance of DiagnosticClientCapabilities + # + # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_client_capabilities.rb#8 + def initialize(dynamic_registration: T.unsafe(nil), related_document_support: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_client_capabilities.rb#37 + def attributes; end + + # Whether implementation supports dynamic registration. If this is set to + # `true` the client supports the new + # `(TextDocumentRegistrationOptions & StaticRegistrationOptions)` + # return value for the corresponding server capability as well. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_client_capabilities.rb#24 + def dynamic_registration; end + + # Whether the clients supports related documents for document diagnostic + # pulls. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_client_capabilities.rb#33 + def related_document_support; end + + # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_client_capabilities.rb#39 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_client_capabilities.rb#43 + def to_json(*args); end +end + +# Diagnostic options. +# +# source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_options.rb#7 +class LanguageServer::Protocol::Interface::DiagnosticOptions + # @return [DiagnosticOptions] a new instance of DiagnosticOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_options.rb#8 + def initialize(inter_file_dependencies:, workspace_diagnostics:, work_done_progress: T.unsafe(nil), identifier: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_options.rb#52 + def attributes; end + + # An optional identifier under which the diagnostics are + # managed by the client. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_options.rb#29 + def identifier; end + + # Whether the language has inter file dependencies meaning that + # editing code in one file can result in a different diagnostic + # set in another file. Inter file dependencies are common for + # most programming languages and typically uncommon for linters. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_options.rb#40 + def inter_file_dependencies; end + + # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_options.rb#54 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_options.rb#58 + def to_json(*args); end + + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_options.rb#20 + def work_done_progress; end + + # The server provides support for workspace diagnostics as well. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_options.rb#48 + def workspace_diagnostics; end +end + +# Diagnostic registration options. +# +# source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_registration_options.rb#7 +class LanguageServer::Protocol::Interface::DiagnosticRegistrationOptions + # @return [DiagnosticRegistrationOptions] a new instance of DiagnosticRegistrationOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_registration_options.rb#8 + def initialize(document_selector:, inter_file_dependencies:, workspace_diagnostics:, work_done_progress: T.unsafe(nil), identifier: T.unsafe(nil), id: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_registration_options.rb#72 + def attributes; end + + # A document selector to identify the scope of the registration. If set to + # null the document selector provided on the client side will be used. + # + # @return [DocumentSelector] + # + # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_registration_options.rb#26 + def document_selector; end + + # The id used to register the request. The id can be used to deregister + # the request again. See also Registration#id. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_registration_options.rb#68 + def id; end + + # An optional identifier under which the diagnostics are + # managed by the client. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_registration_options.rb#40 + def identifier; end + + # Whether the language has inter file dependencies meaning that + # editing code in one file can result in a different diagnostic + # set in another file. Inter file dependencies are common for + # most programming languages and typically uncommon for linters. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_registration_options.rb#51 + def inter_file_dependencies; end + + # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_registration_options.rb#74 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_registration_options.rb#78 + def to_json(*args); end + + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_registration_options.rb#31 + def work_done_progress; end + + # The server provides support for workspace diagnostics as well. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_registration_options.rb#59 + def workspace_diagnostics; end +end + +# Represents a related message and source code location for a diagnostic. +# This should be used to point to code locations that cause or are related to +# a diagnostics, e.g when duplicating a symbol in a scope. +# +# source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_related_information.rb#9 +class LanguageServer::Protocol::Interface::DiagnosticRelatedInformation + # @return [DiagnosticRelatedInformation] a new instance of DiagnosticRelatedInformation + # + # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_related_information.rb#10 + def initialize(location:, message:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_related_information.rb#35 + def attributes; end + + # The location of this related diagnostic information. + # + # @return [Location] + # + # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_related_information.rb#23 + def location; end + + # The message of this related diagnostic information. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_related_information.rb#31 + def message; end + + # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_related_information.rb#37 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_related_information.rb#41 + def to_json(*args); end +end + +# Cancellation data returned from a diagnostic request. +# +# source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_server_cancellation_data.rb#7 +class LanguageServer::Protocol::Interface::DiagnosticServerCancellationData + # @return [DiagnosticServerCancellationData] a new instance of DiagnosticServerCancellationData + # + # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_server_cancellation_data.rb#8 + def initialize(retrigger_request:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_server_cancellation_data.rb#21 + def attributes; end + + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_server_cancellation_data.rb#17 + def retrigger_request; end + + # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_server_cancellation_data.rb#23 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_server_cancellation_data.rb#27 + def to_json(*args); end +end + +# Workspace client capabilities specific to diagnostic pull requests. +# +# source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_workspace_client_capabilities.rb#7 +class LanguageServer::Protocol::Interface::DiagnosticWorkspaceClientCapabilities + # @return [DiagnosticWorkspaceClientCapabilities] a new instance of DiagnosticWorkspaceClientCapabilities + # + # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_workspace_client_capabilities.rb#8 + def initialize(refresh_support: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_workspace_client_capabilities.rb#30 + def attributes; end + + # Whether the client implementation supports a refresh request sent from + # the server to the client. + # + # Note that this event is global and will force the client to refresh all + # pulled diagnostics currently shown. It should be used with absolute care + # and is useful for situation where a server for example detects a project + # wide change that requires such a calculation. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_workspace_client_capabilities.rb#26 + def refresh_support; end + + # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_workspace_client_capabilities.rb#32 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_workspace_client_capabilities.rb#36 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/did_change_configuration_client_capabilities.rb#4 +class LanguageServer::Protocol::Interface::DidChangeConfigurationClientCapabilities + # @return [DidChangeConfigurationClientCapabilities] a new instance of DidChangeConfigurationClientCapabilities + # + # source://language_server-protocol//lib/language_server/protocol/interface/did_change_configuration_client_capabilities.rb#5 + def initialize(dynamic_registration: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/did_change_configuration_client_capabilities.rb#21 + def attributes; end + + # Did change configuration notification supports dynamic registration. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/did_change_configuration_client_capabilities.rb#17 + def dynamic_registration; end + + # source://language_server-protocol//lib/language_server/protocol/interface/did_change_configuration_client_capabilities.rb#23 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/did_change_configuration_client_capabilities.rb#27 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/did_change_configuration_params.rb#4 +class LanguageServer::Protocol::Interface::DidChangeConfigurationParams + # @return [DidChangeConfigurationParams] a new instance of DidChangeConfigurationParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/did_change_configuration_params.rb#5 + def initialize(settings:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/did_change_configuration_params.rb#21 + def attributes; end + + # The actual changed settings + # + # @return [LSPAny] + # + # source://language_server-protocol//lib/language_server/protocol/interface/did_change_configuration_params.rb#17 + def settings; end + + # source://language_server-protocol//lib/language_server/protocol/interface/did_change_configuration_params.rb#23 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/did_change_configuration_params.rb#27 + def to_json(*args); end +end + +# The params sent in a change notebook document notification. +# +# source://language_server-protocol//lib/language_server/protocol/interface/did_change_notebook_document_params.rb#7 +class LanguageServer::Protocol::Interface::DidChangeNotebookDocumentParams + # @return [DidChangeNotebookDocumentParams] a new instance of DidChangeNotebookDocumentParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/did_change_notebook_document_params.rb#8 + def initialize(notebook_document:, change:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/did_change_notebook_document_params.rb#44 + def attributes; end + + # The actual changes to the notebook document. + # + # The change describes single state change to the notebook document. + # So it moves a notebook document, its cells and its cell text document + # contents from state S to S'. + # + # To mirror the content of a notebook using change events use the + # following approach: + # - start with the same initial content + # - apply the 'notebookDocument/didChange' notifications in the order + # you receive them. + # + # @return [NotebookDocumentChangeEvent] + # + # source://language_server-protocol//lib/language_server/protocol/interface/did_change_notebook_document_params.rb#40 + def change; end + + # The notebook document that did change. The version number points + # to the version after all provided changes have been applied. + # + # @return [VersionedNotebookDocumentIdentifier] + # + # source://language_server-protocol//lib/language_server/protocol/interface/did_change_notebook_document_params.rb#22 + def notebook_document; end + + # source://language_server-protocol//lib/language_server/protocol/interface/did_change_notebook_document_params.rb#46 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/did_change_notebook_document_params.rb#50 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/did_change_text_document_params.rb#4 +class LanguageServer::Protocol::Interface::DidChangeTextDocumentParams + # @return [DidChangeTextDocumentParams] a new instance of DidChangeTextDocumentParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/did_change_text_document_params.rb#5 + def initialize(text_document:, content_changes:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/did_change_text_document_params.rb#44 + def attributes; end + + # The actual content changes. The content changes describe single state + # changes to the document. So if there are two content changes c1 (at + # array index 0) and c2 (at array index 1) for a document in state S then + # c1 moves the document from S to S' and c2 from S' to S''. So c1 is + # computed on the state S and c2 is computed on the state S'. + # + # To mirror the content of a document using change events use the following + # approach: + # - start with the same initial content + # - apply the 'textDocument/didChange' notifications in the order you + # receive them. + # - apply the `TextDocumentContentChangeEvent`s in a single notification + # in the order you receive them. + # + # @return [TextDocumentContentChangeEvent[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/did_change_text_document_params.rb#40 + def content_changes; end + + # The document that did change. The version number points + # to the version after all provided content changes have + # been applied. + # + # @return [VersionedTextDocumentIdentifier] + # + # source://language_server-protocol//lib/language_server/protocol/interface/did_change_text_document_params.rb#20 + def text_document; end + + # source://language_server-protocol//lib/language_server/protocol/interface/did_change_text_document_params.rb#46 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/did_change_text_document_params.rb#50 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/did_change_watched_files_client_capabilities.rb#4 +class LanguageServer::Protocol::Interface::DidChangeWatchedFilesClientCapabilities + # @return [DidChangeWatchedFilesClientCapabilities] a new instance of DidChangeWatchedFilesClientCapabilities + # + # source://language_server-protocol//lib/language_server/protocol/interface/did_change_watched_files_client_capabilities.rb#5 + def initialize(dynamic_registration: T.unsafe(nil), relative_pattern_support: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/did_change_watched_files_client_capabilities.rb#33 + def attributes; end + + # Did change watched files notification supports dynamic registration. + # Please note that the current protocol doesn't support static + # configuration for file changes from the server side. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/did_change_watched_files_client_capabilities.rb#20 + def dynamic_registration; end + + # Whether the client has support for relative patterns + # or not. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/did_change_watched_files_client_capabilities.rb#29 + def relative_pattern_support; end + + # source://language_server-protocol//lib/language_server/protocol/interface/did_change_watched_files_client_capabilities.rb#35 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/did_change_watched_files_client_capabilities.rb#39 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/did_change_watched_files_params.rb#4 +class LanguageServer::Protocol::Interface::DidChangeWatchedFilesParams + # @return [DidChangeWatchedFilesParams] a new instance of DidChangeWatchedFilesParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/did_change_watched_files_params.rb#5 + def initialize(changes:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/did_change_watched_files_params.rb#21 + def attributes; end + + # The actual file events. + # + # @return [FileEvent[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/did_change_watched_files_params.rb#17 + def changes; end + + # source://language_server-protocol//lib/language_server/protocol/interface/did_change_watched_files_params.rb#23 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/did_change_watched_files_params.rb#27 + def to_json(*args); end +end + +# Describe options to be used when registering for file system change events. +# +# source://language_server-protocol//lib/language_server/protocol/interface/did_change_watched_files_registration_options.rb#7 +class LanguageServer::Protocol::Interface::DidChangeWatchedFilesRegistrationOptions + # @return [DidChangeWatchedFilesRegistrationOptions] a new instance of DidChangeWatchedFilesRegistrationOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/did_change_watched_files_registration_options.rb#8 + def initialize(watchers:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/did_change_watched_files_registration_options.rb#24 + def attributes; end + + # source://language_server-protocol//lib/language_server/protocol/interface/did_change_watched_files_registration_options.rb#26 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/did_change_watched_files_registration_options.rb#30 + def to_json(*args); end + + # The watchers to register. + # + # @return [FileSystemWatcher[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/did_change_watched_files_registration_options.rb#20 + def watchers; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/did_change_workspace_folders_params.rb#4 +class LanguageServer::Protocol::Interface::DidChangeWorkspaceFoldersParams + # @return [DidChangeWorkspaceFoldersParams] a new instance of DidChangeWorkspaceFoldersParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/did_change_workspace_folders_params.rb#5 + def initialize(event:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/did_change_workspace_folders_params.rb#21 + def attributes; end + + # The actual workspace folder change event. + # + # @return [WorkspaceFoldersChangeEvent] + # + # source://language_server-protocol//lib/language_server/protocol/interface/did_change_workspace_folders_params.rb#17 + def event; end + + # source://language_server-protocol//lib/language_server/protocol/interface/did_change_workspace_folders_params.rb#23 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/did_change_workspace_folders_params.rb#27 + def to_json(*args); end +end + +# The params sent in a close notebook document notification. +# +# source://language_server-protocol//lib/language_server/protocol/interface/did_close_notebook_document_params.rb#7 +class LanguageServer::Protocol::Interface::DidCloseNotebookDocumentParams + # @return [DidCloseNotebookDocumentParams] a new instance of DidCloseNotebookDocumentParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/did_close_notebook_document_params.rb#8 + def initialize(notebook_document:, cell_text_documents:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/did_close_notebook_document_params.rb#34 + def attributes; end + + # The text documents that represent the content + # of a notebook cell that got closed. + # + # @return [TextDocumentIdentifier[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/did_close_notebook_document_params.rb#30 + def cell_text_documents; end + + # The notebook document that got closed. + # + # @return [NotebookDocumentIdentifier] + # + # source://language_server-protocol//lib/language_server/protocol/interface/did_close_notebook_document_params.rb#21 + def notebook_document; end + + # source://language_server-protocol//lib/language_server/protocol/interface/did_close_notebook_document_params.rb#36 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/did_close_notebook_document_params.rb#40 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/did_close_text_document_params.rb#4 +class LanguageServer::Protocol::Interface::DidCloseTextDocumentParams + # @return [DidCloseTextDocumentParams] a new instance of DidCloseTextDocumentParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/did_close_text_document_params.rb#5 + def initialize(text_document:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/did_close_text_document_params.rb#21 + def attributes; end + + # The document that was closed. + # + # @return [TextDocumentIdentifier] + # + # source://language_server-protocol//lib/language_server/protocol/interface/did_close_text_document_params.rb#17 + def text_document; end + + # source://language_server-protocol//lib/language_server/protocol/interface/did_close_text_document_params.rb#23 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/did_close_text_document_params.rb#27 + def to_json(*args); end +end + +# The params sent in an open notebook document notification. +# +# source://language_server-protocol//lib/language_server/protocol/interface/did_open_notebook_document_params.rb#7 +class LanguageServer::Protocol::Interface::DidOpenNotebookDocumentParams + # @return [DidOpenNotebookDocumentParams] a new instance of DidOpenNotebookDocumentParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/did_open_notebook_document_params.rb#8 + def initialize(notebook_document:, cell_text_documents:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/did_open_notebook_document_params.rb#34 + def attributes; end + + # The text documents that represent the content + # of a notebook cell. + # + # @return [TextDocumentItem[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/did_open_notebook_document_params.rb#30 + def cell_text_documents; end + + # The notebook document that got opened. + # + # @return [NotebookDocument] + # + # source://language_server-protocol//lib/language_server/protocol/interface/did_open_notebook_document_params.rb#21 + def notebook_document; end + + # source://language_server-protocol//lib/language_server/protocol/interface/did_open_notebook_document_params.rb#36 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/did_open_notebook_document_params.rb#40 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/did_open_text_document_params.rb#4 +class LanguageServer::Protocol::Interface::DidOpenTextDocumentParams + # @return [DidOpenTextDocumentParams] a new instance of DidOpenTextDocumentParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/did_open_text_document_params.rb#5 + def initialize(text_document:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/did_open_text_document_params.rb#21 + def attributes; end + + # The document that was opened. + # + # @return [TextDocumentItem] + # + # source://language_server-protocol//lib/language_server/protocol/interface/did_open_text_document_params.rb#17 + def text_document; end + + # source://language_server-protocol//lib/language_server/protocol/interface/did_open_text_document_params.rb#23 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/did_open_text_document_params.rb#27 + def to_json(*args); end +end + +# The params sent in a save notebook document notification. +# +# source://language_server-protocol//lib/language_server/protocol/interface/did_save_notebook_document_params.rb#7 +class LanguageServer::Protocol::Interface::DidSaveNotebookDocumentParams + # @return [DidSaveNotebookDocumentParams] a new instance of DidSaveNotebookDocumentParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/did_save_notebook_document_params.rb#8 + def initialize(notebook_document:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/did_save_notebook_document_params.rb#24 + def attributes; end + + # The notebook document that got saved. + # + # @return [NotebookDocumentIdentifier] + # + # source://language_server-protocol//lib/language_server/protocol/interface/did_save_notebook_document_params.rb#20 + def notebook_document; end + + # source://language_server-protocol//lib/language_server/protocol/interface/did_save_notebook_document_params.rb#26 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/did_save_notebook_document_params.rb#30 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/did_save_text_document_params.rb#4 +class LanguageServer::Protocol::Interface::DidSaveTextDocumentParams + # @return [DidSaveTextDocumentParams] a new instance of DidSaveTextDocumentParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/did_save_text_document_params.rb#5 + def initialize(text_document:, text: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/did_save_text_document_params.rb#31 + def attributes; end + + # Optional the content when saved. Depends on the includeText value + # when the save notification was requested. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/did_save_text_document_params.rb#27 + def text; end + + # The document that was saved. + # + # @return [TextDocumentIdentifier] + # + # source://language_server-protocol//lib/language_server/protocol/interface/did_save_text_document_params.rb#18 + def text_document; end + + # source://language_server-protocol//lib/language_server/protocol/interface/did_save_text_document_params.rb#33 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/did_save_text_document_params.rb#37 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/document_color_client_capabilities.rb#4 +class LanguageServer::Protocol::Interface::DocumentColorClientCapabilities + # @return [DocumentColorClientCapabilities] a new instance of DocumentColorClientCapabilities + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_color_client_capabilities.rb#5 + def initialize(dynamic_registration: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_color_client_capabilities.rb#21 + def attributes; end + + # Whether document color supports dynamic registration. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_color_client_capabilities.rb#17 + def dynamic_registration; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_color_client_capabilities.rb#23 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_color_client_capabilities.rb#27 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/document_color_options.rb#4 +class LanguageServer::Protocol::Interface::DocumentColorOptions + # @return [DocumentColorOptions] a new instance of DocumentColorOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_color_options.rb#5 + def initialize(work_done_progress: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_color_options.rb#18 + def attributes; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_color_options.rb#20 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_color_options.rb#24 + def to_json(*args); end + + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_color_options.rb#14 + def work_done_progress; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/document_color_params.rb#4 +class LanguageServer::Protocol::Interface::DocumentColorParams + # @return [DocumentColorParams] a new instance of DocumentColorParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_color_params.rb#5 + def initialize(text_document:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_color_params.rb#40 + def attributes; end + + # An optional token that a server can use to report partial results (e.g. + # streaming) to the client. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_color_params.rb#28 + def partial_result_token; end + + # The text document. + # + # @return [TextDocumentIdentifier] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_color_params.rb#36 + def text_document; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_color_params.rb#42 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_color_params.rb#46 + def to_json(*args); end + + # An optional token that a server can use to report work done progress. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_color_params.rb#19 + def work_done_token; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/document_color_registration_options.rb#4 +class LanguageServer::Protocol::Interface::DocumentColorRegistrationOptions + # @return [DocumentColorRegistrationOptions] a new instance of DocumentColorRegistrationOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_color_registration_options.rb#5 + def initialize(document_selector:, id: T.unsafe(nil), work_done_progress: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_color_registration_options.rb#38 + def attributes; end + + # A document selector to identify the scope of the registration. If set to + # null the document selector provided on the client side will be used. + # + # @return [DocumentSelector] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_color_registration_options.rb#20 + def document_selector; end + + # The id used to register the request. The id can be used to deregister + # the request again. See also Registration#id. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_color_registration_options.rb#29 + def id; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_color_registration_options.rb#40 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_color_registration_options.rb#44 + def to_json(*args); end + + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_color_registration_options.rb#34 + def work_done_progress; end +end + +# Parameters of the document diagnostic request. +# +# source://language_server-protocol//lib/language_server/protocol/interface/document_diagnostic_params.rb#7 +class LanguageServer::Protocol::Interface::DocumentDiagnosticParams + # @return [DocumentDiagnosticParams] a new instance of DocumentDiagnosticParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_diagnostic_params.rb#8 + def initialize(text_document:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil), identifier: T.unsafe(nil), previous_result_id: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_diagnostic_params.rb#61 + def attributes; end + + # The additional identifier provided during registration. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_diagnostic_params.rb#49 + def identifier; end + + # An optional token that a server can use to report partial results (e.g. + # streaming) to the client. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_diagnostic_params.rb#33 + def partial_result_token; end + + # The result id of a previous response if provided. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_diagnostic_params.rb#57 + def previous_result_id; end + + # The text document. + # + # @return [TextDocumentIdentifier] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_diagnostic_params.rb#41 + def text_document; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_diagnostic_params.rb#63 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_diagnostic_params.rb#67 + def to_json(*args); end + + # An optional token that a server can use to report work done progress. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_diagnostic_params.rb#24 + def work_done_token; end +end + +# A partial result for a document diagnostic report. +# +# source://language_server-protocol//lib/language_server/protocol/interface/document_diagnostic_report_partial_result.rb#7 +class LanguageServer::Protocol::Interface::DocumentDiagnosticReportPartialResult + # @return [DocumentDiagnosticReportPartialResult] a new instance of DocumentDiagnosticReportPartialResult + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_diagnostic_report_partial_result.rb#8 + def initialize(related_documents:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_diagnostic_report_partial_result.rb#21 + def attributes; end + + # @return [{ [uri: string]: FullDocumentDiagnosticReport | UnchangedDocumentDiagnosticReport; }] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_diagnostic_report_partial_result.rb#17 + def related_documents; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_diagnostic_report_partial_result.rb#23 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_diagnostic_report_partial_result.rb#27 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/document_filter.rb#4 +class LanguageServer::Protocol::Interface::DocumentFilter + # @return [DocumentFilter] a new instance of DocumentFilter + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_filter.rb#5 + def initialize(language: T.unsafe(nil), scheme: T.unsafe(nil), pattern: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_filter.rb#51 + def attributes; end + + # A language id, like `typescript`. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_filter.rb#19 + def language; end + + # A glob pattern, like `*.{ts,js}`. + # + # Glob patterns can have the following syntax: + # - `*` to match one or more characters in a path segment + # - `?` to match on one character in a path segment + # - `**` to match any number of path segments, including none + # - `{}` to group sub patterns into an OR expression. (e.g. `**​/*.{ts,js}` + # matches all TypeScript and JavaScript files) + # - `[]` to declare a range of characters to match in a path segment + # (e.g., `example.[0-9]` to match on `example.0`, `example.1`, …) + # - `[!...]` to negate a range of characters to match in a path segment + # (e.g., `example.[!0-9]` to match on `example.a`, `example.b`, but + # not `example.0`) + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_filter.rb#47 + def pattern; end + + # A Uri [scheme](#Uri.scheme), like `file` or `untitled`. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_filter.rb#27 + def scheme; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_filter.rb#53 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_filter.rb#57 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_client_capabilities.rb#4 +class LanguageServer::Protocol::Interface::DocumentFormattingClientCapabilities + # @return [DocumentFormattingClientCapabilities] a new instance of DocumentFormattingClientCapabilities + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_client_capabilities.rb#5 + def initialize(dynamic_registration: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_client_capabilities.rb#21 + def attributes; end + + # Whether formatting supports dynamic registration. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_client_capabilities.rb#17 + def dynamic_registration; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_client_capabilities.rb#23 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_client_capabilities.rb#27 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_options.rb#4 +class LanguageServer::Protocol::Interface::DocumentFormattingOptions + # @return [DocumentFormattingOptions] a new instance of DocumentFormattingOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_options.rb#5 + def initialize(work_done_progress: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_options.rb#18 + def attributes; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_options.rb#20 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_options.rb#24 + def to_json(*args); end + + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_options.rb#14 + def work_done_progress; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_params.rb#4 +class LanguageServer::Protocol::Interface::DocumentFormattingParams + # @return [DocumentFormattingParams] a new instance of DocumentFormattingParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_params.rb#5 + def initialize(text_document:, options:, work_done_token: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_params.rb#39 + def attributes; end + + # The format options. + # + # @return [FormattingOptions] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_params.rb#35 + def options; end + + # The document to format. + # + # @return [TextDocumentIdentifier] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_params.rb#27 + def text_document; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_params.rb#41 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_params.rb#45 + def to_json(*args); end + + # An optional token that a server can use to report work done progress. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_params.rb#19 + def work_done_token; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_registration_options.rb#4 +class LanguageServer::Protocol::Interface::DocumentFormattingRegistrationOptions + # @return [DocumentFormattingRegistrationOptions] a new instance of DocumentFormattingRegistrationOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_registration_options.rb#5 + def initialize(document_selector:, work_done_progress: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_registration_options.rb#28 + def attributes; end + + # A document selector to identify the scope of the registration. If set to + # null the document selector provided on the client side will be used. + # + # @return [DocumentSelector] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_registration_options.rb#19 + def document_selector; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_registration_options.rb#30 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_registration_options.rb#34 + def to_json(*args); end + + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_registration_options.rb#24 + def work_done_progress; end +end + +# A document highlight is a range inside a text document which deserves +# special attention. Usually a document highlight is visualized by changing +# the background color of its range. +# +# source://language_server-protocol//lib/language_server/protocol/interface/document_highlight.rb#9 +class LanguageServer::Protocol::Interface::DocumentHighlight + # @return [DocumentHighlight] a new instance of DocumentHighlight + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight.rb#10 + def initialize(range:, kind: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight.rb#35 + def attributes; end + + # The highlight kind, default is DocumentHighlightKind.Text. + # + # @return [DocumentHighlightKind] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight.rb#31 + def kind; end + + # The range this highlight applies to. + # + # @return [Range] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight.rb#23 + def range; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight.rb#37 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight.rb#41 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_client_capabilities.rb#4 +class LanguageServer::Protocol::Interface::DocumentHighlightClientCapabilities + # @return [DocumentHighlightClientCapabilities] a new instance of DocumentHighlightClientCapabilities + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_client_capabilities.rb#5 + def initialize(dynamic_registration: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_client_capabilities.rb#21 + def attributes; end + + # Whether document highlight supports dynamic registration. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_client_capabilities.rb#17 + def dynamic_registration; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_client_capabilities.rb#23 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_client_capabilities.rb#27 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_options.rb#4 +class LanguageServer::Protocol::Interface::DocumentHighlightOptions + # @return [DocumentHighlightOptions] a new instance of DocumentHighlightOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_options.rb#5 + def initialize(work_done_progress: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_options.rb#18 + def attributes; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_options.rb#20 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_options.rb#24 + def to_json(*args); end + + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_options.rb#14 + def work_done_progress; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_params.rb#4 +class LanguageServer::Protocol::Interface::DocumentHighlightParams + # @return [DocumentHighlightParams] a new instance of DocumentHighlightParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_params.rb#5 + def initialize(text_document:, position:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_params.rb#49 + def attributes; end + + # An optional token that a server can use to report partial results (e.g. + # streaming) to the client. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_params.rb#45 + def partial_result_token; end + + # The position inside the text document. + # + # @return [Position] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_params.rb#28 + def position; end + + # The text document. + # + # @return [TextDocumentIdentifier] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_params.rb#20 + def text_document; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_params.rb#51 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_params.rb#55 + def to_json(*args); end + + # An optional token that a server can use to report work done progress. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_params.rb#36 + def work_done_token; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_registration_options.rb#4 +class LanguageServer::Protocol::Interface::DocumentHighlightRegistrationOptions + # @return [DocumentHighlightRegistrationOptions] a new instance of DocumentHighlightRegistrationOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_registration_options.rb#5 + def initialize(document_selector:, work_done_progress: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_registration_options.rb#28 + def attributes; end + + # A document selector to identify the scope of the registration. If set to + # null the document selector provided on the client side will be used. + # + # @return [DocumentSelector] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_registration_options.rb#19 + def document_selector; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_registration_options.rb#30 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_registration_options.rb#34 + def to_json(*args); end + + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_registration_options.rb#24 + def work_done_progress; end +end + +# A document link is a range in a text document that links to an internal or +# external resource, like another text document or a web site. +# +# source://language_server-protocol//lib/language_server/protocol/interface/document_link.rb#8 +class LanguageServer::Protocol::Interface::DocumentLink + # @return [DocumentLink] a new instance of DocumentLink + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_link.rb#9 + def initialize(range:, target: T.unsafe(nil), tooltip: T.unsafe(nil), data: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_link.rb#58 + def attributes; end + + # A data entry field that is preserved on a document link between a + # DocumentLinkRequest and a DocumentLinkResolveRequest. + # + # @return [LSPAny] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_link.rb#54 + def data; end + + # The range this link applies to. + # + # @return [Range] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_link.rb#24 + def range; end + + # The uri this link points to. If missing a resolve request is sent later. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_link.rb#32 + def target; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_link.rb#60 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_link.rb#64 + def to_json(*args); end + + # The tooltip text when you hover over this link. + # + # If a tooltip is provided, is will be displayed in a string that includes + # instructions on how to trigger the link, such as `{0} (ctrl + click)`. + # The specific instructions vary depending on OS, user settings, and + # localization. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_link.rb#45 + def tooltip; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/document_link_client_capabilities.rb#4 +class LanguageServer::Protocol::Interface::DocumentLinkClientCapabilities + # @return [DocumentLinkClientCapabilities] a new instance of DocumentLinkClientCapabilities + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_link_client_capabilities.rb#5 + def initialize(dynamic_registration: T.unsafe(nil), tooltip_support: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_link_client_capabilities.rb#30 + def attributes; end + + # Whether document link supports dynamic registration. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_link_client_capabilities.rb#18 + def dynamic_registration; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_link_client_capabilities.rb#32 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_link_client_capabilities.rb#36 + def to_json(*args); end + + # Whether the client supports the `tooltip` property on `DocumentLink`. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_link_client_capabilities.rb#26 + def tooltip_support; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/document_link_options.rb#4 +class LanguageServer::Protocol::Interface::DocumentLinkOptions + # @return [DocumentLinkOptions] a new instance of DocumentLinkOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_link_options.rb#5 + def initialize(work_done_progress: T.unsafe(nil), resolve_provider: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_link_options.rb#27 + def attributes; end + + # Document links have a resolve provider as well. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_link_options.rb#23 + def resolve_provider; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_link_options.rb#29 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_link_options.rb#33 + def to_json(*args); end + + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_link_options.rb#15 + def work_done_progress; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/document_link_params.rb#4 +class LanguageServer::Protocol::Interface::DocumentLinkParams + # @return [DocumentLinkParams] a new instance of DocumentLinkParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_link_params.rb#5 + def initialize(text_document:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_link_params.rb#40 + def attributes; end + + # An optional token that a server can use to report partial results (e.g. + # streaming) to the client. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_link_params.rb#28 + def partial_result_token; end + + # The document to provide document links for. + # + # @return [TextDocumentIdentifier] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_link_params.rb#36 + def text_document; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_link_params.rb#42 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_link_params.rb#46 + def to_json(*args); end + + # An optional token that a server can use to report work done progress. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_link_params.rb#19 + def work_done_token; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/document_link_registration_options.rb#4 +class LanguageServer::Protocol::Interface::DocumentLinkRegistrationOptions + # @return [DocumentLinkRegistrationOptions] a new instance of DocumentLinkRegistrationOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_link_registration_options.rb#5 + def initialize(document_selector:, work_done_progress: T.unsafe(nil), resolve_provider: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_link_registration_options.rb#37 + def attributes; end + + # A document selector to identify the scope of the registration. If set to + # null the document selector provided on the client side will be used. + # + # @return [DocumentSelector] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_link_registration_options.rb#20 + def document_selector; end + + # Document links have a resolve provider as well. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_link_registration_options.rb#33 + def resolve_provider; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_link_registration_options.rb#39 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_link_registration_options.rb#43 + def to_json(*args); end + + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_link_registration_options.rb#25 + def work_done_progress; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_client_capabilities.rb#4 +class LanguageServer::Protocol::Interface::DocumentOnTypeFormattingClientCapabilities + # @return [DocumentOnTypeFormattingClientCapabilities] a new instance of DocumentOnTypeFormattingClientCapabilities + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_client_capabilities.rb#5 + def initialize(dynamic_registration: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_client_capabilities.rb#21 + def attributes; end + + # Whether on type formatting supports dynamic registration. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_client_capabilities.rb#17 + def dynamic_registration; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_client_capabilities.rb#23 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_client_capabilities.rb#27 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_options.rb#4 +class LanguageServer::Protocol::Interface::DocumentOnTypeFormattingOptions + # @return [DocumentOnTypeFormattingOptions] a new instance of DocumentOnTypeFormattingOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_options.rb#5 + def initialize(first_trigger_character:, more_trigger_character: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_options.rb#30 + def attributes; end + + # A character on which formatting should be triggered, like `{`. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_options.rb#18 + def first_trigger_character; end + + # More trigger characters. + # + # @return [string[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_options.rb#26 + def more_trigger_character; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_options.rb#32 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_options.rb#36 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_params.rb#4 +class LanguageServer::Protocol::Interface::DocumentOnTypeFormattingParams + # @return [DocumentOnTypeFormattingParams] a new instance of DocumentOnTypeFormattingParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_params.rb#5 + def initialize(text_document:, position:, ch:, options:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_params.rb#53 + def attributes; end + + # The character that has been typed that triggered the formatting + # on type request. That is not necessarily the last character that + # got inserted into the document since the client could auto insert + # characters as well (e.g. like automatic brace completion). + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_params.rb#41 + def ch; end + + # The formatting options. + # + # @return [FormattingOptions] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_params.rb#49 + def options; end + + # The position around which the on type formatting should happen. + # This is not necessarily the exact position where the character denoted + # by the property `ch` got typed. + # + # @return [Position] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_params.rb#30 + def position; end + + # The document to format. + # + # @return [TextDocumentIdentifier] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_params.rb#20 + def text_document; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_params.rb#55 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_params.rb#59 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_registration_options.rb#4 +class LanguageServer::Protocol::Interface::DocumentOnTypeFormattingRegistrationOptions + # @return [DocumentOnTypeFormattingRegistrationOptions] a new instance of DocumentOnTypeFormattingRegistrationOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_registration_options.rb#5 + def initialize(document_selector:, first_trigger_character:, more_trigger_character: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_registration_options.rb#40 + def attributes; end + + # A document selector to identify the scope of the registration. If set to + # null the document selector provided on the client side will be used. + # + # @return [DocumentSelector] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_registration_options.rb#20 + def document_selector; end + + # A character on which formatting should be triggered, like `{`. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_registration_options.rb#28 + def first_trigger_character; end + + # More trigger characters. + # + # @return [string[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_registration_options.rb#36 + def more_trigger_character; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_registration_options.rb#42 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_registration_options.rb#46 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_client_capabilities.rb#4 +class LanguageServer::Protocol::Interface::DocumentRangeFormattingClientCapabilities + # @return [DocumentRangeFormattingClientCapabilities] a new instance of DocumentRangeFormattingClientCapabilities + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_client_capabilities.rb#5 + def initialize(dynamic_registration: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_client_capabilities.rb#21 + def attributes; end + + # Whether formatting supports dynamic registration. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_client_capabilities.rb#17 + def dynamic_registration; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_client_capabilities.rb#23 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_client_capabilities.rb#27 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_options.rb#4 +class LanguageServer::Protocol::Interface::DocumentRangeFormattingOptions + # @return [DocumentRangeFormattingOptions] a new instance of DocumentRangeFormattingOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_options.rb#5 + def initialize(work_done_progress: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_options.rb#18 + def attributes; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_options.rb#20 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_options.rb#24 + def to_json(*args); end + + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_options.rb#14 + def work_done_progress; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_params.rb#4 +class LanguageServer::Protocol::Interface::DocumentRangeFormattingParams + # @return [DocumentRangeFormattingParams] a new instance of DocumentRangeFormattingParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_params.rb#5 + def initialize(text_document:, range:, options:, work_done_token: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_params.rb#48 + def attributes; end + + # The format options + # + # @return [FormattingOptions] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_params.rb#44 + def options; end + + # The range to format + # + # @return [Range] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_params.rb#36 + def range; end + + # The document to format. + # + # @return [TextDocumentIdentifier] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_params.rb#28 + def text_document; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_params.rb#50 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_params.rb#54 + def to_json(*args); end + + # An optional token that a server can use to report work done progress. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_params.rb#20 + def work_done_token; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_registration_options.rb#4 +class LanguageServer::Protocol::Interface::DocumentRangeFormattingRegistrationOptions + # @return [DocumentRangeFormattingRegistrationOptions] a new instance of DocumentRangeFormattingRegistrationOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_registration_options.rb#5 + def initialize(document_selector:, work_done_progress: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_registration_options.rb#28 + def attributes; end + + # A document selector to identify the scope of the registration. If set to + # null the document selector provided on the client side will be used. + # + # @return [DocumentSelector] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_registration_options.rb#19 + def document_selector; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_registration_options.rb#30 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_registration_options.rb#34 + def to_json(*args); end + + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_registration_options.rb#24 + def work_done_progress; end +end + +# Represents programming constructs like variables, classes, interfaces etc. +# that appear in a document. Document symbols can be hierarchical and they +# have two ranges: one that encloses its definition and one that points to its +# most interesting range, e.g. the range of an identifier. +# +# source://language_server-protocol//lib/language_server/protocol/interface/document_symbol.rb#10 +class LanguageServer::Protocol::Interface::DocumentSymbol + # @return [DocumentSymbol] a new instance of DocumentSymbol + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol.rb#11 + def initialize(name:, kind:, range:, selection_range:, detail: T.unsafe(nil), tags: T.unsafe(nil), deprecated: T.unsafe(nil), children: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol.rb#96 + def attributes; end + + # Children of this symbol, e.g. properties of a class. + # + # @return [DocumentSymbol[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol.rb#92 + def children; end + + # Indicates if this symbol is deprecated. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol.rb#64 + def deprecated; end + + # More detail for this symbol, e.g the signature of a function. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol.rb#40 + def detail; end + + # The kind of this symbol. + # + # @return [SymbolKind] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol.rb#48 + def kind; end + + # The name of this symbol. Will be displayed in the user interface and + # therefore must not be an empty string or a string only consisting of + # white spaces. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol.rb#32 + def name; end + + # The range enclosing this symbol not including leading/trailing whitespace + # but everything else like comments. This information is typically used to + # determine if the clients cursor is inside the symbol to reveal in the + # symbol in the UI. + # + # @return [Range] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol.rb#75 + def range; end + + # The range that should be selected and revealed when this symbol is being + # picked, e.g. the name of a function. Must be contained by the `range`. + # + # @return [Range] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol.rb#84 + def selection_range; end + + # Tags for this document symbol. + # + # @return [1[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol.rb#56 + def tags; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol.rb#98 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol.rb#102 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_client_capabilities.rb#4 +class LanguageServer::Protocol::Interface::DocumentSymbolClientCapabilities + # @return [DocumentSymbolClientCapabilities] a new instance of DocumentSymbolClientCapabilities + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_client_capabilities.rb#5 + def initialize(dynamic_registration: T.unsafe(nil), symbol_kind: T.unsafe(nil), hierarchical_document_symbol_support: T.unsafe(nil), tag_support: T.unsafe(nil), label_support: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_client_capabilities.rb#61 + def attributes; end + + # Whether document symbol supports dynamic registration. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_client_capabilities.rb#21 + def dynamic_registration; end + + # The client supports hierarchical document symbols. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_client_capabilities.rb#38 + def hierarchical_document_symbol_support; end + + # The client supports an additional label presented in the UI when + # registering a document symbol provider. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_client_capabilities.rb#57 + def label_support; end + + # Specific capabilities for the `SymbolKind` in the + # `textDocument/documentSymbol` request. + # + # @return [{ valueSet?: SymbolKind[]; }] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_client_capabilities.rb#30 + def symbol_kind; end + + # The client supports tags on `SymbolInformation`. Tags are supported on + # `DocumentSymbol` if `hierarchicalDocumentSymbolSupport` is set to true. + # Clients supporting tags have to handle unknown tags gracefully. + # + # @return [{ valueSet: 1[]; }] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_client_capabilities.rb#48 + def tag_support; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_client_capabilities.rb#63 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_client_capabilities.rb#67 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_options.rb#4 +class LanguageServer::Protocol::Interface::DocumentSymbolOptions + # @return [DocumentSymbolOptions] a new instance of DocumentSymbolOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_options.rb#5 + def initialize(work_done_progress: T.unsafe(nil), label: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_options.rb#28 + def attributes; end + + # A human-readable string that is shown when multiple outlines trees + # are shown for the same document. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_options.rb#24 + def label; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_options.rb#30 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_options.rb#34 + def to_json(*args); end + + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_options.rb#15 + def work_done_progress; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_params.rb#4 +class LanguageServer::Protocol::Interface::DocumentSymbolParams + # @return [DocumentSymbolParams] a new instance of DocumentSymbolParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_params.rb#5 + def initialize(text_document:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_params.rb#40 + def attributes; end + + # An optional token that a server can use to report partial results (e.g. + # streaming) to the client. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_params.rb#28 + def partial_result_token; end + + # The text document. + # + # @return [TextDocumentIdentifier] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_params.rb#36 + def text_document; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_params.rb#42 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_params.rb#46 + def to_json(*args); end + + # An optional token that a server can use to report work done progress. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_params.rb#19 + def work_done_token; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_registration_options.rb#4 +class LanguageServer::Protocol::Interface::DocumentSymbolRegistrationOptions + # @return [DocumentSymbolRegistrationOptions] a new instance of DocumentSymbolRegistrationOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_registration_options.rb#5 + def initialize(document_selector:, work_done_progress: T.unsafe(nil), label: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_registration_options.rb#38 + def attributes; end + + # A document selector to identify the scope of the registration. If set to + # null the document selector provided on the client side will be used. + # + # @return [DocumentSelector] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_registration_options.rb#20 + def document_selector; end + + # A human-readable string that is shown when multiple outlines trees + # are shown for the same document. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_registration_options.rb#34 + def label; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_registration_options.rb#40 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_registration_options.rb#44 + def to_json(*args); end + + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_registration_options.rb#25 + def work_done_progress; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/execute_command_client_capabilities.rb#4 +class LanguageServer::Protocol::Interface::ExecuteCommandClientCapabilities + # @return [ExecuteCommandClientCapabilities] a new instance of ExecuteCommandClientCapabilities + # + # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_client_capabilities.rb#5 + def initialize(dynamic_registration: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_client_capabilities.rb#21 + def attributes; end + + # Execute command supports dynamic registration. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_client_capabilities.rb#17 + def dynamic_registration; end + + # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_client_capabilities.rb#23 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_client_capabilities.rb#27 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/execute_command_options.rb#4 +class LanguageServer::Protocol::Interface::ExecuteCommandOptions + # @return [ExecuteCommandOptions] a new instance of ExecuteCommandOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_options.rb#5 + def initialize(commands:, work_done_progress: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_options.rb#27 + def attributes; end + + # The commands to be executed on the server + # + # @return [string[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_options.rb#23 + def commands; end + + # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_options.rb#29 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_options.rb#33 + def to_json(*args); end + + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_options.rb#15 + def work_done_progress; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/execute_command_params.rb#4 +class LanguageServer::Protocol::Interface::ExecuteCommandParams + # @return [ExecuteCommandParams] a new instance of ExecuteCommandParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_params.rb#5 + def initialize(command:, work_done_token: T.unsafe(nil), arguments: T.unsafe(nil)); end + + # Arguments that the command should be invoked with. + # + # @return [LSPAny[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_params.rb#35 + def arguments; end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_params.rb#39 + def attributes; end + + # The identifier of the actual command handler. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_params.rb#27 + def command; end + + # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_params.rb#41 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_params.rb#45 + def to_json(*args); end + + # An optional token that a server can use to report work done progress. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_params.rb#19 + def work_done_token; end +end + +# Execute command registration options. +# +# source://language_server-protocol//lib/language_server/protocol/interface/execute_command_registration_options.rb#7 +class LanguageServer::Protocol::Interface::ExecuteCommandRegistrationOptions + # @return [ExecuteCommandRegistrationOptions] a new instance of ExecuteCommandRegistrationOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_registration_options.rb#8 + def initialize(commands:, work_done_progress: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_registration_options.rb#30 + def attributes; end + + # The commands to be executed on the server + # + # @return [string[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_registration_options.rb#26 + def commands; end + + # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_registration_options.rb#32 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_registration_options.rb#36 + def to_json(*args); end + + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_registration_options.rb#18 + def work_done_progress; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/execution_summary.rb#4 +class LanguageServer::Protocol::Interface::ExecutionSummary + # @return [ExecutionSummary] a new instance of ExecutionSummary + # + # source://language_server-protocol//lib/language_server/protocol/interface/execution_summary.rb#5 + def initialize(execution_order:, success: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/execution_summary.rb#33 + def attributes; end + + # A strict monotonically increasing value + # indicating the execution order of a cell + # inside a notebook. + # + # @return [number] + # + # source://language_server-protocol//lib/language_server/protocol/interface/execution_summary.rb#20 + def execution_order; end + + # Whether the execution was successful or + # not if known by the client. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/execution_summary.rb#29 + def success; end + + # source://language_server-protocol//lib/language_server/protocol/interface/execution_summary.rb#35 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/execution_summary.rb#39 + def to_json(*args); end +end + +# Represents information on a file/folder create. +# +# source://language_server-protocol//lib/language_server/protocol/interface/file_create.rb#7 +class LanguageServer::Protocol::Interface::FileCreate + # @return [FileCreate] a new instance of FileCreate + # + # source://language_server-protocol//lib/language_server/protocol/interface/file_create.rb#8 + def initialize(uri:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/file_create.rb#24 + def attributes; end + + # source://language_server-protocol//lib/language_server/protocol/interface/file_create.rb#26 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/file_create.rb#30 + def to_json(*args); end + + # A file:// URI for the location of the file/folder being created. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/file_create.rb#20 + def uri; end +end + +# Represents information on a file/folder delete. +# +# source://language_server-protocol//lib/language_server/protocol/interface/file_delete.rb#7 +class LanguageServer::Protocol::Interface::FileDelete + # @return [FileDelete] a new instance of FileDelete + # + # source://language_server-protocol//lib/language_server/protocol/interface/file_delete.rb#8 + def initialize(uri:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/file_delete.rb#24 + def attributes; end + + # source://language_server-protocol//lib/language_server/protocol/interface/file_delete.rb#26 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/file_delete.rb#30 + def to_json(*args); end + + # A file:// URI for the location of the file/folder being deleted. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/file_delete.rb#20 + def uri; end +end + +# An event describing a file change. +# +# source://language_server-protocol//lib/language_server/protocol/interface/file_event.rb#7 +class LanguageServer::Protocol::Interface::FileEvent + # @return [FileEvent] a new instance of FileEvent + # + # source://language_server-protocol//lib/language_server/protocol/interface/file_event.rb#8 + def initialize(uri:, type:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/file_event.rb#33 + def attributes; end + + # source://language_server-protocol//lib/language_server/protocol/interface/file_event.rb#35 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/file_event.rb#39 + def to_json(*args); end + + # The change type. + # + # @return [number] + # + # source://language_server-protocol//lib/language_server/protocol/interface/file_event.rb#29 + def type; end + + # The file's URI. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/file_event.rb#21 + def uri; end +end + +# A filter to describe in which file operation requests or notifications +# the server is interested in. +# +# source://language_server-protocol//lib/language_server/protocol/interface/file_operation_filter.rb#8 +class LanguageServer::Protocol::Interface::FileOperationFilter + # @return [FileOperationFilter] a new instance of FileOperationFilter + # + # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_filter.rb#9 + def initialize(pattern:, scheme: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_filter.rb#34 + def attributes; end + + # The actual file operation pattern. + # + # @return [FileOperationPattern] + # + # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_filter.rb#30 + def pattern; end + + # A Uri like `file` or `untitled`. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_filter.rb#22 + def scheme; end + + # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_filter.rb#36 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_filter.rb#40 + def to_json(*args); end +end + +# A pattern to describe in which file operation requests or notifications +# the server is interested in. +# +# source://language_server-protocol//lib/language_server/protocol/interface/file_operation_pattern.rb#8 +class LanguageServer::Protocol::Interface::FileOperationPattern + # @return [FileOperationPattern] a new instance of FileOperationPattern + # + # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_pattern.rb#9 + def initialize(glob:, matches: T.unsafe(nil), options: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_pattern.rb#55 + def attributes; end + + # The glob pattern to match. Glob patterns can have the following syntax: + # - `*` to match one or more characters in a path segment + # - `?` to match on one character in a path segment + # - `**` to match any number of path segments, including none + # - `{}` to group sub patterns into an OR expression. (e.g. `**​/*.{ts,js}` + # matches all TypeScript and JavaScript files) + # - `[]` to declare a range of characters to match in a path segment + # (e.g., `example.[0-9]` to match on `example.0`, `example.1`, …) + # - `[!...]` to negate a range of characters to match in a path segment + # (e.g., `example.[!0-9]` to match on `example.a`, `example.b`, but + # not `example.0`) + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_pattern.rb#33 + def glob; end + + # Whether to match files or folders with this pattern. + # + # Matches both if undefined. + # + # @return [FileOperationPatternKind] + # + # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_pattern.rb#43 + def matches; end + + # Additional options used during matching. + # + # @return [FileOperationPatternOptions] + # + # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_pattern.rb#51 + def options; end + + # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_pattern.rb#57 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_pattern.rb#61 + def to_json(*args); end +end + +# Matching options for the file operation pattern. +# +# source://language_server-protocol//lib/language_server/protocol/interface/file_operation_pattern_options.rb#7 +class LanguageServer::Protocol::Interface::FileOperationPatternOptions + # @return [FileOperationPatternOptions] a new instance of FileOperationPatternOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_pattern_options.rb#8 + def initialize(ignore_case: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_pattern_options.rb#24 + def attributes; end + + # The pattern should be matched ignoring casing. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_pattern_options.rb#20 + def ignore_case; end + + # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_pattern_options.rb#26 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_pattern_options.rb#30 + def to_json(*args); end +end + +# The options to register for file operations. +# +# source://language_server-protocol//lib/language_server/protocol/interface/file_operation_registration_options.rb#7 +class LanguageServer::Protocol::Interface::FileOperationRegistrationOptions + # @return [FileOperationRegistrationOptions] a new instance of FileOperationRegistrationOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_registration_options.rb#8 + def initialize(filters:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_registration_options.rb#24 + def attributes; end + + # The actual filters. + # + # @return [FileOperationFilter[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_registration_options.rb#20 + def filters; end + + # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_registration_options.rb#26 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_registration_options.rb#30 + def to_json(*args); end +end + +# Represents information on a file/folder rename. +# +# source://language_server-protocol//lib/language_server/protocol/interface/file_rename.rb#7 +class LanguageServer::Protocol::Interface::FileRename + # @return [FileRename] a new instance of FileRename + # + # source://language_server-protocol//lib/language_server/protocol/interface/file_rename.rb#8 + def initialize(old_uri:, new_uri:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/file_rename.rb#33 + def attributes; end + + # A file:// URI for the new location of the file/folder being renamed. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/file_rename.rb#29 + def new_uri; end + + # A file:// URI for the original location of the file/folder being renamed. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/file_rename.rb#21 + def old_uri; end + + # source://language_server-protocol//lib/language_server/protocol/interface/file_rename.rb#35 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/file_rename.rb#39 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/file_system_watcher.rb#4 +class LanguageServer::Protocol::Interface::FileSystemWatcher + # @return [FileSystemWatcher] a new instance of FileSystemWatcher + # + # source://language_server-protocol//lib/language_server/protocol/interface/file_system_watcher.rb#5 + def initialize(glob_pattern:, kind: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/file_system_watcher.rb#33 + def attributes; end + + # The glob pattern to watch. See {@link GlobPattern glob pattern} + # for more detail. + # + # @return [GlobPattern] + # + # source://language_server-protocol//lib/language_server/protocol/interface/file_system_watcher.rb#19 + def glob_pattern; end + + # The kind of events of interest. If omitted it defaults + # to WatchKind.Create | WatchKind.Change | WatchKind.Delete + # which is 7. + # + # @return [number] + # + # source://language_server-protocol//lib/language_server/protocol/interface/file_system_watcher.rb#29 + def kind; end + + # source://language_server-protocol//lib/language_server/protocol/interface/file_system_watcher.rb#35 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/file_system_watcher.rb#39 + def to_json(*args); end +end + +# Represents a folding range. To be valid, start and end line must be bigger +# than zero and smaller than the number of lines in the document. Clients +# are free to ignore invalid ranges. +# +# source://language_server-protocol//lib/language_server/protocol/interface/folding_range.rb#9 +class LanguageServer::Protocol::Interface::FoldingRange + # @return [FoldingRange] a new instance of FoldingRange + # + # source://language_server-protocol//lib/language_server/protocol/interface/folding_range.rb#10 + def initialize(start_line:, end_line:, start_character: T.unsafe(nil), end_character: T.unsafe(nil), kind: T.unsafe(nil), collapsed_text: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/folding_range.rb#82 + def attributes; end + + # The text that the client should show when the specified range is + # collapsed. If not defined or not supported by the client, a default + # will be chosen by the client. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/folding_range.rb#78 + def collapsed_text; end + + # The zero-based character offset before the folded range ends. If not + # defined, defaults to the length of the end line. + # + # @return [number] + # + # source://language_server-protocol//lib/language_server/protocol/interface/folding_range.rb#57 + def end_character; end + + # The zero-based end line of the range to fold. The folded area ends with + # the line's last character. To be valid, the end must be zero or larger + # and smaller than the number of lines in the document. + # + # @return [number] + # + # source://language_server-protocol//lib/language_server/protocol/interface/folding_range.rb#48 + def end_line; end + + # Describes the kind of the folding range such as `comment` or `region`. + # The kind is used to categorize folding ranges and used by commands like + # 'Fold all comments'. See [FoldingRangeKind](#FoldingRangeKind) for an + # enumeration of standardized kinds. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/folding_range.rb#68 + def kind; end + + # The zero-based character offset from where the folded range starts. If + # not defined, defaults to the length of the start line. + # + # @return [number] + # + # source://language_server-protocol//lib/language_server/protocol/interface/folding_range.rb#38 + def start_character; end + + # The zero-based start line of the range to fold. The folded area starts + # after the line's last character. To be valid, the end must be zero or + # larger and smaller than the number of lines in the document. + # + # @return [number] + # + # source://language_server-protocol//lib/language_server/protocol/interface/folding_range.rb#29 + def start_line; end + + # source://language_server-protocol//lib/language_server/protocol/interface/folding_range.rb#84 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/folding_range.rb#88 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/folding_range_client_capabilities.rb#4 +class LanguageServer::Protocol::Interface::FoldingRangeClientCapabilities + # @return [FoldingRangeClientCapabilities] a new instance of FoldingRangeClientCapabilities + # + # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_client_capabilities.rb#5 + def initialize(dynamic_registration: T.unsafe(nil), range_limit: T.unsafe(nil), line_folding_only: T.unsafe(nil), folding_range_kind: T.unsafe(nil), folding_range: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_client_capabilities.rb#64 + def attributes; end + + # Whether implementation supports dynamic registration for folding range + # providers. If this is set to `true` the client supports the new + # `FoldingRangeRegistrationOptions` return value for the corresponding + # server capability as well. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_client_capabilities.rb#24 + def dynamic_registration; end + + # Specific options for the folding range. + # + # @return [{ collapsedText?: boolean; }] + # + # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_client_capabilities.rb#60 + def folding_range; end + + # Specific options for the folding range kind. + # + # @return [{ valueSet?: string[]; }] + # + # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_client_capabilities.rb#52 + def folding_range_kind; end + + # If set, the client signals that it only supports folding complete lines. + # If set, client will ignore specified `startCharacter` and `endCharacter` + # properties in a FoldingRange. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_client_capabilities.rb#44 + def line_folding_only; end + + # The maximum number of folding ranges that the client prefers to receive + # per document. The value serves as a hint, servers are free to follow the + # limit. + # + # @return [number] + # + # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_client_capabilities.rb#34 + def range_limit; end + + # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_client_capabilities.rb#66 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_client_capabilities.rb#70 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/folding_range_options.rb#4 +class LanguageServer::Protocol::Interface::FoldingRangeOptions + # @return [FoldingRangeOptions] a new instance of FoldingRangeOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_options.rb#5 + def initialize(work_done_progress: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_options.rb#18 + def attributes; end + + # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_options.rb#20 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_options.rb#24 + def to_json(*args); end + + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_options.rb#14 + def work_done_progress; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/folding_range_params.rb#4 +class LanguageServer::Protocol::Interface::FoldingRangeParams + # @return [FoldingRangeParams] a new instance of FoldingRangeParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_params.rb#5 + def initialize(text_document:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_params.rb#40 + def attributes; end + + # An optional token that a server can use to report partial results (e.g. + # streaming) to the client. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_params.rb#28 + def partial_result_token; end + + # The text document. + # + # @return [TextDocumentIdentifier] + # + # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_params.rb#36 + def text_document; end + + # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_params.rb#42 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_params.rb#46 + def to_json(*args); end + + # An optional token that a server can use to report work done progress. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_params.rb#19 + def work_done_token; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/folding_range_registration_options.rb#4 +class LanguageServer::Protocol::Interface::FoldingRangeRegistrationOptions + # @return [FoldingRangeRegistrationOptions] a new instance of FoldingRangeRegistrationOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_registration_options.rb#5 + def initialize(document_selector:, work_done_progress: T.unsafe(nil), id: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_registration_options.rb#38 + def attributes; end + + # A document selector to identify the scope of the registration. If set to + # null the document selector provided on the client side will be used. + # + # @return [DocumentSelector] + # + # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_registration_options.rb#20 + def document_selector; end + + # The id used to register the request. The id can be used to deregister + # the request again. See also Registration#id. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_registration_options.rb#34 + def id; end + + # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_registration_options.rb#40 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_registration_options.rb#44 + def to_json(*args); end + + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_registration_options.rb#25 + def work_done_progress; end +end + +# Value-object describing what options formatting should use. +# +# source://language_server-protocol//lib/language_server/protocol/interface/formatting_options.rb#7 +class LanguageServer::Protocol::Interface::FormattingOptions + # @return [FormattingOptions] a new instance of FormattingOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/formatting_options.rb#8 + def initialize(tab_size:, insert_spaces:, trim_trailing_whitespace: T.unsafe(nil), insert_final_newline: T.unsafe(nil), trim_final_newlines: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/formatting_options.rb#60 + def attributes; end + + # Insert a newline character at the end of the file if one does not exist. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/formatting_options.rb#48 + def insert_final_newline; end + + # Prefer spaces over tabs. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/formatting_options.rb#32 + def insert_spaces; end + + # Size of a tab in spaces. + # + # @return [number] + # + # source://language_server-protocol//lib/language_server/protocol/interface/formatting_options.rb#24 + def tab_size; end + + # source://language_server-protocol//lib/language_server/protocol/interface/formatting_options.rb#62 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/formatting_options.rb#66 + def to_json(*args); end + + # Trim all newlines after the final newline at the end of the file. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/formatting_options.rb#56 + def trim_final_newlines; end + + # Trim trailing whitespace on a line. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/formatting_options.rb#40 + def trim_trailing_whitespace; end +end + +# A diagnostic report with a full set of problems. +# +# source://language_server-protocol//lib/language_server/protocol/interface/full_document_diagnostic_report.rb#7 +class LanguageServer::Protocol::Interface::FullDocumentDiagnosticReport + # @return [FullDocumentDiagnosticReport] a new instance of FullDocumentDiagnosticReport + # + # source://language_server-protocol//lib/language_server/protocol/interface/full_document_diagnostic_report.rb#8 + def initialize(kind:, items:, result_id: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/full_document_diagnostic_report.rb#44 + def attributes; end + + # The actual items. + # + # @return [Diagnostic[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/full_document_diagnostic_report.rb#40 + def items; end + + # A full document diagnostic report. + # + # @return [any] + # + # source://language_server-protocol//lib/language_server/protocol/interface/full_document_diagnostic_report.rb#22 + def kind; end + + # An optional result id. If provided it will + # be sent on the next diagnostic request for the + # same document. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/full_document_diagnostic_report.rb#32 + def result_id; end + + # source://language_server-protocol//lib/language_server/protocol/interface/full_document_diagnostic_report.rb#46 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/full_document_diagnostic_report.rb#50 + def to_json(*args); end +end + +# The result of a hover request. +# +# source://language_server-protocol//lib/language_server/protocol/interface/hover.rb#7 +class LanguageServer::Protocol::Interface::Hover + # @return [Hover] a new instance of Hover + # + # source://language_server-protocol//lib/language_server/protocol/interface/hover.rb#8 + def initialize(contents:, range: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/hover.rb#34 + def attributes; end + + # The hover's content + # + # @return [MarkupContent | MarkedString | MarkedString[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/hover.rb#21 + def contents; end + + # An optional range is a range inside a text document + # that is used to visualize a hover, e.g. by changing the background color. + # + # @return [Range] + # + # source://language_server-protocol//lib/language_server/protocol/interface/hover.rb#30 + def range; end + + # source://language_server-protocol//lib/language_server/protocol/interface/hover.rb#36 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/hover.rb#40 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/hover_client_capabilities.rb#4 +class LanguageServer::Protocol::Interface::HoverClientCapabilities + # @return [HoverClientCapabilities] a new instance of HoverClientCapabilities + # + # source://language_server-protocol//lib/language_server/protocol/interface/hover_client_capabilities.rb#5 + def initialize(dynamic_registration: T.unsafe(nil), content_format: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/hover_client_capabilities.rb#32 + def attributes; end + + # Client supports the follow content formats if the content + # property refers to a `literal of type MarkupContent`. + # The order describes the preferred format of the client. + # + # @return [MarkupKind[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/hover_client_capabilities.rb#28 + def content_format; end + + # Whether hover supports dynamic registration. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/hover_client_capabilities.rb#18 + def dynamic_registration; end + + # source://language_server-protocol//lib/language_server/protocol/interface/hover_client_capabilities.rb#34 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/hover_client_capabilities.rb#38 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/hover_options.rb#4 +class LanguageServer::Protocol::Interface::HoverOptions + # @return [HoverOptions] a new instance of HoverOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/hover_options.rb#5 + def initialize(work_done_progress: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/hover_options.rb#18 + def attributes; end + + # source://language_server-protocol//lib/language_server/protocol/interface/hover_options.rb#20 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/hover_options.rb#24 + def to_json(*args); end + + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/hover_options.rb#14 + def work_done_progress; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/hover_params.rb#4 +class LanguageServer::Protocol::Interface::HoverParams + # @return [HoverParams] a new instance of HoverParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/hover_params.rb#5 + def initialize(text_document:, position:, work_done_token: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/hover_params.rb#39 + def attributes; end + + # The position inside the text document. + # + # @return [Position] + # + # source://language_server-protocol//lib/language_server/protocol/interface/hover_params.rb#27 + def position; end + + # The text document. + # + # @return [TextDocumentIdentifier] + # + # source://language_server-protocol//lib/language_server/protocol/interface/hover_params.rb#19 + def text_document; end + + # source://language_server-protocol//lib/language_server/protocol/interface/hover_params.rb#41 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/hover_params.rb#45 + def to_json(*args); end + + # An optional token that a server can use to report work done progress. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/hover_params.rb#35 + def work_done_token; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/hover_registration_options.rb#4 +class LanguageServer::Protocol::Interface::HoverRegistrationOptions + # @return [HoverRegistrationOptions] a new instance of HoverRegistrationOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/hover_registration_options.rb#5 + def initialize(document_selector:, work_done_progress: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/hover_registration_options.rb#28 + def attributes; end + + # A document selector to identify the scope of the registration. If set to + # null the document selector provided on the client side will be used. + # + # @return [DocumentSelector] + # + # source://language_server-protocol//lib/language_server/protocol/interface/hover_registration_options.rb#19 + def document_selector; end + + # source://language_server-protocol//lib/language_server/protocol/interface/hover_registration_options.rb#30 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/hover_registration_options.rb#34 + def to_json(*args); end + + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/hover_registration_options.rb#24 + def work_done_progress; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/hover_result.rb#4 +class LanguageServer::Protocol::Interface::HoverResult + # @return [HoverResult] a new instance of HoverResult + # + # source://language_server-protocol//lib/language_server/protocol/interface/hover_result.rb#5 + def initialize(value:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/hover_result.rb#18 + def attributes; end + + # source://language_server-protocol//lib/language_server/protocol/interface/hover_result.rb#20 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/hover_result.rb#24 + def to_json(*args); end + + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/hover_result.rb#14 + def value; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/implementation_client_capabilities.rb#4 +class LanguageServer::Protocol::Interface::ImplementationClientCapabilities + # @return [ImplementationClientCapabilities] a new instance of ImplementationClientCapabilities + # + # source://language_server-protocol//lib/language_server/protocol/interface/implementation_client_capabilities.rb#5 + def initialize(dynamic_registration: T.unsafe(nil), link_support: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/implementation_client_capabilities.rb#32 + def attributes; end + + # Whether implementation supports dynamic registration. If this is set to + # `true` the client supports the new `ImplementationRegistrationOptions` + # return value for the corresponding server capability as well. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/implementation_client_capabilities.rb#20 + def dynamic_registration; end + + # The client supports additional metadata in the form of definition links. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/implementation_client_capabilities.rb#28 + def link_support; end + + # source://language_server-protocol//lib/language_server/protocol/interface/implementation_client_capabilities.rb#34 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/implementation_client_capabilities.rb#38 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/implementation_options.rb#4 +class LanguageServer::Protocol::Interface::ImplementationOptions + # @return [ImplementationOptions] a new instance of ImplementationOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/implementation_options.rb#5 + def initialize(work_done_progress: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/implementation_options.rb#18 + def attributes; end + + # source://language_server-protocol//lib/language_server/protocol/interface/implementation_options.rb#20 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/implementation_options.rb#24 + def to_json(*args); end + + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/implementation_options.rb#14 + def work_done_progress; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/implementation_params.rb#4 +class LanguageServer::Protocol::Interface::ImplementationParams + # @return [ImplementationParams] a new instance of ImplementationParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/implementation_params.rb#5 + def initialize(text_document:, position:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/implementation_params.rb#49 + def attributes; end + + # An optional token that a server can use to report partial results (e.g. + # streaming) to the client. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/implementation_params.rb#45 + def partial_result_token; end + + # The position inside the text document. + # + # @return [Position] + # + # source://language_server-protocol//lib/language_server/protocol/interface/implementation_params.rb#28 + def position; end + + # The text document. + # + # @return [TextDocumentIdentifier] + # + # source://language_server-protocol//lib/language_server/protocol/interface/implementation_params.rb#20 + def text_document; end + + # source://language_server-protocol//lib/language_server/protocol/interface/implementation_params.rb#51 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/implementation_params.rb#55 + def to_json(*args); end + + # An optional token that a server can use to report work done progress. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/implementation_params.rb#36 + def work_done_token; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/implementation_registration_options.rb#4 +class LanguageServer::Protocol::Interface::ImplementationRegistrationOptions + # @return [ImplementationRegistrationOptions] a new instance of ImplementationRegistrationOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/implementation_registration_options.rb#5 + def initialize(document_selector:, work_done_progress: T.unsafe(nil), id: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/implementation_registration_options.rb#38 + def attributes; end + + # A document selector to identify the scope of the registration. If set to + # null the document selector provided on the client side will be used. + # + # @return [DocumentSelector] + # + # source://language_server-protocol//lib/language_server/protocol/interface/implementation_registration_options.rb#20 + def document_selector; end + + # The id used to register the request. The id can be used to deregister + # the request again. See also Registration#id. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/implementation_registration_options.rb#34 + def id; end + + # source://language_server-protocol//lib/language_server/protocol/interface/implementation_registration_options.rb#40 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/implementation_registration_options.rb#44 + def to_json(*args); end + + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/implementation_registration_options.rb#25 + def work_done_progress; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/initialize_error.rb#4 +class LanguageServer::Protocol::Interface::InitializeError + # @return [InitializeError] a new instance of InitializeError + # + # source://language_server-protocol//lib/language_server/protocol/interface/initialize_error.rb#5 + def initialize(retry:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/initialize_error.rb#24 + def attributes; end + + # Indicates whether the client execute the following retry logic: + # (1) show the message provided by the ResponseError to the user + # (2) user selects retry or cancel + # (3) if user selected retry the initialize method is sent again. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/initialize_error.rb#20 + def retry; end + + # source://language_server-protocol//lib/language_server/protocol/interface/initialize_error.rb#26 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/initialize_error.rb#30 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/initialize_params.rb#4 +class LanguageServer::Protocol::Interface::InitializeParams + # @return [InitializeParams] a new instance of InitializeParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/initialize_params.rb#5 + def initialize(process_id:, root_uri:, capabilities:, work_done_token: T.unsafe(nil), client_info: T.unsafe(nil), locale: T.unsafe(nil), root_path: T.unsafe(nil), initialization_options: T.unsafe(nil), trace: T.unsafe(nil), workspace_folders: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/initialize_params.rb#116 + def attributes; end + + # The capabilities provided by the client (editor or tool) + # + # @return [ClientCapabilities] + # + # source://language_server-protocol//lib/language_server/protocol/interface/initialize_params.rb#93 + def capabilities; end + + # Information about the client + # + # @return [{ name: string; version?: string; }] + # + # source://language_server-protocol//lib/language_server/protocol/interface/initialize_params.rb#45 + def client_info; end + + # User provided initialization options. + # + # @return [LSPAny] + # + # source://language_server-protocol//lib/language_server/protocol/interface/initialize_params.rb#85 + def initialization_options; end + + # The locale the client is currently showing the user interface + # in. This must not necessarily be the locale of the operating + # system. + # + # Uses IETF language tags as the value's syntax + # (See https://en.wikipedia.org/wiki/IETF_language_tag) + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/initialize_params.rb#58 + def locale; end + + # The process Id of the parent process that started the server. Is null if + # the process has not been started by another process. If the parent + # process is not alive then the server should exit (see exit notification) + # its process. + # + # @return [number] + # + # source://language_server-protocol//lib/language_server/protocol/interface/initialize_params.rb#37 + def process_id; end + + # The rootPath of the workspace. Is null + # if no folder is open. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/initialize_params.rb#67 + def root_path; end + + # The rootUri of the workspace. Is null if no + # folder is open. If both `rootPath` and `rootUri` are set + # `rootUri` wins. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/initialize_params.rb#77 + def root_uri; end + + # source://language_server-protocol//lib/language_server/protocol/interface/initialize_params.rb#118 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/initialize_params.rb#122 + def to_json(*args); end + + # The initial trace setting. If omitted trace is disabled ('off'). + # + # @return [TraceValue] + # + # source://language_server-protocol//lib/language_server/protocol/interface/initialize_params.rb#101 + def trace; end + + # An optional token that a server can use to report work done progress. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/initialize_params.rb#26 + def work_done_token; end + + # The workspace folders configured in the client when the server starts. + # This property is only available if the client supports workspace folders. + # It can be `null` if the client supports workspace folders but none are + # configured. + # + # @return [WorkspaceFolder[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/initialize_params.rb#112 + def workspace_folders; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/initialize_result.rb#4 +class LanguageServer::Protocol::Interface::InitializeResult + # @return [InitializeResult] a new instance of InitializeResult + # + # source://language_server-protocol//lib/language_server/protocol/interface/initialize_result.rb#5 + def initialize(capabilities:, server_info: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/initialize_result.rb#30 + def attributes; end + + # The capabilities the language server provides. + # + # @return [ServerCapabilities] + # + # source://language_server-protocol//lib/language_server/protocol/interface/initialize_result.rb#18 + def capabilities; end + + # Information about the server. + # + # @return [{ name: string; version?: string; }] + # + # source://language_server-protocol//lib/language_server/protocol/interface/initialize_result.rb#26 + def server_info; end + + # source://language_server-protocol//lib/language_server/protocol/interface/initialize_result.rb#32 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/initialize_result.rb#36 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/initialized_params.rb#4 +class LanguageServer::Protocol::Interface::InitializedParams + # @return [InitializedParams] a new instance of InitializedParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/initialized_params.rb#5 + def initialize; end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/initialized_params.rb#12 + def attributes; end + + # source://language_server-protocol//lib/language_server/protocol/interface/initialized_params.rb#14 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/initialized_params.rb#18 + def to_json(*args); end +end + +# Inlay hint information. +# +# source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint.rb#7 +class LanguageServer::Protocol::Interface::InlayHint + # @return [InlayHint] a new instance of InlayHint + # + # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint.rb#8 + def initialize(position:, label:, kind: T.unsafe(nil), text_edits: T.unsafe(nil), tooltip: T.unsafe(nil), padding_left: T.unsafe(nil), padding_right: T.unsafe(nil), data: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint.rb#110 + def attributes; end + + # A data entry field that is preserved on an inlay hint between + # a `textDocument/inlayHint` and a `inlayHint/resolve` request. + # + # @return [LSPAny] + # + # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint.rb#106 + def data; end + + # The kind of this hint. Can be omitted in which case the client + # should fall back to a reasonable default. + # + # @return [InlayHintKind] + # + # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint.rb#47 + def kind; end + + # The label of this hint. A human readable string or an array of + # InlayHintLabelPart label parts. + # + # *Note* that neither the string nor the label part can be empty. + # + # @return [string | InlayHintLabelPart[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint.rb#38 + def label; end + + # Render padding before the hint. + # + # Note: Padding should use the editor's background color, not the + # background color of the hint itself. That means padding can be used + # to visually align/separate an inlay hint. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint.rb#85 + def padding_left; end + + # Render padding after the hint. + # + # Note: Padding should use the editor's background color, not the + # background color of the hint itself. That means padding can be used + # to visually align/separate an inlay hint. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint.rb#97 + def padding_right; end + + # The position of this hint. + # + # @return [Position] + # + # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint.rb#27 + def position; end + + # Optional text edits that are performed when accepting this inlay hint. + # + # *Note* that edits are expected to change the document so that the inlay + # hint (or its nearest variant) is now part of the document and the inlay + # hint itself is now obsolete. + # + # Depending on the client capability `inlayHint.resolveSupport` clients + # might resolve this property late using the resolve request. + # + # @return [TextEdit[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint.rb#62 + def text_edits; end + + # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint.rb#112 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint.rb#116 + def to_json(*args); end + + # The tooltip text when you hover over this item. + # + # Depending on the client capability `inlayHint.resolveSupport` clients + # might resolve this property late using the resolve request. + # + # @return [string | MarkupContent] + # + # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint.rb#73 + def tooltip; end +end + +# Inlay hint client capabilities. +# +# source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_client_capabilities.rb#7 +class LanguageServer::Protocol::Interface::InlayHintClientCapabilities + # @return [InlayHintClientCapabilities] a new instance of InlayHintClientCapabilities + # + # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_client_capabilities.rb#8 + def initialize(dynamic_registration: T.unsafe(nil), resolve_support: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_client_capabilities.rb#34 + def attributes; end + + # Whether inlay hints support dynamic registration. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_client_capabilities.rb#21 + def dynamic_registration; end + + # Indicates which properties a client can resolve lazily on an inlay + # hint. + # + # @return [{ properties: string[]; }] + # + # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_client_capabilities.rb#30 + def resolve_support; end + + # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_client_capabilities.rb#36 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_client_capabilities.rb#40 + def to_json(*args); end +end + +# An inlay hint label part allows for interactive and composite labels +# of inlay hints. +# +# source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_label_part.rb#8 +class LanguageServer::Protocol::Interface::InlayHintLabelPart + # @return [InlayHintLabelPart] a new instance of InlayHintLabelPart + # + # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_label_part.rb#9 + def initialize(value:, tooltip: T.unsafe(nil), location: T.unsafe(nil), command: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_label_part.rb#67 + def attributes; end + + # An optional command for this label part. + # + # Depending on the client capability `inlayHint.resolveSupport` clients + # might resolve this property late using the resolve request. + # + # @return [Command] + # + # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_label_part.rb#63 + def command; end + + # An optional source code location that represents this + # label part. + # + # The editor will use this location for the hover and for code navigation + # features: This part will become a clickable link that resolves to the + # definition of the symbol at the given location (not necessarily the + # location itself), it shows the hover that shows at the given location, + # and it shows a context menu with further code navigation commands. + # + # Depending on the client capability `inlayHint.resolveSupport` clients + # might resolve this property late using the resolve request. + # + # @return [Location] + # + # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_label_part.rb#52 + def location; end + + # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_label_part.rb#69 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_label_part.rb#73 + def to_json(*args); end + + # The tooltip text when you hover over this label part. Depending on + # the client capability `inlayHint.resolveSupport` clients might resolve + # this property late using the resolve request. + # + # @return [string | MarkupContent] + # + # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_label_part.rb#34 + def tooltip; end + + # The value of this label part. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_label_part.rb#24 + def value; end +end + +# Inlay hint options used during static registration. +# +# source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_options.rb#7 +class LanguageServer::Protocol::Interface::InlayHintOptions + # @return [InlayHintOptions] a new instance of InlayHintOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_options.rb#8 + def initialize(work_done_progress: T.unsafe(nil), resolve_provider: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_options.rb#31 + def attributes; end + + # The server provides support to resolve additional + # information for an inlay hint item. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_options.rb#27 + def resolve_provider; end + + # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_options.rb#33 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_options.rb#37 + def to_json(*args); end + + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_options.rb#18 + def work_done_progress; end +end + +# A parameter literal used in inlay hint requests. +# +# source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_params.rb#7 +class LanguageServer::Protocol::Interface::InlayHintParams + # @return [InlayHintParams] a new instance of InlayHintParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_params.rb#8 + def initialize(text_document:, range:, work_done_token: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_params.rb#42 + def attributes; end + + # The visible document range for which inlay hints should be computed. + # + # @return [Range] + # + # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_params.rb#38 + def range; end + + # The text document. + # + # @return [TextDocumentIdentifier] + # + # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_params.rb#30 + def text_document; end + + # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_params.rb#44 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_params.rb#48 + def to_json(*args); end + + # An optional token that a server can use to report work done progress. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_params.rb#22 + def work_done_token; end +end + +# Inlay hint options used during static or dynamic registration. +# +# source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_registration_options.rb#7 +class LanguageServer::Protocol::Interface::InlayHintRegistrationOptions + # @return [InlayHintRegistrationOptions] a new instance of InlayHintRegistrationOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_registration_options.rb#8 + def initialize(document_selector:, work_done_progress: T.unsafe(nil), resolve_provider: T.unsafe(nil), id: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_registration_options.rb#51 + def attributes; end + + # A document selector to identify the scope of the registration. If set to + # null the document selector provided on the client side will be used. + # + # @return [DocumentSelector] + # + # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_registration_options.rb#38 + def document_selector; end + + # The id used to register the request. The id can be used to deregister + # the request again. See also Registration#id. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_registration_options.rb#47 + def id; end + + # The server provides support to resolve additional + # information for an inlay hint item. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_registration_options.rb#29 + def resolve_provider; end + + # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_registration_options.rb#53 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_registration_options.rb#57 + def to_json(*args); end + + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_registration_options.rb#20 + def work_done_progress; end +end + +# Client workspace capabilities specific to inlay hints. +# +# source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_workspace_client_capabilities.rb#7 +class LanguageServer::Protocol::Interface::InlayHintWorkspaceClientCapabilities + # @return [InlayHintWorkspaceClientCapabilities] a new instance of InlayHintWorkspaceClientCapabilities + # + # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_workspace_client_capabilities.rb#8 + def initialize(refresh_support: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_workspace_client_capabilities.rb#30 + def attributes; end + + # Whether the client implementation supports a refresh request sent from + # the server to the client. + # + # Note that this event is global and will force the client to refresh all + # inlay hints currently shown. It should be used with absolute care and + # is useful for situation where a server for example detects a project wide + # change that requires such a calculation. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_workspace_client_capabilities.rb#26 + def refresh_support; end + + # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_workspace_client_capabilities.rb#32 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_workspace_client_capabilities.rb#36 + def to_json(*args); end +end + +# Client capabilities specific to inline values. +# +# source://language_server-protocol//lib/language_server/protocol/interface/inline_value_client_capabilities.rb#7 +class LanguageServer::Protocol::Interface::InlineValueClientCapabilities + # @return [InlineValueClientCapabilities] a new instance of InlineValueClientCapabilities + # + # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_client_capabilities.rb#8 + def initialize(dynamic_registration: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_client_capabilities.rb#25 + def attributes; end + + # Whether implementation supports dynamic registration for inline + # value providers. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_client_capabilities.rb#21 + def dynamic_registration; end + + # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_client_capabilities.rb#27 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_client_capabilities.rb#31 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/inline_value_context.rb#4 +class LanguageServer::Protocol::Interface::InlineValueContext + # @return [InlineValueContext] a new instance of InlineValueContext + # + # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_context.rb#5 + def initialize(frame_id:, stopped_location:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_context.rb#32 + def attributes; end + + # The stack frame (as a DAP Id) where the execution has stopped. + # + # @return [number] + # + # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_context.rb#18 + def frame_id; end + + # The document range where execution has stopped. + # Typically the end position of the range denotes the line where the + # inline values are shown. + # + # @return [Range] + # + # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_context.rb#28 + def stopped_location; end + + # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_context.rb#34 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_context.rb#38 + def to_json(*args); end +end + +# Provide an inline value through an expression evaluation. +# +# If only a range is specified, the expression will be extracted from the +# underlying document. +# +# An optional expression can be used to override the extracted expression. +# +# source://language_server-protocol//lib/language_server/protocol/interface/inline_value_evaluatable_expression.rb#12 +class LanguageServer::Protocol::Interface::InlineValueEvaluatableExpression + # @return [InlineValueEvaluatableExpression] a new instance of InlineValueEvaluatableExpression + # + # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_evaluatable_expression.rb#13 + def initialize(range:, expression: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_evaluatable_expression.rb#40 + def attributes; end + + # If specified the expression overrides the extracted expression. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_evaluatable_expression.rb#36 + def expression; end + + # The document range for which the inline value applies. + # The range is used to extract the evaluatable expression from the + # underlying document. + # + # @return [Range] + # + # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_evaluatable_expression.rb#28 + def range; end + + # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_evaluatable_expression.rb#42 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_evaluatable_expression.rb#46 + def to_json(*args); end +end + +# Inline value options used during static registration. +# +# source://language_server-protocol//lib/language_server/protocol/interface/inline_value_options.rb#7 +class LanguageServer::Protocol::Interface::InlineValueOptions + # @return [InlineValueOptions] a new instance of InlineValueOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_options.rb#8 + def initialize(work_done_progress: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_options.rb#21 + def attributes; end + + # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_options.rb#23 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_options.rb#27 + def to_json(*args); end + + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_options.rb#17 + def work_done_progress; end +end + +# A parameter literal used in inline value requests. +# +# source://language_server-protocol//lib/language_server/protocol/interface/inline_value_params.rb#7 +class LanguageServer::Protocol::Interface::InlineValueParams + # @return [InlineValueParams] a new instance of InlineValueParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_params.rb#8 + def initialize(text_document:, range:, context:, work_done_token: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_params.rb#52 + def attributes; end + + # Additional information about the context in which inline values were + # requested. + # + # @return [InlineValueContext] + # + # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_params.rb#48 + def context; end + + # The document range for which inline values should be computed. + # + # @return [Range] + # + # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_params.rb#39 + def range; end + + # The text document. + # + # @return [TextDocumentIdentifier] + # + # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_params.rb#31 + def text_document; end + + # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_params.rb#54 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_params.rb#58 + def to_json(*args); end + + # An optional token that a server can use to report work done progress. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_params.rb#23 + def work_done_token; end +end + +# Inline value options used during static or dynamic registration. +# +# source://language_server-protocol//lib/language_server/protocol/interface/inline_value_registration_options.rb#7 +class LanguageServer::Protocol::Interface::InlineValueRegistrationOptions + # @return [InlineValueRegistrationOptions] a new instance of InlineValueRegistrationOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_registration_options.rb#8 + def initialize(document_selector:, work_done_progress: T.unsafe(nil), id: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_registration_options.rb#41 + def attributes; end + + # A document selector to identify the scope of the registration. If set to + # null the document selector provided on the client side will be used. + # + # @return [DocumentSelector] + # + # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_registration_options.rb#28 + def document_selector; end + + # The id used to register the request. The id can be used to deregister + # the request again. See also Registration#id. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_registration_options.rb#37 + def id; end + + # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_registration_options.rb#43 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_registration_options.rb#47 + def to_json(*args); end + + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_registration_options.rb#19 + def work_done_progress; end +end + +# Provide inline value as text. +# +# source://language_server-protocol//lib/language_server/protocol/interface/inline_value_text.rb#7 +class LanguageServer::Protocol::Interface::InlineValueText + # @return [InlineValueText] a new instance of InlineValueText + # + # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_text.rb#8 + def initialize(range:, text:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_text.rb#33 + def attributes; end + + # The document range for which the inline value applies. + # + # @return [Range] + # + # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_text.rb#21 + def range; end + + # The text of the inline value. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_text.rb#29 + def text; end + + # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_text.rb#35 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_text.rb#39 + def to_json(*args); end +end + +# Provide inline value through a variable lookup. +# +# If only a range is specified, the variable name will be extracted from +# the underlying document. +# +# An optional variable name can be used to override the extracted name. +# +# source://language_server-protocol//lib/language_server/protocol/interface/inline_value_variable_lookup.rb#12 +class LanguageServer::Protocol::Interface::InlineValueVariableLookup + # @return [InlineValueVariableLookup] a new instance of InlineValueVariableLookup + # + # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_variable_lookup.rb#13 + def initialize(range:, case_sensitive_lookup:, variable_name: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_variable_lookup.rb#49 + def attributes; end + + # How to perform the lookup. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_variable_lookup.rb#45 + def case_sensitive_lookup; end + + # The document range for which the inline value applies. + # The range is used to extract the variable name from the underlying + # document. + # + # @return [Range] + # + # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_variable_lookup.rb#29 + def range; end + + # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_variable_lookup.rb#51 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_variable_lookup.rb#55 + def to_json(*args); end + + # If specified the name of the variable to look up. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_variable_lookup.rb#37 + def variable_name; end +end + +# Client workspace capabilities specific to inline values. +# +# source://language_server-protocol//lib/language_server/protocol/interface/inline_value_workspace_client_capabilities.rb#7 +class LanguageServer::Protocol::Interface::InlineValueWorkspaceClientCapabilities + # @return [InlineValueWorkspaceClientCapabilities] a new instance of InlineValueWorkspaceClientCapabilities + # + # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_workspace_client_capabilities.rb#8 + def initialize(refresh_support: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_workspace_client_capabilities.rb#30 + def attributes; end + + # Whether the client implementation supports a refresh request sent from + # the server to the client. + # + # Note that this event is global and will force the client to refresh all + # inline values currently shown. It should be used with absolute care and + # is useful for situation where a server for example detect a project wide + # change that requires such a calculation. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_workspace_client_capabilities.rb#26 + def refresh_support; end + + # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_workspace_client_capabilities.rb#32 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_workspace_client_capabilities.rb#36 + def to_json(*args); end +end + +# A special text edit to provide an insert and a replace operation. +# +# source://language_server-protocol//lib/language_server/protocol/interface/insert_replace_edit.rb#7 +class LanguageServer::Protocol::Interface::InsertReplaceEdit + # @return [InsertReplaceEdit] a new instance of InsertReplaceEdit + # + # source://language_server-protocol//lib/language_server/protocol/interface/insert_replace_edit.rb#8 + def initialize(new_text:, insert:, replace:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/insert_replace_edit.rb#42 + def attributes; end + + # The range if the insert is requested + # + # @return [Range] + # + # source://language_server-protocol//lib/language_server/protocol/interface/insert_replace_edit.rb#30 + def insert; end + + # The string to be inserted. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/insert_replace_edit.rb#22 + def new_text; end + + # The range if the replace is requested. + # + # @return [Range] + # + # source://language_server-protocol//lib/language_server/protocol/interface/insert_replace_edit.rb#38 + def replace; end + + # source://language_server-protocol//lib/language_server/protocol/interface/insert_replace_edit.rb#44 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/insert_replace_edit.rb#48 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_client_capabilities.rb#4 +class LanguageServer::Protocol::Interface::LinkedEditingRangeClientCapabilities + # @return [LinkedEditingRangeClientCapabilities] a new instance of LinkedEditingRangeClientCapabilities + # + # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_client_capabilities.rb#5 + def initialize(dynamic_registration: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_client_capabilities.rb#24 + def attributes; end + + # Whether the implementation supports dynamic registration. + # If this is set to `true` the client supports the new + # `(TextDocumentRegistrationOptions & StaticRegistrationOptions)` + # return value for the corresponding server capability as well. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_client_capabilities.rb#20 + def dynamic_registration; end + + # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_client_capabilities.rb#26 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_client_capabilities.rb#30 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_options.rb#4 +class LanguageServer::Protocol::Interface::LinkedEditingRangeOptions + # @return [LinkedEditingRangeOptions] a new instance of LinkedEditingRangeOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_options.rb#5 + def initialize(work_done_progress: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_options.rb#18 + def attributes; end + + # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_options.rb#20 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_options.rb#24 + def to_json(*args); end + + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_options.rb#14 + def work_done_progress; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_params.rb#4 +class LanguageServer::Protocol::Interface::LinkedEditingRangeParams + # @return [LinkedEditingRangeParams] a new instance of LinkedEditingRangeParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_params.rb#5 + def initialize(text_document:, position:, work_done_token: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_params.rb#39 + def attributes; end + + # The position inside the text document. + # + # @return [Position] + # + # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_params.rb#27 + def position; end + + # The text document. + # + # @return [TextDocumentIdentifier] + # + # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_params.rb#19 + def text_document; end + + # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_params.rb#41 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_params.rb#45 + def to_json(*args); end + + # An optional token that a server can use to report work done progress. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_params.rb#35 + def work_done_token; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_registration_options.rb#4 +class LanguageServer::Protocol::Interface::LinkedEditingRangeRegistrationOptions + # @return [LinkedEditingRangeRegistrationOptions] a new instance of LinkedEditingRangeRegistrationOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_registration_options.rb#5 + def initialize(document_selector:, work_done_progress: T.unsafe(nil), id: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_registration_options.rb#38 + def attributes; end + + # A document selector to identify the scope of the registration. If set to + # null the document selector provided on the client side will be used. + # + # @return [DocumentSelector] + # + # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_registration_options.rb#20 + def document_selector; end + + # The id used to register the request. The id can be used to deregister + # the request again. See also Registration#id. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_registration_options.rb#34 + def id; end + + # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_registration_options.rb#40 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_registration_options.rb#44 + def to_json(*args); end + + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_registration_options.rb#25 + def work_done_progress; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_ranges.rb#4 +class LanguageServer::Protocol::Interface::LinkedEditingRanges + # @return [LinkedEditingRanges] a new instance of LinkedEditingRanges + # + # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_ranges.rb#5 + def initialize(ranges:, word_pattern: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_ranges.rb#34 + def attributes; end + + # A list of ranges that can be renamed together. The ranges must have + # identical length and contain identical text content. The ranges cannot + # overlap. + # + # @return [Range[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_ranges.rb#20 + def ranges; end + + # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_ranges.rb#36 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_ranges.rb#40 + def to_json(*args); end + + # An optional word pattern (regular expression) that describes valid + # contents for the given ranges. If no pattern is provided, the client + # configuration's word pattern will be used. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_ranges.rb#30 + def word_pattern; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/location.rb#4 +class LanguageServer::Protocol::Interface::Location + # @return [Location] a new instance of Location + # + # source://language_server-protocol//lib/language_server/protocol/interface/location.rb#5 + def initialize(uri:, range:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/location.rb#24 + def attributes; end + + # @return [Range] + # + # source://language_server-protocol//lib/language_server/protocol/interface/location.rb#20 + def range; end + + # source://language_server-protocol//lib/language_server/protocol/interface/location.rb#26 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/location.rb#30 + def to_json(*args); end + + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/location.rb#15 + def uri; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/location_link.rb#4 +class LanguageServer::Protocol::Interface::LocationLink + # @return [LocationLink] a new instance of LocationLink + # + # source://language_server-protocol//lib/language_server/protocol/interface/location_link.rb#5 + def initialize(target_uri:, target_range:, target_selection_range:, origin_selection_range: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/location_link.rb#56 + def attributes; end + + # Span of the origin of this link. + # + # Used as the underlined span for mouse interaction. Defaults to the word + # range at the mouse position. + # + # @return [Range] + # + # source://language_server-protocol//lib/language_server/protocol/interface/location_link.rb#23 + def origin_selection_range; end + + # The full target range of this link. If the target for example is a symbol + # then target range is the range enclosing this symbol not including + # leading/trailing whitespace but everything else like comments. This + # information is typically used to highlight the range in the editor. + # + # @return [Range] + # + # source://language_server-protocol//lib/language_server/protocol/interface/location_link.rb#42 + def target_range; end + + # The range that should be selected and revealed when this link is being + # followed, e.g the name of a function. Must be contained by the + # `targetRange`. See also `DocumentSymbol#range` + # + # @return [Range] + # + # source://language_server-protocol//lib/language_server/protocol/interface/location_link.rb#52 + def target_selection_range; end + + # The target resource identifier of this link. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/location_link.rb#31 + def target_uri; end + + # source://language_server-protocol//lib/language_server/protocol/interface/location_link.rb#58 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/location_link.rb#62 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/log_message_params.rb#4 +class LanguageServer::Protocol::Interface::LogMessageParams + # @return [LogMessageParams] a new instance of LogMessageParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/log_message_params.rb#5 + def initialize(type:, message:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/log_message_params.rb#30 + def attributes; end + + # The actual message + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/log_message_params.rb#26 + def message; end + + # source://language_server-protocol//lib/language_server/protocol/interface/log_message_params.rb#32 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/log_message_params.rb#36 + def to_json(*args); end + + # The message type. See {@link MessageType} + # + # @return [MessageType] + # + # source://language_server-protocol//lib/language_server/protocol/interface/log_message_params.rb#18 + def type; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/log_trace_params.rb#4 +class LanguageServer::Protocol::Interface::LogTraceParams + # @return [LogTraceParams] a new instance of LogTraceParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/log_trace_params.rb#5 + def initialize(message:, verbose: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/log_trace_params.rb#31 + def attributes; end + + # The message to be logged. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/log_trace_params.rb#18 + def message; end + + # source://language_server-protocol//lib/language_server/protocol/interface/log_trace_params.rb#33 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/log_trace_params.rb#37 + def to_json(*args); end + + # Additional information that can be computed if the `trace` configuration + # is set to `'verbose'` + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/log_trace_params.rb#27 + def verbose; end +end + +# A `MarkupContent` literal represents a string value which content is +# interpreted base on its kind flag. Currently the protocol supports +# `plaintext` and `markdown` as markup kinds. +# +# If the kind is `markdown` then the value can contain fenced code blocks like +# in GitHub issues. +# +# Here is an example how such a string can be constructed using +# JavaScript / TypeScript: +# ```typescript +# let markdown: MarkdownContent = { +# kind: MarkupKind.Markdown, +# value: [ +# '# Header', +# 'Some text', +# '```typescript', +# 'someCode();', +# '```' +# ].join('\n') +# }; +# ``` +# +# *Please Note* that clients might sanitize the return markdown. A client could +# decide to remove HTML from the markdown to avoid script execution. +# +# source://language_server-protocol//lib/language_server/protocol/interface/markup_content.rb#30 +class LanguageServer::Protocol::Interface::MarkupContent + # @return [MarkupContent] a new instance of MarkupContent + # + # source://language_server-protocol//lib/language_server/protocol/interface/markup_content.rb#31 + def initialize(kind:, value:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/markup_content.rb#56 + def attributes; end + + # The type of the Markup + # + # @return [MarkupKind] + # + # source://language_server-protocol//lib/language_server/protocol/interface/markup_content.rb#44 + def kind; end + + # source://language_server-protocol//lib/language_server/protocol/interface/markup_content.rb#58 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/markup_content.rb#62 + def to_json(*args); end + + # The content itself + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/markup_content.rb#52 + def value; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/message.rb#4 +class LanguageServer::Protocol::Interface::Message + # @return [Message] a new instance of Message + # + # source://language_server-protocol//lib/language_server/protocol/interface/message.rb#5 + def initialize(jsonrpc:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/message.rb#18 + def attributes; end + + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/message.rb#14 + def jsonrpc; end + + # source://language_server-protocol//lib/language_server/protocol/interface/message.rb#20 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/message.rb#24 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/message_action_item.rb#4 +class LanguageServer::Protocol::Interface::MessageActionItem + # @return [MessageActionItem] a new instance of MessageActionItem + # + # source://language_server-protocol//lib/language_server/protocol/interface/message_action_item.rb#5 + def initialize(title:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/message_action_item.rb#21 + def attributes; end + + # A short title like 'Retry', 'Open Log' etc. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/message_action_item.rb#17 + def title; end + + # source://language_server-protocol//lib/language_server/protocol/interface/message_action_item.rb#23 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/message_action_item.rb#27 + def to_json(*args); end +end + +# Moniker definition to match LSIF 0.5 moniker definition. +# +# source://language_server-protocol//lib/language_server/protocol/interface/moniker.rb#7 +class LanguageServer::Protocol::Interface::Moniker + # @return [Moniker] a new instance of Moniker + # + # source://language_server-protocol//lib/language_server/protocol/interface/moniker.rb#8 + def initialize(scheme:, identifier:, unique:, kind: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/moniker.rb#52 + def attributes; end + + # The identifier of the moniker. The value is opaque in LSIF however + # schema owners are allowed to define the structure if they want. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/moniker.rb#32 + def identifier; end + + # The moniker kind if known. + # + # @return [MonikerKind] + # + # source://language_server-protocol//lib/language_server/protocol/interface/moniker.rb#48 + def kind; end + + # The scheme of the moniker. For example tsc or .Net + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/moniker.rb#23 + def scheme; end + + # source://language_server-protocol//lib/language_server/protocol/interface/moniker.rb#54 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/moniker.rb#58 + def to_json(*args); end + + # The scope in which the moniker is unique + # + # @return [UniquenessLevel] + # + # source://language_server-protocol//lib/language_server/protocol/interface/moniker.rb#40 + def unique; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/moniker_client_capabilities.rb#4 +class LanguageServer::Protocol::Interface::MonikerClientCapabilities + # @return [MonikerClientCapabilities] a new instance of MonikerClientCapabilities + # + # source://language_server-protocol//lib/language_server/protocol/interface/moniker_client_capabilities.rb#5 + def initialize(dynamic_registration: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/moniker_client_capabilities.rb#24 + def attributes; end + + # Whether implementation supports dynamic registration. If this is set to + # `true` the client supports the new `(TextDocumentRegistrationOptions & + # StaticRegistrationOptions)` return value for the corresponding server + # capability as well. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/moniker_client_capabilities.rb#20 + def dynamic_registration; end + + # source://language_server-protocol//lib/language_server/protocol/interface/moniker_client_capabilities.rb#26 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/moniker_client_capabilities.rb#30 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/moniker_options.rb#4 +class LanguageServer::Protocol::Interface::MonikerOptions + # @return [MonikerOptions] a new instance of MonikerOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/moniker_options.rb#5 + def initialize(work_done_progress: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/moniker_options.rb#18 + def attributes; end + + # source://language_server-protocol//lib/language_server/protocol/interface/moniker_options.rb#20 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/moniker_options.rb#24 + def to_json(*args); end + + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/moniker_options.rb#14 + def work_done_progress; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/moniker_params.rb#4 +class LanguageServer::Protocol::Interface::MonikerParams + # @return [MonikerParams] a new instance of MonikerParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/moniker_params.rb#5 + def initialize(text_document:, position:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/moniker_params.rb#49 + def attributes; end + + # An optional token that a server can use to report partial results (e.g. + # streaming) to the client. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/moniker_params.rb#45 + def partial_result_token; end + + # The position inside the text document. + # + # @return [Position] + # + # source://language_server-protocol//lib/language_server/protocol/interface/moniker_params.rb#28 + def position; end + + # The text document. + # + # @return [TextDocumentIdentifier] + # + # source://language_server-protocol//lib/language_server/protocol/interface/moniker_params.rb#20 + def text_document; end + + # source://language_server-protocol//lib/language_server/protocol/interface/moniker_params.rb#51 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/moniker_params.rb#55 + def to_json(*args); end + + # An optional token that a server can use to report work done progress. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/moniker_params.rb#36 + def work_done_token; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/moniker_registration_options.rb#4 +class LanguageServer::Protocol::Interface::MonikerRegistrationOptions + # @return [MonikerRegistrationOptions] a new instance of MonikerRegistrationOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/moniker_registration_options.rb#5 + def initialize(document_selector:, work_done_progress: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/moniker_registration_options.rb#28 + def attributes; end + + # A document selector to identify the scope of the registration. If set to + # null the document selector provided on the client side will be used. + # + # @return [DocumentSelector] + # + # source://language_server-protocol//lib/language_server/protocol/interface/moniker_registration_options.rb#19 + def document_selector; end + + # source://language_server-protocol//lib/language_server/protocol/interface/moniker_registration_options.rb#30 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/moniker_registration_options.rb#34 + def to_json(*args); end + + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/moniker_registration_options.rb#24 + def work_done_progress; end +end + +# A notebook cell. +# +# A cell's document URI must be unique across ALL notebook +# cells and can therefore be used to uniquely identify a +# notebook cell or the cell's text document. +# +# source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell.rb#11 +class LanguageServer::Protocol::Interface::NotebookCell + # @return [NotebookCell] a new instance of NotebookCell + # + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell.rb#12 + def initialize(kind:, document:, metadata: T.unsafe(nil), execution_summary: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell.rb#57 + def attributes; end + + # The URI of the cell's text document + # content. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell.rb#36 + def document; end + + # Additional execution summary information + # if supported by the client. + # + # @return [ExecutionSummary] + # + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell.rb#53 + def execution_summary; end + + # The cell's kind + # + # @return [any] + # + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell.rb#27 + def kind; end + + # Additional metadata stored with the cell. + # + # @return [LSPObject] + # + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell.rb#44 + def metadata; end + + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell.rb#59 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell.rb#63 + def to_json(*args); end +end + +# A change describing how to move a `NotebookCell` +# array from state S to S'. +# +# source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell_array_change.rb#8 +class LanguageServer::Protocol::Interface::NotebookCellArrayChange + # @return [NotebookCellArrayChange] a new instance of NotebookCellArrayChange + # + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell_array_change.rb#9 + def initialize(start:, delete_count:, cells: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell_array_change.rb#43 + def attributes; end + + # The new cells, if any + # + # @return [NotebookCell[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell_array_change.rb#39 + def cells; end + + # The deleted cells + # + # @return [number] + # + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell_array_change.rb#31 + def delete_count; end + + # The start offset of the cell that changed. + # + # @return [number] + # + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell_array_change.rb#23 + def start; end + + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell_array_change.rb#45 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell_array_change.rb#49 + def to_json(*args); end +end + +# A notebook cell text document filter denotes a cell text +# document by different properties. +# +# source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell_text_document_filter.rb#8 +class LanguageServer::Protocol::Interface::NotebookCellTextDocumentFilter + # @return [NotebookCellTextDocumentFilter] a new instance of NotebookCellTextDocumentFilter + # + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell_text_document_filter.rb#9 + def initialize(notebook:, language: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell_text_document_filter.rb#40 + def attributes; end + + # A language id like `python`. + # + # Will be matched against the language id of the + # notebook cell document. '*' matches every language. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell_text_document_filter.rb#36 + def language; end + + # A filter that matches against the notebook + # containing the notebook cell. If a string + # value is provided it matches against the + # notebook type. '*' matches every notebook. + # + # @return [string | NotebookDocumentFilter] + # + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell_text_document_filter.rb#25 + def notebook; end + + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell_text_document_filter.rb#42 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell_text_document_filter.rb#46 + def to_json(*args); end +end + +# A notebook document. +# +# source://language_server-protocol//lib/language_server/protocol/interface/notebook_document.rb#7 +class LanguageServer::Protocol::Interface::NotebookDocument + # @return [NotebookDocument] a new instance of NotebookDocument + # + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document.rb#8 + def initialize(uri:, notebook_type:, version:, cells:, metadata: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document.rb#62 + def attributes; end + + # The cells of a notebook. + # + # @return [NotebookCell[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document.rb#58 + def cells; end + + # Additional metadata stored with the notebook + # document. + # + # @return [LSPObject] + # + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document.rb#50 + def metadata; end + + # The type of the notebook. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document.rb#32 + def notebook_type; end + + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document.rb#64 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document.rb#68 + def to_json(*args); end + + # The notebook document's URI. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document.rb#24 + def uri; end + + # The version number of this document (it will increase after each + # change, including undo/redo). + # + # @return [number] + # + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document.rb#41 + def version; end +end + +# A change event for a notebook document. +# +# source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_change_event.rb#7 +class LanguageServer::Protocol::Interface::NotebookDocumentChangeEvent + # @return [NotebookDocumentChangeEvent] a new instance of NotebookDocumentChangeEvent + # + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_change_event.rb#8 + def initialize(metadata: T.unsafe(nil), cells: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_change_event.rb#33 + def attributes; end + + # Changes to cells + # + # @return [{ structure?: { array: NotebookCellArrayChange; didOpen?: TextDocumentItem[]; didClose?: TextDocumentIdentifier[]; }; data?: NotebookCell[]; textContent?: { ...; }[]; }] + # + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_change_event.rb#29 + def cells; end + + # The changed meta data if any. + # + # @return [LSPObject] + # + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_change_event.rb#21 + def metadata; end + + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_change_event.rb#35 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_change_event.rb#39 + def to_json(*args); end +end + +# Capabilities specific to the notebook document support. +# +# source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_client_capabilities.rb#7 +class LanguageServer::Protocol::Interface::NotebookDocumentClientCapabilities + # @return [NotebookDocumentClientCapabilities] a new instance of NotebookDocumentClientCapabilities + # + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_client_capabilities.rb#8 + def initialize(synchronization:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_client_capabilities.rb#24 + def attributes; end + + # Capabilities specific to notebook document synchronization + # + # @return [NotebookDocumentSyncClientCapabilities] + # + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_client_capabilities.rb#20 + def synchronization; end + + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_client_capabilities.rb#26 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_client_capabilities.rb#30 + def to_json(*args); end +end + +# A notebook document filter denotes a notebook document by +# different properties. +# +# source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_filter.rb#8 +class LanguageServer::Protocol::Interface::NotebookDocumentFilter + # @return [NotebookDocumentFilter] a new instance of NotebookDocumentFilter + # + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_filter.rb#9 + def initialize(notebook_type: T.unsafe(nil), scheme: T.unsafe(nil), pattern: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_filter.rb#67 + def attributes; end + + # The type of the enclosing notebook. + # + # --- OR --- + # + # The type of the enclosing notebook. + # + # --- OR --- + # + # The type of the enclosing notebook. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_filter.rb#31 + def notebook_type; end + + # A glob pattern. + # + # --- OR --- + # + # A glob pattern. + # + # --- OR --- + # + # A glob pattern. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_filter.rb#63 + def pattern; end + + # A Uri [scheme](#Uri.scheme), like `file` or `untitled`. + # + # --- OR --- + # + # A Uri [scheme](#Uri.scheme), like `file` or `untitled`. + # + # --- OR --- + # + # A Uri [scheme](#Uri.scheme), like `file` or `untitled`. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_filter.rb#47 + def scheme; end + + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_filter.rb#69 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_filter.rb#73 + def to_json(*args); end +end + +# A literal to identify a notebook document in the client. +# +# source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_identifier.rb#7 +class LanguageServer::Protocol::Interface::NotebookDocumentIdentifier + # @return [NotebookDocumentIdentifier] a new instance of NotebookDocumentIdentifier + # + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_identifier.rb#8 + def initialize(uri:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_identifier.rb#24 + def attributes; end + + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_identifier.rb#26 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_identifier.rb#30 + def to_json(*args); end + + # The notebook document's URI. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_identifier.rb#20 + def uri; end +end + +# Notebook specific client capabilities. +# +# source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_client_capabilities.rb#7 +class LanguageServer::Protocol::Interface::NotebookDocumentSyncClientCapabilities + # @return [NotebookDocumentSyncClientCapabilities] a new instance of NotebookDocumentSyncClientCapabilities + # + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_client_capabilities.rb#8 + def initialize(dynamic_registration: T.unsafe(nil), execution_summary_support: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_client_capabilities.rb#36 + def attributes; end + + # Whether implementation supports dynamic registration. If this is + # set to `true` the client supports the new + # `(TextDocumentRegistrationOptions & StaticRegistrationOptions)` + # return value for the corresponding server capability as well. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_client_capabilities.rb#24 + def dynamic_registration; end + + # The client supports sending execution summary data per cell. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_client_capabilities.rb#32 + def execution_summary_support; end + + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_client_capabilities.rb#38 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_client_capabilities.rb#42 + def to_json(*args); end +end + +# Options specific to a notebook plus its cells +# to be synced to the server. +# +# If a selector provides a notebook document +# filter but no cell selector all cells of a +# matching notebook document will be synced. +# +# If a selector provides no notebook document +# filter but only a cell selector all notebook +# documents that contain at least one matching +# cell will be synced. +# +# source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_options.rb#17 +class LanguageServer::Protocol::Interface::NotebookDocumentSyncOptions + # @return [NotebookDocumentSyncOptions] a new instance of NotebookDocumentSyncOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_options.rb#18 + def initialize(notebook_selector:, save: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_options.rb#44 + def attributes; end + + # The notebooks to be synced + # + # @return [({ notebook: string | NotebookDocumentFilter; cells?: { language: string; }[]; } | { notebook?: string | NotebookDocumentFilter; cells: { ...; }[]; })[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_options.rb#31 + def notebook_selector; end + + # Whether save notification should be forwarded to + # the server. Will only be honored if mode === `notebook`. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_options.rb#40 + def save; end + + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_options.rb#46 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_options.rb#50 + def to_json(*args); end +end + +# Registration options specific to a notebook. +# +# source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_registration_options.rb#7 +class LanguageServer::Protocol::Interface::NotebookDocumentSyncRegistrationOptions + # @return [NotebookDocumentSyncRegistrationOptions] a new instance of NotebookDocumentSyncRegistrationOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_registration_options.rb#8 + def initialize(notebook_selector:, save: T.unsafe(nil), id: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_registration_options.rb#44 + def attributes; end + + # The id used to register the request. The id can be used to deregister + # the request again. See also Registration#id. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_registration_options.rb#40 + def id; end + + # The notebooks to be synced + # + # @return [({ notebook: string | NotebookDocumentFilter; cells?: { language: string; }[]; } | { notebook?: string | NotebookDocumentFilter; cells: { ...; }[]; })[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_registration_options.rb#22 + def notebook_selector; end + + # Whether save notification should be forwarded to + # the server. Will only be honored if mode === `notebook`. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_registration_options.rb#31 + def save; end + + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_registration_options.rb#46 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_registration_options.rb#50 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/notification_message.rb#4 +class LanguageServer::Protocol::Interface::NotificationMessage + # @return [NotificationMessage] a new instance of NotificationMessage + # + # source://language_server-protocol//lib/language_server/protocol/interface/notification_message.rb#5 + def initialize(jsonrpc:, method:, params: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/notification_message.rb#36 + def attributes; end + + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/notification_message.rb#16 + def jsonrpc; end + + # The method to be invoked. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/notification_message.rb#24 + def method; end + + # The notification's params. + # + # @return [any] + # + # source://language_server-protocol//lib/language_server/protocol/interface/notification_message.rb#32 + def params; end + + # source://language_server-protocol//lib/language_server/protocol/interface/notification_message.rb#38 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/notification_message.rb#42 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/optional_versioned_text_document_identifier.rb#4 +class LanguageServer::Protocol::Interface::OptionalVersionedTextDocumentIdentifier + # @return [OptionalVersionedTextDocumentIdentifier] a new instance of OptionalVersionedTextDocumentIdentifier + # + # source://language_server-protocol//lib/language_server/protocol/interface/optional_versioned_text_document_identifier.rb#5 + def initialize(uri:, version:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/optional_versioned_text_document_identifier.rb#38 + def attributes; end + + # source://language_server-protocol//lib/language_server/protocol/interface/optional_versioned_text_document_identifier.rb#40 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/optional_versioned_text_document_identifier.rb#44 + def to_json(*args); end + + # The text document's URI. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/optional_versioned_text_document_identifier.rb#18 + def uri; end + + # The version number of this document. If an optional versioned text document + # identifier is sent from the server to the client and the file is not + # open in the editor (the server has not received an open notification + # before) the server can send `null` to indicate that the version is + # known and the content on disk is the master (as specified with document + # content ownership). + # + # The version number of a document will increase after each change, + # including undo/redo. The number doesn't need to be consecutive. + # + # @return [number] + # + # source://language_server-protocol//lib/language_server/protocol/interface/optional_versioned_text_document_identifier.rb#34 + def version; end +end + +# Represents a parameter of a callable-signature. A parameter can +# have a label and a doc-comment. +# +# source://language_server-protocol//lib/language_server/protocol/interface/parameter_information.rb#8 +class LanguageServer::Protocol::Interface::ParameterInformation + # @return [ParameterInformation] a new instance of ParameterInformation + # + # source://language_server-protocol//lib/language_server/protocol/interface/parameter_information.rb#9 + def initialize(label:, documentation: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/parameter_information.rb#44 + def attributes; end + + # The human-readable doc-comment of this parameter. Will be shown + # in the UI but can be omitted. + # + # @return [string | MarkupContent] + # + # source://language_server-protocol//lib/language_server/protocol/interface/parameter_information.rb#40 + def documentation; end + + # The label of this parameter information. + # + # Either a string or an inclusive start and exclusive end offsets within + # its containing signature label. (see SignatureInformation.label). The + # offsets are based on a UTF-16 string representation as `Position` and + # `Range` does. + # + # *Note*: a label of type string should be a substring of its containing + # signature label. Its intended use case is to highlight the parameter + # label part in the `SignatureInformation.label`. + # + # @return [string | [number, number]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/parameter_information.rb#31 + def label; end + + # source://language_server-protocol//lib/language_server/protocol/interface/parameter_information.rb#46 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/parameter_information.rb#50 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/partial_result_params.rb#4 +class LanguageServer::Protocol::Interface::PartialResultParams + # @return [PartialResultParams] a new instance of PartialResultParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/partial_result_params.rb#5 + def initialize(partial_result_token: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/partial_result_params.rb#22 + def attributes; end + + # An optional token that a server can use to report partial results (e.g. + # streaming) to the client. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/partial_result_params.rb#18 + def partial_result_token; end + + # source://language_server-protocol//lib/language_server/protocol/interface/partial_result_params.rb#24 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/partial_result_params.rb#28 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/position.rb#4 +class LanguageServer::Protocol::Interface::Position + # @return [Position] a new instance of Position + # + # source://language_server-protocol//lib/language_server/protocol/interface/position.rb#5 + def initialize(line:, character:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/position.rb#34 + def attributes; end + + # Character offset on a line in a document (zero-based). The meaning of this + # offset is determined by the negotiated `PositionEncodingKind`. + # + # If the character value is greater than the line length it defaults back + # to the line length. + # + # @return [number] + # + # source://language_server-protocol//lib/language_server/protocol/interface/position.rb#30 + def character; end + + # Line position in a document (zero-based). + # + # @return [number] + # + # source://language_server-protocol//lib/language_server/protocol/interface/position.rb#18 + def line; end + + # source://language_server-protocol//lib/language_server/protocol/interface/position.rb#36 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/position.rb#40 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/prepare_rename_params.rb#4 +class LanguageServer::Protocol::Interface::PrepareRenameParams + # @return [PrepareRenameParams] a new instance of PrepareRenameParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/prepare_rename_params.rb#5 + def initialize(text_document:, position:, work_done_token: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/prepare_rename_params.rb#39 + def attributes; end + + # The position inside the text document. + # + # @return [Position] + # + # source://language_server-protocol//lib/language_server/protocol/interface/prepare_rename_params.rb#27 + def position; end + + # The text document. + # + # @return [TextDocumentIdentifier] + # + # source://language_server-protocol//lib/language_server/protocol/interface/prepare_rename_params.rb#19 + def text_document; end + + # source://language_server-protocol//lib/language_server/protocol/interface/prepare_rename_params.rb#41 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/prepare_rename_params.rb#45 + def to_json(*args); end + + # An optional token that a server can use to report work done progress. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/prepare_rename_params.rb#35 + def work_done_token; end +end + +# A previous result id in a workspace pull request. +# +# source://language_server-protocol//lib/language_server/protocol/interface/previous_result_id.rb#7 +class LanguageServer::Protocol::Interface::PreviousResultId + # @return [PreviousResultId] a new instance of PreviousResultId + # + # source://language_server-protocol//lib/language_server/protocol/interface/previous_result_id.rb#8 + def initialize(uri:, value:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/previous_result_id.rb#34 + def attributes; end + + # source://language_server-protocol//lib/language_server/protocol/interface/previous_result_id.rb#36 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/previous_result_id.rb#40 + def to_json(*args); end + + # The URI for which the client knows a + # result id. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/previous_result_id.rb#22 + def uri; end + + # The value of the previous result id. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/previous_result_id.rb#30 + def value; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/progress_params.rb#4 +class LanguageServer::Protocol::Interface::ProgressParams + # @return [ProgressParams] a new instance of ProgressParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/progress_params.rb#5 + def initialize(token:, value:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/progress_params.rb#30 + def attributes; end + + # source://language_server-protocol//lib/language_server/protocol/interface/progress_params.rb#32 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/progress_params.rb#36 + def to_json(*args); end + + # The progress token provided by the client or server. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/progress_params.rb#18 + def token; end + + # The progress data. + # + # @return [T] + # + # source://language_server-protocol//lib/language_server/protocol/interface/progress_params.rb#26 + def value; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/publish_diagnostics_client_capabilities.rb#4 +class LanguageServer::Protocol::Interface::PublishDiagnosticsClientCapabilities + # @return [PublishDiagnosticsClientCapabilities] a new instance of PublishDiagnosticsClientCapabilities + # + # source://language_server-protocol//lib/language_server/protocol/interface/publish_diagnostics_client_capabilities.rb#5 + def initialize(related_information: T.unsafe(nil), tag_support: T.unsafe(nil), version_support: T.unsafe(nil), code_description_support: T.unsafe(nil), data_support: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/publish_diagnostics_client_capabilities.rb#61 + def attributes; end + + # Client supports a codeDescription property + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/publish_diagnostics_client_capabilities.rb#47 + def code_description_support; end + + # Whether code action supports the `data` property which is + # preserved between a `textDocument/publishDiagnostics` and + # `textDocument/codeAction` request. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/publish_diagnostics_client_capabilities.rb#57 + def data_support; end + + # Whether the clients accepts diagnostics with related information. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/publish_diagnostics_client_capabilities.rb#21 + def related_information; end + + # Client supports the tag property to provide meta data about a diagnostic. + # Clients supporting tags have to handle unknown tags gracefully. + # + # @return [{ valueSet: DiagnosticTag[]; }] + # + # source://language_server-protocol//lib/language_server/protocol/interface/publish_diagnostics_client_capabilities.rb#30 + def tag_support; end + + # source://language_server-protocol//lib/language_server/protocol/interface/publish_diagnostics_client_capabilities.rb#63 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/publish_diagnostics_client_capabilities.rb#67 + def to_json(*args); end + + # Whether the client interprets the version property of the + # `textDocument/publishDiagnostics` notification's parameter. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/publish_diagnostics_client_capabilities.rb#39 + def version_support; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/publish_diagnostics_params.rb#4 +class LanguageServer::Protocol::Interface::PublishDiagnosticsParams + # @return [PublishDiagnosticsParams] a new instance of PublishDiagnosticsParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/publish_diagnostics_params.rb#5 + def initialize(uri:, diagnostics:, version: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/publish_diagnostics_params.rb#40 + def attributes; end + + # An array of diagnostic information items. + # + # @return [Diagnostic[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/publish_diagnostics_params.rb#36 + def diagnostics; end + + # source://language_server-protocol//lib/language_server/protocol/interface/publish_diagnostics_params.rb#42 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/publish_diagnostics_params.rb#46 + def to_json(*args); end + + # The URI for which diagnostic information is reported. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/publish_diagnostics_params.rb#19 + def uri; end + + # Optional the version number of the document the diagnostics are published + # for. + # + # @return [number] + # + # source://language_server-protocol//lib/language_server/protocol/interface/publish_diagnostics_params.rb#28 + def version; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/range.rb#4 +class LanguageServer::Protocol::Interface::Range + # @return [Range] a new instance of Range + # + # source://language_server-protocol//lib/language_server/protocol/interface/range.rb#5 + def initialize(start:, end:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/range.rb#30 + def attributes; end + + # The range's end position. + # + # @return [Position] + # + # source://language_server-protocol//lib/language_server/protocol/interface/range.rb#26 + def end; end + + # The range's start position. + # + # @return [Position] + # + # source://language_server-protocol//lib/language_server/protocol/interface/range.rb#18 + def start; end + + # source://language_server-protocol//lib/language_server/protocol/interface/range.rb#32 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/range.rb#36 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/reference_client_capabilities.rb#4 +class LanguageServer::Protocol::Interface::ReferenceClientCapabilities + # @return [ReferenceClientCapabilities] a new instance of ReferenceClientCapabilities + # + # source://language_server-protocol//lib/language_server/protocol/interface/reference_client_capabilities.rb#5 + def initialize(dynamic_registration: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/reference_client_capabilities.rb#21 + def attributes; end + + # Whether references supports dynamic registration. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/reference_client_capabilities.rb#17 + def dynamic_registration; end + + # source://language_server-protocol//lib/language_server/protocol/interface/reference_client_capabilities.rb#23 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/reference_client_capabilities.rb#27 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/reference_context.rb#4 +class LanguageServer::Protocol::Interface::ReferenceContext + # @return [ReferenceContext] a new instance of ReferenceContext + # + # source://language_server-protocol//lib/language_server/protocol/interface/reference_context.rb#5 + def initialize(include_declaration:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/reference_context.rb#21 + def attributes; end + + # Include the declaration of the current symbol. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/reference_context.rb#17 + def include_declaration; end + + # source://language_server-protocol//lib/language_server/protocol/interface/reference_context.rb#23 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/reference_context.rb#27 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/reference_options.rb#4 +class LanguageServer::Protocol::Interface::ReferenceOptions + # @return [ReferenceOptions] a new instance of ReferenceOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/reference_options.rb#5 + def initialize(work_done_progress: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/reference_options.rb#18 + def attributes; end + + # source://language_server-protocol//lib/language_server/protocol/interface/reference_options.rb#20 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/reference_options.rb#24 + def to_json(*args); end + + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/reference_options.rb#14 + def work_done_progress; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/reference_params.rb#4 +class LanguageServer::Protocol::Interface::ReferenceParams + # @return [ReferenceParams] a new instance of ReferenceParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/reference_params.rb#5 + def initialize(text_document:, position:, context:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/reference_params.rb#55 + def attributes; end + + # @return [ReferenceContext] + # + # source://language_server-protocol//lib/language_server/protocol/interface/reference_params.rb#51 + def context; end + + # An optional token that a server can use to report partial results (e.g. + # streaming) to the client. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/reference_params.rb#46 + def partial_result_token; end + + # The position inside the text document. + # + # @return [Position] + # + # source://language_server-protocol//lib/language_server/protocol/interface/reference_params.rb#29 + def position; end + + # The text document. + # + # @return [TextDocumentIdentifier] + # + # source://language_server-protocol//lib/language_server/protocol/interface/reference_params.rb#21 + def text_document; end + + # source://language_server-protocol//lib/language_server/protocol/interface/reference_params.rb#57 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/reference_params.rb#61 + def to_json(*args); end + + # An optional token that a server can use to report work done progress. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/reference_params.rb#37 + def work_done_token; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/reference_registration_options.rb#4 +class LanguageServer::Protocol::Interface::ReferenceRegistrationOptions + # @return [ReferenceRegistrationOptions] a new instance of ReferenceRegistrationOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/reference_registration_options.rb#5 + def initialize(document_selector:, work_done_progress: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/reference_registration_options.rb#28 + def attributes; end + + # A document selector to identify the scope of the registration. If set to + # null the document selector provided on the client side will be used. + # + # @return [DocumentSelector] + # + # source://language_server-protocol//lib/language_server/protocol/interface/reference_registration_options.rb#19 + def document_selector; end + + # source://language_server-protocol//lib/language_server/protocol/interface/reference_registration_options.rb#30 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/reference_registration_options.rb#34 + def to_json(*args); end + + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/reference_registration_options.rb#24 + def work_done_progress; end +end + +# General parameters to register for a capability. +# +# source://language_server-protocol//lib/language_server/protocol/interface/registration.rb#7 +class LanguageServer::Protocol::Interface::Registration + # @return [Registration] a new instance of Registration + # + # source://language_server-protocol//lib/language_server/protocol/interface/registration.rb#8 + def initialize(id:, method:, register_options: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/registration.rb#43 + def attributes; end + + # The id used to register the request. The id can be used to deregister + # the request again. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/registration.rb#23 + def id; end + + # The method / capability to register for. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/registration.rb#31 + def method; end + + # Options necessary for the registration. + # + # @return [LSPAny] + # + # source://language_server-protocol//lib/language_server/protocol/interface/registration.rb#39 + def register_options; end + + # source://language_server-protocol//lib/language_server/protocol/interface/registration.rb#45 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/registration.rb#49 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/registration_params.rb#4 +class LanguageServer::Protocol::Interface::RegistrationParams + # @return [RegistrationParams] a new instance of RegistrationParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/registration_params.rb#5 + def initialize(registrations:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/registration_params.rb#18 + def attributes; end + + # @return [Registration[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/registration_params.rb#14 + def registrations; end + + # source://language_server-protocol//lib/language_server/protocol/interface/registration_params.rb#20 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/registration_params.rb#24 + def to_json(*args); end +end + +# Client capabilities specific to regular expressions. +# +# source://language_server-protocol//lib/language_server/protocol/interface/regular_expressions_client_capabilities.rb#7 +class LanguageServer::Protocol::Interface::RegularExpressionsClientCapabilities + # @return [RegularExpressionsClientCapabilities] a new instance of RegularExpressionsClientCapabilities + # + # source://language_server-protocol//lib/language_server/protocol/interface/regular_expressions_client_capabilities.rb#8 + def initialize(engine:, version: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/regular_expressions_client_capabilities.rb#33 + def attributes; end + + # The engine's name. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/regular_expressions_client_capabilities.rb#21 + def engine; end + + # source://language_server-protocol//lib/language_server/protocol/interface/regular_expressions_client_capabilities.rb#35 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/regular_expressions_client_capabilities.rb#39 + def to_json(*args); end + + # The engine's version. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/regular_expressions_client_capabilities.rb#29 + def version; end +end + +# A full diagnostic report with a set of related documents. +# +# source://language_server-protocol//lib/language_server/protocol/interface/related_full_document_diagnostic_report.rb#7 +class LanguageServer::Protocol::Interface::RelatedFullDocumentDiagnosticReport + # @return [RelatedFullDocumentDiagnosticReport] a new instance of RelatedFullDocumentDiagnosticReport + # + # source://language_server-protocol//lib/language_server/protocol/interface/related_full_document_diagnostic_report.rb#8 + def initialize(kind:, items:, result_id: T.unsafe(nil), related_documents: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/related_full_document_diagnostic_report.rb#57 + def attributes; end + + # The actual items. + # + # @return [Diagnostic[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/related_full_document_diagnostic_report.rb#41 + def items; end + + # A full document diagnostic report. + # + # @return [any] + # + # source://language_server-protocol//lib/language_server/protocol/interface/related_full_document_diagnostic_report.rb#23 + def kind; end + + # Diagnostics of related documents. This information is useful + # in programming languages where code in a file A can generate + # diagnostics in a file B which A depends on. An example of + # such a language is C/C++ where marco definitions in a file + # a.cpp and result in errors in a header file b.hpp. + # + # @return [{ [uri: string]: FullDocumentDiagnosticReport | UnchangedDocumentDiagnosticReport; }] + # + # source://language_server-protocol//lib/language_server/protocol/interface/related_full_document_diagnostic_report.rb#53 + def related_documents; end + + # An optional result id. If provided it will + # be sent on the next diagnostic request for the + # same document. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/related_full_document_diagnostic_report.rb#33 + def result_id; end + + # source://language_server-protocol//lib/language_server/protocol/interface/related_full_document_diagnostic_report.rb#59 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/related_full_document_diagnostic_report.rb#63 + def to_json(*args); end +end + +# An unchanged diagnostic report with a set of related documents. +# +# source://language_server-protocol//lib/language_server/protocol/interface/related_unchanged_document_diagnostic_report.rb#7 +class LanguageServer::Protocol::Interface::RelatedUnchangedDocumentDiagnosticReport + # @return [RelatedUnchangedDocumentDiagnosticReport] a new instance of RelatedUnchangedDocumentDiagnosticReport + # + # source://language_server-protocol//lib/language_server/protocol/interface/related_unchanged_document_diagnostic_report.rb#8 + def initialize(kind:, result_id:, related_documents: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/related_unchanged_document_diagnostic_report.rb#50 + def attributes; end + + # A document diagnostic report indicating + # no changes to the last result. A server can + # only return `unchanged` if result ids are + # provided. + # + # @return [any] + # + # source://language_server-protocol//lib/language_server/protocol/interface/related_unchanged_document_diagnostic_report.rb#25 + def kind; end + + # Diagnostics of related documents. This information is useful + # in programming languages where code in a file A can generate + # diagnostics in a file B which A depends on. An example of + # such a language is C/C++ where marco definitions in a file + # a.cpp and result in errors in a header file b.hpp. + # + # @return [{ [uri: string]: FullDocumentDiagnosticReport | UnchangedDocumentDiagnosticReport; }] + # + # source://language_server-protocol//lib/language_server/protocol/interface/related_unchanged_document_diagnostic_report.rb#46 + def related_documents; end + + # A result id which will be sent on the next + # diagnostic request for the same document. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/related_unchanged_document_diagnostic_report.rb#34 + def result_id; end + + # source://language_server-protocol//lib/language_server/protocol/interface/related_unchanged_document_diagnostic_report.rb#52 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/related_unchanged_document_diagnostic_report.rb#56 + def to_json(*args); end +end + +# A relative pattern is a helper to construct glob patterns that are matched +# relatively to a base URI. The common value for a `baseUri` is a workspace +# folder root, but it can be another absolute URI as well. +# +# source://language_server-protocol//lib/language_server/protocol/interface/relative_pattern.rb#9 +class LanguageServer::Protocol::Interface::RelativePattern + # @return [RelativePattern] a new instance of RelativePattern + # + # source://language_server-protocol//lib/language_server/protocol/interface/relative_pattern.rb#10 + def initialize(base_uri:, pattern:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/relative_pattern.rb#36 + def attributes; end + + # A workspace folder or a base URI to which this pattern will be matched + # against relatively. + # + # @return [string | WorkspaceFolder] + # + # source://language_server-protocol//lib/language_server/protocol/interface/relative_pattern.rb#24 + def base_uri; end + + # The actual glob pattern; + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/relative_pattern.rb#32 + def pattern; end + + # source://language_server-protocol//lib/language_server/protocol/interface/relative_pattern.rb#38 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/relative_pattern.rb#42 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/rename_client_capabilities.rb#4 +class LanguageServer::Protocol::Interface::RenameClientCapabilities + # @return [RenameClientCapabilities] a new instance of RenameClientCapabilities + # + # source://language_server-protocol//lib/language_server/protocol/interface/rename_client_capabilities.rb#5 + def initialize(dynamic_registration: T.unsafe(nil), prepare_support: T.unsafe(nil), prepare_support_default_behavior: T.unsafe(nil), honors_change_annotations: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/rename_client_capabilities.rb#57 + def attributes; end + + # Whether rename supports dynamic registration. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/rename_client_capabilities.rb#20 + def dynamic_registration; end + + # Whether the client honors the change annotations in + # text edits and resource operations returned via the + # rename request's workspace edit by for example presenting + # the workspace edit in the user interface and asking + # for confirmation. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/rename_client_capabilities.rb#53 + def honors_change_annotations; end + + # Client supports testing for validity of rename operations + # before execution. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/rename_client_capabilities.rb#29 + def prepare_support; end + + # Client supports the default behavior result + # (`{ defaultBehavior: boolean }`). + # + # The value indicates the default behavior used by the + # client. + # + # @return [1] + # + # source://language_server-protocol//lib/language_server/protocol/interface/rename_client_capabilities.rb#41 + def prepare_support_default_behavior; end + + # source://language_server-protocol//lib/language_server/protocol/interface/rename_client_capabilities.rb#59 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/rename_client_capabilities.rb#63 + def to_json(*args); end +end + +# Rename file operation +# +# source://language_server-protocol//lib/language_server/protocol/interface/rename_file.rb#7 +class LanguageServer::Protocol::Interface::RenameFile + # @return [RenameFile] a new instance of RenameFile + # + # source://language_server-protocol//lib/language_server/protocol/interface/rename_file.rb#8 + def initialize(kind:, old_uri:, new_uri:, options: T.unsafe(nil), annotation_id: T.unsafe(nil)); end + + # An optional annotation identifier describing the operation. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/rename_file.rb#56 + def annotation_id; end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/rename_file.rb#60 + def attributes; end + + # A rename + # + # @return ["rename"] + # + # source://language_server-protocol//lib/language_server/protocol/interface/rename_file.rb#24 + def kind; end + + # The new location. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/rename_file.rb#40 + def new_uri; end + + # The old (existing) location. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/rename_file.rb#32 + def old_uri; end + + # Rename options. + # + # @return [RenameFileOptions] + # + # source://language_server-protocol//lib/language_server/protocol/interface/rename_file.rb#48 + def options; end + + # source://language_server-protocol//lib/language_server/protocol/interface/rename_file.rb#62 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/rename_file.rb#66 + def to_json(*args); end +end + +# Rename file options +# +# source://language_server-protocol//lib/language_server/protocol/interface/rename_file_options.rb#7 +class LanguageServer::Protocol::Interface::RenameFileOptions + # @return [RenameFileOptions] a new instance of RenameFileOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/rename_file_options.rb#8 + def initialize(overwrite: T.unsafe(nil), ignore_if_exists: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/rename_file_options.rb#33 + def attributes; end + + # Ignores if target exists. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/rename_file_options.rb#29 + def ignore_if_exists; end + + # Overwrite target if existing. Overwrite wins over `ignoreIfExists` + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/rename_file_options.rb#21 + def overwrite; end + + # source://language_server-protocol//lib/language_server/protocol/interface/rename_file_options.rb#35 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/rename_file_options.rb#39 + def to_json(*args); end +end + +# The parameters sent in notifications/requests for user-initiated renames +# of files. +# +# source://language_server-protocol//lib/language_server/protocol/interface/rename_files_params.rb#8 +class LanguageServer::Protocol::Interface::RenameFilesParams + # @return [RenameFilesParams] a new instance of RenameFilesParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/rename_files_params.rb#9 + def initialize(files:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/rename_files_params.rb#26 + def attributes; end + + # An array of all files/folders renamed in this operation. When a folder + # is renamed, only the folder will be included, and not its children. + # + # @return [FileRename[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/rename_files_params.rb#22 + def files; end + + # source://language_server-protocol//lib/language_server/protocol/interface/rename_files_params.rb#28 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/rename_files_params.rb#32 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/rename_options.rb#4 +class LanguageServer::Protocol::Interface::RenameOptions + # @return [RenameOptions] a new instance of RenameOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/rename_options.rb#5 + def initialize(work_done_progress: T.unsafe(nil), prepare_provider: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/rename_options.rb#27 + def attributes; end + + # Renames should be checked and tested before being executed. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/rename_options.rb#23 + def prepare_provider; end + + # source://language_server-protocol//lib/language_server/protocol/interface/rename_options.rb#29 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/rename_options.rb#33 + def to_json(*args); end + + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/rename_options.rb#15 + def work_done_progress; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/rename_params.rb#4 +class LanguageServer::Protocol::Interface::RenameParams + # @return [RenameParams] a new instance of RenameParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/rename_params.rb#5 + def initialize(text_document:, position:, new_name:, work_done_token: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/rename_params.rb#50 + def attributes; end + + # The new name of the symbol. If the given name is not valid the + # request must return a [ResponseError](#ResponseError) with an + # appropriate message set. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/rename_params.rb#46 + def new_name; end + + # The position inside the text document. + # + # @return [Position] + # + # source://language_server-protocol//lib/language_server/protocol/interface/rename_params.rb#28 + def position; end + + # The text document. + # + # @return [TextDocumentIdentifier] + # + # source://language_server-protocol//lib/language_server/protocol/interface/rename_params.rb#20 + def text_document; end + + # source://language_server-protocol//lib/language_server/protocol/interface/rename_params.rb#52 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/rename_params.rb#56 + def to_json(*args); end + + # An optional token that a server can use to report work done progress. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/rename_params.rb#36 + def work_done_token; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/rename_registration_options.rb#4 +class LanguageServer::Protocol::Interface::RenameRegistrationOptions + # @return [RenameRegistrationOptions] a new instance of RenameRegistrationOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/rename_registration_options.rb#5 + def initialize(document_selector:, work_done_progress: T.unsafe(nil), prepare_provider: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/rename_registration_options.rb#37 + def attributes; end + + # A document selector to identify the scope of the registration. If set to + # null the document selector provided on the client side will be used. + # + # @return [DocumentSelector] + # + # source://language_server-protocol//lib/language_server/protocol/interface/rename_registration_options.rb#20 + def document_selector; end + + # Renames should be checked and tested before being executed. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/rename_registration_options.rb#33 + def prepare_provider; end + + # source://language_server-protocol//lib/language_server/protocol/interface/rename_registration_options.rb#39 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/rename_registration_options.rb#43 + def to_json(*args); end + + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/rename_registration_options.rb#25 + def work_done_progress; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/request_message.rb#4 +class LanguageServer::Protocol::Interface::RequestMessage + # @return [RequestMessage] a new instance of RequestMessage + # + # source://language_server-protocol//lib/language_server/protocol/interface/request_message.rb#5 + def initialize(jsonrpc:, id:, method:, params: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/request_message.rb#45 + def attributes; end + + # The request id. + # + # @return [string | number] + # + # source://language_server-protocol//lib/language_server/protocol/interface/request_message.rb#25 + def id; end + + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/request_message.rb#17 + def jsonrpc; end + + # The method to be invoked. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/request_message.rb#33 + def method; end + + # The method's params. + # + # @return [any] + # + # source://language_server-protocol//lib/language_server/protocol/interface/request_message.rb#41 + def params; end + + # source://language_server-protocol//lib/language_server/protocol/interface/request_message.rb#47 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/request_message.rb#51 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/response_error.rb#4 +class LanguageServer::Protocol::Interface::ResponseError + # @return [ResponseError] a new instance of ResponseError + # + # source://language_server-protocol//lib/language_server/protocol/interface/response_error.rb#5 + def initialize(code:, message:, data: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/response_error.rb#40 + def attributes; end + + # A number indicating the error type that occurred. + # + # @return [number] + # + # source://language_server-protocol//lib/language_server/protocol/interface/response_error.rb#19 + def code; end + + # A primitive or structured value that contains additional + # information about the error. Can be omitted. + # + # @return [any] + # + # source://language_server-protocol//lib/language_server/protocol/interface/response_error.rb#36 + def data; end + + # A string providing a short description of the error. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/response_error.rb#27 + def message; end + + # source://language_server-protocol//lib/language_server/protocol/interface/response_error.rb#42 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/response_error.rb#46 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/response_message.rb#4 +class LanguageServer::Protocol::Interface::ResponseMessage + # @return [ResponseMessage] a new instance of ResponseMessage + # + # source://language_server-protocol//lib/language_server/protocol/interface/response_message.rb#5 + def initialize(jsonrpc:, id:, result: T.unsafe(nil), error: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/response_message.rb#46 + def attributes; end + + # The error object in case a request fails. + # + # @return [ResponseError] + # + # source://language_server-protocol//lib/language_server/protocol/interface/response_message.rb#42 + def error; end + + # The request id. + # + # @return [string | number] + # + # source://language_server-protocol//lib/language_server/protocol/interface/response_message.rb#25 + def id; end + + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/response_message.rb#17 + def jsonrpc; end + + # The result of a request. This member is REQUIRED on success. + # This member MUST NOT exist if there was an error invoking the method. + # + # @return [string | number | boolean | object] + # + # source://language_server-protocol//lib/language_server/protocol/interface/response_message.rb#34 + def result; end + + # source://language_server-protocol//lib/language_server/protocol/interface/response_message.rb#48 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/response_message.rb#52 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/save_options.rb#4 +class LanguageServer::Protocol::Interface::SaveOptions + # @return [SaveOptions] a new instance of SaveOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/save_options.rb#5 + def initialize(include_text: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/save_options.rb#21 + def attributes; end + + # The client is supposed to include the content on save. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/save_options.rb#17 + def include_text; end + + # source://language_server-protocol//lib/language_server/protocol/interface/save_options.rb#23 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/save_options.rb#27 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/selection_range.rb#4 +class LanguageServer::Protocol::Interface::SelectionRange + # @return [SelectionRange] a new instance of SelectionRange + # + # source://language_server-protocol//lib/language_server/protocol/interface/selection_range.rb#5 + def initialize(range:, parent: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/selection_range.rb#31 + def attributes; end + + # The parent selection range containing this range. Therefore + # `parent.range` must contain `this.range`. + # + # @return [SelectionRange] + # + # source://language_server-protocol//lib/language_server/protocol/interface/selection_range.rb#27 + def parent; end + + # The [range](#Range) of this selection range. + # + # @return [Range] + # + # source://language_server-protocol//lib/language_server/protocol/interface/selection_range.rb#18 + def range; end + + # source://language_server-protocol//lib/language_server/protocol/interface/selection_range.rb#33 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/selection_range.rb#37 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/selection_range_client_capabilities.rb#4 +class LanguageServer::Protocol::Interface::SelectionRangeClientCapabilities + # @return [SelectionRangeClientCapabilities] a new instance of SelectionRangeClientCapabilities + # + # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_client_capabilities.rb#5 + def initialize(dynamic_registration: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_client_capabilities.rb#24 + def attributes; end + + # Whether implementation supports dynamic registration for selection range + # providers. If this is set to `true` the client supports the new + # `SelectionRangeRegistrationOptions` return value for the corresponding + # server capability as well. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_client_capabilities.rb#20 + def dynamic_registration; end + + # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_client_capabilities.rb#26 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_client_capabilities.rb#30 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/selection_range_options.rb#4 +class LanguageServer::Protocol::Interface::SelectionRangeOptions + # @return [SelectionRangeOptions] a new instance of SelectionRangeOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_options.rb#5 + def initialize(work_done_progress: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_options.rb#18 + def attributes; end + + # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_options.rb#20 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_options.rb#24 + def to_json(*args); end + + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_options.rb#14 + def work_done_progress; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/selection_range_params.rb#4 +class LanguageServer::Protocol::Interface::SelectionRangeParams + # @return [SelectionRangeParams] a new instance of SelectionRangeParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_params.rb#5 + def initialize(text_document:, positions:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_params.rb#49 + def attributes; end + + # An optional token that a server can use to report partial results (e.g. + # streaming) to the client. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_params.rb#29 + def partial_result_token; end + + # The positions inside the text document. + # + # @return [Position[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_params.rb#45 + def positions; end + + # The text document. + # + # @return [TextDocumentIdentifier] + # + # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_params.rb#37 + def text_document; end + + # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_params.rb#51 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_params.rb#55 + def to_json(*args); end + + # An optional token that a server can use to report work done progress. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_params.rb#20 + def work_done_token; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/selection_range_registration_options.rb#4 +class LanguageServer::Protocol::Interface::SelectionRangeRegistrationOptions + # @return [SelectionRangeRegistrationOptions] a new instance of SelectionRangeRegistrationOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_registration_options.rb#5 + def initialize(document_selector:, work_done_progress: T.unsafe(nil), id: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_registration_options.rb#38 + def attributes; end + + # A document selector to identify the scope of the registration. If set to + # null the document selector provided on the client side will be used. + # + # @return [DocumentSelector] + # + # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_registration_options.rb#25 + def document_selector; end + + # The id used to register the request. The id can be used to deregister + # the request again. See also Registration#id. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_registration_options.rb#34 + def id; end + + # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_registration_options.rb#40 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_registration_options.rb#44 + def to_json(*args); end + + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_registration_options.rb#16 + def work_done_progress; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens.rb#4 +class LanguageServer::Protocol::Interface::SemanticTokens + # @return [SemanticTokens] a new instance of SemanticTokens + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens.rb#5 + def initialize(data:, result_id: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens.rb#33 + def attributes; end + + # The actual tokens. + # + # @return [number[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens.rb#29 + def data; end + + # An optional result id. If provided and clients support delta updating + # the client will include the result id in the next semantic token request. + # A server can then instead of computing all semantic tokens again simply + # send a delta. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens.rb#21 + def result_id; end + + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens.rb#35 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens.rb#39 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_client_capabilities.rb#4 +class LanguageServer::Protocol::Interface::SemanticTokensClientCapabilities + # @return [SemanticTokensClientCapabilities] a new instance of SemanticTokensClientCapabilities + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_client_capabilities.rb#5 + def initialize(requests:, token_types:, token_modifiers:, formats:, dynamic_registration: T.unsafe(nil), overlapping_token_support: T.unsafe(nil), multiline_token_support: T.unsafe(nil), server_cancel_support: T.unsafe(nil), augments_syntax_tokens: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_client_capabilities.rb#113 + def attributes; end + + # Whether the client uses semantic tokens to augment existing + # syntax tokens. If set to `true` client side created syntax + # tokens and semantic tokens are both used for colorization. If + # set to `false` the client only uses the returned semantic tokens + # for colorization. + # + # If the value is `undefined` then the client behavior is not + # specified. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_client_capabilities.rb#109 + def augments_syntax_tokens; end + + # Whether implementation supports dynamic registration. If this is set to + # `true` the client supports the new `(TextDocumentRegistrationOptions & + # StaticRegistrationOptions)` return value for the corresponding server + # capability as well. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_client_capabilities.rb#28 + def dynamic_registration; end + + # The formats the clients supports. + # + # @return ["relative"[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_client_capabilities.rb#67 + def formats; end + + # Whether the client supports tokens that can span multiple lines. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_client_capabilities.rb#83 + def multiline_token_support; end + + # Whether the client supports tokens that can overlap each other. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_client_capabilities.rb#75 + def overlapping_token_support; end + + # Which requests the client supports and might send to the server + # depending on the server's capability. Please note that clients might not + # show semantic tokens or degrade some of the user experience if a range + # or full request is advertised by the client but not provided by the + # server. If for example the client capability `requests.full` and + # `request.range` are both set to true but the server only provides a + # range provider the client might not render a minimap correctly or might + # even decide to not show any semantic tokens at all. + # + # @return [{ range?: boolean | {}; full?: boolean | { delta?: boolean; }; }] + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_client_capabilities.rb#43 + def requests; end + + # Whether the client allows the server to actively cancel a + # semantic token request, e.g. supports returning + # ErrorCodes.ServerCancelled. If a server does the client + # needs to retrigger the request. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_client_capabilities.rb#94 + def server_cancel_support; end + + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_client_capabilities.rb#115 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_client_capabilities.rb#119 + def to_json(*args); end + + # The token modifiers that the client supports. + # + # @return [string[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_client_capabilities.rb#59 + def token_modifiers; end + + # The token types that the client supports. + # + # @return [string[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_client_capabilities.rb#51 + def token_types; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta.rb#4 +class LanguageServer::Protocol::Interface::SemanticTokensDelta + # @return [SemanticTokensDelta] a new instance of SemanticTokensDelta + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta.rb#5 + def initialize(edits:, result_id: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta.rb#28 + def attributes; end + + # The semantic token edits to transform a previous result into a new + # result. + # + # @return [SemanticTokensEdit[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta.rb#24 + def edits; end + + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta.rb#15 + def result_id; end + + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta.rb#30 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta.rb#34 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta_params.rb#4 +class LanguageServer::Protocol::Interface::SemanticTokensDeltaParams + # @return [SemanticTokensDeltaParams] a new instance of SemanticTokensDeltaParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta_params.rb#5 + def initialize(text_document:, previous_result_id:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta_params.rb#50 + def attributes; end + + # An optional token that a server can use to report partial results (e.g. + # streaming) to the client. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta_params.rb#29 + def partial_result_token; end + + # The result id of a previous response. The result Id can either point to + # a full response or a delta response depending on what was received last. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta_params.rb#46 + def previous_result_id; end + + # The text document. + # + # @return [TextDocumentIdentifier] + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta_params.rb#37 + def text_document; end + + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta_params.rb#52 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta_params.rb#56 + def to_json(*args); end + + # An optional token that a server can use to report work done progress. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta_params.rb#20 + def work_done_token; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta_partial_result.rb#4 +class LanguageServer::Protocol::Interface::SemanticTokensDeltaPartialResult + # @return [SemanticTokensDeltaPartialResult] a new instance of SemanticTokensDeltaPartialResult + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta_partial_result.rb#5 + def initialize(edits:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta_partial_result.rb#18 + def attributes; end + + # @return [SemanticTokensEdit[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta_partial_result.rb#14 + def edits; end + + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta_partial_result.rb#20 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta_partial_result.rb#24 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_edit.rb#4 +class LanguageServer::Protocol::Interface::SemanticTokensEdit + # @return [SemanticTokensEdit] a new instance of SemanticTokensEdit + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_edit.rb#5 + def initialize(start:, delete_count:, data: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_edit.rb#39 + def attributes; end + + # The elements to insert. + # + # @return [number[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_edit.rb#35 + def data; end + + # The count of elements to remove. + # + # @return [number] + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_edit.rb#27 + def delete_count; end + + # The start offset of the edit. + # + # @return [number] + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_edit.rb#19 + def start; end + + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_edit.rb#41 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_edit.rb#45 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_legend.rb#4 +class LanguageServer::Protocol::Interface::SemanticTokensLegend + # @return [SemanticTokensLegend] a new instance of SemanticTokensLegend + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_legend.rb#5 + def initialize(token_types:, token_modifiers:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_legend.rb#30 + def attributes; end + + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_legend.rb#32 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_legend.rb#36 + def to_json(*args); end + + # The token modifiers a server uses. + # + # @return [string[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_legend.rb#26 + def token_modifiers; end + + # The token types a server uses. + # + # @return [string[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_legend.rb#18 + def token_types; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_options.rb#4 +class LanguageServer::Protocol::Interface::SemanticTokensOptions + # @return [SemanticTokensOptions] a new instance of SemanticTokensOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_options.rb#5 + def initialize(legend:, work_done_progress: T.unsafe(nil), range: T.unsafe(nil), full: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_options.rb#46 + def attributes; end + + # Server supports providing semantic tokens for a full document. + # + # @return [boolean | { delta?: boolean; }] + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_options.rb#42 + def full; end + + # The legend used by the server + # + # @return [SemanticTokensLegend] + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_options.rb#25 + def legend; end + + # Server supports providing semantic tokens for a specific range + # of a document. + # + # @return [boolean | {}] + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_options.rb#34 + def range; end + + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_options.rb#48 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_options.rb#52 + def to_json(*args); end + + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_options.rb#17 + def work_done_progress; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_params.rb#4 +class LanguageServer::Protocol::Interface::SemanticTokensParams + # @return [SemanticTokensParams] a new instance of SemanticTokensParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_params.rb#5 + def initialize(text_document:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_params.rb#40 + def attributes; end + + # An optional token that a server can use to report partial results (e.g. + # streaming) to the client. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_params.rb#28 + def partial_result_token; end + + # The text document. + # + # @return [TextDocumentIdentifier] + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_params.rb#36 + def text_document; end + + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_params.rb#42 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_params.rb#46 + def to_json(*args); end + + # An optional token that a server can use to report work done progress. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_params.rb#19 + def work_done_token; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_partial_result.rb#4 +class LanguageServer::Protocol::Interface::SemanticTokensPartialResult + # @return [SemanticTokensPartialResult] a new instance of SemanticTokensPartialResult + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_partial_result.rb#5 + def initialize(data:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_partial_result.rb#18 + def attributes; end + + # @return [number[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_partial_result.rb#14 + def data; end + + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_partial_result.rb#20 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_partial_result.rb#24 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_range_params.rb#4 +class LanguageServer::Protocol::Interface::SemanticTokensRangeParams + # @return [SemanticTokensRangeParams] a new instance of SemanticTokensRangeParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_range_params.rb#5 + def initialize(text_document:, range:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_range_params.rb#49 + def attributes; end + + # An optional token that a server can use to report partial results (e.g. + # streaming) to the client. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_range_params.rb#29 + def partial_result_token; end + + # The range the semantic tokens are requested for. + # + # @return [Range] + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_range_params.rb#45 + def range; end + + # The text document. + # + # @return [TextDocumentIdentifier] + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_range_params.rb#37 + def text_document; end + + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_range_params.rb#51 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_range_params.rb#55 + def to_json(*args); end + + # An optional token that a server can use to report work done progress. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_range_params.rb#20 + def work_done_token; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_registration_options.rb#4 +class LanguageServer::Protocol::Interface::SemanticTokensRegistrationOptions + # @return [SemanticTokensRegistrationOptions] a new instance of SemanticTokensRegistrationOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_registration_options.rb#5 + def initialize(document_selector:, legend:, work_done_progress: T.unsafe(nil), range: T.unsafe(nil), full: T.unsafe(nil), id: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_registration_options.rb#66 + def attributes; end + + # A document selector to identify the scope of the registration. If set to + # null the document selector provided on the client side will be used. + # + # @return [DocumentSelector] + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_registration_options.rb#23 + def document_selector; end + + # Server supports providing semantic tokens for a full document. + # + # @return [boolean | { delta?: boolean; }] + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_registration_options.rb#53 + def full; end + + # The id used to register the request. The id can be used to deregister + # the request again. See also Registration#id. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_registration_options.rb#62 + def id; end + + # The legend used by the server + # + # @return [SemanticTokensLegend] + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_registration_options.rb#36 + def legend; end + + # Server supports providing semantic tokens for a specific range + # of a document. + # + # @return [boolean | {}] + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_registration_options.rb#45 + def range; end + + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_registration_options.rb#68 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_registration_options.rb#72 + def to_json(*args); end + + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_registration_options.rb#28 + def work_done_progress; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_workspace_client_capabilities.rb#4 +class LanguageServer::Protocol::Interface::SemanticTokensWorkspaceClientCapabilities + # @return [SemanticTokensWorkspaceClientCapabilities] a new instance of SemanticTokensWorkspaceClientCapabilities + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_workspace_client_capabilities.rb#5 + def initialize(refresh_support: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_workspace_client_capabilities.rb#27 + def attributes; end + + # Whether the client implementation supports a refresh request sent from + # the server to the client. + # + # Note that this event is global and will force the client to refresh all + # semantic tokens currently shown. It should be used with absolute care + # and is useful for situation where a server for example detect a project + # wide change that requires such a calculation. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_workspace_client_capabilities.rb#23 + def refresh_support; end + + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_workspace_client_capabilities.rb#29 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_workspace_client_capabilities.rb#33 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#4 +class LanguageServer::Protocol::Interface::ServerCapabilities + # @return [ServerCapabilities] a new instance of ServerCapabilities + # + # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#5 + def initialize(position_encoding: T.unsafe(nil), text_document_sync: T.unsafe(nil), notebook_document_sync: T.unsafe(nil), completion_provider: T.unsafe(nil), hover_provider: T.unsafe(nil), signature_help_provider: T.unsafe(nil), declaration_provider: T.unsafe(nil), definition_provider: T.unsafe(nil), type_definition_provider: T.unsafe(nil), implementation_provider: T.unsafe(nil), references_provider: T.unsafe(nil), document_highlight_provider: T.unsafe(nil), document_symbol_provider: T.unsafe(nil), code_action_provider: T.unsafe(nil), code_lens_provider: T.unsafe(nil), document_link_provider: T.unsafe(nil), color_provider: T.unsafe(nil), document_formatting_provider: T.unsafe(nil), document_range_formatting_provider: T.unsafe(nil), document_on_type_formatting_provider: T.unsafe(nil), rename_provider: T.unsafe(nil), folding_range_provider: T.unsafe(nil), execute_command_provider: T.unsafe(nil), selection_range_provider: T.unsafe(nil), linked_editing_range_provider: T.unsafe(nil), call_hierarchy_provider: T.unsafe(nil), semantic_tokens_provider: T.unsafe(nil), moniker_provider: T.unsafe(nil), type_hierarchy_provider: T.unsafe(nil), inline_value_provider: T.unsafe(nil), inlay_hint_provider: T.unsafe(nil), diagnostic_provider: T.unsafe(nil), workspace_symbol_provider: T.unsafe(nil), workspace: T.unsafe(nil), experimental: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#340 + def attributes; end + + # The server provides call hierarchy support. + # + # @return [boolean | CallHierarchyOptions | CallHierarchyRegistrationOptions] + # + # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#264 + def call_hierarchy_provider; end + + # The server provides code actions. The `CodeActionOptions` return type is + # only valid if the client signals code action literal support via the + # property `textDocument.codeAction.codeActionLiteralSupport`. + # + # @return [boolean | CodeActionOptions] + # + # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#166 + def code_action_provider; end + + # The server provides code lens. + # + # @return [CodeLensOptions] + # + # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#174 + def code_lens_provider; end + + # The server provides color provider support. + # + # @return [boolean | DocumentColorOptions | DocumentColorRegistrationOptions] + # + # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#190 + def color_provider; end + + # The server provides completion support. + # + # @return [CompletionOptions] + # + # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#84 + def completion_provider; end + + # The server provides go to declaration support. + # + # @return [boolean | DeclarationOptions | DeclarationRegistrationOptions] + # + # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#108 + def declaration_provider; end + + # The server provides goto definition support. + # + # @return [boolean | DefinitionOptions] + # + # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#116 + def definition_provider; end + + # The server has support for pull model diagnostics. + # + # @return [DiagnosticOptions | DiagnosticRegistrationOptions] + # + # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#312 + def diagnostic_provider; end + + # The server provides document formatting. + # + # @return [boolean | DocumentFormattingOptions] + # + # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#198 + def document_formatting_provider; end + + # The server provides document highlight support. + # + # @return [boolean | DocumentHighlightOptions] + # + # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#148 + def document_highlight_provider; end + + # The server provides document link support. + # + # @return [DocumentLinkOptions] + # + # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#182 + def document_link_provider; end + + # The server provides document formatting on typing. + # + # @return [DocumentOnTypeFormattingOptions] + # + # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#214 + def document_on_type_formatting_provider; end + + # The server provides document range formatting. + # + # @return [boolean | DocumentRangeFormattingOptions] + # + # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#206 + def document_range_formatting_provider; end + + # The server provides document symbol support. + # + # @return [boolean | DocumentSymbolOptions] + # + # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#156 + def document_symbol_provider; end + + # The server provides execute command support. + # + # @return [ExecuteCommandOptions] + # + # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#240 + def execute_command_provider; end + + # Experimental server capabilities. + # + # @return [LSPAny] + # + # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#336 + def experimental; end + + # The server provides folding provider support. + # + # @return [boolean | FoldingRangeOptions | FoldingRangeRegistrationOptions] + # + # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#232 + def folding_range_provider; end + + # The server provides hover support. + # + # @return [boolean | HoverOptions] + # + # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#92 + def hover_provider; end + + # The server provides goto implementation support. + # + # @return [boolean | ImplementationOptions | ImplementationRegistrationOptions] + # + # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#132 + def implementation_provider; end + + # The server provides inlay hints. + # + # @return [boolean | InlayHintOptions | InlayHintRegistrationOptions] + # + # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#304 + def inlay_hint_provider; end + + # The server provides inline values. + # + # @return [boolean | InlineValueOptions | InlineValueRegistrationOptions] + # + # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#296 + def inline_value_provider; end + + # The server provides linked editing range support. + # + # @return [boolean | LinkedEditingRangeOptions | LinkedEditingRangeRegistrationOptions] + # + # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#256 + def linked_editing_range_provider; end + + # Whether server provides moniker support. + # + # @return [boolean | MonikerOptions | MonikerRegistrationOptions] + # + # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#280 + def moniker_provider; end + + # Defines how notebook documents are synced. + # + # @return [NotebookDocumentSyncOptions | NotebookDocumentSyncRegistrationOptions] + # + # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#76 + def notebook_document_sync; end + + # The position encoding the server picked from the encodings offered + # by the client via the client capability `general.positionEncodings`. + # + # If the client didn't provide any position encodings the only valid + # value that a server can return is 'utf-16'. + # + # If omitted it defaults to 'utf-16'. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#57 + def position_encoding; end + + # The server provides find references support. + # + # @return [boolean | ReferenceOptions] + # + # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#140 + def references_provider; end + + # The server provides rename support. RenameOptions may only be + # specified if the client states that it supports + # `prepareSupport` in its initial `initialize` request. + # + # @return [boolean | RenameOptions] + # + # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#224 + def rename_provider; end + + # The server provides selection range support. + # + # @return [boolean | SelectionRangeOptions | SelectionRangeRegistrationOptions] + # + # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#248 + def selection_range_provider; end + + # The server provides semantic tokens support. + # + # @return [SemanticTokensOptions | SemanticTokensRegistrationOptions] + # + # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#272 + def semantic_tokens_provider; end + + # The server provides signature help support. + # + # @return [SignatureHelpOptions] + # + # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#100 + def signature_help_provider; end + + # Defines how text documents are synced. Is either a detailed structure + # defining each notification or for backwards compatibility the + # TextDocumentSyncKind number. If omitted it defaults to + # `TextDocumentSyncKind.None`. + # + # @return [TextDocumentSyncOptions | TextDocumentSyncKind] + # + # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#68 + def text_document_sync; end + + # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#342 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#346 + def to_json(*args); end + + # The server provides goto type definition support. + # + # @return [boolean | TypeDefinitionOptions | TypeDefinitionRegistrationOptions] + # + # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#124 + def type_definition_provider; end + + # The server provides type hierarchy support. + # + # @return [boolean | TypeHierarchyOptions | TypeHierarchyRegistrationOptions] + # + # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#288 + def type_hierarchy_provider; end + + # Workspace specific server capabilities + # + # @return [{ workspaceFolders?: WorkspaceFoldersServerCapabilities; fileOperations?: { didCreate?: FileOperationRegistrationOptions; ... 4 more ...; willDelete?: FileOperationRegistrationOptions; }; }] + # + # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#328 + def workspace; end + + # The server provides workspace symbol support. + # + # @return [boolean | WorkspaceSymbolOptions] + # + # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#320 + def workspace_symbol_provider; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/set_trace_params.rb#4 +class LanguageServer::Protocol::Interface::SetTraceParams + # @return [SetTraceParams] a new instance of SetTraceParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/set_trace_params.rb#5 + def initialize(value:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/set_trace_params.rb#21 + def attributes; end + + # source://language_server-protocol//lib/language_server/protocol/interface/set_trace_params.rb#23 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/set_trace_params.rb#27 + def to_json(*args); end + + # The new value that should be assigned to the trace setting. + # + # @return [TraceValue] + # + # source://language_server-protocol//lib/language_server/protocol/interface/set_trace_params.rb#17 + def value; end +end + +# Client capabilities for the show document request. +# +# source://language_server-protocol//lib/language_server/protocol/interface/show_document_client_capabilities.rb#7 +class LanguageServer::Protocol::Interface::ShowDocumentClientCapabilities + # @return [ShowDocumentClientCapabilities] a new instance of ShowDocumentClientCapabilities + # + # source://language_server-protocol//lib/language_server/protocol/interface/show_document_client_capabilities.rb#8 + def initialize(support:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/show_document_client_capabilities.rb#25 + def attributes; end + + # The client has support for the show document + # request. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/show_document_client_capabilities.rb#21 + def support; end + + # source://language_server-protocol//lib/language_server/protocol/interface/show_document_client_capabilities.rb#27 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/show_document_client_capabilities.rb#31 + def to_json(*args); end +end + +# Params to show a resource. +# +# source://language_server-protocol//lib/language_server/protocol/interface/show_document_params.rb#7 +class LanguageServer::Protocol::Interface::ShowDocumentParams + # @return [ShowDocumentParams] a new instance of ShowDocumentParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/show_document_params.rb#8 + def initialize(uri:, external: T.unsafe(nil), take_focus: T.unsafe(nil), selection: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/show_document_params.rb#59 + def attributes; end + + # Indicates to show the resource in an external program. + # To show, for example, `https://code.visualstudio.com/` + # in the default WEB browser set `external` to `true`. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/show_document_params.rb#33 + def external; end + + # An optional selection range if the document is a text + # document. Clients might ignore the property if an + # external program is started or the file is not a text + # file. + # + # @return [Range] + # + # source://language_server-protocol//lib/language_server/protocol/interface/show_document_params.rb#55 + def selection; end + + # An optional property to indicate whether the editor + # showing the document should take focus or not. + # Clients might ignore this property if an external + # program is started. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/show_document_params.rb#44 + def take_focus; end + + # source://language_server-protocol//lib/language_server/protocol/interface/show_document_params.rb#61 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/show_document_params.rb#65 + def to_json(*args); end + + # The uri to show. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/show_document_params.rb#23 + def uri; end +end + +# The result of an show document request. +# +# source://language_server-protocol//lib/language_server/protocol/interface/show_document_result.rb#7 +class LanguageServer::Protocol::Interface::ShowDocumentResult + # @return [ShowDocumentResult] a new instance of ShowDocumentResult + # + # source://language_server-protocol//lib/language_server/protocol/interface/show_document_result.rb#8 + def initialize(success:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/show_document_result.rb#24 + def attributes; end + + # A boolean indicating if the show was successful. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/show_document_result.rb#20 + def success; end + + # source://language_server-protocol//lib/language_server/protocol/interface/show_document_result.rb#26 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/show_document_result.rb#30 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/show_message_params.rb#4 +class LanguageServer::Protocol::Interface::ShowMessageParams + # @return [ShowMessageParams] a new instance of ShowMessageParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/show_message_params.rb#5 + def initialize(type:, message:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/show_message_params.rb#30 + def attributes; end + + # The actual message. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/show_message_params.rb#26 + def message; end + + # source://language_server-protocol//lib/language_server/protocol/interface/show_message_params.rb#32 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/show_message_params.rb#36 + def to_json(*args); end + + # The message type. See {@link MessageType}. + # + # @return [MessageType] + # + # source://language_server-protocol//lib/language_server/protocol/interface/show_message_params.rb#18 + def type; end +end + +# Show message request client capabilities +# +# source://language_server-protocol//lib/language_server/protocol/interface/show_message_request_client_capabilities.rb#7 +class LanguageServer::Protocol::Interface::ShowMessageRequestClientCapabilities + # @return [ShowMessageRequestClientCapabilities] a new instance of ShowMessageRequestClientCapabilities + # + # source://language_server-protocol//lib/language_server/protocol/interface/show_message_request_client_capabilities.rb#8 + def initialize(message_action_item: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/show_message_request_client_capabilities.rb#24 + def attributes; end + + # Capabilities specific to the `MessageActionItem` type. + # + # @return [{ additionalPropertiesSupport?: boolean; }] + # + # source://language_server-protocol//lib/language_server/protocol/interface/show_message_request_client_capabilities.rb#20 + def message_action_item; end + + # source://language_server-protocol//lib/language_server/protocol/interface/show_message_request_client_capabilities.rb#26 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/show_message_request_client_capabilities.rb#30 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/show_message_request_params.rb#4 +class LanguageServer::Protocol::Interface::ShowMessageRequestParams + # @return [ShowMessageRequestParams] a new instance of ShowMessageRequestParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/show_message_request_params.rb#5 + def initialize(type:, message:, actions: T.unsafe(nil)); end + + # The message action items to present. + # + # @return [MessageActionItem[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/show_message_request_params.rb#35 + def actions; end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/show_message_request_params.rb#39 + def attributes; end + + # The actual message + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/show_message_request_params.rb#27 + def message; end + + # source://language_server-protocol//lib/language_server/protocol/interface/show_message_request_params.rb#41 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/show_message_request_params.rb#45 + def to_json(*args); end + + # The message type. See {@link MessageType} + # + # @return [MessageType] + # + # source://language_server-protocol//lib/language_server/protocol/interface/show_message_request_params.rb#19 + def type; end +end + +# Signature help represents the signature of something +# callable. There can be multiple signature but only one +# active and only one active parameter. +# +# source://language_server-protocol//lib/language_server/protocol/interface/signature_help.rb#9 +class LanguageServer::Protocol::Interface::SignatureHelp + # @return [SignatureHelp] a new instance of SignatureHelp + # + # source://language_server-protocol//lib/language_server/protocol/interface/signature_help.rb#10 + def initialize(signatures:, active_signature: T.unsafe(nil), active_parameter: T.unsafe(nil)); end + + # The active parameter of the active signature. If omitted or the value + # lies outside the range of `signatures[activeSignature].parameters` + # defaults to 0 if the active signature has parameters. If + # the active signature has no parameters it is ignored. + # In future version of the protocol this property might become + # mandatory to better express the active parameter if the + # active signature does have any. + # + # @return [number] + # + # source://language_server-protocol//lib/language_server/protocol/interface/signature_help.rb#55 + def active_parameter; end + + # The active signature. If omitted or the value lies outside the + # range of `signatures` the value defaults to zero or is ignore if + # the `SignatureHelp` as no signatures. + # + # Whenever possible implementors should make an active decision about + # the active signature and shouldn't rely on a default value. + # + # In future version of the protocol this property might become + # mandatory to better express this. + # + # @return [number] + # + # source://language_server-protocol//lib/language_server/protocol/interface/signature_help.rb#41 + def active_signature; end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/signature_help.rb#59 + def attributes; end + + # One or more signatures. If no signatures are available the signature help + # request should return `null`. + # + # @return [SignatureInformation[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/signature_help.rb#25 + def signatures; end + + # source://language_server-protocol//lib/language_server/protocol/interface/signature_help.rb#61 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/signature_help.rb#65 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/signature_help_client_capabilities.rb#4 +class LanguageServer::Protocol::Interface::SignatureHelpClientCapabilities + # @return [SignatureHelpClientCapabilities] a new instance of SignatureHelpClientCapabilities + # + # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_client_capabilities.rb#5 + def initialize(dynamic_registration: T.unsafe(nil), signature_information: T.unsafe(nil), context_support: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_client_capabilities.rb#43 + def attributes; end + + # The client supports to send additional context information for a + # `textDocument/signatureHelp` request. A client that opts into + # contextSupport will also support the `retriggerCharacters` on + # `SignatureHelpOptions`. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_client_capabilities.rb#39 + def context_support; end + + # Whether signature help supports dynamic registration. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_client_capabilities.rb#19 + def dynamic_registration; end + + # The client supports the following `SignatureInformation` + # specific properties. + # + # @return [{ documentationFormat?: MarkupKind[]; parameterInformation?: { labelOffsetSupport?: boolean; }; activeParameterSupport?: boolean; }] + # + # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_client_capabilities.rb#28 + def signature_information; end + + # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_client_capabilities.rb#45 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_client_capabilities.rb#49 + def to_json(*args); end +end + +# Additional information about the context in which a signature help request +# was triggered. +# +# source://language_server-protocol//lib/language_server/protocol/interface/signature_help_context.rb#8 +class LanguageServer::Protocol::Interface::SignatureHelpContext + # @return [SignatureHelpContext] a new instance of SignatureHelpContext + # + # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_context.rb#9 + def initialize(trigger_kind:, is_retrigger:, trigger_character: T.unsafe(nil), active_signature_help: T.unsafe(nil)); end + + # The currently active `SignatureHelp`. + # + # The `activeSignatureHelp` has its `SignatureHelp.activeSignature` field + # updated based on the user navigating through available signatures. + # + # @return [SignatureHelp] + # + # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_context.rb#58 + def active_signature_help; end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_context.rb#62 + def attributes; end + + # `true` if signature help was already showing when it was triggered. + # + # Retriggers occur when the signature help is already active and can be + # caused by actions such as typing a trigger character, a cursor move, or + # document content changes. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_context.rb#47 + def is_retrigger; end + + # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_context.rb#64 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_context.rb#68 + def to_json(*args); end + + # Character that caused signature help to be triggered. + # + # This is undefined when triggerKind !== + # SignatureHelpTriggerKind.TriggerCharacter + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_context.rb#35 + def trigger_character; end + + # Action that caused signature help to be triggered. + # + # @return [SignatureHelpTriggerKind] + # + # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_context.rb#24 + def trigger_kind; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/signature_help_options.rb#4 +class LanguageServer::Protocol::Interface::SignatureHelpOptions + # @return [SignatureHelpOptions] a new instance of SignatureHelpOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_options.rb#5 + def initialize(work_done_progress: T.unsafe(nil), trigger_characters: T.unsafe(nil), retrigger_characters: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_options.rb#41 + def attributes; end + + # List of characters that re-trigger signature help. + # + # These trigger characters are only active when signature help is already + # showing. All trigger characters are also counted as re-trigger + # characters. + # + # @return [string[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_options.rb#37 + def retrigger_characters; end + + # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_options.rb#43 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_options.rb#47 + def to_json(*args); end + + # The characters that trigger signature help + # automatically. + # + # @return [string[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_options.rb#25 + def trigger_characters; end + + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_options.rb#16 + def work_done_progress; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/signature_help_params.rb#4 +class LanguageServer::Protocol::Interface::SignatureHelpParams + # @return [SignatureHelpParams] a new instance of SignatureHelpParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_params.rb#5 + def initialize(text_document:, position:, work_done_token: T.unsafe(nil), context: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_params.rb#50 + def attributes; end + + # The signature help context. This is only available if the client + # specifies to send this using the client capability + # `textDocument.signatureHelp.contextSupport === true` + # + # @return [SignatureHelpContext] + # + # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_params.rb#46 + def context; end + + # The position inside the text document. + # + # @return [Position] + # + # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_params.rb#28 + def position; end + + # The text document. + # + # @return [TextDocumentIdentifier] + # + # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_params.rb#20 + def text_document; end + + # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_params.rb#52 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_params.rb#56 + def to_json(*args); end + + # An optional token that a server can use to report work done progress. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_params.rb#36 + def work_done_token; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/signature_help_registration_options.rb#4 +class LanguageServer::Protocol::Interface::SignatureHelpRegistrationOptions + # @return [SignatureHelpRegistrationOptions] a new instance of SignatureHelpRegistrationOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_registration_options.rb#5 + def initialize(document_selector:, work_done_progress: T.unsafe(nil), trigger_characters: T.unsafe(nil), retrigger_characters: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_registration_options.rb#51 + def attributes; end + + # A document selector to identify the scope of the registration. If set to + # null the document selector provided on the client side will be used. + # + # @return [DocumentSelector] + # + # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_registration_options.rb#21 + def document_selector; end + + # List of characters that re-trigger signature help. + # + # These trigger characters are only active when signature help is already + # showing. All trigger characters are also counted as re-trigger + # characters. + # + # @return [string[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_registration_options.rb#47 + def retrigger_characters; end + + # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_registration_options.rb#53 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_registration_options.rb#57 + def to_json(*args); end + + # The characters that trigger signature help + # automatically. + # + # @return [string[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_registration_options.rb#35 + def trigger_characters; end + + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_registration_options.rb#26 + def work_done_progress; end +end + +# Represents the signature of something callable. A signature +# can have a label, like a function-name, a doc-comment, and +# a set of parameters. +# +# source://language_server-protocol//lib/language_server/protocol/interface/signature_information.rb#9 +class LanguageServer::Protocol::Interface::SignatureInformation + # @return [SignatureInformation] a new instance of SignatureInformation + # + # source://language_server-protocol//lib/language_server/protocol/interface/signature_information.rb#10 + def initialize(label:, documentation: T.unsafe(nil), parameters: T.unsafe(nil), active_parameter: T.unsafe(nil)); end + + # The index of the active parameter. + # + # If provided, this is used in place of `SignatureHelp.activeParameter`. + # + # @return [number] + # + # source://language_server-protocol//lib/language_server/protocol/interface/signature_information.rb#53 + def active_parameter; end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/signature_information.rb#57 + def attributes; end + + # The human-readable doc-comment of this signature. Will be shown + # in the UI but can be omitted. + # + # @return [string | MarkupContent] + # + # source://language_server-protocol//lib/language_server/protocol/interface/signature_information.rb#35 + def documentation; end + + # The label of this signature. Will be shown in + # the UI. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/signature_information.rb#26 + def label; end + + # The parameters of this signature. + # + # @return [ParameterInformation[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/signature_information.rb#43 + def parameters; end + + # source://language_server-protocol//lib/language_server/protocol/interface/signature_information.rb#59 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/signature_information.rb#63 + def to_json(*args); end +end + +# Static registration options to be returned in the initialize request. +# +# source://language_server-protocol//lib/language_server/protocol/interface/static_registration_options.rb#7 +class LanguageServer::Protocol::Interface::StaticRegistrationOptions + # @return [StaticRegistrationOptions] a new instance of StaticRegistrationOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/static_registration_options.rb#8 + def initialize(id: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/static_registration_options.rb#25 + def attributes; end + + # The id used to register the request. The id can be used to deregister + # the request again. See also Registration#id. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/static_registration_options.rb#21 + def id; end + + # source://language_server-protocol//lib/language_server/protocol/interface/static_registration_options.rb#27 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/static_registration_options.rb#31 + def to_json(*args); end +end + +# Represents information about programming constructs like variables, classes, +# interfaces etc. +# +# source://language_server-protocol//lib/language_server/protocol/interface/symbol_information.rb#8 +class LanguageServer::Protocol::Interface::SymbolInformation + # @return [SymbolInformation] a new instance of SymbolInformation + # + # source://language_server-protocol//lib/language_server/protocol/interface/symbol_information.rb#9 + def initialize(name:, kind:, location:, tags: T.unsafe(nil), deprecated: T.unsafe(nil), container_name: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/symbol_information.rb#81 + def attributes; end + + # The name of the symbol containing this symbol. This information is for + # user interface purposes (e.g. to render a qualifier in the user interface + # if necessary). It can't be used to re-infer a hierarchy for the document + # symbols. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/symbol_information.rb#77 + def container_name; end + + # Indicates if this symbol is deprecated. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/symbol_information.rb#50 + def deprecated; end + + # The kind of this symbol. + # + # @return [SymbolKind] + # + # source://language_server-protocol//lib/language_server/protocol/interface/symbol_information.rb#34 + def kind; end + + # The location of this symbol. The location's range is used by a tool + # to reveal the location in the editor. If the symbol is selected in the + # tool the range's start information is used to position the cursor. So + # the range usually spans more then the actual symbol's name and does + # normally include things like visibility modifiers. + # + # The range doesn't have to denote a node range in the sense of an abstract + # syntax tree. It can therefore not be used to re-construct a hierarchy of + # the symbols. + # + # @return [Location] + # + # source://language_server-protocol//lib/language_server/protocol/interface/symbol_information.rb#66 + def location; end + + # The name of this symbol. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/symbol_information.rb#26 + def name; end + + # Tags for this symbol. + # + # @return [1[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/symbol_information.rb#42 + def tags; end + + # source://language_server-protocol//lib/language_server/protocol/interface/symbol_information.rb#83 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/symbol_information.rb#87 + def to_json(*args); end +end + +# Describe options to be used when registering for text document change events. +# +# source://language_server-protocol//lib/language_server/protocol/interface/text_document_change_registration_options.rb#7 +class LanguageServer::Protocol::Interface::TextDocumentChangeRegistrationOptions + # @return [TextDocumentChangeRegistrationOptions] a new instance of TextDocumentChangeRegistrationOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_change_registration_options.rb#8 + def initialize(document_selector:, sync_kind:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_change_registration_options.rb#35 + def attributes; end + + # A document selector to identify the scope of the registration. If set to + # null the document selector provided on the client side will be used. + # + # @return [DocumentSelector] + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_change_registration_options.rb#22 + def document_selector; end + + # How documents are synced to the server. See TextDocumentSyncKind.Full + # and TextDocumentSyncKind.Incremental. + # + # @return [TextDocumentSyncKind] + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_change_registration_options.rb#31 + def sync_kind; end + + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_change_registration_options.rb#37 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_change_registration_options.rb#41 + def to_json(*args); end +end + +# Text document specific client capabilities. +# +# source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#7 +class LanguageServer::Protocol::Interface::TextDocumentClientCapabilities + # @return [TextDocumentClientCapabilities] a new instance of TextDocumentClientCapabilities + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#8 + def initialize(synchronization: T.unsafe(nil), completion: T.unsafe(nil), hover: T.unsafe(nil), signature_help: T.unsafe(nil), declaration: T.unsafe(nil), definition: T.unsafe(nil), type_definition: T.unsafe(nil), implementation: T.unsafe(nil), references: T.unsafe(nil), document_highlight: T.unsafe(nil), document_symbol: T.unsafe(nil), code_action: T.unsafe(nil), code_lens: T.unsafe(nil), document_link: T.unsafe(nil), color_provider: T.unsafe(nil), formatting: T.unsafe(nil), range_formatting: T.unsafe(nil), on_type_formatting: T.unsafe(nil), rename: T.unsafe(nil), publish_diagnostics: T.unsafe(nil), folding_range: T.unsafe(nil), selection_range: T.unsafe(nil), linked_editing_range: T.unsafe(nil), call_hierarchy: T.unsafe(nil), semantic_tokens: T.unsafe(nil), moniker: T.unsafe(nil), type_hierarchy: T.unsafe(nil), inline_value: T.unsafe(nil), inlay_hint: T.unsafe(nil), diagnostic: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#285 + def attributes; end + + # Capabilities specific to the various call hierarchy requests. + # + # @return [CallHierarchyClientCapabilities] + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#233 + def call_hierarchy; end + + # Capabilities specific to the `textDocument/codeAction` request. + # + # @return [CodeActionClientCapabilities] + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#134 + def code_action; end + + # Capabilities specific to the `textDocument/codeLens` request. + # + # @return [CodeLensClientCapabilities] + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#142 + def code_lens; end + + # Capabilities specific to the `textDocument/documentColor` and the + # `textDocument/colorPresentation` request. + # + # @return [DocumentColorClientCapabilities] + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#159 + def color_provider; end + + # Capabilities specific to the `textDocument/completion` request. + # + # @return [CompletionClientCapabilities] + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#54 + def completion; end + + # Capabilities specific to the `textDocument/declaration` request. + # + # @return [DeclarationClientCapabilities] + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#78 + def declaration; end + + # Capabilities specific to the `textDocument/definition` request. + # + # @return [DefinitionClientCapabilities] + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#86 + def definition; end + + # Capabilities specific to the diagnostic pull model. + # + # @return [DiagnosticClientCapabilities] + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#281 + def diagnostic; end + + # Capabilities specific to the `textDocument/documentHighlight` request. + # + # @return [DocumentHighlightClientCapabilities] + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#118 + def document_highlight; end + + # Capabilities specific to the `textDocument/documentLink` request. + # + # @return [DocumentLinkClientCapabilities] + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#150 + def document_link; end + + # Capabilities specific to the `textDocument/documentSymbol` request. + # + # @return [DocumentSymbolClientCapabilities] + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#126 + def document_symbol; end + + # Capabilities specific to the `textDocument/foldingRange` request. + # + # @return [FoldingRangeClientCapabilities] + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#209 + def folding_range; end + + # Capabilities specific to the `textDocument/formatting` request. + # + # @return [DocumentFormattingClientCapabilities] + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#167 + def formatting; end + + # Capabilities specific to the `textDocument/hover` request. + # + # @return [HoverClientCapabilities] + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#62 + def hover; end + + # Capabilities specific to the `textDocument/implementation` request. + # + # @return [ImplementationClientCapabilities] + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#102 + def implementation; end + + # Capabilities specific to the `textDocument/inlayHint` request. + # + # @return [InlayHintClientCapabilities] + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#273 + def inlay_hint; end + + # Capabilities specific to the `textDocument/inlineValue` request. + # + # @return [InlineValueClientCapabilities] + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#265 + def inline_value; end + + # Capabilities specific to the `textDocument/linkedEditingRange` request. + # + # @return [LinkedEditingRangeClientCapabilities] + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#225 + def linked_editing_range; end + + # Capabilities specific to the `textDocument/moniker` request. + # + # @return [MonikerClientCapabilities] + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#249 + def moniker; end + + # request. + # Capabilities specific to the `textDocument/onTypeFormatting` request. + # + # @return [DocumentOnTypeFormattingClientCapabilities] + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#184 + def on_type_formatting; end + + # Capabilities specific to the `textDocument/publishDiagnostics` + # notification. + # + # @return [PublishDiagnosticsClientCapabilities] + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#201 + def publish_diagnostics; end + + # Capabilities specific to the `textDocument/rangeFormatting` request. + # + # @return [DocumentRangeFormattingClientCapabilities] + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#175 + def range_formatting; end + + # Capabilities specific to the `textDocument/references` request. + # + # @return [ReferenceClientCapabilities] + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#110 + def references; end + + # Capabilities specific to the `textDocument/rename` request. + # + # @return [RenameClientCapabilities] + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#192 + def rename; end + + # Capabilities specific to the `textDocument/selectionRange` request. + # + # @return [SelectionRangeClientCapabilities] + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#217 + def selection_range; end + + # Capabilities specific to the various semantic token requests. + # + # @return [SemanticTokensClientCapabilities] + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#241 + def semantic_tokens; end + + # Capabilities specific to the `textDocument/signatureHelp` request. + # + # @return [SignatureHelpClientCapabilities] + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#70 + def signature_help; end + + # @return [TextDocumentSyncClientCapabilities] + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#46 + def synchronization; end + + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#287 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#291 + def to_json(*args); end + + # Capabilities specific to the `textDocument/typeDefinition` request. + # + # @return [TypeDefinitionClientCapabilities] + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#94 + def type_definition; end + + # Capabilities specific to the various type hierarchy requests. + # + # @return [TypeHierarchyClientCapabilities] + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#257 + def type_hierarchy; end +end + +# An event describing a change to a text document. If only a text is provided +# it is considered to be the full content of the document. +# +# source://language_server-protocol//lib/language_server/protocol/interface/text_document_content_change_event.rb#8 +class LanguageServer::Protocol::Interface::TextDocumentContentChangeEvent + # @return [TextDocumentContentChangeEvent] a new instance of TextDocumentContentChangeEvent + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_content_change_event.rb#9 + def initialize(text:, range: T.unsafe(nil), range_length: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_content_change_event.rb#47 + def attributes; end + + # The range of the document that changed. + # + # @return [Range, nil] + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_content_change_event.rb#23 + def range; end + + # The optional length of the range that got replaced. + # + # @return [number, nil] + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_content_change_event.rb#31 + def range_length; end + + # The new text for the provided range. + # + # --- OR --- + # + # The new text of the whole document. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_content_change_event.rb#43 + def text; end + + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_content_change_event.rb#49 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_content_change_event.rb#53 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/text_document_edit.rb#4 +class LanguageServer::Protocol::Interface::TextDocumentEdit + # @return [TextDocumentEdit] a new instance of TextDocumentEdit + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_edit.rb#5 + def initialize(text_document:, edits:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_edit.rb#30 + def attributes; end + + # The edits to be applied. + # + # @return [(TextEdit | AnnotatedTextEdit)[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_edit.rb#26 + def edits; end + + # The text document to change. + # + # @return [OptionalVersionedTextDocumentIdentifier] + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_edit.rb#18 + def text_document; end + + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_edit.rb#32 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_edit.rb#36 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/text_document_identifier.rb#4 +class LanguageServer::Protocol::Interface::TextDocumentIdentifier + # @return [TextDocumentIdentifier] a new instance of TextDocumentIdentifier + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_identifier.rb#5 + def initialize(uri:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_identifier.rb#21 + def attributes; end + + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_identifier.rb#23 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_identifier.rb#27 + def to_json(*args); end + + # The text document's URI. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_identifier.rb#17 + def uri; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/text_document_item.rb#4 +class LanguageServer::Protocol::Interface::TextDocumentItem + # @return [TextDocumentItem] a new instance of TextDocumentItem + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_item.rb#5 + def initialize(uri:, language_id:, version:, text:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_item.rb#49 + def attributes; end + + # The text document's language identifier. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_item.rb#28 + def language_id; end + + # The content of the opened text document. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_item.rb#45 + def text; end + + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_item.rb#51 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_item.rb#55 + def to_json(*args); end + + # The text document's URI. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_item.rb#20 + def uri; end + + # The version number of this document (it will increase after each + # change, including undo/redo). + # + # @return [number] + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_item.rb#37 + def version; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/text_document_position_params.rb#4 +class LanguageServer::Protocol::Interface::TextDocumentPositionParams + # @return [TextDocumentPositionParams] a new instance of TextDocumentPositionParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_position_params.rb#5 + def initialize(text_document:, position:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_position_params.rb#30 + def attributes; end + + # The position inside the text document. + # + # @return [Position] + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_position_params.rb#26 + def position; end + + # The text document. + # + # @return [TextDocumentIdentifier] + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_position_params.rb#18 + def text_document; end + + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_position_params.rb#32 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_position_params.rb#36 + def to_json(*args); end +end + +# General text document registration options. +# +# source://language_server-protocol//lib/language_server/protocol/interface/text_document_registration_options.rb#7 +class LanguageServer::Protocol::Interface::TextDocumentRegistrationOptions + # @return [TextDocumentRegistrationOptions] a new instance of TextDocumentRegistrationOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_registration_options.rb#8 + def initialize(document_selector:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_registration_options.rb#25 + def attributes; end + + # A document selector to identify the scope of the registration. If set to + # null the document selector provided on the client side will be used. + # + # @return [DocumentSelector] + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_registration_options.rb#21 + def document_selector; end + + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_registration_options.rb#27 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_registration_options.rb#31 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/text_document_save_registration_options.rb#4 +class LanguageServer::Protocol::Interface::TextDocumentSaveRegistrationOptions + # @return [TextDocumentSaveRegistrationOptions] a new instance of TextDocumentSaveRegistrationOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_save_registration_options.rb#5 + def initialize(document_selector:, include_text: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_save_registration_options.rb#31 + def attributes; end + + # A document selector to identify the scope of the registration. If set to + # null the document selector provided on the client side will be used. + # + # @return [DocumentSelector] + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_save_registration_options.rb#19 + def document_selector; end + + # The client is supposed to include the content on save. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_save_registration_options.rb#27 + def include_text; end + + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_save_registration_options.rb#33 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_save_registration_options.rb#37 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/text_document_sync_client_capabilities.rb#4 +class LanguageServer::Protocol::Interface::TextDocumentSyncClientCapabilities + # @return [TextDocumentSyncClientCapabilities] a new instance of TextDocumentSyncClientCapabilities + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_sync_client_capabilities.rb#5 + def initialize(dynamic_registration: T.unsafe(nil), will_save: T.unsafe(nil), will_save_wait_until: T.unsafe(nil), did_save: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_sync_client_capabilities.rb#50 + def attributes; end + + # The client supports did save notifications. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_sync_client_capabilities.rb#46 + def did_save; end + + # Whether text document synchronization supports dynamic registration. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_sync_client_capabilities.rb#20 + def dynamic_registration; end + + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_sync_client_capabilities.rb#52 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_sync_client_capabilities.rb#56 + def to_json(*args); end + + # The client supports sending will save notifications. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_sync_client_capabilities.rb#28 + def will_save; end + + # The client supports sending a will save request and + # waits for a response providing text edits which will + # be applied to the document before it is saved. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_sync_client_capabilities.rb#38 + def will_save_wait_until; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/text_document_sync_options.rb#4 +class LanguageServer::Protocol::Interface::TextDocumentSyncOptions + # @return [TextDocumentSyncOptions] a new instance of TextDocumentSyncOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_sync_options.rb#5 + def initialize(open_close: T.unsafe(nil), change: T.unsafe(nil), will_save: T.unsafe(nil), will_save_wait_until: T.unsafe(nil), save: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_sync_options.rb#66 + def attributes; end + + # Change notifications are sent to the server. See + # TextDocumentSyncKind.None, TextDocumentSyncKind.Full and + # TextDocumentSyncKind.Incremental. If omitted it defaults to + # TextDocumentSyncKind.None. + # + # @return [TextDocumentSyncKind] + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_sync_options.rb#35 + def change; end + + # Open and close notifications are sent to the server. If omitted open + # close notifications should not be sent. + # Open and close notifications are sent to the server. If omitted open + # close notification should not be sent. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_sync_options.rb#24 + def open_close; end + + # If present save notifications are sent to the server. If omitted the + # notification should not be sent. + # + # @return [boolean | SaveOptions] + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_sync_options.rb#62 + def save; end + + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_sync_options.rb#68 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_sync_options.rb#72 + def to_json(*args); end + + # If present will save notifications are sent to the server. If omitted + # the notification should not be sent. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_sync_options.rb#44 + def will_save; end + + # If present will save wait until requests are sent to the server. If + # omitted the request should not be sent. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_document_sync_options.rb#53 + def will_save_wait_until; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/text_edit.rb#4 +class LanguageServer::Protocol::Interface::TextEdit + # @return [TextEdit] a new instance of TextEdit + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_edit.rb#5 + def initialize(range:, new_text:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_edit.rb#32 + def attributes; end + + # The string to be inserted. For delete operations use an + # empty string. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_edit.rb#28 + def new_text; end + + # The range of the text document to be manipulated. To insert + # text into a document create a range where start === end. + # + # @return [Range] + # + # source://language_server-protocol//lib/language_server/protocol/interface/text_edit.rb#19 + def range; end + + # source://language_server-protocol//lib/language_server/protocol/interface/text_edit.rb#34 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/text_edit.rb#38 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/type_definition_client_capabilities.rb#4 +class LanguageServer::Protocol::Interface::TypeDefinitionClientCapabilities + # @return [TypeDefinitionClientCapabilities] a new instance of TypeDefinitionClientCapabilities + # + # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_client_capabilities.rb#5 + def initialize(dynamic_registration: T.unsafe(nil), link_support: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_client_capabilities.rb#32 + def attributes; end + + # Whether implementation supports dynamic registration. If this is set to + # `true` the client supports the new `TypeDefinitionRegistrationOptions` + # return value for the corresponding server capability as well. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_client_capabilities.rb#20 + def dynamic_registration; end + + # The client supports additional metadata in the form of definition links. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_client_capabilities.rb#28 + def link_support; end + + # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_client_capabilities.rb#34 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_client_capabilities.rb#38 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/type_definition_options.rb#4 +class LanguageServer::Protocol::Interface::TypeDefinitionOptions + # @return [TypeDefinitionOptions] a new instance of TypeDefinitionOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_options.rb#5 + def initialize(work_done_progress: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_options.rb#18 + def attributes; end + + # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_options.rb#20 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_options.rb#24 + def to_json(*args); end + + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_options.rb#14 + def work_done_progress; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/type_definition_params.rb#4 +class LanguageServer::Protocol::Interface::TypeDefinitionParams + # @return [TypeDefinitionParams] a new instance of TypeDefinitionParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_params.rb#5 + def initialize(text_document:, position:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_params.rb#49 + def attributes; end + + # An optional token that a server can use to report partial results (e.g. + # streaming) to the client. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_params.rb#45 + def partial_result_token; end + + # The position inside the text document. + # + # @return [Position] + # + # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_params.rb#28 + def position; end + + # The text document. + # + # @return [TextDocumentIdentifier] + # + # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_params.rb#20 + def text_document; end + + # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_params.rb#51 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_params.rb#55 + def to_json(*args); end + + # An optional token that a server can use to report work done progress. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_params.rb#36 + def work_done_token; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/type_definition_registration_options.rb#4 +class LanguageServer::Protocol::Interface::TypeDefinitionRegistrationOptions + # @return [TypeDefinitionRegistrationOptions] a new instance of TypeDefinitionRegistrationOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_registration_options.rb#5 + def initialize(document_selector:, work_done_progress: T.unsafe(nil), id: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_registration_options.rb#38 + def attributes; end + + # A document selector to identify the scope of the registration. If set to + # null the document selector provided on the client side will be used. + # + # @return [DocumentSelector] + # + # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_registration_options.rb#20 + def document_selector; end + + # The id used to register the request. The id can be used to deregister + # the request again. See also Registration#id. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_registration_options.rb#34 + def id; end + + # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_registration_options.rb#40 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_registration_options.rb#44 + def to_json(*args); end + + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_registration_options.rb#25 + def work_done_progress; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_item.rb#4 +class LanguageServer::Protocol::Interface::TypeHierarchyItem + # @return [TypeHierarchyItem] a new instance of TypeHierarchyItem + # + # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_item.rb#5 + def initialize(name:, kind:, uri:, range:, selection_range:, tags: T.unsafe(nil), detail: T.unsafe(nil), data: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_item.rb#90 + def attributes; end + + # A data entry field that is preserved between a type hierarchy prepare and + # supertypes or subtypes requests. It could also be used to identify the + # type hierarchy in the server, helping improve the performance on + # resolving supertypes and subtypes. + # + # @return [LSPAny] + # + # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_item.rb#86 + def data; end + + # More detail for this item, e.g. the signature of a function. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_item.rb#48 + def detail; end + + # The kind of this item. + # + # @return [SymbolKind] + # + # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_item.rb#32 + def kind; end + + # The name of this item. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_item.rb#24 + def name; end + + # The range enclosing this symbol not including leading/trailing whitespace + # but everything else, e.g. comments and code. + # + # @return [Range] + # + # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_item.rb#65 + def range; end + + # The range that should be selected and revealed when this symbol is being + # picked, e.g. the name of a function. Must be contained by the + # [`range`](#TypeHierarchyItem.range). + # + # @return [Range] + # + # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_item.rb#75 + def selection_range; end + + # Tags for this item. + # + # @return [1[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_item.rb#40 + def tags; end + + # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_item.rb#92 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_item.rb#96 + def to_json(*args); end + + # The resource identifier of this item. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_item.rb#56 + def uri; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_options.rb#4 +class LanguageServer::Protocol::Interface::TypeHierarchyOptions + # @return [TypeHierarchyOptions] a new instance of TypeHierarchyOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_options.rb#5 + def initialize(work_done_progress: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_options.rb#18 + def attributes; end + + # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_options.rb#20 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_options.rb#24 + def to_json(*args); end + + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_options.rb#14 + def work_done_progress; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_prepare_params.rb#4 +class LanguageServer::Protocol::Interface::TypeHierarchyPrepareParams + # @return [TypeHierarchyPrepareParams] a new instance of TypeHierarchyPrepareParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_prepare_params.rb#5 + def initialize(text_document:, position:, work_done_token: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_prepare_params.rb#39 + def attributes; end + + # The position inside the text document. + # + # @return [Position] + # + # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_prepare_params.rb#27 + def position; end + + # The text document. + # + # @return [TextDocumentIdentifier] + # + # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_prepare_params.rb#19 + def text_document; end + + # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_prepare_params.rb#41 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_prepare_params.rb#45 + def to_json(*args); end + + # An optional token that a server can use to report work done progress. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_prepare_params.rb#35 + def work_done_token; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_registration_options.rb#4 +class LanguageServer::Protocol::Interface::TypeHierarchyRegistrationOptions + # @return [TypeHierarchyRegistrationOptions] a new instance of TypeHierarchyRegistrationOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_registration_options.rb#5 + def initialize(document_selector:, work_done_progress: T.unsafe(nil), id: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_registration_options.rb#38 + def attributes; end + + # A document selector to identify the scope of the registration. If set to + # null the document selector provided on the client side will be used. + # + # @return [DocumentSelector] + # + # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_registration_options.rb#20 + def document_selector; end + + # The id used to register the request. The id can be used to deregister + # the request again. See also Registration#id. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_registration_options.rb#34 + def id; end + + # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_registration_options.rb#40 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_registration_options.rb#44 + def to_json(*args); end + + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_registration_options.rb#25 + def work_done_progress; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_subtypes_params.rb#4 +class LanguageServer::Protocol::Interface::TypeHierarchySubtypesParams + # @return [TypeHierarchySubtypesParams] a new instance of TypeHierarchySubtypesParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_subtypes_params.rb#5 + def initialize(item:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_subtypes_params.rb#37 + def attributes; end + + # @return [TypeHierarchyItem] + # + # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_subtypes_params.rb#33 + def item; end + + # An optional token that a server can use to report partial results (e.g. + # streaming) to the client. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_subtypes_params.rb#28 + def partial_result_token; end + + # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_subtypes_params.rb#39 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_subtypes_params.rb#43 + def to_json(*args); end + + # An optional token that a server can use to report work done progress. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_subtypes_params.rb#19 + def work_done_token; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_supertypes_params.rb#4 +class LanguageServer::Protocol::Interface::TypeHierarchySupertypesParams + # @return [TypeHierarchySupertypesParams] a new instance of TypeHierarchySupertypesParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_supertypes_params.rb#5 + def initialize(item:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_supertypes_params.rb#37 + def attributes; end + + # @return [TypeHierarchyItem] + # + # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_supertypes_params.rb#33 + def item; end + + # An optional token that a server can use to report partial results (e.g. + # streaming) to the client. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_supertypes_params.rb#28 + def partial_result_token; end + + # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_supertypes_params.rb#39 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_supertypes_params.rb#43 + def to_json(*args); end + + # An optional token that a server can use to report work done progress. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_supertypes_params.rb#19 + def work_done_token; end +end + +# A diagnostic report indicating that the last returned +# report is still accurate. +# +# source://language_server-protocol//lib/language_server/protocol/interface/unchanged_document_diagnostic_report.rb#8 +class LanguageServer::Protocol::Interface::UnchangedDocumentDiagnosticReport + # @return [UnchangedDocumentDiagnosticReport] a new instance of UnchangedDocumentDiagnosticReport + # + # source://language_server-protocol//lib/language_server/protocol/interface/unchanged_document_diagnostic_report.rb#9 + def initialize(kind:, result_id:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/unchanged_document_diagnostic_report.rb#38 + def attributes; end + + # A document diagnostic report indicating + # no changes to the last result. A server can + # only return `unchanged` if result ids are + # provided. + # + # @return [any] + # + # source://language_server-protocol//lib/language_server/protocol/interface/unchanged_document_diagnostic_report.rb#25 + def kind; end + + # A result id which will be sent on the next + # diagnostic request for the same document. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/unchanged_document_diagnostic_report.rb#34 + def result_id; end + + # source://language_server-protocol//lib/language_server/protocol/interface/unchanged_document_diagnostic_report.rb#40 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/unchanged_document_diagnostic_report.rb#44 + def to_json(*args); end +end + +# General parameters to unregister a capability. +# +# source://language_server-protocol//lib/language_server/protocol/interface/unregistration.rb#7 +class LanguageServer::Protocol::Interface::Unregistration + # @return [Unregistration] a new instance of Unregistration + # + # source://language_server-protocol//lib/language_server/protocol/interface/unregistration.rb#8 + def initialize(id:, method:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/unregistration.rb#34 + def attributes; end + + # The id used to unregister the request or notification. Usually an id + # provided during the register request. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/unregistration.rb#22 + def id; end + + # The method / capability to unregister for. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/unregistration.rb#30 + def method; end + + # source://language_server-protocol//lib/language_server/protocol/interface/unregistration.rb#36 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/unregistration.rb#40 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/unregistration_params.rb#4 +class LanguageServer::Protocol::Interface::UnregistrationParams + # @return [UnregistrationParams] a new instance of UnregistrationParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/unregistration_params.rb#5 + def initialize(unregisterations:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/unregistration_params.rb#18 + def attributes; end + + # source://language_server-protocol//lib/language_server/protocol/interface/unregistration_params.rb#20 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/unregistration_params.rb#24 + def to_json(*args); end + + # @return [Unregistration[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/unregistration_params.rb#14 + def unregisterations; end +end + +# A versioned notebook document identifier. +# +# source://language_server-protocol//lib/language_server/protocol/interface/versioned_notebook_document_identifier.rb#7 +class LanguageServer::Protocol::Interface::VersionedNotebookDocumentIdentifier + # @return [VersionedNotebookDocumentIdentifier] a new instance of VersionedNotebookDocumentIdentifier + # + # source://language_server-protocol//lib/language_server/protocol/interface/versioned_notebook_document_identifier.rb#8 + def initialize(version:, uri:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/versioned_notebook_document_identifier.rb#33 + def attributes; end + + # source://language_server-protocol//lib/language_server/protocol/interface/versioned_notebook_document_identifier.rb#35 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/versioned_notebook_document_identifier.rb#39 + def to_json(*args); end + + # The notebook document's URI. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/versioned_notebook_document_identifier.rb#29 + def uri; end + + # The version number of this notebook document. + # + # @return [number] + # + # source://language_server-protocol//lib/language_server/protocol/interface/versioned_notebook_document_identifier.rb#21 + def version; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/versioned_text_document_identifier.rb#4 +class LanguageServer::Protocol::Interface::VersionedTextDocumentIdentifier + # @return [VersionedTextDocumentIdentifier] a new instance of VersionedTextDocumentIdentifier + # + # source://language_server-protocol//lib/language_server/protocol/interface/versioned_text_document_identifier.rb#5 + def initialize(uri:, version:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/versioned_text_document_identifier.rb#33 + def attributes; end + + # source://language_server-protocol//lib/language_server/protocol/interface/versioned_text_document_identifier.rb#35 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/versioned_text_document_identifier.rb#39 + def to_json(*args); end + + # The text document's URI. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/versioned_text_document_identifier.rb#18 + def uri; end + + # The version number of this document. + # + # The version number of a document will increase after each change, + # including undo/redo. The number doesn't need to be consecutive. + # + # @return [number] + # + # source://language_server-protocol//lib/language_server/protocol/interface/versioned_text_document_identifier.rb#29 + def version; end +end + +# The parameters send in a will save text document notification. +# +# source://language_server-protocol//lib/language_server/protocol/interface/will_save_text_document_params.rb#7 +class LanguageServer::Protocol::Interface::WillSaveTextDocumentParams + # @return [WillSaveTextDocumentParams] a new instance of WillSaveTextDocumentParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/will_save_text_document_params.rb#8 + def initialize(text_document:, reason:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/will_save_text_document_params.rb#33 + def attributes; end + + # The 'TextDocumentSaveReason'. + # + # @return [TextDocumentSaveReason] + # + # source://language_server-protocol//lib/language_server/protocol/interface/will_save_text_document_params.rb#29 + def reason; end + + # The document that will be saved. + # + # @return [TextDocumentIdentifier] + # + # source://language_server-protocol//lib/language_server/protocol/interface/will_save_text_document_params.rb#21 + def text_document; end + + # source://language_server-protocol//lib/language_server/protocol/interface/will_save_text_document_params.rb#35 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/will_save_text_document_params.rb#39 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_begin.rb#4 +class LanguageServer::Protocol::Interface::WorkDoneProgressBegin + # @return [WorkDoneProgressBegin] a new instance of WorkDoneProgressBegin + # + # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_begin.rb#5 + def initialize(kind:, title:, cancellable: T.unsafe(nil), message: T.unsafe(nil), percentage: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_begin.rb#68 + def attributes; end + + # Controls if a cancel button should show to allow the user to cancel the + # long running operation. Clients that don't support cancellation are + # allowed to ignore the setting. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_begin.rb#39 + def cancellable; end + + # @return ["begin"] + # + # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_begin.rb#18 + def kind; end + + # Optional, more detailed associated progress message. Contains + # complementary information to the `title`. + # + # Examples: "3/25 files", "project/src/module2", "node_modules/some_dep". + # If unset, the previous progress message (if any) is still valid. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_begin.rb#51 + def message; end + + # Optional progress percentage to display (value 100 is considered 100%). + # If not provided infinite progress is assumed and clients are allowed + # to ignore the `percentage` value in subsequent in report notifications. + # + # The value should be steadily rising. Clients are free to ignore values + # that are not following this rule. The value range is [0, 100] + # + # @return [number] + # + # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_begin.rb#64 + def percentage; end + + # Mandatory title of the progress operation. Used to briefly inform about + # the kind of operation being performed. + # + # Examples: "Indexing" or "Linking dependencies". + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_begin.rb#29 + def title; end + + # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_begin.rb#70 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_begin.rb#74 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_cancel_params.rb#4 +class LanguageServer::Protocol::Interface::WorkDoneProgressCancelParams + # @return [WorkDoneProgressCancelParams] a new instance of WorkDoneProgressCancelParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_cancel_params.rb#5 + def initialize(token:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_cancel_params.rb#21 + def attributes; end + + # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_cancel_params.rb#23 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_cancel_params.rb#27 + def to_json(*args); end + + # The token to be used to report progress. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_cancel_params.rb#17 + def token; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_create_params.rb#4 +class LanguageServer::Protocol::Interface::WorkDoneProgressCreateParams + # @return [WorkDoneProgressCreateParams] a new instance of WorkDoneProgressCreateParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_create_params.rb#5 + def initialize(token:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_create_params.rb#21 + def attributes; end + + # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_create_params.rb#23 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_create_params.rb#27 + def to_json(*args); end + + # The token to be used to report progress. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_create_params.rb#17 + def token; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_end.rb#4 +class LanguageServer::Protocol::Interface::WorkDoneProgressEnd + # @return [WorkDoneProgressEnd] a new instance of WorkDoneProgressEnd + # + # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_end.rb#5 + def initialize(kind:, message: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_end.rb#28 + def attributes; end + + # @return ["end"] + # + # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_end.rb#15 + def kind; end + + # Optional, a final message indicating to for example indicate the outcome + # of the operation. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_end.rb#24 + def message; end + + # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_end.rb#30 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_end.rb#34 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_options.rb#4 +class LanguageServer::Protocol::Interface::WorkDoneProgressOptions + # @return [WorkDoneProgressOptions] a new instance of WorkDoneProgressOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_options.rb#5 + def initialize(work_done_progress: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_options.rb#18 + def attributes; end + + # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_options.rb#20 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_options.rb#24 + def to_json(*args); end + + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_options.rb#14 + def work_done_progress; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_params.rb#4 +class LanguageServer::Protocol::Interface::WorkDoneProgressParams + # @return [WorkDoneProgressParams] a new instance of WorkDoneProgressParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_params.rb#5 + def initialize(work_done_token: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_params.rb#21 + def attributes; end + + # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_params.rb#23 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_params.rb#27 + def to_json(*args); end + + # An optional token that a server can use to report work done progress. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_params.rb#17 + def work_done_token; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_report.rb#4 +class LanguageServer::Protocol::Interface::WorkDoneProgressReport + # @return [WorkDoneProgressReport] a new instance of WorkDoneProgressReport + # + # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_report.rb#5 + def initialize(kind:, cancellable: T.unsafe(nil), message: T.unsafe(nil), percentage: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_report.rb#58 + def attributes; end + + # Controls enablement state of a cancel button. This property is only valid + # if a cancel button got requested in the `WorkDoneProgressBegin` payload. + # + # Clients that don't support cancellation or don't support control the + # button's enablement state are allowed to ignore the setting. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_report.rb#29 + def cancellable; end + + # @return ["report"] + # + # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_report.rb#17 + def kind; end + + # Optional, more detailed associated progress message. Contains + # complementary information to the `title`. + # + # Examples: "3/25 files", "project/src/module2", "node_modules/some_dep". + # If unset, the previous progress message (if any) is still valid. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_report.rb#41 + def message; end + + # Optional progress percentage to display (value 100 is considered 100%). + # If not provided infinite progress is assumed and clients are allowed + # to ignore the `percentage` value in subsequent in report notifications. + # + # The value should be steadily rising. Clients are free to ignore values + # that are not following this rule. The value range is [0, 100] + # + # @return [number] + # + # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_report.rb#54 + def percentage; end + + # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_report.rb#60 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_report.rb#64 + def to_json(*args); end +end + +# Parameters of the workspace diagnostic request. +# +# source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_params.rb#7 +class LanguageServer::Protocol::Interface::WorkspaceDiagnosticParams + # @return [WorkspaceDiagnosticParams] a new instance of WorkspaceDiagnosticParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_params.rb#8 + def initialize(previous_result_ids:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil), identifier: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_params.rb#53 + def attributes; end + + # The additional identifier provided during registration. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_params.rb#40 + def identifier; end + + # An optional token that a server can use to report partial results (e.g. + # streaming) to the client. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_params.rb#32 + def partial_result_token; end + + # The currently known diagnostic reports with their + # previous result ids. + # + # @return [PreviousResultId[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_params.rb#49 + def previous_result_ids; end + + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_params.rb#55 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_params.rb#59 + def to_json(*args); end + + # An optional token that a server can use to report work done progress. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_params.rb#23 + def work_done_token; end +end + +# A workspace diagnostic report. +# +# source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_report.rb#7 +class LanguageServer::Protocol::Interface::WorkspaceDiagnosticReport + # @return [WorkspaceDiagnosticReport] a new instance of WorkspaceDiagnosticReport + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_report.rb#8 + def initialize(items:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_report.rb#21 + def attributes; end + + # @return [WorkspaceDocumentDiagnosticReport[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_report.rb#17 + def items; end + + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_report.rb#23 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_report.rb#27 + def to_json(*args); end +end + +# A partial result for a workspace diagnostic report. +# +# source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_report_partial_result.rb#7 +class LanguageServer::Protocol::Interface::WorkspaceDiagnosticReportPartialResult + # @return [WorkspaceDiagnosticReportPartialResult] a new instance of WorkspaceDiagnosticReportPartialResult + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_report_partial_result.rb#8 + def initialize(items:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_report_partial_result.rb#21 + def attributes; end + + # @return [WorkspaceDocumentDiagnosticReport[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_report_partial_result.rb#17 + def items; end + + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_report_partial_result.rb#23 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_report_partial_result.rb#27 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/workspace_edit.rb#4 +class LanguageServer::Protocol::Interface::WorkspaceEdit + # @return [WorkspaceEdit] a new instance of WorkspaceEdit + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_edit.rb#5 + def initialize(changes: T.unsafe(nil), document_changes: T.unsafe(nil), change_annotations: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_edit.rb#56 + def attributes; end + + # A map of change annotations that can be referenced in + # `AnnotatedTextEdit`s or create, rename and delete file / folder + # operations. + # + # Whether clients honor this property depends on the client capability + # `workspace.changeAnnotationSupport`. + # + # @return [{ [id: string]: ChangeAnnotation; }] + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_edit.rb#52 + def change_annotations; end + + # Holds changes to existing resources. + # + # @return [{}] + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_edit.rb#19 + def changes; end + + # Depending on the client capability + # `workspace.workspaceEdit.resourceOperations` document changes are either + # an array of `TextDocumentEdit`s to express changes to n different text + # documents where each text document edit addresses a specific version of + # a text document. Or it can contain above `TextDocumentEdit`s mixed with + # create, rename and delete file / folder operations. + # + # Whether a client supports versioned document edits is expressed via + # `workspace.workspaceEdit.documentChanges` client capability. + # + # If a client neither supports `documentChanges` nor + # `workspace.workspaceEdit.resourceOperations` then only plain `TextEdit`s + # using the `changes` property are supported. + # + # @return [TextDocumentEdit[] | (TextDocumentEdit | CreateFile | RenameFile | DeleteFile)[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_edit.rb#39 + def document_changes; end + + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_edit.rb#58 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_edit.rb#62 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/workspace_edit_client_capabilities.rb#4 +class LanguageServer::Protocol::Interface::WorkspaceEditClientCapabilities + # @return [WorkspaceEditClientCapabilities] a new instance of WorkspaceEditClientCapabilities + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_edit_client_capabilities.rb#5 + def initialize(document_changes: T.unsafe(nil), resource_operations: T.unsafe(nil), failure_handling: T.unsafe(nil), normalizes_line_endings: T.unsafe(nil), change_annotation_support: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_edit_client_capabilities.rb#63 + def attributes; end + + # Whether the client in general supports change annotations on text edits, + # create file, rename file and delete file changes. + # + # @return [{ groupsOnLabel?: boolean; }] + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_edit_client_capabilities.rb#59 + def change_annotation_support; end + + # The client supports versioned document changes in `WorkspaceEdit`s + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_edit_client_capabilities.rb#21 + def document_changes; end + + # The failure handling strategy of a client if applying the workspace edit + # fails. + # + # @return [FailureHandlingKind] + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_edit_client_capabilities.rb#39 + def failure_handling; end + + # Whether the client normalizes line endings to the client specific + # setting. + # If set to `true` the client will normalize line ending characters + # in a workspace edit to the client specific new line character(s). + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_edit_client_capabilities.rb#50 + def normalizes_line_endings; end + + # The resource operations the client supports. Clients should at least + # support 'create', 'rename' and 'delete' files and folders. + # + # @return [ResourceOperationKind[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_edit_client_capabilities.rb#30 + def resource_operations; end + + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_edit_client_capabilities.rb#65 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_edit_client_capabilities.rb#69 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/workspace_folder.rb#4 +class LanguageServer::Protocol::Interface::WorkspaceFolder + # @return [WorkspaceFolder] a new instance of WorkspaceFolder + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_folder.rb#5 + def initialize(uri:, name:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_folder.rb#31 + def attributes; end + + # The name of the workspace folder. Used to refer to this + # workspace folder in the user interface. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_folder.rb#27 + def name; end + + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_folder.rb#33 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_folder.rb#37 + def to_json(*args); end + + # The associated URI for this workspace folder. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_folder.rb#18 + def uri; end +end + +# The workspace folder change event. +# +# source://language_server-protocol//lib/language_server/protocol/interface/workspace_folders_change_event.rb#7 +class LanguageServer::Protocol::Interface::WorkspaceFoldersChangeEvent + # @return [WorkspaceFoldersChangeEvent] a new instance of WorkspaceFoldersChangeEvent + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_folders_change_event.rb#8 + def initialize(added:, removed:); end + + # The array of added workspace folders + # + # @return [WorkspaceFolder[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_folders_change_event.rb#21 + def added; end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_folders_change_event.rb#33 + def attributes; end + + # The array of the removed workspace folders + # + # @return [WorkspaceFolder[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_folders_change_event.rb#29 + def removed; end + + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_folders_change_event.rb#35 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_folders_change_event.rb#39 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/workspace_folders_server_capabilities.rb#4 +class LanguageServer::Protocol::Interface::WorkspaceFoldersServerCapabilities + # @return [WorkspaceFoldersServerCapabilities] a new instance of WorkspaceFoldersServerCapabilities + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_folders_server_capabilities.rb#5 + def initialize(supported: T.unsafe(nil), change_notifications: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_folders_server_capabilities.rb#36 + def attributes; end + + # Whether the server wants to receive workspace folder + # change notifications. + # + # If a string is provided, the string is treated as an ID + # under which the notification is registered on the client + # side. The ID can be used to unregister for these events + # using the `client/unregisterCapability` request. + # + # @return [string | boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_folders_server_capabilities.rb#32 + def change_notifications; end + + # The server has support for workspace folders + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_folders_server_capabilities.rb#18 + def supported; end + + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_folders_server_capabilities.rb#38 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_folders_server_capabilities.rb#42 + def to_json(*args); end +end + +# A full document diagnostic report for a workspace diagnostic result. +# +# source://language_server-protocol//lib/language_server/protocol/interface/workspace_full_document_diagnostic_report.rb#7 +class LanguageServer::Protocol::Interface::WorkspaceFullDocumentDiagnosticReport + # @return [WorkspaceFullDocumentDiagnosticReport] a new instance of WorkspaceFullDocumentDiagnosticReport + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_full_document_diagnostic_report.rb#8 + def initialize(kind:, items:, uri:, version:, result_id: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_full_document_diagnostic_report.rb#63 + def attributes; end + + # The actual items. + # + # @return [Diagnostic[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_full_document_diagnostic_report.rb#42 + def items; end + + # A full document diagnostic report. + # + # @return [any] + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_full_document_diagnostic_report.rb#24 + def kind; end + + # An optional result id. If provided it will + # be sent on the next diagnostic request for the + # same document. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_full_document_diagnostic_report.rb#34 + def result_id; end + + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_full_document_diagnostic_report.rb#65 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_full_document_diagnostic_report.rb#69 + def to_json(*args); end + + # The URI for which diagnostic information is reported. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_full_document_diagnostic_report.rb#50 + def uri; end + + # The version number for which the diagnostics are reported. + # If the document is not marked as open `null` can be provided. + # + # @return [number] + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_full_document_diagnostic_report.rb#59 + def version; end +end + +# A special workspace symbol that supports locations without a range +# +# source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol.rb#7 +class LanguageServer::Protocol::Interface::WorkspaceSymbol + # @return [WorkspaceSymbol] a new instance of WorkspaceSymbol + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol.rb#8 + def initialize(name:, kind:, location:, tags: T.unsafe(nil), container_name: T.unsafe(nil), data: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol.rb#77 + def attributes; end + + # The name of the symbol containing this symbol. This information is for + # user interface purposes (e.g. to render a qualifier in the user interface + # if necessary). It can't be used to re-infer a hierarchy for the document + # symbols. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol.rb#52 + def container_name; end + + # A data entry field that is preserved on a workspace symbol between a + # workspace symbol request and a workspace symbol resolve request. + # + # @return [LSPAny] + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol.rb#73 + def data; end + + # The kind of this symbol. + # + # @return [SymbolKind] + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol.rb#33 + def kind; end + + # The location of this symbol. Whether a server is allowed to + # return a location without a range depends on the client + # capability `workspace.symbol.resolveSupport`. + # + # See also `SymbolInformation.location`. + # + # @return [Location | { uri: string; }] + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol.rb#64 + def location; end + + # The name of this symbol. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol.rb#25 + def name; end + + # Tags for this completion item. + # + # @return [1[]] + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol.rb#41 + def tags; end + + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol.rb#79 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol.rb#83 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_client_capabilities.rb#4 +class LanguageServer::Protocol::Interface::WorkspaceSymbolClientCapabilities + # @return [WorkspaceSymbolClientCapabilities] a new instance of WorkspaceSymbolClientCapabilities + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_client_capabilities.rb#5 + def initialize(dynamic_registration: T.unsafe(nil), symbol_kind: T.unsafe(nil), tag_support: T.unsafe(nil), resolve_support: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_client_capabilities.rb#52 + def attributes; end + + # Symbol request supports dynamic registration. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_client_capabilities.rb#20 + def dynamic_registration; end + + # The client support partial workspace symbols. The client will send the + # request `workspaceSymbol/resolve` to the server to resolve additional + # properties. + # + # @return [{ properties: string[]; }] + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_client_capabilities.rb#48 + def resolve_support; end + + # Specific capabilities for the `SymbolKind` in the `workspace/symbol` + # request. + # + # @return [{ valueSet?: SymbolKind[]; }] + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_client_capabilities.rb#29 + def symbol_kind; end + + # The client supports tags on `SymbolInformation` and `WorkspaceSymbol`. + # Clients supporting tags have to handle unknown tags gracefully. + # + # @return [{ valueSet: 1[]; }] + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_client_capabilities.rb#38 + def tag_support; end + + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_client_capabilities.rb#54 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_client_capabilities.rb#58 + def to_json(*args); end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_options.rb#4 +class LanguageServer::Protocol::Interface::WorkspaceSymbolOptions + # @return [WorkspaceSymbolOptions] a new instance of WorkspaceSymbolOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_options.rb#5 + def initialize(work_done_progress: T.unsafe(nil), resolve_provider: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_options.rb#28 + def attributes; end + + # The server provides support to resolve additional + # information for a workspace symbol. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_options.rb#24 + def resolve_provider; end + + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_options.rb#30 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_options.rb#34 + def to_json(*args); end + + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_options.rb#15 + def work_done_progress; end +end + +# The parameters of a Workspace Symbol Request. +# +# source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_params.rb#7 +class LanguageServer::Protocol::Interface::WorkspaceSymbolParams + # @return [WorkspaceSymbolParams] a new instance of WorkspaceSymbolParams + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_params.rb#8 + def initialize(query:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_params.rb#44 + def attributes; end + + # An optional token that a server can use to report partial results (e.g. + # streaming) to the client. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_params.rb#31 + def partial_result_token; end + + # A query string to filter symbols by. Clients may send an empty + # string here to request all symbols. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_params.rb#40 + def query; end + + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_params.rb#46 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_params.rb#50 + def to_json(*args); end + + # An optional token that a server can use to report work done progress. + # + # @return [ProgressToken] + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_params.rb#22 + def work_done_token; end +end + +# source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_registration_options.rb#4 +class LanguageServer::Protocol::Interface::WorkspaceSymbolRegistrationOptions + # @return [WorkspaceSymbolRegistrationOptions] a new instance of WorkspaceSymbolRegistrationOptions + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_registration_options.rb#5 + def initialize(work_done_progress: T.unsafe(nil), resolve_provider: T.unsafe(nil)); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_registration_options.rb#28 + def attributes; end + + # The server provides support to resolve additional + # information for a workspace symbol. + # + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_registration_options.rb#24 + def resolve_provider; end + + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_registration_options.rb#30 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_registration_options.rb#34 + def to_json(*args); end + + # @return [boolean] + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_registration_options.rb#15 + def work_done_progress; end +end + +# An unchanged document diagnostic report for a workspace diagnostic result. +# +# source://language_server-protocol//lib/language_server/protocol/interface/workspace_unchanged_document_diagnostic_report.rb#7 +class LanguageServer::Protocol::Interface::WorkspaceUnchangedDocumentDiagnosticReport + # @return [WorkspaceUnchangedDocumentDiagnosticReport] a new instance of WorkspaceUnchangedDocumentDiagnosticReport + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_unchanged_document_diagnostic_report.rb#8 + def initialize(kind:, result_id:, uri:, version:); end + + # Returns the value of attribute attributes. + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_unchanged_document_diagnostic_report.rb#56 + def attributes; end + + # A document diagnostic report indicating + # no changes to the last result. A server can + # only return `unchanged` if result ids are + # provided. + # + # @return [any] + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_unchanged_document_diagnostic_report.rb#26 + def kind; end + + # A result id which will be sent on the next + # diagnostic request for the same document. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_unchanged_document_diagnostic_report.rb#35 + def result_id; end + + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_unchanged_document_diagnostic_report.rb#58 + def to_hash; end + + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_unchanged_document_diagnostic_report.rb#62 + def to_json(*args); end + + # The URI for which diagnostic information is reported. + # + # @return [string] + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_unchanged_document_diagnostic_report.rb#43 + def uri; end + + # The version number for which the diagnostics are reported. + # If the document is not marked as open `null` can be provided. + # + # @return [number] + # + # source://language_server-protocol//lib/language_server/protocol/interface/workspace_unchanged_document_diagnostic_report.rb#52 + def version; end +end + +# source://language_server-protocol//lib/language_server/protocol/transport/io/reader.rb#7 +module LanguageServer::Protocol::Transport; end + +# source://language_server-protocol//lib/language_server/protocol/transport/io/reader.rb#8 +module LanguageServer::Protocol::Transport::Io; end + +# source://language_server-protocol//lib/language_server/protocol/transport/io/reader.rb#9 +class LanguageServer::Protocol::Transport::Io::Reader + # @return [Reader] a new instance of Reader + # + # source://language_server-protocol//lib/language_server/protocol/transport/io/reader.rb#10 + def initialize(io); end + + # source://language_server-protocol//lib/language_server/protocol/transport/io/reader.rb#15 + def read(&block); end + + private + + # Returns the value of attribute io. + # + # source://language_server-protocol//lib/language_server/protocol/transport/io/reader.rb#26 + def io; end +end + +# source://language_server-protocol//lib/language_server/protocol/transport/io/writer.rb#5 +class LanguageServer::Protocol::Transport::Io::Writer + # @return [Writer] a new instance of Writer + # + # source://language_server-protocol//lib/language_server/protocol/transport/io/writer.rb#8 + def initialize(io); end + + # Returns the value of attribute io. + # + # source://language_server-protocol//lib/language_server/protocol/transport/io/writer.rb#6 + def io; end + + # source://language_server-protocol//lib/language_server/protocol/transport/io/writer.rb#13 + def write(response); end +end + +# source://language_server-protocol//lib/language_server/protocol/transport/stdio/reader.rb#4 +module LanguageServer::Protocol::Transport::Stdio; end + +# source://language_server-protocol//lib/language_server/protocol/transport/stdio/reader.rb#5 +class LanguageServer::Protocol::Transport::Stdio::Reader < ::LanguageServer::Protocol::Transport::Io::Reader + # @return [Reader] a new instance of Reader + # + # source://language_server-protocol//lib/language_server/protocol/transport/stdio/reader.rb#6 + def initialize; end +end + +# source://language_server-protocol//lib/language_server/protocol/transport/stdio/writer.rb#5 +class LanguageServer::Protocol::Transport::Stdio::Writer < ::LanguageServer::Protocol::Transport::Io::Writer + # @return [Writer] a new instance of Writer + # + # source://language_server-protocol//lib/language_server/protocol/transport/stdio/writer.rb#6 + def initialize; end +end + +# source://language_server-protocol//lib/language_server/protocol/version.rb#3 +LanguageServer::Protocol::VERSION = T.let(T.unsafe(nil), String) diff --git a/sorbet/rbi/gems/oj@3.14.2.rbi b/sorbet/rbi/gems/oj@3.15.0.rbi similarity index 92% rename from sorbet/rbi/gems/oj@3.14.2.rbi rename to sorbet/rbi/gems/oj@3.15.0.rbi index f46859a..922d098 100644 --- a/sorbet/rbi/gems/oj@3.14.2.rbi +++ b/sorbet/rbi/gems/oj@3.15.0.rbi @@ -4,13 +4,9 @@ # This is an autogenerated file for types exported from the `oj` gem. # Please instead update this file by running `bin/tapioca gem oj`. -# source://json/2.6.3/json/common.rb#35 -JSON::Parser = JSON::Ext::Parser - -# source://json/2.6.3/json/common.rb#73 -JSON::State = JSON::Ext::Generator::State - -# source://oj//lib/oj.rb#2 +# Oj module is defined in oj.c. +# +# source://oj//lib/oj.rb#4 module Oj private @@ -58,7 +54,7 @@ module Oj # # @param mimic_paths [Array] additional paths to add to the Ruby loaded features. # - # source://oj//lib/oj/mimic.rb#81 + # source://oj//lib/oj/mimic.rb#82 def mimic_loaded(mimic_paths = T.unsafe(nil)); end def object_load(*_arg0); end @@ -101,7 +97,7 @@ class Oj::Bag # @param other [Object] Object to compare self to # @return [Boolean] true if each variable and value are the same, otherwise false. # - # source://oj//lib/oj/bag.rb#48 + # source://oj//lib/oj/bag.rb#51 def ==(other); end # Replaces eql?() with something more reasonable for this Class. @@ -109,7 +105,7 @@ class Oj::Bag # @param other [Object] Object to compare self to # @return [Boolean] true if each variable and value are the same, otherwise false. # - # source://oj//lib/oj/bag.rb#48 + # source://oj//lib/oj/bag.rb#51 def eql?(other); end # Handles requests for variable values. Others cause an Exception to be @@ -120,7 +116,7 @@ class Oj::Bag # @raise [NoMethodError] if the instance variable is not defined. # @return [Boolean] the value of the specified instance variable. # - # source://oj//lib/oj/bag.rb#38 + # source://oj//lib/oj/bag.rb#39 def method_missing(m, *args, &block); end # Replaces the Object.respond_to?() method. @@ -142,7 +138,7 @@ class Oj::Bag # @raise [NameError] if the classname is invalid. # @return [Object] an instance of the specified Class. # - # source://oj//lib/oj/bag.rb#64 + # source://oj//lib/oj/bag.rb#69 def define_class(classname); end end end @@ -153,14 +149,14 @@ class Oj::CStack; end # differences. These are the options that setup the custom mode to be like # the compat mode. # -# source://oj//lib/oj/mimic.rb#15 +# source://oj//lib/oj/mimic.rb#14 Oj::CUSTOM_MIMIC_JSON_OPTIONS = T.let(T.unsafe(nil), Hash) class Oj::Cache; end # An Exception that is raised as a result of a path being too deep. # -# source://oj//lib/oj/error.rb#14 +# source://oj//lib/oj/error.rb#13 class Oj::DepthError < ::Oj::Error; end class Oj::Doc @@ -193,16 +189,9 @@ end # key.to_s or key.to_sym. It also supports looking up hash values by methods # that match the keys. # -# source://oj//lib/oj/easy_hash.rb#7 +# source://oj//lib/oj/easy_hash.rb#6 class Oj::EasyHash < ::Hash - # Initializes the instance to an empty Hash. - # - # @return [EasyHash] a new instance of EasyHash - # - # source://oj//lib/oj/easy_hash.rb#10 - def initialize; end - - # source://oj//lib/oj/easy_hash.rb#25 + # source://oj//lib/oj/easy_hash.rb#21 def [](key); end # Handles requests for Hash values. Others cause an Exception to be raised. @@ -212,7 +201,7 @@ class Oj::EasyHash < ::Hash # @raise [NoMethodError] if the instance variable is not defined. # @return [Boolean] the value of the specified instance variable. # - # source://oj//lib/oj/easy_hash.rb#36 + # source://oj//lib/oj/easy_hash.rb#33 def method_missing(m, *args, &block); end # Replaces the Object.respond_to?() method. @@ -222,43 +211,43 @@ class Oj::EasyHash < ::Hash # @return [Boolean] true for any method that matches an instance # variable reader, otherwise false. # - # source://oj//lib/oj/easy_hash.rb#18 + # source://oj//lib/oj/easy_hash.rb#13 def respond_to?(m, include_all = T.unsafe(nil)); end end # Inherit Error class from StandardError. # -# source://oj//lib/oj/error.rb#5 +# source://oj//lib/oj/error.rb#4 class Oj::Error < ::StandardError; end # An Exception that is raised if a file fails to load. # -# source://oj//lib/oj/error.rb#17 +# source://oj//lib/oj/error.rb#16 class Oj::LoadError < ::Oj::Error; end # A bit hack-ish but does the trick. The JSON.dump_default_options is a Hash # but in mimic we use a C struct to store defaults. This class creates a view # onto that struct. # -# source://oj//lib/oj/mimic.rb#60 +# source://oj//lib/oj/mimic.rb#59 class Oj::MimicDumpOption < ::Hash # @return [MimicDumpOption] a new instance of MimicDumpOption # - # source://oj//lib/oj/mimic.rb#61 + # source://oj//lib/oj/mimic.rb#60 def initialize; end - # source://oj//lib/oj/mimic.rb#69 + # source://oj//lib/oj/mimic.rb#70 def []=(key, value); end end # An Exception that is raised if there is a conflict with mimicking JSON # -# source://oj//lib/oj/error.rb#20 +# source://oj//lib/oj/error.rb#19 class Oj::MimicError < ::Oj::Error; end # An Exception that is raised as a result of a parse error while parsing a JSON document. # -# source://oj//lib/oj/error.rb#11 +# source://oj//lib/oj/error.rb#10 class Oj::ParseError < ::Oj::Error; end class Oj::Parser @@ -583,23 +572,23 @@ end # Current version of the module. # -# source://oj//lib/oj/version.rb#4 +# source://oj//lib/oj/version.rb#3 Oj::VERSION = T.let(T.unsafe(nil), String) # More monkey patches. # -# source://oj//lib/oj/mimic.rb#282 +# source://oj//lib/oj/mimic.rb#284 class String include ::Comparable - # source://oj//lib/oj/mimic.rb#289 + # source://oj//lib/oj/mimic.rb#291 def to_json_raw(*_arg0); end - # source://oj//lib/oj/mimic.rb#283 + # source://oj//lib/oj/mimic.rb#285 def to_json_raw_object; end class << self - # source://oj//lib/oj/mimic.rb#292 + # source://oj//lib/oj/mimic.rb#294 def json_create(obj); end end end diff --git a/sorbet/rbi/gems/openssl@3.1.0.rbi b/sorbet/rbi/gems/openssl@3.1.0.rbi index 9c3e4e0..40245dc 100644 --- a/sorbet/rbi/gems/openssl@3.1.0.rbi +++ b/sorbet/rbi/gems/openssl@3.1.0.rbi @@ -67,8 +67,6 @@ class OpenSSL::BN def pretty_print(q); end end -OpenSSL::BN::CONSTTIME = T.let(T.unsafe(nil), Integer) - # OpenSSL IO buffering mix-in module. # # This module allows an OpenSSL::SSL::SSLSocket to behave like an IO. @@ -919,8 +917,6 @@ class OpenSSL::PKey::EC < ::OpenSSL::PKey::PKey def dsa_verify_asn1(data, sig); end end -OpenSSL::PKey::EC::EXPLICIT_CURVE = T.let(T.unsafe(nil), Integer) - class OpenSSL::PKey::EC::Point # :call-seq: # point.to_bn([conversion_form]) -> OpenSSL::BN @@ -1069,26 +1065,6 @@ module OpenSSL::SSL end end -OpenSSL::SSL::OP_ALLOW_CLIENT_RENEGOTIATION = T.let(T.unsafe(nil), Integer) -OpenSSL::SSL::OP_ALLOW_NO_DHE_KEX = T.let(T.unsafe(nil), Integer) -OpenSSL::SSL::OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION = T.let(T.unsafe(nil), Integer) -OpenSSL::SSL::OP_CLEANSE_PLAINTEXT = T.let(T.unsafe(nil), Integer) -OpenSSL::SSL::OP_CRYPTOPRO_TLSEXT_BUG = T.let(T.unsafe(nil), Integer) -OpenSSL::SSL::OP_DISABLE_TLSEXT_CA_NAMES = T.let(T.unsafe(nil), Integer) -OpenSSL::SSL::OP_ENABLE_KTLS = T.let(T.unsafe(nil), Integer) -OpenSSL::SSL::OP_ENABLE_MIDDLEBOX_COMPAT = T.let(T.unsafe(nil), Integer) -OpenSSL::SSL::OP_IGNORE_UNEXPECTED_EOF = T.let(T.unsafe(nil), Integer) -OpenSSL::SSL::OP_LEGACY_SERVER_CONNECT = T.let(T.unsafe(nil), Integer) -OpenSSL::SSL::OP_NO_ANTI_REPLAY = T.let(T.unsafe(nil), Integer) -OpenSSL::SSL::OP_NO_ENCRYPT_THEN_MAC = T.let(T.unsafe(nil), Integer) -OpenSSL::SSL::OP_NO_RENEGOTIATION = T.let(T.unsafe(nil), Integer) -OpenSSL::SSL::OP_NO_TLSv1_3 = T.let(T.unsafe(nil), Integer) -OpenSSL::SSL::OP_PRIORITIZE_CHACHA = T.let(T.unsafe(nil), Integer) -OpenSSL::SSL::OP_SAFARI_ECDHE_ECDSA_BUG = T.let(T.unsafe(nil), Integer) -OpenSSL::SSL::OP_TLSEXT_PADDING = T.let(T.unsafe(nil), Integer) -OpenSSL::SSL::SSL2_VERSION = T.let(T.unsafe(nil), Integer) -OpenSSL::SSL::SSL3_VERSION = T.let(T.unsafe(nil), Integer) - class OpenSSL::SSL::SSLContext # call-seq: # SSLContext.new -> ctx @@ -1439,10 +1415,6 @@ module OpenSSL::SSL::SocketForwarder def setsockopt(level, optname, optval); end end -OpenSSL::SSL::TLS1_1_VERSION = T.let(T.unsafe(nil), Integer) -OpenSSL::SSL::TLS1_2_VERSION = T.let(T.unsafe(nil), Integer) -OpenSSL::SSL::TLS1_3_VERSION = T.let(T.unsafe(nil), Integer) -OpenSSL::SSL::TLS1_VERSION = T.let(T.unsafe(nil), Integer) module OpenSSL::Timestamp; end class OpenSSL::Timestamp::Factory @@ -1490,12 +1462,6 @@ class OpenSSL::Timestamp::Response def verify(*_arg0); end end -OpenSSL::Timestamp::Response::GRANTED = T.let(T.unsafe(nil), Integer) -OpenSSL::Timestamp::Response::GRANTED_WITH_MODS = T.let(T.unsafe(nil), Integer) -OpenSSL::Timestamp::Response::REJECTION = T.let(T.unsafe(nil), Integer) -OpenSSL::Timestamp::Response::REVOCATION_NOTIFICATION = T.let(T.unsafe(nil), Integer) -OpenSSL::Timestamp::Response::REVOCATION_WARNING = T.let(T.unsafe(nil), Integer) -OpenSSL::Timestamp::Response::WAITING = T.let(T.unsafe(nil), Integer) class OpenSSL::Timestamp::TimestampError < ::OpenSSL::OpenSSLError; end class OpenSSL::Timestamp::TokenInfo diff --git a/sorbet/rbi/gems/parallel@1.22.1.rbi b/sorbet/rbi/gems/parallel@1.23.0.rbi similarity index 59% rename from sorbet/rbi/gems/parallel@1.22.1.rbi rename to sorbet/rbi/gems/parallel@1.23.0.rbi index a8633df..c8b319a 100644 --- a/sorbet/rbi/gems/parallel@1.22.1.rbi +++ b/sorbet/rbi/gems/parallel@1.23.0.rbi @@ -6,216 +6,212 @@ # source://parallel//lib/parallel/version.rb#2 module Parallel - extend ::Parallel::ProcessorCount - class << self # @return [Boolean] # - # source://parallel//lib/parallel.rb#246 + # source://parallel//lib/parallel.rb#243 def all?(*args, &block); end # @return [Boolean] # - # source://parallel//lib/parallel.rb#241 + # source://parallel//lib/parallel.rb#238 def any?(*args, &block); end - # source://parallel//lib/parallel.rb#237 + # source://parallel//lib/parallel.rb#234 def each(array, options = T.unsafe(nil), &block); end - # source://parallel//lib/parallel.rb#251 + # source://parallel//lib/parallel.rb#248 def each_with_index(array, options = T.unsafe(nil), &block); end - # source://parallel//lib/parallel.rb#306 + # source://parallel//lib/parallel.rb#307 + def filter_map(*args, &block); end + + # source://parallel//lib/parallel.rb#303 def flat_map(*args, &block); end - # source://parallel//lib/parallel.rb#231 + # source://parallel//lib/parallel.rb#228 def in_processes(options = T.unsafe(nil), &block); end - # source://parallel//lib/parallel.rb#215 + # source://parallel//lib/parallel.rb#212 def in_threads(options = T.unsafe(nil)); end - # source://parallel//lib/parallel.rb#255 + # source://parallel//lib/parallel.rb#252 def map(source, options = T.unsafe(nil), &block); end - # source://parallel//lib/parallel.rb#302 + # source://parallel//lib/parallel.rb#299 def map_with_index(array, options = T.unsafe(nil), &block); end - # source://parallel//lib/parallel.rb#310 + # Number of physical processor cores on the current system. + # + # source://parallel//lib/parallel.rb#312 + def physical_processor_count; end + + # Number of processors seen by the OS, used for process scheduling + # + # source://parallel//lib/parallel.rb#345 + def processor_count; end + + # source://parallel//lib/parallel.rb#350 def worker_number; end # TODO: this does not work when doing threads in forks, so should remove and yield the number instead if needed # - # source://parallel//lib/parallel.rb#315 + # source://parallel//lib/parallel.rb#355 def worker_number=(worker_num); end private - # source://parallel//lib/parallel.rb#321 + # source://parallel//lib/parallel.rb#361 def add_progress_bar!(job_factory, options); end - # source://parallel//lib/parallel.rb#584 + # source://parallel//lib/parallel.rb#624 def call_with_index(item, index, options, &block); end - # source://parallel//lib/parallel.rb#516 + # source://parallel//lib/parallel.rb#556 def create_workers(job_factory, options, &block); end # options is either a Integer or a Hash with :count # - # source://parallel//lib/parallel.rb#574 + # source://parallel//lib/parallel.rb#614 def extract_count_from_options(options); end - # source://parallel//lib/parallel.rb#602 + # source://parallel//lib/parallel.rb#642 def instrument_finish(item, index, result, options); end - # source://parallel//lib/parallel.rb#607 + # source://parallel//lib/parallel.rb#647 def instrument_start(item, index, options); end - # source://parallel//lib/parallel.rb#550 + # source://parallel//lib/parallel.rb#590 def process_incoming_jobs(read, write, job_factory, options, &block); end - # source://parallel//lib/parallel.rb#504 + # source://parallel//lib/parallel.rb#544 def replace_worker(job_factory, workers, index, options, blk); end - # source://parallel//lib/parallel.rb#595 + # source://parallel//lib/parallel.rb#635 def with_instrumentation(item, index, options); end - # source://parallel//lib/parallel.rb#346 + # source://parallel//lib/parallel.rb#386 def work_direct(job_factory, options, &block); end - # source://parallel//lib/parallel.rb#456 + # source://parallel//lib/parallel.rb#496 def work_in_processes(job_factory, options, &blk); end - # source://parallel//lib/parallel.rb#390 + # source://parallel//lib/parallel.rb#430 def work_in_ractors(job_factory, options); end - # source://parallel//lib/parallel.rb#365 + # source://parallel//lib/parallel.rb#405 def work_in_threads(job_factory, options, &block); end - # source://parallel//lib/parallel.rb#524 + # source://parallel//lib/parallel.rb#564 def worker(job_factory, options, &block); end end end -# source://parallel//lib/parallel.rb#14 +# source://parallel//lib/parallel.rb#11 class Parallel::Break < ::StandardError # @return [Break] a new instance of Break # - # source://parallel//lib/parallel.rb#17 + # source://parallel//lib/parallel.rb#14 def initialize(value = T.unsafe(nil)); end # Returns the value of attribute value. # - # source://parallel//lib/parallel.rb#15 + # source://parallel//lib/parallel.rb#12 def value; end end -# source://parallel//lib/parallel.rb#11 +# source://parallel//lib/parallel.rb#8 class Parallel::DeadWorker < ::StandardError; end -# source://parallel//lib/parallel.rb#35 +# source://parallel//lib/parallel.rb#32 class Parallel::ExceptionWrapper # @return [ExceptionWrapper] a new instance of ExceptionWrapper # - # source://parallel//lib/parallel.rb#38 + # source://parallel//lib/parallel.rb#35 def initialize(exception); end # Returns the value of attribute exception. # - # source://parallel//lib/parallel.rb#36 + # source://parallel//lib/parallel.rb#33 def exception; end end -# source://parallel//lib/parallel.rb#101 +# source://parallel//lib/parallel.rb#98 class Parallel::JobFactory # @return [JobFactory] a new instance of JobFactory # - # source://parallel//lib/parallel.rb#102 + # source://parallel//lib/parallel.rb#99 def initialize(source, mutex); end - # source://parallel//lib/parallel.rb#110 + # source://parallel//lib/parallel.rb#107 def next; end # generate item that is sent to workers # just index is faster + less likely to blow up with unserializable errors # - # source://parallel//lib/parallel.rb#139 + # source://parallel//lib/parallel.rb#136 def pack(item, index); end - # source://parallel//lib/parallel.rb#129 + # source://parallel//lib/parallel.rb#126 def size; end # unpack item that is sent to workers # - # source://parallel//lib/parallel.rb#144 + # source://parallel//lib/parallel.rb#141 def unpack(data); end private # @return [Boolean] # - # source://parallel//lib/parallel.rb#150 + # source://parallel//lib/parallel.rb#147 def producer?; end - # source://parallel//lib/parallel.rb#154 + # source://parallel//lib/parallel.rb#151 def queue_wrapper(array); end end -# source://parallel//lib/parallel.rb#23 +# source://parallel//lib/parallel.rb#20 class Parallel::Kill < ::Parallel::Break; end -# TODO: inline this method into parallel.rb and kill physical_processor_count in next major release -# -# source://parallel//lib/parallel/processor_count.rb#4 -module Parallel::ProcessorCount - # Number of physical processor cores on the current system. - # - # source://parallel//lib/parallel/processor_count.rb#12 - def physical_processor_count; end - - # Number of processors seen by the OS, used for process scheduling - # - # source://parallel//lib/parallel/processor_count.rb#6 - def processor_count; end -end - -# source://parallel//lib/parallel.rb#9 +# source://parallel//lib/parallel.rb#6 Parallel::Stop = T.let(T.unsafe(nil), Object) -# source://parallel//lib/parallel.rb#26 +# source://parallel//lib/parallel.rb#23 class Parallel::UndumpableException < ::StandardError # @return [UndumpableException] a new instance of UndumpableException # - # source://parallel//lib/parallel.rb#29 + # source://parallel//lib/parallel.rb#26 def initialize(original); end # Returns the value of attribute backtrace. # - # source://parallel//lib/parallel.rb#27 + # source://parallel//lib/parallel.rb#24 def backtrace; end end -# source://parallel//lib/parallel.rb#159 +# source://parallel//lib/parallel.rb#156 class Parallel::UserInterruptHandler class << self - # source://parallel//lib/parallel.rb#184 + # source://parallel//lib/parallel.rb#181 def kill(thing); end # kill all these pids or threads if user presses Ctrl+c # - # source://parallel//lib/parallel.rb#164 + # source://parallel//lib/parallel.rb#161 def kill_on_ctrl_c(pids, options); end private - # source://parallel//lib/parallel.rb#208 + # source://parallel//lib/parallel.rb#205 def restore_interrupt(old, signal); end - # source://parallel//lib/parallel.rb#193 + # source://parallel//lib/parallel.rb#190 def trap_interrupt(signal); end end end -# source://parallel//lib/parallel.rb#160 +# source://parallel//lib/parallel.rb#157 Parallel::UserInterruptHandler::INTERRUPT_SIGNAL = T.let(T.unsafe(nil), Symbol) # source://parallel//lib/parallel/version.rb#3 @@ -224,54 +220,54 @@ Parallel::VERSION = T.let(T.unsafe(nil), String) # source://parallel//lib/parallel/version.rb#3 Parallel::Version = T.let(T.unsafe(nil), String) -# source://parallel//lib/parallel.rb#54 +# source://parallel//lib/parallel.rb#51 class Parallel::Worker # @return [Worker] a new instance of Worker # - # source://parallel//lib/parallel.rb#58 + # source://parallel//lib/parallel.rb#55 def initialize(read, write, pid); end # might be passed to started_processes and simultaneously closed by another thread # when running in isolation mode, so we have to check if it is closed before closing # - # source://parallel//lib/parallel.rb#71 + # source://parallel//lib/parallel.rb#68 def close_pipes; end # Returns the value of attribute pid. # - # source://parallel//lib/parallel.rb#55 + # source://parallel//lib/parallel.rb#52 def pid; end # Returns the value of attribute read. # - # source://parallel//lib/parallel.rb#55 + # source://parallel//lib/parallel.rb#52 def read; end - # source://parallel//lib/parallel.rb#64 + # source://parallel//lib/parallel.rb#61 def stop; end # Returns the value of attribute thread. # - # source://parallel//lib/parallel.rb#56 + # source://parallel//lib/parallel.rb#53 def thread; end # Sets the attribute thread # # @param value the value to set the attribute thread to. # - # source://parallel//lib/parallel.rb#56 + # source://parallel//lib/parallel.rb#53 def thread=(_arg0); end - # source://parallel//lib/parallel.rb#76 + # source://parallel//lib/parallel.rb#73 def work(data); end # Returns the value of attribute write. # - # source://parallel//lib/parallel.rb#55 + # source://parallel//lib/parallel.rb#52 def write; end private - # source://parallel//lib/parallel.rb#94 + # source://parallel//lib/parallel.rb#91 def wait; end end diff --git a/sorbet/rbi/gems/prettier_print@1.2.1.rbi b/sorbet/rbi/gems/prettier_print@1.2.1.rbi new file mode 100644 index 0000000..4e88525 --- /dev/null +++ b/sorbet/rbi/gems/prettier_print@1.2.1.rbi @@ -0,0 +1,951 @@ +# typed: true + +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `prettier_print` gem. +# Please instead update this file by running `bin/tapioca gem prettier_print`. + +# This class implements a pretty printing algorithm. It finds line breaks and +# nice indentations for grouped structure. +# +# By default, the class assumes that primitive elements are strings and each +# byte in the strings is a single column in width. But it can be used for other +# situations by giving suitable arguments for some methods: +# +# * newline object and space generation block for PrettierPrint.new +# * optional width argument for PrettierPrint#text +# * PrettierPrint#breakable +# +# There are several candidate uses: +# * text formatting using proportional fonts +# * multibyte characters which has columns different to number of bytes +# * non-string formatting +# +# == Usage +# +# To use this module, you will need to generate a tree of print nodes that +# represent indentation and newline behavior before it gets sent to the printer. +# Each node has different semantics, depending on the desired output. +# +# The most basic node is a Text node. This represents plain text content that +# cannot be broken up even if it doesn't fit on one line. You would create one +# of those with the text method, as in: +# +# PrettierPrint.format { |q| q.text('my content') } +# +# No matter what the desired output width is, the output for the snippet above +# will always be the same. +# +# If you want to allow the printer to break up the content on the space +# character when there isn't enough width for the full string on the same line, +# you can use the Breakable and Group nodes. For example: +# +# PrettierPrint.format do |q| +# q.group do +# q.text("my") +# q.breakable +# q.text("content") +# end +# end +# +# Now, if everything fits on one line (depending on the maximum width specified) +# then it will be the same output as the first example. If, however, there is +# not enough room on the line, then you will get two lines of output, one for +# the first string and one for the second. +# +# There are other nodes for the print tree as well, described in the +# documentation below. They control alignment, indentation, conditional +# formatting, and more. +# +# == References +# Christian Lindig, Strictly Pretty, March 2000 +# https://lindig.github.io/papers/strictly-pretty-2000.pdf +# +# Philip Wadler, A prettier printer, March 1998 +# https://homepages.inf.ed.ac.uk/wadler/papers/prettier/prettier.pdf +# +# source://prettier_print//lib/prettier_print.rb#62 +class PrettierPrint + # Creates a buffer for pretty printing. + # + # +output+ is an output target. If it is not specified, '' is assumed. It + # should have a << method which accepts the first argument +obj+ of + # PrettierPrint#text, the first argument +separator+ of PrettierPrint#breakable, + # the first argument +newline+ of PrettierPrint.new, and the result of a given + # block for PrettierPrint.new. + # + # +maxwidth+ specifies maximum line length. If it is not specified, 80 is + # assumed. However actual outputs may overflow +maxwidth+ if long + # non-breakable texts are provided. + # + # +newline+ is used for line breaks. "\n" is used if it is not specified. + # + # The block is used to generate spaces. ->(n) { ' ' * n } is used if it is not + # given. + # + # @return [PrettierPrint] a new instance of PrettierPrint + # + # source://prettier_print//lib/prettier_print.rb#441 + def initialize(output = T.unsafe(nil), maxwidth = T.unsafe(nil), newline = T.unsafe(nil), &genspace); end + + # This inserts a BreakParent node into the print tree which forces the + # surrounding and all parent group nodes to break. + # + # source://prettier_print//lib/prettier_print.rb#814 + def break_parent; end + + # This says "you can break a line here if necessary", and a +width+\-column + # text +separator+ is inserted if a line is not broken at the point. + # + # If +separator+ is not specified, ' ' is used. + # + # If +width+ is not specified, +separator.length+ is used. You will have to + # specify this when +separator+ is a multibyte character, for example. + # + # By default, if the surrounding group is broken and a newline is inserted, + # the printer will indent the subsequent line up to the current level of + # indentation. You can disable this behavior with the +indent+ argument if + # that's not desired (rare). + # + # By default, when you insert a Breakable into the print tree, it only breaks + # the surrounding group when the group's contents cannot fit onto the + # remaining space of the current line. You can force it to break the + # surrounding group instead if you always want the newline with the +force+ + # argument. + # + # There are a few circumstances where you'll want to force the newline into + # the output but no insert a break parent (because you don't want to + # necessarily force the groups to break unless they need to). In this case you + # can pass `force: :skip_break_parent` to this method and it will not insert + # a break parent.` + # + # source://prettier_print//lib/prettier_print.rb#802 + def breakable(separator = T.unsafe(nil), width = T.unsafe(nil), indent: T.unsafe(nil), force: T.unsafe(nil)); end + + # Another very common breakable call you receive while formatting is an + # empty string in flat mode and a newline in break mode. Similar to + # breakable_space, this is here for avoid unnecessary calculation. + # + # source://prettier_print//lib/prettier_print.rb#646 + def breakable_empty; end + + # The final of the very common breakable calls you receive while formatting + # is the normal breakable space but with the addition of the break_parent. + # + # source://prettier_print//lib/prettier_print.rb#652 + def breakable_force; end + + # This is the same shortcut as breakable_force, except that it doesn't indent + # the next line. This is necessary if you're trying to preserve some custom + # formatting like a multi-line string. + # + # source://prettier_print//lib/prettier_print.rb#660 + def breakable_return; end + + # The vast majority of breakable calls you receive while formatting are a + # space in flat mode and a newline in break mode. Since this is so common, + # we have a method here to skip past unnecessary calculation. + # + # source://prettier_print//lib/prettier_print.rb#639 + def breakable_space; end + + # This is an output buffer that wraps the output object and provides + # additional functionality depending on its type. + # + # This defaults to Buffer::StringBuffer.new("".dup) + # + # source://prettier_print//lib/prettier_print.rb#400 + def buffer; end + + # A convenience method which is same as follows: + # + # text(",") + # breakable + # + # source://prettier_print//lib/prettier_print.rb#669 + def comma_breakable; end + + # Returns the group most recently added to the stack. + # + # Contrived example: + # out = "" + # => "" + # q = PrettierPrint.new(out) + # => # + # q.group { + # q.text q.current_group.inspect + # q.text q.newline + # q.group(q.current_group.depth + 1) { + # q.text q.current_group.inspect + # q.text q.newline + # q.group(q.current_group.depth + 1) { + # q.text q.current_group.inspect + # q.text q.newline + # q.group(q.current_group.depth + 1) { + # q.text q.current_group.inspect + # q.text q.newline + # } + # } + # } + # } + # => 284 + # puts out + # # + # # + # # + # # + # + # source://prettier_print//lib/prettier_print.rb#484 + def current_group; end + + # This is similar to #breakable except the decision to break or not is + # determined individually. + # + # Two #fill_breakable under a group may cause 4 results: + # (break,break), (break,non-break), (non-break,break), (non-break,non-break). + # This is different to #breakable because two #breakable under a group + # may cause 2 results: (break,break), (non-break,non-break). + # + # The text +separator+ is inserted if a line is not broken at this point. + # + # If +separator+ is not specified, ' ' is used. + # + # If +width+ is not specified, +separator.length+ is used. You will have to + # specify this when +separator+ is a multibyte character, for example. + # + # source://prettier_print//lib/prettier_print.rb#688 + def fill_breakable(separator = T.unsafe(nil), width = T.unsafe(nil)); end + + # Flushes all of the generated print tree onto the output buffer, then clears + # the generated tree from memory. + # + # source://prettier_print//lib/prettier_print.rb#490 + def flush(base_indentation = T.unsafe(nil)); end + + # An object that responds to call that takes one argument, of an Integer, and + # returns the corresponding number of spaces. + # + # By default this is: ->(n) { ' ' * n } + # + # source://prettier_print//lib/prettier_print.rb#416 + def genspace; end + + # Groups line break hints added in the block. The line break hints are all to + # be used or not. + # + # If +indent+ is specified, the method call is regarded as nested by + # nest(indent) { ... }. + # + # If +open_object+ is specified, text(open_object, open_width) is + # called before grouping. If +close_object+ is specified, + # text(close_object, close_width) is called after grouping. + # + # source://prettier_print//lib/prettier_print.rb#845 + def group(indent = T.unsafe(nil), open_object = T.unsafe(nil), close_object = T.unsafe(nil), open_width = T.unsafe(nil), close_width = T.unsafe(nil)); end + + # The stack of groups that are being printed. + # + # source://prettier_print//lib/prettier_print.rb#419 + def groups; end + + # Inserts an IfBreak node with the contents of the block being added to its + # list of nodes that should be printed if the surrounding node breaks. If it + # doesn't, then you can specify the contents to be printed with the #if_flat + # method used on the return object from this method. For example, + # + # q.if_break { q.text('do') }.if_flat { q.text('{') } + # + # In the example above, if the surrounding group is broken it will print 'do' + # and if it is not it will print '{'. + # + # source://prettier_print//lib/prettier_print.rb#917 + def if_break; end + + # This is similar to if_break in that it also inserts an IfBreak node into the + # print tree, however it's starting from the flat contents, and cannot be used + # to build the break contents. + # + # source://prettier_print//lib/prettier_print.rb#936 + def if_flat; end + + # Very similar to the #nest method, this indents the nested content by one + # level by inserting an Indent node into the print tree. The contents of the + # node are determined by the block. + # + # source://prettier_print//lib/prettier_print.rb#956 + def indent; end + + # This method calculates the position of the text relative to the current + # indentation level when the doc has been printed. It's useful for + # determining how to align text to doc nodes that are already built into the + # tree. + # + # source://prettier_print//lib/prettier_print.rb#696 + def last_position(node); end + + # Inserts a LineSuffix node into the print tree. The contents of the node are + # determined by the block. + # + # source://prettier_print//lib/prettier_print.rb#967 + def line_suffix(priority: T.unsafe(nil)); end + + # The maximum width of a line, before it is separated in to a newline + # + # This defaults to 80, and should be an Integer + # + # source://prettier_print//lib/prettier_print.rb#405 + def maxwidth; end + + # Increases left margin after newline with +indent+ for line breaks added in + # the block. + # + # source://prettier_print//lib/prettier_print.rb#977 + def nest(indent); end + + # The value that is appended to +output+ to add a new line. + # + # This defaults to "\n", and should be String + # + # source://prettier_print//lib/prettier_print.rb#410 + def newline; end + + # The output object. It represents the final destination of the contents of + # the print tree. It should respond to <<. + # + # This defaults to "".dup + # + # source://prettier_print//lib/prettier_print.rb#394 + def output; end + + # This method will remove any breakables from the list of contents so that + # no newlines are present in the output. If a newline is being forced into + # the output, the replace value will be used. + # + # source://prettier_print//lib/prettier_print.rb#721 + def remove_breaks(node, replace = T.unsafe(nil)); end + + # Adds a separated list. + # The list is separated by comma with breakable space, by default. + # + # #seplist iterates the +list+ using +iter_method+. + # It yields each object to the block given for #seplist. + # The procedure +separator_proc+ is called between each yields. + # + # If the iteration is zero times, +separator_proc+ is not called at all. + # + # If +separator_proc+ is nil or not given, + # +lambda { comma_breakable }+ is used. + # If +iter_method+ is not given, :each is used. + # + # For example, following 3 code fragments has similar effect. + # + # q.seplist([1,2,3]) {|v| xxx v } + # + # q.seplist([1,2,3], lambda { q.comma_breakable }, :each) {|v| xxx v } + # + # xxx 1 + # q.comma_breakable + # xxx 2 + # q.comma_breakable + # xxx 3 + # + # source://prettier_print//lib/prettier_print.rb#760 + def seplist(list, sep = T.unsafe(nil), iter_method = T.unsafe(nil)); end + + # The current array of contents that calls to methods that generate print tree + # nodes will append to. + # + # source://prettier_print//lib/prettier_print.rb#423 + def target; end + + # This adds +object+ as a text of +width+ columns in width. + # + # If +width+ is not specified, object.length is used. + # + # source://prettier_print//lib/prettier_print.rb#989 + def text(object = T.unsafe(nil), width = T.unsafe(nil)); end + + # This inserts a Trim node into the print tree which, when printed, will clear + # all whitespace at the end of the output buffer. This is useful for the rare + # case where you need to delete printed indentation and force the next node + # to start at the beginning of the line. + # + # source://prettier_print//lib/prettier_print.rb#828 + def trim; end + + # A convenience method used by a lot of the print tree node builders that + # temporarily changes the target that the builders will append to. + # + # source://prettier_print//lib/prettier_print.rb#1007 + def with_target(target); end + + private + + # This method returns a boolean as to whether or not the remaining commands + # fit onto the remaining space on the current line. If we finish printing + # all of the commands or if we hit a newline, then we return true. Otherwise + # if we continue printing past the remaining space, we return false. + # + # @return [Boolean] + # + # source://prettier_print//lib/prettier_print.rb#1019 + def fits?(next_commands, rest_commands, remaining); end + + # source://prettier_print//lib/prettier_print.rb#1091 + def remove_breaks_with(doc, replace); end + + # Resets the group stack and target array so that this pretty printer object + # can continue to be used before calling flush again if desired. + # + # source://prettier_print//lib/prettier_print.rb#1085 + def reset; end + + class << self + # This is a convenience method which is same as follows: + # + # begin + # q = PrettierPrint.new(output, maxwidth, newline, &genspace) + # ... + # q.flush + # output + # end + # + # @yield [q] + # + # source://prettier_print//lib/prettier_print.rb#377 + def format(output = T.unsafe(nil), maxwidth = T.unsafe(nil), newline = T.unsafe(nil), genspace = T.unsafe(nil), indentation = T.unsafe(nil)); end + + # This is similar to PrettierPrint::format but the result has no breaks. + # + # +maxwidth+, +newline+ and +genspace+ are ignored. + # + # The invocation of +breakable+ in the block doesn't break a line and is + # treated as just an invocation of +text+. + # + # @yield [q] + # + # source://prettier_print//lib/prettier_print/single_line.rb#156 + def singleline_format(output = T.unsafe(nil), _maxwidth = T.unsafe(nil), _newline = T.unsafe(nil), _genspace = T.unsafe(nil)); end + end +end + +# A node in the print tree that represents aligning nested nodes to a certain +# prefix width or string. +# +# source://prettier_print//lib/prettier_print.rb#65 +class PrettierPrint::Align + # @return [Align] a new instance of Align + # + # source://prettier_print//lib/prettier_print.rb#68 + def initialize(indent:, contents: T.unsafe(nil)); end + + # Returns the value of attribute contents. + # + # source://prettier_print//lib/prettier_print.rb#66 + def contents; end + + # Returns the value of attribute indent. + # + # source://prettier_print//lib/prettier_print.rb#66 + def indent; end + + # source://prettier_print//lib/prettier_print.rb#73 + def pretty_print(q); end +end + +# source://prettier_print//lib/prettier_print.rb#126 +PrettierPrint::BREAKABLE_EMPTY = T.let(T.unsafe(nil), PrettierPrint::Breakable) + +# source://prettier_print//lib/prettier_print.rb#127 +PrettierPrint::BREAKABLE_FORCE = T.let(T.unsafe(nil), PrettierPrint::Breakable) + +# source://prettier_print//lib/prettier_print.rb#128 +PrettierPrint::BREAKABLE_RETURN = T.let(T.unsafe(nil), PrettierPrint::Breakable) + +# Below here are the most common combination of options that are created when +# creating new breakables. They are here to cut down on some allocations. +# +# source://prettier_print//lib/prettier_print.rb#125 +PrettierPrint::BREAKABLE_SPACE = T.let(T.unsafe(nil), PrettierPrint::Breakable) + +# Since there's really no difference in these instances, just using the same +# one saves on some allocations. +# +# source://prettier_print//lib/prettier_print.rb#141 +PrettierPrint::BREAK_PARENT = T.let(T.unsafe(nil), PrettierPrint::BreakParent) + +# A node in the print tree that forces the surrounding group to print out in +# the "break" mode as opposed to the "flat" mode. Useful for when you need to +# force a newline into a group. +# +# source://prettier_print//lib/prettier_print.rb#133 +class PrettierPrint::BreakParent + # source://prettier_print//lib/prettier_print.rb#134 + def pretty_print(q); end +end + +# A node in the print tree that represents a place in the buffer that the +# content can be broken onto multiple lines. +# +# source://prettier_print//lib/prettier_print.rb#82 +class PrettierPrint::Breakable + # @return [Breakable] a new instance of Breakable + # + # source://prettier_print//lib/prettier_print.rb#85 + def initialize(separator = T.unsafe(nil), width = T.unsafe(nil), force: T.unsafe(nil), indent: T.unsafe(nil)); end + + # @return [Boolean] + # + # source://prettier_print//lib/prettier_print.rb#97 + def force?; end + + # @return [Boolean] + # + # source://prettier_print//lib/prettier_print.rb#101 + def indent?; end + + # source://prettier_print//lib/prettier_print.rb#105 + def pretty_print(q); end + + # Returns the value of attribute separator. + # + # source://prettier_print//lib/prettier_print.rb#83 + def separator; end + + # Returns the value of attribute width. + # + # source://prettier_print//lib/prettier_print.rb#83 + def width; end +end + +# When building up the contents in the output buffer, it's convenient to be +# able to trim trailing whitespace before newlines. If the output object is a +# string or array or strings, then we can do this with some gsub calls. If +# not, then this effectively just wraps the output object and forwards on +# calls to <<. +# +# source://prettier_print//lib/prettier_print.rb#277 +module PrettierPrint::Buffer + class << self + # This is a switch for building the correct output buffer wrapper class for + # the given output object. + # + # source://prettier_print//lib/prettier_print.rb#336 + def for(output); end + end +end + +# This is an output buffer that wraps an array output object. It provides a +# trim! method that trims off trailing whitespace from the last element in +# the array if it's an unfrozen string using the same method as the +# StringBuffer. +# +# source://prettier_print//lib/prettier_print.rb#303 +class PrettierPrint::Buffer::ArrayBuffer + # @return [ArrayBuffer] a new instance of ArrayBuffer + # + # source://prettier_print//lib/prettier_print.rb#306 + def initialize(output = T.unsafe(nil)); end + + # source://prettier_print//lib/prettier_print.rb#310 + def <<(object); end + + # Returns the value of attribute output. + # + # source://prettier_print//lib/prettier_print.rb#304 + def output; end + + # source://prettier_print//lib/prettier_print.rb#314 + def trim!; end +end + +# This is an output buffer that wraps a string output object. It provides a +# trim! method that trims off trailing whitespace from the string using +# gsub!. +# +# source://prettier_print//lib/prettier_print.rb#281 +class PrettierPrint::Buffer::StringBuffer + # @return [StringBuffer] a new instance of StringBuffer + # + # source://prettier_print//lib/prettier_print.rb#284 + def initialize(output = T.unsafe(nil)); end + + # source://prettier_print//lib/prettier_print.rb#288 + def <<(object); end + + # Returns the value of attribute output. + # + # source://prettier_print//lib/prettier_print.rb#282 + def output; end + + # source://prettier_print//lib/prettier_print.rb#292 + def trim!; end +end + +# When generating spaces after a newline for indentation, by default we +# generate one space per character needed for indentation. You can change this +# behavior (for instance to use tabs) by passing a different genspace +# procedure. +# +# source://prettier_print//lib/prettier_print.rb#350 +PrettierPrint::DEFAULT_GENSPACE = T.let(T.unsafe(nil), Proc) + +# The default indentation for printing is zero, assuming that the code starts +# at the top level. That can be changed if desired to start from a different +# indentation level. +# +# source://prettier_print//lib/prettier_print.rb#366 +PrettierPrint::DEFAULT_INDENTATION = T.let(T.unsafe(nil), Integer) + +# When printing, you can optionally specify the value that should be used +# whenever a group needs to be broken onto multiple lines. In this case the +# default is \n. +# +# source://prettier_print//lib/prettier_print.rb#344 +PrettierPrint::DEFAULT_NEWLINE = T.let(T.unsafe(nil), String) + +# A node in the print tree that represents a group of items which the printer +# should try to fit onto one line. This is the basic command to tell the +# printer when to break. Groups are usually nested, and the printer will try +# to fit everything on one line, but if it doesn't fit it will break the +# outermost group first and try again. It will continue breaking groups until +# everything fits (or there are no more groups to break). +# +# source://prettier_print//lib/prettier_print.rb#149 +class PrettierPrint::Group + # @return [Group] a new instance of Group + # + # source://prettier_print//lib/prettier_print.rb#152 + def initialize(depth, contents: T.unsafe(nil)); end + + # source://prettier_print//lib/prettier_print.rb#158 + def break; end + + # @return [Boolean] + # + # source://prettier_print//lib/prettier_print.rb#162 + def break?; end + + # Returns the value of attribute contents. + # + # source://prettier_print//lib/prettier_print.rb#150 + def contents; end + + # Returns the value of attribute depth. + # + # source://prettier_print//lib/prettier_print.rb#150 + def depth; end + + # source://prettier_print//lib/prettier_print.rb#166 + def pretty_print(q); end +end + +# A node in the print tree that represents printing one thing if the +# surrounding group node is broken and another thing if the surrounding group +# node is flat. +# +# source://prettier_print//lib/prettier_print.rb#176 +class PrettierPrint::IfBreak + # @return [IfBreak] a new instance of IfBreak + # + # source://prettier_print//lib/prettier_print.rb#179 + def initialize(break_contents: T.unsafe(nil), flat_contents: T.unsafe(nil)); end + + # Returns the value of attribute break_contents. + # + # source://prettier_print//lib/prettier_print.rb#177 + def break_contents; end + + # Returns the value of attribute flat_contents. + # + # source://prettier_print//lib/prettier_print.rb#177 + def flat_contents; end + + # source://prettier_print//lib/prettier_print.rb#184 + def pretty_print(q); end +end + +# A small DSL-like object used for specifying the alternative contents to be +# printed if the surrounding group doesn't break for an IfBreak node. +# +# source://prettier_print//lib/prettier_print.rb#874 +class PrettierPrint::IfBreakBuilder + # @return [IfBreakBuilder] a new instance of IfBreakBuilder + # + # source://prettier_print//lib/prettier_print.rb#877 + def initialize(q, flat_contents); end + + # Returns the value of attribute flat_contents. + # + # source://prettier_print//lib/prettier_print.rb#875 + def flat_contents; end + + # source://prettier_print//lib/prettier_print.rb#882 + def if_flat; end + + # Returns the value of attribute q. + # + # source://prettier_print//lib/prettier_print.rb#875 + def q; end +end + +# When we already know that groups are broken, we don't actually need to track +# the flat versions of the contents. So this builder version is effectively a +# no-op, but we need it to maintain the same API. The only thing this can +# impact is that if there's a forced break in the flat contents, then we need +# to propagate that break up the whole tree. +# +# source://prettier_print//lib/prettier_print.rb#892 +class PrettierPrint::IfFlatIgnore + # @return [IfFlatIgnore] a new instance of IfFlatIgnore + # + # source://prettier_print//lib/prettier_print.rb#895 + def initialize(q); end + + # source://prettier_print//lib/prettier_print.rb#899 + def if_flat; end + + # Returns the value of attribute q. + # + # source://prettier_print//lib/prettier_print.rb#893 + def q; end +end + +# A node in the print tree that is a variant of the Align node that indents +# its contents by one level. +# +# source://prettier_print//lib/prettier_print.rb#200 +class PrettierPrint::Indent + # @return [Indent] a new instance of Indent + # + # source://prettier_print//lib/prettier_print.rb#203 + def initialize(contents: T.unsafe(nil)); end + + # Returns the value of attribute contents. + # + # source://prettier_print//lib/prettier_print.rb#201 + def contents; end + + # source://prettier_print//lib/prettier_print.rb#207 + def pretty_print(q); end +end + +# A node in the print tree that has its own special buffer for implementing +# content that should flush before any newline. +# +# Useful for implementating trailing content, as it's not always practical to +# constantly check where the line ends to avoid accidentally printing some +# content after a line suffix node. +# +# source://prettier_print//lib/prettier_print.rb#220 +class PrettierPrint::LineSuffix + # @return [LineSuffix] a new instance of LineSuffix + # + # source://prettier_print//lib/prettier_print.rb#225 + def initialize(priority: T.unsafe(nil), contents: T.unsafe(nil)); end + + # Returns the value of attribute contents. + # + # source://prettier_print//lib/prettier_print.rb#223 + def contents; end + + # source://prettier_print//lib/prettier_print.rb#230 + def pretty_print(q); end + + # Returns the value of attribute priority. + # + # source://prettier_print//lib/prettier_print.rb#223 + def priority; end +end + +# source://prettier_print//lib/prettier_print.rb#221 +PrettierPrint::LineSuffix::DEFAULT_PRIORITY = T.let(T.unsafe(nil), Integer) + +# There are two modes in printing, break and flat. When we're in break mode, +# any lines will use their newline, any if-breaks will use their break +# contents, etc. +# +# source://prettier_print//lib/prettier_print.rb#356 +PrettierPrint::MODE_BREAK = T.let(T.unsafe(nil), Integer) + +# This is another print mode much like MODE_BREAK. When we're in flat mode, we +# attempt to print everything on one line until we either hit a broken group, +# a forced line, or the maximum width. +# +# source://prettier_print//lib/prettier_print.rb#361 +PrettierPrint::MODE_FLAT = T.let(T.unsafe(nil), Integer) + +# PrettierPrint::SingleLine is used by PrettierPrint.singleline_format +# +# It is passed to be similar to a PrettierPrint object itself, by responding to +# all of the same print tree node builder methods, as well as the #flush +# method. +# +# The significant difference here is that there are no line breaks in the +# output. If an IfBreak node is used, only the flat contents are printed. +# LineSuffix nodes are printed at the end of the buffer when #flush is called. +# +# source://prettier_print//lib/prettier_print/single_line.rb#13 +class PrettierPrint::SingleLine + # Create a PrettierPrint::SingleLine object + # + # Arguments: + # * +output+ - String (or similar) to store rendered text. Needs to respond + # to '<<'. + # * +maxwidth+ - Argument position expected to be here for compatibility. + # This argument is a noop. + # * +newline+ - Argument position expected to be here for compatibility. + # This argument is a noop. + # + # @return [SingleLine] a new instance of SingleLine + # + # source://prettier_print//lib/prettier_print/single_line.rb#34 + def initialize(output, _maxwidth = T.unsafe(nil), _newline = T.unsafe(nil)); end + + # Here for compatibility, does nothing. + # + # source://prettier_print//lib/prettier_print/single_line.rb#64 + def break_parent; end + + # Appends +separator+ to the text to be output. By default +separator+ is + # ' ' + # + # The +width+, +indent+, and +force+ arguments are here for compatibility. + # They are all noop arguments. + # + # source://prettier_print//lib/prettier_print/single_line.rb#54 + def breakable(separator = T.unsafe(nil), _width = T.unsafe(nil), indent: T.unsafe(nil), force: T.unsafe(nil)); end + + # Appends +separator+ to the output buffer. +width+ is a noop here for + # compatibility. + # + # source://prettier_print//lib/prettier_print/single_line.rb#69 + def fill_breakable(separator = T.unsafe(nil), _width = T.unsafe(nil)); end + + # Flushes the line suffixes onto the output buffer. + # + # source://prettier_print//lib/prettier_print/single_line.rb#41 + def flush; end + + # Opens a block for grouping objects to be pretty printed. + # + # Arguments: + # * +indent+ - noop argument. Present for compatibility. + # * +open_obj+ - text appended before the &block. Default is '' + # * +close_obj+ - text appended after the &block. Default is '' + # * +open_width+ - noop argument. Present for compatibility. + # * +close_width+ - noop argument. Present for compatibility. + # + # source://prettier_print//lib/prettier_print/single_line.rb#90 + def group(_indent = T.unsafe(nil), open_object = T.unsafe(nil), close_object = T.unsafe(nil), _open_width = T.unsafe(nil), _close_width = T.unsafe(nil)); end + + # Effectively unnecessary, but here for compatibility. + # + # source://prettier_print//lib/prettier_print/single_line.rb#113 + def if_break; end + + # Also effectively unnecessary, but here for compatibility. + # + # source://prettier_print//lib/prettier_print/single_line.rb#118 + def if_flat; end + + # A noop that immediately yields. + # + # source://prettier_print//lib/prettier_print/single_line.rb#122 + def indent; end + + # Changes the target output buffer to the line suffix output buffer which + # will get flushed at the end of printing. + # + # source://prettier_print//lib/prettier_print/single_line.rb#128 + def line_suffix; end + + # A buffer output that wraps any calls to line_suffix that will be flushed + # at the end of printing. + # + # source://prettier_print//lib/prettier_print/single_line.rb#23 + def line_suffixes; end + + # Takes +indent+ arg, but does nothing with it. + # + # Yields to a block. + # + # source://prettier_print//lib/prettier_print/single_line.rb#137 + def nest(_indent); end + + # The output object. It stores rendered text and should respond to <<. + # + # source://prettier_print//lib/prettier_print/single_line.rb#15 + def output; end + + # The current array of contents that the print tree builder methods should + # append to. + # + # source://prettier_print//lib/prettier_print/single_line.rb#19 + def target; end + + # Add +object+ to the text to be output. + # + # +width+ argument is here for compatibility. It is a noop argument. + # + # source://prettier_print//lib/prettier_print/single_line.rb#144 + def text(object = T.unsafe(nil), _width = T.unsafe(nil)); end + + # Immediately trims the output buffer. + # + # source://prettier_print//lib/prettier_print/single_line.rb#74 + def trim; end +end + +# A class that wraps the ability to call #if_flat. The contents of the +# #if_flat block are executed immediately, so effectively this class and the +# #if_break method that triggers it are unnecessary, but they're here to +# maintain compatibility. +# +# source://prettier_print//lib/prettier_print/single_line.rb#106 +class PrettierPrint::SingleLine::IfBreakBuilder + # source://prettier_print//lib/prettier_print/single_line.rb#107 + def if_flat; end +end + +# Since all of the instances here are the same, we can reuse the same one to +# cut down on allocations. +# +# source://prettier_print//lib/prettier_print.rb#270 +PrettierPrint::TRIM = T.let(T.unsafe(nil), PrettierPrint::Trim) + +# A node in the print tree that represents plain content that cannot be broken +# up (by default this assumes strings, but it can really be anything). +# +# source://prettier_print//lib/prettier_print.rb#239 +class PrettierPrint::Text + # @return [Text] a new instance of Text + # + # source://prettier_print//lib/prettier_print.rb#242 + def initialize; end + + # source://prettier_print//lib/prettier_print.rb#247 + def add(object: T.unsafe(nil), width: T.unsafe(nil)); end + + # Returns the value of attribute objects. + # + # source://prettier_print//lib/prettier_print.rb#240 + def objects; end + + # source://prettier_print//lib/prettier_print.rb#252 + def pretty_print(q); end + + # Returns the value of attribute width. + # + # source://prettier_print//lib/prettier_print.rb#240 + def width; end +end + +# A node in the print tree that represents trimming all of the indentation of +# the current line, in the rare case that you need to ignore the indentation +# that you've already created. This node should be placed after a Breakable. +# +# source://prettier_print//lib/prettier_print.rb#262 +class PrettierPrint::Trim + # source://prettier_print//lib/prettier_print.rb#263 + def pretty_print(q); end +end diff --git a/sorbet/rbi/gems/racc@1.7.1.rbi b/sorbet/rbi/gems/racc@1.7.1.rbi new file mode 100644 index 0000000..d01a4f5 --- /dev/null +++ b/sorbet/rbi/gems/racc@1.7.1.rbi @@ -0,0 +1,161 @@ +# typed: true + +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `racc` gem. +# Please instead update this file by running `bin/tapioca gem racc`. + +# source://racc//lib/racc/parser.rb#23 +ParseError = Racc::ParseError + +# source://racc//lib/racc/info.rb#16 +Racc::Copyright = T.let(T.unsafe(nil), String) + +# source://racc//lib/racc/parser.rb#186 +class Racc::Parser + # source://racc//lib/racc/parser.rb#281 + def _racc_do_parse_rb(arg, in_debug); end + + # source://racc//lib/racc/parser.rb#481 + def _racc_do_reduce(arg, act); end + + # common + # + # source://racc//lib/racc/parser.rb#384 + def _racc_evalact(act, arg); end + + # source://racc//lib/racc/parser.rb#234 + def _racc_init_sysvars; end + + # source://racc//lib/racc/parser.rb#222 + def _racc_setup; end + + # source://racc//lib/racc/parser.rb#331 + def _racc_yyparse_rb(recv, mid, arg, c_debug); end + + # source://racc//lib/racc/parser.rb#264 + def do_parse; end + + # The method to fetch next token. + # If you use #do_parse method, you must implement #next_token. + # + # The format of return value is [TOKEN_SYMBOL, VALUE]. + # +token-symbol+ is represented by Ruby's symbol by default, e.g. :IDENT + # for 'IDENT'. ";" (String) for ';'. + # + # The final symbol (End of file) must be false. + # + # @raise [NotImplementedError] + # + # source://racc//lib/racc/parser.rb#277 + def next_token; end + + # This method is called when a parse error is found. + # + # ERROR_TOKEN_ID is an internal ID of token which caused error. + # You can get string representation of this ID by calling + # #token_to_str. + # + # ERROR_VALUE is a value of error token. + # + # value_stack is a stack of symbol values. + # DO NOT MODIFY this object. + # + # This method raises ParseError by default. + # + # If this method returns, parsers enter "error recovering mode". + # + # @raise [ParseError] + # + # source://racc//lib/racc/parser.rb#537 + def on_error(t, val, vstack); end + + # source://racc//lib/racc/parser.rb#586 + def racc_accept; end + + # source://racc//lib/racc/parser.rb#591 + def racc_e_pop(state, tstack, vstack); end + + # source://racc//lib/racc/parser.rb#598 + def racc_next_state(curstate, state); end + + # source://racc//lib/racc/parser.rb#604 + def racc_print_stacks(t, v); end + + # source://racc//lib/racc/parser.rb#613 + def racc_print_states(s); end + + # For debugging output + # + # source://racc//lib/racc/parser.rb#560 + def racc_read_token(t, tok, val); end + + # source://racc//lib/racc/parser.rb#573 + def racc_reduce(toks, sim, tstack, vstack); end + + # source://racc//lib/racc/parser.rb#567 + def racc_shift(tok, tstack, vstack); end + + # source://racc//lib/racc/parser.rb#620 + def racc_token2str(tok); end + + # Convert internal ID of token symbol to the string. + # + # source://racc//lib/racc/parser.rb#626 + def token_to_str(t); end + + # Exit parser. + # Return value is +Symbol_Value_Stack[0]+. + # + # source://racc//lib/racc/parser.rb#550 + def yyaccept; end + + # Leave error recovering mode. + # + # source://racc//lib/racc/parser.rb#555 + def yyerrok; end + + # Enter error recovering mode. + # This method does not call #on_error. + # + # source://racc//lib/racc/parser.rb#544 + def yyerror; end + + # source://racc//lib/racc/parser.rb#326 + def yyparse(recv, mid); end + + class << self + # source://racc//lib/racc/parser.rb#218 + def racc_runtime_type; end + end +end + +# source://racc//lib/racc/parser.rb#207 +Racc::Parser::Racc_Main_Parsing_Routine = T.let(T.unsafe(nil), Symbol) + +Racc::Parser::Racc_Runtime_Core_Id_C = T.let(T.unsafe(nil), String) + +# source://racc//lib/racc/parser.rb#209 +Racc::Parser::Racc_Runtime_Core_Version = T.let(T.unsafe(nil), String) + +Racc::Parser::Racc_Runtime_Core_Version_C = T.let(T.unsafe(nil), String) + +# source://racc//lib/racc/parser.rb#189 +Racc::Parser::Racc_Runtime_Core_Version_R = T.let(T.unsafe(nil), String) + +# source://racc//lib/racc/parser.rb#210 +Racc::Parser::Racc_Runtime_Type = T.let(T.unsafe(nil), String) + +# source://racc//lib/racc/parser.rb#188 +Racc::Parser::Racc_Runtime_Version = T.let(T.unsafe(nil), String) + +# source://racc//lib/racc/parser.rb#208 +Racc::Parser::Racc_YY_Parse_Method = T.let(T.unsafe(nil), Symbol) + +# source://racc//lib/racc/parser.rb#183 +Racc::Racc_No_Extensions = T.let(T.unsafe(nil), FalseClass) + +# source://racc//lib/racc/info.rb#14 +Racc::VERSION = T.let(T.unsafe(nil), String) + +# source://racc//lib/racc/info.rb#15 +Racc::Version = T.let(T.unsafe(nil), String) diff --git a/sorbet/rbi/gems/rainbow@3.1.1.rbi b/sorbet/rbi/gems/rainbow@3.1.1.rbi index 8d77f70..87f4c33 100644 --- a/sorbet/rbi/gems/rainbow@3.1.1.rbi +++ b/sorbet/rbi/gems/rainbow@3.1.1.rbi @@ -4,14 +4,9 @@ # This is an autogenerated file for types exported from the `rainbow` gem. # Please instead update this file by running `bin/tapioca gem rainbow`. -# source://yard/0.9.28/lib/yard.rb#61 -::RUBY18 = T.let(T.unsafe(nil), FalseClass) - -# source://yard/0.9.28/lib/yard.rb#62 -::RUBY19 = T.let(T.unsafe(nil), TrueClass) - class Object < ::BasicObject include ::Kernel + include ::PP::ObjectMixin private diff --git a/sorbet/rbi/gems/rake@13.0.6.rbi b/sorbet/rbi/gems/rake@13.0.6.rbi index 6f777fe..0202f06 100644 --- a/sorbet/rbi/gems/rake@13.0.6.rbi +++ b/sorbet/rbi/gems/rake@13.0.6.rbi @@ -661,6 +661,9 @@ module Rake::DSL # source://rake//lib/rake/file_utils_ext.rb#34 def ln_sf(*args, **options, &block); end + # source://rake//lib/rake/file_utils_ext.rb#34 + def ln_sr(*args, **options, &block); end + # source://rake//lib/rake/file_utils_ext.rb#34 def makedirs(*args, **options, &block); end @@ -859,7 +862,7 @@ end # not re-triggered if any of its dependencies are newer, nor does trigger # any rebuilds of tasks that depend on it whenever it is updated. # -# source://rake//lib/rake/file_creation_task.rb#13 +# source://rake//lib/rake/file_creation_task.rb#12 class Rake::FileCreationTask < ::Rake::FileTask # Is this file task needed? Yes if it doesn't exist. # @@ -1655,6 +1658,9 @@ module Rake::FileUtilsExt # source://rake//lib/rake/file_utils_ext.rb#34 def ln_sf(*args, **options, &block); end + # source://rake//lib/rake/file_utils_ext.rb#34 + def ln_sr(*args, **options, &block); end + # source://rake//lib/rake/file_utils_ext.rb#34 def makedirs(*args, **options, &block); end @@ -2164,9 +2170,6 @@ class Rake::PseudoStatus def to_i; end end -# source://rdoc/6.4.0/rdoc/task.rb#326 -Rake::RDocTask = RDoc::Task - # Error indicating a recursion overflow error in task selection. # # source://rake//lib/rake/rule_recursion_overflow_error.rb#5 diff --git a/sorbet/rbi/gems/rbnacl@7.1.1.rbi b/sorbet/rbi/gems/rbnacl@7.1.1.rbi index 1d14fd1..c7b19cc 100644 --- a/sorbet/rbi/gems/rbnacl@7.1.1.rbi +++ b/sorbet/rbi/gems/rbnacl@7.1.1.rbi @@ -2640,7 +2640,7 @@ class RbNaCl::SimpleBox # source://rbnacl//lib/rbnacl/simple_box.rb#80 def encrypt(message); end - # source://forwardable/1.3.2/forwardable.rb#229 + # source://forwardable/1.3.3/forwardable.rb#231 def nonce_bytes(*args, **_arg1, &block); end # Decrypts the ciphertext with a random nonce @@ -2655,7 +2655,7 @@ class RbNaCl::SimpleBox # source://rbnacl//lib/rbnacl/simple_box.rb#97 def open(enciphered_message); end - # source://forwardable/1.3.2/forwardable.rb#229 + # source://forwardable/1.3.3/forwardable.rb#231 def primitive(*args, **_arg1, &block); end private diff --git a/sorbet/rbi/gems/regexp_parser@2.7.0.rbi b/sorbet/rbi/gems/regexp_parser@2.8.1.rbi similarity index 87% rename from sorbet/rbi/gems/regexp_parser@2.7.0.rbi rename to sorbet/rbi/gems/regexp_parser@2.8.1.rbi index 9229c67..e10d9b8 100644 --- a/sorbet/rbi/gems/regexp_parser@2.7.0.rbi +++ b/sorbet/rbi/gems/regexp_parser@2.8.1.rbi @@ -22,7 +22,7 @@ end # source://regexp_parser//lib/regexp_parser/expression/classes/alternation.rb#6 Regexp::Expression::Alternation::OPERAND = Regexp::Expression::Alternative -# A sequence of expressions, used by Alternation as one of its alternative. +# A sequence of expressions, used by Alternation as one of its alternatives. # # source://regexp_parser//lib/regexp_parser/expression/classes/alternation.rb#3 class Regexp::Expression::Alternative < ::Regexp::Expression::Sequence @@ -102,77 +102,80 @@ class Regexp::Expression::Anchor::WordBoundary < ::Regexp::Expression::Anchor::B def human_name; end end -# source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#86 +# source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#64 module Regexp::Expression::Assertion; end -# source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#87 +# source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#65 class Regexp::Expression::Assertion::Base < ::Regexp::Expression::Group::Base # source://regexp_parser//lib/regexp_parser/expression/methods/match_length.rb#148 def match_length; end end -# source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#89 +# source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#67 class Regexp::Expression::Assertion::Lookahead < ::Regexp::Expression::Assertion::Base # source://regexp_parser//lib/regexp_parser/expression/methods/human_name.rb#19 def human_name; end end -# source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#92 +# source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#70 class Regexp::Expression::Assertion::Lookbehind < ::Regexp::Expression::Assertion::Base # source://regexp_parser//lib/regexp_parser/expression/methods/human_name.rb#20 def human_name; end end -# source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#90 +# source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#68 class Regexp::Expression::Assertion::NegativeLookahead < ::Regexp::Expression::Assertion::Base # source://regexp_parser//lib/regexp_parser/expression/methods/human_name.rb#21 def human_name; end end -# source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#93 +# source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#71 class Regexp::Expression::Assertion::NegativeLookbehind < ::Regexp::Expression::Assertion::Base # source://regexp_parser//lib/regexp_parser/expression/methods/human_name.rb#22 def human_name; end end -# TODO: unify name with token :backref, one way or the other, in v3.0.0 +# alias for symmetry between token symbol and Expression class name # -# source://regexp_parser//lib/regexp_parser/expression/classes/backreference.rb#3 +# source://regexp_parser//lib/regexp_parser/expression/classes/backreference.rb#74 +Regexp::Expression::Backref = Regexp::Expression::Backreference + +# source://regexp_parser//lib/regexp_parser/expression/classes/backreference.rb#2 module Regexp::Expression::Backreference; end -# source://regexp_parser//lib/regexp_parser/expression/classes/backreference.rb#4 +# source://regexp_parser//lib/regexp_parser/expression/classes/backreference.rb#3 class Regexp::Expression::Backreference::Base < ::Regexp::Expression::Base # source://regexp_parser//lib/regexp_parser/expression/methods/match_length.rb#155 def match_length; end # Returns the value of attribute referenced_expression. # - # source://regexp_parser//lib/regexp_parser/expression/classes/backreference.rb#5 + # source://regexp_parser//lib/regexp_parser/expression/classes/backreference.rb#4 def referenced_expression; end # Sets the attribute referenced_expression # # @param value the value to set the attribute referenced_expression to. # - # source://regexp_parser//lib/regexp_parser/expression/classes/backreference.rb#5 + # source://regexp_parser//lib/regexp_parser/expression/classes/backreference.rb#4 def referenced_expression=(_arg0); end - # @return [Boolean] - # - # source://regexp_parser//lib/regexp_parser/expression/classes/backreference.rb#24 - def referential?; end - private - # source://regexp_parser//lib/regexp_parser/expression/classes/backreference.rb#7 + # source://regexp_parser//lib/regexp_parser/expression/classes/backreference.rb#6 def initialize_copy(orig); end + + class << self + # source://regexp_parser//lib/regexp_parser/expression/methods/tests.rb#140 + def referential?; end + end end -# source://regexp_parser//lib/regexp_parser/expression/classes/backreference.rb#39 +# source://regexp_parser//lib/regexp_parser/expression/classes/backreference.rb#34 class Regexp::Expression::Backreference::Name < ::Regexp::Expression::Backreference::Base # @return [Name] a new instance of Name # - # source://regexp_parser//lib/regexp_parser/expression/classes/backreference.rb#43 + # source://regexp_parser//lib/regexp_parser/expression/classes/backreference.rb#38 def initialize(token, options = T.unsafe(nil)); end # source://regexp_parser//lib/regexp_parser/expression/methods/human_name.rb#23 @@ -180,39 +183,39 @@ class Regexp::Expression::Backreference::Name < ::Regexp::Expression::Backrefere # Returns the value of attribute name. # - # source://regexp_parser//lib/regexp_parser/expression/classes/backreference.rb#40 + # source://regexp_parser//lib/regexp_parser/expression/classes/backreference.rb#35 def name; end # Returns the value of attribute name. # - # source://regexp_parser//lib/regexp_parser/expression/classes/backreference.rb#40 + # source://regexp_parser//lib/regexp_parser/expression/classes/backreference.rb#35 def reference; end end -# source://regexp_parser//lib/regexp_parser/expression/classes/backreference.rb#55 +# source://regexp_parser//lib/regexp_parser/expression/classes/backreference.rb#50 class Regexp::Expression::Backreference::NameCall < ::Regexp::Expression::Backreference::Name # source://regexp_parser//lib/regexp_parser/expression/methods/human_name.rb#24 def human_name; end end -# source://regexp_parser//lib/regexp_parser/expression/classes/backreference.rb#67 +# source://regexp_parser//lib/regexp_parser/expression/classes/backreference.rb#62 class Regexp::Expression::Backreference::NameRecursionLevel < ::Regexp::Expression::Backreference::Name # @return [NameRecursionLevel] a new instance of NameRecursionLevel # - # source://regexp_parser//lib/regexp_parser/expression/classes/backreference.rb#70 + # source://regexp_parser//lib/regexp_parser/expression/classes/backreference.rb#65 def initialize(token, options = T.unsafe(nil)); end # Returns the value of attribute recursion_level. # - # source://regexp_parser//lib/regexp_parser/expression/classes/backreference.rb#68 + # source://regexp_parser//lib/regexp_parser/expression/classes/backreference.rb#63 def recursion_level; end end -# source://regexp_parser//lib/regexp_parser/expression/classes/backreference.rb#29 +# source://regexp_parser//lib/regexp_parser/expression/classes/backreference.rb#24 class Regexp::Expression::Backreference::Number < ::Regexp::Expression::Backreference::Base # @return [Number] a new instance of Number # - # source://regexp_parser//lib/regexp_parser/expression/classes/backreference.rb#33 + # source://regexp_parser//lib/regexp_parser/expression/classes/backreference.rb#28 def initialize(token, options = T.unsafe(nil)); end # source://regexp_parser//lib/regexp_parser/expression/methods/human_name.rb#25 @@ -220,52 +223,52 @@ class Regexp::Expression::Backreference::Number < ::Regexp::Expression::Backrefe # Returns the value of attribute number. # - # source://regexp_parser//lib/regexp_parser/expression/classes/backreference.rb#30 + # source://regexp_parser//lib/regexp_parser/expression/classes/backreference.rb#25 def number; end # Returns the value of attribute number. # - # source://regexp_parser//lib/regexp_parser/expression/classes/backreference.rb#30 + # source://regexp_parser//lib/regexp_parser/expression/classes/backreference.rb#25 def reference; end end -# source://regexp_parser//lib/regexp_parser/expression/classes/backreference.rb#54 +# source://regexp_parser//lib/regexp_parser/expression/classes/backreference.rb#49 class Regexp::Expression::Backreference::NumberCall < ::Regexp::Expression::Backreference::Number # source://regexp_parser//lib/regexp_parser/expression/methods/human_name.rb#27 def human_name; end end -# source://regexp_parser//lib/regexp_parser/expression/classes/backreference.rb#56 +# source://regexp_parser//lib/regexp_parser/expression/classes/backreference.rb#51 class Regexp::Expression::Backreference::NumberCallRelative < ::Regexp::Expression::Backreference::NumberRelative # source://regexp_parser//lib/regexp_parser/expression/methods/human_name.rb#28 def human_name; end end -# source://regexp_parser//lib/regexp_parser/expression/classes/backreference.rb#58 +# source://regexp_parser//lib/regexp_parser/expression/classes/backreference.rb#53 class Regexp::Expression::Backreference::NumberRecursionLevel < ::Regexp::Expression::Backreference::NumberRelative # @return [NumberRecursionLevel] a new instance of NumberRecursionLevel # - # source://regexp_parser//lib/regexp_parser/expression/classes/backreference.rb#61 + # source://regexp_parser//lib/regexp_parser/expression/classes/backreference.rb#56 def initialize(token, options = T.unsafe(nil)); end # Returns the value of attribute recursion_level. # - # source://regexp_parser//lib/regexp_parser/expression/classes/backreference.rb#59 + # source://regexp_parser//lib/regexp_parser/expression/classes/backreference.rb#54 def recursion_level; end end -# source://regexp_parser//lib/regexp_parser/expression/classes/backreference.rb#49 +# source://regexp_parser//lib/regexp_parser/expression/classes/backreference.rb#44 class Regexp::Expression::Backreference::NumberRelative < ::Regexp::Expression::Backreference::Number # Returns the value of attribute effective_number. # - # source://regexp_parser//lib/regexp_parser/expression/classes/backreference.rb#50 + # source://regexp_parser//lib/regexp_parser/expression/classes/backreference.rb#45 def effective_number; end # Sets the attribute effective_number # # @param value the value to set the attribute effective_number to. # - # source://regexp_parser//lib/regexp_parser/expression/classes/backreference.rb#50 + # source://regexp_parser//lib/regexp_parser/expression/classes/backreference.rb#45 def effective_number=(_arg0); end # source://regexp_parser//lib/regexp_parser/expression/methods/human_name.rb#26 @@ -273,7 +276,7 @@ class Regexp::Expression::Backreference::NumberRelative < ::Regexp::Expression:: # Returns the value of attribute effective_number. # - # source://regexp_parser//lib/regexp_parser/expression/classes/backreference.rb#50 + # source://regexp_parser//lib/regexp_parser/expression/classes/backreference.rb#45 def reference; end end @@ -300,7 +303,7 @@ class Regexp::Expression::Base # source://regexp_parser//lib/regexp_parser/expression/methods/options.rb#25 def ascii_classes?; end - # source://regexp_parser//lib/regexp_parser/expression/base.rb#67 + # source://regexp_parser//lib/regexp_parser/expression/base.rb#60 def attributes; end # @return [Boolean] @@ -314,6 +317,12 @@ class Regexp::Expression::Base # source://regexp_parser//lib/regexp_parser/expression/shared.rb#9 def conditional_level=(_arg0); end + # source://regexp_parser//lib/regexp_parser/expression/shared.rb#9 + def custom_to_s_handling; end + + # source://regexp_parser//lib/regexp_parser/expression/shared.rb#9 + def custom_to_s_handling=(_arg0); end + # @return [Boolean] # # source://regexp_parser//lib/regexp_parser/expression/methods/options.rb#20 @@ -336,7 +345,7 @@ class Regexp::Expression::Base # @return [Boolean] # - # source://regexp_parser//lib/regexp_parser/expression/base.rb#54 + # source://regexp_parser//lib/regexp_parser/expression/base.rb#47 def greedy?; end # @return [Boolean] @@ -351,7 +360,7 @@ class Regexp::Expression::Base # @return [Boolean] # - # source://regexp_parser//lib/regexp_parser/expression/base.rb#58 + # source://regexp_parser//lib/regexp_parser/expression/base.rb#51 def lazy?; end # source://regexp_parser//lib/regexp_parser/expression/shared.rb#9 @@ -383,7 +392,7 @@ class Regexp::Expression::Base # source://regexp_parser//lib/regexp_parser/expression/methods/options.rb#3 def multiline?; end - # source://regexp_parser//lib/regexp_parser/expression/shared.rb#13 + # source://regexp_parser//lib/regexp_parser/expression/shared.rb#14 def nesting_level; end # source://regexp_parser//lib/regexp_parser/expression/shared.rb#9 @@ -392,28 +401,40 @@ class Regexp::Expression::Base # source://regexp_parser//lib/regexp_parser/expression/shared.rb#9 def options=(_arg0); end + # source://regexp_parser//lib/regexp_parser/expression/shared.rb#9 + def parent; end + + # source://regexp_parser//lib/regexp_parser/expression/shared.rb#9 + def parent=(_arg0); end + # @return [Boolean] # - # source://regexp_parser//lib/regexp_parser/expression/base.rb#63 + # source://regexp_parser//lib/regexp_parser/expression/base.rb#56 def possessive?; end - # source://regexp_parser//lib/regexp_parser/expression/shared.rb#13 + # source://regexp_parser//lib/regexp_parser/expression/shared.rb#9 + def pre_quantifier_decorations; end + + # source://regexp_parser//lib/regexp_parser/expression/shared.rb#9 + def pre_quantifier_decorations=(_arg0); end + + # source://regexp_parser//lib/regexp_parser/expression/shared.rb#14 def quantifier; end - # source://regexp_parser//lib/regexp_parser/expression/base.rb#24 + # source://regexp_parser//lib/regexp_parser/expression/base.rb#17 def quantify(*args); end # Deprecated. Prefer `#repetitions` which has a more uniform interface. # - # source://regexp_parser//lib/regexp_parser/expression/base.rb#33 + # source://regexp_parser//lib/regexp_parser/expression/base.rb#26 def quantity; end # @return [Boolean] # - # source://regexp_parser//lib/regexp_parser/expression/base.rb#58 + # source://regexp_parser//lib/regexp_parser/expression/base.rb#51 def reluctant?; end - # source://regexp_parser//lib/regexp_parser/expression/base.rb#38 + # source://regexp_parser//lib/regexp_parser/expression/base.rb#31 def repetitions; end # source://regexp_parser//lib/regexp_parser/expression/shared.rb#9 @@ -506,10 +527,10 @@ class Regexp::Expression::Base # source://regexp_parser//lib/regexp_parser/expression/shared.rb#9 def text=(_arg0); end - # source://regexp_parser//lib/regexp_parser/expression/base.rb#67 + # source://regexp_parser//lib/regexp_parser/expression/base.rb#60 def to_h; end - # source://regexp_parser//lib/regexp_parser/expression/base.rb#16 + # source://regexp_parser//lib/regexp_parser/expression/base.rb#9 def to_re(format = T.unsafe(nil)); end # source://regexp_parser//lib/regexp_parser/expression/shared.rb#9 @@ -540,18 +561,13 @@ class Regexp::Expression::Base # source://regexp_parser//lib/regexp_parser/expression/methods/options.rb#30 def unicode_classes?; end - # source://regexp_parser//lib/regexp_parser/expression/base.rb#28 + # source://regexp_parser//lib/regexp_parser/expression/base.rb#21 def unquantified_clone; end # @return [Boolean] # # source://regexp_parser//lib/regexp_parser/expression/methods/options.rb#14 def x?; end - - private - - # source://regexp_parser//lib/regexp_parser/expression/base.rb#9 - def initialize_copy(orig); end end # source://regexp_parser//lib/regexp_parser/expression/classes/character_set.rb#2 @@ -609,7 +625,7 @@ class Regexp::Expression::CharacterSet < ::Regexp::Expression::Subexpression # source://regexp_parser//lib/regexp_parser/expression/classes/character_set.rb#3 def negative?; end - # source://regexp_parser//lib/regexp_parser/expression/classes/character_set.rb#23 + # source://regexp_parser//lib/regexp_parser/expression/methods/parts.rb#15 def parts; end end @@ -636,12 +652,12 @@ Regexp::Expression::CharacterSet::Intersection::OPERAND = Regexp::Expression::Ch # source://regexp_parser//lib/regexp_parser/expression/classes/character_set/range.rb#3 class Regexp::Expression::CharacterSet::Range < ::Regexp::Expression::Subexpression - # source://regexp_parser//lib/regexp_parser/expression/classes/character_set/range.rb#9 + # source://regexp_parser//lib/regexp_parser/expression/classes/character_set/range.rb#8 def <<(exp); end # @return [Boolean] # - # source://regexp_parser//lib/regexp_parser/expression/classes/character_set/range.rb#15 + # source://regexp_parser//lib/regexp_parser/expression/classes/character_set/range.rb#14 def complete?; end # source://regexp_parser//lib/regexp_parser/expression/methods/human_name.rb#31 @@ -650,12 +666,9 @@ class Regexp::Expression::CharacterSet::Range < ::Regexp::Expression::Subexpress # source://regexp_parser//lib/regexp_parser/expression/methods/match_length.rb#98 def match_length; end - # source://regexp_parser//lib/regexp_parser/expression/classes/character_set/range.rb#19 + # source://regexp_parser//lib/regexp_parser/expression/methods/parts.rb#16 def parts; end - # source://regexp_parser//lib/regexp_parser/expression/classes/character_set/range.rb#4 - def starts_at; end - # source://regexp_parser//lib/regexp_parser/expression/classes/character_set/range.rb#4 def ts; end end @@ -709,12 +722,17 @@ class Regexp::Expression::CharacterType::Word < ::Regexp::Expression::CharacterT class Regexp::Expression::Comment < ::Regexp::Expression::FreeSpace # source://regexp_parser//lib/regexp_parser/expression/methods/human_name.rb#33 def human_name; end + + class << self + # source://regexp_parser//lib/regexp_parser/expression/methods/tests.rb#130 + def comment?; end + end end # source://regexp_parser//lib/regexp_parser/expression/classes/conditional.rb#2 module Regexp::Expression::Conditional; end -# source://regexp_parser//lib/regexp_parser/expression/classes/conditional.rb#29 +# source://regexp_parser//lib/regexp_parser/expression/classes/conditional.rb#25 class Regexp::Expression::Conditional::Branch < ::Regexp::Expression::Sequence # source://regexp_parser//lib/regexp_parser/expression/methods/human_name.rb#34 def human_name; end @@ -746,39 +764,39 @@ class Regexp::Expression::Conditional::Condition < ::Regexp::Expression::Base # source://regexp_parser//lib/regexp_parser/expression/classes/conditional.rb#10 def referenced_expression=(_arg0); end - # @return [Boolean] - # - # source://regexp_parser//lib/regexp_parser/expression/classes/conditional.rb#24 - def referential?; end - private # source://regexp_parser//lib/regexp_parser/expression/classes/conditional.rb#19 def initialize_copy(orig); end + + class << self + # source://regexp_parser//lib/regexp_parser/expression/methods/tests.rb#141 + def referential?; end + end end -# source://regexp_parser//lib/regexp_parser/expression/classes/conditional.rb#31 +# source://regexp_parser//lib/regexp_parser/expression/classes/conditional.rb#27 class Regexp::Expression::Conditional::Expression < ::Regexp::Expression::Subexpression - # source://regexp_parser//lib/regexp_parser/expression/classes/conditional.rb#34 + # source://regexp_parser//lib/regexp_parser/expression/classes/conditional.rb#30 def <<(exp); end # @raise [TooManyBranches] # - # source://regexp_parser//lib/regexp_parser/expression/classes/conditional.rb#38 - def add_sequence(active_opts = T.unsafe(nil)); end + # source://regexp_parser//lib/regexp_parser/expression/classes/conditional.rb#34 + def add_sequence(active_opts = T.unsafe(nil), params = T.unsafe(nil)); end # @raise [TooManyBranches] # - # source://regexp_parser//lib/regexp_parser/expression/classes/conditional.rb#38 - def branch(active_opts = T.unsafe(nil)); end + # source://regexp_parser//lib/regexp_parser/expression/classes/conditional.rb#34 + def branch(active_opts = T.unsafe(nil), params = T.unsafe(nil)); end - # source://regexp_parser//lib/regexp_parser/expression/classes/conditional.rb#54 + # source://regexp_parser//lib/regexp_parser/expression/classes/conditional.rb#50 def branches; end - # source://regexp_parser//lib/regexp_parser/expression/classes/conditional.rb#50 + # source://regexp_parser//lib/regexp_parser/expression/classes/conditional.rb#46 def condition; end - # source://regexp_parser//lib/regexp_parser/expression/classes/conditional.rb#45 + # source://regexp_parser//lib/regexp_parser/expression/classes/conditional.rb#41 def condition=(exp); end # source://regexp_parser//lib/regexp_parser/expression/methods/human_name.rb#36 @@ -787,33 +805,33 @@ class Regexp::Expression::Conditional::Expression < ::Regexp::Expression::Subexp # source://regexp_parser//lib/regexp_parser/expression/methods/match_length.rb#131 def match_length; end - # source://regexp_parser//lib/regexp_parser/expression/classes/conditional.rb#66 + # source://regexp_parser//lib/regexp_parser/expression/methods/parts.rb#17 def parts; end - # source://regexp_parser//lib/regexp_parser/expression/classes/conditional.rb#58 + # source://regexp_parser//lib/regexp_parser/expression/classes/conditional.rb#54 def reference; end # Returns the value of attribute referenced_expression. # - # source://regexp_parser//lib/regexp_parser/expression/classes/conditional.rb#32 + # source://regexp_parser//lib/regexp_parser/expression/classes/conditional.rb#28 def referenced_expression; end # Sets the attribute referenced_expression # # @param value the value to set the attribute referenced_expression to. # - # source://regexp_parser//lib/regexp_parser/expression/classes/conditional.rb#32 + # source://regexp_parser//lib/regexp_parser/expression/classes/conditional.rb#28 def referenced_expression=(_arg0); end - # @return [Boolean] - # - # source://regexp_parser//lib/regexp_parser/expression/classes/conditional.rb#62 - def referential?; end - private - # source://regexp_parser//lib/regexp_parser/expression/classes/conditional.rb#70 + # source://regexp_parser//lib/regexp_parser/expression/classes/conditional.rb#58 def initialize_copy(orig); end + + class << self + # source://regexp_parser//lib/regexp_parser/expression/methods/tests.rb#142 + def referential?; end + end end # source://regexp_parser//lib/regexp_parser/expression/classes/conditional.rb#3 @@ -824,117 +842,120 @@ class Regexp::Expression::Conditional::TooManyBranches < ::Regexp::Parser::Error def initialize; end end -# TODO: unify naming with Token::Escape, one way or the other, in v3.0.0 +# alias for symmetry between Token::* and Expression::* # -# source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#3 +# source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#101 +Regexp::Expression::Escape = Regexp::Expression::EscapeSequence + +# source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#2 module Regexp::Expression::EscapeSequence; end -# source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#64 +# source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#63 class Regexp::Expression::EscapeSequence::AbstractMetaControlSequence < ::Regexp::Expression::EscapeSequence::Base - # source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#65 + # source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#64 def char; end private - # source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#71 + # source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#70 def control_sequence_to_s(control_sequence); end - # source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#76 + # source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#75 def meta_char_to_codepoint(meta_char); end end -# source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#28 +# source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#27 class Regexp::Expression::EscapeSequence::AsciiEscape < ::Regexp::Expression::EscapeSequence::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#29 +# source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#28 class Regexp::Expression::EscapeSequence::Backspace < ::Regexp::Expression::EscapeSequence::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#4 +# source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#3 class Regexp::Expression::EscapeSequence::Base < ::Regexp::Expression::Base - # source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#10 + # source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#9 def char; end - # source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#5 + # source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#4 def codepoint; end # source://regexp_parser//lib/regexp_parser/expression/methods/match_length.rb#98 def match_length; end end -# source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#30 +# source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#29 class Regexp::Expression::EscapeSequence::Bell < ::Regexp::Expression::EscapeSequence::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#38 +# source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#37 class Regexp::Expression::EscapeSequence::Codepoint < ::Regexp::Expression::EscapeSequence::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#40 +# source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#39 class Regexp::Expression::EscapeSequence::CodepointList < ::Regexp::Expression::EscapeSequence::Base # @raise [NoMethodError] # - # source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#41 + # source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#40 def char; end - # source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#49 + # source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#48 def chars; end # @raise [NoMethodError] # - # source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#45 + # source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#44 def codepoint; end - # source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#53 + # source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#52 def codepoints; end # source://regexp_parser//lib/regexp_parser/expression/methods/match_length.rb#164 def match_length; end end -# source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#82 +# source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#81 class Regexp::Expression::EscapeSequence::Control < ::Regexp::Expression::EscapeSequence::AbstractMetaControlSequence - # source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#83 + # source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#82 def codepoint; end end -# source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#31 +# source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#30 class Regexp::Expression::EscapeSequence::FormFeed < ::Regexp::Expression::EscapeSequence::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#37 +# source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#36 class Regexp::Expression::EscapeSequence::Hex < ::Regexp::Expression::EscapeSequence::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#22 +# source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#21 class Regexp::Expression::EscapeSequence::Literal < ::Regexp::Expression::EscapeSequence::Base - # source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#23 + # source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#22 def char; end end -# source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#88 +# source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#87 class Regexp::Expression::EscapeSequence::Meta < ::Regexp::Expression::EscapeSequence::AbstractMetaControlSequence - # source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#89 + # source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#88 def codepoint; end end -# source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#94 +# source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#93 class Regexp::Expression::EscapeSequence::MetaControl < ::Regexp::Expression::EscapeSequence::AbstractMetaControlSequence - # source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#95 + # source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#94 def codepoint; end end -# source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#32 +# source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#31 class Regexp::Expression::EscapeSequence::Newline < ::Regexp::Expression::EscapeSequence::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#58 +# source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#57 class Regexp::Expression::EscapeSequence::Octal < ::Regexp::Expression::EscapeSequence::Base - # source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#59 + # source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#58 def char; end end -# source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#33 +# source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#32 class Regexp::Expression::EscapeSequence::Return < ::Regexp::Expression::EscapeSequence::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#34 +# source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#33 class Regexp::Expression::EscapeSequence::Tab < ::Regexp::Expression::EscapeSequence::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#35 +# source://regexp_parser//lib/regexp_parser/expression/classes/escape_sequence.rb#34 class Regexp::Expression::EscapeSequence::VerticalTab < ::Regexp::Expression::EscapeSequence::Base; end # source://regexp_parser//lib/regexp_parser/expression/classes/free_space.rb#2 @@ -946,6 +967,11 @@ class Regexp::Expression::FreeSpace < ::Regexp::Expression::Base # # source://regexp_parser//lib/regexp_parser/expression/classes/free_space.rb#3 def quantify(*_args); end + + class << self + # source://regexp_parser//lib/regexp_parser/expression/methods/tests.rb#135 + def decorative?; end + end end # source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#2 @@ -954,87 +980,80 @@ module Regexp::Expression::Group; end # Special case. Absence group can match 0.. chars, irrespective of content. # TODO: in theory, they *can* exclude match lengths with `.`: `(?~.{3})` # -# source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#34 +# source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#19 class Regexp::Expression::Group::Absence < ::Regexp::Expression::Group::Base # source://regexp_parser//lib/regexp_parser/expression/methods/match_length.rb#172 def match_length; end end -# source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#35 +# source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#20 class Regexp::Expression::Group::Atomic < ::Regexp::Expression::Group::Base; end # source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#3 class Regexp::Expression::Group::Base < ::Regexp::Expression::Subexpression - # @return [Boolean] - # - # source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#8 - def capturing?; end - - # @return [Boolean] - # - # source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#10 - def comment?; end - - # source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#4 + # source://regexp_parser//lib/regexp_parser/expression/methods/parts.rb#18 def parts; end end -# source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#55 +# source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#40 class Regexp::Expression::Group::Capture < ::Regexp::Expression::Group::Base - # @return [Boolean] - # - # source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#59 - def capturing?; end - # source://regexp_parser//lib/regexp_parser/expression/methods/human_name.rb#37 def human_name; end # Returns the value of attribute number. # - # source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#56 + # source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#41 def identifier; end # Returns the value of attribute number. # - # source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#56 + # source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#41 def number; end # Sets the attribute number # # @param value the value to set the attribute number to. # - # source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#56 + # source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#41 def number=(_arg0); end # Returns the value of attribute number_at_level. # - # source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#56 + # source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#41 def number_at_level; end # Sets the attribute number_at_level # # @param value the value to set the attribute number_at_level to. # - # source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#56 + # source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#41 def number_at_level=(_arg0); end + + class << self + # source://regexp_parser//lib/regexp_parser/expression/methods/tests.rb#126 + def capturing?; end + end end -# source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#77 +# source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#60 class Regexp::Expression::Group::Comment < ::Regexp::Expression::Group::Base - # @return [Boolean] - # - # source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#82 - def comment?; end - - # source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#78 + # source://regexp_parser//lib/regexp_parser/expression/methods/parts.rb#20 def parts; end + + class << self + # source://regexp_parser//lib/regexp_parser/expression/methods/tests.rb#131 + def comment?; end + + # source://regexp_parser//lib/regexp_parser/expression/methods/tests.rb#136 + def decorative?; end + end end -# source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#62 +# source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#45 class Regexp::Expression::Group::Named < ::Regexp::Expression::Group::Capture # @return [Named] a new instance of Named # - # source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#66 + # source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#49 def initialize(token, options = T.unsafe(nil)); end # source://regexp_parser//lib/regexp_parser/expression/methods/human_name.rb#38 @@ -1042,66 +1061,66 @@ class Regexp::Expression::Group::Named < ::Regexp::Expression::Group::Capture # Returns the value of attribute name. # - # source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#63 + # source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#46 def identifier; end # Returns the value of attribute name. # - # source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#63 + # source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#46 def name; end private - # source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#71 + # source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#54 def initialize_copy(orig); end end # TODO: should split off OptionsSwitch in v3.0.0. Maybe even make it no # longer inherit from Group because it is effectively a terminal expression. # -# source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#38 +# source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#23 class Regexp::Expression::Group::Options < ::Regexp::Expression::Group::Base # Returns the value of attribute option_changes. # - # source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#39 + # source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#24 def option_changes; end # Sets the attribute option_changes # # @param value the value to set the attribute option_changes to. # - # source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#39 + # source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#24 def option_changes=(_arg0); end - # source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#46 + # source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#31 def quantify(*args); end private - # source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#41 + # source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#26 def initialize_copy(orig); end end -# source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#13 +# source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#6 class Regexp::Expression::Group::Passive < ::Regexp::Expression::Group::Base # @return [Passive] a new instance of Passive # - # source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#16 + # source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#9 def initialize(*_arg0); end # Sets the attribute implicit # # @param value the value to set the attribute implicit to. # - # source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#14 + # source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#7 def implicit=(_arg0); end # @return [Boolean] # - # source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#29 + # source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#14 def implicit?; end - # source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#21 + # source://regexp_parser//lib/regexp_parser/expression/methods/parts.rb#19 def parts; end end @@ -1132,6 +1151,12 @@ end # source://regexp_parser//lib/regexp_parser/expression/methods/match_length.rb#85 Regexp::Expression::MatchLength = Regexp::MatchLength +# source://regexp_parser//lib/regexp_parser/expression/classes/posix_class.rb#14 +Regexp::Expression::Nonposixclass = Regexp::Expression::PosixClass + +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#121 +Regexp::Expression::Nonproperty = Regexp::Expression::UnicodeProperty + # source://regexp_parser//lib/regexp_parser/expression/classes/posix_class.rb#2 class Regexp::Expression::PosixClass < ::Regexp::Expression::Base # source://regexp_parser//lib/regexp_parser/expression/methods/match_length.rb#98 @@ -1146,6 +1171,16 @@ class Regexp::Expression::PosixClass < ::Regexp::Expression::Base def negative?; end end +# alias for symmetry between token symbol and Expression class name +# +# source://regexp_parser//lib/regexp_parser/expression/classes/posix_class.rb#13 +Regexp::Expression::Posixclass = Regexp::Expression::PosixClass + +# alias for symmetry between token symbol and Expression class name +# +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#120 +Regexp::Expression::Property = Regexp::Expression::UnicodeProperty + # TODO: in v3.0.0, maybe put Shared back into Base, and inherit from Base and # call super in #initialize, but raise in #quantifier= and #quantify, # or introduce an Expression::Quantifiable intermediate class. @@ -1158,7 +1193,7 @@ class Regexp::Expression::Quantifier # @return [Quantifier] a new instance of Quantifier # - # source://regexp_parser//lib/regexp_parser/expression/quantifier.rb#13 + # source://regexp_parser//lib/regexp_parser/expression/quantifier.rb#11 def initialize(*args); end # source://regexp_parser//lib/regexp_parser/expression/shared.rb#9 @@ -1167,10 +1202,16 @@ class Regexp::Expression::Quantifier # source://regexp_parser//lib/regexp_parser/expression/shared.rb#9 def conditional_level=(_arg0); end - # source://regexp_parser//lib/regexp_parser/expression/quantifier.rb#35 + # source://regexp_parser//lib/regexp_parser/expression/shared.rb#9 + def custom_to_s_handling; end + + # source://regexp_parser//lib/regexp_parser/expression/shared.rb#9 + def custom_to_s_handling=(_arg0); end + + # source://regexp_parser//lib/regexp_parser/expression/quantifier.rb#31 def greedy?; end - # source://regexp_parser//lib/regexp_parser/expression/quantifier.rb#35 + # source://regexp_parser//lib/regexp_parser/expression/quantifier.rb#31 def lazy?; end # source://regexp_parser//lib/regexp_parser/expression/shared.rb#9 @@ -1179,22 +1220,16 @@ class Regexp::Expression::Quantifier # source://regexp_parser//lib/regexp_parser/expression/shared.rb#9 def level=(_arg0); end - # Returns the value of attribute max. - # - # source://regexp_parser//lib/regexp_parser/expression/quantifier.rb#11 + # source://regexp_parser//lib/regexp_parser/expression/quantifier.rb#42 def max; end - # Returns the value of attribute min. - # - # source://regexp_parser//lib/regexp_parser/expression/quantifier.rb#11 + # source://regexp_parser//lib/regexp_parser/expression/quantifier.rb#38 def min; end - # Returns the value of attribute mode. - # - # source://regexp_parser//lib/regexp_parser/expression/quantifier.rb#11 + # source://regexp_parser//lib/regexp_parser/expression/quantifier.rb#46 def mode; end - # source://regexp_parser//lib/regexp_parser/expression/shared.rb#13 + # source://regexp_parser//lib/regexp_parser/expression/shared.rb#14 def nesting_level; end # source://regexp_parser//lib/regexp_parser/expression/shared.rb#9 @@ -1203,13 +1238,25 @@ class Regexp::Expression::Quantifier # source://regexp_parser//lib/regexp_parser/expression/shared.rb#9 def options=(_arg0); end - # source://regexp_parser//lib/regexp_parser/expression/quantifier.rb#35 + # source://regexp_parser//lib/regexp_parser/expression/shared.rb#9 + def parent; end + + # source://regexp_parser//lib/regexp_parser/expression/shared.rb#9 + def parent=(_arg0); end + + # source://regexp_parser//lib/regexp_parser/expression/quantifier.rb#31 def possessive?; end - # source://regexp_parser//lib/regexp_parser/expression/shared.rb#13 + # source://regexp_parser//lib/regexp_parser/expression/shared.rb#9 + def pre_quantifier_decorations; end + + # source://regexp_parser//lib/regexp_parser/expression/shared.rb#9 + def pre_quantifier_decorations=(_arg0); end + + # source://regexp_parser//lib/regexp_parser/expression/shared.rb#14 def quantifier; end - # source://regexp_parser//lib/regexp_parser/expression/quantifier.rb#35 + # source://regexp_parser//lib/regexp_parser/expression/quantifier.rb#31 def reluctant?; end # source://regexp_parser//lib/regexp_parser/expression/shared.rb#9 @@ -1230,7 +1277,7 @@ class Regexp::Expression::Quantifier # source://regexp_parser//lib/regexp_parser/expression/shared.rb#9 def text=(_arg0); end - # source://regexp_parser//lib/regexp_parser/expression/quantifier.rb#23 + # source://regexp_parser//lib/regexp_parser/expression/quantifier.rb#19 def to_h; end # source://regexp_parser//lib/regexp_parser/expression/shared.rb#9 @@ -1253,11 +1300,11 @@ class Regexp::Expression::Quantifier private - # source://regexp_parser//lib/regexp_parser/expression/quantifier.rb#44 - def deprecated_old_init(token, text, min, max, mode = T.unsafe(nil)); end + # source://regexp_parser//lib/regexp_parser/expression/quantifier.rb#52 + def deprecated_old_init(token, text, _min, _max, _mode = T.unsafe(nil)); end - # source://regexp_parser//lib/regexp_parser/expression/quantifier.rb#59 - def minmax; end + # source://regexp_parser//lib/regexp_parser/expression/quantifier.rb#64 + def derived_data; end end # source://regexp_parser//lib/regexp_parser/expression/quantifier.rb#9 @@ -1284,12 +1331,9 @@ end # source://regexp_parser//lib/regexp_parser/expression/sequence.rb#8 class Regexp::Expression::Sequence < ::Regexp::Expression::Subexpression # source://regexp_parser//lib/regexp_parser/expression/sequence.rb#27 - def quantify(*args); end - - # source://regexp_parser//lib/regexp_parser/expression/sequence.rb#22 - def starts_at; end + def quantify(token, *args); end - # source://regexp_parser//lib/regexp_parser/expression/sequence.rb#22 + # source://regexp_parser//lib/regexp_parser/expression/sequence.rb#23 def ts; end class << self @@ -1302,11 +1346,11 @@ end # # source://regexp_parser//lib/regexp_parser/expression/sequence_operation.rb#3 class Regexp::Expression::SequenceOperation < ::Regexp::Expression::Subexpression - # source://regexp_parser//lib/regexp_parser/expression/sequence_operation.rb#13 + # source://regexp_parser//lib/regexp_parser/expression/sequence_operation.rb#12 def <<(exp); end - # source://regexp_parser//lib/regexp_parser/expression/sequence_operation.rb#17 - def add_sequence(active_opts = T.unsafe(nil)); end + # source://regexp_parser//lib/regexp_parser/expression/sequence_operation.rb#16 + def add_sequence(active_opts = T.unsafe(nil), params = T.unsafe(nil)); end # source://regexp_parser//lib/regexp_parser/expression/subexpression.rb#5 def operands; end @@ -1314,45 +1358,68 @@ class Regexp::Expression::SequenceOperation < ::Regexp::Expression::Subexpressio # source://regexp_parser//lib/regexp_parser/expression/shared.rb#9 def operator; end - # source://regexp_parser//lib/regexp_parser/expression/sequence_operation.rb#21 + # source://regexp_parser//lib/regexp_parser/expression/methods/parts.rb#22 def parts; end # source://regexp_parser//lib/regexp_parser/expression/subexpression.rb#5 def sequences; end - # source://regexp_parser//lib/regexp_parser/expression/sequence_operation.rb#8 - def starts_at; end - # source://regexp_parser//lib/regexp_parser/expression/sequence_operation.rb#8 def ts; end end +# alias for symmetry between token symbol and Expression class name +# +# source://regexp_parser//lib/regexp_parser/expression/classes/character_set.rb#25 +Regexp::Expression::Set = Regexp::Expression::CharacterSet + # source://regexp_parser//lib/regexp_parser/expression/shared.rb#2 module Regexp::Expression::Shared mixes_in_class_methods ::Regexp::Expression::Shared::ClassMethods # Deep-compare two expressions for equality. # - # source://regexp_parser//lib/regexp_parser/expression/methods/tests.rb#98 + # When changing the conditions, please make sure to update + # #pretty_print_instance_variables so that it includes all relevant values. + # + # source://regexp_parser//lib/regexp_parser/expression/methods/tests.rb#101 def ==(other); end # Deep-compare two expressions for equality. # - # source://regexp_parser//lib/regexp_parser/expression/methods/tests.rb#98 + # When changing the conditions, please make sure to update + # #pretty_print_instance_variables so that it includes all relevant values. + # + # source://regexp_parser//lib/regexp_parser/expression/methods/tests.rb#101 def ===(other); end - # source://regexp_parser//lib/regexp_parser/expression/shared.rb#42 + # source://regexp_parser//lib/regexp_parser/expression/shared.rb#51 def base_length; end - # source://regexp_parser//lib/regexp_parser/expression/shared.rb#75 + # source://regexp_parser//lib/regexp_parser/expression/methods/tests.rb#124 + def capturing?; end + + # source://regexp_parser//lib/regexp_parser/expression/shared.rb#96 def coded_offset; end + # source://regexp_parser//lib/regexp_parser/expression/methods/tests.rb#128 + def comment?; end + + # source://regexp_parser//lib/regexp_parser/expression/methods/tests.rb#133 + def decorative?; end + + # source://regexp_parser//lib/regexp_parser/expression/shared.rb#47 + def ends_at(include_quantifier = T.unsafe(nil)); end + # Deep-compare two expressions for equality. # - # source://regexp_parser//lib/regexp_parser/expression/methods/tests.rb#98 + # When changing the conditions, please make sure to update + # #pretty_print_instance_variables so that it includes all relevant values. + # + # source://regexp_parser//lib/regexp_parser/expression/methods/tests.rb#101 def eql?(other); end - # source://regexp_parser//lib/regexp_parser/expression/shared.rb#46 + # source://regexp_parser//lib/regexp_parser/expression/shared.rb#55 def full_length; end # default implementation, e.g. "atomic group", "hex escape", "word type", .. @@ -1360,6 +1427,9 @@ module Regexp::Expression::Shared # source://regexp_parser//lib/regexp_parser/expression/methods/human_name.rb#4 def human_name; end + # source://regexp_parser//lib/regexp_parser/expression/methods/printing.rb#3 + def inspect; end + # Test if this expression has the given test_token, and optionally a given # test_type. # @@ -1383,10 +1453,10 @@ module Regexp::Expression::Shared # source://regexp_parser//lib/regexp_parser/expression/methods/tests.rb#36 def is?(test_token, test_type = T.unsafe(nil)); end - # source://regexp_parser//lib/regexp_parser/expression/shared.rb#87 + # source://regexp_parser//lib/regexp_parser/expression/shared.rb#100 def nesting_level=(lvl); end - # source://regexp_parser//lib/regexp_parser/expression/shared.rb#71 + # source://regexp_parser//lib/regexp_parser/expression/shared.rb#92 def offset; end # Test if this expression matches an entry in the given scope spec. @@ -1430,43 +1500,80 @@ module Regexp::Expression::Shared # @return [Boolean] # - # source://regexp_parser//lib/regexp_parser/expression/shared.rb#67 + # source://regexp_parser//lib/regexp_parser/expression/methods/tests.rb#111 def optional?; end - # source://regexp_parser//lib/regexp_parser/expression/shared.rb#55 + # default implementation + # + # source://regexp_parser//lib/regexp_parser/expression/methods/parts.rb#4 def parts; end + # source://regexp_parser//lib/regexp_parser/expression/shared.rb#84 + def pre_quantifier_decoration(expression_format = T.unsafe(nil)); end + + # Make pretty-print work despite #inspect implementation. + # + # source://regexp_parser//lib/regexp_parser/expression/methods/printing.rb#12 + def pretty_print(q); end + + # Called by pretty_print (ruby/pp) and #inspect. + # + # source://regexp_parser//lib/regexp_parser/expression/methods/printing.rb#17 + def pretty_print_instance_variables; end + # @return [Boolean] # - # source://regexp_parser//lib/regexp_parser/expression/shared.rb#63 + # source://regexp_parser//lib/regexp_parser/expression/methods/tests.rb#115 def quantified?; end - # source://regexp_parser//lib/regexp_parser/expression/shared.rb#93 + # source://regexp_parser//lib/regexp_parser/expression/shared.rb#106 def quantifier=(qtf); end - # source://regexp_parser//lib/regexp_parser/expression/shared.rb#59 - def quantifier_affix(expression_format); end + # source://regexp_parser//lib/regexp_parser/expression/shared.rb#88 + def quantifier_affix(expression_format = T.unsafe(nil)); end - # @return [Boolean] - # - # source://regexp_parser//lib/regexp_parser/expression/shared.rb#83 + # source://regexp_parser//lib/regexp_parser/expression/methods/tests.rb#138 def referential?; end - # source://regexp_parser//lib/regexp_parser/expression/shared.rb#38 + # source://regexp_parser//lib/regexp_parser/expression/shared.rb#43 def starts_at; end - # @return [Boolean] - # - # source://regexp_parser//lib/regexp_parser/expression/shared.rb#79 + # source://regexp_parser//lib/regexp_parser/expression/methods/tests.rb#120 def terminal?; end - # source://regexp_parser//lib/regexp_parser/expression/shared.rb#50 + # #to_s reproduces the original source, as an unparser would. + # + # It takes an optional format argument. + # + # Example: + # + # lit = Regexp::Parser.parse(/a +/x)[0] + # + # lit.to_s # => 'a+' # default; with quantifier + # lit.to_s(:full) # => 'a+' # default; with quantifier + # lit.to_s(:base) # => 'a' # without quantifier + # lit.to_s(:original) # => 'a +' # with quantifier AND intermittent decorations + # + # source://regexp_parser//lib/regexp_parser/expression/shared.rb#72 def to_s(format = T.unsafe(nil)); end - # source://regexp_parser//lib/regexp_parser/expression/shared.rb#50 + # #to_s reproduces the original source, as an unparser would. + # + # It takes an optional format argument. + # + # Example: + # + # lit = Regexp::Parser.parse(/a +/x)[0] + # + # lit.to_s # => 'a+' # default; with quantifier + # lit.to_s(:full) # => 'a+' # default; with quantifier + # lit.to_s(:base) # => 'a' # without quantifier + # lit.to_s(:original) # => 'a +' # with quantifier AND intermittent decorations + # + # source://regexp_parser//lib/regexp_parser/expression/shared.rb#72 def to_str(format = T.unsafe(nil)); end - # source://regexp_parser//lib/regexp_parser/expression/methods/construct.rb#39 + # source://regexp_parser//lib/regexp_parser/expression/methods/construct.rb#37 def token_class; end # Test if this expression has the given test_type, which can be either @@ -1485,12 +1592,15 @@ module Regexp::Expression::Shared private - # source://regexp_parser//lib/regexp_parser/expression/shared.rb#17 + # source://regexp_parser//lib/regexp_parser/expression/shared.rb#18 def init_from_token_and_options(token, options = T.unsafe(nil)); end - # source://regexp_parser//lib/regexp_parser/expression/shared.rb#31 + # source://regexp_parser//lib/regexp_parser/expression/shared.rb#32 def initialize_copy(orig); end + # source://regexp_parser//lib/regexp_parser/expression/methods/parts.rb#10 + def intersperse(expressions, separator); end + class << self # @private # @@ -1503,6 +1613,12 @@ end # # source://regexp_parser//lib/regexp_parser/expression/shared.rb#3 module Regexp::Expression::Shared::ClassMethods + # source://regexp_parser//lib/regexp_parser/expression/methods/tests.rb#125 + def capturing?; end + + # source://regexp_parser//lib/regexp_parser/expression/methods/tests.rb#129 + def comment?; end + # Convenience method to init a valid Expression without a Regexp::Token # # @raise [ArgumentError] @@ -1513,6 +1629,15 @@ module Regexp::Expression::Shared::ClassMethods # source://regexp_parser//lib/regexp_parser/expression/methods/construct.rb#15 def construct_defaults; end + # source://regexp_parser//lib/regexp_parser/expression/methods/tests.rb#134 + def decorative?; end + + # source://regexp_parser//lib/regexp_parser/expression/methods/tests.rb#139 + def referential?; end + + # source://regexp_parser//lib/regexp_parser/expression/methods/tests.rb#121 + def terminal?; end + # source://regexp_parser//lib/regexp_parser/expression/methods/construct.rb#25 def token_class; end end @@ -1526,28 +1651,30 @@ class Regexp::Expression::Subexpression < ::Regexp::Expression::Base # source://regexp_parser//lib/regexp_parser/expression/subexpression.rb#7 def initialize(token, options = T.unsafe(nil)); end - # source://regexp_parser//lib/regexp_parser/expression/subexpression.rb#18 + # source://regexp_parser//lib/regexp_parser/expression/subexpression.rb#20 def <<(exp); end - # source://regexp_parser//lib/regexp_parser/expression/subexpression.rb#28 + # source://regexp_parser//lib/regexp_parser/expression/subexpression.rb#27 def [](*args, &block); end - # source://regexp_parser//lib/regexp_parser/expression/subexpression.rb#28 + # source://regexp_parser//lib/regexp_parser/expression/subexpression.rb#27 def at(*args, &block); end - # source://regexp_parser//lib/regexp_parser/expression/subexpression.rb#34 + # source://regexp_parser//lib/regexp_parser/expression/subexpression.rb#33 def dig(*indices); end - # source://regexp_parser//lib/regexp_parser/expression/subexpression.rb#28 + # source://regexp_parser//lib/regexp_parser/expression/subexpression.rb#27 def each(*args, &block); end - # Iterates over the expressions of this expression as an array, passing - # the expression and its index within its parent to the given block. + # Traverses the expression, passing each recursive child to the + # given block. + # If the block takes two arguments, the indices of the children within + # their parents are also passed to it. # - # source://regexp_parser//lib/regexp_parser/expression/methods/traverse.rb#39 + # source://regexp_parser//lib/regexp_parser/expression/methods/traverse.rb#8 def each_expression(include_self = T.unsafe(nil), &block); end - # source://regexp_parser//lib/regexp_parser/expression/subexpression.rb#28 + # source://regexp_parser//lib/regexp_parser/expression/subexpression.rb#27 def empty?(*args, &block); end # Returns the value of attribute expressions. @@ -1562,35 +1689,38 @@ class Regexp::Expression::Subexpression < ::Regexp::Expression::Base # source://regexp_parser//lib/regexp_parser/expression/subexpression.rb#5 def expressions=(_arg0); end - # source://regexp_parser//lib/regexp_parser/expression/subexpression.rb#28 + # source://regexp_parser//lib/regexp_parser/expression/subexpression.rb#50 + def extract_quantifier_target(quantifier_description); end + + # source://regexp_parser//lib/regexp_parser/expression/subexpression.rb#27 def fetch(*args, &block); end # Returns a new array with the results of calling the given block once # for every expression. If a block is not given, returns an array with # each expression and its level index as an array. # - # source://regexp_parser//lib/regexp_parser/expression/methods/traverse.rb#53 - def flat_map(include_self = T.unsafe(nil)); end + # source://regexp_parser//lib/regexp_parser/expression/methods/traverse.rb#56 + def flat_map(include_self = T.unsafe(nil), &block); end - # source://regexp_parser//lib/regexp_parser/expression/subexpression.rb#28 + # source://regexp_parser//lib/regexp_parser/expression/subexpression.rb#27 def index(*args, &block); end # source://regexp_parser//lib/regexp_parser/expression/methods/match_length.rb#118 def inner_match_length; end - # source://regexp_parser//lib/regexp_parser/expression/subexpression.rb#28 + # source://regexp_parser//lib/regexp_parser/expression/subexpression.rb#27 def join(*args, &block); end - # source://regexp_parser//lib/regexp_parser/expression/subexpression.rb#28 + # source://regexp_parser//lib/regexp_parser/expression/subexpression.rb#27 def last(*args, &block); end - # source://regexp_parser//lib/regexp_parser/expression/subexpression.rb#28 + # source://regexp_parser//lib/regexp_parser/expression/subexpression.rb#27 def length(*args, &block); end # source://regexp_parser//lib/regexp_parser/expression/methods/match_length.rb#111 def match_length; end - # source://regexp_parser//lib/regexp_parser/expression/subexpression.rb#44 + # source://regexp_parser//lib/regexp_parser/expression/methods/parts.rb#21 def parts; end # source://regexp_parser//lib/regexp_parser/expression/methods/strfregexp.rb#102 @@ -1599,15 +1729,10 @@ class Regexp::Expression::Subexpression < ::Regexp::Expression::Base # source://regexp_parser//lib/regexp_parser/expression/methods/strfregexp.rb#102 def strfregexp_tree(format = T.unsafe(nil), include_self = T.unsafe(nil), separator = T.unsafe(nil)); end - # source://regexp_parser//lib/regexp_parser/expression/subexpression.rb#40 + # source://regexp_parser//lib/regexp_parser/expression/subexpression.rb#39 def te; end - # @return [Boolean] - # - # source://regexp_parser//lib/regexp_parser/expression/subexpression.rb#55 - def terminal?; end - - # source://regexp_parser//lib/regexp_parser/expression/subexpression.rb#48 + # source://regexp_parser//lib/regexp_parser/expression/subexpression.rb#43 def to_h; end # Traverses the subexpression (depth-first, pre-order) and calls the given @@ -1623,10 +1748,10 @@ class Regexp::Expression::Subexpression < ::Regexp::Expression::Base # # Returns self. # - # source://regexp_parser//lib/regexp_parser/expression/methods/traverse.rb#16 + # source://regexp_parser//lib/regexp_parser/expression/methods/traverse.rb#32 def traverse(include_self = T.unsafe(nil), &block); end - # source://regexp_parser//lib/regexp_parser/expression/subexpression.rb#28 + # source://regexp_parser//lib/regexp_parser/expression/subexpression.rb#27 def values_at(*args, &block); end # Traverses the subexpression (depth-first, pre-order) and calls the given @@ -1642,9 +1767,17 @@ class Regexp::Expression::Subexpression < ::Regexp::Expression::Base # # Returns self. # - # source://regexp_parser//lib/regexp_parser/expression/methods/traverse.rb#16 + # source://regexp_parser//lib/regexp_parser/expression/methods/traverse.rb#32 def walk(include_self = T.unsafe(nil), &block); end + protected + + # source://regexp_parser//lib/regexp_parser/expression/methods/traverse.rb#66 + def each_expression_with_index(&block); end + + # source://regexp_parser//lib/regexp_parser/expression/methods/traverse.rb#73 + def each_expression_without_index(&block); end + private # Override base method to clone the expressions as well. @@ -1652,266 +1785,266 @@ class Regexp::Expression::Subexpression < ::Regexp::Expression::Base # source://regexp_parser//lib/regexp_parser/expression/subexpression.rb#13 def initialize_copy(orig); end - # source://regexp_parser//lib/regexp_parser/expression/subexpression.rb#61 - def intersperse(expressions, separator); end + class << self + # source://regexp_parser//lib/regexp_parser/expression/methods/tests.rb#122 + def terminal?; end + end end -# TODO: unify name with token :property, one way or the other, in v3.0.0 -# -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#3 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#2 module Regexp::Expression::UnicodeProperty; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#113 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#112 class Regexp::Expression::UnicodeProperty::Age < ::Regexp::Expression::UnicodeProperty::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#18 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#17 class Regexp::Expression::UnicodeProperty::Alnum < ::Regexp::Expression::UnicodeProperty::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#19 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#18 class Regexp::Expression::UnicodeProperty::Alpha < ::Regexp::Expression::UnicodeProperty::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#36 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#35 class Regexp::Expression::UnicodeProperty::Any < ::Regexp::Expression::UnicodeProperty::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#20 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#19 class Regexp::Expression::UnicodeProperty::Ascii < ::Regexp::Expression::UnicodeProperty::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#37 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#36 class Regexp::Expression::UnicodeProperty::Assigned < ::Regexp::Expression::UnicodeProperty::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#4 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#3 class Regexp::Expression::UnicodeProperty::Base < ::Regexp::Expression::Base # source://regexp_parser//lib/regexp_parser/expression/methods/match_length.rb#98 def match_length; end - # source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#9 + # source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#8 def name; end # @return [Boolean] # - # source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#5 + # source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#4 def negative?; end - # source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#13 + # source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#12 def shortcut; end end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#21 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#20 class Regexp::Expression::UnicodeProperty::Blank < ::Regexp::Expression::UnicodeProperty::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#117 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#116 class Regexp::Expression::UnicodeProperty::Block < ::Regexp::Expression::UnicodeProperty::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#22 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#21 class Regexp::Expression::UnicodeProperty::Cntrl < ::Regexp::Expression::UnicodeProperty::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#102 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#101 module Regexp::Expression::UnicodeProperty::Codepoint; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#105 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#104 class Regexp::Expression::UnicodeProperty::Codepoint::Any < ::Regexp::Expression::UnicodeProperty::Codepoint::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#103 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#102 class Regexp::Expression::UnicodeProperty::Codepoint::Base < ::Regexp::Expression::UnicodeProperty::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#106 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#105 class Regexp::Expression::UnicodeProperty::Codepoint::Control < ::Regexp::Expression::UnicodeProperty::Codepoint::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#107 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#106 class Regexp::Expression::UnicodeProperty::Codepoint::Format < ::Regexp::Expression::UnicodeProperty::Codepoint::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#109 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#108 class Regexp::Expression::UnicodeProperty::Codepoint::PrivateUse < ::Regexp::Expression::UnicodeProperty::Codepoint::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#108 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#107 class Regexp::Expression::UnicodeProperty::Codepoint::Surrogate < ::Regexp::Expression::UnicodeProperty::Codepoint::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#110 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#109 class Regexp::Expression::UnicodeProperty::Codepoint::Unassigned < ::Regexp::Expression::UnicodeProperty::Codepoint::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#114 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#113 class Regexp::Expression::UnicodeProperty::Derived < ::Regexp::Expression::UnicodeProperty::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#23 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#22 class Regexp::Expression::UnicodeProperty::Digit < ::Regexp::Expression::UnicodeProperty::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#115 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#114 class Regexp::Expression::UnicodeProperty::Emoji < ::Regexp::Expression::UnicodeProperty::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#24 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#23 class Regexp::Expression::UnicodeProperty::Graph < ::Regexp::Expression::UnicodeProperty::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#39 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#38 module Regexp::Expression::UnicodeProperty::Letter; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#42 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#41 class Regexp::Expression::UnicodeProperty::Letter::Any < ::Regexp::Expression::UnicodeProperty::Letter::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#40 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#39 class Regexp::Expression::UnicodeProperty::Letter::Base < ::Regexp::Expression::UnicodeProperty::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#43 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#42 class Regexp::Expression::UnicodeProperty::Letter::Cased < ::Regexp::Expression::UnicodeProperty::Letter::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#45 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#44 class Regexp::Expression::UnicodeProperty::Letter::Lowercase < ::Regexp::Expression::UnicodeProperty::Letter::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#47 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#46 class Regexp::Expression::UnicodeProperty::Letter::Modifier < ::Regexp::Expression::UnicodeProperty::Letter::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#48 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#47 class Regexp::Expression::UnicodeProperty::Letter::Other < ::Regexp::Expression::UnicodeProperty::Letter::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#46 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#45 class Regexp::Expression::UnicodeProperty::Letter::Titlecase < ::Regexp::Expression::UnicodeProperty::Letter::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#44 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#43 class Regexp::Expression::UnicodeProperty::Letter::Uppercase < ::Regexp::Expression::UnicodeProperty::Letter::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#25 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#24 class Regexp::Expression::UnicodeProperty::Lower < ::Regexp::Expression::UnicodeProperty::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#51 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#50 module Regexp::Expression::UnicodeProperty::Mark; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#54 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#53 class Regexp::Expression::UnicodeProperty::Mark::Any < ::Regexp::Expression::UnicodeProperty::Mark::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#52 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#51 class Regexp::Expression::UnicodeProperty::Mark::Base < ::Regexp::Expression::UnicodeProperty::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#55 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#54 class Regexp::Expression::UnicodeProperty::Mark::Combining < ::Regexp::Expression::UnicodeProperty::Mark::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#58 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#57 class Regexp::Expression::UnicodeProperty::Mark::Enclosing < ::Regexp::Expression::UnicodeProperty::Mark::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#56 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#55 class Regexp::Expression::UnicodeProperty::Mark::Nonspacing < ::Regexp::Expression::UnicodeProperty::Mark::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#57 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#56 class Regexp::Expression::UnicodeProperty::Mark::Spacing < ::Regexp::Expression::UnicodeProperty::Mark::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#34 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#33 class Regexp::Expression::UnicodeProperty::Newline < ::Regexp::Expression::UnicodeProperty::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#61 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#60 module Regexp::Expression::UnicodeProperty::Number; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#64 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#63 class Regexp::Expression::UnicodeProperty::Number::Any < ::Regexp::Expression::UnicodeProperty::Number::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#62 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#61 class Regexp::Expression::UnicodeProperty::Number::Base < ::Regexp::Expression::UnicodeProperty::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#65 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#64 class Regexp::Expression::UnicodeProperty::Number::Decimal < ::Regexp::Expression::UnicodeProperty::Number::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#66 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#65 class Regexp::Expression::UnicodeProperty::Number::Letter < ::Regexp::Expression::UnicodeProperty::Number::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#67 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#66 class Regexp::Expression::UnicodeProperty::Number::Other < ::Regexp::Expression::UnicodeProperty::Number::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#26 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#25 class Regexp::Expression::UnicodeProperty::Print < ::Regexp::Expression::UnicodeProperty::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#27 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#26 class Regexp::Expression::UnicodeProperty::Punct < ::Regexp::Expression::UnicodeProperty::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#70 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#69 module Regexp::Expression::UnicodeProperty::Punctuation; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#73 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#72 class Regexp::Expression::UnicodeProperty::Punctuation::Any < ::Regexp::Expression::UnicodeProperty::Punctuation::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#71 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#70 class Regexp::Expression::UnicodeProperty::Punctuation::Base < ::Regexp::Expression::UnicodeProperty::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#77 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#76 class Regexp::Expression::UnicodeProperty::Punctuation::Close < ::Regexp::Expression::UnicodeProperty::Punctuation::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#74 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#73 class Regexp::Expression::UnicodeProperty::Punctuation::Connector < ::Regexp::Expression::UnicodeProperty::Punctuation::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#75 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#74 class Regexp::Expression::UnicodeProperty::Punctuation::Dash < ::Regexp::Expression::UnicodeProperty::Punctuation::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#79 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#78 class Regexp::Expression::UnicodeProperty::Punctuation::Final < ::Regexp::Expression::UnicodeProperty::Punctuation::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#78 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#77 class Regexp::Expression::UnicodeProperty::Punctuation::Initial < ::Regexp::Expression::UnicodeProperty::Punctuation::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#76 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#75 class Regexp::Expression::UnicodeProperty::Punctuation::Open < ::Regexp::Expression::UnicodeProperty::Punctuation::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#80 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#79 class Regexp::Expression::UnicodeProperty::Punctuation::Other < ::Regexp::Expression::UnicodeProperty::Punctuation::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#116 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#115 class Regexp::Expression::UnicodeProperty::Script < ::Regexp::Expression::UnicodeProperty::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#83 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#82 module Regexp::Expression::UnicodeProperty::Separator; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#86 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#85 class Regexp::Expression::UnicodeProperty::Separator::Any < ::Regexp::Expression::UnicodeProperty::Separator::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#84 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#83 class Regexp::Expression::UnicodeProperty::Separator::Base < ::Regexp::Expression::UnicodeProperty::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#88 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#87 class Regexp::Expression::UnicodeProperty::Separator::Line < ::Regexp::Expression::UnicodeProperty::Separator::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#89 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#88 class Regexp::Expression::UnicodeProperty::Separator::Paragraph < ::Regexp::Expression::UnicodeProperty::Separator::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#87 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#86 class Regexp::Expression::UnicodeProperty::Separator::Space < ::Regexp::Expression::UnicodeProperty::Separator::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#28 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#27 class Regexp::Expression::UnicodeProperty::Space < ::Regexp::Expression::UnicodeProperty::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#92 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#91 module Regexp::Expression::UnicodeProperty::Symbol; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#95 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#94 class Regexp::Expression::UnicodeProperty::Symbol::Any < ::Regexp::Expression::UnicodeProperty::Symbol::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#93 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#92 class Regexp::Expression::UnicodeProperty::Symbol::Base < ::Regexp::Expression::UnicodeProperty::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#97 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#96 class Regexp::Expression::UnicodeProperty::Symbol::Currency < ::Regexp::Expression::UnicodeProperty::Symbol::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#96 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#95 class Regexp::Expression::UnicodeProperty::Symbol::Math < ::Regexp::Expression::UnicodeProperty::Symbol::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#98 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#97 class Regexp::Expression::UnicodeProperty::Symbol::Modifier < ::Regexp::Expression::UnicodeProperty::Symbol::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#99 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#98 class Regexp::Expression::UnicodeProperty::Symbol::Other < ::Regexp::Expression::UnicodeProperty::Symbol::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#29 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#28 class Regexp::Expression::UnicodeProperty::Upper < ::Regexp::Expression::UnicodeProperty::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#30 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#29 class Regexp::Expression::UnicodeProperty::Word < ::Regexp::Expression::UnicodeProperty::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#32 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#31 class Regexp::Expression::UnicodeProperty::XPosixPunct < ::Regexp::Expression::UnicodeProperty::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#31 +# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#30 class Regexp::Expression::UnicodeProperty::Xdigit < ::Regexp::Expression::UnicodeProperty::Base; end -# source://regexp_parser//lib/regexp_parser/expression/classes/free_space.rb#10 +# source://regexp_parser//lib/regexp_parser/expression/classes/free_space.rb#11 class Regexp::Expression::WhiteSpace < ::Regexp::Expression::FreeSpace # source://regexp_parser//lib/regexp_parser/expression/methods/human_name.rb#42 def human_name; end - # source://regexp_parser//lib/regexp_parser/expression/classes/free_space.rb#11 + # source://regexp_parser//lib/regexp_parser/expression/classes/free_space.rb#12 def merge(exp); end end @@ -1949,13 +2082,13 @@ class Regexp::Lexer # to the last codepoint, e.g. /\u{61 62 63}{3}/ =~ 'abccc' # c.f. #break_literal. # - # source://regexp_parser//lib/regexp_parser/lexer.rb#135 + # source://regexp_parser//lib/regexp_parser/lexer.rb#143 def break_codepoint_list(token); end # called by scan to break a literal run that is longer than one character # into two separate tokens when it is followed by a quantifier # - # source://regexp_parser//lib/regexp_parser/lexer.rb#115 + # source://regexp_parser//lib/regexp_parser/lexer.rb#123 def break_literal(token); end # Returns the value of attribute collect_tokens. @@ -1982,10 +2115,10 @@ class Regexp::Lexer # source://regexp_parser//lib/regexp_parser/lexer.rb#87 def conditional_nesting=(_arg0); end - # source://regexp_parser//lib/regexp_parser/lexer.rb#102 + # source://regexp_parser//lib/regexp_parser/lexer.rb#106 def descend(type, token); end - # source://regexp_parser//lib/regexp_parser/lexer.rb#154 + # source://regexp_parser//lib/regexp_parser/lexer.rb#162 def merge_condition(current, last); end # Returns the value of attribute nesting. @@ -2204,14 +2337,13 @@ end # source://regexp_parser//lib/regexp_parser/version.rb#2 class Regexp::Parser include ::Regexp::Expression - include ::Regexp::Expression::UnicodeProperty # source://regexp_parser//lib/regexp_parser/parser.rb#25 def parse(input, syntax = T.unsafe(nil), options: T.unsafe(nil), &block); end private - # source://regexp_parser//lib/regexp_parser/parser.rb#574 + # source://regexp_parser//lib/regexp_parser/parser.rb#573 def active_opts; end # source://regexp_parser//lib/regexp_parser/parser.rb#99 @@ -2224,7 +2356,7 @@ class Regexp::Parser # an instance of Backreference::Number, its #referenced_expression is set to # the instance of Group::Capture that it refers to via its number. # - # source://regexp_parser//lib/regexp_parser/parser.rb#581 + # source://regexp_parser//lib/regexp_parser/parser.rb#580 def assign_referenced_expressions; end # source://regexp_parser//lib/regexp_parser/parser.rb#227 @@ -2245,13 +2377,13 @@ class Regexp::Parser # source://regexp_parser//lib/regexp_parser/parser.rb#56 def captured_group_counts=(_arg0); end - # source://regexp_parser//lib/regexp_parser/parser.rb#570 + # source://regexp_parser//lib/regexp_parser/parser.rb#569 def close_completed_character_set_range; end # source://regexp_parser//lib/regexp_parser/parser.rb#210 def close_group; end - # source://regexp_parser//lib/regexp_parser/parser.rb#538 + # source://regexp_parser//lib/regexp_parser/parser.rb#537 def close_set; end # source://regexp_parser//lib/regexp_parser/parser.rb#269 @@ -2283,28 +2415,28 @@ class Regexp::Parser # source://regexp_parser//lib/regexp_parser/parser.rb#60 def extract_options(input, options); end - # source://regexp_parser//lib/regexp_parser/parser.rb#347 + # source://regexp_parser//lib/regexp_parser/parser.rb#349 def free_space(token); end # source://regexp_parser//lib/regexp_parser/parser.rb#114 def group(token); end - # source://regexp_parser//lib/regexp_parser/parser.rb#511 + # source://regexp_parser//lib/regexp_parser/parser.rb#508 def increase_group_level(exp); end - # source://regexp_parser//lib/regexp_parser/parser.rb#549 + # source://regexp_parser//lib/regexp_parser/parser.rb#548 def intersection(token); end - # source://regexp_parser//lib/regexp_parser/parser.rb#362 + # source://regexp_parser//lib/regexp_parser/parser.rb#360 def keep(token); end - # source://regexp_parser//lib/regexp_parser/parser.rb#366 + # source://regexp_parser//lib/regexp_parser/parser.rb#364 def literal(token); end - # source://regexp_parser//lib/regexp_parser/parser.rb#370 + # source://regexp_parser//lib/regexp_parser/parser.rb#368 def meta(token); end - # source://regexp_parser//lib/regexp_parser/parser.rb#534 + # source://regexp_parser//lib/regexp_parser/parser.rb#533 def negate_set; end # source://regexp_parser//lib/regexp_parser/parser.rb#299 @@ -2340,7 +2472,7 @@ class Regexp::Parser # source://regexp_parser//lib/regexp_parser/parser.rb#165 def open_group(token); end - # source://regexp_parser//lib/regexp_parser/parser.rb#529 + # source://regexp_parser//lib/regexp_parser/parser.rb#526 def open_set(token); end # source://regexp_parser//lib/regexp_parser/parser.rb#130 @@ -2361,16 +2493,16 @@ class Regexp::Parser # source://regexp_parser//lib/regexp_parser/parser.rb#76 def parse_token(token); end - # source://regexp_parser//lib/regexp_parser/parser.rb#392 + # source://regexp_parser//lib/regexp_parser/parser.rb#390 def posixclass(token); end - # source://regexp_parser//lib/regexp_parser/parser.rb#399 + # source://regexp_parser//lib/regexp_parser/parser.rb#397 def property(token); end - # source://regexp_parser//lib/regexp_parser/parser.rb#480 + # source://regexp_parser//lib/regexp_parser/parser.rb#478 def quantifier(token); end - # source://regexp_parser//lib/regexp_parser/parser.rb#542 + # source://regexp_parser//lib/regexp_parser/parser.rb#541 def range(token); end # Returns the value of attribute root. @@ -2385,10 +2517,10 @@ class Regexp::Parser # source://regexp_parser//lib/regexp_parser/parser.rb#56 def root=(_arg0); end - # source://regexp_parser//lib/regexp_parser/parser.rb#381 + # source://regexp_parser//lib/regexp_parser/parser.rb#379 def sequence_operation(klass, token); end - # source://regexp_parser//lib/regexp_parser/parser.rb#517 + # source://regexp_parser//lib/regexp_parser/parser.rb#514 def set(token); end # Returns the value of attribute switching_options. @@ -2406,7 +2538,7 @@ class Regexp::Parser # source://regexp_parser//lib/regexp_parser/parser.rb#198 def total_captured_group_count; end - # source://regexp_parser//lib/regexp_parser/parser.rb#553 + # source://regexp_parser//lib/regexp_parser/parser.rb#552 def type(token); end class << self @@ -2429,7 +2561,10 @@ Regexp::Parser::MOD_FLAGS = T.let(T.unsafe(nil), Array) # source://regexp_parser//lib/regexp_parser/parser.rb#7 class Regexp::Parser::ParserError < ::Regexp::Parser::Error; end -# source://regexp_parser//lib/regexp_parser/parser.rb#397 +# source://regexp_parser//lib/regexp_parser/parser.rb#394 +Regexp::Parser::UP = Regexp::Expression::UnicodeProperty + +# source://regexp_parser//lib/regexp_parser/parser.rb#395 Regexp::Parser::UPTokens = Regexp::Syntax::Token::UnicodeProperty # source://regexp_parser//lib/regexp_parser/parser.rb#15 @@ -2451,26 +2586,26 @@ end # source://regexp_parser//lib/regexp_parser/version.rb#3 Regexp::Parser::VERSION = T.let(T.unsafe(nil), String) -# source://regexp_parser//lib/regexp_parser/scanner.rb#13 +# source://regexp_parser//lib/regexp_parser/scanner/errors/scanner_error.rb#3 class Regexp::Scanner # Emits an array with the details of the scanned pattern # - # source://regexp_parser//lib/regexp_parser/scanner.rb#2591 + # source://regexp_parser//lib/regexp_parser/scanner.rb#2388 def emit(type, token, text); end # only public for #||= to work on ruby <= 2.5 # - # source://regexp_parser//lib/regexp_parser/scanner.rb#2616 + # source://regexp_parser//lib/regexp_parser/scanner.rb#2413 def literal_run; end # only public for #||= to work on ruby <= 2.5 # - # source://regexp_parser//lib/regexp_parser/scanner.rb#2616 + # source://regexp_parser//lib/regexp_parser/scanner.rb#2413 def literal_run=(_arg0); end # @raise [PrematureEndError] # - # source://regexp_parser//lib/regexp_parser/scanner.rb#84 + # source://regexp_parser//lib/regexp_parser/scanner.rb#24 def scan(input_object, options: T.unsafe(nil), collect_tokens: T.unsafe(nil), &block); end private @@ -2478,174 +2613,168 @@ class Regexp::Scanner # Appends one or more characters to the literal buffer, to be emitted later # by a call to emit_literal. # - # source://regexp_parser//lib/regexp_parser/scanner.rb#2653 + # source://regexp_parser//lib/regexp_parser/scanner.rb#2450 def append_literal(data, ts, te); end # Returns the value of attribute block. # - # source://regexp_parser//lib/regexp_parser/scanner.rb#2620 + # source://regexp_parser//lib/regexp_parser/scanner.rb#2417 def block; end # Sets the attribute block # # @param value the value to set the attribute block to. # - # source://regexp_parser//lib/regexp_parser/scanner.rb#2620 + # source://regexp_parser//lib/regexp_parser/scanner.rb#2417 def block=(_arg0); end # Returns the value of attribute char_pos. # - # source://regexp_parser//lib/regexp_parser/scanner.rb#2620 + # source://regexp_parser//lib/regexp_parser/scanner.rb#2417 def char_pos; end # Sets the attribute char_pos # # @param value the value to set the attribute char_pos to. # - # source://regexp_parser//lib/regexp_parser/scanner.rb#2620 + # source://regexp_parser//lib/regexp_parser/scanner.rb#2417 def char_pos=(_arg0); end # Returns the value of attribute collect_tokens. # - # source://regexp_parser//lib/regexp_parser/scanner.rb#2620 + # source://regexp_parser//lib/regexp_parser/scanner.rb#2417 def collect_tokens; end # Sets the attribute collect_tokens # # @param value the value to set the attribute collect_tokens to. # - # source://regexp_parser//lib/regexp_parser/scanner.rb#2620 + # source://regexp_parser//lib/regexp_parser/scanner.rb#2417 def collect_tokens=(_arg0); end # Returns the value of attribute conditional_stack. # - # source://regexp_parser//lib/regexp_parser/scanner.rb#2620 + # source://regexp_parser//lib/regexp_parser/scanner.rb#2417 def conditional_stack; end # Sets the attribute conditional_stack # # @param value the value to set the attribute conditional_stack to. # - # source://regexp_parser//lib/regexp_parser/scanner.rb#2620 + # source://regexp_parser//lib/regexp_parser/scanner.rb#2417 def conditional_stack=(_arg0); end # Copy from ts to te from data as text # - # source://regexp_parser//lib/regexp_parser/scanner.rb#2647 + # source://regexp_parser//lib/regexp_parser/scanner.rb#2444 def copy(data, ts, te); end # Emits the literal run collected by calls to the append_literal method. # - # source://regexp_parser//lib/regexp_parser/scanner.rb#2658 + # source://regexp_parser//lib/regexp_parser/scanner.rb#2455 def emit_literal; end - # source://regexp_parser//lib/regexp_parser/scanner.rb#2693 + # source://regexp_parser//lib/regexp_parser/scanner.rb#2490 def emit_meta_control_sequence(data, ts, te, token); end - # source://regexp_parser//lib/regexp_parser/scanner.rb#2664 + # source://regexp_parser//lib/regexp_parser/scanner.rb#2461 def emit_options(text); end # Returns the value of attribute free_spacing. # - # source://regexp_parser//lib/regexp_parser/scanner.rb#2620 + # source://regexp_parser//lib/regexp_parser/scanner.rb#2417 def free_spacing; end # Sets the attribute free_spacing # # @param value the value to set the attribute free_spacing to. # - # source://regexp_parser//lib/regexp_parser/scanner.rb#2620 + # source://regexp_parser//lib/regexp_parser/scanner.rb#2417 def free_spacing=(_arg0); end # @return [Boolean] # - # source://regexp_parser//lib/regexp_parser/scanner.rb#2626 + # source://regexp_parser//lib/regexp_parser/scanner.rb#2423 def free_spacing?(input_object, options); end # Returns the value of attribute group_depth. # - # source://regexp_parser//lib/regexp_parser/scanner.rb#2620 + # source://regexp_parser//lib/regexp_parser/scanner.rb#2417 def group_depth; end # Sets the attribute group_depth # # @param value the value to set the attribute group_depth to. # - # source://regexp_parser//lib/regexp_parser/scanner.rb#2620 + # source://regexp_parser//lib/regexp_parser/scanner.rb#2417 def group_depth=(_arg0); end # @return [Boolean] # - # source://regexp_parser//lib/regexp_parser/scanner.rb#2638 + # source://regexp_parser//lib/regexp_parser/scanner.rb#2435 def in_group?; end # @return [Boolean] # - # source://regexp_parser//lib/regexp_parser/scanner.rb#2642 + # source://regexp_parser//lib/regexp_parser/scanner.rb#2439 def in_set?; end # Returns the value of attribute prev_token. # - # source://regexp_parser//lib/regexp_parser/scanner.rb#2620 + # source://regexp_parser//lib/regexp_parser/scanner.rb#2417 def prev_token; end # Sets the attribute prev_token # # @param value the value to set the attribute prev_token to. # - # source://regexp_parser//lib/regexp_parser/scanner.rb#2620 + # source://regexp_parser//lib/regexp_parser/scanner.rb#2417 def prev_token=(_arg0); end # Returns the value of attribute set_depth. # - # source://regexp_parser//lib/regexp_parser/scanner.rb#2620 + # source://regexp_parser//lib/regexp_parser/scanner.rb#2417 def set_depth; end # Sets the attribute set_depth # # @param value the value to set the attribute set_depth to. # - # source://regexp_parser//lib/regexp_parser/scanner.rb#2620 + # source://regexp_parser//lib/regexp_parser/scanner.rb#2417 def set_depth=(_arg0); end # Returns the value of attribute spacing_stack. # - # source://regexp_parser//lib/regexp_parser/scanner.rb#2620 + # source://regexp_parser//lib/regexp_parser/scanner.rb#2417 def spacing_stack; end # Sets the attribute spacing_stack # # @param value the value to set the attribute spacing_stack to. # - # source://regexp_parser//lib/regexp_parser/scanner.rb#2620 + # source://regexp_parser//lib/regexp_parser/scanner.rb#2417 def spacing_stack=(_arg0); end # Returns the value of attribute tokens. # - # source://regexp_parser//lib/regexp_parser/scanner.rb#2620 + # source://regexp_parser//lib/regexp_parser/scanner.rb#2417 def tokens; end # Sets the attribute tokens # # @param value the value to set the attribute tokens to. # - # source://regexp_parser//lib/regexp_parser/scanner.rb#2620 + # source://regexp_parser//lib/regexp_parser/scanner.rb#2417 def tokens=(_arg0); end - # Centralizes and unifies the handling of validation related - # errors. - # - # source://regexp_parser//lib/regexp_parser/scanner.rb#2702 - def validation_error(type, what, reason = T.unsafe(nil)); end - class << self - # source://regexp_parser//lib/regexp_parser/scanner.rb#2577 + # source://regexp_parser//lib/regexp_parser/scanner.rb#2374 def long_prop_map; end - # source://regexp_parser//lib/regexp_parser/scanner.rb#2581 + # source://regexp_parser//lib/regexp_parser/scanner.rb#2378 def parse_prop_map(name); end - # source://regexp_parser//lib/regexp_parser/scanner.rb#2585 + # source://regexp_parser//lib/regexp_parser/scanner.rb#2382 def posix_classes; end # Scans the given regular expression text, or Regexp object and collects the @@ -2655,100 +2784,105 @@ class Regexp::Scanner # This method may raise errors if a syntax error is encountered. # -------------------------------------------------------------------------- # - # source://regexp_parser//lib/regexp_parser/scanner.rb#80 + # source://regexp_parser//lib/regexp_parser/scanner.rb#20 def scan(input_object, options: T.unsafe(nil), collect_tokens: T.unsafe(nil), &block); end # lazy-load property maps when first needed # - # source://regexp_parser//lib/regexp_parser/scanner.rb#2573 + # source://regexp_parser//lib/regexp_parser/scanner.rb#2370 def short_prop_map; end end end # Invalid back reference. Used for name a number refs/calls. # -# source://regexp_parser//lib/regexp_parser/scanner.rb#54 +# source://regexp_parser//lib/regexp_parser/scanner/errors/validation_error.rb#44 class Regexp::Scanner::InvalidBackrefError < ::Regexp::Scanner::ValidationError # @return [InvalidBackrefError] a new instance of InvalidBackrefError # - # source://regexp_parser//lib/regexp_parser/scanner.rb#55 + # source://regexp_parser//lib/regexp_parser/scanner/errors/validation_error.rb#45 def initialize(what, reason); end end # Invalid group. Used for named groups. # -# source://regexp_parser//lib/regexp_parser/scanner.rb#39 +# source://regexp_parser//lib/regexp_parser/scanner/errors/validation_error.rb#29 class Regexp::Scanner::InvalidGroupError < ::Regexp::Scanner::ValidationError # @return [InvalidGroupError] a new instance of InvalidGroupError # - # source://regexp_parser//lib/regexp_parser/scanner.rb#40 + # source://regexp_parser//lib/regexp_parser/scanner/errors/validation_error.rb#30 def initialize(what, reason); end end # Invalid groupOption. Used for inline options. # TODO: should become InvalidGroupOptionError in v3.0.0 for consistency # -# source://regexp_parser//lib/regexp_parser/scanner.rb#47 +# source://regexp_parser//lib/regexp_parser/scanner/errors/validation_error.rb#37 class Regexp::Scanner::InvalidGroupOption < ::Regexp::Scanner::ValidationError # @return [InvalidGroupOption] a new instance of InvalidGroupOption # - # source://regexp_parser//lib/regexp_parser/scanner.rb#48 + # source://regexp_parser//lib/regexp_parser/scanner/errors/validation_error.rb#38 def initialize(option, text); end end # Invalid sequence format. Used for escape sequences, mainly. # -# source://regexp_parser//lib/regexp_parser/scanner.rb#32 +# source://regexp_parser//lib/regexp_parser/scanner/errors/validation_error.rb#22 class Regexp::Scanner::InvalidSequenceError < ::Regexp::Scanner::ValidationError # @return [InvalidSequenceError] a new instance of InvalidSequenceError # - # source://regexp_parser//lib/regexp_parser/scanner.rb#33 + # source://regexp_parser//lib/regexp_parser/scanner/errors/validation_error.rb#23 def initialize(what = T.unsafe(nil), where = T.unsafe(nil)); end end # Unexpected end of pattern # -# source://regexp_parser//lib/regexp_parser/scanner.rb#25 +# source://regexp_parser//lib/regexp_parser/scanner/errors/premature_end_error.rb#3 class Regexp::Scanner::PrematureEndError < ::Regexp::Scanner::ScannerError # @return [PrematureEndError] a new instance of PrematureEndError # - # source://regexp_parser//lib/regexp_parser/scanner.rb#26 + # source://regexp_parser//lib/regexp_parser/scanner/errors/premature_end_error.rb#4 def initialize(where = T.unsafe(nil)); end end # General scanner error (catch all) # -# source://regexp_parser//lib/regexp_parser/scanner.rb#15 +# source://regexp_parser//lib/regexp_parser/scanner/errors/scanner_error.rb#5 class Regexp::Scanner::ScannerError < ::Regexp::Parser::Error; end # The POSIX class name was not recognized by the scanner. # -# source://regexp_parser//lib/regexp_parser/scanner.rb#68 +# source://regexp_parser//lib/regexp_parser/scanner/errors/validation_error.rb#58 class Regexp::Scanner::UnknownPosixClassError < ::Regexp::Scanner::ValidationError # @return [UnknownPosixClassError] a new instance of UnknownPosixClassError # - # source://regexp_parser//lib/regexp_parser/scanner.rb#69 - def initialize(text); end + # source://regexp_parser//lib/regexp_parser/scanner/errors/validation_error.rb#59 + def initialize(text, _); end end # The property name was not recognized by the scanner. # -# source://regexp_parser//lib/regexp_parser/scanner.rb#61 +# source://regexp_parser//lib/regexp_parser/scanner/errors/validation_error.rb#51 class Regexp::Scanner::UnknownUnicodePropertyError < ::Regexp::Scanner::ValidationError # @return [UnknownUnicodePropertyError] a new instance of UnknownUnicodePropertyError # - # source://regexp_parser//lib/regexp_parser/scanner.rb#62 - def initialize(name); end + # source://regexp_parser//lib/regexp_parser/scanner/errors/validation_error.rb#52 + def initialize(name, _); end end # Base for all scanner validation errors # -# source://regexp_parser//lib/regexp_parser/scanner.rb#18 -class Regexp::Scanner::ValidationError < ::Regexp::Parser::Error - # @return [ValidationError] a new instance of ValidationError - # - # source://regexp_parser//lib/regexp_parser/scanner.rb#19 - def initialize(reason); end +# source://regexp_parser//lib/regexp_parser/scanner/errors/validation_error.rb#3 +class Regexp::Scanner::ValidationError < ::Regexp::Scanner::ScannerError + class << self + # Centralizes and unifies the handling of validation related errors. + # + # source://regexp_parser//lib/regexp_parser/scanner/errors/validation_error.rb#5 + def for(type, problem, reason = T.unsafe(nil)); end + + # source://regexp_parser//lib/regexp_parser/scanner/errors/validation_error.rb#9 + def types; end + end end # After loading all the tokens the map is full. Extract all tokens and types @@ -2946,6 +3080,17 @@ module Regexp::Syntax::Token; end # source://regexp_parser//lib/regexp_parser/syntax/token.rb#42 Regexp::Syntax::Token::All = T.let(T.unsafe(nil), Array) +# alias for symmetry between Token::* and Expression::* +# +# source://regexp_parser//lib/regexp_parser/syntax/token/meta.rb#15 +module Regexp::Syntax::Token::Alternation; end + +# source://regexp_parser//lib/regexp_parser/syntax/token/meta.rb#16 +Regexp::Syntax::Token::Alternation::All = T.let(T.unsafe(nil), Array) + +# source://regexp_parser//lib/regexp_parser/syntax/token/meta.rb#17 +Regexp::Syntax::Token::Alternation::Type = T.let(T.unsafe(nil), Symbol) + # source://regexp_parser//lib/regexp_parser/syntax/token/anchor.rb#3 module Regexp::Syntax::Token::Anchor; end @@ -2982,6 +3127,11 @@ Regexp::Syntax::Token::Assertion::Lookbehind = T.let(T.unsafe(nil), Array) # source://regexp_parser//lib/regexp_parser/syntax/token/assertion.rb#8 Regexp::Syntax::Token::Assertion::Type = T.let(T.unsafe(nil), Symbol) +# alias for symmetry between token symbol and Expression class name +# +# source://regexp_parser//lib/regexp_parser/syntax/token/backreference.rb#31 +Regexp::Syntax::Token::Backref = Regexp::Syntax::Token::Backreference + # source://regexp_parser//lib/regexp_parser/syntax/token/backreference.rb#3 module Regexp::Syntax::Token::Backreference; end @@ -3066,38 +3216,41 @@ Regexp::Syntax::Token::Conditional::Separator = T.let(T.unsafe(nil), Array) # source://regexp_parser//lib/regexp_parser/syntax/token/conditional.rb#11 Regexp::Syntax::Token::Conditional::Type = T.let(T.unsafe(nil), Symbol) -# TODO: unify naming with RE::EscapeSequence, one way or the other, in v3.0.0 -# -# source://regexp_parser//lib/regexp_parser/syntax/token/escape.rb#4 +# source://regexp_parser//lib/regexp_parser/syntax/token/escape.rb#3 module Regexp::Syntax::Token::Escape; end -# source://regexp_parser//lib/regexp_parser/syntax/token/escape.rb#9 +# source://regexp_parser//lib/regexp_parser/syntax/token/escape.rb#8 Regexp::Syntax::Token::Escape::ASCII = T.let(T.unsafe(nil), Array) -# source://regexp_parser//lib/regexp_parser/syntax/token/escape.rb#25 +# source://regexp_parser//lib/regexp_parser/syntax/token/escape.rb#24 Regexp::Syntax::Token::Escape::All = T.let(T.unsafe(nil), Array) -# source://regexp_parser//lib/regexp_parser/syntax/token/escape.rb#5 +# source://regexp_parser//lib/regexp_parser/syntax/token/escape.rb#4 Regexp::Syntax::Token::Escape::Basic = T.let(T.unsafe(nil), Array) -# source://regexp_parser//lib/regexp_parser/syntax/token/escape.rb#7 +# source://regexp_parser//lib/regexp_parser/syntax/token/escape.rb#6 Regexp::Syntax::Token::Escape::Control = T.let(T.unsafe(nil), Array) -# source://regexp_parser//lib/regexp_parser/syntax/token/escape.rb#21 +# source://regexp_parser//lib/regexp_parser/syntax/token/escape.rb#20 Regexp::Syntax::Token::Escape::Hex = T.let(T.unsafe(nil), Array) -# source://regexp_parser//lib/regexp_parser/syntax/token/escape.rb#14 +# source://regexp_parser//lib/regexp_parser/syntax/token/escape.rb#13 Regexp::Syntax::Token::Escape::Meta = T.let(T.unsafe(nil), Array) -# source://regexp_parser//lib/regexp_parser/syntax/token/escape.rb#23 +# source://regexp_parser//lib/regexp_parser/syntax/token/escape.rb#22 Regexp::Syntax::Token::Escape::Octal = T.let(T.unsafe(nil), Array) -# source://regexp_parser//lib/regexp_parser/syntax/token/escape.rb#26 +# source://regexp_parser//lib/regexp_parser/syntax/token/escape.rb#25 Regexp::Syntax::Token::Escape::Type = T.let(T.unsafe(nil), Symbol) -# source://regexp_parser//lib/regexp_parser/syntax/token/escape.rb#12 +# source://regexp_parser//lib/regexp_parser/syntax/token/escape.rb#11 Regexp::Syntax::Token::Escape::Unicode = T.let(T.unsafe(nil), Array) +# alias for symmetry between Token::* and Expression::* +# +# source://regexp_parser//lib/regexp_parser/syntax/token/escape.rb#31 +Regexp::Syntax::Token::EscapeSequence = Regexp::Syntax::Token::Escape + # source://regexp_parser//lib/regexp_parser/syntax/token.rb#11 module Regexp::Syntax::Token::FreeSpace; end @@ -3167,16 +3320,19 @@ Regexp::Syntax::Token::Map = T.let(T.unsafe(nil), Hash) # source://regexp_parser//lib/regexp_parser/syntax/token/meta.rb#3 module Regexp::Syntax::Token::Meta; end -# source://regexp_parser//lib/regexp_parser/syntax/token/meta.rb#7 +# source://regexp_parser//lib/regexp_parser/syntax/token/meta.rb#8 Regexp::Syntax::Token::Meta::All = T.let(T.unsafe(nil), Array) +# source://regexp_parser//lib/regexp_parser/syntax/token/meta.rb#5 +Regexp::Syntax::Token::Meta::Alternation = T.let(T.unsafe(nil), Array) + # source://regexp_parser//lib/regexp_parser/syntax/token/meta.rb#4 Regexp::Syntax::Token::Meta::Basic = T.let(T.unsafe(nil), Array) -# source://regexp_parser//lib/regexp_parser/syntax/token/meta.rb#5 +# source://regexp_parser//lib/regexp_parser/syntax/token/meta.rb#6 Regexp::Syntax::Token::Meta::Extended = T.let(T.unsafe(nil), Array) -# source://regexp_parser//lib/regexp_parser/syntax/token/meta.rb#8 +# source://regexp_parser//lib/regexp_parser/syntax/token/meta.rb#9 Regexp::Syntax::Token::Meta::Type = T.let(T.unsafe(nil), Symbol) # source://regexp_parser//lib/regexp_parser/syntax/token/posix_class.rb#3 @@ -3197,6 +3353,11 @@ Regexp::Syntax::Token::PosixClass::Standard = T.let(T.unsafe(nil), Array) # source://regexp_parser//lib/regexp_parser/syntax/token/posix_class.rb#10 Regexp::Syntax::Token::PosixClass::Type = T.let(T.unsafe(nil), Symbol) +# alias for symmetry between token symbol and Token module name +# +# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#731 +Regexp::Syntax::Token::Property = Regexp::Syntax::Token::UnicodeProperty + # source://regexp_parser//lib/regexp_parser/syntax/token/quantifier.rb#3 module Regexp::Syntax::Token::Quantifier; end @@ -3230,6 +3391,11 @@ Regexp::Syntax::Token::Quantifier::Type = T.let(T.unsafe(nil), Symbol) # source://regexp_parser//lib/regexp_parser/syntax/token/quantifier.rb#28 Regexp::Syntax::Token::Quantifier::V1_8_6 = T.let(T.unsafe(nil), Array) +# alias for symmetry between token symbol and Token module name +# +# source://regexp_parser//lib/regexp_parser/syntax/token/character_set.rb#14 +Regexp::Syntax::Token::Set = Regexp::Syntax::Token::CharacterSet + # Type is the same as Backreference so keeping it here, for now. # # source://regexp_parser//lib/regexp_parser/syntax/token/backreference.rb#20 @@ -3286,7 +3452,7 @@ Regexp::Syntax::Token::UnicodeProperty::Age_V3_1_0 = T.let(T.unsafe(nil), Array) # source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#62 Regexp::Syntax::Token::UnicodeProperty::Age_V3_2_0 = T.let(T.unsafe(nil), Array) -# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#708 +# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#721 Regexp::Syntax::Token::UnicodeProperty::All = T.let(T.unsafe(nil), Array) # source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#13 @@ -3337,19 +3503,22 @@ Regexp::Syntax::Token::UnicodeProperty::Derived_V2_4_0 = T.let(T.unsafe(nil), Ar # source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#129 Regexp::Syntax::Token::UnicodeProperty::Derived_V2_5_0 = T.let(T.unsafe(nil), Array) -# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#693 +# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#706 Regexp::Syntax::Token::UnicodeProperty::Emoji = T.let(T.unsafe(nil), Array) -# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#685 +# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#694 Regexp::Syntax::Token::UnicodeProperty::Emoji_V2_5_0 = T.let(T.unsafe(nil), Array) -# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#711 +# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#702 +Regexp::Syntax::Token::UnicodeProperty::Emoji_V2_6_0 = T.let(T.unsafe(nil), Array) + +# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#724 Regexp::Syntax::Token::UnicodeProperty::NonType = T.let(T.unsafe(nil), Symbol) # source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#11 Regexp::Syntax::Token::UnicodeProperty::POSIX = T.let(T.unsafe(nil), Array) -# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#330 +# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#332 Regexp::Syntax::Token::UnicodeProperty::Script = T.let(T.unsafe(nil), Array) # source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#135 @@ -3385,76 +3554,76 @@ Regexp::Syntax::Token::UnicodeProperty::Script_V3_1_0 = T.let(T.unsafe(nil), Arr # source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#322 Regexp::Syntax::Token::UnicodeProperty::Script_V3_2_0 = T.let(T.unsafe(nil), Array) -# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#710 +# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#723 Regexp::Syntax::Token::UnicodeProperty::Type = T.let(T.unsafe(nil), Symbol) -# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#683 +# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#692 Regexp::Syntax::Token::UnicodeProperty::UnicodeBlock = T.let(T.unsafe(nil), Array) -# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#332 +# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#334 Regexp::Syntax::Token::UnicodeProperty::UnicodeBlock_V1_9_0 = T.let(T.unsafe(nil), Array) -# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#431 +# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#433 Regexp::Syntax::Token::UnicodeProperty::UnicodeBlock_V2_0_0 = T.let(T.unsafe(nil), Array) -# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#559 +# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#561 Regexp::Syntax::Token::UnicodeProperty::UnicodeBlock_V2_2_0 = T.let(T.unsafe(nil), Array) -# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#594 +# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#596 Regexp::Syntax::Token::UnicodeProperty::UnicodeBlock_V2_3_0 = T.let(T.unsafe(nil), Array) -# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#607 +# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#609 Regexp::Syntax::Token::UnicodeProperty::UnicodeBlock_V2_4_0 = T.let(T.unsafe(nil), Array) -# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#621 +# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#623 Regexp::Syntax::Token::UnicodeProperty::UnicodeBlock_V2_5_0 = T.let(T.unsafe(nil), Array) -# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#631 +# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#633 Regexp::Syntax::Token::UnicodeProperty::UnicodeBlock_V2_6_0 = T.let(T.unsafe(nil), Array) -# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#645 +# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#647 Regexp::Syntax::Token::UnicodeProperty::UnicodeBlock_V2_6_2 = T.let(T.unsafe(nil), Array) -# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#657 +# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#659 Regexp::Syntax::Token::UnicodeProperty::UnicodeBlock_V3_1_0 = T.let(T.unsafe(nil), Array) -# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#668 +# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#670 Regexp::Syntax::Token::UnicodeProperty::UnicodeBlock_V3_2_0 = T.let(T.unsafe(nil), Array) -# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#695 +# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#708 Regexp::Syntax::Token::UnicodeProperty::V1_9_0 = T.let(T.unsafe(nil), Array) -# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#696 +# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#709 Regexp::Syntax::Token::UnicodeProperty::V1_9_3 = T.let(T.unsafe(nil), Array) -# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#697 +# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#710 Regexp::Syntax::Token::UnicodeProperty::V2_0_0 = T.let(T.unsafe(nil), Array) -# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#698 +# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#711 Regexp::Syntax::Token::UnicodeProperty::V2_2_0 = T.let(T.unsafe(nil), Array) -# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#699 +# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#712 Regexp::Syntax::Token::UnicodeProperty::V2_3_0 = T.let(T.unsafe(nil), Array) -# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#700 +# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#713 Regexp::Syntax::Token::UnicodeProperty::V2_4_0 = T.let(T.unsafe(nil), Array) -# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#701 +# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#714 Regexp::Syntax::Token::UnicodeProperty::V2_5_0 = T.let(T.unsafe(nil), Array) -# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#702 +# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#715 Regexp::Syntax::Token::UnicodeProperty::V2_6_0 = T.let(T.unsafe(nil), Array) -# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#703 +# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#716 Regexp::Syntax::Token::UnicodeProperty::V2_6_2 = T.let(T.unsafe(nil), Array) -# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#704 +# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#717 Regexp::Syntax::Token::UnicodeProperty::V2_6_3 = T.let(T.unsafe(nil), Array) -# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#705 +# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#718 Regexp::Syntax::Token::UnicodeProperty::V3_1_0 = T.let(T.unsafe(nil), Array) -# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#706 +# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#719 Regexp::Syntax::Token::UnicodeProperty::V3_2_0 = T.let(T.unsafe(nil), Array) # source://regexp_parser//lib/regexp_parser/syntax/version_lookup.rb#12 diff --git a/sorbet/rbi/gems/reline@0.3.2.rbi b/sorbet/rbi/gems/reline@0.3.3.rbi similarity index 100% rename from sorbet/rbi/gems/reline@0.3.2.rbi rename to sorbet/rbi/gems/reline@0.3.3.rbi diff --git a/sorbet/rbi/gems/rexml@3.2.5.rbi b/sorbet/rbi/gems/rexml@3.2.5.rbi index 710e900..a94e567 100644 --- a/sorbet/rbi/gems/rexml@3.2.5.rbi +++ b/sorbet/rbi/gems/rexml@3.2.5.rbi @@ -946,7 +946,7 @@ end # and in particular, the # {tasks page for documents}[../doc/rexml/tasks/tocs/document_toc_rdoc.html]. # -# source://rexml//lib/rexml/document.rb#39 +# source://rexml//lib/rexml/document.rb#35 class REXML::Document < ::REXML::Element # :call-seq: # new(string = nil, context = {}) -> new_document @@ -3445,7 +3445,7 @@ end # A Source that wraps an IO. See the Source class for method # documentation # -# source://rexml//lib/rexml/source.rb#160 +# source://rexml//lib/rexml/source.rb#159 class REXML::IOSource < ::REXML::Source # block_size has been deprecated # diff --git a/sorbet/rbi/gems/rspec-expectations@3.12.2.rbi b/sorbet/rbi/gems/rspec-expectations@3.12.2.rbi index 7d36f07..f4d3fa9 100644 --- a/sorbet/rbi/gems/rspec-expectations@3.12.2.rbi +++ b/sorbet/rbi/gems/rspec-expectations@3.12.2.rbi @@ -1244,9 +1244,6 @@ module RSpec::Expectations::Version; end # source://rspec-expectations//lib/rspec/expectations/version.rb#5 RSpec::Expectations::Version::STRING = T.let(T.unsafe(nil), String) -# source://rspec-core/3.12.1/lib/rspec/core.rb#187 -RSpec::MODULES_TO_AUTOLOAD = T.let(T.unsafe(nil), Hash) - # RSpec::Matchers provides a number of useful matchers we use to define # expectations. Any object that implements the [matcher protocol](Matchers/MatcherProtocol) # can be used as a matcher. @@ -8101,6 +8098,3 @@ class RSpec::Matchers::MatcherDelegator # source://rspec-expectations//lib/rspec/matchers/matcher_delegator.rb#18 def respond_to_missing?(name, include_all = T.unsafe(nil)); end end - -# source://rspec-core/3.12.1/lib/rspec/core/shared_context.rb#54 -RSpec::SharedContext = RSpec::Core::SharedContext diff --git a/sorbet/rbi/gems/rspec-mocks@3.12.4.rbi b/sorbet/rbi/gems/rspec-mocks@3.12.4.rbi index 52417ea..3182a96 100644 --- a/sorbet/rbi/gems/rspec-mocks@3.12.4.rbi +++ b/sorbet/rbi/gems/rspec-mocks@3.12.4.rbi @@ -78,9 +78,6 @@ module RSpec end end -# source://rspec-core/3.12.1/lib/rspec/core.rb#187 -RSpec::MODULES_TO_AUTOLOAD = T.let(T.unsafe(nil), Hash) - # Contains top-level utility methods. While this contains a few # public methods, these are not generally meant to be called from # a test or example. They exist primarily for integration with @@ -5306,6 +5303,3 @@ module RSpec::Mocks::Version; end # # source://rspec-mocks//lib/rspec/mocks/version.rb#6 RSpec::Mocks::Version::STRING = T.let(T.unsafe(nil), String) - -# source://rspec-core/3.12.1/lib/rspec/core/shared_context.rb#54 -RSpec::SharedContext = RSpec::Core::SharedContext diff --git a/sorbet/rbi/gems/rspec-support@3.12.0.rbi b/sorbet/rbi/gems/rspec-support@3.12.0.rbi index af0e984..4e2be45 100644 --- a/sorbet/rbi/gems/rspec-support@3.12.0.rbi +++ b/sorbet/rbi/gems/rspec-support@3.12.0.rbi @@ -9,70 +9,70 @@ module RSpec extend ::RSpec::Support::Warnings class << self - # source://rspec-core/3.12.0/lib/rspec/core.rb#70 + # source://rspec-core/3.12.1/lib/rspec/core.rb#70 def clear_examples; end - # source://rspec-core/3.12.0/lib/rspec/core.rb#85 + # source://rspec-core/3.12.1/lib/rspec/core.rb#85 def configuration; end - # source://rspec-core/3.12.0/lib/rspec/core.rb#49 + # source://rspec-core/3.12.1/lib/rspec/core.rb#49 def configuration=(_arg0); end - # source://rspec-core/3.12.0/lib/rspec/core.rb#97 + # source://rspec-core/3.12.1/lib/rspec/core.rb#97 def configure; end - # source://rspec-core/3.12.0/lib/rspec/core.rb#194 + # source://rspec-core/3.12.1/lib/rspec/core.rb#194 def const_missing(name); end - # source://rspec-core/3.12.0/lib/rspec/core/dsl.rb#42 + # source://rspec-core/3.12.1/lib/rspec/core/dsl.rb#42 def context(*args, &example_group_block); end - # source://rspec-core/3.12.0/lib/rspec/core.rb#122 + # source://rspec-core/3.12.1/lib/rspec/core.rb#122 def current_example; end - # source://rspec-core/3.12.0/lib/rspec/core.rb#128 + # source://rspec-core/3.12.1/lib/rspec/core.rb#128 def current_example=(example); end - # source://rspec-core/3.12.0/lib/rspec/core.rb#154 + # source://rspec-core/3.12.1/lib/rspec/core.rb#154 def current_scope; end - # source://rspec-core/3.12.0/lib/rspec/core.rb#134 + # source://rspec-core/3.12.1/lib/rspec/core.rb#134 def current_scope=(scope); end - # source://rspec-core/3.12.0/lib/rspec/core/dsl.rb#42 + # source://rspec-core/3.12.1/lib/rspec/core/dsl.rb#42 def describe(*args, &example_group_block); end - # source://rspec-core/3.12.0/lib/rspec/core/dsl.rb#42 + # source://rspec-core/3.12.1/lib/rspec/core/dsl.rb#42 def example_group(*args, &example_group_block); end - # source://rspec-core/3.12.0/lib/rspec/core/dsl.rb#42 + # source://rspec-core/3.12.1/lib/rspec/core/dsl.rb#42 def fcontext(*args, &example_group_block); end - # source://rspec-core/3.12.0/lib/rspec/core/dsl.rb#42 + # source://rspec-core/3.12.1/lib/rspec/core/dsl.rb#42 def fdescribe(*args, &example_group_block); end - # source://rspec-core/3.12.0/lib/rspec/core.rb#58 + # source://rspec-core/3.12.1/lib/rspec/core.rb#58 def reset; end - # source://rspec-core/3.12.0/lib/rspec/core/shared_example_group.rb#110 + # source://rspec-core/3.12.1/lib/rspec/core/shared_example_group.rb#110 def shared_context(name, *args, &block); end - # source://rspec-core/3.12.0/lib/rspec/core/shared_example_group.rb#110 + # source://rspec-core/3.12.1/lib/rspec/core/shared_example_group.rb#110 def shared_examples(name, *args, &block); end - # source://rspec-core/3.12.0/lib/rspec/core/shared_example_group.rb#110 + # source://rspec-core/3.12.1/lib/rspec/core/shared_example_group.rb#110 def shared_examples_for(name, *args, &block); end - # source://rspec-core/3.12.0/lib/rspec/core.rb#160 + # source://rspec-core/3.12.1/lib/rspec/core.rb#160 def world; end - # source://rspec-core/3.12.0/lib/rspec/core.rb#49 + # source://rspec-core/3.12.1/lib/rspec/core.rb#49 def world=(_arg0); end - # source://rspec-core/3.12.0/lib/rspec/core/dsl.rb#42 + # source://rspec-core/3.12.1/lib/rspec/core/dsl.rb#42 def xcontext(*args, &example_group_block); end - # source://rspec-core/3.12.0/lib/rspec/core/dsl.rb#42 + # source://rspec-core/3.12.1/lib/rspec/core/dsl.rb#42 def xdescribe(*args, &example_group_block); end end end @@ -112,12 +112,6 @@ RSpec::CallerFilter::LIB_REGEX = T.let(T.unsafe(nil), Regexp) # source://rspec-support//lib/rspec/support/caller_filter.rb#9 RSpec::CallerFilter::RSPEC_LIBS = T.let(T.unsafe(nil), Array) -# source://rspec-core/3.12.0/lib/rspec/core.rb#187 -RSpec::MODULES_TO_AUTOLOAD = T.let(T.unsafe(nil), Hash) - -# source://rspec-core/3.12.0/lib/rspec/core/shared_context.rb#54 -RSpec::SharedContext = RSpec::Core::SharedContext - # source://rspec-support//lib/rspec/support.rb#2 module RSpec::Support class << self @@ -863,7 +857,7 @@ end # On 1.9 and up, this is in core, so we just use the real one # -# source://rspec-support//lib/rspec/support/reentrant_mutex.rb#65 +# source://rspec-support//lib/rspec/support/reentrant_mutex.rb#63 class RSpec::Support::Mutex < ::Thread::Mutex class << self # source://rspec-support//lib/rspec/support/reentrant_mutex.rb#68 diff --git a/sorbet/rbi/gems/rspec@3.12.0.rbi b/sorbet/rbi/gems/rspec@3.12.0.rbi index 850124b..25ecb7d 100644 --- a/sorbet/rbi/gems/rspec@3.12.0.rbi +++ b/sorbet/rbi/gems/rspec@3.12.0.rbi @@ -7,80 +7,74 @@ # source://rspec//lib/rspec/version.rb#1 module RSpec class << self - # source://rspec-core/3.12.0/lib/rspec/core.rb#70 + # source://rspec-core/3.12.1/lib/rspec/core.rb#70 def clear_examples; end - # source://rspec-core/3.12.0/lib/rspec/core.rb#85 + # source://rspec-core/3.12.1/lib/rspec/core.rb#85 def configuration; end - # source://rspec-core/3.12.0/lib/rspec/core.rb#49 + # source://rspec-core/3.12.1/lib/rspec/core.rb#49 def configuration=(_arg0); end - # source://rspec-core/3.12.0/lib/rspec/core.rb#97 + # source://rspec-core/3.12.1/lib/rspec/core.rb#97 def configure; end - # source://rspec-core/3.12.0/lib/rspec/core.rb#194 + # source://rspec-core/3.12.1/lib/rspec/core.rb#194 def const_missing(name); end - # source://rspec-core/3.12.0/lib/rspec/core/dsl.rb#42 + # source://rspec-core/3.12.1/lib/rspec/core/dsl.rb#42 def context(*args, &example_group_block); end - # source://rspec-core/3.12.0/lib/rspec/core.rb#122 + # source://rspec-core/3.12.1/lib/rspec/core.rb#122 def current_example; end - # source://rspec-core/3.12.0/lib/rspec/core.rb#128 + # source://rspec-core/3.12.1/lib/rspec/core.rb#128 def current_example=(example); end - # source://rspec-core/3.12.0/lib/rspec/core.rb#154 + # source://rspec-core/3.12.1/lib/rspec/core.rb#154 def current_scope; end - # source://rspec-core/3.12.0/lib/rspec/core.rb#134 + # source://rspec-core/3.12.1/lib/rspec/core.rb#134 def current_scope=(scope); end - # source://rspec-core/3.12.0/lib/rspec/core/dsl.rb#42 + # source://rspec-core/3.12.1/lib/rspec/core/dsl.rb#42 def describe(*args, &example_group_block); end - # source://rspec-core/3.12.0/lib/rspec/core/dsl.rb#42 + # source://rspec-core/3.12.1/lib/rspec/core/dsl.rb#42 def example_group(*args, &example_group_block); end - # source://rspec-core/3.12.0/lib/rspec/core/dsl.rb#42 + # source://rspec-core/3.12.1/lib/rspec/core/dsl.rb#42 def fcontext(*args, &example_group_block); end - # source://rspec-core/3.12.0/lib/rspec/core/dsl.rb#42 + # source://rspec-core/3.12.1/lib/rspec/core/dsl.rb#42 def fdescribe(*args, &example_group_block); end - # source://rspec-core/3.12.0/lib/rspec/core.rb#58 + # source://rspec-core/3.12.1/lib/rspec/core.rb#58 def reset; end - # source://rspec-core/3.12.0/lib/rspec/core/shared_example_group.rb#110 + # source://rspec-core/3.12.1/lib/rspec/core/shared_example_group.rb#110 def shared_context(name, *args, &block); end - # source://rspec-core/3.12.0/lib/rspec/core/shared_example_group.rb#110 + # source://rspec-core/3.12.1/lib/rspec/core/shared_example_group.rb#110 def shared_examples(name, *args, &block); end - # source://rspec-core/3.12.0/lib/rspec/core/shared_example_group.rb#110 + # source://rspec-core/3.12.1/lib/rspec/core/shared_example_group.rb#110 def shared_examples_for(name, *args, &block); end - # source://rspec-core/3.12.0/lib/rspec/core.rb#160 + # source://rspec-core/3.12.1/lib/rspec/core.rb#160 def world; end - # source://rspec-core/3.12.0/lib/rspec/core.rb#49 + # source://rspec-core/3.12.1/lib/rspec/core.rb#49 def world=(_arg0); end - # source://rspec-core/3.12.0/lib/rspec/core/dsl.rb#42 + # source://rspec-core/3.12.1/lib/rspec/core/dsl.rb#42 def xcontext(*args, &example_group_block); end - # source://rspec-core/3.12.0/lib/rspec/core/dsl.rb#42 + # source://rspec-core/3.12.1/lib/rspec/core/dsl.rb#42 def xdescribe(*args, &example_group_block); end end end -# source://rspec-core/3.12.0/lib/rspec/core.rb#187 -RSpec::MODULES_TO_AUTOLOAD = T.let(T.unsafe(nil), Hash) - -# source://rspec-core/3.12.0/lib/rspec/core/shared_context.rb#54 -RSpec::SharedContext = RSpec::Core::SharedContext - # source://rspec//lib/rspec/version.rb#2 module RSpec::Version; end diff --git a/sorbet/rbi/gems/rubocop-capybara@2.18.0.rbi b/sorbet/rbi/gems/rubocop-capybara@2.18.0.rbi new file mode 100644 index 0000000..5cad566 --- /dev/null +++ b/sorbet/rbi/gems/rubocop-capybara@2.18.0.rbi @@ -0,0 +1,827 @@ +# typed: true + +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `rubocop-capybara` gem. +# Please instead update this file by running `bin/tapioca gem rubocop-capybara`. + +# source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#3 +module RuboCop; end + +# source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#4 +module RuboCop::Cop; end + +# source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#5 +module RuboCop::Cop::Capybara; end + +# Help methods for capybara. +# +# @api private +# +# source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#8 +module RuboCop::Cop::Capybara::CapybaraHelp + private + + # @api private + # @example + # common_attributes?('a[focused]') # => true + # common_attributes?('button[focused][visible]') # => true + # common_attributes?('table[id=some-id]') # => true + # common_attributes?('h1[invalid]') # => false + # @param selector [String] + # @return [Boolean] + # + # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#61 + def common_attributes?(selector); end + + # @api private + # @param node [RuboCop::AST::SendNode] + # @param option [Symbol] + # @return [Boolean] + # + # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#125 + def include_option?(node, option); end + + # @api private + # @example + # replaceable_attributes?('table[id=some-id]') # => true + # replaceable_attributes?('a[focused]') # => false + # @param attrs [Array] + # @return [Boolean] + # + # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#70 + def replaceable_attributes?(attrs); end + + # @api private + # @param node [RuboCop::AST::SendNode] + # @param element [String] + # @param attrs [Array] + # @return [Boolean] + # + # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#108 + def replaceable_element?(node, element, attrs); end + + # @api private + # @param node [RuboCop::AST::SendNode] + # @param locator [String] + # @param element [String] + # @return [Boolean] + # + # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#45 + def replaceable_option?(node, locator, element); end + + # @api private + # @param pseudo_class [String] + # @param locator [String] + # @return [Boolean] + # + # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#85 + def replaceable_pseudo_class?(pseudo_class, locator); end + + # @api private + # @param locator [String] + # @return [Boolean] + # + # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#96 + def replaceable_pseudo_class_not?(locator); end + + # @api private + # @param locator [String] + # @return [Boolean] + # + # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#76 + def replaceable_pseudo_classes?(locator); end + + # @api private + # @param node [RuboCop::AST::SendNode] + # @param attrs [Array] + # @return [Boolean] + # + # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#118 + def replaceable_to_link?(node, attrs); end + + class << self + # @api private + # @example + # common_attributes?('a[focused]') # => true + # common_attributes?('button[focused][visible]') # => true + # common_attributes?('table[id=some-id]') # => true + # common_attributes?('h1[invalid]') # => false + # @param selector [String] + # @return [Boolean] + # + # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#61 + def common_attributes?(selector); end + + # @api private + # @param node [RuboCop::AST::SendNode] + # @param option [Symbol] + # @return [Boolean] + # + # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#125 + def include_option?(node, option); end + + # @api private + # @example + # replaceable_attributes?('table[id=some-id]') # => true + # replaceable_attributes?('a[focused]') # => false + # @param attrs [Array] + # @return [Boolean] + # + # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#70 + def replaceable_attributes?(attrs); end + + # @api private + # @param node [RuboCop::AST::SendNode] + # @param element [String] + # @param attrs [Array] + # @return [Boolean] + # + # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#108 + def replaceable_element?(node, element, attrs); end + + # @api private + # @param node [RuboCop::AST::SendNode] + # @param locator [String] + # @param element [String] + # @return [Boolean] + # + # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#45 + def replaceable_option?(node, locator, element); end + + # @api private + # @param pseudo_class [String] + # @param locator [String] + # @return [Boolean] + # + # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#85 + def replaceable_pseudo_class?(pseudo_class, locator); end + + # @api private + # @param locator [String] + # @return [Boolean] + # + # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#96 + def replaceable_pseudo_class_not?(locator); end + + # @api private + # @param locator [String] + # @return [Boolean] + # + # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#76 + def replaceable_pseudo_classes?(locator); end + + # @api private + # @param node [RuboCop::AST::SendNode] + # @param attrs [Array] + # @return [Boolean] + # + # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#118 + def replaceable_to_link?(node, attrs); end + end +end + +# @api private +# +# source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#9 +RuboCop::Cop::Capybara::CapybaraHelp::COMMON_OPTIONS = T.let(T.unsafe(nil), Array) + +# @api private +# +# source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#12 +RuboCop::Cop::Capybara::CapybaraHelp::SPECIFIC_OPTIONS = T.let(T.unsafe(nil), Hash) + +# @api private +# +# source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#35 +RuboCop::Cop::Capybara::CapybaraHelp::SPECIFIC_PSEUDO_CLASSES = T.let(T.unsafe(nil), Array) + +# Helps parsing css selector. +# +# @api private +# +# source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/css_selector.rb#8 +module RuboCop::Cop::Capybara::CssSelector + private + + # @api private + # @example + # attribute?('[attribute]') # => true + # attribute?('attribute') # => false + # @param selector [String] + # @return [Boolean] + # + # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/css_selector.rb#48 + def attribute?(selector); end + + # @api private + # @example + # attributes('a[foo-bar_baz]') # => {"foo-bar_baz=>nil} + # attributes('button[foo][bar=baz]') # => {"foo"=>nil, "bar"=>"'baz'"} + # attributes('table[foo=bar]') # => {"foo"=>"'bar'"} + # @param selector [String] + # @return [Array] + # + # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/css_selector.rb#58 + def attributes(selector); end + + # @api private + # @example + # classes('#some-id') # => [] + # classes('.some-cls') # => ['some-cls'] + # classes('#some-id.some-cls') # => ['some-cls'] + # classes('#some-id.cls1.cls2') # => ['cls1', 'cls2'] + # @param selector [String] + # @return [Array] + # + # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/css_selector.rb#39 + def classes(selector); end + + # @api private + # @example + # id('#some-id') # => some-id + # id('.some-cls') # => nil + # id('#some-id.cls') # => some-id + # @param selector [String] + # @return [String] + # + # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/css_selector.rb#17 + def id(selector); end + + # @api private + # @example + # id?('#some-id') # => true + # id?('.some-cls') # => false + # @param selector [String] + # @return [Boolean] + # + # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/css_selector.rb#28 + def id?(selector); end + + # @api private + # @example + # multiple_selectors?('a.cls b#id') # => true + # multiple_selectors?('a.cls') # => false + # @param selector [String] + # @return [Boolean] + # + # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/css_selector.rb#88 + def multiple_selectors?(selector); end + + # @api private + # @example + # normalize_value('true') # => true + # normalize_value('false') # => false + # normalize_value(nil) # => nil + # normalize_value("foo") # => "'foo'" + # @param value [String] + # @return [Boolean, String] + # + # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/css_selector.rb#100 + def normalize_value(value); end + + # @api private + # @example + # pseudo_classes('button:not([disabled])') # => ['not()'] + # pseudo_classes('a:enabled:not([valid])') # => ['enabled', 'not()'] + # @param selector [String] + # @return [Array] + # + # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/css_selector.rb#74 + def pseudo_classes(selector); end + + class << self + # @api private + # @example + # attribute?('[attribute]') # => true + # attribute?('attribute') # => false + # @param selector [String] + # @return [Boolean] + # + # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/css_selector.rb#48 + def attribute?(selector); end + + # @api private + # @example + # attributes('a[foo-bar_baz]') # => {"foo-bar_baz=>nil} + # attributes('button[foo][bar=baz]') # => {"foo"=>nil, "bar"=>"'baz'"} + # attributes('table[foo=bar]') # => {"foo"=>"'bar'"} + # @param selector [String] + # @return [Array] + # + # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/css_selector.rb#58 + def attributes(selector); end + + # @api private + # @example + # classes('#some-id') # => [] + # classes('.some-cls') # => ['some-cls'] + # classes('#some-id.some-cls') # => ['some-cls'] + # classes('#some-id.cls1.cls2') # => ['cls1', 'cls2'] + # @param selector [String] + # @return [Array] + # + # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/css_selector.rb#39 + def classes(selector); end + + # @api private + # @example + # id('#some-id') # => some-id + # id('.some-cls') # => nil + # id('#some-id.cls') # => some-id + # @param selector [String] + # @return [String] + # + # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/css_selector.rb#17 + def id(selector); end + + # @api private + # @example + # id?('#some-id') # => true + # id?('.some-cls') # => false + # @param selector [String] + # @return [Boolean] + # + # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/css_selector.rb#28 + def id?(selector); end + + # @api private + # @example + # multiple_selectors?('a.cls b#id') # => true + # multiple_selectors?('a.cls') # => false + # @param selector [String] + # @return [Boolean] + # + # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/css_selector.rb#88 + def multiple_selectors?(selector); end + + # @api private + # @example + # normalize_value('true') # => true + # normalize_value('false') # => false + # normalize_value(nil) # => nil + # normalize_value("foo") # => "'foo'" + # @param value [String] + # @return [Boolean, String] + # + # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/css_selector.rb#100 + def normalize_value(value); end + + # @api private + # @example + # pseudo_classes('button:not([disabled])') # => ['not()'] + # pseudo_classes('a:enabled:not([valid])') # => ['enabled', 'not()'] + # @param selector [String] + # @return [Array] + # + # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/css_selector.rb#74 + def pseudo_classes(selector); end + end +end + +# Checks that no expectations are set on Capybara's `current_path`. +# +# The +# https://www.rubydoc.info/github/teamcapybara/capybara/master/Capybara/RSpecMatchers#have_current_path-instance_method[`have_current_path` matcher] +# should be used on `page` to set expectations on Capybara's +# current path, since it uses +# https://github.com/teamcapybara/capybara/blob/master/README.md#asynchronous-javascript-ajax-and-friends[Capybara's waiting functionality] +# which ensures that preceding actions (like `click_link`) have +# completed. +# +# This cop does not support autocorrection in some cases. +# +# @example +# # bad +# expect(current_path).to eq('/callback') +# +# # good +# expect(page).to have_current_path('/callback') +# +# # bad (does not support autocorrection) +# expect(page.current_path).to match(variable) +# +# # good +# expect(page).to have_current_path('/callback') +# +# source://rubocop-capybara//lib/rubocop/cop/capybara/current_path_expectation.rb#31 +class RuboCop::Cop::Capybara::CurrentPathExpectation < ::RuboCop::Cop::Base + include ::RuboCop::Cop::RangeHelp + extend ::RuboCop::Cop::AutoCorrector + + # Supported matchers: eq(...) / match(/regexp/) / match('regexp') + # + # source://rubocop-capybara//lib/rubocop/cop/capybara/current_path_expectation.rb#48 + def as_is_matcher(param0 = T.unsafe(nil)); end + + # source://rubocop-capybara//lib/rubocop/cop/capybara/current_path_expectation.rb#42 + def expectation_set_on_current_path(param0 = T.unsafe(nil)); end + + # source://rubocop-capybara//lib/rubocop/cop/capybara/current_path_expectation.rb#65 + def on_send(node); end + + # source://rubocop-capybara//lib/rubocop/cop/capybara/current_path_expectation.rb#55 + def regexp_node_matcher(param0 = T.unsafe(nil)); end + + private + + # source://rubocop-capybara//lib/rubocop/cop/capybara/current_path_expectation.rb#115 + def add_argument_parentheses(corrector, arg_node); end + + # `have_current_path` with no options will include the querystring + # while `page.current_path` does not. + # This ensures the option `ignore_query: true` is added + # except when the expectation is a regexp or string + # + # source://rubocop-capybara//lib/rubocop/cop/capybara/current_path_expectation.rb#133 + def add_ignore_query_options(corrector, node); end + + # source://rubocop-capybara//lib/rubocop/cop/capybara/current_path_expectation.rb#77 + def autocorrect(corrector, node); end + + # source://rubocop-capybara//lib/rubocop/cop/capybara/current_path_expectation.rb#101 + def convert_regexp_node_to_literal(corrector, matcher_node, regexp_node); end + + # @return [Boolean] + # + # source://rubocop-capybara//lib/rubocop/cop/capybara/current_path_expectation.rb#125 + def method_call_with_no_parentheses?(arg_node); end + + # source://rubocop-capybara//lib/rubocop/cop/capybara/current_path_expectation.rb#107 + def regexp_node_to_regexp_expr(regexp_node); end + + # source://rubocop-capybara//lib/rubocop/cop/capybara/current_path_expectation.rb#88 + def rewrite_expectation(corrector, node, to_symbol, matcher_node); end + + class << self + # source://rubocop-capybara//lib/rubocop/cop/capybara/current_path_expectation.rb#61 + def autocorrect_incompatible_with; end + end +end + +# source://rubocop-capybara//lib/rubocop/cop/capybara/current_path_expectation.rb#35 +RuboCop::Cop::Capybara::CurrentPathExpectation::MSG = T.let(T.unsafe(nil), String) + +# source://rubocop-capybara//lib/rubocop/cop/capybara/current_path_expectation.rb#39 +RuboCop::Cop::Capybara::CurrentPathExpectation::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array) + +# Checks for usage of deprecated style methods. +# +# @example when using `assert_style` +# # bad +# page.find(:css, '#first').assert_style(display: 'block') +# +# # good +# page.find(:css, '#first').assert_matches_style(display: 'block') +# @example when using `has_style?` +# # bad +# expect(page.find(:css, 'first') +# .has_style?(display: 'block')).to be true +# +# # good +# expect(page.find(:css, 'first') +# .matches_style?(display: 'block')).to be true +# @example when using `have_style` +# # bad +# expect(page).to have_style(display: 'block') +# +# # good +# expect(page).to match_style(display: 'block') +# +# source://rubocop-capybara//lib/rubocop/cop/capybara/match_style.rb#31 +class RuboCop::Cop::Capybara::MatchStyle < ::RuboCop::Cop::Base + extend ::RuboCop::Cop::AutoCorrector + + # source://rubocop-capybara//lib/rubocop/cop/capybara/match_style.rb#42 + def on_send(node); end + + private + + # source://rubocop-capybara//lib/rubocop/cop/capybara/match_style.rb#52 + def message(node); end +end + +# source://rubocop-capybara//lib/rubocop/cop/capybara/match_style.rb#34 +RuboCop::Cop::Capybara::MatchStyle::MSG = T.let(T.unsafe(nil), String) + +# source://rubocop-capybara//lib/rubocop/cop/capybara/match_style.rb#36 +RuboCop::Cop::Capybara::MatchStyle::PREFERRED_METHOD = T.let(T.unsafe(nil), Hash) + +# source://rubocop-capybara//lib/rubocop/cop/capybara/match_style.rb#35 +RuboCop::Cop::Capybara::MatchStyle::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array) + +# Enforces use of `have_no_*` or `not_to` for negated expectations. +# +# @example EnforcedStyle: not_to (default) +# # bad +# expect(page).to have_no_selector +# expect(page).to have_no_css('a') +# +# # good +# expect(page).not_to have_selector +# expect(page).not_to have_css('a') +# @example EnforcedStyle: have_no +# # bad +# expect(page).not_to have_selector +# expect(page).not_to have_css('a') +# +# # good +# expect(page).to have_no_selector +# expect(page).to have_no_css('a') +# +# source://rubocop-capybara//lib/rubocop/cop/capybara/negation_matcher.rb#26 +class RuboCop::Cop::Capybara::NegationMatcher < ::RuboCop::Cop::Base + include ::RuboCop::Cop::ConfigurableEnforcedStyle + extend ::RuboCop::Cop::AutoCorrector + + # source://rubocop-capybara//lib/rubocop/cop/capybara/negation_matcher.rb#50 + def have_no?(param0 = T.unsafe(nil)); end + + # source://rubocop-capybara//lib/rubocop/cop/capybara/negation_matcher.rb#44 + def not_to?(param0 = T.unsafe(nil)); end + + # source://rubocop-capybara//lib/rubocop/cop/capybara/negation_matcher.rb#55 + def on_send(node); end + + private + + # source://rubocop-capybara//lib/rubocop/cop/capybara/negation_matcher.rb#78 + def message(matcher); end + + # @return [Boolean] + # + # source://rubocop-capybara//lib/rubocop/cop/capybara/negation_matcher.rb#69 + def offense?(node); end + + # source://rubocop-capybara//lib/rubocop/cop/capybara/negation_matcher.rb#74 + def offense_range(node); end + + # source://rubocop-capybara//lib/rubocop/cop/capybara/negation_matcher.rb#93 + def replaced_matcher(matcher); end + + # source://rubocop-capybara//lib/rubocop/cop/capybara/negation_matcher.rb#84 + def replaced_runner; end +end + +# source://rubocop-capybara//lib/rubocop/cop/capybara/negation_matcher.rb#31 +RuboCop::Cop::Capybara::NegationMatcher::CAPYBARA_MATCHERS = T.let(T.unsafe(nil), Array) + +# source://rubocop-capybara//lib/rubocop/cop/capybara/negation_matcher.rb#30 +RuboCop::Cop::Capybara::NegationMatcher::MSG = T.let(T.unsafe(nil), String) + +# source://rubocop-capybara//lib/rubocop/cop/capybara/negation_matcher.rb#38 +RuboCop::Cop::Capybara::NegationMatcher::NEGATIVE_MATCHERS = T.let(T.unsafe(nil), Set) + +# source://rubocop-capybara//lib/rubocop/cop/capybara/negation_matcher.rb#36 +RuboCop::Cop::Capybara::NegationMatcher::POSITIVE_MATCHERS = T.let(T.unsafe(nil), Set) + +# source://rubocop-capybara//lib/rubocop/cop/capybara/negation_matcher.rb#41 +RuboCop::Cop::Capybara::NegationMatcher::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Set) + +# Checks for there is a more specific actions offered by Capybara. +# +# @example +# +# # bad +# find('a').click +# find('button.cls').click +# find('a', exact_text: 'foo').click +# find('div button').click +# +# # good +# click_link +# click_button(class: 'cls') +# click_link(exact_text: 'foo') +# find('div').click_button +# +# source://rubocop-capybara//lib/rubocop/cop/capybara/specific_actions.rb#22 +class RuboCop::Cop::Capybara::SpecificActions < ::RuboCop::Cop::Base + # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_actions.rb#31 + def click_on_selector(param0 = T.unsafe(nil)); end + + # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_actions.rb#35 + def on_send(node); end + + private + + # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_actions.rb#87 + def good_action(action); end + + # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_actions.rb#73 + def last_selector(arg); end + + # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_actions.rb#81 + def message(action, selector); end + + # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_actions.rb#77 + def offense_range(node, receiver); end + + # @return [Boolean] + # + # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_actions.rb#57 + def replaceable?(node, arg, action); end + + # @return [Boolean] + # + # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_actions.rb#63 + def replaceable_attributes?(selector); end + + # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_actions.rb#53 + def specific_action(selector); end + + # @return [Boolean] + # + # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_actions.rb#69 + def supported_selector?(selector); end +end + +# source://rubocop-capybara//lib/rubocop/cop/capybara/specific_actions.rb#23 +RuboCop::Cop::Capybara::SpecificActions::MSG = T.let(T.unsafe(nil), String) + +# source://rubocop-capybara//lib/rubocop/cop/capybara/specific_actions.rb#24 +RuboCop::Cop::Capybara::SpecificActions::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array) + +# source://rubocop-capybara//lib/rubocop/cop/capybara/specific_actions.rb#25 +RuboCop::Cop::Capybara::SpecificActions::SPECIFIC_ACTION = T.let(T.unsafe(nil), Hash) + +# Checks if there is a more specific finder offered by Capybara. +# +# @example +# # bad +# find('#some-id') +# find('[visible][id=some-id]') +# +# # good +# find_by_id('some-id') +# find_by_id('some-id', visible: true) +# +# source://rubocop-capybara//lib/rubocop/cop/capybara/specific_finders.rb#17 +class RuboCop::Cop::Capybara::SpecificFinders < ::RuboCop::Cop::Base + include ::RuboCop::Cop::RangeHelp + extend ::RuboCop::Cop::AutoCorrector + + # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_finders.rb#31 + def class_options(param0); end + + # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_finders.rb#26 + def find_argument(param0 = T.unsafe(nil)); end + + # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_finders.rb#35 + def on_send(node); end + + private + + # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_finders.rb#89 + def append_options(classes, options); end + + # @return [Boolean] + # + # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_finders.rb#63 + def attribute?(arg); end + + # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_finders.rb#79 + def autocorrect_classes(corrector, node, classes); end + + # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_finders.rb#116 + def end_pos(node); end + + # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_finders.rb#94 + def keyword_argument_class(classes); end + + # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_finders.rb#112 + def offense_range(node); end + + # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_finders.rb#47 + def on_attr(node, arg); end + + # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_finders.rb#55 + def on_id(node, arg); end + + # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_finders.rb#68 + def register_offense(node, id, classes = T.unsafe(nil)); end + + # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_finders.rb#99 + def replaced_arguments(arg, id); end + + # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_finders.rb#104 + def to_options(attrs); end +end + +# source://rubocop-capybara//lib/rubocop/cop/capybara/specific_finders.rb#22 +RuboCop::Cop::Capybara::SpecificFinders::MSG = T.let(T.unsafe(nil), String) + +# source://rubocop-capybara//lib/rubocop/cop/capybara/specific_finders.rb#23 +RuboCop::Cop::Capybara::SpecificFinders::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array) + +# Checks for there is a more specific matcher offered by Capybara. +# +# @example +# +# # bad +# expect(page).to have_selector('button') +# expect(page).to have_no_selector('button.cls') +# expect(page).to have_css('button') +# expect(page).to have_no_css('a.cls', href: 'http://example.com') +# expect(page).to have_css('table.cls') +# expect(page).to have_css('select') +# expect(page).to have_css('input', exact_text: 'foo') +# +# # good +# expect(page).to have_button +# expect(page).to have_no_button(class: 'cls') +# expect(page).to have_button +# expect(page).to have_no_link('foo', class: 'cls', href: 'http://example.com') +# expect(page).to have_table(class: 'cls') +# expect(page).to have_select +# expect(page).to have_field('foo') +# +# source://rubocop-capybara//lib/rubocop/cop/capybara/specific_matcher.rb#28 +class RuboCop::Cop::Capybara::SpecificMatcher < ::RuboCop::Cop::Base + # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_matcher.rb#41 + def first_argument(param0 = T.unsafe(nil)); end + + # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_matcher.rb#45 + def on_send(node); end + + private + + # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_matcher.rb#80 + def good_matcher(node, matcher); end + + # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_matcher.rb#74 + def message(node, matcher); end + + # @return [Boolean] + # + # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_matcher.rb#62 + def replaceable?(node, arg, matcher); end + + # @return [Boolean] + # + # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_matcher.rb#68 + def replaceable_attributes?(selector); end + + # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_matcher.rb#57 + def specific_matcher(arg); end +end + +# source://rubocop-capybara//lib/rubocop/cop/capybara/specific_matcher.rb#29 +RuboCop::Cop::Capybara::SpecificMatcher::MSG = T.let(T.unsafe(nil), String) + +# source://rubocop-capybara//lib/rubocop/cop/capybara/specific_matcher.rb#30 +RuboCop::Cop::Capybara::SpecificMatcher::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array) + +# source://rubocop-capybara//lib/rubocop/cop/capybara/specific_matcher.rb#32 +RuboCop::Cop::Capybara::SpecificMatcher::SPECIFIC_MATCHER = T.let(T.unsafe(nil), Hash) + +# Checks for boolean visibility in Capybara finders. +# +# Capybara lets you find elements that match a certain visibility using +# the `:visible` option. `:visible` accepts both boolean and symbols as +# values, however using booleans can have unwanted effects. `visible: +# false` does not find just invisible elements, but both visible and +# invisible elements. For expressiveness and clarity, use one of the +# symbol values, `:all`, `:hidden` or `:visible`. +# Read more in +# https://www.rubydoc.info/gems/capybara/Capybara%2FNode%2FFinders:all[the documentation]. +# +# @example +# # bad +# expect(page).to have_selector('.foo', visible: false) +# expect(page).to have_css('.foo', visible: true) +# expect(page).to have_link('my link', visible: false) +# +# # good +# expect(page).to have_selector('.foo', visible: :visible) +# expect(page).to have_css('.foo', visible: :all) +# expect(page).to have_link('my link', visible: :hidden) +# +# source://rubocop-capybara//lib/rubocop/cop/capybara/visibility_matcher.rb#28 +class RuboCop::Cop::Capybara::VisibilityMatcher < ::RuboCop::Cop::Base + # source://rubocop-capybara//lib/rubocop/cop/capybara/visibility_matcher.rb#58 + def on_send(node); end + + # source://rubocop-capybara//lib/rubocop/cop/capybara/visibility_matcher.rb#54 + def visible_false?(param0 = T.unsafe(nil)); end + + # source://rubocop-capybara//lib/rubocop/cop/capybara/visibility_matcher.rb#49 + def visible_true?(param0 = T.unsafe(nil)); end + + private + + # @return [Boolean] + # + # source://rubocop-capybara//lib/rubocop/cop/capybara/visibility_matcher.rb#65 + def capybara_matcher?(method_name); end +end + +# source://rubocop-capybara//lib/rubocop/cop/capybara/visibility_matcher.rb#31 +RuboCop::Cop::Capybara::VisibilityMatcher::CAPYBARA_MATCHER_METHODS = T.let(T.unsafe(nil), Array) + +# source://rubocop-capybara//lib/rubocop/cop/capybara/visibility_matcher.rb#29 +RuboCop::Cop::Capybara::VisibilityMatcher::MSG_FALSE = T.let(T.unsafe(nil), String) + +# source://rubocop-capybara//lib/rubocop/cop/capybara/visibility_matcher.rb#30 +RuboCop::Cop::Capybara::VisibilityMatcher::MSG_TRUE = T.let(T.unsafe(nil), String) + +# source://rubocop-capybara//lib/rubocop/cop/capybara/visibility_matcher.rb#46 +RuboCop::Cop::Capybara::VisibilityMatcher::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array) diff --git a/sorbet/rbi/gems/rubocop-factory_bot@2.22.0.rbi b/sorbet/rbi/gems/rubocop-factory_bot@2.22.0.rbi new file mode 100644 index 0000000..23f3210 --- /dev/null +++ b/sorbet/rbi/gems/rubocop-factory_bot@2.22.0.rbi @@ -0,0 +1,529 @@ +# typed: true + +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `rubocop-factory_bot` gem. +# Please instead update this file by running `bin/tapioca gem rubocop-factory_bot`. + +# source://rubocop-factory_bot//lib/rubocop/factory_bot/factory_bot.rb#3 +module RuboCop; end + +# source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/attribute_defined_statically.rb#4 +module RuboCop::Cop; end + +# source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/attribute_defined_statically.rb#5 +module RuboCop::Cop::FactoryBot; end + +# Always declare attribute values as blocks. +# +# @example +# # bad +# kind [:active, :rejected].sample +# +# # good +# kind { [:active, :rejected].sample } +# +# # bad +# closed_at 1.day.from_now +# +# # good +# closed_at { 1.day.from_now } +# +# # bad +# count 1 +# +# # good +# count { 1 } +# +# source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/attribute_defined_statically.rb#27 +class RuboCop::Cop::FactoryBot::AttributeDefinedStatically < ::RuboCop::Cop::Base + extend ::RuboCop::Cop::AutoCorrector + + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/attribute_defined_statically.rb#85 + def association?(param0 = T.unsafe(nil)); end + + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/attribute_defined_statically.rb#38 + def factory_attributes(param0 = T.unsafe(nil)); end + + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/attribute_defined_statically.rb#42 + def on_block(node); end + + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/attribute_defined_statically.rb#33 + def value_matcher(param0 = T.unsafe(nil)); end + + private + + # @return [Boolean] + # + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/attribute_defined_statically.rb#119 + def attribute_defining_method?(method_name); end + + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/attribute_defined_statically.rb#58 + def autocorrect(corrector, node); end + + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/attribute_defined_statically.rb#87 + def autocorrect_replacing_parens(corrector, node); end + + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/attribute_defined_statically.rb#94 + def autocorrect_without_parens(corrector, node); end + + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/attribute_defined_statically.rb#103 + def braces(node); end + + # @return [Boolean] + # + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/attribute_defined_statically.rb#66 + def offensive_receiver?(receiver, node); end + + # @return [Boolean] + # + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/attribute_defined_statically.rb#80 + def proc?(attribute); end + + # @return [Boolean] + # + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/attribute_defined_statically.rb#72 + def receiver_matches_first_block_argument?(receiver, node); end + + # @return [Boolean] + # + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/attribute_defined_statically.rb#115 + def reserved_method?(method_name); end + + # @return [Boolean] + # + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/attribute_defined_statically.rb#111 + def value_hash_without_braces?(node); end +end + +# source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/attribute_defined_statically.rb#30 +RuboCop::Cop::FactoryBot::AttributeDefinedStatically::MSG = T.let(T.unsafe(nil), String) + +# Use a consistent style for parentheses in factory bot calls. +# +# @example +# +# # bad +# create :user +# build(:user) +# create(:login) +# create :login +# @example `EnforcedStyle: require_parentheses` (default) +# +# # good +# create(:user) +# create(:user) +# create(:login) +# build(:login) +# @example `EnforcedStyle: omit_parentheses` +# +# # good +# create :user +# build :user +# create :login +# create :login +# +# # also good +# # when method name and first argument are not on same line +# create( +# :user +# ) +# build( +# :user, +# name: 'foo' +# ) +# +# source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/consistent_parentheses_style.rb#42 +class RuboCop::Cop::FactoryBot::ConsistentParenthesesStyle < ::RuboCop::Cop::Base + include ::RuboCop::Cop::ConfigurableEnforcedStyle + include ::RuboCop::FactoryBot::Language + extend ::RuboCop::Cop::AutoCorrector + + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/consistent_parentheses_style.rb#60 + def factory_call(param0 = T.unsafe(nil)); end + + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/consistent_parentheses_style.rb#67 + def on_send(node); end + + private + + # @return [Boolean] + # + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/consistent_parentheses_style.rb#104 + def ambiguous_without_parentheses?(node); end + + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/consistent_parentheses_style.rb#83 + def process_with_parentheses(node); end + + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/consistent_parentheses_style.rb#93 + def process_without_parentheses(node); end + + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/consistent_parentheses_style.rb#108 + def remove_parentheses(corrector, node); end + + class << self + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/consistent_parentheses_style.rb#48 + def autocorrect_incompatible_with; end + end +end + +# source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/consistent_parentheses_style.rb#102 +RuboCop::Cop::FactoryBot::ConsistentParenthesesStyle::AMBIGUOUS_TYPES = T.let(T.unsafe(nil), Array) + +# source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/consistent_parentheses_style.rb#55 +RuboCop::Cop::FactoryBot::ConsistentParenthesesStyle::FACTORY_CALLS = T.let(T.unsafe(nil), Set) + +# source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/consistent_parentheses_style.rb#53 +RuboCop::Cop::FactoryBot::ConsistentParenthesesStyle::MSG_OMIT_PARENS = T.let(T.unsafe(nil), String) + +# source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/consistent_parentheses_style.rb#52 +RuboCop::Cop::FactoryBot::ConsistentParenthesesStyle::MSG_REQUIRE_PARENS = T.let(T.unsafe(nil), String) + +# source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/consistent_parentheses_style.rb#57 +RuboCop::Cop::FactoryBot::ConsistentParenthesesStyle::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Set) + +# Checks for create_list usage. +# +# This cop can be configured using the `EnforcedStyle` option +# +# @example `EnforcedStyle: create_list` (default) +# # bad +# 3.times { create :user } +# +# # good +# create_list :user, 3 +# +# # bad +# 3.times { create :user, age: 18 } +# +# # good - index is used to alter the created models attributes +# 3.times { |n| create :user, age: n } +# +# # good - contains a method call, may return different values +# 3.times { create :user, age: rand } +# @example `EnforcedStyle: n_times` +# # bad +# create_list :user, 3 +# +# # good +# 3.times { create :user } +# +# source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/create_list.rb#33 +class RuboCop::Cop::FactoryBot::CreateList < ::RuboCop::Cop::Base + include ::RuboCop::Cop::ConfigurableEnforcedStyle + include ::RuboCop::FactoryBot::Language + extend ::RuboCop::Cop::AutoCorrector + + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/create_list.rb#63 + def arguments_include_method_call?(param0 = T.unsafe(nil)); end + + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/create_list.rb#43 + def array_new_or_n_times_block?(param0 = T.unsafe(nil)); end + + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/create_list.rb#54 + def block_with_arg_and_used?(param0 = T.unsafe(nil)); end + + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/create_list.rb#68 + def factory_call(param0 = T.unsafe(nil)); end + + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/create_list.rb#73 + def factory_list_call(param0 = T.unsafe(nil)); end + + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/create_list.rb#77 + def on_block(node); end + + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/create_list.rb#91 + def on_send(node); end + + private + + # @return [Boolean] + # + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/create_list.rb#104 + def contains_only_factory?(node); end +end + +# :nodoc +# +# source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/create_list.rb#113 +module RuboCop::Cop::FactoryBot::CreateList::Corrector + private + + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/create_list.rb#116 + def build_options_string(options); end + + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/create_list.rb#120 + def format_method_call(node, method, arguments); end + + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/create_list.rb#128 + def format_receiver(receiver); end +end + +# source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/create_list.rb#173 +class RuboCop::Cop::FactoryBot::CreateList::CreateListCorrector + include ::RuboCop::Cop::FactoryBot::CreateList::Corrector + + # @return [CreateListCorrector] a new instance of CreateListCorrector + # + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/create_list.rb#176 + def initialize(node); end + + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/create_list.rb#180 + def call(corrector); end + + private + + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/create_list.rb#203 + def build_arguments(node, count); end + + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/create_list.rb#212 + def call_replacement(node); end + + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/create_list.rb#194 + def call_with_block_replacement(node); end + + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/create_list.rb#225 + def count_from(node); end + + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/create_list.rb#235 + def format_block(node); end + + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/create_list.rb#243 + def format_multiline_block(node); end + + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/create_list.rb#251 + def format_singleline_block(node); end + + # Returns the value of attribute node. + # + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/create_list.rb#192 + def node; end +end + +# source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/create_list.rb#38 +RuboCop::Cop::FactoryBot::CreateList::MSG_CREATE_LIST = T.let(T.unsafe(nil), String) + +# source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/create_list.rb#39 +RuboCop::Cop::FactoryBot::CreateList::MSG_N_TIMES = T.let(T.unsafe(nil), String) + +# source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/create_list.rb#40 +RuboCop::Cop::FactoryBot::CreateList::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array) + +# :nodoc +# +# source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/create_list.rb#136 +class RuboCop::Cop::FactoryBot::CreateList::TimesCorrector + include ::RuboCop::Cop::FactoryBot::CreateList::Corrector + + # @return [TimesCorrector] a new instance of TimesCorrector + # + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/create_list.rb#139 + def initialize(node); end + + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/create_list.rb#143 + def call(corrector); end + + private + + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/create_list.rb#165 + def factory_call_block_source; end + + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/create_list.rb#152 + def generate_n_times_block(node); end + + # Returns the value of attribute node. + # + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/create_list.rb#150 + def node; end +end + +# Use string value when setting the class attribute explicitly. +# +# This cop would promote faster tests by lazy-loading of +# application files. Also, this could help you suppress potential bugs +# in combination with external libraries by avoiding a preload of +# application files from the factory files. +# +# @example +# # bad +# factory :foo, class: Foo do +# end +# +# # good +# factory :foo, class: 'Foo' do +# end +# +# source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/factory_class_name.rb#22 +class RuboCop::Cop::FactoryBot::FactoryClassName < ::RuboCop::Cop::Base + extend ::RuboCop::Cop::AutoCorrector + + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/factory_class_name.rb#31 + def class_name(param0 = T.unsafe(nil)); end + + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/factory_class_name.rb#35 + def on_send(node); end + + private + + # @return [Boolean] + # + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/factory_class_name.rb#48 + def allowed?(const_name); end +end + +# source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/factory_class_name.rb#27 +RuboCop::Cop::FactoryBot::FactoryClassName::ALLOWED_CONSTANTS = T.let(T.unsafe(nil), Array) + +# source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/factory_class_name.rb#25 +RuboCop::Cop::FactoryBot::FactoryClassName::MSG = T.let(T.unsafe(nil), String) + +# source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/factory_class_name.rb#28 +RuboCop::Cop::FactoryBot::FactoryClassName::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array) + +# Checks for name style for argument of FactoryBot::Syntax::Methods. +# +# @example EnforcedStyle: symbol (default) +# # bad +# create('user') +# build "user", username: "NAME" +# +# # good +# create(:user) +# build :user, username: "NAME" +# @example EnforcedStyle: string +# # bad +# create(:user) +# build :user, username: "NAME" +# +# # good +# create('user') +# build "user", username: "NAME" +# +# source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/factory_name_style.rb#26 +class RuboCop::Cop::FactoryBot::FactoryNameStyle < ::RuboCop::Cop::Base + include ::RuboCop::Cop::ConfigurableEnforcedStyle + include ::RuboCop::FactoryBot::Language + extend ::RuboCop::Cop::AutoCorrector + + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/factory_name_style.rb#36 + def factory_call(param0 = T.unsafe(nil)); end + + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/factory_name_style.rb#43 + def on_send(node); end + + private + + # @return [Boolean] + # + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/factory_name_style.rb#59 + def offense_for_string_style?(name); end + + # @return [Boolean] + # + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/factory_name_style.rb#55 + def offense_for_symbol_style?(name); end + + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/factory_name_style.rb#63 + def register_offense(name, prefer); end +end + +# source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/factory_name_style.rb#32 +RuboCop::Cop::FactoryBot::FactoryNameStyle::FACTORY_CALLS = T.let(T.unsafe(nil), Set) + +# source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/factory_name_style.rb#31 +RuboCop::Cop::FactoryBot::FactoryNameStyle::MSG = T.let(T.unsafe(nil), String) + +# source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/factory_name_style.rb#33 +RuboCop::Cop::FactoryBot::FactoryNameStyle::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Set) + +# Use shorthands from `FactoryBot::Syntax::Methods` in your specs. +# +# @example +# # bad +# FactoryBot.create(:bar) +# FactoryBot.build(:bar) +# FactoryBot.attributes_for(:bar) +# +# # good +# create(:bar) +# build(:bar) +# attributes_for(:bar) +# +# source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/syntax_methods.rb#48 +class RuboCop::Cop::FactoryBot::SyntaxMethods < ::RuboCop::Cop::Base + include ::RuboCop::Cop::RangeHelp + include ::RuboCop::FactoryBot::Language + extend ::RuboCop::Cop::AutoCorrector + + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/syntax_methods.rb#73 + def on_send(node); end + + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/syntax_methods.rb#58 + def spec_group?(param0 = T.unsafe(nil)); end + + private + + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/syntax_methods.rb#87 + def crime_scene(node); end + + # @return [Boolean] + # + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/syntax_methods.rb#109 + def example_group_root?(node); end + + # @return [Boolean] + # + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/syntax_methods.rb#113 + def example_group_root_with_siblings?(node); end + + # @return [Boolean] + # + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/syntax_methods.rb#101 + def inside_example_group?(node); end + + # source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/syntax_methods.rb#94 + def offense(node); end +end + +# source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/syntax_methods.rb#53 +RuboCop::Cop::FactoryBot::SyntaxMethods::MSG = T.let(T.unsafe(nil), String) + +# source://rubocop-factory_bot//lib/rubocop/cop/factory_bot/syntax_methods.rb#55 +RuboCop::Cop::FactoryBot::SyntaxMethods::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Set) + +# RuboCop FactoryBot project namespace +# +# source://rubocop-factory_bot//lib/rubocop/factory_bot/factory_bot.rb#5 +module RuboCop::FactoryBot + class << self + # source://rubocop-factory_bot//lib/rubocop/factory_bot/factory_bot.rb#54 + def attribute_defining_methods; end + + # source://rubocop-factory_bot//lib/rubocop/factory_bot/factory_bot.rb#58 + def reserved_methods; end + end +end + +# source://rubocop-factory_bot//lib/rubocop/factory_bot/factory_bot.rb#6 +RuboCop::FactoryBot::ATTRIBUTE_DEFINING_METHODS = T.let(T.unsafe(nil), Array) + +# source://rubocop-factory_bot//lib/rubocop/factory_bot/factory_bot.rb#29 +RuboCop::FactoryBot::DEFINITION_PROXY_METHODS = T.let(T.unsafe(nil), Array) + +# Contains node matchers for common FactoryBot DSL. +# +# source://rubocop-factory_bot//lib/rubocop/factory_bot/language.rb#6 +module RuboCop::FactoryBot::Language + extend ::RuboCop::AST::NodePattern::Macros + + # source://rubocop-factory_bot//lib/rubocop/factory_bot/language.rb#30 + def factory_bot?(param0 = T.unsafe(nil)); end +end + +# source://rubocop-factory_bot//lib/rubocop/factory_bot/language.rb#9 +RuboCop::FactoryBot::Language::METHODS = T.let(T.unsafe(nil), Set) + +# source://rubocop-factory_bot//lib/rubocop/factory_bot/factory_bot.rb#42 +RuboCop::FactoryBot::RESERVED_METHODS = T.let(T.unsafe(nil), Array) + +# source://rubocop-factory_bot//lib/rubocop/factory_bot/factory_bot.rb#14 +RuboCop::FactoryBot::UNPROXIED_METHODS = T.let(T.unsafe(nil), Array) diff --git a/sorbet/rbi/gems/simplecov-html@0.12.3.rbi b/sorbet/rbi/gems/simplecov-html@0.12.3.rbi index 7ced067..c00ae17 100644 --- a/sorbet/rbi/gems/simplecov-html@0.12.3.rbi +++ b/sorbet/rbi/gems/simplecov-html@0.12.3.rbi @@ -7,126 +7,126 @@ # source://simplecov-html//lib/simplecov-html.rb#16 module SimpleCov class << self - # source://simplecov/0.21.2/lib/simplecov.rb#174 + # source://simplecov/0.22.0/lib/simplecov.rb#174 def at_exit_behavior; end - # source://simplecov/0.21.2/lib/simplecov.rb#170 + # source://simplecov/0.22.0/lib/simplecov.rb#170 def clear_result; end - # source://simplecov/0.21.2/lib/simplecov.rb#86 + # source://simplecov/0.22.0/lib/simplecov.rb#86 def collate(result_filenames, profile = T.unsafe(nil), ignore_timeout: T.unsafe(nil), &block); end - # source://simplecov/0.21.2/lib/simplecov.rb#223 + # source://simplecov/0.22.0/lib/simplecov.rb#223 def exit_and_report_previous_error(exit_status); end - # source://simplecov/0.21.2/lib/simplecov.rb#200 + # source://simplecov/0.22.0/lib/simplecov.rb#200 def exit_status_from_exception; end - # source://simplecov/0.21.2/lib/simplecov.rb#28 + # source://simplecov/0.22.0/lib/simplecov.rb#28 def external_at_exit; end - # source://simplecov/0.21.2/lib/simplecov.rb#28 + # source://simplecov/0.22.0/lib/simplecov.rb#28 def external_at_exit=(_arg0); end - # source://simplecov/0.21.2/lib/simplecov.rb#28 + # source://simplecov/0.22.0/lib/simplecov.rb#28 def external_at_exit?; end - # source://simplecov/0.21.2/lib/simplecov.rb#131 + # source://simplecov/0.22.0/lib/simplecov.rb#131 def filtered(files); end - # source://simplecov/0.21.2/lib/simplecov.rb#268 + # source://simplecov/0.22.0/lib/simplecov.rb#268 def final_result_process?; end - # source://simplecov/0.21.2/lib/simplecov.rb#142 + # source://simplecov/0.22.0/lib/simplecov.rb#142 def grouped(files); end - # source://simplecov/0.21.2/lib/simplecov.rb#162 + # source://simplecov/0.22.0/lib/simplecov.rb#162 def load_adapter(name); end - # source://simplecov/0.21.2/lib/simplecov.rb#158 + # source://simplecov/0.22.0/lib/simplecov.rb#158 def load_profile(name); end - # source://simplecov/0.21.2/lib/simplecov.rb#24 + # source://simplecov/0.22.0/lib/simplecov.rb#24 def pid; end - # source://simplecov/0.21.2/lib/simplecov.rb#24 + # source://simplecov/0.22.0/lib/simplecov.rb#24 def pid=(_arg0); end - # source://simplecov/0.21.2/lib/simplecov.rb#213 + # source://simplecov/0.22.0/lib/simplecov.rb#213 def previous_error?(error_exit_status); end - # source://simplecov/0.21.2/lib/simplecov.rb#248 + # source://simplecov/0.22.0/lib/simplecov.rb#248 def process_result(result); end - # source://simplecov/0.21.2/lib/simplecov.rb#233 + # source://simplecov/0.22.0/lib/simplecov.rb#233 def process_results_and_report_error; end - # source://simplecov/0.21.2/lib/simplecov.rb#229 + # source://simplecov/0.22.0/lib/simplecov.rb#229 def ready_to_process_results?; end - # source://simplecov/0.21.2/lib/simplecov.rb#101 + # source://simplecov/0.22.0/lib/simplecov.rb#101 def result; end - # source://simplecov/0.21.2/lib/simplecov.rb#124 + # source://simplecov/0.22.0/lib/simplecov.rb#124 def result?; end - # source://simplecov/0.21.2/lib/simplecov.rb#256 + # source://simplecov/0.22.0/lib/simplecov.rb#256 def result_exit_status(result); end - # source://simplecov/0.21.2/lib/simplecov.rb#296 + # source://simplecov/0.22.0/lib/simplecov.rb#296 def round_coverage(coverage); end - # source://simplecov/0.21.2/lib/simplecov.rb#186 + # source://simplecov/0.22.0/lib/simplecov.rb#186 def run_exit_tasks!; end - # source://simplecov/0.21.2/lib/simplecov.rb#24 + # source://simplecov/0.22.0/lib/simplecov.rb#24 def running; end - # source://simplecov/0.21.2/lib/simplecov.rb#24 + # source://simplecov/0.22.0/lib/simplecov.rb#24 def running=(_arg0); end - # source://simplecov/0.21.2/lib/simplecov.rb#48 + # source://simplecov/0.22.0/lib/simplecov.rb#48 def start(profile = T.unsafe(nil), &block); end - # source://simplecov/0.21.2/lib/simplecov.rb#276 + # source://simplecov/0.22.0/lib/simplecov.rb#276 def wait_for_other_processes; end - # source://simplecov/0.21.2/lib/simplecov.rb#285 + # source://simplecov/0.22.0/lib/simplecov.rb#285 def write_last_run(result); end private - # source://simplecov/0.21.2/lib/simplecov.rb#397 + # source://simplecov/0.22.0/lib/simplecov.rb#399 def adapt_coverage_result; end - # source://simplecov/0.21.2/lib/simplecov.rb#369 + # source://simplecov/0.22.0/lib/simplecov.rb#371 def add_not_loaded_files(result); end - # source://simplecov/0.21.2/lib/simplecov.rb#302 + # source://simplecov/0.22.0/lib/simplecov.rb#302 def initial_setup(profile, &block); end - # source://simplecov/0.21.2/lib/simplecov.rb#361 + # source://simplecov/0.22.0/lib/simplecov.rb#363 def lookup_corresponding_ruby_coverage_name(criterion); end - # source://simplecov/0.21.2/lib/simplecov.rb#423 + # source://simplecov/0.22.0/lib/simplecov.rb#425 def make_parallel_tests_available; end - # source://simplecov/0.21.2/lib/simplecov.rb#432 + # source://simplecov/0.22.0/lib/simplecov.rb#434 def probably_running_parallel_tests?; end - # source://simplecov/0.21.2/lib/simplecov.rb#386 + # source://simplecov/0.22.0/lib/simplecov.rb#388 def process_coverage_result; end - # source://simplecov/0.21.2/lib/simplecov.rb#408 + # source://simplecov/0.22.0/lib/simplecov.rb#410 def remove_useless_results; end - # source://simplecov/0.21.2/lib/simplecov.rb#418 + # source://simplecov/0.22.0/lib/simplecov.rb#420 def result_with_not_loaded_files; end - # source://simplecov/0.21.2/lib/simplecov.rb#314 + # source://simplecov/0.22.0/lib/simplecov.rb#314 def start_coverage_measurement; end - # source://simplecov/0.21.2/lib/simplecov.rb#349 + # source://simplecov/0.22.0/lib/simplecov.rb#349 def start_coverage_with_criteria; end end end @@ -134,7 +134,7 @@ end # source://simplecov-html//lib/simplecov-html.rb#17 module SimpleCov::Formatter class << self - # source://simplecov/0.21.2/lib/simplecov/default_formatter.rb#7 + # source://simplecov/0.22.0/lib/simplecov/default_formatter.rb#7 def from_env(env); end end end @@ -214,6 +214,3 @@ end # source://simplecov-html//lib/simplecov-html/version.rb#6 SimpleCov::Formatter::HTMLFormatter::VERSION = T.let(T.unsafe(nil), String) - -# source://simplecov/0.21.2/lib/simplecov/version.rb#4 -SimpleCov::VERSION = T.let(T.unsafe(nil), String) diff --git a/sorbet/rbi/gems/simplecov_json_formatter@0.1.4.rbi b/sorbet/rbi/gems/simplecov_json_formatter@0.1.4.rbi index 4b5c6ae..06a35c3 100644 --- a/sorbet/rbi/gems/simplecov_json_formatter@0.1.4.rbi +++ b/sorbet/rbi/gems/simplecov_json_formatter@0.1.4.rbi @@ -4,5 +4,235 @@ # This is an autogenerated file for types exported from the `simplecov_json_formatter` gem. # Please instead update this file by running `bin/tapioca gem simplecov_json_formatter`. -# THIS IS AN EMPTY RBI FILE. -# see https://github.com/Shopify/tapioca#manually-requiring-parts-of-a-gem +# source://simplecov_json_formatter//lib/simplecov_json_formatter.rb#7 +module SimpleCov + class << self + # source://simplecov/0.22.0/lib/simplecov.rb#174 + def at_exit_behavior; end + + # source://simplecov/0.22.0/lib/simplecov.rb#170 + def clear_result; end + + # source://simplecov/0.22.0/lib/simplecov.rb#86 + def collate(result_filenames, profile = T.unsafe(nil), ignore_timeout: T.unsafe(nil), &block); end + + # source://simplecov/0.22.0/lib/simplecov.rb#223 + def exit_and_report_previous_error(exit_status); end + + # source://simplecov/0.22.0/lib/simplecov.rb#200 + def exit_status_from_exception; end + + # source://simplecov/0.22.0/lib/simplecov.rb#28 + def external_at_exit; end + + # source://simplecov/0.22.0/lib/simplecov.rb#28 + def external_at_exit=(_arg0); end + + # source://simplecov/0.22.0/lib/simplecov.rb#28 + def external_at_exit?; end + + # source://simplecov/0.22.0/lib/simplecov.rb#131 + def filtered(files); end + + # source://simplecov/0.22.0/lib/simplecov.rb#268 + def final_result_process?; end + + # source://simplecov/0.22.0/lib/simplecov.rb#142 + def grouped(files); end + + # source://simplecov/0.22.0/lib/simplecov.rb#162 + def load_adapter(name); end + + # source://simplecov/0.22.0/lib/simplecov.rb#158 + def load_profile(name); end + + # source://simplecov/0.22.0/lib/simplecov.rb#24 + def pid; end + + # source://simplecov/0.22.0/lib/simplecov.rb#24 + def pid=(_arg0); end + + # source://simplecov/0.22.0/lib/simplecov.rb#213 + def previous_error?(error_exit_status); end + + # source://simplecov/0.22.0/lib/simplecov.rb#248 + def process_result(result); end + + # source://simplecov/0.22.0/lib/simplecov.rb#233 + def process_results_and_report_error; end + + # source://simplecov/0.22.0/lib/simplecov.rb#229 + def ready_to_process_results?; end + + # source://simplecov/0.22.0/lib/simplecov.rb#101 + def result; end + + # source://simplecov/0.22.0/lib/simplecov.rb#124 + def result?; end + + # source://simplecov/0.22.0/lib/simplecov.rb#256 + def result_exit_status(result); end + + # source://simplecov/0.22.0/lib/simplecov.rb#296 + def round_coverage(coverage); end + + # source://simplecov/0.22.0/lib/simplecov.rb#186 + def run_exit_tasks!; end + + # source://simplecov/0.22.0/lib/simplecov.rb#24 + def running; end + + # source://simplecov/0.22.0/lib/simplecov.rb#24 + def running=(_arg0); end + + # source://simplecov/0.22.0/lib/simplecov.rb#48 + def start(profile = T.unsafe(nil), &block); end + + # source://simplecov/0.22.0/lib/simplecov.rb#276 + def wait_for_other_processes; end + + # source://simplecov/0.22.0/lib/simplecov.rb#285 + def write_last_run(result); end + + private + + # source://simplecov/0.22.0/lib/simplecov.rb#399 + def adapt_coverage_result; end + + # source://simplecov/0.22.0/lib/simplecov.rb#371 + def add_not_loaded_files(result); end + + # source://simplecov/0.22.0/lib/simplecov.rb#302 + def initial_setup(profile, &block); end + + # source://simplecov/0.22.0/lib/simplecov.rb#363 + def lookup_corresponding_ruby_coverage_name(criterion); end + + # source://simplecov/0.22.0/lib/simplecov.rb#425 + def make_parallel_tests_available; end + + # source://simplecov/0.22.0/lib/simplecov.rb#434 + def probably_running_parallel_tests?; end + + # source://simplecov/0.22.0/lib/simplecov.rb#388 + def process_coverage_result; end + + # source://simplecov/0.22.0/lib/simplecov.rb#410 + def remove_useless_results; end + + # source://simplecov/0.22.0/lib/simplecov.rb#420 + def result_with_not_loaded_files; end + + # source://simplecov/0.22.0/lib/simplecov.rb#314 + def start_coverage_measurement; end + + # source://simplecov/0.22.0/lib/simplecov.rb#349 + def start_coverage_with_criteria; end + end +end + +# source://simplecov_json_formatter//lib/simplecov_json_formatter.rb#8 +module SimpleCov::Formatter + class << self + # source://simplecov/0.22.0/lib/simplecov/default_formatter.rb#7 + def from_env(env); end + end +end + +# source://simplecov_json_formatter//lib/simplecov_json_formatter.rb#9 +class SimpleCov::Formatter::JSONFormatter + # source://simplecov_json_formatter//lib/simplecov_json_formatter.rb#10 + def format(result); end + + private + + # source://simplecov_json_formatter//lib/simplecov_json_formatter.rb#25 + def export_formatted_result(result_hash); end + + # source://simplecov_json_formatter//lib/simplecov_json_formatter.rb#20 + def format_result(result); end + + # source://simplecov_json_formatter//lib/simplecov_json_formatter.rb#30 + def output_message(result); end +end + +# source://simplecov_json_formatter//lib/simplecov_json_formatter/source_file_formatter.rb#3 +module SimpleCovJSONFormatter; end + +# source://simplecov_json_formatter//lib/simplecov_json_formatter/result_exporter.rb#4 +class SimpleCovJSONFormatter::ResultExporter + # @return [ResultExporter] a new instance of ResultExporter + # + # source://simplecov_json_formatter//lib/simplecov_json_formatter/result_exporter.rb#7 + def initialize(result_hash); end + + # source://simplecov_json_formatter//lib/simplecov_json_formatter/result_exporter.rb#11 + def export; end + + private + + # source://simplecov_json_formatter//lib/simplecov_json_formatter/result_exporter.rb#23 + def export_path; end + + # source://simplecov_json_formatter//lib/simplecov_json_formatter/result_exporter.rb#19 + def json_result; end +end + +# source://simplecov_json_formatter//lib/simplecov_json_formatter/result_exporter.rb#5 +SimpleCovJSONFormatter::ResultExporter::FILENAME = T.let(T.unsafe(nil), String) + +# source://simplecov_json_formatter//lib/simplecov_json_formatter/result_hash_formatter.rb#6 +class SimpleCovJSONFormatter::ResultHashFormatter + # @return [ResultHashFormatter] a new instance of ResultHashFormatter + # + # source://simplecov_json_formatter//lib/simplecov_json_formatter/result_hash_formatter.rb#7 + def initialize(result); end + + # source://simplecov_json_formatter//lib/simplecov_json_formatter/result_hash_formatter.rb#11 + def format; end + + private + + # source://simplecov_json_formatter//lib/simplecov_json_formatter/result_hash_formatter.rb#20 + def format_files; end + + # source://simplecov_json_formatter//lib/simplecov_json_formatter/result_hash_formatter.rb#27 + def format_groups; end + + # source://simplecov_json_formatter//lib/simplecov_json_formatter/result_hash_formatter.rb#47 + def format_source_file(source_file); end + + # source://simplecov_json_formatter//lib/simplecov_json_formatter/result_hash_formatter.rb#37 + def formatted_result; end +end + +# source://simplecov_json_formatter//lib/simplecov_json_formatter/source_file_formatter.rb#4 +class SimpleCovJSONFormatter::SourceFileFormatter + # @return [SourceFileFormatter] a new instance of SourceFileFormatter + # + # source://simplecov_json_formatter//lib/simplecov_json_formatter/source_file_formatter.rb#5 + def initialize(source_file); end + + # source://simplecov_json_formatter//lib/simplecov_json_formatter/source_file_formatter.rb#10 + def format; end + + private + + # source://simplecov_json_formatter//lib/simplecov_json_formatter/source_file_formatter.rb#26 + def branch_coverage; end + + # source://simplecov_json_formatter//lib/simplecov_json_formatter/source_file_formatter.rb#41 + def branches; end + + # source://simplecov_json_formatter//lib/simplecov_json_formatter/source_file_formatter.rb#20 + def line_coverage; end + + # source://simplecov_json_formatter//lib/simplecov_json_formatter/source_file_formatter.rb#32 + def lines; end + + # source://simplecov_json_formatter//lib/simplecov_json_formatter/source_file_formatter.rb#56 + def parse_branch(branch); end + + # source://simplecov_json_formatter//lib/simplecov_json_formatter/source_file_formatter.rb#50 + def parse_line(line); end +end diff --git a/sorbet/rbi/gems/syntax_tree@6.1.1.rbi b/sorbet/rbi/gems/syntax_tree@6.1.1.rbi new file mode 100644 index 0000000..d8f68fe --- /dev/null +++ b/sorbet/rbi/gems/syntax_tree@6.1.1.rbi @@ -0,0 +1,22855 @@ +# typed: true + +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `syntax_tree` gem. +# Please instead update this file by running `bin/tapioca gem syntax_tree`. + +# Syntax Tree is a suite of tools built on top of the internal CRuby parser. It +# provides the ability to generate a syntax tree from source, as well as the +# tools necessary to inspect and manipulate that syntax tree. It can be used to +# build formatters, linters, language servers, and more. +# +# source://syntax_tree//lib/syntax_tree/node.rb#3 +module SyntaxTree + class << self + # Parses the given source and returns the formatted source. + # + # source://syntax_tree//lib/syntax_tree.rb#59 + def format(source, maxwidth = T.unsafe(nil), base_indentation = T.unsafe(nil), options: T.unsafe(nil)); end + + # Parses the given file and returns the formatted source. + # + # source://syntax_tree//lib/syntax_tree.rb#75 + def format_file(filepath, maxwidth = T.unsafe(nil), base_indentation = T.unsafe(nil), options: T.unsafe(nil)); end + + # Accepts a node in the tree and returns the formatted source. + # + # source://syntax_tree//lib/syntax_tree.rb#85 + def format_node(source, node, maxwidth = T.unsafe(nil), base_indentation = T.unsafe(nil), options: T.unsafe(nil)); end + + # Indexes the given source code to return a list of all class, module, and + # method definitions. Used to quickly provide indexing capability for IDEs or + # documentation generation. + # + # source://syntax_tree//lib/syntax_tree.rb#102 + def index(source); end + + # Indexes the given file to return a list of all class, module, and method + # definitions. Used to quickly provide indexing capability for IDEs or + # documentation generation. + # + # source://syntax_tree//lib/syntax_tree.rb#109 + def index_file(filepath); end + + # A convenience method for creating a new mutation visitor. + # + # @yield [visitor] + # + # source://syntax_tree//lib/syntax_tree.rb#114 + def mutation; end + + # Parses the given source and returns the syntax tree. + # + # source://syntax_tree//lib/syntax_tree.rb#121 + def parse(source); end + + # Parses the given file and returns the syntax tree. + # + # source://syntax_tree//lib/syntax_tree.rb#128 + def parse_file(filepath); end + + # Returns the source from the given filepath taking into account any potential + # magic encoding comments. + # + # source://syntax_tree//lib/syntax_tree.rb#134 + def read(filepath); end + + # This is a hook provided so that plugins can register themselves as the + # handler for a particular file type. + # + # source://syntax_tree//lib/syntax_tree.rb#149 + def register_handler(extension, handler); end + + # Searches through the given source using the given pattern and yields each + # node in the tree that matches the pattern to the given block. + # + # source://syntax_tree//lib/syntax_tree.rb#155 + def search(source, query, &block); end + + # Searches through the given file using the given pattern and yields each + # node in the tree that matches the pattern to the given block. + # + # source://syntax_tree//lib/syntax_tree.rb#164 + def search_file(filepath, query, &block); end + end +end + +# ARef represents when you're pulling a value out of a collection at a +# specific index. Put another way, it's any time you're calling the method +# #[]. +# +# collection[index] +# +# The nodes usually contains two children, the collection and the index. In +# some cases, you don't necessarily have the second child node, because you +# can call procs with a pretty esoteric syntax. In the following example, you +# wouldn't have a second child node: +# +# collection[] +# +# source://syntax_tree//lib/syntax_tree/node.rb#567 +class SyntaxTree::ARef < ::SyntaxTree::Node + # @return [ARef] a new instance of ARef + # + # source://syntax_tree//lib/syntax_tree/node.rb#577 + def initialize(collection:, index:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#632 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#584 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#588 + def child_nodes; end + + # [Node] the value being indexed + # + # source://syntax_tree//lib/syntax_tree/node.rb#569 + def collection; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#575 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#592 + def copy(collection: T.unsafe(nil), index: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#588 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#606 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#615 + def format(q); end + + # [nil | Args] the value being passed within the brackets + # + # source://syntax_tree//lib/syntax_tree/node.rb#572 + def index; end +end + +# ARefField represents assigning values into collections at specific indices. +# Put another way, it's any time you're calling the method #[]=. The +# ARefField node itself is just the left side of the assignment, and they're +# always wrapped in assign nodes. +# +# collection[index] = value +# +# source://syntax_tree//lib/syntax_tree/node.rb#645 +class SyntaxTree::ARefField < ::SyntaxTree::Node + # @return [ARefField] a new instance of ARefField + # + # source://syntax_tree//lib/syntax_tree/node.rb#655 + def initialize(collection:, index:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#710 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#662 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#666 + def child_nodes; end + + # [Node] the value being indexed + # + # source://syntax_tree//lib/syntax_tree/node.rb#647 + def collection; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#653 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#670 + def copy(collection: T.unsafe(nil), index: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#666 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#684 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#693 + def format(q); end + + # [nil | Args] the value being passed within the brackets + # + # source://syntax_tree//lib/syntax_tree/node.rb#650 + def index; end +end + +# Alias represents the use of the +alias+ keyword with regular arguments (not +# global variables). The +alias+ keyword is used to make a method respond to +# another name as well as the current one. +# +# alias aliased_name name +# +# For the example above, in the current context you can now call aliased_name +# and it will execute the name method. When you're aliasing two methods, you +# can either provide bare words (like the example above) or you can provide +# symbols (note that this includes dynamic symbols like +# :"left-#{middle}-right"). +# +# source://syntax_tree//lib/syntax_tree/node.rb#458 +class SyntaxTree::AliasNode < ::SyntaxTree::Node + # @return [AliasNode] a new instance of AliasNode + # + # source://syntax_tree//lib/syntax_tree/node.rb#496 + def initialize(left:, right:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#545 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#503 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#507 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#494 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#511 + def copy(left: T.unsafe(nil), right: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#507 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#525 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#529 + def format(q); end + + # [DynaSymbol | GVar | SymbolLiteral] the new name of the method + # + # source://syntax_tree//lib/syntax_tree/node.rb#488 + def left; end + + # [Backref | DynaSymbol | GVar | SymbolLiteral] the old name of the method + # + # source://syntax_tree//lib/syntax_tree/node.rb#491 + def right; end + + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/node.rb#549 + def var_alias?; end +end + +# Formats an argument to the alias keyword. For symbol literals it uses the +# value of the symbol directly to look like bare words. +# +# source://syntax_tree//lib/syntax_tree/node.rb#461 +class SyntaxTree::AliasNode::AliasArgumentFormatter + # @return [AliasArgumentFormatter] a new instance of AliasArgumentFormatter + # + # source://syntax_tree//lib/syntax_tree/node.rb#466 + def initialize(argument); end + + # [Backref | DynaSymbol | GVar | SymbolLiteral] the argument being passed + # to alias + # + # source://syntax_tree//lib/syntax_tree/node.rb#464 + def argument; end + + # source://syntax_tree//lib/syntax_tree/node.rb#470 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#478 + def format(q); end +end + +# ArgBlock represents using a block operator on an expression. +# +# method(&expression) +# +# source://syntax_tree//lib/syntax_tree/node.rb#887 +class SyntaxTree::ArgBlock < ::SyntaxTree::Node + # @return [ArgBlock] a new instance of ArgBlock + # + # source://syntax_tree//lib/syntax_tree/node.rb#894 + def initialize(value:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#930 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#900 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#904 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#892 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#908 + def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#904 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#921 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#925 + def format(q); end + + # [nil | Node] the expression being turned into a block + # + # source://syntax_tree//lib/syntax_tree/node.rb#889 + def value; end +end + +# ArgParen represents wrapping arguments to a method inside a set of +# parentheses. +# +# method(argument) +# +# In the example above, there would be an ArgParen node around the Args node +# that represents the set of arguments being sent to the method method. The +# argument child node can be +nil+ if no arguments were passed, as in: +# +# method() +# +# source://syntax_tree//lib/syntax_tree/node.rb#727 +class SyntaxTree::ArgParen < ::SyntaxTree::Node + # @return [ArgParen] a new instance of ArgParen + # + # source://syntax_tree//lib/syntax_tree/node.rb#735 + def initialize(arguments:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#784 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#741 + def accept(visitor); end + + # [nil | Args | ArgsForward] the arguments inside the + # parentheses + # + # source://syntax_tree//lib/syntax_tree/node.rb#730 + def arguments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#788 + def arity; end + + # source://syntax_tree//lib/syntax_tree/node.rb#745 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#733 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#749 + def copy(arguments: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#745 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#762 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#766 + def format(q); end + + private + + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/node.rb#794 + def trailing_comma?; end +end + +# Star represents using a splat operator on an expression. +# +# method(*arguments) +# +# source://syntax_tree//lib/syntax_tree/node.rb#939 +class SyntaxTree::ArgStar < ::SyntaxTree::Node + # @return [ArgStar] a new instance of ArgStar + # + # source://syntax_tree//lib/syntax_tree/node.rb#946 + def initialize(value:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#982 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#952 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#956 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#944 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#960 + def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#956 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#973 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#977 + def format(q); end + + # [nil | Node] the expression being splatted + # + # source://syntax_tree//lib/syntax_tree/node.rb#941 + def value; end +end + +# Args represents a list of arguments being passed to a method call or array +# literal. +# +# method(first, second, third) +# +# source://syntax_tree//lib/syntax_tree/node.rb#821 +class SyntaxTree::Args < ::SyntaxTree::Node + # @return [Args] a new instance of Args + # + # source://syntax_tree//lib/syntax_tree/node.rb#828 + def initialize(parts:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#863 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#834 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#867 + def arity; end + + # source://syntax_tree//lib/syntax_tree/node.rb#838 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#826 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#842 + def copy(parts: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#838 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#855 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#859 + def format(q); end + + # [Array[ Node ]] the arguments that this node wraps + # + # source://syntax_tree//lib/syntax_tree/node.rb#823 + def parts; end +end + +# ArgsForward represents forwarding all kinds of arguments onto another method +# call. +# +# def request(method, path, **headers, &block); end +# +# def get(...) +# request(:GET, ...) +# end +# +# def post(...) +# request(:POST, ...) +# end +# +# In the example above, both the get and post methods are forwarding all of +# their arguments (positional, keyword, and block) on to the request method. +# The ArgsForward node appears in both the caller (the request method calls) +# and the callee (the get and post definitions). +# +# source://syntax_tree//lib/syntax_tree/node.rb#1004 +class SyntaxTree::ArgsForward < ::SyntaxTree::Node + # @return [ArgsForward] a new instance of ArgsForward + # + # source://syntax_tree//lib/syntax_tree/node.rb#1008 + def initialize(location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#1038 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#1013 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#1042 + def arity; end + + # source://syntax_tree//lib/syntax_tree/node.rb#1017 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#1006 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#1021 + def copy(location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#1017 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#1030 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#1034 + def format(q); end +end + +# ArrayLiteral represents an array literal, which can optionally contain +# elements. +# +# [] +# [one, two, three] +# +# source://syntax_tree//lib/syntax_tree/node.rb#1053 +class SyntaxTree::ArrayLiteral < ::SyntaxTree::Node + # @return [ArrayLiteral] a new instance of ArrayLiteral + # + # source://syntax_tree//lib/syntax_tree/node.rb#1153 + def initialize(lbracket:, contents:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#1229 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#1160 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#1164 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#1151 + def comments; end + + # [nil | Args] the contents of the array + # + # source://syntax_tree//lib/syntax_tree/node.rb#1148 + def contents; end + + # source://syntax_tree//lib/syntax_tree/node.rb#1168 + def copy(lbracket: T.unsafe(nil), contents: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#1164 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#1182 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#1191 + def format(q); end + + # [nil | LBracket | QSymbolsBeg | QWordsBeg | SymbolsBeg | WordsBeg] the + # bracket that opens this array + # + # source://syntax_tree//lib/syntax_tree/node.rb#1145 + def lbracket; end + + private + + # If we have an empty array that contains only comments, then we're going + # to do some special printing to ensure they get indented correctly. + # + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/node.rb#1259 + def empty_with_comments?; end + + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/node.rb#1251 + def qsymbols?; end + + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/node.rb#1236 + def qwords?; end +end + +# source://syntax_tree//lib/syntax_tree/node.rb#1063 +SyntaxTree::ArrayLiteral::BREAKABLE_SPACE_SEPARATOR = T.let(T.unsafe(nil), SyntaxTree::ArrayLiteral::BreakableSpaceSeparator) + +# It's very common to use seplist with ->(q) { q.breakable_space }. We wrap +# that pattern into an object to cut down on having to create a bunch of +# lambdas all over the place. +# +# source://syntax_tree//lib/syntax_tree/node.rb#1057 +class SyntaxTree::ArrayLiteral::BreakableSpaceSeparator + # source://syntax_tree//lib/syntax_tree/node.rb#1058 + def call(q); end +end + +# This is a special formatter used if the array literal contains no values +# but _does_ contain comments. In this case we do some special formatting to +# make sure the comments gets indented properly. +# +# source://syntax_tree//lib/syntax_tree/node.rb#1120 +class SyntaxTree::ArrayLiteral::EmptyWithCommentsFormatter + # @return [EmptyWithCommentsFormatter] a new instance of EmptyWithCommentsFormatter + # + # source://syntax_tree//lib/syntax_tree/node.rb#1124 + def initialize(lbracket); end + + # source://syntax_tree//lib/syntax_tree/node.rb#1128 + def format(q); end + + # [LBracket] the opening bracket + # + # source://syntax_tree//lib/syntax_tree/node.rb#1122 + def lbracket; end +end + +# Formats an array of multiple simple symbol literals into the %i syntax. +# +# source://syntax_tree//lib/syntax_tree/node.rb#1094 +class SyntaxTree::ArrayLiteral::QSymbolsFormatter + # @return [QSymbolsFormatter] a new instance of QSymbolsFormatter + # + # source://syntax_tree//lib/syntax_tree/node.rb#1098 + def initialize(contents); end + + # [Args] the contents of the array + # + # source://syntax_tree//lib/syntax_tree/node.rb#1096 + def contents; end + + # source://syntax_tree//lib/syntax_tree/node.rb#1102 + def format(q); end +end + +# Formats an array of multiple simple string literals into the %w syntax. +# +# source://syntax_tree//lib/syntax_tree/node.rb#1066 +class SyntaxTree::ArrayLiteral::QWordsFormatter + # @return [QWordsFormatter] a new instance of QWordsFormatter + # + # source://syntax_tree//lib/syntax_tree/node.rb#1070 + def initialize(contents); end + + # [Args] the contents of the array + # + # source://syntax_tree//lib/syntax_tree/node.rb#1068 + def contents; end + + # source://syntax_tree//lib/syntax_tree/node.rb#1074 + def format(q); end +end + +# When we're implementing the === operator for a node, we oftentimes need to +# compare two arrays. We want to skip over the === definition of array and use +# our own here, so we do that using this module. +# +# source://syntax_tree//lib/syntax_tree/node.rb#157 +module SyntaxTree::ArrayMatch + class << self + # source://syntax_tree//lib/syntax_tree/node.rb#158 + def call(left, right); end + end +end + +# AryPtn represents matching against an array pattern using the Ruby 2.7+ +# pattern matching syntax. It’s one of the more complicated nodes, because +# the four parameters that it accepts can almost all be nil. +# +# case [1, 2, 3] +# in [Integer, Integer] +# "matched" +# in Container[Integer, Integer] +# "matched" +# in [Integer, *, Integer] +# "matched" +# end +# +# An AryPtn node is created with four parameters: an optional constant +# wrapper, an array of positional matches, an optional splat with identifier, +# and an optional array of positional matches that occur after the splat. +# All of the in clauses above would create an AryPtn node. +# +# source://syntax_tree//lib/syntax_tree/node.rb#1282 +class SyntaxTree::AryPtn < ::SyntaxTree::Node + # @return [AryPtn] a new instance of AryPtn + # + # source://syntax_tree//lib/syntax_tree/node.rb#1320 + def initialize(constant:, requireds:, rest:, posts:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#1388 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#1329 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#1333 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#1318 + def comments; end + + # [nil | VarRef] the optional constant wrapper + # + # source://syntax_tree//lib/syntax_tree/node.rb#1303 + def constant; end + + # source://syntax_tree//lib/syntax_tree/node.rb#1337 + def copy(constant: T.unsafe(nil), requireds: T.unsafe(nil), rest: T.unsafe(nil), posts: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#1333 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#1359 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#1370 + def format(q); end + + # [Array[ Node ]] the list of positional arguments occurring after the + # optional star if there is one + # + # source://syntax_tree//lib/syntax_tree/node.rb#1315 + def posts; end + + # [Array[ Node ]] the regular positional arguments that this array + # pattern is matching against + # + # source://syntax_tree//lib/syntax_tree/node.rb#1307 + def requireds; end + + # [nil | VarField] the optional starred identifier that grabs up a list of + # positional arguments + # + # source://syntax_tree//lib/syntax_tree/node.rb#1311 + def rest; end +end + +# Formats the optional splat of an array pattern. +# +# source://syntax_tree//lib/syntax_tree/node.rb#1284 +class SyntaxTree::AryPtn::RestFormatter + # @return [RestFormatter] a new instance of RestFormatter + # + # source://syntax_tree//lib/syntax_tree/node.rb#1288 + def initialize(value); end + + # source://syntax_tree//lib/syntax_tree/node.rb#1292 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#1296 + def format(q); end + + # [VarField] the identifier that represents the remaining positionals + # + # source://syntax_tree//lib/syntax_tree/node.rb#1286 + def value; end +end + +# Assign represents assigning something to a variable or constant. Generally, +# the left side of the assignment is going to be any node that ends with the +# name "Field". +# +# variable = value +# +# source://syntax_tree//lib/syntax_tree/node.rb#1418 +class SyntaxTree::Assign < ::SyntaxTree::Node + # @return [Assign] a new instance of Assign + # + # source://syntax_tree//lib/syntax_tree/node.rb#1429 + def initialize(target:, value:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#1479 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#1436 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#1440 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#1427 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#1444 + def copy(target: T.unsafe(nil), value: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#1440 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#1458 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#1462 + def format(q); end + + # [ARefField | ConstPathField | Field | TopConstField | VarField] the target + # to assign the result of the expression to + # + # source://syntax_tree//lib/syntax_tree/node.rb#1421 + def target; end + + # [Node] the expression to be assigned + # + # source://syntax_tree//lib/syntax_tree/node.rb#1424 + def value; end + + private + + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/node.rb#1485 + def skip_indent?; end +end + +# Determins if the following value should be indented or not. +# +# source://syntax_tree//lib/syntax_tree/node.rb#1396 +module SyntaxTree::AssignFormatting + class << self + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/node.rb#1397 + def skip_indent?(value); end + end +end + +# Assoc represents a key-value pair within a hash. It is a child node of +# either an AssocListFromArgs or a BareAssocHash. +# +# { key1: value1, key2: value2 } +# +# In the above example, the would be two Assoc nodes. +# +# source://syntax_tree//lib/syntax_tree/node.rb#1497 +class SyntaxTree::Assoc < ::SyntaxTree::Node + # @return [Assoc] a new instance of Assoc + # + # source://syntax_tree//lib/syntax_tree/node.rb#1507 + def initialize(key:, value:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#1548 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#1514 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#1518 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#1505 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#1522 + def copy(key: T.unsafe(nil), value: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#1518 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#1536 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#1540 + def format(q); end + + # [Node] the key of this pair + # + # source://syntax_tree//lib/syntax_tree/node.rb#1499 + def key; end + + # [nil | Node] the value of this pair + # + # source://syntax_tree//lib/syntax_tree/node.rb#1502 + def value; end + + private + + # source://syntax_tree//lib/syntax_tree/node.rb#1554 + def format_contents(q); end +end + +# AssocSplat represents double-splatting a value into a hash (either a hash +# literal or a bare hash in a method call). +# +# { **pairs } +# +# source://syntax_tree//lib/syntax_tree/node.rb#1575 +class SyntaxTree::AssocSplat < ::SyntaxTree::Node + # @return [AssocSplat] a new instance of AssocSplat + # + # source://syntax_tree//lib/syntax_tree/node.rb#1582 + def initialize(value:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#1618 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#1588 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#1592 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#1580 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#1596 + def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#1592 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#1609 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#1613 + def format(q); end + + # [nil | Node] the expression that is being splatted + # + # source://syntax_tree//lib/syntax_tree/node.rb#1577 + def value; end +end + +# BEGINBlock represents the use of the +BEGIN+ keyword, which hooks into the +# lifecycle of the interpreter. Whatever is inside the block will get executed +# when the program starts. +# +# BEGIN { +# } +# +# Interestingly, the BEGIN keyword doesn't allow the do and end keywords for +# the block. Only braces are permitted. +# +# source://syntax_tree//lib/syntax_tree/node.rb#175 +class SyntaxTree::BEGINBlock < ::SyntaxTree::Node + # @return [BEGINBlock] a new instance of BEGINBlock + # + # source://syntax_tree//lib/syntax_tree/node.rb#185 + def initialize(lbrace:, statements:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#236 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#192 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#196 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#183 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#200 + def copy(lbrace: T.unsafe(nil), statements: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#196 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#214 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#223 + def format(q); end + + # [LBrace] the left brace that is seen after the keyword + # + # source://syntax_tree//lib/syntax_tree/node.rb#177 + def lbrace; end + + # [Statements] the expressions to be executed + # + # source://syntax_tree//lib/syntax_tree/node.rb#180 + def statements; end +end + +# Backref represents a global variable referencing a matched value. It comes +# in the form of a $ followed by a positive integer. +# +# $1 +# +# source://syntax_tree//lib/syntax_tree/node.rb#1628 +class SyntaxTree::Backref < ::SyntaxTree::Node + # @return [Backref] a new instance of Backref + # + # source://syntax_tree//lib/syntax_tree/node.rb#1635 + def initialize(value:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#1670 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#1641 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#1645 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#1633 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#1649 + def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#1645 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#1662 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#1666 + def format(q); end + + # [String] the name of the global backreference variable + # + # source://syntax_tree//lib/syntax_tree/node.rb#1630 + def value; end +end + +# Backtick represents the use of the ` operator. It's usually found being used +# for an XStringLiteral, but could also be found as the name of a method being +# defined. +# +# source://syntax_tree//lib/syntax_tree/node.rb#1678 +class SyntaxTree::Backtick < ::SyntaxTree::Node + # @return [Backtick] a new instance of Backtick + # + # source://syntax_tree//lib/syntax_tree/node.rb#1685 + def initialize(value:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#1720 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#1691 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#1695 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#1683 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#1699 + def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#1695 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#1712 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#1716 + def format(q); end + + # [String] the backtick in the string + # + # source://syntax_tree//lib/syntax_tree/node.rb#1680 + def value; end +end + +# BareAssocHash represents a hash of contents being passed as a method +# argument (and therefore has omitted braces). It's very similar to an +# AssocListFromArgs node. +# +# method(key1: value1, key2: value2) +# +# source://syntax_tree//lib/syntax_tree/node.rb#1834 +class SyntaxTree::BareAssocHash < ::SyntaxTree::Node + # @return [BareAssocHash] a new instance of BareAssocHash + # + # source://syntax_tree//lib/syntax_tree/node.rb#1841 + def initialize(assocs:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#1876 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#1847 + def accept(visitor); end + + # [Array[ Assoc | AssocSplat ]] + # + # source://syntax_tree//lib/syntax_tree/node.rb#1836 + def assocs; end + + # source://syntax_tree//lib/syntax_tree/node.rb#1851 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#1839 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#1855 + def copy(assocs: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#1851 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#1868 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#1872 + def format(q); end + + # source://syntax_tree//lib/syntax_tree/node.rb#1880 + def format_key(q, key); end +end + +# BasicVisitor is the parent class of the Visitor class that provides the +# ability to walk down the tree. It does not define any handlers, so you +# should extend this class if you want your visitor to raise an error if you +# attempt to visit a node that you don't handle. +# +# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#8 +class SyntaxTree::BasicVisitor + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#105 + def visit(node); end + + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#109 + def visit_all(nodes); end + + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_child_nodes(node); end + + class << self + # This is the list of all of the valid visit methods. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#72 + def valid_visit_methods; end + + # This method is here to help folks write visitors. + # + # It's not always easy to ensure you're writing the correct method name in + # the visitor since it's perfectly valid to define methods that don't + # override these parent methods. + # + # If you use this method, you can ensure you're writing the correct method + # name. It will raise an error if the visit method you're defining isn't + # actually a method on the parent visitor. + # + # @raise [VisitMethodError] + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#86 + def visit_method(method_name); end + + # This method is here to help folks write visitors. + # + # Within the given block, every method that is defined will be checked to + # ensure it's a valid visit method using the BasicVisitor::visit_method + # method defined above. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#97 + def visit_methods; end + end +end + +# This class is used by DidYouMean to offer corrections to invalid visit +# method names. +# +# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#22 +class SyntaxTree::BasicVisitor::VisitMethodChecker + # @return [VisitMethodChecker] a new instance of VisitMethodChecker + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#25 + def initialize(error); end + + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#29 + def corrections; end + + # Returns the value of attribute visit_method. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#23 + def visit_method; end +end + +# This is raised when you use the Visitor.visit_method method and it fails. +# It is correctable to through DidYouMean. +# +# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#11 +class SyntaxTree::BasicVisitor::VisitMethodError < ::StandardError + include ::DidYouMean::Correctable + + # @return [VisitMethodError] a new instance of VisitMethodError + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#14 + def initialize(visit_method); end + + # Returns the value of attribute visit_method. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#12 + def visit_method; end +end + +# This module is responsible for checking all of the methods defined within +# a given block to ensure that they are valid visit methods. +# +# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#45 +class SyntaxTree::BasicVisitor::VisitMethodsChecker < ::Module + # @return [VisitMethodsChecker] a new instance of VisitMethodsChecker + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#53 + def initialize; end + + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#65 + def disable!; end + + # This is the status of the checker. It's used to determine whether or not + # we should be checking the methods that are defined. It is kept as an + # instance variable so that it can be disabled later. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#51 + def status; end +end + +# source://syntax_tree//lib/syntax_tree/basic_visitor.rb#46 +class SyntaxTree::BasicVisitor::VisitMethodsChecker::Status < ::Struct + # Returns the value of attribute checking + # + # @return [Object] the current value of checking + def checking; end + + # Sets the attribute checking + # + # @param value [Object] the value to set the attribute checking to. + # @return [Object] the newly set value + def checking=(_); end + + class << self + def [](*_arg0); end + def inspect; end + def keyword_init?; end + def members; end + def new(*_arg0); end + end +end + +# Begin represents a begin..end chain. +# +# begin +# value +# end +# +# source://syntax_tree//lib/syntax_tree/node.rb#1899 +class SyntaxTree::Begin < ::SyntaxTree::Node + # @return [Begin] a new instance of Begin + # + # source://syntax_tree//lib/syntax_tree/node.rb#1906 + def initialize(bodystmt:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#1951 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#1912 + def accept(visitor); end + + # [BodyStmt] the bodystmt that contains the contents of this begin block + # + # source://syntax_tree//lib/syntax_tree/node.rb#1901 + def bodystmt; end + + # source://syntax_tree//lib/syntax_tree/node.rb#1916 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#1904 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#1920 + def copy(bodystmt: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#1916 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#1933 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#1937 + def format(q); end +end + +# Binary represents any expression that involves two sub-expressions with an +# operator in between. This can be something that looks like a mathematical +# operation: +# +# 1 + 1 +# +# but can also be something like pushing a value onto an array: +# +# array << value +# +# source://syntax_tree//lib/syntax_tree/node.rb#2029 +class SyntaxTree::Binary < ::SyntaxTree::Node + # @return [Binary] a new instance of Binary + # + # source://syntax_tree//lib/syntax_tree/node.rb#2056 + def initialize(left:, operator:, right:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#2128 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#2064 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#2068 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#2054 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#2072 + def copy(left: T.unsafe(nil), operator: T.unsafe(nil), right: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#2068 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#2087 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#2097 + def format(q); end + + # [Node] the left-hand side of the expression + # + # source://syntax_tree//lib/syntax_tree/node.rb#2045 + def left; end + + # [Symbol] the operator used between the two expressions + # + # source://syntax_tree//lib/syntax_tree/node.rb#2048 + def operator; end + + # [Node] the right-hand side of the expression + # + # source://syntax_tree//lib/syntax_tree/node.rb#2051 + def right; end +end + +# BlockArg represents declaring a block parameter on a method definition. +# +# def method(&block); end +# +# source://syntax_tree//lib/syntax_tree/node.rb#2227 +class SyntaxTree::BlockArg < ::SyntaxTree::Node + # @return [BlockArg] a new instance of BlockArg + # + # source://syntax_tree//lib/syntax_tree/node.rb#2234 + def initialize(name:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#2270 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#2240 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#2244 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#2232 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#2248 + def copy(name: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#2244 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#2261 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#2265 + def format(q); end + + # [nil | Ident] the name of the block argument + # + # source://syntax_tree//lib/syntax_tree/node.rb#2229 + def name; end +end + +# Block represents passing a block to a method call using the +do+ and +end+ +# keywords or the +{+ and +}+ operators. +# +# method do |value| +# end +# +# method { |value| } +# +# source://syntax_tree//lib/syntax_tree/node.rb#4309 +class SyntaxTree::BlockNode < ::SyntaxTree::Node + # @return [BlockNode] a new instance of BlockNode + # + # source://syntax_tree//lib/syntax_tree/node.rb#4344 + def initialize(opening:, block_var:, bodystmt:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#4417 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#4352 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#4426 + def arity; end + + # [nil | BlockVar] the optional variable declaration within this block + # + # source://syntax_tree//lib/syntax_tree/node.rb#4336 + def block_var; end + + # [BodyStmt | Statements] the expressions to be executed within this block + # + # source://syntax_tree//lib/syntax_tree/node.rb#4339 + def bodystmt; end + + # source://syntax_tree//lib/syntax_tree/node.rb#4356 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#4342 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#4360 + def copy(opening: T.unsafe(nil), block_var: T.unsafe(nil), bodystmt: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#4356 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#4375 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#4385 + def format(q); end + + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/node.rb#4422 + def keywords?; end + + # [LBrace | Kw] the left brace or the do keyword that opens this block + # + # source://syntax_tree//lib/syntax_tree/node.rb#4333 + def opening; end + + private + + # If we're the predicate of a loop or conditional, then we're going to have + # to go with the {..} bounds. + # + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/node.rb#4468 + def forced_brace_bounds?(q); end + + # If we're a sibling of a control-flow keyword, then we're going to have to + # use the do..end bounds. + # + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/node.rb#4457 + def forced_do_end_bounds?(q); end + + # source://syntax_tree//lib/syntax_tree/node.rb#4484 + def format_break(q, break_opening, break_closing); end + + # source://syntax_tree//lib/syntax_tree/node.rb#4504 + def format_flat(q, flat_opening, flat_closing); end + + # If this is nested anywhere inside certain nodes, then we can't change + # which operators/keywords we're using for the bounds of the block. + # + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/node.rb#4439 + def unchangeable_bounds?(q); end +end + +# Formats the opening brace or keyword of a block. +# +# source://syntax_tree//lib/syntax_tree/node.rb#4311 +class SyntaxTree::BlockNode::BlockOpenFormatter + # @return [BlockOpenFormatter] a new instance of BlockOpenFormatter + # + # source://syntax_tree//lib/syntax_tree/node.rb#4318 + def initialize(text, node); end + + # source://syntax_tree//lib/syntax_tree/node.rb#4323 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#4327 + def format(q); end + + # [LBrace | Keyword] the node that is being represented + # + # source://syntax_tree//lib/syntax_tree/node.rb#4316 + def node; end + + # [String] the actual output that should be printed + # + # source://syntax_tree//lib/syntax_tree/node.rb#4313 + def text; end +end + +# BlockVar represents the parameters being declared for a block. Effectively +# this node is everything contained within the pipes. This includes all of the +# various parameter types, as well as block-local variable declarations. +# +# method do |positional, optional = value, keyword:, █ local| +# end +# +# source://syntax_tree//lib/syntax_tree/node.rb#2141 +class SyntaxTree::BlockVar < ::SyntaxTree::Node + # @return [BlockVar] a new instance of BlockVar + # + # source://syntax_tree//lib/syntax_tree/node.rb#2151 + def initialize(params:, locals:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#2209 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#2158 + def accept(visitor); end + + # When a single required parameter is declared for a block, it gets + # automatically expanded if the values being yielded into it are an array. + # + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/node.rb#2216 + def arg0?; end + + # source://syntax_tree//lib/syntax_tree/node.rb#2162 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#2149 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#2166 + def copy(params: T.unsafe(nil), locals: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#2162 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#2180 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#2196 + def format(q); end + + # [Array[ Ident ]] the list of block-local variable declarations + # + # source://syntax_tree//lib/syntax_tree/node.rb#2146 + def locals; end + + # [Params] the parameters being declared with the block + # + # source://syntax_tree//lib/syntax_tree/node.rb#2143 + def params; end +end + +# We'll keep a single instance of this separator around for all block vars +# to cut down on allocations. +# +# source://syntax_tree//lib/syntax_tree/node.rb#2194 +SyntaxTree::BlockVar::SEPARATOR = T.let(T.unsafe(nil), SyntaxTree::BlockVar::Separator) + +# Within the pipes of the block declaration, we don't want any spaces. So +# we'll separate the parameters with a comma and space but no breakables. +# +# source://syntax_tree//lib/syntax_tree/node.rb#2186 +class SyntaxTree::BlockVar::Separator + # source://syntax_tree//lib/syntax_tree/node.rb#2187 + def call(q); end +end + +# bodystmt can't actually determine its bounds appropriately because it +# doesn't necessarily know where it started. So the parent node needs to +# report back down into this one where it goes. +# +# source://syntax_tree//lib/syntax_tree/node.rb#2278 +class SyntaxTree::BodyStmt < ::SyntaxTree::Node + # @return [BodyStmt] a new instance of BodyStmt + # + # source://syntax_tree//lib/syntax_tree/node.rb#2297 + def initialize(statements:, rescue_clause:, else_keyword:, else_clause:, ensure_clause:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#2428 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#2352 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#2314 + def bind(parser, start_char, start_column, end_char, end_column); end + + # source://syntax_tree//lib/syntax_tree/node.rb#2356 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#2295 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#2360 + def copy(statements: T.unsafe(nil), rescue_clause: T.unsafe(nil), else_keyword: T.unsafe(nil), else_clause: T.unsafe(nil), ensure_clause: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#2356 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#2384 + def deconstruct_keys(_keys); end + + # [nil | Statements] the optional set of statements inside the else clause + # + # source://syntax_tree//lib/syntax_tree/node.rb#2289 + def else_clause; end + + # [nil | Kw] the optional else keyword + # + # source://syntax_tree//lib/syntax_tree/node.rb#2286 + def else_keyword; end + + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/node.rb#2348 + def empty?; end + + # [nil | Ensure] the optional ensure clause + # + # source://syntax_tree//lib/syntax_tree/node.rb#2292 + def ensure_clause; end + + # source://syntax_tree//lib/syntax_tree/node.rb#2396 + def format(q); end + + # [nil | Rescue] the optional rescue chain attached to the begin clause + # + # source://syntax_tree//lib/syntax_tree/node.rb#2283 + def rescue_clause; end + + # [Statements] the list of statements inside the begin clause + # + # source://syntax_tree//lib/syntax_tree/node.rb#2280 + def statements; end +end + +# Break represents using the +break+ keyword. +# +# break +# +# It can also optionally accept arguments, as in: +# +# break 1 +# +# source://syntax_tree//lib/syntax_tree/node.rb#2634 +class SyntaxTree::Break < ::SyntaxTree::Node + # @return [Break] a new instance of Break + # + # source://syntax_tree//lib/syntax_tree/node.rb#2641 + def initialize(arguments:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#2676 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#2647 + def accept(visitor); end + + # [Args] the arguments being sent to the keyword + # + # source://syntax_tree//lib/syntax_tree/node.rb#2636 + def arguments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#2651 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#2639 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#2655 + def copy(arguments: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#2651 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#2668 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#2672 + def format(q); end +end + +# CHAR irepresents a single codepoint in the script encoding. +# +# ?a +# +# In the example above, the CHAR node represents the string literal "a". You +# can use control characters with this as well, as in ?\C-a. +# +# source://syntax_tree//lib/syntax_tree/node.rb#248 +class SyntaxTree::CHAR < ::SyntaxTree::Node + # @return [CHAR] a new instance of CHAR + # + # source://syntax_tree//lib/syntax_tree/node.rb#255 + def initialize(value:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#296 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#261 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#265 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#253 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#269 + def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#265 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#282 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#286 + def format(q); end + + # [String] the value of the character literal + # + # source://syntax_tree//lib/syntax_tree/node.rb#250 + def value; end +end + +# CVar represents the use of a class variable. +# +# @@variable +# +# source://syntax_tree//lib/syntax_tree/node.rb#4043 +class SyntaxTree::CVar < ::SyntaxTree::Node + # @return [CVar] a new instance of CVar + # + # source://syntax_tree//lib/syntax_tree/node.rb#4050 + def initialize(value:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#4085 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#4056 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#4060 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#4048 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#4064 + def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#4060 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#4077 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#4081 + def format(q); end + + # [String] the name of the class variable + # + # source://syntax_tree//lib/syntax_tree/node.rb#4045 + def value; end +end + +# This is probably the most complicated formatter in this file. It's +# responsible for formatting chains of method calls, with or without arguments +# or blocks. In general, we want to go from something like +# +# foo.bar.baz +# +# to +# +# foo +# .bar +# .baz +# +# Of course there are a lot of caveats to that, including trailing operators +# when necessary, where comments are places, how blocks are aligned, etc. +# +# source://syntax_tree//lib/syntax_tree/node.rb#2721 +class SyntaxTree::CallChainFormatter + # @return [CallChainFormatter] a new instance of CallChainFormatter + # + # source://syntax_tree//lib/syntax_tree/node.rb#2725 + def initialize(node); end + + # source://syntax_tree//lib/syntax_tree/node.rb#2729 + def format(q); end + + # source://syntax_tree//lib/syntax_tree/node.rb#2795 + def format_chain(q, children); end + + # [CallNode | MethodAddBlock] the top of the call chain + # + # source://syntax_tree//lib/syntax_tree/node.rb#2723 + def node; end + + private + + # For certain nodes, we want to attach directly to the end and don't + # want to indent the first call. So we'll pop off the first children and + # format it separately here. + # + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/node.rb#2895 + def attach_directly?(node); end + + # source://syntax_tree//lib/syntax_tree/node.rb#2905 + def format_child(q, child, skip_comments: T.unsafe(nil), skip_operator: T.unsafe(nil), skip_attached: T.unsafe(nil)); end + + class << self + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/node.rb#2876 + def chained?(node); end + end +end + +# CallNode represents a method call. +# +# receiver.message +# +# source://syntax_tree//lib/syntax_tree/node.rb#2943 +class SyntaxTree::CallNode < ::SyntaxTree::Node + # @return [CallNode] a new instance of CallNode + # + # source://syntax_tree//lib/syntax_tree/node.rb#2959 + def initialize(receiver:, operator:, message:, arguments:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#3054 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#2968 + def accept(visitor); end + + # [nil | ArgParen | Args] the arguments to the method call + # + # source://syntax_tree//lib/syntax_tree/node.rb#2954 + def arguments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#3100 + def arity; end + + # source://syntax_tree//lib/syntax_tree/node.rb#2972 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#2957 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#2981 + def copy(receiver: T.unsafe(nil), operator: T.unsafe(nil), message: T.unsafe(nil), arguments: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#2972 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#3003 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#3014 + def format(q); end + + # Print out the arguments to this call. If there are no arguments, then do + # nothing. + # + # source://syntax_tree//lib/syntax_tree/node.rb#3062 + def format_arguments(q); end + + # source://syntax_tree//lib/syntax_tree/node.rb#3072 + def format_contents(q); end + + # [:call | Backtick | Const | Ident | Op] the message being sent + # + # source://syntax_tree//lib/syntax_tree/node.rb#2951 + def message; end + + # [nil | :"::" | Op | Period] the operator being used to send the message + # + # source://syntax_tree//lib/syntax_tree/node.rb#2948 + def operator; end + + # [nil | Node] the receiver of the method call + # + # source://syntax_tree//lib/syntax_tree/node.rb#2945 + def receiver; end +end + +# Wraps a call operator (which can be a string literal :: or an Op node or a +# Period node) and formats it when called. +# +# source://syntax_tree//lib/syntax_tree/node.rb#2683 +class SyntaxTree::CallOperatorFormatter + # @return [CallOperatorFormatter] a new instance of CallOperatorFormatter + # + # source://syntax_tree//lib/syntax_tree/node.rb#2687 + def initialize(operator); end + + # source://syntax_tree//lib/syntax_tree/node.rb#2691 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#2695 + def format(q); end + + # [:"::" | Op | Period] the operator being formatted + # + # source://syntax_tree//lib/syntax_tree/node.rb#2685 + def operator; end +end + +# Case represents the beginning of a case chain. +# +# case value +# when 1 +# "one" +# when 2 +# "two" +# else +# "number" +# end +# +# source://syntax_tree//lib/syntax_tree/node.rb#3116 +class SyntaxTree::Case < ::SyntaxTree::Node + # @return [Case] a new instance of Case + # + # source://syntax_tree//lib/syntax_tree/node.rb#3129 + def initialize(keyword:, value:, consequent:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#3187 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#3137 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#3141 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#3127 + def comments; end + + # [In | When] the next clause in the chain + # + # source://syntax_tree//lib/syntax_tree/node.rb#3124 + def consequent; end + + # source://syntax_tree//lib/syntax_tree/node.rb#3145 + def copy(keyword: T.unsafe(nil), value: T.unsafe(nil), consequent: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#3141 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#3160 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#3170 + def format(q); end + + # [Kw] the keyword that opens this expression + # + # source://syntax_tree//lib/syntax_tree/node.rb#3118 + def keyword; end + + # [nil | Node] optional value being switched on + # + # source://syntax_tree//lib/syntax_tree/node.rb#3121 + def value; end +end + +# Class represents defining a class using the +class+ keyword. +# +# class Container +# end +# +# Classes can have path names as their class name in case it's being nested +# under a namespace, as in: +# +# class Namespace::Container +# end +# +# Classes can also be defined as a top-level path, in the case that it's +# already in a namespace but you want to define it at the top-level instead, +# as in: +# +# module OtherNamespace +# class ::Namespace::Container +# end +# end +# +# All of these declarations can also have an optional superclass reference, as +# in: +# +# class Child < Parent +# end +# +# That superclass can actually be any Ruby expression, it doesn't necessarily +# need to be a constant, as in: +# +# class Child < method +# end +# +# source://syntax_tree//lib/syntax_tree/node.rb#3312 +class SyntaxTree::ClassDeclaration < ::SyntaxTree::Node + # @return [ClassDeclaration] a new instance of ClassDeclaration + # + # source://syntax_tree//lib/syntax_tree/node.rb#3326 + def initialize(constant:, superclass:, bodystmt:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#3389 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#3334 + def accept(visitor); end + + # [BodyStmt] the expressions to execute within the context of the class + # + # source://syntax_tree//lib/syntax_tree/node.rb#3321 + def bodystmt; end + + # source://syntax_tree//lib/syntax_tree/node.rb#3338 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#3324 + def comments; end + + # [ConstPathRef | ConstRef | TopConstRef] the name of the class being + # defined + # + # source://syntax_tree//lib/syntax_tree/node.rb#3315 + def constant; end + + # source://syntax_tree//lib/syntax_tree/node.rb#3342 + def copy(constant: T.unsafe(nil), superclass: T.unsafe(nil), bodystmt: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#3338 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#3357 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#3367 + def format(q); end + + # [nil | Node] the optional superclass declaration + # + # source://syntax_tree//lib/syntax_tree/node.rb#3318 + def superclass; end + + private + + # source://syntax_tree//lib/syntax_tree/node.rb#3396 + def format_declaration(q); end +end + +# Comma represents the use of the , operator. +# +# source://syntax_tree//lib/syntax_tree/node.rb#3410 +class SyntaxTree::Comma < ::SyntaxTree::Node + # @return [Comma] a new instance of Comma + # + # source://syntax_tree//lib/syntax_tree/node.rb#3414 + def initialize(value:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#3437 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#3419 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#3423 + def child_nodes; end + + # source://syntax_tree//lib/syntax_tree/node.rb#3427 + def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#3423 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#3433 + def deconstruct_keys(_keys); end + + # [String] the comma in the string + # + # source://syntax_tree//lib/syntax_tree/node.rb#3412 + def value; end +end + +# Command represents a method call with arguments and no parentheses. Note +# that Command nodes only happen when there is no explicit receiver for this +# method. +# +# method argument +# +# source://syntax_tree//lib/syntax_tree/node.rb#3448 +class SyntaxTree::Command < ::SyntaxTree::Node + # @return [Command] a new instance of Command + # + # source://syntax_tree//lib/syntax_tree/node.rb#3461 + def initialize(message:, arguments:, block:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#3511 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#3469 + def accept(visitor); end + + # [Args] the arguments being sent with the message + # + # source://syntax_tree//lib/syntax_tree/node.rb#3453 + def arguments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#3516 + def arity; end + + # [nil | BlockNode] the optional block being passed to the method + # + # source://syntax_tree//lib/syntax_tree/node.rb#3456 + def block; end + + # source://syntax_tree//lib/syntax_tree/node.rb#3473 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#3459 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#3477 + def copy(message: T.unsafe(nil), arguments: T.unsafe(nil), block: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#3473 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#3492 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#3502 + def format(q); end + + # [Const | Ident] the message being sent to the implicit receiver + # + # source://syntax_tree//lib/syntax_tree/node.rb#3450 + def message; end + + private + + # source://syntax_tree//lib/syntax_tree/node.rb#3522 + def align(q, node, &block); end +end + +# CommandCall represents a method call on an object with arguments and no +# parentheses. +# +# object.method argument +# +# source://syntax_tree//lib/syntax_tree/node.rb#3560 +class SyntaxTree::CommandCall < ::SyntaxTree::Node + # @return [CommandCall] a new instance of CommandCall + # + # source://syntax_tree//lib/syntax_tree/node.rb#3579 + def initialize(receiver:, operator:, message:, arguments:, block:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#3683 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#3596 + def accept(visitor); end + + # [nil | Args | ArgParen] the arguments going along with the message + # + # source://syntax_tree//lib/syntax_tree/node.rb#3571 + def arguments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#3689 + def arity; end + + # [nil | BlockNode] the block associated with this method call + # + # source://syntax_tree//lib/syntax_tree/node.rb#3574 + def block; end + + # source://syntax_tree//lib/syntax_tree/node.rb#3600 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#3577 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#3604 + def copy(receiver: T.unsafe(nil), operator: T.unsafe(nil), message: T.unsafe(nil), arguments: T.unsafe(nil), block: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#3600 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#3628 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#3640 + def format(q); end + + # [:call | Const | Ident | Op] the message being send + # + # source://syntax_tree//lib/syntax_tree/node.rb#3568 + def message; end + + # [nil | :"::" | Op | Period] the operator used to send the message + # + # source://syntax_tree//lib/syntax_tree/node.rb#3565 + def operator; end + + # [nil | Node] the receiver of the message + # + # source://syntax_tree//lib/syntax_tree/node.rb#3562 + def receiver; end + + private + + # source://syntax_tree//lib/syntax_tree/node.rb#3695 + def argument_alignment(q, doc); end +end + +# Comment represents a comment in the source. +# +# # comment +# +# source://syntax_tree//lib/syntax_tree/node.rb#3722 +class SyntaxTree::Comment < ::SyntaxTree::Node + # @return [Comment] a new instance of Comment + # + # source://syntax_tree//lib/syntax_tree/node.rb#3731 + def initialize(value:, inline:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#3790 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#3764 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#3768 + def child_nodes; end + + # source://syntax_tree//lib/syntax_tree/node.rb#3760 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#3772 + def copy(value: T.unsafe(nil), inline: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#3768 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#3782 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#3786 + def format(q); end + + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/node.rb#3756 + def ignore?; end + + # [boolean] whether or not there is code on the same line as this comment. + # If there is, then inline will be true. + # + # source://syntax_tree//lib/syntax_tree/node.rb#3728 + def inline; end + + # [boolean] whether or not there is code on the same line as this comment. + # If there is, then inline will be true. + # + # source://syntax_tree//lib/syntax_tree/node.rb#3728 + def inline?; end + + # source://syntax_tree//lib/syntax_tree/node.rb#3740 + def leading!; end + + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/node.rb#3744 + def leading?; end + + # source://syntax_tree//lib/syntax_tree/node.rb#3748 + def trailing!; end + + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/node.rb#3752 + def trailing?; end + + # [String] the contents of the comment + # + # source://syntax_tree//lib/syntax_tree/node.rb#3724 + def value; end +end + +# Formats an If or Unless node. +# +# source://syntax_tree//lib/syntax_tree/node.rb#6314 +class SyntaxTree::ConditionalFormatter + # @return [ConditionalFormatter] a new instance of ConditionalFormatter + # + # source://syntax_tree//lib/syntax_tree/node.rb#6321 + def initialize(keyword, node); end + + # source://syntax_tree//lib/syntax_tree/node.rb#6326 + def format(q); end + + # [String] the keyword associated with this conditional + # + # source://syntax_tree//lib/syntax_tree/node.rb#6316 + def keyword; end + + # [If | Unless] the node that is being formatted + # + # source://syntax_tree//lib/syntax_tree/node.rb#6319 + def node; end + + private + + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/node.rb#6450 + def contains_conditional?; end + + # source://syntax_tree//lib/syntax_tree/node.rb#6385 + def format_break(q, force:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#6377 + def format_flat(q); end + + # source://syntax_tree//lib/syntax_tree/node.rb#6405 + def format_ternary(q); end +end + +# Const represents a literal value that _looks_ like a constant. This could +# actually be a reference to a constant: +# +# Constant +# +# It could also be something that looks like a constant in another context, as +# in a method call to a capitalized method: +# +# object.Constant +# +# or a symbol that starts with a capital letter: +# +# :Constant +# +# source://syntax_tree//lib/syntax_tree/node.rb#3809 +class SyntaxTree::Const < ::SyntaxTree::Node + # @return [Const] a new instance of Const + # + # source://syntax_tree//lib/syntax_tree/node.rb#3816 + def initialize(value:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#3851 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#3822 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#3826 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#3814 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#3830 + def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#3826 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#3843 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#3847 + def format(q); end + + # [String] the name of the constant + # + # source://syntax_tree//lib/syntax_tree/node.rb#3811 + def value; end +end + +# ConstPathField represents the child node of some kind of assignment. It +# represents when you're assigning to a constant that is being referenced as +# a child of another variable. +# +# object::Const = value +# +# source://syntax_tree//lib/syntax_tree/node.rb#3862 +class SyntaxTree::ConstPathField < ::SyntaxTree::Node + # @return [ConstPathField] a new instance of ConstPathField + # + # source://syntax_tree//lib/syntax_tree/node.rb#3872 + def initialize(parent:, constant:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#3916 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#3879 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#3883 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#3870 + def comments; end + + # [Const] the constant itself + # + # source://syntax_tree//lib/syntax_tree/node.rb#3867 + def constant; end + + # source://syntax_tree//lib/syntax_tree/node.rb#3887 + def copy(parent: T.unsafe(nil), constant: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#3883 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#3901 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#3910 + def format(q); end + + # [Node] the source of the constant + # + # source://syntax_tree//lib/syntax_tree/node.rb#3864 + def parent; end +end + +# ConstPathRef represents referencing a constant by a path. +# +# object::Const +# +# source://syntax_tree//lib/syntax_tree/node.rb#3926 +class SyntaxTree::ConstPathRef < ::SyntaxTree::Node + # @return [ConstPathRef] a new instance of ConstPathRef + # + # source://syntax_tree//lib/syntax_tree/node.rb#3936 + def initialize(parent:, constant:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#3980 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#3943 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#3947 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#3934 + def comments; end + + # [Const] the constant itself + # + # source://syntax_tree//lib/syntax_tree/node.rb#3931 + def constant; end + + # source://syntax_tree//lib/syntax_tree/node.rb#3951 + def copy(parent: T.unsafe(nil), constant: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#3947 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#3965 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#3974 + def format(q); end + + # [Node] the source of the constant + # + # source://syntax_tree//lib/syntax_tree/node.rb#3928 + def parent; end +end + +# ConstRef represents the name of the constant being used in a class or module +# declaration. +# +# class Container +# end +# +# source://syntax_tree//lib/syntax_tree/node.rb#3992 +class SyntaxTree::ConstRef < ::SyntaxTree::Node + # @return [ConstRef] a new instance of ConstRef + # + # source://syntax_tree//lib/syntax_tree/node.rb#3999 + def initialize(constant:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#4034 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#4005 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#4009 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#3997 + def comments; end + + # [Const] the constant itself + # + # source://syntax_tree//lib/syntax_tree/node.rb#3994 + def constant; end + + # source://syntax_tree//lib/syntax_tree/node.rb#4013 + def copy(constant: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#4009 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#4026 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#4030 + def format(q); end +end + +# If the predicate of a conditional or loop contains an assignment (in which +# case we can't know for certain that that assignment doesn't impact the +# statements inside the conditional) then we can't use the modifier form +# and we must use the block form. +# +# source://syntax_tree//lib/syntax_tree/node.rb#6229 +module SyntaxTree::ContainsAssignment + class << self + # source://syntax_tree//lib/syntax_tree/node.rb#6230 + def call(parent); end + end +end + +# The default indentation level for formatting. We allow changing this so +# that Syntax Tree can format arbitrary parts of a document. +# +# source://syntax_tree//lib/syntax_tree.rb#56 +SyntaxTree::DEFAULT_INDENTATION = T.let(T.unsafe(nil), Integer) + +# This is the default print width when formatting. It can be overridden in the +# CLI by passing the --print-width option or here in the API by passing the +# optional second argument to ::format. +# +# source://syntax_tree//lib/syntax_tree.rb#48 +SyntaxTree::DEFAULT_PRINT_WIDTH = T.let(T.unsafe(nil), Integer) + +# This is the default ruby version that we're going to target for formatting. +# It shouldn't really be changed except in very niche circumstances. +# +# source://syntax_tree//lib/syntax_tree.rb#52 +SyntaxTree::DEFAULT_RUBY_VERSION = T.let(T.unsafe(nil), SyntaxTree::Formatter::SemanticVersion) + +# This module provides shortcuts for creating AST nodes. +# +# source://syntax_tree//lib/syntax_tree/dsl.rb#5 +module SyntaxTree::DSL + # Create a new ARef node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#40 + def ARef(collection, index); end + + # Create a new ARefField node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#45 + def ARefField(collection, index); end + + # Create a new AliasNode node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#35 + def AliasNode(left, right); end + + # Create a new ArgBlock node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#64 + def ArgBlock(value); end + + # Create a new ArgParen node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#54 + def ArgParen(arguments); end + + # Create a new ArgStar node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#69 + def ArgStar(value); end + + # Create a new Args node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#59 + def Args(parts); end + + # Create a new ArgsForward node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#74 + def ArgsForward; end + + # Create a new ArrayLiteral node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#79 + def ArrayLiteral(lbracket, contents); end + + # Create a new AryPtn node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#88 + def AryPtn(constant, requireds, rest, posts); end + + # Create a new Assign node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#99 + def Assign(target, value); end + + # Create a new Assoc node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#104 + def Assoc(key, value); end + + # Create a new AssocSplat node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#109 + def AssocSplat(value); end + + # Create a new BEGINBlock node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#7 + def BEGINBlock(lbrace, statements); end + + # Create a new Backref node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#114 + def Backref(value); end + + # Create a new Backtick node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#119 + def Backtick(value); end + + # Create a new BareAssocHash node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#124 + def BareAssocHash(assocs); end + + # Create a new Begin node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#129 + def Begin(bodystmt); end + + # Create a new Binary node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#139 + def Binary(left, operator, right); end + + # Create a new BlockArg node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#154 + def BlockArg(name); end + + # Create a new BlockNode node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#317 + def BlockNode(opening, block_var, bodystmt); end + + # Create a new BlockVar node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#149 + def BlockVar(params, locals); end + + # Create a new BodyStmt node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#159 + def BodyStmt(statements, rescue_clause, else_keyword, else_clause, ensure_clause); end + + # Create a new Break node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#177 + def Break(arguments); end + + # Create a new CHAR node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#16 + def CHAR(value); end + + # Create a new CVar node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#288 + def CVar(value); end + + # Create a new CallNode node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#182 + def CallNode(receiver, operator, message, arguments); end + + # Create a new Case node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#193 + def Case(keyword, value, consequent); end + + # Create a new ClassDeclaration node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#213 + def ClassDeclaration(constant, superclass, bodystmt, location = T.unsafe(nil)); end + + # Create a new Comma node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#228 + def Comma(value); end + + # Create a new Command node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#233 + def Command(message, arguments, block, location = T.unsafe(nil)); end + + # Create a new CommandCall node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#243 + def CommandCall(receiver, operator, message, arguments, block); end + + # Create a new Comment node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#255 + def Comment(value, inline, location = T.unsafe(nil)); end + + # Create a new Const node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#260 + def Const(value); end + + # Create a new ConstPathField node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#265 + def ConstPathField(parent, constant); end + + # Create a new ConstPathRef node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#274 + def ConstPathRef(parent, constant); end + + # Create a new ConstRef node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#283 + def ConstRef(constant); end + + # Create a new DefNode node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#293 + def DefNode(target, operator, name, params, bodystmt, location = T.unsafe(nil)); end + + # Create a new Defined node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#312 + def Defined(value); end + + # Create a new DynaSymbol node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#337 + def DynaSymbol(parts, quote); end + + # Create a new ENDBlock node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#21 + def ENDBlock(lbrace, statements); end + + # Create a new Else node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#342 + def Else(keyword, statements); end + + # Create a new Elsif node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#351 + def Elsif(predicate, statements, consequent); end + + # Create a new EmbDoc node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#361 + def EmbDoc(value); end + + # Create a new EmbExprBeg node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#366 + def EmbExprBeg(value); end + + # Create a new EmbExprEnd node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#371 + def EmbExprEnd(value); end + + # Create a new EmbVar node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#376 + def EmbVar(value); end + + # Create a new EndContent node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#30 + def EndContent(value); end + + # Create a new Ensure node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#381 + def Ensure(keyword, statements); end + + # Create a new ExcessedComma node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#390 + def ExcessedComma(value); end + + # Create a new Field node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#395 + def Field(parent, operator, name); end + + # Create a new FloatLiteral node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#405 + def FloatLiteral(value); end + + # Create a new FndPtn node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#410 + def FndPtn(constant, left, values, right); end + + # Create a new For node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#421 + def For(index, collection, statements); end + + # Create a new GVar node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#431 + def GVar(value); end + + # Create a new HashLiteral node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#436 + def HashLiteral(lbrace, assocs); end + + # Create a new Heredoc node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#445 + def Heredoc(beginning, ending, dedent, parts); end + + # Create a new HeredocBeg node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#456 + def HeredocBeg(value); end + + # Create a new HeredocEnd node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#461 + def HeredocEnd(value); end + + # Create a new HshPtn node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#466 + def HshPtn(constant, keywords, keyword_rest); end + + # Create a new IVar node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#521 + def IVar(value); end + + # Create a new Ident node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#476 + def Ident(value); end + + # Create a new IfNode node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#481 + def IfNode(predicate, statements, consequent); end + + # Create a new IfOp node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#491 + def IfOp(predicate, truthy, falsy); end + + # Create a new Imaginary node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#501 + def Imaginary(value); end + + # Create a new In node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#506 + def In(pattern, statements, consequent); end + + # Create a new Int node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#516 + def Int(value); end + + # Create a new Kw node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#526 + def Kw(value); end + + # Create a new KwRestParam node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#531 + def KwRestParam(name); end + + # Create a new LBrace node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#560 + def LBrace(value); end + + # Create a new LBracket node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#565 + def LBracket(value); end + + # Create a new LParen node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#570 + def LParen(value); end + + # Create a new Label node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#536 + def Label(value); end + + # Create a new LabelEnd node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#541 + def LabelEnd(value); end + + # Create a new Lambda node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#546 + def Lambda(params, statements); end + + # Create a new LambdaVar node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#555 + def LambdaVar(params, locals); end + + # Create a new MAssign node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#575 + def MAssign(target, value); end + + # Create a new MLHS node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#585 + def MLHS(parts, comma); end + + # Create a new MLHSParen node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#590 + def MLHSParen(contents, comma); end + + # Create a new MRHS node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#608 + def MRHS(parts); end + + # Create a new MethodAddBlock node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#580 + def MethodAddBlock(call, block, location = T.unsafe(nil)); end + + # Create a new ModuleDeclaration node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#599 + def ModuleDeclaration(constant, bodystmt); end + + # Create a new Next node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#613 + def Next(arguments); end + + # Create a new Not node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#892 + def Not(statement, parentheses); end + + # Create a new Op node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#618 + def Op(value); end + + # Create a new OpAssign node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#623 + def OpAssign(target, operator, value); end + + # Create a new Params node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#633 + def Params(requireds, optionals, rest, posts, keywords, keyword_rest, block); end + + # Create a new Paren node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#647 + def Paren(lparen, contents); end + + # Create a new Period node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#652 + def Period(value); end + + # Create a new PinnedBegin node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#134 + def PinnedBegin(statement); end + + # Create a new PinnedVarRef node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#944 + def PinnedVarRef(value); end + + # Create a new Program node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#657 + def Program(statements); end + + # Create a new QSymbols node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#662 + def QSymbols(beginning, elements); end + + # Create a new QSymbolsBeg node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#671 + def QSymbolsBeg(value); end + + # Create a new QWords node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#676 + def QWords(beginning, elements); end + + # Create a new QWordsBeg node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#685 + def QWordsBeg(value); end + + # Create a new RAssign node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#203 + def RAssign(value, operator, pattern); end + + # Create a new RBrace node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#695 + def RBrace(value); end + + # Create a new RBracket node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#700 + def RBracket(value); end + + # Create a new RParen node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#783 + def RParen(value); end + + # Create a new RangeNode node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#327 + def RangeNode(left, operator, right); end + + # Create a new RationalLiteral node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#690 + def RationalLiteral(value); end + + # Create a new Redo node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#705 + def Redo; end + + # Create a new RegexpBeg node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#719 + def RegexpBeg(value); end + + # Create a new RegexpContent node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#710 + def RegexpContent(beginning, parts); end + + # Create a new RegexpEnd node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#724 + def RegexpEnd(value); end + + # Create a new RegexpLiteral node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#729 + def RegexpLiteral(beginning, ending, parts); end + + # Create a new Rescue node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#748 + def Rescue(keyword, exception, statements, consequent); end + + # Create a new RescueEx node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#739 + def RescueEx(exceptions, variable); end + + # Create a new RescueMod node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#759 + def RescueMod(statement, value); end + + # Create a new RestParam node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#768 + def RestParam(name); end + + # Create a new Retry node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#773 + def Retry; end + + # Create a new ReturnNode node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#778 + def ReturnNode(arguments); end + + # Create a new SClass node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#788 + def SClass(target, bodystmt); end + + # Create a new Statements node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#793 + def Statements(body); end + + # Create a new StringConcat node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#803 + def StringConcat(left, right); end + + # Create a new StringContent node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#798 + def StringContent(parts); end + + # Create a new StringDVar node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#808 + def StringDVar(variable); end + + # Create a new StringEmbExpr node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#813 + def StringEmbExpr(statements); end + + # Create a new StringLiteral node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#818 + def StringLiteral(parts, quote); end + + # Create a new Super node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#823 + def Super(arguments); end + + # Create a new SymBeg node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#828 + def SymBeg(value); end + + # Create a new SymbolContent node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#833 + def SymbolContent(value); end + + # Create a new SymbolLiteral node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#838 + def SymbolLiteral(value); end + + # Create a new Symbols node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#843 + def Symbols(beginning, elements); end + + # Create a new SymbolsBeg node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#852 + def SymbolsBeg(value); end + + # Create a new TLamBeg node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#862 + def TLamBeg(value); end + + # Create a new TLambda node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#857 + def TLambda(value); end + + # Create a new TStringBeg node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#877 + def TStringBeg(value); end + + # Create a new TStringContent node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#882 + def TStringContent(value); end + + # Create a new TStringEnd node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#887 + def TStringEnd(value); end + + # Create a new TopConstField node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#867 + def TopConstField(constant); end + + # Create a new TopConstRef node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#872 + def TopConstRef(constant); end + + # Create a new Unary node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#901 + def Unary(operator, statement); end + + # Create a new Undef node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#910 + def Undef(symbols); end + + # Create a new UnlessNode node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#915 + def UnlessNode(predicate, statements, consequent); end + + # Create a new UntilNode node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#925 + def UntilNode(predicate, statements); end + + # Create a new VCall node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#949 + def VCall(value); end + + # Create a new VarField node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#934 + def VarField(value); end + + # Create a new VarRef node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#939 + def VarRef(value); end + + # Create a new VoidStmt node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#954 + def VoidStmt; end + + # Create a new When node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#959 + def When(arguments, statements, consequent); end + + # Create a new WhileNode node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#969 + def WhileNode(predicate, statements); end + + # Create a new Word node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#978 + def Word(parts); end + + # Create a new Words node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#983 + def Words(beginning, elements); end + + # Create a new WordsBeg node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#992 + def WordsBeg(value); end + + # Create a new XString node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#997 + def XString(parts); end + + # Create a new XStringLiteral node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#1002 + def XStringLiteral(parts); end + + # Create a new YieldNode node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#1007 + def YieldNode(arguments); end + + # Create a new ZSuper node. + # + # source://syntax_tree//lib/syntax_tree/dsl.rb#1012 + def ZSuper; end +end + +# Def represents defining a regular method on the current self object. +# +# def method(param) result end +# def object.method(param) result end +# +# source://syntax_tree//lib/syntax_tree/node.rb#4095 +class SyntaxTree::DefNode < ::SyntaxTree::Node + # @return [DefNode] a new instance of DefNode + # + # source://syntax_tree//lib/syntax_tree/node.rb#4114 + def initialize(target:, operator:, name:, params:, bodystmt:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#4214 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#4124 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#4227 + def arity; end + + # [BodyStmt | Node] the expressions to be executed by the method + # + # source://syntax_tree//lib/syntax_tree/node.rb#4109 + def bodystmt; end + + # source://syntax_tree//lib/syntax_tree/node.rb#4128 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#4112 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#4132 + def copy(target: T.unsafe(nil), operator: T.unsafe(nil), name: T.unsafe(nil), params: T.unsafe(nil), bodystmt: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#4128 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#4156 + def deconstruct_keys(_keys); end + + # Returns true if the method was found in the source in the "endless" form, + # i.e. where the method body is defined using the `=` operator after the + # method name and parameters. + # + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/node.rb#4223 + def endless?; end + + # source://syntax_tree//lib/syntax_tree/node.rb#4168 + def format(q); end + + # [Backtick | Const | Ident | Kw | Op] the name of the method + # + # source://syntax_tree//lib/syntax_tree/node.rb#4103 + def name; end + + # [nil | Op | Period] the operator being used to declare the method + # + # source://syntax_tree//lib/syntax_tree/node.rb#4100 + def operator; end + + # [nil | Params | Paren] the parameter declaration for the method + # + # source://syntax_tree//lib/syntax_tree/node.rb#4106 + def params; end + + # [nil | Node] the target where the method is being defined + # + # source://syntax_tree//lib/syntax_tree/node.rb#4097 + def target; end +end + +# Defined represents the use of the +defined?+ operator. It can be used with +# and without parentheses. +# +# defined?(variable) +# +# source://syntax_tree//lib/syntax_tree/node.rb#4246 +class SyntaxTree::Defined < ::SyntaxTree::Node + # @return [Defined] a new instance of Defined + # + # source://syntax_tree//lib/syntax_tree/node.rb#4253 + def initialize(value:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#4296 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#4259 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#4263 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#4251 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#4267 + def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#4263 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#4280 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#4284 + def format(q); end + + # [Node] the value being sent to the keyword + # + # source://syntax_tree//lib/syntax_tree/node.rb#4248 + def value; end +end + +# DynaSymbol represents a symbol literal that uses quotes to dynamically +# define its value. +# +# :"#{variable}" +# +# They can also be used as a special kind of dynamic hash key, as in: +# +# { "#{key}": value } +# +# source://syntax_tree//lib/syntax_tree/node.rb#4660 +class SyntaxTree::DynaSymbol < ::SyntaxTree::Node + # @return [DynaSymbol] a new instance of DynaSymbol + # + # source://syntax_tree//lib/syntax_tree/node.rb#4671 + def initialize(parts:, quote:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#4733 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#4678 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#4682 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#4669 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#4686 + def copy(parts: T.unsafe(nil), quote: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#4682 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#4700 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#4704 + def format(q); end + + # [Array[ StringDVar | StringEmbExpr | TStringContent ]] the parts of the + # dynamic symbol + # + # source://syntax_tree//lib/syntax_tree/node.rb#4663 + def parts; end + + # [nil | String] the quote used to delimit the dynamic symbol + # + # source://syntax_tree//lib/syntax_tree/node.rb#4666 + def quote; end + + private + + # Here we determine the quotes to use for a dynamic symbol. It's bound by a + # lot of rules because it could be in many different contexts with many + # different kinds of escaping. + # + # source://syntax_tree//lib/syntax_tree/node.rb#4743 + def quotes(q); end +end + +# ENDBlock represents the use of the +END+ keyword, which hooks into the +# lifecycle of the interpreter. Whatever is inside the block will get executed +# when the program ends. +# +# END { +# } +# +# Interestingly, the END keyword doesn't allow the do and end keywords for the +# block. Only braces are permitted. +# +# source://syntax_tree//lib/syntax_tree/node.rb#310 +class SyntaxTree::ENDBlock < ::SyntaxTree::Node + # @return [ENDBlock] a new instance of ENDBlock + # + # source://syntax_tree//lib/syntax_tree/node.rb#320 + def initialize(lbrace:, statements:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#371 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#327 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#331 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#318 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#335 + def copy(lbrace: T.unsafe(nil), statements: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#331 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#349 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#358 + def format(q); end + + # [LBrace] the left brace that is seen after the keyword + # + # source://syntax_tree//lib/syntax_tree/node.rb#312 + def lbrace; end + + # [Statements] the expressions to be executed + # + # source://syntax_tree//lib/syntax_tree/node.rb#315 + def statements; end +end + +# Else represents the end of an +if+, +unless+, or +case+ chain. +# +# if variable +# else +# end +# +# source://syntax_tree//lib/syntax_tree/node.rb#4789 +class SyntaxTree::Else < ::SyntaxTree::Node + # @return [Else] a new instance of Else + # + # source://syntax_tree//lib/syntax_tree/node.rb#4799 + def initialize(keyword:, statements:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#4850 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#4806 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#4810 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#4797 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#4814 + def copy(keyword: T.unsafe(nil), statements: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#4810 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#4828 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#4837 + def format(q); end + + # [Kw] the else keyword + # + # source://syntax_tree//lib/syntax_tree/node.rb#4791 + def keyword; end + + # [Statements] the expressions to be executed + # + # source://syntax_tree//lib/syntax_tree/node.rb#4794 + def statements; end +end + +# Elsif represents another clause in an +if+ or +unless+ chain. +# +# if variable +# elsif other_variable +# end +# +# source://syntax_tree//lib/syntax_tree/node.rb#4862 +class SyntaxTree::Elsif < ::SyntaxTree::Node + # @return [Elsif] a new instance of Elsif + # + # source://syntax_tree//lib/syntax_tree/node.rb#4875 + def initialize(predicate:, statements:, consequent:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#4939 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#4883 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#4887 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#4873 + def comments; end + + # [nil | Elsif | Else] the next clause in the chain + # + # source://syntax_tree//lib/syntax_tree/node.rb#4870 + def consequent; end + + # source://syntax_tree//lib/syntax_tree/node.rb#4891 + def copy(predicate: T.unsafe(nil), statements: T.unsafe(nil), consequent: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#4887 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#4906 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#4916 + def format(q); end + + # [Node] the expression to be checked + # + # source://syntax_tree//lib/syntax_tree/node.rb#4864 + def predicate; end + + # [Statements] the expressions to be executed + # + # source://syntax_tree//lib/syntax_tree/node.rb#4867 + def statements; end +end + +# EmbDoc represents a multi-line comment. +# +# =begin +# first line +# second line +# =end +# +# source://syntax_tree//lib/syntax_tree/node.rb#4952 +class SyntaxTree::EmbDoc < ::SyntaxTree::Node + # @return [EmbDoc] a new instance of EmbDoc + # + # source://syntax_tree//lib/syntax_tree/node.rb#4956 + def initialize(value:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5024 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#4992 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#4996 + def child_nodes; end + + # source://syntax_tree//lib/syntax_tree/node.rb#4988 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#5000 + def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#4996 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#5009 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5013 + def format(q); end + + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/node.rb#4984 + def ignore?; end + + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/node.rb#4980 + def inline?; end + + # source://syntax_tree//lib/syntax_tree/node.rb#4964 + def leading!; end + + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/node.rb#4968 + def leading?; end + + # source://syntax_tree//lib/syntax_tree/node.rb#4972 + def trailing!; end + + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/node.rb#4976 + def trailing?; end + + # [String] the contents of the comment + # + # source://syntax_tree//lib/syntax_tree/node.rb#4954 + def value; end +end + +# EmbExprBeg represents the beginning token for using interpolation inside of +# a parent node that accepts string content (like a string or regular +# expression). +# +# "Hello, #{person}!" +# +# source://syntax_tree//lib/syntax_tree/node.rb#5035 +class SyntaxTree::EmbExprBeg < ::SyntaxTree::Node + # @return [EmbExprBeg] a new instance of EmbExprBeg + # + # source://syntax_tree//lib/syntax_tree/node.rb#5039 + def initialize(value:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5065 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5044 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5048 + def child_nodes; end + + # source://syntax_tree//lib/syntax_tree/node.rb#5052 + def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5048 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#5061 + def deconstruct_keys(_keys); end + + # [String] the #{ used in the string + # + # source://syntax_tree//lib/syntax_tree/node.rb#5037 + def value; end +end + +# EmbExprEnd represents the ending token for using interpolation inside of a +# parent node that accepts string content (like a string or regular +# expression). +# +# "Hello, #{person}!" +# +# source://syntax_tree//lib/syntax_tree/node.rb#5076 +class SyntaxTree::EmbExprEnd < ::SyntaxTree::Node + # @return [EmbExprEnd] a new instance of EmbExprEnd + # + # source://syntax_tree//lib/syntax_tree/node.rb#5080 + def initialize(value:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5106 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5085 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5089 + def child_nodes; end + + # source://syntax_tree//lib/syntax_tree/node.rb#5093 + def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5089 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#5102 + def deconstruct_keys(_keys); end + + # [String] the } used in the string + # + # source://syntax_tree//lib/syntax_tree/node.rb#5078 + def value; end +end + +# EmbVar represents the use of shorthand interpolation for an instance, class, +# or global variable into a parent node that accepts string content (like a +# string or regular expression). +# +# "#@variable" +# +# In the example above, an EmbVar node represents the # because it forces +# +# source://syntax_tree//lib/syntax_tree/node.rb#5119 +class SyntaxTree::EmbVar < ::SyntaxTree::Node + # @return [EmbVar] a new instance of EmbVar + # + # source://syntax_tree//lib/syntax_tree/node.rb#5123 + def initialize(value:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5149 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5128 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5132 + def child_nodes; end + + # source://syntax_tree//lib/syntax_tree/node.rb#5136 + def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5132 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#5145 + def deconstruct_keys(_keys); end + + # [String] the # used in the string + # + # source://syntax_tree//lib/syntax_tree/node.rb#5121 + def value; end +end + +# EndContent represents the use of __END__ syntax, which allows individual +# scripts to keep content after the main ruby code that can be read through +# the DATA constant. +# +# puts DATA.read +# +# __END__ +# some other content that is not executed by the program +# +# source://syntax_tree//lib/syntax_tree/node.rb#386 +class SyntaxTree::EndContent < ::SyntaxTree::Node + # @return [EndContent] a new instance of EndContent + # + # source://syntax_tree//lib/syntax_tree/node.rb#393 + def initialize(value:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#442 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#399 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#403 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#391 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#407 + def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#403 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#420 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#424 + def format(q); end + + # [String] the content after the script + # + # source://syntax_tree//lib/syntax_tree/node.rb#388 + def value; end +end + +# Ensure represents the use of the +ensure+ keyword and its subsequent +# statements. +# +# begin +# ensure +# end +# +# source://syntax_tree//lib/syntax_tree/node.rb#5161 +class SyntaxTree::Ensure < ::SyntaxTree::Node + # @return [Ensure] a new instance of Ensure + # + # source://syntax_tree//lib/syntax_tree/node.rb#5171 + def initialize(keyword:, statements:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5220 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5178 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5182 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#5169 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#5186 + def copy(keyword: T.unsafe(nil), statements: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5182 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#5200 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5209 + def format(q); end + + # [Kw] the ensure keyword that began this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#5163 + def keyword; end + + # [Statements] the expressions to be executed + # + # source://syntax_tree//lib/syntax_tree/node.rb#5166 + def statements; end +end + +# ExcessedComma represents a trailing comma in a list of block parameters. It +# changes the block parameters such that they will destructure. +# +# [[1, 2, 3], [2, 3, 4]].each do |first, second,| +# end +# +# In the above example, an ExcessedComma node would appear in the third +# position of the Params node that is used to declare that block. The third +# position typically represents a rest-type parameter, but in this case is +# used to indicate that a trailing comma was used. +# +# source://syntax_tree//lib/syntax_tree/node.rb#5236 +class SyntaxTree::ExcessedComma < ::SyntaxTree::Node + # @return [ExcessedComma] a new instance of ExcessedComma + # + # source://syntax_tree//lib/syntax_tree/node.rb#5243 + def initialize(value:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5278 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5249 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5253 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#5241 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#5257 + def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5253 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#5270 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5274 + def format(q); end + + # [String] the comma + # + # source://syntax_tree//lib/syntax_tree/node.rb#5238 + def value; end +end + +# Field is always the child of an assignment. It represents assigning to a +# “field” on an object. +# +# object.variable = value +# +# source://syntax_tree//lib/syntax_tree/node.rb#5288 +class SyntaxTree::Field < ::SyntaxTree::Node + # @return [Field] a new instance of Field + # + # source://syntax_tree//lib/syntax_tree/node.rb#5301 + def initialize(parent:, operator:, name:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5351 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5309 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5313 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#5299 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#5318 + def copy(parent: T.unsafe(nil), operator: T.unsafe(nil), name: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5313 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#5333 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5343 + def format(q); end + + # [Const | Ident] the name of the field being assigned + # + # source://syntax_tree//lib/syntax_tree/node.rb#5296 + def name; end + + # [:"::" | Op | Period] the operator being used for the assignment + # + # source://syntax_tree//lib/syntax_tree/node.rb#5293 + def operator; end + + # [Node] the parent object that owns the field being assigned + # + # source://syntax_tree//lib/syntax_tree/node.rb#5290 + def parent; end +end + +# This is the parent class of a lot of built-in visitors for Syntax Tree. It +# reflects visiting each of the fields on every node in turn. It itself does +# not do anything with these fields, it leaves that behavior up to the +# subclass to implement. +# +# In order to properly use this class, you will need to subclass it and +# implement #comments, #field, #list, #node, #pairs, and #text. Those are +# documented here. +# +# == comments(node) +# +# This accepts the node that is being visited and does something depending on +# the comments attached to the node. +# +# == field(name, value) +# +# This accepts the name of the field being visited as a string (like "value") +# and the actual value of that field. The value can be a subclass of Node or +# any other type that can be held within the tree. +# +# == list(name, values) +# +# This accepts the name of the field being visited as well as a list of +# values. This is used, for example, when visiting something like the body of +# a Statements node. +# +# == node(name, node) +# +# This is the parent serialization method for each node. It is called with the +# node itself, as well as the type of the node as a string. The type is an +# internally used value that usually resembles the name of the ripper event +# that generated the node. The method should yield to the given block which +# then calls through to visit each of the fields on the node. +# +# == text(name, value) +# +# This accepts the name of the field being visited as well as a string value +# representing the value of the field. +# +# == pairs(name, values) +# +# This accepts the name of the field being visited as well as a list of pairs +# that represent the value of the field. It is used only in a couple of +# circumstances, like when visiting the list of optional parameters defined on +# a method. +# +# source://syntax_tree//lib/syntax_tree/field_visitor.rb#50 +class SyntaxTree::FieldVisitor < ::SyntaxTree::BasicVisitor + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#163 + def visit_BEGIN(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#245 + def visit_CHAR(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#342 + def visit_END(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#1018 + def visit___end__(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#68 + def visit_alias(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#52 + def visit_aref(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#60 + def visit_aref_field(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#76 + def visit_arg_block(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#83 + def visit_arg_paren(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#90 + def visit_arg_star(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#97 + def visit_args(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#104 + def visit_args_forward(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#108 + def visit_array(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#115 + def visit_aryptn(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#125 + def visit_assign(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#133 + def visit_assoc(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#141 + def visit_assoc_splat(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#148 + def visit_backref(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#152 + def visit_backtick(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#156 + def visit_bare_assoc_hash(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#170 + def visit_begin(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#177 + def visit_binary(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#186 + def visit_block(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#201 + def visit_block_var(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#194 + def visit_blockarg(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#209 + def visit_bodystmt(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#219 + def visit_break(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#226 + def visit_call(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#236 + def visit_case(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#249 + def visit_class(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#258 + def visit_comma(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#262 + def visit_command(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#271 + def visit_command_call(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#282 + def visit_comment(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#286 + def visit_const(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#290 + def visit_const_path_field(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#298 + def visit_const_path_ref(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#306 + def visit_const_ref(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#313 + def visit_cvar(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#317 + def visit_def(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#328 + def visit_defined(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#335 + def visit_dyna_symbol(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#349 + def visit_else(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#356 + def visit_elsif(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#365 + def visit_embdoc(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#369 + def visit_embexpr_beg(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#373 + def visit_embexpr_end(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#377 + def visit_embvar(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#381 + def visit_ensure(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#388 + def visit_excessed_comma(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#392 + def visit_field(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#401 + def visit_float(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#405 + def visit_fndptn(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#415 + def visit_for(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#424 + def visit_gvar(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#428 + def visit_hash(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#435 + def visit_heredoc(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#442 + def visit_heredoc_beg(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#446 + def visit_heredoc_end(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#450 + def visit_hshptn(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#459 + def visit_ident(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#463 + def visit_if(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#472 + def visit_if_op(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#481 + def visit_imaginary(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#485 + def visit_in(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#494 + def visit_int(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#498 + def visit_ivar(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#502 + def visit_kw(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#506 + def visit_kwrest_param(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#513 + def visit_label(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#517 + def visit_label_end(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#521 + def visit_lambda(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#529 + def visit_lambda_var(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#537 + def visit_lbrace(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#541 + def visit_lbracket(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#545 + def visit_lparen(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#549 + def visit_massign(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#557 + def visit_method_add_block(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#565 + def visit_mlhs(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#572 + def visit_mlhs_paren(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#579 + def visit_module(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#587 + def visit_mrhs(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#594 + def visit_next(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#601 + def visit_not(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#608 + def visit_op(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#612 + def visit_opassign(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#621 + def visit_params(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#634 + def visit_paren(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#641 + def visit_period(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#645 + def visit_pinned_begin(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#652 + def visit_pinned_var_ref(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#659 + def visit_program(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#666 + def visit_qsymbols(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#673 + def visit_qsymbols_beg(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#677 + def visit_qwords(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#684 + def visit_qwords_beg(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#688 + def visit_range(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#697 + def visit_rassign(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#706 + def visit_rational(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#710 + def visit_rbrace(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#714 + def visit_rbracket(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#718 + def visit_redo(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#722 + def visit_regexp_beg(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#726 + def visit_regexp_content(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#730 + def visit_regexp_end(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#734 + def visit_regexp_literal(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#742 + def visit_rescue(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#751 + def visit_rescue_ex(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#759 + def visit_rescue_mod(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#767 + def visit_rest_param(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#774 + def visit_retry(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#778 + def visit_return(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#785 + def visit_rparen(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#789 + def visit_sclass(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#797 + def visit_statements(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#804 + def visit_string_concat(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#812 + def visit_string_content(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#816 + def visit_string_dvar(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#823 + def visit_string_embexpr(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#830 + def visit_string_literal(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#837 + def visit_super(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#844 + def visit_symbeg(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#848 + def visit_symbol_content(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#852 + def visit_symbol_literal(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#859 + def visit_symbols(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#866 + def visit_symbols_beg(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#870 + def visit_tlambda(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#874 + def visit_tlambeg(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#878 + def visit_top_const_field(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#885 + def visit_top_const_ref(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#892 + def visit_tstring_beg(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#896 + def visit_tstring_content(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#900 + def visit_tstring_end(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#904 + def visit_unary(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#912 + def visit_undef(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#919 + def visit_unless(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#928 + def visit_until(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#936 + def visit_var_field(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#943 + def visit_var_ref(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#950 + def visit_vcall(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#957 + def visit_void_stmt(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#961 + def visit_when(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#970 + def visit_while(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#978 + def visit_word(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#985 + def visit_words(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#992 + def visit_words_beg(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#996 + def visit_xstring(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#1000 + def visit_xstring_literal(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#1007 + def visit_yield(node); end + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#1014 + def visit_zsuper(node); end + + private + + # source://syntax_tree//lib/syntax_tree/field_visitor.rb#1025 + def visit_token(node, type); end +end + +# FloatLiteral represents a floating point number literal. +# +# 1.0 +# +# source://syntax_tree//lib/syntax_tree/node.rb#5361 +class SyntaxTree::FloatLiteral < ::SyntaxTree::Node + # @return [FloatLiteral] a new instance of FloatLiteral + # + # source://syntax_tree//lib/syntax_tree/node.rb#5368 + def initialize(value:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5403 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5374 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5378 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#5366 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#5382 + def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5378 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#5395 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5399 + def format(q); end + + # [String] the value of the floating point number literal + # + # source://syntax_tree//lib/syntax_tree/node.rb#5363 + def value; end +end + +# Formats either a Break, Next, or Return node. +# +# source://syntax_tree//lib/syntax_tree/node.rb#2438 +class SyntaxTree::FlowControlFormatter + # @return [FlowControlFormatter] a new instance of FlowControlFormatter + # + # source://syntax_tree//lib/syntax_tree/node.rb#2445 + def initialize(keyword, node); end + + # source://syntax_tree//lib/syntax_tree/node.rb#2450 + def format(q); end + + # [String] the keyword to print + # + # source://syntax_tree//lib/syntax_tree/node.rb#2440 + def keyword; end + + # [Break | Next | Return] the node being formatted + # + # source://syntax_tree//lib/syntax_tree/node.rb#2443 + def node; end + + private + + # source://syntax_tree//lib/syntax_tree/node.rb#2599 + def format_arguments(q, opening, closing); end + + # source://syntax_tree//lib/syntax_tree/node.rb#2589 + def format_array_contents(q, array); end + + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/node.rb#2609 + def skip_parens?(node); end +end + +# FndPtn represents matching against a pattern where you find a pattern in an +# array using the Ruby 3.0+ pattern matching syntax. +# +# case value +# in [*, 7, *] +# end +# +# source://syntax_tree//lib/syntax_tree/node.rb#5415 +class SyntaxTree::FndPtn < ::SyntaxTree::Node + # @return [FndPtn] a new instance of FndPtn + # + # source://syntax_tree//lib/syntax_tree/node.rb#5432 + def initialize(constant:, left:, values:, right:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5501 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5441 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5445 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#5430 + def comments; end + + # [nil | Node] the optional constant wrapper + # + # source://syntax_tree//lib/syntax_tree/node.rb#5417 + def constant; end + + # source://syntax_tree//lib/syntax_tree/node.rb#5449 + def copy(constant: T.unsafe(nil), left: T.unsafe(nil), values: T.unsafe(nil), right: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5445 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#5465 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5476 + def format(q); end + + # [VarField] the splat on the left-hand side + # + # source://syntax_tree//lib/syntax_tree/node.rb#5420 + def left; end + + # [VarField] the splat on the right-hand side + # + # source://syntax_tree//lib/syntax_tree/node.rb#5427 + def right; end + + # [Array[ Node ]] the list of positional expressions in the pattern that + # are being matched + # + # source://syntax_tree//lib/syntax_tree/node.rb#5424 + def values; end +end + +# For represents using a +for+ loop. +# +# for value in list do +# end +# +# source://syntax_tree//lib/syntax_tree/node.rb#5513 +class SyntaxTree::For < ::SyntaxTree::Node + # @return [For] a new instance of For + # + # source://syntax_tree//lib/syntax_tree/node.rb#5527 + def initialize(index:, collection:, statements:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5587 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5535 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5539 + def child_nodes; end + + # [Node] the object being enumerated in the loop + # + # source://syntax_tree//lib/syntax_tree/node.rb#5519 + def collection; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#5525 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#5543 + def copy(index: T.unsafe(nil), collection: T.unsafe(nil), statements: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5539 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#5558 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5568 + def format(q); end + + # [MLHS | VarField] the variable declaration being used to + # pull values out of the object being enumerated + # + # source://syntax_tree//lib/syntax_tree/node.rb#5516 + def index; end + + # [Statements] the statements to be executed + # + # source://syntax_tree//lib/syntax_tree/node.rb#5522 + def statements; end +end + +# A slightly enhanced PP that knows how to format recursively including +# comments. +# +# source://syntax_tree//lib/syntax_tree/formatter.rb#6 +class SyntaxTree::Formatter < ::PrettierPrint + # @return [Formatter] a new instance of Formatter + # + # source://syntax_tree//lib/syntax_tree/formatter.rb#95 + def initialize(source, *args, options: T.unsafe(nil)); end + + # These options are overridden in plugins to we need to make sure they are + # available here. + # + # source://syntax_tree//lib/syntax_tree/formatter.rb#87 + def disable_auto_ternary; end + + # These options are overridden in plugins to we need to make sure they are + # available here. + # + # source://syntax_tree//lib/syntax_tree/formatter.rb#87 + def disable_auto_ternary?; end + + # source://syntax_tree//lib/syntax_tree/formatter.rb#115 + def format(node, stackable: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/formatter.rb#175 + def format_each(nodes); end + + # source://syntax_tree//lib/syntax_tree/formatter.rb#179 + def grandparent; end + + # This is a simplified version of prettyprint's group. It doesn't provide + # any of the more advanced options because we don't need them and they take + # up expensive computation time. + # + # source://syntax_tree//lib/syntax_tree/formatter.rb#194 + def group; end + + # source://syntax_tree//lib/syntax_tree/formatter.rb#183 + def parent; end + + # source://syntax_tree//lib/syntax_tree/formatter.rb#187 + def parents; end + + # These options are overridden in plugins to we need to make sure they are + # available here. + # + # source://syntax_tree//lib/syntax_tree/formatter.rb#87 + def quote; end + + # A similar version to the super, except that it calls back into the + # separator proc with the instance of `self`. + # + # source://syntax_tree//lib/syntax_tree/formatter.rb#208 + def seplist(list, sep = T.unsafe(nil), iter_method = T.unsafe(nil)); end + + # Returns the value of attribute source. + # + # source://syntax_tree//lib/syntax_tree/formatter.rb#83 + def source; end + + # Returns the value of attribute stack. + # + # source://syntax_tree//lib/syntax_tree/formatter.rb#83 + def stack; end + + # These options are overridden in plugins to we need to make sure they are + # available here. + # + # source://syntax_tree//lib/syntax_tree/formatter.rb#87 + def target_ruby_version; end + + # This is a much simplified version of prettyprint's text. It avoids + # calculating width by pushing the string directly onto the target. + # + # source://syntax_tree//lib/syntax_tree/formatter.rb#224 + def text(string); end + + # These options are overridden in plugins to we need to make sure they are + # available here. + # + # source://syntax_tree//lib/syntax_tree/formatter.rb#87 + def trailing_comma; end + + # These options are overridden in plugins to we need to make sure they are + # available here. + # + # source://syntax_tree//lib/syntax_tree/formatter.rb#87 + def trailing_comma?; end + + class << self + # source://syntax_tree//lib/syntax_tree/formatter.rb#108 + def format(source, node, base_indentation = T.unsafe(nil)); end + end +end + +# source://syntax_tree//lib/syntax_tree/formatter.rb#80 +SyntaxTree::Formatter::COMMENT_PRIORITY = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/formatter.rb#81 +SyntaxTree::Formatter::HEREDOC_PRIORITY = T.let(T.unsafe(nil), Integer) + +# We want to minimize as much as possible the number of options that are +# available in syntax tree. For the most part, if users want non-default +# formatting, they should override the format methods on the specific nodes +# themselves. However, because of some history with prettier and the fact +# that folks have become entrenched in their ways, we decided to provide a +# small amount of configurability. +# +# source://syntax_tree//lib/syntax_tree/formatter.rb#23 +class SyntaxTree::Formatter::Options + # @return [Options] a new instance of Options + # + # source://syntax_tree//lib/syntax_tree/formatter.rb#29 + def initialize(quote: T.unsafe(nil), trailing_comma: T.unsafe(nil), disable_auto_ternary: T.unsafe(nil), target_ruby_version: T.unsafe(nil)); end + + # Returns the value of attribute disable_auto_ternary. + # + # source://syntax_tree//lib/syntax_tree/formatter.rb#24 + def disable_auto_ternary; end + + # Returns the value of attribute quote. + # + # source://syntax_tree//lib/syntax_tree/formatter.rb#24 + def quote; end + + # Returns the value of attribute target_ruby_version. + # + # source://syntax_tree//lib/syntax_tree/formatter.rb#24 + def target_ruby_version; end + + # Returns the value of attribute trailing_comma. + # + # source://syntax_tree//lib/syntax_tree/formatter.rb#24 + def trailing_comma; end +end + +# Unfortunately, Gem::Version.new is not ractor-safe because it performs +# global caching using a class variable. This works around that by just +# setting the instance variables directly. +# +# source://syntax_tree//lib/syntax_tree/formatter.rb#10 +class SyntaxTree::Formatter::SemanticVersion < ::Gem::Version + # @return [SemanticVersion] a new instance of SemanticVersion + # + # source://syntax_tree//lib/syntax_tree/formatter.rb#11 + def initialize(version); end +end + +# GVar represents a global variable literal. +# +# $variable +# +# source://syntax_tree//lib/syntax_tree/node.rb#5597 +class SyntaxTree::GVar < ::SyntaxTree::Node + # @return [GVar] a new instance of GVar + # + # source://syntax_tree//lib/syntax_tree/node.rb#5604 + def initialize(value:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5639 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5610 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5614 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#5602 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#5618 + def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5614 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#5631 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5635 + def format(q); end + + # [String] the name of the global variable + # + # source://syntax_tree//lib/syntax_tree/node.rb#5599 + def value; end +end + +# This holds references to objects that respond to both #parse and #format +# so that we can use them in the CLI. +# +# source://syntax_tree//lib/syntax_tree.rb#42 +SyntaxTree::HANDLERS = T.let(T.unsafe(nil), Hash) + +# This module is responsible for formatting the assocs contained within a +# hash or bare hash. It first determines if every key in the hash can use +# labels. If it can, it uses labels. Otherwise it uses hash rockets. +# +# source://syntax_tree//lib/syntax_tree/node.rb#1728 +module SyntaxTree::HashKeyFormatter + class << self + # source://syntax_tree//lib/syntax_tree/node.rb#1786 + def for(container); end + end +end + +# When formatting a single assoc node without the context of the parent +# hash, this formatter is used. It uses whatever is present in the node, +# because there is nothing to be consistent with. +# +# source://syntax_tree//lib/syntax_tree/node.rb#1775 +class SyntaxTree::HashKeyFormatter::Identity + # source://syntax_tree//lib/syntax_tree/node.rb#1776 + def format_key(q, key); end +end + +# Formats the keys of a hash literal using labels. +# +# source://syntax_tree//lib/syntax_tree/node.rb#1730 +class SyntaxTree::HashKeyFormatter::Labels + # source://syntax_tree//lib/syntax_tree/node.rb#1733 + def format_key(q, key); end +end + +# source://syntax_tree//lib/syntax_tree/node.rb#1731 +SyntaxTree::HashKeyFormatter::Labels::LABEL = T.let(T.unsafe(nil), Regexp) + +# Formats the keys of a hash literal using hash rockets. +# +# source://syntax_tree//lib/syntax_tree/node.rb#1756 +class SyntaxTree::HashKeyFormatter::Rockets + # source://syntax_tree//lib/syntax_tree/node.rb#1757 + def format_key(q, key); end +end + +# HashLiteral represents a hash literal. +# +# { key => value } +# +# source://syntax_tree//lib/syntax_tree/node.rb#5648 +class SyntaxTree::HashLiteral < ::SyntaxTree::Node + # @return [HashLiteral] a new instance of HashLiteral + # + # source://syntax_tree//lib/syntax_tree/node.rb#5684 + def initialize(lbrace:, assocs:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5725 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5691 + def accept(visitor); end + + # [Array[ Assoc | AssocSplat ]] the optional contents of the hash + # + # source://syntax_tree//lib/syntax_tree/node.rb#5679 + def assocs; end + + # source://syntax_tree//lib/syntax_tree/node.rb#5695 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#5682 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#5699 + def copy(lbrace: T.unsafe(nil), assocs: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5695 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#5713 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5717 + def format(q); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5730 + def format_key(q, key); end + + # [LBrace] the left brace that opens this hash + # + # source://syntax_tree//lib/syntax_tree/node.rb#5676 + def lbrace; end + + private + + # If we have an empty hash that contains only comments, then we're going + # to do some special printing to ensure they get indented correctly. + # + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/node.rb#5738 + def empty_with_comments?; end + + # source://syntax_tree//lib/syntax_tree/node.rb#5742 + def format_contents(q); end +end + +# This is a special formatter used if the hash literal contains no values +# but _does_ contain comments. In this case we do some special formatting to +# make sure the comments gets indented properly. +# +# source://syntax_tree//lib/syntax_tree/node.rb#5652 +class SyntaxTree::HashLiteral::EmptyWithCommentsFormatter + # @return [EmptyWithCommentsFormatter] a new instance of EmptyWithCommentsFormatter + # + # source://syntax_tree//lib/syntax_tree/node.rb#5656 + def initialize(lbrace); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5660 + def format(q); end + + # [LBrace] the opening brace + # + # source://syntax_tree//lib/syntax_tree/node.rb#5654 + def lbrace; end +end + +# Heredoc represents a heredoc string literal. +# +# <<~DOC +# contents +# DOC +# +# source://syntax_tree//lib/syntax_tree/node.rb#5771 +class SyntaxTree::Heredoc < ::SyntaxTree::Node + # @return [Heredoc] a new instance of Heredoc + # + # source://syntax_tree//lib/syntax_tree/node.rb#5788 + def initialize(beginning:, location:, ending: T.unsafe(nil), dedent: T.unsafe(nil), parts: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5870 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5797 + def accept(visitor); end + + # [HeredocBeg] the opening of the heredoc + # + # source://syntax_tree//lib/syntax_tree/node.rb#5773 + def beginning; end + + # source://syntax_tree//lib/syntax_tree/node.rb#5801 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#5786 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#5805 + def copy(beginning: T.unsafe(nil), location: T.unsafe(nil), ending: T.unsafe(nil), parts: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5801 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#5820 + def deconstruct_keys(_keys); end + + # [Integer] how far to dedent the heredoc + # + # source://syntax_tree//lib/syntax_tree/node.rb#5779 + def dedent; end + + # [HeredocEnd] the ending of the heredoc + # + # source://syntax_tree//lib/syntax_tree/node.rb#5776 + def ending; end + + # source://syntax_tree//lib/syntax_tree/node.rb#5835 + def format(q); end + + # [Array[ StringEmbExpr | StringDVar | TStringContent ]] the parts of the + # heredoc string literal + # + # source://syntax_tree//lib/syntax_tree/node.rb#5783 + def parts; end +end + +# This is a very specific behavior where you want to force a newline, but +# don't want to force the break parent. +# +# source://syntax_tree//lib/syntax_tree/node.rb#5832 +SyntaxTree::Heredoc::SEPARATOR = T.let(T.unsafe(nil), PrettierPrint::Breakable) + +# HeredocBeg represents the beginning declaration of a heredoc. +# +# <<~DOC +# contents +# DOC +# +# In the example above the HeredocBeg node represents <<~DOC. +# +# source://syntax_tree//lib/syntax_tree/node.rb#5883 +class SyntaxTree::HeredocBeg < ::SyntaxTree::Node + # @return [HeredocBeg] a new instance of HeredocBeg + # + # source://syntax_tree//lib/syntax_tree/node.rb#5890 + def initialize(value:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5925 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5896 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5900 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#5888 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#5904 + def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5900 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#5917 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5921 + def format(q); end + + # [String] the opening declaration of the heredoc + # + # source://syntax_tree//lib/syntax_tree/node.rb#5885 + def value; end +end + +# HeredocEnd represents the closing declaration of a heredoc. +# +# <<~DOC +# contents +# DOC +# +# In the example above the HeredocEnd node represents the closing DOC. +# +# source://syntax_tree//lib/syntax_tree/node.rb#5937 +class SyntaxTree::HeredocEnd < ::SyntaxTree::Node + # @return [HeredocEnd] a new instance of HeredocEnd + # + # source://syntax_tree//lib/syntax_tree/node.rb#5944 + def initialize(value:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5979 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5950 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5954 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#5942 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#5958 + def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5954 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#5971 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#5975 + def format(q); end + + # [String] the closing declaration of the heredoc + # + # source://syntax_tree//lib/syntax_tree/node.rb#5939 + def value; end +end + +# HshPtn represents matching against a hash pattern using the Ruby 2.7+ +# pattern matching syntax. +# +# case value +# in { key: } +# end +# +# source://syntax_tree//lib/syntax_tree/node.rb#5991 +class SyntaxTree::HshPtn < ::SyntaxTree::Node + # @return [HshPtn] a new instance of HshPtn + # + # source://syntax_tree//lib/syntax_tree/node.rb#6051 + def initialize(constant:, keywords:, keyword_rest:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#6144 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#6059 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#6063 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#6049 + def comments; end + + # [nil | Node] the optional constant wrapper + # + # source://syntax_tree//lib/syntax_tree/node.rb#6039 + def constant; end + + # source://syntax_tree//lib/syntax_tree/node.rb#6067 + def copy(constant: T.unsafe(nil), keywords: T.unsafe(nil), keyword_rest: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#6063 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#6082 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#6092 + def format(q); end + + # [nil | VarField] an optional parameter to gather up all remaining keywords + # + # source://syntax_tree//lib/syntax_tree/node.rb#6046 + def keyword_rest; end + + # [Array[ [DynaSymbol | Label, nil | Node] ]] the set of tuples + # representing the keywords that should be matched against in the pattern + # + # source://syntax_tree//lib/syntax_tree/node.rb#6043 + def keywords; end + + private + + # source://syntax_tree//lib/syntax_tree/node.rb#6155 + def format_contents(q, parts, nested); end +end + +# Formats a key-value pair in a hash pattern. The value is optional. +# +# source://syntax_tree//lib/syntax_tree/node.rb#5993 +class SyntaxTree::HshPtn::KeywordFormatter + # @return [KeywordFormatter] a new instance of KeywordFormatter + # + # source://syntax_tree//lib/syntax_tree/node.rb#6000 + def initialize(key, value); end + + # source://syntax_tree//lib/syntax_tree/node.rb#6005 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#6009 + def format(q); end + + # [Label] the keyword being used + # + # source://syntax_tree//lib/syntax_tree/node.rb#5995 + def key; end + + # [Node] the optional value for the keyword + # + # source://syntax_tree//lib/syntax_tree/node.rb#5998 + def value; end +end + +# Formats the optional double-splat from the pattern. +# +# source://syntax_tree//lib/syntax_tree/node.rb#6020 +class SyntaxTree::HshPtn::KeywordRestFormatter + # @return [KeywordRestFormatter] a new instance of KeywordRestFormatter + # + # source://syntax_tree//lib/syntax_tree/node.rb#6024 + def initialize(keyword_rest); end + + # source://syntax_tree//lib/syntax_tree/node.rb#6028 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#6032 + def format(q); end + + # [VarField] the parameter that matches the remaining keywords + # + # source://syntax_tree//lib/syntax_tree/node.rb#6022 + def keyword_rest; end +end + +# IVar represents an instance variable literal. +# +# @variable +# +# source://syntax_tree//lib/syntax_tree/node.rb#6875 +class SyntaxTree::IVar < ::SyntaxTree::Node + # @return [IVar] a new instance of IVar + # + # source://syntax_tree//lib/syntax_tree/node.rb#6882 + def initialize(value:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#6917 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#6888 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#6892 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#6880 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#6896 + def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#6892 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#6909 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#6913 + def format(q); end + + # [String] the name of the instance variable + # + # source://syntax_tree//lib/syntax_tree/node.rb#6877 + def value; end +end + +# Ident represents an identifier anywhere in code. It can represent a very +# large number of things, depending on where it is in the syntax tree. +# +# value +# +# source://syntax_tree//lib/syntax_tree/node.rb#6178 +class SyntaxTree::Ident < ::SyntaxTree::Node + # @return [Ident] a new instance of Ident + # + # source://syntax_tree//lib/syntax_tree/node.rb#6185 + def initialize(value:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#6220 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#6191 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#6195 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#6183 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#6199 + def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#6195 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#6212 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#6216 + def format(q); end + + # [String] the value of the identifier + # + # source://syntax_tree//lib/syntax_tree/node.rb#6180 + def value; end +end + +# If represents the first clause in an +if+ chain. +# +# if predicate +# end +# +# source://syntax_tree//lib/syntax_tree/node.rb#6468 +class SyntaxTree::IfNode < ::SyntaxTree::Node + # @return [IfNode] a new instance of IfNode + # + # source://syntax_tree//lib/syntax_tree/node.rb#6481 + def initialize(predicate:, statements:, consequent:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#6526 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#6489 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#6493 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#6479 + def comments; end + + # [nil | Elsif | Else] the next clause in the chain + # + # source://syntax_tree//lib/syntax_tree/node.rb#6476 + def consequent; end + + # source://syntax_tree//lib/syntax_tree/node.rb#6497 + def copy(predicate: T.unsafe(nil), statements: T.unsafe(nil), consequent: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#6493 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#6512 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#6522 + def format(q); end + + # Checks if the node was originally found in the modifier form. + # + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/node.rb#6532 + def modifier?; end + + # [Node] the expression to be checked + # + # source://syntax_tree//lib/syntax_tree/node.rb#6470 + def predicate; end + + # [Statements] the expressions to be executed + # + # source://syntax_tree//lib/syntax_tree/node.rb#6473 + def statements; end +end + +# IfOp represents a ternary clause. +# +# predicate ? truthy : falsy +# +# source://syntax_tree//lib/syntax_tree/node.rb#6541 +class SyntaxTree::IfOp < ::SyntaxTree::Node + # @return [IfOp] a new instance of IfOp + # + # source://syntax_tree//lib/syntax_tree/node.rb#6554 + def initialize(predicate:, truthy:, falsy:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#6628 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#6562 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#6566 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#6552 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#6570 + def copy(predicate: T.unsafe(nil), truthy: T.unsafe(nil), falsy: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#6566 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#6585 + def deconstruct_keys(_keys); end + + # [Node] the expression to be executed if the predicate is falsy + # + # source://syntax_tree//lib/syntax_tree/node.rb#6549 + def falsy; end + + # source://syntax_tree//lib/syntax_tree/node.rb#6595 + def format(q); end + + # [Node] the expression to be checked + # + # source://syntax_tree//lib/syntax_tree/node.rb#6543 + def predicate; end + + # [Node] the expression to be executed if the predicate is truthy + # + # source://syntax_tree//lib/syntax_tree/node.rb#6546 + def truthy; end + + private + + # source://syntax_tree//lib/syntax_tree/node.rb#6635 + def format_break(q); end + + # source://syntax_tree//lib/syntax_tree/node.rb#6658 + def format_flat(q); end +end + +# Imaginary represents an imaginary number literal. +# +# 1i +# +# source://syntax_tree//lib/syntax_tree/node.rb#6677 +class SyntaxTree::Imaginary < ::SyntaxTree::Node + # @return [Imaginary] a new instance of Imaginary + # + # source://syntax_tree//lib/syntax_tree/node.rb#6684 + def initialize(value:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#6719 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#6690 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#6694 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#6682 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#6698 + def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#6694 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#6711 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#6715 + def format(q); end + + # [String] the value of the imaginary number literal + # + # source://syntax_tree//lib/syntax_tree/node.rb#6679 + def value; end +end + +# In represents using the +in+ keyword within the Ruby 2.7+ pattern matching +# syntax. +# +# case value +# in pattern +# end +# +# source://syntax_tree//lib/syntax_tree/node.rb#6731 +class SyntaxTree::In < ::SyntaxTree::Node + # @return [In] a new instance of In + # + # source://syntax_tree//lib/syntax_tree/node.rb#6744 + def initialize(pattern:, statements:, consequent:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#6809 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#6752 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#6756 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#6742 + def comments; end + + # [nil | In | Else] the next clause in the chain + # + # source://syntax_tree//lib/syntax_tree/node.rb#6739 + def consequent; end + + # source://syntax_tree//lib/syntax_tree/node.rb#6760 + def copy(pattern: T.unsafe(nil), statements: T.unsafe(nil), consequent: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#6756 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#6775 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#6785 + def format(q); end + + # [Node] the pattern to check against + # + # source://syntax_tree//lib/syntax_tree/node.rb#6733 + def pattern; end + + # [Statements] the expressions to execute if the pattern matched + # + # source://syntax_tree//lib/syntax_tree/node.rb#6736 + def statements; end +end + +# This class can be used to build an index of the structure of Ruby files. We +# define an index as the list of constants and methods defined within a file. +# +# This index strives to be as fast as possible to better support tools like +# IDEs. Because of that, it has different backends depending on what +# functionality is available. +# +# source://syntax_tree//lib/syntax_tree/index.rb#10 +module SyntaxTree::Index + class << self + # This method accepts source code and then indexes it. + # + # source://syntax_tree//lib/syntax_tree/index.rb#674 + def index(source, backend: T.unsafe(nil)); end + + # This method accepts a filepath and then indexes it. + # + # source://syntax_tree//lib/syntax_tree/index.rb#679 + def index_file(filepath, backend: T.unsafe(nil)); end + end +end + +# This entry represents a method definition that was created using the alias +# keyword. +# +# source://syntax_tree//lib/syntax_tree/index.rb#85 +class SyntaxTree::Index::AliasMethodDefinition + # @return [AliasMethodDefinition] a new instance of AliasMethodDefinition + # + # source://syntax_tree//lib/syntax_tree/index.rb#88 + def initialize(nesting, name, location, comments); end + + # Returns the value of attribute comments. + # + # source://syntax_tree//lib/syntax_tree/index.rb#86 + def comments; end + + # Returns the value of attribute location. + # + # source://syntax_tree//lib/syntax_tree/index.rb#86 + def location; end + + # Returns the value of attribute name. + # + # source://syntax_tree//lib/syntax_tree/index.rb#86 + def name; end + + # Returns the value of attribute nesting. + # + # source://syntax_tree//lib/syntax_tree/index.rb#86 + def nesting; end +end + +# This entry represents a class definition using the class keyword. +# +# source://syntax_tree//lib/syntax_tree/index.rb#22 +class SyntaxTree::Index::ClassDefinition + # @return [ClassDefinition] a new instance of ClassDefinition + # + # source://syntax_tree//lib/syntax_tree/index.rb#25 + def initialize(nesting, name, superclass, location, comments); end + + # Returns the value of attribute comments. + # + # source://syntax_tree//lib/syntax_tree/index.rb#23 + def comments; end + + # Returns the value of attribute location. + # + # source://syntax_tree//lib/syntax_tree/index.rb#23 + def location; end + + # Returns the value of attribute name. + # + # source://syntax_tree//lib/syntax_tree/index.rb#23 + def name; end + + # Returns the value of attribute nesting. + # + # source://syntax_tree//lib/syntax_tree/index.rb#23 + def nesting; end + + # Returns the value of attribute superclass. + # + # source://syntax_tree//lib/syntax_tree/index.rb#23 + def superclass; end +end + +# This entry represents a constant assignment. +# +# source://syntax_tree//lib/syntax_tree/index.rb#35 +class SyntaxTree::Index::ConstantDefinition + # @return [ConstantDefinition] a new instance of ConstantDefinition + # + # source://syntax_tree//lib/syntax_tree/index.rb#38 + def initialize(nesting, name, location, comments); end + + # Returns the value of attribute comments. + # + # source://syntax_tree//lib/syntax_tree/index.rb#36 + def comments; end + + # Returns the value of attribute location. + # + # source://syntax_tree//lib/syntax_tree/index.rb#36 + def location; end + + # Returns the value of attribute name. + # + # source://syntax_tree//lib/syntax_tree/index.rb#36 + def name; end + + # Returns the value of attribute nesting. + # + # source://syntax_tree//lib/syntax_tree/index.rb#36 + def nesting; end +end + +# This class handles parsing comments from Ruby source code in the case that +# we use the instruction sequence backend. Because the instruction sequence +# backend doesn't provide comments (since they are dropped) we provide this +# interface to lazily parse them out. +# +# source://syntax_tree//lib/syntax_tree/index.rb#152 +class SyntaxTree::Index::EntryComments + include ::Enumerable + + # @return [EntryComments] a new instance of EntryComments + # + # source://syntax_tree//lib/syntax_tree/index.rb#156 + def initialize(file_comments, location); end + + # source://syntax_tree//lib/syntax_tree/index.rb#161 + def each(&block); end + + # Returns the value of attribute file_comments. + # + # source://syntax_tree//lib/syntax_tree/index.rb#154 + def file_comments; end + + # Returns the value of attribute location. + # + # source://syntax_tree//lib/syntax_tree/index.rb#154 + def location; end +end + +# When you're using the instruction sequence backend, this class is used to +# lazily parse comments out of the source code. +# +# source://syntax_tree//lib/syntax_tree/index.rb#98 +class SyntaxTree::Index::FileComments + # @return [FileComments] a new instance of FileComments + # + # source://syntax_tree//lib/syntax_tree/index.rb#139 + def initialize(source); end + + # source://syntax_tree//lib/syntax_tree/index.rb#143 + def comments; end + + # Returns the value of attribute source. + # + # source://syntax_tree//lib/syntax_tree/index.rb#137 + def source; end +end + +# This represents the Ruby source in the form of a file. When it needs to +# be read we'll read the file. +# +# source://syntax_tree//lib/syntax_tree/index.rb#115 +class SyntaxTree::Index::FileComments::FileSource + # @return [FileSource] a new instance of FileSource + # + # source://syntax_tree//lib/syntax_tree/index.rb#118 + def initialize(filepath); end + + # Returns the value of attribute filepath. + # + # source://syntax_tree//lib/syntax_tree/index.rb#116 + def filepath; end + + # source://syntax_tree//lib/syntax_tree/index.rb#122 + def source; end +end + +# We use the ripper library to pull out source comments. +# +# source://syntax_tree//lib/syntax_tree/index.rb#100 +class SyntaxTree::Index::FileComments::Parser < ::Ripper + # @return [Parser] a new instance of Parser + # + # source://syntax_tree//lib/syntax_tree/index.rb#103 + def initialize(*_arg0); end + + # Returns the value of attribute comments. + # + # source://syntax_tree//lib/syntax_tree/index.rb#101 + def comments; end + + # source://syntax_tree//lib/syntax_tree/index.rb#108 + def on_comment(value); end +end + +# This represents the Ruby source in the form of a string. When it needs +# to be read the string is returned. +# +# source://syntax_tree//lib/syntax_tree/index.rb#129 +class SyntaxTree::Index::FileComments::StringSource + # @return [StringSource] a new instance of StringSource + # + # source://syntax_tree//lib/syntax_tree/index.rb#132 + def initialize(source); end + + # Returns the value of attribute source. + # + # source://syntax_tree//lib/syntax_tree/index.rb#130 + def source; end +end + +# The class defined here is used to perform the indexing, depending on what +# functionality is available from the runtime. +# +# source://syntax_tree//lib/syntax_tree/index.rb#670 +SyntaxTree::Index::INDEX_BACKEND = SyntaxTree::Index::ISeqBackend + +# This backend creates the index using RubyVM::InstructionSequence, which is +# faster than using the Syntax Tree parser, but is not available on all +# runtimes. +# +# source://syntax_tree//lib/syntax_tree/index.rb#177 +class SyntaxTree::Index::ISeqBackend + # source://syntax_tree//lib/syntax_tree/index.rb#184 + def index(source); end + + # source://syntax_tree//lib/syntax_tree/index.rb#191 + def index_file(filepath); end + + private + + # source://syntax_tree//lib/syntax_tree/index.rb#242 + def find_attr_arguments(insns, index); end + + # source://syntax_tree//lib/syntax_tree/index.rb#205 + def find_constant_path(insns, index); end + + # source://syntax_tree//lib/syntax_tree/index.rb#273 + def index_iseq(iseq, file_comments); end + + # source://syntax_tree//lib/syntax_tree/index.rb#200 + def location_for(iseq); end + + # source://syntax_tree//lib/syntax_tree/index.rb#258 + def method_definition(nesting, name, location, file_comments); end +end + +# source://syntax_tree//lib/syntax_tree/index.rb#182 +SyntaxTree::Index::ISeqBackend::VM_DEFINECLASS_FLAG_HAS_SUPERCLASS = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/index.rb#181 +SyntaxTree::Index::ISeqBackend::VM_DEFINECLASS_FLAG_SCOPED = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/index.rb#178 +SyntaxTree::Index::ISeqBackend::VM_DEFINECLASS_TYPE_CLASS = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/index.rb#180 +SyntaxTree::Index::ISeqBackend::VM_DEFINECLASS_TYPE_MODULE = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/index.rb#179 +SyntaxTree::Index::ISeqBackend::VM_DEFINECLASS_TYPE_SINGLETON_CLASS = T.let(T.unsafe(nil), Integer) + +# This is a location for an index entry. +# +# source://syntax_tree//lib/syntax_tree/index.rb#12 +class SyntaxTree::Index::Location + # @return [Location] a new instance of Location + # + # source://syntax_tree//lib/syntax_tree/index.rb#15 + def initialize(line, column); end + + # Returns the value of attribute column. + # + # source://syntax_tree//lib/syntax_tree/index.rb#13 + def column; end + + # Returns the value of attribute line. + # + # source://syntax_tree//lib/syntax_tree/index.rb#13 + def line; end +end + +# This entry represents a method definition using the def keyword. +# +# source://syntax_tree//lib/syntax_tree/index.rb#59 +class SyntaxTree::Index::MethodDefinition + # @return [MethodDefinition] a new instance of MethodDefinition + # + # source://syntax_tree//lib/syntax_tree/index.rb#62 + def initialize(nesting, name, location, comments); end + + # Returns the value of attribute comments. + # + # source://syntax_tree//lib/syntax_tree/index.rb#60 + def comments; end + + # Returns the value of attribute location. + # + # source://syntax_tree//lib/syntax_tree/index.rb#60 + def location; end + + # Returns the value of attribute name. + # + # source://syntax_tree//lib/syntax_tree/index.rb#60 + def name; end + + # Returns the value of attribute nesting. + # + # source://syntax_tree//lib/syntax_tree/index.rb#60 + def nesting; end +end + +# This entry represents a module definition using the module keyword. +# +# source://syntax_tree//lib/syntax_tree/index.rb#47 +class SyntaxTree::Index::ModuleDefinition + # @return [ModuleDefinition] a new instance of ModuleDefinition + # + # source://syntax_tree//lib/syntax_tree/index.rb#50 + def initialize(nesting, name, location, comments); end + + # Returns the value of attribute comments. + # + # source://syntax_tree//lib/syntax_tree/index.rb#48 + def comments; end + + # Returns the value of attribute location. + # + # source://syntax_tree//lib/syntax_tree/index.rb#48 + def location; end + + # Returns the value of attribute name. + # + # source://syntax_tree//lib/syntax_tree/index.rb#48 + def name; end + + # Returns the value of attribute nesting. + # + # source://syntax_tree//lib/syntax_tree/index.rb#48 + def nesting; end +end + +# This backend creates the index using the Syntax Tree parser and a visitor. +# It is not as fast as using the instruction sequences directly, but is +# supported on all runtimes. +# +# source://syntax_tree//lib/syntax_tree/index.rb#452 +class SyntaxTree::Index::ParserBackend + # source://syntax_tree//lib/syntax_tree/index.rb#659 + def index(source); end + + # source://syntax_tree//lib/syntax_tree/index.rb#663 + def index_file(filepath); end +end + +# source://syntax_tree//lib/syntax_tree/index.rb#453 +class SyntaxTree::Index::ParserBackend::ConstantNameVisitor < ::SyntaxTree::Visitor + # source://syntax_tree//lib/syntax_tree/index.rb#458 + def visit_const_path_ref(node); end + + # source://syntax_tree//lib/syntax_tree/index.rb#454 + def visit_const_ref(node); end + + # source://syntax_tree//lib/syntax_tree/index.rb#462 + def visit_var_ref(node); end +end + +# source://syntax_tree//lib/syntax_tree/index.rb#467 +class SyntaxTree::Index::ParserBackend::IndexVisitor < ::SyntaxTree::Visitor + # @return [IndexVisitor] a new instance of IndexVisitor + # + # source://syntax_tree//lib/syntax_tree/index.rb#470 + def initialize; end + + # Returns the value of attribute nesting. + # + # source://syntax_tree//lib/syntax_tree/index.rb#468 + def nesting; end + + # Returns the value of attribute results. + # + # source://syntax_tree//lib/syntax_tree/index.rb#468 + def results; end + + # Returns the value of attribute statements. + # + # source://syntax_tree//lib/syntax_tree/index.rb#468 + def statements; end + + # source://syntax_tree//lib/syntax_tree/index.rb#477 + def visit_alias(node); end + + # source://syntax_tree//lib/syntax_tree/index.rb#496 + def visit_assign(node); end + + # source://syntax_tree//lib/syntax_tree/index.rb#515 + def visit_class(node); end + + # source://syntax_tree//lib/syntax_tree/index.rb#547 + def visit_command(node); end + + # source://syntax_tree//lib/syntax_tree/index.rb#584 + def visit_def(node); end + + # source://syntax_tree//lib/syntax_tree/index.rb#608 + def visit_module(node); end + + # source://syntax_tree//lib/syntax_tree/index.rb#626 + def visit_program(node); end + + # source://syntax_tree//lib/syntax_tree/index.rb#631 + def visit_statements(node); end + + private + + # source://syntax_tree//lib/syntax_tree/index.rb#639 + def comments_for(node); end +end + +# This entry represents a singleton method definition using the def keyword +# with a specified target. +# +# source://syntax_tree//lib/syntax_tree/index.rb#72 +class SyntaxTree::Index::SingletonMethodDefinition + # @return [SingletonMethodDefinition] a new instance of SingletonMethodDefinition + # + # source://syntax_tree//lib/syntax_tree/index.rb#75 + def initialize(nesting, name, location, comments); end + + # Returns the value of attribute comments. + # + # source://syntax_tree//lib/syntax_tree/index.rb#73 + def comments; end + + # Returns the value of attribute location. + # + # source://syntax_tree//lib/syntax_tree/index.rb#73 + def location; end + + # Returns the value of attribute name. + # + # source://syntax_tree//lib/syntax_tree/index.rb#73 + def name; end + + # Returns the value of attribute nesting. + # + # source://syntax_tree//lib/syntax_tree/index.rb#73 + def nesting; end +end + +# Int represents an integer number literal. +# +# 1 +# +# source://syntax_tree//lib/syntax_tree/node.rb#6819 +class SyntaxTree::Int < ::SyntaxTree::Node + # @return [Int] a new instance of Int + # + # source://syntax_tree//lib/syntax_tree/node.rb#6826 + def initialize(value:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#6866 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#6832 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#6836 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#6824 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#6840 + def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#6836 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#6850 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#6854 + def format(q); end + + # [String] the value of the integer + # + # source://syntax_tree//lib/syntax_tree/node.rb#6821 + def value; end +end + +# This visitor transforms the AST into a hash that contains only primitives +# that can be easily serialized into JSON. +# +# source://syntax_tree//lib/syntax_tree/json_visitor.rb#8 +class SyntaxTree::JSONVisitor < ::SyntaxTree::FieldVisitor + # @return [JSONVisitor] a new instance of JSONVisitor + # + # source://syntax_tree//lib/syntax_tree/json_visitor.rb#11 + def initialize; end + + # Returns the value of attribute target. + # + # source://syntax_tree//lib/syntax_tree/json_visitor.rb#9 + def target; end + + private + + # source://syntax_tree//lib/syntax_tree/json_visitor.rb#17 + def comments(node); end + + # source://syntax_tree//lib/syntax_tree/json_visitor.rb#21 + def field(name, value); end + + # source://syntax_tree//lib/syntax_tree/json_visitor.rb#25 + def list(name, values); end + + # source://syntax_tree//lib/syntax_tree/json_visitor.rb#29 + def node(node, type); end + + # source://syntax_tree//lib/syntax_tree/json_visitor.rb#38 + def pairs(name, values); end + + # source://syntax_tree//lib/syntax_tree/json_visitor.rb#42 + def text(name, value); end + + # source://syntax_tree//lib/syntax_tree/json_visitor.rb#46 + def visit_location(location); end +end + +# Kw represents the use of a keyword. It can be almost anywhere in the syntax +# tree, so you end up seeing it quite a lot. +# +# if value +# end +# +# In the above example, there would be two Kw nodes: one for the if and one +# for the end. Note that anything that matches the list of keywords in Ruby +# will use a Kw, so if you use a keyword in a symbol literal for instance: +# +# :if +# +# then the contents of the symbol node will contain a Kw node. +# +# source://syntax_tree//lib/syntax_tree/node.rb#6935 +class SyntaxTree::Kw < ::SyntaxTree::Node + # @return [Kw] a new instance of Kw + # + # source://syntax_tree//lib/syntax_tree/node.rb#6945 + def initialize(value:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#6978 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#6952 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#6956 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#6943 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#6960 + def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#6956 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#6970 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#6974 + def format(q); end + + # [Symbol] the symbol version of the value + # + # source://syntax_tree//lib/syntax_tree/node.rb#6940 + def name; end + + # [String] the value of the keyword + # + # source://syntax_tree//lib/syntax_tree/node.rb#6937 + def value; end +end + +# KwRestParam represents defining a parameter in a method definition that +# accepts all remaining keyword parameters. +# +# def method(**kwargs) end +# +# source://syntax_tree//lib/syntax_tree/node.rb#6988 +class SyntaxTree::KwRestParam < ::SyntaxTree::Node + # @return [KwRestParam] a new instance of KwRestParam + # + # source://syntax_tree//lib/syntax_tree/node.rb#6995 + def initialize(name:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7031 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7001 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7005 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#6993 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#7009 + def copy(name: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7005 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#7022 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7026 + def format(q); end + + # [nil | Ident] the name of the parameter + # + # source://syntax_tree//lib/syntax_tree/node.rb#6990 + def name; end +end + +# LBrace represents the use of a left brace, i.e., {. +# +# source://syntax_tree//lib/syntax_tree/node.rb#7332 +class SyntaxTree::LBrace < ::SyntaxTree::Node + # @return [LBrace] a new instance of LBrace + # + # source://syntax_tree//lib/syntax_tree/node.rb#7339 + def initialize(value:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7374 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7345 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7349 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#7337 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#7353 + def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7349 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#7366 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7370 + def format(q); end + + # [String] the left brace + # + # source://syntax_tree//lib/syntax_tree/node.rb#7334 + def value; end + + class << self + # Because some nodes keep around a { token so that comments can be attached + # to it if they occur in the source, oftentimes an LBrace is a child of + # another node. This means it's required at initialization time. To make it + # easier to create LBrace nodes without any specific value, this method + # provides a default node. + # + # source://syntax_tree//lib/syntax_tree/node.rb#7383 + def default; end + end +end + +# LBracket represents the use of a left bracket, i.e., [. +# +# source://syntax_tree//lib/syntax_tree/node.rb#7389 +class SyntaxTree::LBracket < ::SyntaxTree::Node + # @return [LBracket] a new instance of LBracket + # + # source://syntax_tree//lib/syntax_tree/node.rb#7396 + def initialize(value:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7431 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7402 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7406 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#7394 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#7410 + def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7406 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#7423 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7427 + def format(q); end + + # [String] the left bracket + # + # source://syntax_tree//lib/syntax_tree/node.rb#7391 + def value; end + + class << self + # Because some nodes keep around a [ token so that comments can be attached + # to it if they occur in the source, oftentimes an LBracket is a child of + # another node. This means it's required at initialization time. To make it + # easier to create LBracket nodes without any specific value, this method + # provides a default node. + # + # source://syntax_tree//lib/syntax_tree/node.rb#7440 + def default; end + end +end + +# LParen represents the use of a left parenthesis, i.e., (. +# +# source://syntax_tree//lib/syntax_tree/node.rb#7446 +class SyntaxTree::LParen < ::SyntaxTree::Node + # @return [LParen] a new instance of LParen + # + # source://syntax_tree//lib/syntax_tree/node.rb#7453 + def initialize(value:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7488 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7459 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7463 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#7451 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#7467 + def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7463 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#7480 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7484 + def format(q); end + + # [String] the left parenthesis + # + # source://syntax_tree//lib/syntax_tree/node.rb#7448 + def value; end + + class << self + # Because some nodes keep around a ( token so that comments can be attached + # to it if they occur in the source, oftentimes an LParen is a child of + # another node. This means it's required at initialization time. To make it + # easier to create LParen nodes without any specific value, this method + # provides a default node. + # + # source://syntax_tree//lib/syntax_tree/node.rb#7497 + def default; end + end +end + +# Label represents the use of an identifier to associate with an object. You +# can find it in a hash key, as in: +# +# { key: value } +# +# In this case "key:" would be the body of the label. You can also find it in +# pattern matching, as in: +# +# case value +# in key: +# end +# +# In this case "key:" would be the body of the label. +# +# source://syntax_tree//lib/syntax_tree/node.rb#7049 +class SyntaxTree::Label < ::SyntaxTree::Node + # @return [Label] a new instance of Label + # + # source://syntax_tree//lib/syntax_tree/node.rb#7056 + def initialize(value:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7091 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7062 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7066 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#7054 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#7070 + def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7066 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#7083 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7087 + def format(q); end + + # [String] the value of the label + # + # source://syntax_tree//lib/syntax_tree/node.rb#7051 + def value; end +end + +# LabelEnd represents the end of a dynamic symbol. +# +# { "key": value } +# +# In the example above, LabelEnd represents the "\":" token at the end of the +# hash key. This node is important for determining the type of quote being +# used by the label. +# +# source://syntax_tree//lib/syntax_tree/node.rb#7103 +class SyntaxTree::LabelEnd < ::SyntaxTree::Node + # @return [LabelEnd] a new instance of LabelEnd + # + # source://syntax_tree//lib/syntax_tree/node.rb#7107 + def initialize(value:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7133 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7112 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7116 + def child_nodes; end + + # source://syntax_tree//lib/syntax_tree/node.rb#7120 + def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7116 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#7129 + def deconstruct_keys(_keys); end + + # [String] the end of the label + # + # source://syntax_tree//lib/syntax_tree/node.rb#7105 + def value; end +end + +# Lambda represents using a lambda literal (not the lambda method call). +# +# ->(value) { value * 2 } +# +# source://syntax_tree//lib/syntax_tree/node.rb#7142 +class SyntaxTree::Lambda < ::SyntaxTree::Node + # @return [Lambda] a new instance of Lambda + # + # source://syntax_tree//lib/syntax_tree/node.rb#7152 + def initialize(params:, statements:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7255 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7159 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7163 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#7150 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#7167 + def copy(params: T.unsafe(nil), statements: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7163 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#7181 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7190 + def format(q); end + + # [LambdaVar | Paren] the parameter declaration for this lambda + # + # source://syntax_tree//lib/syntax_tree/node.rb#7144 + def params; end + + # [BodyStmt | Statements] the expressions to be executed in this lambda + # + # source://syntax_tree//lib/syntax_tree/node.rb#7147 + def statements; end +end + +# LambdaVar represents the parameters being declared for a lambda. Effectively +# this node is everything contained within the parentheses. This includes all +# of the various parameter types, as well as block-local variable +# declarations. +# +# -> (positional, optional = value, keyword:, █ local) do +# end +# +# source://syntax_tree//lib/syntax_tree/node.rb#7269 +class SyntaxTree::LambdaVar < ::SyntaxTree::Node + # @return [LambdaVar] a new instance of LambdaVar + # + # source://syntax_tree//lib/syntax_tree/node.rb#7279 + def initialize(params:, locals:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7325 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7286 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7290 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#7277 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#7294 + def copy(params: T.unsafe(nil), locals: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7290 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#7308 + def deconstruct_keys(_keys); end + + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/node.rb#7312 + def empty?; end + + # source://syntax_tree//lib/syntax_tree/node.rb#7316 + def format(q); end + + # [Array[ Ident ]] the list of block-local variable declarations + # + # source://syntax_tree//lib/syntax_tree/node.rb#7274 + def locals; end + + # [Params] the parameters being declared with the block + # + # source://syntax_tree//lib/syntax_tree/node.rb#7271 + def params; end +end + +# Syntax Tree additionally ships with a language server conforming to the +# language server protocol. It can be invoked through the CLI by running: +# +# stree lsp +# +# source://syntax_tree//lib/syntax_tree/language_server.rb#14 +class SyntaxTree::LanguageServer + # @return [LanguageServer] a new instance of LanguageServer + # + # source://syntax_tree//lib/syntax_tree/language_server.rb#217 + def initialize(input: T.unsafe(nil), output: T.unsafe(nil), print_width: T.unsafe(nil)); end + + # Returns the value of attribute input. + # + # source://syntax_tree//lib/syntax_tree/language_server.rb#215 + def input; end + + # Returns the value of attribute output. + # + # source://syntax_tree//lib/syntax_tree/language_server.rb#215 + def output; end + + # Returns the value of attribute print_width. + # + # source://syntax_tree//lib/syntax_tree/language_server.rb#215 + def print_width; end + + # source://syntax_tree//lib/syntax_tree/language_server.rb#228 + def run; end + + private + + # source://syntax_tree//lib/syntax_tree/language_server.rb#280 + def capabilities; end + + # source://syntax_tree//lib/syntax_tree/language_server.rb#293 + def format(source, extension); end + + # source://syntax_tree//lib/syntax_tree/language_server.rb#317 + def inlay_hints(source); end + + # source://syntax_tree//lib/syntax_tree/language_server.rb#333 + def log(message); end + + # source://syntax_tree//lib/syntax_tree/language_server.rb#327 + def write(value); end +end + +# This class provides inlay hints for the language server. For more +# information, see the spec here: +# https://github.com/microsoft/language-server-protocol/issues/956. +# +# source://syntax_tree//lib/syntax_tree/language_server.rb#18 +class SyntaxTree::LanguageServer::InlayHints < ::SyntaxTree::Visitor + # @return [InlayHints] a new instance of InlayHints + # + # source://syntax_tree//lib/syntax_tree/language_server.rb#43 + def initialize; end + + # Returns the value of attribute hints. + # + # source://syntax_tree//lib/syntax_tree/language_server.rb#41 + def hints; end + + # Returns the value of attribute stack. + # + # source://syntax_tree//lib/syntax_tree/language_server.rb#41 + def stack; end + + # source://syntax_tree//lib/syntax_tree/language_server.rb#48 + def visit(node); end + + # source://syntax_tree//lib/syntax_tree/language_server.rb#67 + def visit_assign(node); end + + # source://syntax_tree//lib/syntax_tree/language_server.rb#81 + def visit_binary(node); end + + # source://syntax_tree//lib/syntax_tree/language_server.rb#102 + def visit_if_op(node); end + + # source://syntax_tree//lib/syntax_tree/language_server.rb#124 + def visit_rescue(node); end + + # source://syntax_tree//lib/syntax_tree/language_server.rb#145 + def visit_unary(node); end + + private + + # source://syntax_tree//lib/syntax_tree/language_server.rb#156 + def parentheses(location); end +end + +# This represents a hint that is going to be displayed in the editor. +# +# source://syntax_tree//lib/syntax_tree/language_server.rb#20 +class SyntaxTree::LanguageServer::InlayHints::Hint + # @return [Hint] a new instance of Hint + # + # source://syntax_tree//lib/syntax_tree/language_server.rb#23 + def initialize(line:, character:, label:); end + + # Returns the value of attribute character. + # + # source://syntax_tree//lib/syntax_tree/language_server.rb#21 + def character; end + + # Returns the value of attribute label. + # + # source://syntax_tree//lib/syntax_tree/language_server.rb#21 + def label; end + + # Returns the value of attribute line. + # + # source://syntax_tree//lib/syntax_tree/language_server.rb#21 + def line; end + + # This is the shape that the LSP expects. + # + # source://syntax_tree//lib/syntax_tree/language_server.rb#30 + def to_json(*opts); end +end + +# This is a small module that effectively mirrors pattern matching. We're +# using it so that we can support truffleruby without having to ignore the +# language server. +# +# source://syntax_tree//lib/syntax_tree/language_server.rb#174 +module SyntaxTree::LanguageServer::Request + class << self + # source://syntax_tree//lib/syntax_tree/language_server.rb#203 + def [](value); end + end +end + +# Represents a hash pattern. +# +# source://syntax_tree//lib/syntax_tree/language_server.rb#176 +class SyntaxTree::LanguageServer::Request::Shape + # @return [Shape] a new instance of Shape + # + # source://syntax_tree//lib/syntax_tree/language_server.rb#179 + def initialize(values); end + + # source://syntax_tree//lib/syntax_tree/language_server.rb#183 + def ===(other); end + + # Returns the value of attribute values. + # + # source://syntax_tree//lib/syntax_tree/language_server.rb#177 + def values; end +end + +# Represents an array pattern. +# +# source://syntax_tree//lib/syntax_tree/language_server.rb#191 +class SyntaxTree::LanguageServer::Request::Tuple + # @return [Tuple] a new instance of Tuple + # + # source://syntax_tree//lib/syntax_tree/language_server.rb#194 + def initialize(values); end + + # source://syntax_tree//lib/syntax_tree/language_server.rb#198 + def ===(other); end + + # Returns the value of attribute values. + # + # source://syntax_tree//lib/syntax_tree/language_server.rb#192 + def values; end +end + +# Represents the location of a node in the tree from the source code. +# +# source://syntax_tree//lib/syntax_tree/node.rb#5 +class SyntaxTree::Location + # @return [Location] a new instance of Location + # + # source://syntax_tree//lib/syntax_tree/node.rb#13 + def initialize(start_line:, start_char:, start_column:, end_line:, end_char:, end_column:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#33 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#50 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#54 + def deconstruct_keys(_keys); end + + # Returns the value of attribute end_char. + # + # source://syntax_tree//lib/syntax_tree/node.rb#6 + def end_char; end + + # Returns the value of attribute end_column. + # + # source://syntax_tree//lib/syntax_tree/node.rb#6 + def end_column; end + + # Returns the value of attribute end_line. + # + # source://syntax_tree//lib/syntax_tree/node.rb#6 + def end_line; end + + # source://syntax_tree//lib/syntax_tree/node.rb#29 + def lines; end + + # Returns the value of attribute start_char. + # + # source://syntax_tree//lib/syntax_tree/node.rb#6 + def start_char; end + + # Returns the value of attribute start_column. + # + # source://syntax_tree//lib/syntax_tree/node.rb#6 + def start_column; end + + # Returns the value of attribute start_line. + # + # source://syntax_tree//lib/syntax_tree/node.rb#6 + def start_line; end + + # source://syntax_tree//lib/syntax_tree/node.rb#39 + def to(other); end + + class << self + # A convenience method that is typically used when you don't care about the + # location of a node, but need to create a Location instance to pass to a + # constructor. + # + # source://syntax_tree//lib/syntax_tree/node.rb#90 + def default; end + + # source://syntax_tree//lib/syntax_tree/node.rb#76 + def fixed(line:, char:, column:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#65 + def token(line:, char:, column:, size:); end + end +end + +# Formats an Until or While node. +# +# source://syntax_tree//lib/syntax_tree/node.rb#11394 +class SyntaxTree::LoopFormatter + # @return [LoopFormatter] a new instance of LoopFormatter + # + # source://syntax_tree//lib/syntax_tree/node.rb#11401 + def initialize(keyword, node); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11406 + def format(q); end + + # [String] the name of the keyword used for this loop + # + # source://syntax_tree//lib/syntax_tree/node.rb#11396 + def keyword; end + + # [Until | While] the node that is being formatted + # + # source://syntax_tree//lib/syntax_tree/node.rb#11399 + def node; end + + private + + # source://syntax_tree//lib/syntax_tree/node.rb#11453 + def format_break(q); end +end + +# MAssign is a parent node of any kind of multiple assignment. This includes +# splitting out variables on the left like: +# +# first, second, third = value +# +# as well as splitting out variables on the right, as in: +# +# value = first, second, third +# +# Both sides support splats, as well as variables following them. There's also +# destructuring behavior that you can achieve with the following: +# +# first, = value +# +# source://syntax_tree//lib/syntax_tree/node.rb#7516 +class SyntaxTree::MAssign < ::SyntaxTree::Node + # @return [MAssign] a new instance of MAssign + # + # source://syntax_tree//lib/syntax_tree/node.rb#7526 + def initialize(target:, value:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7570 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7533 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7537 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#7524 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#7541 + def copy(target: T.unsafe(nil), value: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7537 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#7555 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7559 + def format(q); end + + # [MLHS | MLHSParen] the target of the multiple assignment + # + # source://syntax_tree//lib/syntax_tree/node.rb#7518 + def target; end + + # [Node] the value being assigned + # + # source://syntax_tree//lib/syntax_tree/node.rb#7521 + def value; end +end + +# MLHS represents a list of values being destructured on the left-hand side +# of a multiple assignment. +# +# first, second, third = value +# +# source://syntax_tree//lib/syntax_tree/node.rb#7654 +class SyntaxTree::MLHS < ::SyntaxTree::Node + # @return [MLHS] a new instance of MLHS + # + # source://syntax_tree//lib/syntax_tree/node.rb#7671 + def initialize(parts:, location:, comma: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7709 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7678 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7682 + def child_nodes; end + + # [boolean] whether or not there is a trailing comma at the end of this + # list, which impacts destructuring. It's an attr_accessor so that while + # the syntax tree is being built it can be set by its parent node + # + # source://syntax_tree//lib/syntax_tree/node.rb#7666 + def comma; end + + # [boolean] whether or not there is a trailing comma at the end of this + # list, which impacts destructuring. It's an attr_accessor so that while + # the syntax tree is being built it can be set by its parent node + # + # source://syntax_tree//lib/syntax_tree/node.rb#7666 + def comma=(_arg0); end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#7669 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#7686 + def copy(parts: T.unsafe(nil), location: T.unsafe(nil), comma: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7682 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#7700 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7704 + def format(q); end + + # [ + # Array[ + # ARefField | ArgStar | ConstPathField | Field | Ident | MLHSParen | + # TopConstField | VarField + # ] + # ] the parts of the left-hand side of a multiple assignment + # + # source://syntax_tree//lib/syntax_tree/node.rb#7661 + def parts; end +end + +# MLHSParen represents parentheses being used to destruct values in a multiple +# assignment on the left hand side. +# +# (left, right) = value +# +# source://syntax_tree//lib/syntax_tree/node.rb#7720 +class SyntaxTree::MLHSParen < ::SyntaxTree::Node + # @return [MLHSParen] a new instance of MLHSParen + # + # source://syntax_tree//lib/syntax_tree/node.rb#7732 + def initialize(contents:, location:, comma: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7785 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7739 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7743 + def child_nodes; end + + # [boolean] whether or not there is a trailing comma at the end of this + # list, which impacts destructuring. It's an attr_accessor so that while + # the syntax tree is being built it can be set by its parent node + # + # source://syntax_tree//lib/syntax_tree/node.rb#7727 + def comma; end + + # [boolean] whether or not there is a trailing comma at the end of this + # list, which impacts destructuring. It's an attr_accessor so that while + # the syntax tree is being built it can be set by its parent node + # + # source://syntax_tree//lib/syntax_tree/node.rb#7727 + def comma=(_arg0); end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#7730 + def comments; end + + # [MLHS | MLHSParen] the contents inside of the parentheses + # + # source://syntax_tree//lib/syntax_tree/node.rb#7722 + def contents; end + + # source://syntax_tree//lib/syntax_tree/node.rb#7747 + def copy(contents: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7743 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#7760 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7764 + def format(q); end +end + +# MRHS represents the values that are being assigned on the right-hand side of +# a multiple assignment. +# +# values = first, second, third +# +# source://syntax_tree//lib/syntax_tree/node.rb#7885 +class SyntaxTree::MRHS < ::SyntaxTree::Node + # @return [MRHS] a new instance of MRHS + # + # source://syntax_tree//lib/syntax_tree/node.rb#7892 + def initialize(parts:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7927 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7898 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7902 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#7890 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#7906 + def copy(parts: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7902 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#7919 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7923 + def format(q); end + + # [Array[Node]] the parts that are being assigned + # + # source://syntax_tree//lib/syntax_tree/node.rb#7887 + def parts; end +end + +# This visitor transforms the AST into a Ruby pattern matching expression that +# would match correctly against the AST. +# +# source://syntax_tree//lib/syntax_tree/match_visitor.rb#6 +class SyntaxTree::MatchVisitor < ::SyntaxTree::FieldVisitor + # @return [MatchVisitor] a new instance of MatchVisitor + # + # source://syntax_tree//lib/syntax_tree/match_visitor.rb#9 + def initialize(q); end + + # Returns the value of attribute q. + # + # source://syntax_tree//lib/syntax_tree/match_visitor.rb#7 + def q; end + + # source://syntax_tree//lib/syntax_tree/match_visitor.rb#13 + def visit(node); end + + private + + # source://syntax_tree//lib/syntax_tree/match_visitor.rb#30 + def comments(node); end + + # source://syntax_tree//lib/syntax_tree/match_visitor.rb#44 + def field(name, value); end + + # source://syntax_tree//lib/syntax_tree/match_visitor.rb#52 + def list(name, values); end + + # source://syntax_tree//lib/syntax_tree/match_visitor.rb#65 + def node(node, _type); end + + # source://syntax_tree//lib/syntax_tree/match_visitor.rb#86 + def pairs(name, values); end + + # source://syntax_tree//lib/syntax_tree/match_visitor.rb#112 + def text(name, value); end +end + +# This module is responsible for rendering mermaid (https://mermaid.js.org/) +# flow charts. +# +# source://syntax_tree//lib/syntax_tree/mermaid.rb#9 +module SyntaxTree::Mermaid + class << self + # Escape a label to be used in the mermaid syntax. This is used to escape + # HTML entities such that they render properly within the quotes. + # + # source://syntax_tree//lib/syntax_tree/mermaid.rb#158 + def escape(label); end + + # Create a new flowchart. If a block is given, it will be yielded to and + # the flowchart will be rendered. Otherwise, the flowchart will be + # returned. + # + # source://syntax_tree//lib/syntax_tree/mermaid.rb#165 + def flowchart; end + end +end + +# This is the main class that handles rendering a flowchart. It keeps track +# of its nodes and links and renders them according to the mermaid syntax. +# +# source://syntax_tree//lib/syntax_tree/mermaid.rb#12 +class SyntaxTree::Mermaid::FlowChart + # @return [FlowChart] a new instance of FlowChart + # + # source://syntax_tree//lib/syntax_tree/mermaid.rb#15 + def initialize; end + + # Retrieve a node that has already been added to the flowchart by its id. + # + # source://syntax_tree//lib/syntax_tree/mermaid.rb#25 + def fetch(id); end + + # Add a link to the flowchart between two nodes with an optional label. + # + # source://syntax_tree//lib/syntax_tree/mermaid.rb#30 + def link(from, to, label = T.unsafe(nil), type: T.unsafe(nil), color: T.unsafe(nil)); end + + # Returns the value of attribute links. + # + # source://syntax_tree//lib/syntax_tree/mermaid.rb#13 + def links; end + + # Add a node to the flowchart with an optional label. + # + # source://syntax_tree//lib/syntax_tree/mermaid.rb#39 + def node(id, label = T.unsafe(nil), shape: T.unsafe(nil)); end + + # Returns the value of attribute nodes. + # + # source://syntax_tree//lib/syntax_tree/mermaid.rb#13 + def nodes; end + + # Returns the value of attribute output. + # + # source://syntax_tree//lib/syntax_tree/mermaid.rb#13 + def output; end + + # Returns the value of attribute prefix. + # + # source://syntax_tree//lib/syntax_tree/mermaid.rb#13 + def prefix; end + + # Return the rendered flowchart. + # + # source://syntax_tree//lib/syntax_tree/mermaid.rb#64 + def render; end + + # Add a subgraph to the flowchart. Within the given block, all of the + # nodes will be rendered within the subgraph. + # + # source://syntax_tree//lib/syntax_tree/mermaid.rb#49 + def subgraph(label); end +end + +# This class represents a link between two nodes in a flowchart. It is not +# meant to be interacted with directly, but rather used as a data structure +# by the FlowChart class. +# +# source://syntax_tree//lib/syntax_tree/mermaid.rb#78 +class SyntaxTree::Mermaid::Link + # @return [Link] a new instance of Link + # + # source://syntax_tree//lib/syntax_tree/mermaid.rb#84 + def initialize(from, to, label, type, color); end + + # Returns the value of attribute color. + # + # source://syntax_tree//lib/syntax_tree/mermaid.rb#82 + def color; end + + # Returns the value of attribute from. + # + # source://syntax_tree//lib/syntax_tree/mermaid.rb#82 + def from; end + + # Returns the value of attribute label. + # + # source://syntax_tree//lib/syntax_tree/mermaid.rb#82 + def label; end + + # source://syntax_tree//lib/syntax_tree/mermaid.rb#95 + def render; end + + # Returns the value of attribute to. + # + # source://syntax_tree//lib/syntax_tree/mermaid.rb#82 + def to; end + + # Returns the value of attribute type. + # + # source://syntax_tree//lib/syntax_tree/mermaid.rb#82 + def type; end + + private + + # source://syntax_tree//lib/syntax_tree/mermaid.rb#108 + def sides; end +end + +# source://syntax_tree//lib/syntax_tree/mermaid.rb#80 +SyntaxTree::Mermaid::Link::COLORS = T.let(T.unsafe(nil), Array) + +# source://syntax_tree//lib/syntax_tree/mermaid.rb#79 +SyntaxTree::Mermaid::Link::TYPES = T.let(T.unsafe(nil), Array) + +# This class represents a node in a flowchart. Unlike the Link class, it can +# be used directly. It is the return value of the #node method, and is meant +# to be passed around to #link methods to create links between nodes. +# +# source://syntax_tree//lib/syntax_tree/mermaid.rb#121 +class SyntaxTree::Mermaid::Node + # @return [Node] a new instance of Node + # + # source://syntax_tree//lib/syntax_tree/mermaid.rb#126 + def initialize(id, label, shape); end + + # Returns the value of attribute id. + # + # source://syntax_tree//lib/syntax_tree/mermaid.rb#124 + def id; end + + # Returns the value of attribute label. + # + # source://syntax_tree//lib/syntax_tree/mermaid.rb#124 + def label; end + + # source://syntax_tree//lib/syntax_tree/mermaid.rb#134 + def render; end + + # Returns the value of attribute shape. + # + # source://syntax_tree//lib/syntax_tree/mermaid.rb#124 + def shape; end + + private + + # source://syntax_tree//lib/syntax_tree/mermaid.rb#141 + def bounds; end +end + +# source://syntax_tree//lib/syntax_tree/mermaid.rb#122 +SyntaxTree::Mermaid::Node::SHAPES = T.let(T.unsafe(nil), Array) + +# This visitor transforms the AST into a mermaid flow chart. +# +# source://syntax_tree//lib/syntax_tree/mermaid_visitor.rb#5 +class SyntaxTree::MermaidVisitor < ::SyntaxTree::FieldVisitor + # @return [MermaidVisitor] a new instance of MermaidVisitor + # + # source://syntax_tree//lib/syntax_tree/mermaid_visitor.rb#8 + def initialize; end + + # Returns the value of attribute flowchart. + # + # source://syntax_tree//lib/syntax_tree/mermaid_visitor.rb#6 + def flowchart; end + + # Returns the value of attribute target. + # + # source://syntax_tree//lib/syntax_tree/mermaid_visitor.rb#6 + def target; end + + # source://syntax_tree//lib/syntax_tree/mermaid_visitor.rb#13 + def visit_program(node); end + + private + + # source://syntax_tree//lib/syntax_tree/mermaid_visitor.rb#20 + def comments(node); end + + # source://syntax_tree//lib/syntax_tree/mermaid_visitor.rb#24 + def field(name, value); end + + # source://syntax_tree//lib/syntax_tree/mermaid_visitor.rb#37 + def list(name, values); end + + # source://syntax_tree//lib/syntax_tree/mermaid_visitor.rb#43 + def node(node, type); end + + # source://syntax_tree//lib/syntax_tree/mermaid_visitor.rb#55 + def pairs(name, values); end + + # source://syntax_tree//lib/syntax_tree/mermaid_visitor.rb#65 + def text(name, value); end +end + +# MethodAddBlock represents a method call with a block argument. +# +# method {} +# +# source://syntax_tree//lib/syntax_tree/node.rb#7579 +class SyntaxTree::MethodAddBlock < ::SyntaxTree::Node + # @return [MethodAddBlock] a new instance of MethodAddBlock + # + # source://syntax_tree//lib/syntax_tree/node.rb#7589 + def initialize(call:, block:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7638 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7596 + def accept(visitor); end + + # [BlockNode] the block being sent with the method call + # + # source://syntax_tree//lib/syntax_tree/node.rb#7584 + def block; end + + # [ARef | CallNode | Command | CommandCall | Super | ZSuper] the method call + # + # source://syntax_tree//lib/syntax_tree/node.rb#7581 + def call; end + + # source://syntax_tree//lib/syntax_tree/node.rb#7600 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#7587 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#7604 + def copy(call: T.unsafe(nil), block: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7600 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#7618 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7622 + def format(q); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7643 + def format_contents(q); end +end + +# ModuleDeclaration represents defining a module using the +module+ keyword. +# +# module Namespace +# end +# +# source://syntax_tree//lib/syntax_tree/node.rb#7795 +class SyntaxTree::ModuleDeclaration < ::SyntaxTree::Node + # @return [ModuleDeclaration] a new instance of ModuleDeclaration + # + # source://syntax_tree//lib/syntax_tree/node.rb#7805 + def initialize(constant:, bodystmt:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7865 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7812 + def accept(visitor); end + + # [BodyStmt] the expressions to be executed in the context of the module + # + # source://syntax_tree//lib/syntax_tree/node.rb#7800 + def bodystmt; end + + # source://syntax_tree//lib/syntax_tree/node.rb#7816 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#7803 + def comments; end + + # [ConstPathRef | ConstRef | TopConstRef] the name of the module + # + # source://syntax_tree//lib/syntax_tree/node.rb#7797 + def constant; end + + # source://syntax_tree//lib/syntax_tree/node.rb#7820 + def copy(constant: T.unsafe(nil), bodystmt: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7816 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#7834 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7843 + def format(q); end + + private + + # source://syntax_tree//lib/syntax_tree/node.rb#7872 + def format_declaration(q); end +end + +# This visitor walks through the tree and copies each node as it is being +# visited. This is useful for mutating the tree before it is formatted. +# +# source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#6 +class SyntaxTree::MutationVisitor < ::SyntaxTree::BasicVisitor + # @return [MutationVisitor] a new instance of MutationVisitor + # + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#9 + def initialize; end + + # Create a new mutation based on the given query that will mutate the node + # using the given block. The block should return a new node that will take + # the place of the given node in the tree. These blocks frequently make use + # of the `copy` method on nodes to create a new node with the same + # properties as the original node. + # + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#18 + def mutate(query, &block); end + + # Returns the value of attribute mutations. + # + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#7 + def mutations; end + + # This is the base visit method for each node in the tree. It first creates + # a copy of the node using the visit_* methods defined below. Then it checks + # each mutation in sequence and calls it if it finds a match. + # + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#25 + def visit(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#38 + def visit_BEGIN(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#46 + def visit_CHAR(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#51 + def visit_END(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#59 + def visit___end__(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#64 + def visit_alias(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#69 + def visit_aref(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#74 + def visit_aref_field(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#89 + def visit_arg_block(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#79 + def visit_arg_paren(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#94 + def visit_arg_star(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#84 + def visit_args(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#99 + def visit_args_forward(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#104 + def visit_array(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#112 + def visit_aryptn(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#122 + def visit_assign(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#127 + def visit_assoc(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#132 + def visit_assoc_splat(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#137 + def visit_backref(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#142 + def visit_backtick(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#147 + def visit_bare_assoc_hash(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#152 + def visit_begin(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#162 + def visit_binary(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#295 + def visit_block(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#167 + def visit_block_var(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#172 + def visit_blockarg(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#177 + def visit_bodystmt(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#187 + def visit_break(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#192 + def visit_call(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#202 + def visit_case(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#216 + def visit_class(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#225 + def visit_comma(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#230 + def visit_command(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#239 + def visit_command_call(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#249 + def visit_comment(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#254 + def visit_const(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#259 + def visit_const_path_field(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#264 + def visit_const_path_ref(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#269 + def visit_const_ref(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#274 + def visit_cvar(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#279 + def visit_def(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#290 + def visit_defined(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#313 + def visit_dyna_symbol(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#318 + def visit_else(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#326 + def visit_elsif(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#334 + def visit_embdoc(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#339 + def visit_embexpr_beg(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#344 + def visit_embexpr_end(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#349 + def visit_embvar(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#354 + def visit_ensure(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#362 + def visit_excessed_comma(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#367 + def visit_field(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#375 + def visit_float(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#380 + def visit_fndptn(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#390 + def visit_for(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#395 + def visit_gvar(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#400 + def visit_hash(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#405 + def visit_heredoc(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#414 + def visit_heredoc_beg(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#419 + def visit_heredoc_end(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#424 + def visit_hshptn(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#434 + def visit_ident(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#439 + def visit_if(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#448 + def visit_if_op(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#453 + def visit_imaginary(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#458 + def visit_in(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#466 + def visit_int(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#471 + def visit_ivar(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#476 + def visit_kw(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#481 + def visit_kwrest_param(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#486 + def visit_label(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#491 + def visit_label_end(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#496 + def visit_lambda(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#504 + def visit_lambda_var(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#509 + def visit_lbrace(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#514 + def visit_lbracket(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#519 + def visit_lparen(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#524 + def visit_massign(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#529 + def visit_method_add_block(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#534 + def visit_mlhs(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#539 + def visit_mlhs_paren(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#544 + def visit_module(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#552 + def visit_mrhs(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#557 + def visit_next(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#812 + def visit_not(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#562 + def visit_op(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#567 + def visit_opassign(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#572 + def visit_params(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#588 + def visit_paren(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#593 + def visit_period(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#157 + def visit_pinned_begin(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#854 + def visit_pinned_var_ref(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#598 + def visit_program(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#603 + def visit_qsymbols(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#611 + def visit_qsymbols_beg(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#616 + def visit_qwords(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#624 + def visit_qwords_beg(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#304 + def visit_range(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#211 + def visit_rassign(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#629 + def visit_rational(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#634 + def visit_rbrace(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#639 + def visit_rbracket(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#644 + def visit_redo(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#654 + def visit_regexp_beg(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#649 + def visit_regexp_content(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#659 + def visit_regexp_end(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#664 + def visit_regexp_literal(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#674 + def visit_rescue(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#669 + def visit_rescue_ex(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#684 + def visit_rescue_mod(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#689 + def visit_rest_param(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#694 + def visit_retry(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#699 + def visit_return(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#704 + def visit_rparen(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#709 + def visit_sclass(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#714 + def visit_statements(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#724 + def visit_string_concat(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#719 + def visit_string_content(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#729 + def visit_string_dvar(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#734 + def visit_string_embexpr(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#739 + def visit_string_literal(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#744 + def visit_super(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#749 + def visit_symbeg(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#754 + def visit_symbol_content(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#759 + def visit_symbol_literal(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#764 + def visit_symbols(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#772 + def visit_symbols_beg(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#777 + def visit_tlambda(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#782 + def visit_tlambeg(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#787 + def visit_top_const_field(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#792 + def visit_top_const_ref(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#797 + def visit_tstring_beg(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#802 + def visit_tstring_content(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#807 + def visit_tstring_end(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#817 + def visit_unary(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#822 + def visit_undef(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#827 + def visit_unless(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#836 + def visit_until(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#844 + def visit_var_field(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#849 + def visit_var_ref(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#859 + def visit_vcall(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#864 + def visit_void_stmt(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#869 + def visit_when(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#878 + def visit_while(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#886 + def visit_word(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#891 + def visit_words(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#899 + def visit_words_beg(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#904 + def visit_xstring(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#909 + def visit_xstring_literal(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#914 + def visit_yield(node); end + + # source://syntax_tree//lib/syntax_tree/mutation_visitor.rb#919 + def visit_zsuper(node); end +end + +# Next represents using the +next+ keyword. +# +# next +# +# The +next+ keyword can also optionally be called with an argument: +# +# next value +# +# +next+ can even be called with multiple arguments, but only if parentheses +# are omitted, as in: +# +# next first, second, third +# +# If a single value is being given, parentheses can be used, as in: +# +# next(value) +# +# source://syntax_tree//lib/syntax_tree/node.rb#7949 +class SyntaxTree::Next < ::SyntaxTree::Node + # @return [Next] a new instance of Next + # + # source://syntax_tree//lib/syntax_tree/node.rb#7956 + def initialize(arguments:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7991 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7962 + def accept(visitor); end + + # [Args] the arguments passed to the next keyword + # + # source://syntax_tree//lib/syntax_tree/node.rb#7951 + def arguments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#7966 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#7954 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#7970 + def copy(arguments: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7966 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#7983 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#7987 + def format(q); end +end + +# This is the parent node of all of the syntax tree nodes. It's pretty much +# exclusively here to make it easier to operate with the tree in cases where +# you're trying to monkey-patch or strictly type. +# +# source://syntax_tree//lib/syntax_tree/node.rb#105 +class SyntaxTree::Node + # @raise [NotImplementedError] + # + # source://syntax_tree//lib/syntax_tree/node.rb#109 + def accept(visitor); end + + # @raise [NotImplementedError] + # + # source://syntax_tree//lib/syntax_tree/node.rb#113 + def child_nodes; end + + # source://syntax_tree//lib/syntax_tree/node.rb#149 + def construct_keys; end + + # @raise [NotImplementedError] + # + # source://syntax_tree//lib/syntax_tree/node.rb#117 + def deconstruct; end + + # @raise [NotImplementedError] + # + # source://syntax_tree//lib/syntax_tree/node.rb#121 + def deconstruct_keys(keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#133 + def end_char; end + + # @raise [NotImplementedError] + # + # source://syntax_tree//lib/syntax_tree/node.rb#125 + def format(q); end + + # [Location] the location of this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#107 + def location; end + + # source://syntax_tree//lib/syntax_tree/node.rb#137 + def pretty_print(q); end + + # source://syntax_tree//lib/syntax_tree/node.rb#129 + def start_char; end + + # source://syntax_tree//lib/syntax_tree/node.rb#141 + def to_json(*opts); end + + # source://syntax_tree//lib/syntax_tree/node.rb#145 + def to_mermaid; end +end + +# Not represents the unary +not+ method being called on an expression. +# +# not value +# +# source://syntax_tree//lib/syntax_tree/node.rb#11093 +class SyntaxTree::Not < ::SyntaxTree::Node + # @return [Not] a new instance of Not + # + # source://syntax_tree//lib/syntax_tree/node.rb#11104 + def initialize(statement:, parentheses:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11166 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11111 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11115 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#11102 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#11119 + def copy(statement: T.unsafe(nil), parentheses: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11115 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#11133 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11142 + def format(q); end + + # [boolean] whether or not parentheses were used + # + # source://syntax_tree//lib/syntax_tree/node.rb#11098 + def parentheses; end + + # [boolean] whether or not parentheses were used + # + # source://syntax_tree//lib/syntax_tree/node.rb#11098 + def parentheses?; end + + # [nil | Node] the statement on which to operate + # + # source://syntax_tree//lib/syntax_tree/node.rb#11095 + def statement; end +end + +# Op represents an operator literal in the source. +# +# 1 + 2 +# +# In the example above, the Op node represents the + operator. +# +# source://syntax_tree//lib/syntax_tree/node.rb#8001 +class SyntaxTree::Op < ::SyntaxTree::Node + # @return [Op] a new instance of Op + # + # source://syntax_tree//lib/syntax_tree/node.rb#8011 + def initialize(value:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#8044 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#8018 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#8022 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#8009 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#8026 + def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#8022 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#8036 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#8040 + def format(q); end + + # [Symbol] the symbol version of the value + # + # source://syntax_tree//lib/syntax_tree/node.rb#8006 + def name; end + + # [String] the operator + # + # source://syntax_tree//lib/syntax_tree/node.rb#8003 + def value; end +end + +# OpAssign represents assigning a value to a variable or constant using an +# operator like += or ||=. +# +# variable += value +# +# source://syntax_tree//lib/syntax_tree/node.rb#8054 +class SyntaxTree::OpAssign < ::SyntaxTree::Node + # @return [OpAssign] a new instance of OpAssign + # + # source://syntax_tree//lib/syntax_tree/node.rb#8068 + def initialize(target:, operator:, value:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#8127 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#8076 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#8080 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#8066 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#8084 + def copy(target: T.unsafe(nil), operator: T.unsafe(nil), value: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#8080 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#8099 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#8109 + def format(q); end + + # [Op] the operator being used for the assignment + # + # source://syntax_tree//lib/syntax_tree/node.rb#8060 + def operator; end + + # [ARefField | ConstPathField | Field | TopConstField | VarField] the target + # to assign the result of the expression to + # + # source://syntax_tree//lib/syntax_tree/node.rb#8057 + def target; end + + # [Node] the expression to be assigned + # + # source://syntax_tree//lib/syntax_tree/node.rb#8063 + def value; end + + private + + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/node.rb#8134 + def skip_indent?; end +end + +# The list of nodes that represent patterns inside of pattern matching so that +# when a pattern is being printed it knows if it's nested. +# +# source://syntax_tree//lib/syntax_tree/node.rb#6171 +SyntaxTree::PATTERNS = T.let(T.unsafe(nil), Array) + +# Params represents defining parameters on a method or lambda. +# +# def method(param) end +# +# source://syntax_tree//lib/syntax_tree/node.rb#8212 +class SyntaxTree::Params < ::SyntaxTree::Node + # @return [Params] a new instance of Params + # + # source://syntax_tree//lib/syntax_tree/node.rb#8314 + def initialize(location:, requireds: T.unsafe(nil), optionals: T.unsafe(nil), rest: T.unsafe(nil), posts: T.unsafe(nil), keywords: T.unsafe(nil), keyword_rest: T.unsafe(nil), block: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#8444 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#8344 + def accept(visitor); end + + # Returns a range representing the possible number of arguments accepted + # by this params node not including the block. For example: + # + # def foo(a, b = 1, c:, d: 2, &block) + # ... + # end + # + # has arity 2..4. + # + # source://syntax_tree//lib/syntax_tree/node.rb#8467 + def arity; end + + # [nil | BlockArg] the optional block parameter + # + # source://syntax_tree//lib/syntax_tree/node.rb#8309 + def block; end + + # source://syntax_tree//lib/syntax_tree/node.rb#8348 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#8312 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#8362 + def copy(location: T.unsafe(nil), requireds: T.unsafe(nil), optionals: T.unsafe(nil), rest: T.unsafe(nil), posts: T.unsafe(nil), keywords: T.unsafe(nil), keyword_rest: T.unsafe(nil), block: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#8348 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#8390 + def deconstruct_keys(_keys); end + + # Params nodes are the most complicated in the tree. Occasionally you want + # to know if they are "empty", which means not having any parameters + # declared. This logic accesses every kind of parameter and determines if + # it's missing. + # + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/node.rb#8339 + def empty?; end + + # source://syntax_tree//lib/syntax_tree/node.rb#8404 + def format(q); end + + # [nil | :nil | ArgsForward | KwRestParam] the optional keyword rest + # parameter + # + # source://syntax_tree//lib/syntax_tree/node.rb#8306 + def keyword_rest; end + + # [Array[ [ Label, nil | Node ] ]] any keyword parameters and their + # optional default values + # + # source://syntax_tree//lib/syntax_tree/node.rb#8302 + def keywords; end + + # [Array[ [ Ident, Node ] ]] any optional parameters and their default + # values + # + # source://syntax_tree//lib/syntax_tree/node.rb#8290 + def optionals; end + + # [Array[ Ident ]] any positional parameters that exist after a rest + # parameter + # + # source://syntax_tree//lib/syntax_tree/node.rb#8298 + def posts; end + + # [Array[ Ident | MLHSParen ]] any required parameters + # + # source://syntax_tree//lib/syntax_tree/node.rb#8286 + def requireds; end + + # [nil | ArgsForward | ExcessedComma | RestParam] the optional rest + # parameter + # + # source://syntax_tree//lib/syntax_tree/node.rb#8294 + def rest; end + + private + + # source://syntax_tree//lib/syntax_tree/node.rb#8483 + def format_contents(q, parts); end +end + +# Formats the keyword position of the parameters. This includes the label, +# as well as an optional default value. +# +# source://syntax_tree//lib/syntax_tree/node.rb#8240 +class SyntaxTree::Params::KeywordFormatter + # @return [KeywordFormatter] a new instance of KeywordFormatter + # + # source://syntax_tree//lib/syntax_tree/node.rb#8247 + def initialize(name, value); end + + # source://syntax_tree//lib/syntax_tree/node.rb#8252 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#8256 + def format(q); end + + # [Ident] the name of the parameter + # + # source://syntax_tree//lib/syntax_tree/node.rb#8242 + def name; end + + # [nil | Node] the value of the parameter + # + # source://syntax_tree//lib/syntax_tree/node.rb#8245 + def value; end +end + +# Formats the keyword_rest position of the parameters. This can be the **nil +# syntax, the ... syntax, or the ** syntax. +# +# source://syntax_tree//lib/syntax_tree/node.rb#8268 +class SyntaxTree::Params::KeywordRestFormatter + # @return [KeywordRestFormatter] a new instance of KeywordRestFormatter + # + # source://syntax_tree//lib/syntax_tree/node.rb#8272 + def initialize(value); end + + # source://syntax_tree//lib/syntax_tree/node.rb#8276 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#8280 + def format(q); end + + # [:nil | ArgsForward | KwRestParam] the value of the parameter + # + # source://syntax_tree//lib/syntax_tree/node.rb#8270 + def value; end +end + +# Formats the optional position of the parameters. This includes the label, +# as well as the default value. +# +# source://syntax_tree//lib/syntax_tree/node.rb#8215 +class SyntaxTree::Params::OptionalFormatter + # @return [OptionalFormatter] a new instance of OptionalFormatter + # + # source://syntax_tree//lib/syntax_tree/node.rb#8222 + def initialize(name, value); end + + # source://syntax_tree//lib/syntax_tree/node.rb#8227 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#8231 + def format(q); end + + # [Ident] the name of the parameter + # + # source://syntax_tree//lib/syntax_tree/node.rb#8217 + def name; end + + # [Node] the value of the parameter + # + # source://syntax_tree//lib/syntax_tree/node.rb#8220 + def value; end +end + +# Paren represents using balanced parentheses in a couple places in a Ruby +# program. In general parentheses can be used anywhere a Ruby expression can +# be used. +# +# (1 + 2) +# +# source://syntax_tree//lib/syntax_tree/node.rb#8495 +class SyntaxTree::Paren < ::SyntaxTree::Node + # @return [Paren] a new instance of Paren + # + # source://syntax_tree//lib/syntax_tree/node.rb#8505 + def initialize(lparen:, contents:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#8561 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#8512 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#8516 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#8503 + def comments; end + + # [nil | Node] the expression inside the parentheses + # + # source://syntax_tree//lib/syntax_tree/node.rb#8500 + def contents; end + + # source://syntax_tree//lib/syntax_tree/node.rb#8520 + def copy(lparen: T.unsafe(nil), contents: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#8516 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#8534 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#8543 + def format(q); end + + # [LParen] the left parenthesis that opened this statement + # + # source://syntax_tree//lib/syntax_tree/node.rb#8497 + def lparen; end +end + +# If you have a modifier statement (for instance a modifier if statement or a +# modifier while loop) there are times when you need to wrap the entire +# statement in parentheses. This occurs when you have something like: +# +# foo[:foo] = +# if bar? +# baz +# end +# +# Normally we would shorten this to an inline version, which would result in: +# +# foo[:foo] = baz if bar? +# +# but this actually has different semantic meaning. The first example will +# result in a nil being inserted into the hash for the :foo key, whereas the +# second example will result in an empty hash because the if statement applies +# to the entire assignment. +# +# We can fix this in a couple of ways. We can use the then keyword, as in: +# +# foo[:foo] = if bar? then baz end +# +# But this isn't used very often. We can also just leave it as is with the +# multi-line version, but for a short predicate and short value it looks +# verbose. The last option and the one used here is to add parentheses on +# both sides of the expression, as in: +# +# foo[:foo] = (baz if bar?) +# +# This approach maintains the nice conciseness of the inline version, while +# keeping the correct semantic meaning. +# +# source://syntax_tree//lib/syntax_tree/node.rb#8171 +module SyntaxTree::Parentheses + class << self + # source://syntax_tree//lib/syntax_tree/node.rb#8191 + def break(q); end + + # source://syntax_tree//lib/syntax_tree/node.rb#8183 + def flat(q); end + end +end + +# source://syntax_tree//lib/syntax_tree/node.rb#8172 +SyntaxTree::Parentheses::NODES = T.let(T.unsafe(nil), Array) + +# Parser is a subclass of the Ripper library that subscribes to the stream of +# tokens and nodes coming from the parser and builds up a syntax tree. +# +# source://syntax_tree//lib/syntax_tree/parser.rb#6 +class SyntaxTree::Parser < ::Ripper + # @return [Parser] a new instance of Parser + # + # source://syntax_tree//lib/syntax_tree/parser.rb#116 + def initialize(source, *_arg1); end + + # [Array[ Comment | EmbDoc ]] the list of comments that have been found + # while parsing the source. + # + # source://syntax_tree//lib/syntax_tree/parser.rb#114 + def comments; end + + # [Array[ SingleByteString | MultiByteString ]] the list of objects that + # represent the start of each line in character offsets + # + # source://syntax_tree//lib/syntax_tree/parser.rb#105 + def line_counts; end + + # [String] the source being parsed + # + # source://syntax_tree//lib/syntax_tree/parser.rb#101 + def source; end + + # [Array[ untyped ]] a running list of tokens that have been found in the + # source. This list changes a lot as certain nodes will "consume" these + # tokens to determine their bounds. + # + # source://syntax_tree//lib/syntax_tree/parser.rb#110 + def tokens; end + + private + + # Attaches comments to the nodes in the tree that most closely correspond to + # the location of the comments. + # + # source://syntax_tree//lib/syntax_tree/parser.rb#2911 + def attach_comments(program, comments); end + + # This represents the current place in the source string that we've gotten + # to so far. We have a memoized line_counts object that we can use to get + # the number of characters that we've had to go through to get to the + # beginning of this line, then we add the number of columns into this line + # that we've gone through. + # + # source://syntax_tree//lib/syntax_tree/parser.rb#197 + def char_pos; end + + # @raise [ParseError] + # + # source://syntax_tree//lib/syntax_tree/parser.rb#295 + def consume_error(name, location); end + + # source://syntax_tree//lib/syntax_tree/parser.rb#312 + def consume_keyword(name); end + + # source://syntax_tree//lib/syntax_tree/parser.rb#318 + def consume_operator(name); end + + # source://syntax_tree//lib/syntax_tree/parser.rb#300 + def consume_token(type); end + + # source://syntax_tree//lib/syntax_tree/parser.rb#306 + def consume_tstring_end(location); end + + # This represents the current column we're in relative to the beginning of + # the current line. + # + # source://syntax_tree//lib/syntax_tree/parser.rb#203 + def current_column; end + + # A helper function to find a :: operator. We do special handling instead of + # using find_token here because we don't pop off all of the :: operators so + # you could end up getting the wrong information if you have for instance + # ::X::Y::Z. + # + # source://syntax_tree//lib/syntax_tree/parser.rb#328 + def find_colon2_before(const); end + + # source://syntax_tree//lib/syntax_tree/parser.rb#272 + def find_keyword(name); end + + # source://syntax_tree//lib/syntax_tree/parser.rb#277 + def find_keyword_between(name, left, right); end + + # Finds the next position in the source string that begins a statement. This + # is used to bind statements lists and make sure they don't include a + # preceding comment. For example, we want the following comment to be + # attached to the class node and not the statement node: + # + # ... + # end + # + # By finding the next non-space character, we can make sure that the bounds + # of the statement list are correct. + # + # source://syntax_tree//lib/syntax_tree/parser.rb#349 + def find_next_statement_start(position); end + + # source://syntax_tree//lib/syntax_tree/parser.rb#290 + def find_operator(name); end + + # As we build up a list of tokens, we'll periodically need to go backwards + # and find the ones that we've already hit in order to determine the + # location information for nodes that use them. For example, if you have a + # module node then you'll look backward for a kw token to determine your + # start location. + # + # This works with nesting since we're deleting tokens from the list once + # they've been used up. For example if you had nested module declarations + # then the innermost declaration would grab the last kw node that matches + # "module" (which would happen to be the innermost keyword). Then the outer + # one would only be able to grab the first one. In this way all of the + # tokens act as their own stack. + # + # If we're expecting to be able to find a token and consume it, but can't + # actually find it, then we need to raise an error. This is _usually_ caused + # by a syntax error in the source that we're printing. It could also be + # caused by accidentally attempting to consume a token twice by two + # different parser event handlers. + # + # source://syntax_tree//lib/syntax_tree/parser.rb#254 + def find_token(type); end + + # source://syntax_tree//lib/syntax_tree/parser.rb#259 + def find_token_between(type, left, right); end + + # Returns the current location that is being looked at for the parser for + # the purpose of locating the error. + # + # source://syntax_tree//lib/syntax_tree/parser.rb#210 + def find_token_error(location); end + + # Ripper doesn't support capturing lambda local variables until 3.2. To + # mitigate this, we have to parse that code for ourselves. We use the range + # from the parentheses to find where we _should_ be looking. Then we check + # if the resulting tokens match a pattern that we determine means that the + # declaration has block-local variables. Once it does, we parse those out + # and convert them into Ident nodes. + # + # source://syntax_tree//lib/syntax_tree/parser.rb#2362 + def lambda_locals(source); end + + # Responsible for finding the nearest nodes to the given comment within the + # context of the given encapsulating node. + # + # source://syntax_tree//lib/syntax_tree/parser.rb#2946 + def nearest_nodes(node, comment); end + + # :call-seq: + # on_BEGIN: (Statements statements) -> BEGINBlock + # + # source://syntax_tree//lib/syntax_tree/parser.rb#371 + def on_BEGIN(statements); end + + # :call-seq: + # on_CHAR: (String value) -> CHAR + # + # source://syntax_tree//lib/syntax_tree/parser.rb#395 + def on_CHAR(value); end + + # :call-seq: + # on_END: (Statements statements) -> ENDBlock + # + # source://syntax_tree//lib/syntax_tree/parser.rb#410 + def on_END(statements); end + + # :call-seq: + # on___end__: (String value) -> EndContent + # + # source://syntax_tree//lib/syntax_tree/parser.rb#434 + def on___end__(value); end + + # :call-seq: + # on_alias: ( + # (DynaSymbol | SymbolLiteral) left, + # (DynaSymbol | SymbolLiteral) right + # ) -> AliasNode + # + # source://syntax_tree//lib/syntax_tree/parser.rb#453 + def on_alias(left, right); end + + # If we encounter a parse error, just immediately bail out so that our + # runner can catch it. + # + # @raise [ParseError] + # + # source://syntax_tree//lib/syntax_tree/parser.rb#2863 + def on_alias_error(error, *_arg1); end + + # :call-seq: + # on_aref: (untyped collection, (nil | Args) index) -> ARef + # + # source://syntax_tree//lib/syntax_tree/parser.rb#465 + def on_aref(collection, index); end + + # :call-seq: + # on_aref_field: ( + # untyped collection, + # (nil | Args) index + # ) -> ARefField + # + # source://syntax_tree//lib/syntax_tree/parser.rb#481 + def on_aref_field(collection, index); end + + # :call-seq: + # on_arg_paren: ( + # (nil | Args | ArgsForward) arguments + # ) -> ArgParen + # + # source://syntax_tree//lib/syntax_tree/parser.rb#500 + def on_arg_paren(arguments); end + + # :call-seq: + # on_args_add: (Args arguments, untyped argument) -> Args + # + # source://syntax_tree//lib/syntax_tree/parser.rb#522 + def on_args_add(arguments, argument); end + + # :call-seq: + # on_args_add_block: ( + # Args arguments, + # (false | untyped) block + # ) -> Args + # + # source://syntax_tree//lib/syntax_tree/parser.rb#543 + def on_args_add_block(arguments, block); end + + # :call-seq: + # on_args_add_star: (Args arguments, untyped star) -> Args + # + # source://syntax_tree//lib/syntax_tree/parser.rb#581 + def on_args_add_star(arguments, argument); end + + # :call-seq: + # on_args_forward: () -> ArgsForward + # + # source://syntax_tree//lib/syntax_tree/parser.rb#603 + def on_args_forward; end + + # :call-seq: + # on_args_new: () -> Args + # + # source://syntax_tree//lib/syntax_tree/parser.rb#611 + def on_args_new; end + + # :call-seq: + # on_array: ((nil | Args) contents) -> + # ArrayLiteral | QSymbols | QWords | Symbols | Words + # + # source://syntax_tree//lib/syntax_tree/parser.rb#622 + def on_array(contents); end + + # :call-seq: + # on_aryptn: ( + # (nil | VarRef) constant, + # (nil | Array[untyped]) requireds, + # (nil | VarField) rest, + # (nil | Array[untyped]) posts + # ) -> AryPtn + # + # source://syntax_tree//lib/syntax_tree/parser.rb#701 + def on_aryptn(constant, requireds, rest, posts); end + + # :call-seq: + # on_assign: ( + # ( + # ARefField | + # ConstPathField | + # Field | + # TopConstField | + # VarField + # ) target, + # untyped value + # ) -> Assign + # + # source://syntax_tree//lib/syntax_tree/parser.rb#756 + def on_assign(target, value); end + + # If we encounter a parse error, just immediately bail out so that our + # runner can catch it. + # + # @raise [ParseError] + # + # source://syntax_tree//lib/syntax_tree/parser.rb#2863 + def on_assign_error(error, *_arg1); end + + # :call-seq: + # on_assoc_new: (untyped key, untyped value) -> Assoc + # + # source://syntax_tree//lib/syntax_tree/parser.rb#766 + def on_assoc_new(key, value); end + + # :call-seq: + # on_assoc_splat: (untyped value) -> AssocSplat + # + # source://syntax_tree//lib/syntax_tree/parser.rb#775 + def on_assoc_splat(value); end + + # :call-seq: + # on_backref: (String value) -> Backref + # + # source://syntax_tree//lib/syntax_tree/parser.rb#790 + def on_backref(value); end + + # :call-seq: + # on_backtick: (String value) -> Backtick + # + # source://syntax_tree//lib/syntax_tree/parser.rb#805 + def on_backtick(value); end + + # :call-seq: + # on_bare_assoc_hash: ( + # Array[AssocNew | AssocSplat] assocs + # ) -> BareAssocHash + # + # source://syntax_tree//lib/syntax_tree/parser.rb#826 + def on_bare_assoc_hash(assocs); end + + # :call-seq: + # on_begin: (untyped bodystmt) -> Begin | PinnedBegin + # + # source://syntax_tree//lib/syntax_tree/parser.rb#835 + def on_begin(bodystmt); end + + # :call-seq: + # on_binary: ( + # untyped left, + # (Op | Symbol) operator, + # untyped right + # ) -> Binary + # + # source://syntax_tree//lib/syntax_tree/parser.rb#874 + def on_binary(left, operator, right); end + + # :call-seq: + # on_block_var: (Params params, (nil | Array[Ident]) locals) -> BlockVar + # + # source://syntax_tree//lib/syntax_tree/parser.rb#906 + def on_block_var(params, locals); end + + # :call-seq: + # on_blockarg: (Ident name) -> BlockArg + # + # source://syntax_tree//lib/syntax_tree/parser.rb#946 + def on_blockarg(name); end + + # :call-seq: + # on_bodystmt: ( + # Statements statements, + # (nil | Rescue) rescue_clause, + # (nil | Statements) else_clause, + # (nil | Ensure) ensure_clause + # ) -> BodyStmt + # + # source://syntax_tree//lib/syntax_tree/parser.rb#962 + def on_bodystmt(statements, rescue_clause, else_clause, ensure_clause); end + + # :call-seq: + # on_brace_block: ( + # (nil | BlockVar) block_var, + # Statements statements + # ) -> BlockNode + # + # source://syntax_tree//lib/syntax_tree/parser.rb#988 + def on_brace_block(block_var, statements); end + + # :call-seq: + # on_break: (Args arguments) -> Break + # + # source://syntax_tree//lib/syntax_tree/parser.rb#1025 + def on_break(arguments); end + + # :call-seq: + # on_call: ( + # untyped receiver, + # (:"::" | Op | Period) operator, + # (:call | Backtick | Const | Ident | Op) message + # ) -> CallNode + # + # source://syntax_tree//lib/syntax_tree/parser.rb#1040 + def on_call(receiver, operator, message); end + + # :call-seq: + # on_case: (untyped value, untyped consequent) -> Case | RAssign + # + # source://syntax_tree//lib/syntax_tree/parser.rb#1061 + def on_case(value, consequent); end + + # :call-seq: + # on_class: ( + # (ConstPathRef | ConstRef | TopConstRef) constant, + # untyped superclass, + # BodyStmt bodystmt + # ) -> ClassDeclaration + # + # source://syntax_tree//lib/syntax_tree/parser.rb#1096 + def on_class(constant, superclass, bodystmt); end + + # If we encounter a parse error, just immediately bail out so that our + # runner can catch it. + # + # @raise [ParseError] + # + # source://syntax_tree//lib/syntax_tree/parser.rb#2863 + def on_class_name_error(error, *_arg1); end + + # :call-seq: + # on_comma: (String value) -> Comma + # + # source://syntax_tree//lib/syntax_tree/parser.rb#1120 + def on_comma(value); end + + # :call-seq: + # on_command: ((Const | Ident) message, Args arguments) -> Command + # + # source://syntax_tree//lib/syntax_tree/parser.rb#1139 + def on_command(message, arguments); end + + # :call-seq: + # on_command_call: ( + # untyped receiver, + # (:"::" | Op | Period) operator, + # (Const | Ident | Op) message, + # (nil | Args) arguments + # ) -> CommandCall + # + # source://syntax_tree//lib/syntax_tree/parser.rb#1155 + def on_command_call(receiver, operator, message, arguments); end + + # :call-seq: + # on_comment: (String value) -> Comment + # + # source://syntax_tree//lib/syntax_tree/parser.rb#1170 + def on_comment(value); end + + # :call-seq: + # on_const: (String value) -> Const + # + # source://syntax_tree//lib/syntax_tree/parser.rb#1208 + def on_const(value); end + + # :call-seq: + # on_const_path_field: (untyped parent, Const constant) -> + # ConstPathField | Field + # + # source://syntax_tree//lib/syntax_tree/parser.rb#1224 + def on_const_path_field(parent, constant); end + + # :call-seq: + # on_const_path_ref: (untyped parent, Const constant) -> ConstPathRef + # + # source://syntax_tree//lib/syntax_tree/parser.rb#1243 + def on_const_path_ref(parent, constant); end + + # :call-seq: + # on_const_ref: (Const constant) -> ConstRef + # + # source://syntax_tree//lib/syntax_tree/parser.rb#1253 + def on_const_ref(constant); end + + # :call-seq: + # on_cvar: (String value) -> CVar + # + # source://syntax_tree//lib/syntax_tree/parser.rb#1259 + def on_cvar(value); end + + # :call-seq: + # on_def: ( + # (Backtick | Const | Ident | Kw | Op) name, + # (nil | Params | Paren) params, + # untyped bodystmt + # ) -> DefNode + # + # source://syntax_tree//lib/syntax_tree/parser.rb#1278 + def on_def(name, params, bodystmt); end + + # :call-seq: + # on_defined: (untyped value) -> Defined + # + # source://syntax_tree//lib/syntax_tree/parser.rb#1346 + def on_defined(value); end + + # :call-seq: + # on_defs: ( + # untyped target, + # (Op | Period) operator, + # (Backtick | Const | Ident | Kw | Op) name, + # (Params | Paren) params, + # BodyStmt bodystmt + # ) -> DefNode + # + # source://syntax_tree//lib/syntax_tree/parser.rb#1370 + def on_defs(target, operator, name, params, bodystmt); end + + # :call-seq: + # on_do_block: (BlockVar block_var, BodyStmt bodystmt) -> BlockNode + # + # source://syntax_tree//lib/syntax_tree/parser.rb#1435 + def on_do_block(block_var, bodystmt); end + + # :call-seq: + # on_dot2: ((nil | untyped) left, (nil | untyped) right) -> RangeNode + # + # source://syntax_tree//lib/syntax_tree/parser.rb#1459 + def on_dot2(left, right); end + + # :call-seq: + # on_dot3: ((nil | untyped) left, (nil | untyped) right) -> RangeNode + # + # source://syntax_tree//lib/syntax_tree/parser.rb#1475 + def on_dot3(left, right); end + + # :call-seq: + # on_dyna_symbol: (StringContent string_content) -> DynaSymbol + # + # source://syntax_tree//lib/syntax_tree/parser.rb#1491 + def on_dyna_symbol(string_content); end + + # :call-seq: + # on_else: (Statements statements) -> Else + # + # source://syntax_tree//lib/syntax_tree/parser.rb#1517 + def on_else(statements); end + + # :call-seq: + # on_elsif: ( + # untyped predicate, + # Statements statements, + # (nil | Elsif | Else) consequent + # ) -> Elsif + # + # source://syntax_tree//lib/syntax_tree/parser.rb#1558 + def on_elsif(predicate, statements, consequent); end + + # :call-seq: + # on_embdoc: (String value) -> EmbDoc + # + # source://syntax_tree//lib/syntax_tree/parser.rb#1588 + def on_embdoc(value); end + + # :call-seq: + # on_embdoc_beg: (String value) -> EmbDoc + # + # source://syntax_tree//lib/syntax_tree/parser.rb#1595 + def on_embdoc_beg(value); end + + # :call-seq: + # on_embdoc_end: (String value) -> EmbDoc + # + # source://syntax_tree//lib/syntax_tree/parser.rb#1606 + def on_embdoc_end(value); end + + # :call-seq: + # on_embexpr_beg: (String value) -> EmbExprBeg + # + # source://syntax_tree//lib/syntax_tree/parser.rb#1630 + def on_embexpr_beg(value); end + + # :call-seq: + # on_embexpr_end: (String value) -> EmbExprEnd + # + # source://syntax_tree//lib/syntax_tree/parser.rb#1649 + def on_embexpr_end(value); end + + # :call-seq: + # on_embvar: (String value) -> EmbVar + # + # source://syntax_tree//lib/syntax_tree/parser.rb#1668 + def on_embvar(value); end + + # :call-seq: + # on_ensure: (Statements statements) -> Ensure + # + # source://syntax_tree//lib/syntax_tree/parser.rb#1687 + def on_ensure(statements); end + + # The handler for this event accepts no parameters (though in previous + # versions of Ruby it accepted a string literal with a value of ","). + # + # :call-seq: + # on_excessed_comma: () -> ExcessedComma + # + # source://syntax_tree//lib/syntax_tree/parser.rb#1714 + def on_excessed_comma(*_arg0); end + + # :call-seq: + # on_fcall: ((Const | Ident) value) -> CallNode + # + # source://syntax_tree//lib/syntax_tree/parser.rb#1722 + def on_fcall(value); end + + # :call-seq: + # on_field: ( + # untyped parent, + # (:"::" | Op | Period) operator + # (Const | Ident) name + # ) -> Field + # + # source://syntax_tree//lib/syntax_tree/parser.rb#1738 + def on_field(parent, operator, name); end + + # :call-seq: + # on_float: (String value) -> FloatLiteral + # + # source://syntax_tree//lib/syntax_tree/parser.rb#1749 + def on_float(value); end + + # :call-seq: + # on_fndptn: ( + # (nil | untyped) constant, + # VarField left, + # Array[untyped] values, + # VarField right + # ) -> FndPtn + # + # source://syntax_tree//lib/syntax_tree/parser.rb#1769 + def on_fndptn(constant, left, values, right); end + + # :call-seq: + # on_for: ( + # (MLHS | VarField) value, + # untyped collection, + # Statements statements + # ) -> For + # + # source://syntax_tree//lib/syntax_tree/parser.rb#1821 + def on_for(index, collection, statements); end + + # :call-seq: + # on_gvar: (String value) -> GVar + # + # source://syntax_tree//lib/syntax_tree/parser.rb#1859 + def on_gvar(value); end + + # :call-seq: + # on_hash: ((nil | Array[AssocNew | AssocSplat]) assocs) -> HashLiteral + # + # source://syntax_tree//lib/syntax_tree/parser.rb#1874 + def on_hash(assocs); end + + # :call-seq: + # on_heredoc_beg: (String value) -> HeredocBeg + # + # source://syntax_tree//lib/syntax_tree/parser.rb#1887 + def on_heredoc_beg(value); end + + # :call-seq: + # on_heredoc_dedent: (StringContent string, Integer width) -> Heredoc + # + # source://syntax_tree//lib/syntax_tree/parser.rb#1906 + def on_heredoc_dedent(string, width); end + + # :call-seq: + # on_heredoc_end: (String value) -> Heredoc + # + # source://syntax_tree//lib/syntax_tree/parser.rb#1920 + def on_heredoc_end(value); end + + # :call-seq: + # on_hshptn: ( + # (nil | untyped) constant, + # Array[[Label | StringContent, untyped]] keywords, + # (nil | VarField) keyword_rest + # ) -> HshPtn + # + # source://syntax_tree//lib/syntax_tree/parser.rb#1956 + def on_hshptn(constant, keywords, keyword_rest); end + + # :call-seq: + # on_ident: (String value) -> Ident + # + # source://syntax_tree//lib/syntax_tree/parser.rb#2026 + def on_ident(value); end + + # :call-seq: + # on_if: ( + # untyped predicate, + # Statements statements, + # (nil | Elsif | Else) consequent + # ) -> IfNode + # + # source://syntax_tree//lib/syntax_tree/parser.rb#2045 + def on_if(predicate, statements, consequent); end + + # :call-seq: + # on_if_mod: (untyped predicate, untyped statement) -> IfNode + # + # source://syntax_tree//lib/syntax_tree/parser.rb#2085 + def on_if_mod(predicate, statement); end + + # :call-seq: + # on_ifop: (untyped predicate, untyped truthy, untyped falsy) -> IfOp + # + # source://syntax_tree//lib/syntax_tree/parser.rb#2074 + def on_ifop(predicate, truthy, falsy); end + + # :call-seq: + # on_imaginary: (String value) -> Imaginary + # + # source://syntax_tree//lib/syntax_tree/parser.rb#2107 + def on_imaginary(value); end + + # :call-seq: + # on_in: (RAssign pattern, nil statements, nil consequent) -> RAssign + # | ( + # untyped pattern, + # Statements statements, + # (nil | In | Else) consequent + # ) -> In + # + # source://syntax_tree//lib/syntax_tree/parser.rb#2127 + def on_in(pattern, statements, consequent); end + + # :call-seq: + # on_int: (String value) -> Int + # + # source://syntax_tree//lib/syntax_tree/parser.rb#2172 + def on_int(value); end + + # :call-seq: + # on_ivar: (String value) -> IVar + # + # source://syntax_tree//lib/syntax_tree/parser.rb#2187 + def on_ivar(value); end + + # :call-seq: + # on_kw: (String value) -> Kw + # + # source://syntax_tree//lib/syntax_tree/parser.rb#2202 + def on_kw(value); end + + # :call-seq: + # on_kwrest_param: ((nil | Ident) name) -> KwRestParam + # + # source://syntax_tree//lib/syntax_tree/parser.rb#2221 + def on_kwrest_param(name); end + + # :call-seq: + # on_label: (String value) -> Label + # + # source://syntax_tree//lib/syntax_tree/parser.rb#2230 + def on_label(value); end + + # :call-seq: + # on_label_end: (String value) -> LabelEnd + # + # source://syntax_tree//lib/syntax_tree/parser.rb#2245 + def on_label_end(value); end + + # :call-seq: + # on_lambda: ( + # (Params | Paren) params, + # (BodyStmt | Statements) statements + # ) -> Lambda + # + # source://syntax_tree//lib/syntax_tree/parser.rb#2267 + def on_lambda(params, statements); end + + # :call-seq: + # on_lambda_var: (Params params, Array[ Ident ] locals) -> LambdaVar + # + # source://syntax_tree//lib/syntax_tree/parser.rb#2349 + def on_lambda_var(params, locals); end + + # :call-seq: + # on_lbrace: (String value) -> LBrace + # + # source://syntax_tree//lib/syntax_tree/parser.rb#2432 + def on_lbrace(value); end + + # :call-seq: + # on_lbracket: (String value) -> LBracket + # + # source://syntax_tree//lib/syntax_tree/parser.rb#2451 + def on_lbracket(value); end + + # :call-seq: + # on_lparen: (String value) -> LParen + # + # source://syntax_tree//lib/syntax_tree/parser.rb#2470 + def on_lparen(value); end + + # :call-seq: + # on_massign: ((MLHS | MLHSParen) target, untyped value) -> MAssign + # + # source://syntax_tree//lib/syntax_tree/parser.rb#2493 + def on_massign(target, value); end + + # :call-seq: + # on_method_add_arg: ( + # CallNode call, + # (ArgParen | Args) arguments + # ) -> CallNode + # + # source://syntax_tree//lib/syntax_tree/parser.rb#2509 + def on_method_add_arg(call, arguments); end + + # :call-seq: + # on_method_add_block: ( + # (Break | Call | Command | CommandCall, Next) call, + # Block block + # ) -> Break | MethodAddBlock + # + # source://syntax_tree//lib/syntax_tree/parser.rb#2527 + def on_method_add_block(call, block); end + + # :call-seq: + # on_mlhs_add: ( + # MLHS mlhs, + # (ARefField | Field | Ident | MLHSParen | VarField) part + # ) -> MLHS + # + # source://syntax_tree//lib/syntax_tree/parser.rb#2556 + def on_mlhs_add(mlhs, part); end + + # :call-seq: + # on_mlhs_add_post: (MLHS left, MLHS right) -> MLHS + # + # source://syntax_tree//lib/syntax_tree/parser.rb#2565 + def on_mlhs_add_post(left, right); end + + # :call-seq: + # on_mlhs_add_star: ( + # MLHS mlhs, + # (nil | ARefField | Field | Ident | VarField) part + # ) -> MLHS + # + # source://syntax_tree//lib/syntax_tree/parser.rb#2577 + def on_mlhs_add_star(mlhs, part); end + + # :call-seq: + # on_mlhs_new: () -> MLHS + # + # source://syntax_tree//lib/syntax_tree/parser.rb#2590 + def on_mlhs_new; end + + # :call-seq: + # on_mlhs_paren: ((MLHS | MLHSParen) contents) -> MLHSParen + # + # source://syntax_tree//lib/syntax_tree/parser.rb#2600 + def on_mlhs_paren(contents); end + + # :call-seq: + # on_module: ( + # (ConstPathRef | ConstRef | TopConstRef) constant, + # BodyStmt bodystmt + # ) -> ModuleDeclaration + # + # source://syntax_tree//lib/syntax_tree/parser.rb#2618 + def on_module(constant, bodystmt); end + + # :call-seq: + # on_mrhs_add: (MRHS mrhs, untyped part) -> MRHS + # + # source://syntax_tree//lib/syntax_tree/parser.rb#2650 + def on_mrhs_add(mrhs, part); end + + # :call-seq: + # on_mrhs_add_star: (MRHS mrhs, untyped value) -> MRHS + # + # source://syntax_tree//lib/syntax_tree/parser.rb#2659 + def on_mrhs_add_star(mrhs, value); end + + # :call-seq: + # on_mrhs_new: () -> MRHS + # + # source://syntax_tree//lib/syntax_tree/parser.rb#2640 + def on_mrhs_new; end + + # :call-seq: + # on_mrhs_new_from_args: (Args arguments) -> MRHS + # + # source://syntax_tree//lib/syntax_tree/parser.rb#2681 + def on_mrhs_new_from_args(arguments); end + + # :call-seq: + # on_next: (Args arguments) -> Next + # + # source://syntax_tree//lib/syntax_tree/parser.rb#2687 + def on_next(arguments); end + + # :call-seq: + # on_op: (String value) -> Op + # + # source://syntax_tree//lib/syntax_tree/parser.rb#2706 + def on_op(value); end + + # :call-seq: + # on_opassign: ( + # ( + # ARefField | + # ConstPathField | + # Field | + # TopConstField | + # VarField + # ) target, + # Op operator, + # untyped value + # ) -> OpAssign + # + # source://syntax_tree//lib/syntax_tree/parser.rb#2735 + def on_opassign(target, operator, value); end + + # If we encounter a parse error, just immediately bail out so that our + # runner can catch it. + # + # @raise [ParseError] + # + # source://syntax_tree//lib/syntax_tree/parser.rb#2863 + def on_param_error(error, *_arg1); end + + # :call-seq: + # on_params: ( + # (nil | Array[Ident]) requireds, + # (nil | Array[[Ident, untyped]]) optionals, + # (nil | ArgsForward | ExcessedComma | RestParam) rest, + # (nil | Array[Ident]) posts, + # (nil | Array[[Ident, nil | untyped]]) keywords, + # (nil | :nil | ArgsForward | KwRestParam) keyword_rest, + # (nil | :& | BlockArg) block + # ) -> Params + # + # source://syntax_tree//lib/syntax_tree/parser.rb#2758 + def on_params(requireds, optionals, rest, posts, keywords, keyword_rest, block); end + + # :call-seq: + # on_paren: (untyped contents) -> Paren + # + # source://syntax_tree//lib/syntax_tree/parser.rb#2823 + def on_paren(contents); end + + # If we encounter a parse error, just immediately bail out so that our + # runner can catch it. + # + # @raise [ParseError] + # + # source://syntax_tree//lib/syntax_tree/parser.rb#2863 + def on_parse_error(error, *_arg1); end + + # :call-seq: + # on_period: (String value) -> Period + # + # source://syntax_tree//lib/syntax_tree/parser.rb#2873 + def on_period(value); end + + # :call-seq: + # on_program: (Statements statements) -> Program + # + # source://syntax_tree//lib/syntax_tree/parser.rb#2888 + def on_program(statements); end + + # :call-seq: + # on_qsymbols_add: (QSymbols qsymbols, TStringContent element) -> QSymbols + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3000 + def on_qsymbols_add(qsymbols, element); end + + # :call-seq: + # on_qsymbols_beg: (String value) -> QSymbolsBeg + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3010 + def on_qsymbols_beg(value); end + + # :call-seq: + # on_qsymbols_new: () -> QSymbols + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3029 + def on_qsymbols_new; end + + # :call-seq: + # on_qwords_add: (QWords qwords, TStringContent element) -> QWords + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3041 + def on_qwords_add(qwords, element); end + + # :call-seq: + # on_qwords_beg: (String value) -> QWordsBeg + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3051 + def on_qwords_beg(value); end + + # :call-seq: + # on_qwords_new: () -> QWords + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3070 + def on_qwords_new; end + + # :call-seq: + # on_rational: (String value) -> RationalLiteral + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3082 + def on_rational(value); end + + # :call-seq: + # on_rbrace: (String value) -> RBrace + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3097 + def on_rbrace(value); end + + # :call-seq: + # on_rbracket: (String value) -> RBracket + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3116 + def on_rbracket(value); end + + # :call-seq: + # on_redo: () -> Redo + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3135 + def on_redo; end + + # :call-seq: + # on_regexp_add: ( + # RegexpContent regexp_content, + # (StringDVar | StringEmbExpr | TStringContent) part + # ) -> RegexpContent + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3146 + def on_regexp_add(regexp_content, part); end + + # :call-seq: + # on_regexp_beg: (String value) -> RegexpBeg + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3156 + def on_regexp_beg(value); end + + # :call-seq: + # on_regexp_end: (String value) -> RegexpEnd + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3175 + def on_regexp_end(value); end + + # :call-seq: + # on_regexp_literal: ( + # RegexpContent regexp_content, + # (nil | RegexpEnd) ending + # ) -> RegexpLiteral + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3193 + def on_regexp_literal(regexp_content, ending); end + + # :call-seq: + # on_regexp_new: () -> RegexpContent + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3211 + def on_regexp_new; end + + # :call-seq: + # on_rescue: ( + # (nil | [untyped] | MRHS | MRHSAddStar) exceptions, + # (nil | Field | VarField) variable, + # Statements statements, + # (nil | Rescue) consequent + # ) -> Rescue + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3228 + def on_rescue(exceptions, variable, statements, consequent); end + + # :call-seq: + # on_rescue_mod: (untyped statement, untyped value) -> RescueMod + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3281 + def on_rescue_mod(statement, value); end + + # :call-seq: + # on_rest_param: ((nil | Ident) name) -> RestParam + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3293 + def on_rest_param(name); end + + # :call-seq: + # on_retry: () -> Retry + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3302 + def on_retry; end + + # :call-seq: + # on_return: (Args arguments) -> ReturnNode + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3310 + def on_return(arguments); end + + # :call-seq: + # on_return0: () -> ReturnNode + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3321 + def on_return0; end + + # :call-seq: + # on_rparen: (String value) -> RParen + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3329 + def on_rparen(value); end + + # :call-seq: + # on_sclass: (untyped target, BodyStmt bodystmt) -> SClass + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3348 + def on_sclass(target, bodystmt); end + + # :call-seq: + # on_semicolon: (String value) -> Semicolon + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3381 + def on_semicolon(value); end + + # stmts_add is a parser event that represents a single statement inside a + # list of statements within any lexical block. It accepts as arguments the + # parent stmts node as well as an stmt which can be any expression in + # Ruby. + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3400 + def on_stmts_add(statements, statement); end + + # :call-seq: + # on_stmts_new: () -> Statements + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3413 + def on_stmts_new; end + + # :call-seq: + # on_string_add: ( + # String string, + # (StringEmbExpr | StringDVar | TStringContent) part + # ) -> StringContent + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3426 + def on_string_add(string, part); end + + # :call-seq: + # on_string_concat: ( + # (StringConcat | StringLiteral) left, + # StringLiteral right + # ) -> StringConcat + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3443 + def on_string_concat(left, right); end + + # :call-seq: + # on_string_content: () -> StringContent + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3453 + def on_string_content; end + + # :call-seq: + # on_string_dvar: ((Backref | VarRef) variable) -> StringDVar + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3463 + def on_string_dvar(variable); end + + # :call-seq: + # on_string_embexpr: (Statements statements) -> StringEmbExpr + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3474 + def on_string_embexpr(statements); end + + # :call-seq: + # on_string_literal: (String string) -> Heredoc | StringLiteral + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3504 + def on_string_literal(string); end + + # :call-seq: + # on_super: ((ArgParen | Args) arguments) -> Super + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3544 + def on_super(arguments); end + + # symbeg is a token that represents the beginning of a symbol literal. In + # most cases it will contain just ":" as in the value, but if its a dynamic + # symbol being defined it will contain ":'" or ":\"". + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3556 + def on_symbeg(value); end + + # :call-seq: + # on_symbol: ( + # (Backtick | Const | CVar | GVar | Ident | IVar | Kw | Op) value + # ) -> SymbolContent + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3577 + def on_symbol(value); end + + # :call-seq: + # on_symbol_literal: ( + # ( + # Backtick | Const | CVar | GVar | Ident | + # IVar | Kw | Op | SymbolContent + # ) value + # ) -> SymbolLiteral + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3590 + def on_symbol_literal(value); end + + # :call-seq: + # on_symbols_add: (Symbols symbols, Word word) -> Symbols + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3606 + def on_symbols_add(symbols, word); end + + # :call-seq: + # on_symbols_beg: (String value) -> SymbolsBeg + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3616 + def on_symbols_beg(value); end + + # :call-seq: + # on_symbols_new: () -> Symbols + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3635 + def on_symbols_new; end + + # :call-seq: + # on_tlambda: (String value) -> TLambda + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3647 + def on_tlambda(value); end + + # :call-seq: + # on_tlambeg: (String value) -> TLamBeg + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3666 + def on_tlambeg(value); end + + # :call-seq: + # on_top_const_field: (Const constant) -> TopConstRef + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3685 + def on_top_const_field(constant); end + + # :call-seq: + # on_top_const_ref: (Const constant) -> TopConstRef + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3696 + def on_top_const_ref(constant); end + + # :call-seq: + # on_tstring_beg: (String value) -> TStringBeg + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3707 + def on_tstring_beg(value); end + + # :call-seq: + # on_tstring_content: (String value) -> TStringContent + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3726 + def on_tstring_content(value); end + + # :call-seq: + # on_tstring_end: (String value) -> TStringEnd + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3741 + def on_tstring_end(value); end + + # :call-seq: + # on_unary: (:not operator, untyped statement) -> Not + # | (Symbol operator, untyped statement) -> Unary + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3761 + def on_unary(operator, statement); end + + # :call-seq: + # on_undef: (Array[DynaSymbol | SymbolLiteral] symbols) -> Undef + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3804 + def on_undef(symbols); end + + # :call-seq: + # on_unless: ( + # untyped predicate, + # Statements statements, + # ((nil | Elsif | Else) consequent) + # ) -> UnlessNode + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3819 + def on_unless(predicate, statements, consequent); end + + # :call-seq: + # on_unless_mod: (untyped predicate, untyped statement) -> UnlessNode + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3848 + def on_unless_mod(predicate, statement); end + + # :call-seq: + # on_until: (untyped predicate, Statements statements) -> UntilNode + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3862 + def on_until(predicate, statements); end + + # :call-seq: + # on_until_mod: (untyped predicate, untyped statement) -> UntilNode + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3893 + def on_until_mod(predicate, statement); end + + # :call-seq: + # on_var_alias: (GVar left, (Backref | GVar) right) -> AliasNode + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3906 + def on_var_alias(left, right); end + + # :call-seq: + # on_var_field: ( + # (nil | Const | CVar | GVar | Ident | IVar) value + # ) -> VarField + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3920 + def on_var_field(value); end + + # :call-seq: + # on_var_ref: ((Const | CVar | GVar | Ident | IVar | Kw) value) -> VarRef + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3935 + def on_var_ref(value); end + + # :call-seq: + # on_vcall: (Ident ident) -> VCall + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3941 + def on_vcall(ident); end + + # :call-seq: + # on_void_stmt: () -> VoidStmt + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3947 + def on_void_stmt; end + + # :call-seq: + # on_when: ( + # Args arguments, + # Statements statements, + # (nil | Else | When) consequent + # ) -> When + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3960 + def on_when(arguments, statements, consequent); end + + # :call-seq: + # on_while: (untyped predicate, Statements statements) -> WhileNode + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3992 + def on_while(predicate, statements); end + + # :call-seq: + # on_while_mod: (untyped predicate, untyped statement) -> WhileNode + # + # source://syntax_tree//lib/syntax_tree/parser.rb#4023 + def on_while_mod(predicate, statement); end + + # :call-seq: + # on_word_add: ( + # Word word, + # (StringEmbExpr | StringDVar | TStringContent) part + # ) -> Word + # + # source://syntax_tree//lib/syntax_tree/parser.rb#4039 + def on_word_add(word, part); end + + # :call-seq: + # on_word_new: () -> Word + # + # source://syntax_tree//lib/syntax_tree/parser.rb#4048 + def on_word_new; end + + # :call-seq: + # on_words_add: (Words words, Word word) -> Words + # + # source://syntax_tree//lib/syntax_tree/parser.rb#4058 + def on_words_add(words, word); end + + # :call-seq: + # on_words_beg: (String value) -> WordsBeg + # + # source://syntax_tree//lib/syntax_tree/parser.rb#4068 + def on_words_beg(value); end + + # :call-seq: + # on_words_new: () -> Words + # + # source://syntax_tree//lib/syntax_tree/parser.rb#4087 + def on_words_new; end + + # :call-seq: + # on_xstring_add: ( + # XString xstring, + # (StringEmbExpr | StringDVar | TStringContent) part + # ) -> XString + # + # source://syntax_tree//lib/syntax_tree/parser.rb#4106 + def on_xstring_add(xstring, part); end + + # :call-seq: + # on_xstring_literal: (XString xstring) -> Heredoc | XStringLiteral + # + # source://syntax_tree//lib/syntax_tree/parser.rb#4130 + def on_xstring_literal(xstring); end + + # :call-seq: + # on_xstring_new: () -> XString + # + # source://syntax_tree//lib/syntax_tree/parser.rb#4115 + def on_xstring_new; end + + # :call-seq: + # on_yield: ((Args | Paren) arguments) -> YieldNode + # + # source://syntax_tree//lib/syntax_tree/parser.rb#4153 + def on_yield(arguments); end + + # :call-seq: + # on_yield0: () -> YieldNode + # + # source://syntax_tree//lib/syntax_tree/parser.rb#4164 + def on_yield0; end + + # :call-seq: + # on_zsuper: () -> ZSuper + # + # source://syntax_tree//lib/syntax_tree/parser.rb#4172 + def on_zsuper; end +end + +# Represents a line in the source. If this class is being used, it means +# that there are characters in the string that are multi-byte, so we will +# build up an array of indices, such that array[byteindex] will be equal to +# the index of the character within the string. +# +# source://syntax_tree//lib/syntax_tree/parser.rb#38 +class SyntaxTree::Parser::MultiByteString + # @return [MultiByteString] a new instance of MultiByteString + # + # source://syntax_tree//lib/syntax_tree/parser.rb#41 + def initialize(start, line); end + + # Technically it's possible for the column index to be a negative value if + # there's a BOM at the beginning of the file, which is the reason we need + # to compare it to 0 here. + # + # source://syntax_tree//lib/syntax_tree/parser.rb#55 + def [](byteindex); end + + # Returns the value of attribute indices. + # + # source://syntax_tree//lib/syntax_tree/parser.rb#39 + def indices; end + + # Returns the value of attribute start. + # + # source://syntax_tree//lib/syntax_tree/parser.rb#39 + def start; end +end + +# A special parser error so that we can get nice syntax displays on the +# error message when prettier prints out the results. +# +# source://syntax_tree//lib/syntax_tree/parser.rb#9 +class SyntaxTree::Parser::ParseError < ::StandardError + # @return [ParseError] a new instance of ParseError + # + # source://syntax_tree//lib/syntax_tree/parser.rb#12 + def initialize(error, lineno, column); end + + # Returns the value of attribute column. + # + # source://syntax_tree//lib/syntax_tree/parser.rb#10 + def column; end + + # Returns the value of attribute lineno. + # + # source://syntax_tree//lib/syntax_tree/parser.rb#10 + def lineno; end +end + +# Ugh... I really do not like this class. Basically, ripper doesn't provide +# enough information about where pins are located in the tree. It only gives +# events for ^ ops and var_ref nodes. You have to piece it together +# yourself. +# +# Note that there are edge cases here that we straight up do not address, +# because I honestly think it's going to be faster to write a new parser +# than to address them. For example, this will not work properly: +# +# foo in ^((bar = 0; bar; baz)) +# +# If someone actually does something like that, we'll have to find another +# way to make this work. +# +# source://syntax_tree//lib/syntax_tree/parser.rb#656 +class SyntaxTree::Parser::PinVisitor < ::SyntaxTree::Visitor + # @return [PinVisitor] a new instance of PinVisitor + # + # source://syntax_tree//lib/syntax_tree/parser.rb#659 + def initialize(pins); end + + # Returns the value of attribute pins. + # + # source://syntax_tree//lib/syntax_tree/parser.rb#657 + def pins; end + + # Returns the value of attribute stack. + # + # source://syntax_tree//lib/syntax_tree/parser.rb#657 + def stack; end + + # source://syntax_tree//lib/syntax_tree/parser.rb#664 + def visit(node); end + + # source://syntax_tree//lib/syntax_tree/parser.rb#672 + def visit_var_ref(node); end + + class << self + # source://syntax_tree//lib/syntax_tree/parser.rb#677 + def visit(node, tokens); end + end +end + +# Semicolons are tokens that get added to the token list but never get +# attached to the AST. Because of this they only need to track their +# associated location so they can be used for computing bounds. +# +# source://syntax_tree//lib/syntax_tree/parser.rb#3371 +class SyntaxTree::Parser::Semicolon + # @return [Semicolon] a new instance of Semicolon + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3374 + def initialize(location); end + + # Returns the value of attribute location. + # + # source://syntax_tree//lib/syntax_tree/parser.rb#3372 + def location; end +end + +# Represents a line in the source. If this class is being used, it means +# that every character in the string is 1 byte in length, so we can just +# return the start of the line + the index. +# +# source://syntax_tree//lib/syntax_tree/parser.rb#22 +class SyntaxTree::Parser::SingleByteString + # @return [SingleByteString] a new instance of SingleByteString + # + # source://syntax_tree//lib/syntax_tree/parser.rb#25 + def initialize(start); end + + # source://syntax_tree//lib/syntax_tree/parser.rb#29 + def [](byteindex); end + + # Returns the value of attribute start. + # + # source://syntax_tree//lib/syntax_tree/parser.rb#23 + def start; end +end + +# This represents all of the tokens coming back from the lexer. It is +# replacing a simple array because it keeps track of the last deleted token +# from the list for better error messages. +# +# source://syntax_tree//lib/syntax_tree/parser.rb#63 +class SyntaxTree::Parser::TokenList + # @return [TokenList] a new instance of TokenList + # + # source://syntax_tree//lib/syntax_tree/parser.rb#66 + def initialize; end + + # source://syntax_tree//lib/syntax_tree/parser.rb#71 + def <<(token); end + + # source://syntax_tree//lib/syntax_tree/parser.rb#75 + def [](index); end + + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/parser.rb#79 + def any?(&block); end + + # source://syntax_tree//lib/syntax_tree/parser.rb#91 + def delete(value); end + + # source://syntax_tree//lib/syntax_tree/parser.rb#95 + def delete_at(index); end + + # Returns the value of attribute last_deleted. + # + # source://syntax_tree//lib/syntax_tree/parser.rb#64 + def last_deleted; end + + # source://syntax_tree//lib/syntax_tree/parser.rb#83 + def reverse_each(&block); end + + # source://syntax_tree//lib/syntax_tree/parser.rb#87 + def rindex(&block); end + + # Returns the value of attribute tokens. + # + # source://syntax_tree//lib/syntax_tree/parser.rb#64 + def tokens; end +end + +# A pattern is an object that wraps a Ruby pattern matching expression. The +# expression would normally be passed to an `in` clause within a `case` +# expression or a rightward assignment expression. For example, in the +# following snippet: +# +# case node +# in Const[value: "SyntaxTree"] +# end +# +# the pattern is the `Const[value: "SyntaxTree"]` expression. Within Syntax +# Tree, every node generates these kinds of expressions using the +# #construct_keys method. +# +# The pattern gets compiled into an object that responds to call by running +# the #compile method. This method itself will run back through Syntax Tree to +# parse the expression into a tree, then walk the tree to generate the +# necessary callable objects. For example, if you wanted to compile the +# expression above into a callable, you would: +# +# callable = SyntaxTree::Pattern.new("Const[value: 'SyntaxTree']").compile +# callable.call(node) +# +# The callable object returned by #compile is guaranteed to respond to #call +# with a single argument, which is the node to match against. It also is +# guaranteed to respond to #===, which means it itself can be used in a `case` +# expression, as in: +# +# case node +# when callable +# end +# +# If the query given to the initializer cannot be compiled into a valid +# matcher (either because of a syntax error or because it is using syntax we +# do not yet support) then a SyntaxTree::Pattern::CompilationError will be +# raised. +# +# source://syntax_tree//lib/syntax_tree/pattern.rb#39 +class SyntaxTree::Pattern + # @return [Pattern] a new instance of Pattern + # + # source://syntax_tree//lib/syntax_tree/pattern.rb#61 + def initialize(query); end + + # source://syntax_tree//lib/syntax_tree/pattern.rb#65 + def compile; end + + # Returns the value of attribute query. + # + # source://syntax_tree//lib/syntax_tree/pattern.rb#59 + def query; end + + private + + # Shortcut for combining two procs into one that returns true if both return + # true. + # + # source://syntax_tree//lib/syntax_tree/pattern.rb#80 + def combine_and(left, right); end + + # Shortcut for combining two procs into one that returns true if either + # returns true. + # + # source://syntax_tree//lib/syntax_tree/pattern.rb#86 + def combine_or(left, right); end + + # in [foo, bar, baz] + # + # source://syntax_tree//lib/syntax_tree/pattern.rb#109 + def compile_aryptn(node); end + + # in foo | bar + # + # source://syntax_tree//lib/syntax_tree/pattern.rb#134 + def compile_binary(node); end + + # in Ident + # in String + # + # source://syntax_tree//lib/syntax_tree/pattern.rb#142 + def compile_const(node); end + + # in SyntaxTree::Ident + # + # source://syntax_tree//lib/syntax_tree/pattern.rb#159 + def compile_const_path_ref(node); end + + # in :"" + # in :"foo" + # + # source://syntax_tree//lib/syntax_tree/pattern.rb#172 + def compile_dyna_symbol(node); end + + # Raise an error because the given node is not supported. + # + # @raise [CompilationError] + # + # source://syntax_tree//lib/syntax_tree/pattern.rb#91 + def compile_error(node); end + + # in Ident[value: String] + # in { value: String } + # + # source://syntax_tree//lib/syntax_tree/pattern.rb#188 + def compile_hshptn(node); end + + # Compile any kind of node. Dispatch out to the individual compilation + # methods based on the type of node. + # + # source://syntax_tree//lib/syntax_tree/pattern.rb#260 + def compile_node(node); end + + # in /foo/ + # + # source://syntax_tree//lib/syntax_tree/pattern.rb#214 + def compile_regexp_literal(node); end + + # in "" + # in "foo" + # + # source://syntax_tree//lib/syntax_tree/pattern.rb#226 + def compile_string_literal(node); end + + # in :+ + # in :foo + # + # source://syntax_tree//lib/syntax_tree/pattern.rb#238 + def compile_symbol_literal(node); end + + # in Foo + # in nil + # + # source://syntax_tree//lib/syntax_tree/pattern.rb#246 + def compile_var_ref(node); end + + # There are a couple of nodes (string literals, dynamic symbols, and regexp) + # that contain list of parts. This can include plain string content, + # interpolated expressions, and interpolated variables. We only support + # plain string content, so this method will extract out the plain string + # content if it is the only element in the list. + # + # source://syntax_tree//lib/syntax_tree/pattern.rb#100 + def extract_string(node); end +end + +# Raised when the query given to a pattern is either invalid Ruby syntax or +# is using syntax that we don't yet support. +# +# source://syntax_tree//lib/syntax_tree/pattern.rb#42 +class SyntaxTree::Pattern::CompilationError < ::StandardError + # @return [CompilationError] a new instance of CompilationError + # + # source://syntax_tree//lib/syntax_tree/pattern.rb#43 + def initialize(repr); end +end + +# Period represents the use of the +.+ operator. It is usually found in method +# calls. +# +# source://syntax_tree//lib/syntax_tree/node.rb#8569 +class SyntaxTree::Period < ::SyntaxTree::Node + # @return [Period] a new instance of Period + # + # source://syntax_tree//lib/syntax_tree/node.rb#8576 + def initialize(value:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#8611 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#8582 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#8586 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#8574 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#8590 + def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#8586 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#8603 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#8607 + def format(q); end + + # [String] the period + # + # source://syntax_tree//lib/syntax_tree/node.rb#8571 + def value; end +end + +# PinnedBegin represents a pinning a nested statement within pattern matching. +# +# case value +# in ^(statement) +# end +# +# source://syntax_tree//lib/syntax_tree/node.rb#1962 +class SyntaxTree::PinnedBegin < ::SyntaxTree::Node + # @return [PinnedBegin] a new instance of PinnedBegin + # + # source://syntax_tree//lib/syntax_tree/node.rb#1969 + def initialize(statement:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#2014 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#1975 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#1979 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#1967 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#1983 + def copy(statement: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#1979 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#1996 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#2000 + def format(q); end + + # [Node] the expression being pinned + # + # source://syntax_tree//lib/syntax_tree/node.rb#1964 + def statement; end +end + +# PinnedVarRef represents a pinned variable reference within a pattern +# matching pattern. +# +# case value +# in ^variable +# end +# +# This can be a plain local variable like the example above. It can also be a +# a class variable, a global variable, or an instance variable. +# +# source://syntax_tree//lib/syntax_tree/node.rb#11677 +class SyntaxTree::PinnedVarRef < ::SyntaxTree::Node + # @return [PinnedVarRef] a new instance of PinnedVarRef + # + # source://syntax_tree//lib/syntax_tree/node.rb#11684 + def initialize(value:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11722 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11690 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11694 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#11682 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#11698 + def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11694 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#11711 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11715 + def format(q); end + + # [Const | CVar | GVar | Ident | IVar] the value of this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#11679 + def value; end +end + +# This visitor pretty-prints the AST into an equivalent s-expression. +# +# source://syntax_tree//lib/syntax_tree/pretty_print_visitor.rb#5 +class SyntaxTree::PrettyPrintVisitor < ::SyntaxTree::FieldVisitor + # @return [PrettyPrintVisitor] a new instance of PrettyPrintVisitor + # + # source://syntax_tree//lib/syntax_tree/pretty_print_visitor.rb#8 + def initialize(q); end + + # Returns the value of attribute q. + # + # source://syntax_tree//lib/syntax_tree/pretty_print_visitor.rb#6 + def q; end + + # This is here because we need to make sure the operator is cast to a string + # before we print it out. + # + # source://syntax_tree//lib/syntax_tree/pretty_print_visitor.rb#14 + def visit_binary(node); end + + # This is here to make it a little nicer to look at labels since they + # typically have their : at the end of the value. + # + # source://syntax_tree//lib/syntax_tree/pretty_print_visitor.rb#25 + def visit_label(node); end + + private + + # source://syntax_tree//lib/syntax_tree/pretty_print_visitor.rb#36 + def comments(node); end + + # source://syntax_tree//lib/syntax_tree/pretty_print_visitor.rb#45 + def field(_name, value); end + + # source://syntax_tree//lib/syntax_tree/pretty_print_visitor.rb#50 + def list(_name, values); end + + # source://syntax_tree//lib/syntax_tree/pretty_print_visitor.rb#55 + def node(_node, type); end + + # source://syntax_tree//lib/syntax_tree/pretty_print_visitor.rb#62 + def pairs(_name, values); end + + # source://syntax_tree//lib/syntax_tree/pretty_print_visitor.rb#78 + def text(_name, value); end +end + +# Program represents the overall syntax tree. +# +# source://syntax_tree//lib/syntax_tree/node.rb#8617 +class SyntaxTree::Program < ::SyntaxTree::Node + # @return [Program] a new instance of Program + # + # source://syntax_tree//lib/syntax_tree/node.rb#8624 + def initialize(statements:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#8664 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#8630 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#8634 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#8622 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#8638 + def copy(statements: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#8634 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#8651 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#8655 + def format(q); end + + # [Statements] the top-level expressions of the program + # + # source://syntax_tree//lib/syntax_tree/node.rb#8619 + def statements; end +end + +# QSymbols represents a symbol literal array without interpolation. +# +# %i[one two three] +# +# source://syntax_tree//lib/syntax_tree/node.rb#8673 +class SyntaxTree::QSymbols < ::SyntaxTree::Node + # @return [QSymbols] a new instance of QSymbols + # + # source://syntax_tree//lib/syntax_tree/node.rb#8683 + def initialize(beginning:, elements:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#8743 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#8690 + def accept(visitor); end + + # [QSymbolsBeg] the token that opens this array literal + # + # source://syntax_tree//lib/syntax_tree/node.rb#8675 + def beginning; end + + # source://syntax_tree//lib/syntax_tree/node.rb#8694 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#8681 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#8698 + def copy(beginning: T.unsafe(nil), elements: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#8694 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#8712 + def deconstruct_keys(_keys); end + + # [Array[ TStringContent ]] the elements of the array + # + # source://syntax_tree//lib/syntax_tree/node.rb#8678 + def elements; end + + # source://syntax_tree//lib/syntax_tree/node.rb#8721 + def format(q); end +end + +# QSymbolsBeg represents the beginning of a symbol literal array. +# +# %i[one two three] +# +# In the snippet above, QSymbolsBeg represents the "%i[" token. Note that +# these kinds of arrays can start with a lot of different delimiter types +# (e.g., %i| or %i<). +# +# source://syntax_tree//lib/syntax_tree/node.rb#8756 +class SyntaxTree::QSymbolsBeg < ::SyntaxTree::Node + # @return [QSymbolsBeg] a new instance of QSymbolsBeg + # + # source://syntax_tree//lib/syntax_tree/node.rb#8760 + def initialize(value:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#8786 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#8765 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#8769 + def child_nodes; end + + # source://syntax_tree//lib/syntax_tree/node.rb#8773 + def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#8769 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#8782 + def deconstruct_keys(_keys); end + + # [String] the beginning of the array literal + # + # source://syntax_tree//lib/syntax_tree/node.rb#8758 + def value; end +end + +# QWords represents a string literal array without interpolation. +# +# %w[one two three] +# +# source://syntax_tree//lib/syntax_tree/node.rb#8795 +class SyntaxTree::QWords < ::SyntaxTree::Node + # @return [QWords] a new instance of QWords + # + # source://syntax_tree//lib/syntax_tree/node.rb#8805 + def initialize(beginning:, elements:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#8861 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#8812 + def accept(visitor); end + + # [QWordsBeg] the token that opens this array literal + # + # source://syntax_tree//lib/syntax_tree/node.rb#8797 + def beginning; end + + # source://syntax_tree//lib/syntax_tree/node.rb#8816 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#8803 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#8820 + def copy(beginning: T.unsafe(nil), elements: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#8816 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#8830 + def deconstruct_keys(_keys); end + + # [Array[ TStringContent ]] the elements of the array + # + # source://syntax_tree//lib/syntax_tree/node.rb#8800 + def elements; end + + # source://syntax_tree//lib/syntax_tree/node.rb#8839 + def format(q); end +end + +# QWordsBeg represents the beginning of a string literal array. +# +# %w[one two three] +# +# In the snippet above, QWordsBeg represents the "%w[" token. Note that these +# kinds of arrays can start with a lot of different delimiter types (e.g., +# %w| or %w<). +# +# source://syntax_tree//lib/syntax_tree/node.rb#8874 +class SyntaxTree::QWordsBeg < ::SyntaxTree::Node + # @return [QWordsBeg] a new instance of QWordsBeg + # + # source://syntax_tree//lib/syntax_tree/node.rb#8878 + def initialize(value:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#8904 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#8883 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#8887 + def child_nodes; end + + # source://syntax_tree//lib/syntax_tree/node.rb#8891 + def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#8887 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#8900 + def deconstruct_keys(_keys); end + + # [String] the beginning of the array literal + # + # source://syntax_tree//lib/syntax_tree/node.rb#8876 + def value; end +end + +# Responsible for providing information about quotes to be used for strings +# and dynamic symbols. +# +# source://syntax_tree//lib/syntax_tree/node.rb#4612 +module SyntaxTree::Quotes + class << self + # If there is some part of this string that matches an escape sequence or + # that contains the interpolation pattern ("#{"), then we are locked into + # whichever quote the user chose. (If they chose single quotes, then double + # quoting would activate the escape sequence, and if they chose double + # quotes, then single quotes would deactivate it.) + # + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/node.rb#4621 + def locked?(node, quote); end + + # Find the matching closing quote for the given opening quote. + # + # source://syntax_tree//lib/syntax_tree/node.rb#4628 + def matching(quote); end + + # Escape and unescape single and double quotes as needed to be able to + # enclose +content+ with +enclosing+. + # + # source://syntax_tree//lib/syntax_tree/node.rb#4634 + def normalize(content, enclosing); end + end +end + +# The matching pairs of quotes that can be used with % literals. +# +# source://syntax_tree//lib/syntax_tree/node.rb#4614 +SyntaxTree::Quotes::PAIRS = T.let(T.unsafe(nil), Hash) + +# RAssign represents a single-line pattern match. +# +# value in pattern +# value => pattern +# +# source://syntax_tree//lib/syntax_tree/node.rb#3198 +class SyntaxTree::RAssign < ::SyntaxTree::Node + # @return [RAssign] a new instance of RAssign + # + # source://syntax_tree//lib/syntax_tree/node.rb#3212 + def initialize(value:, operator:, pattern:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#3274 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#3220 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#3224 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#3210 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#3228 + def copy(value: T.unsafe(nil), operator: T.unsafe(nil), pattern: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#3224 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#3243 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#3253 + def format(q); end + + # [Kw | Op] the operator being used to match against the pattern, which is + # either => or in + # + # source://syntax_tree//lib/syntax_tree/node.rb#3204 + def operator; end + + # [Node] the pattern on the right-hand side of the expression + # + # source://syntax_tree//lib/syntax_tree/node.rb#3207 + def pattern; end + + # [Node] the left-hand expression + # + # source://syntax_tree//lib/syntax_tree/node.rb#3200 + def value; end +end + +# RBrace represents the use of a right brace, i.e., +++. +# +# source://syntax_tree//lib/syntax_tree/node.rb#8961 +class SyntaxTree::RBrace < ::SyntaxTree::Node + # @return [RBrace] a new instance of RBrace + # + # source://syntax_tree//lib/syntax_tree/node.rb#8965 + def initialize(value:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#8991 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#8970 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#8974 + def child_nodes; end + + # source://syntax_tree//lib/syntax_tree/node.rb#8978 + def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#8974 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#8987 + def deconstruct_keys(_keys); end + + # [String] the right brace + # + # source://syntax_tree//lib/syntax_tree/node.rb#8963 + def value; end +end + +# RBracket represents the use of a right bracket, i.e., +]+. +# +# source://syntax_tree//lib/syntax_tree/node.rb#8997 +class SyntaxTree::RBracket < ::SyntaxTree::Node + # @return [RBracket] a new instance of RBracket + # + # source://syntax_tree//lib/syntax_tree/node.rb#9001 + def initialize(value:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9027 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9006 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9010 + def child_nodes; end + + # source://syntax_tree//lib/syntax_tree/node.rb#9014 + def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9010 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#9023 + def deconstruct_keys(_keys); end + + # [String] the right bracket + # + # source://syntax_tree//lib/syntax_tree/node.rb#8999 + def value; end +end + +# RParen represents the use of a right parenthesis, i.e., +)+. +# +# source://syntax_tree//lib/syntax_tree/node.rb#9767 +class SyntaxTree::RParen < ::SyntaxTree::Node + # @return [RParen] a new instance of RParen + # + # source://syntax_tree//lib/syntax_tree/node.rb#9771 + def initialize(value:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9797 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9776 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9780 + def child_nodes; end + + # source://syntax_tree//lib/syntax_tree/node.rb#9784 + def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9780 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#9793 + def deconstruct_keys(_keys); end + + # [String] the parenthesis + # + # source://syntax_tree//lib/syntax_tree/node.rb#9769 + def value; end +end + +# RangeNode represents using the .. or the ... operator between two +# expressions. Usually this is to create a range object. +# +# 1..2 +# +# Sometimes this operator is used to create a flip-flop. +# +# if value == 5 .. value == 10 +# end +# +# One of the sides of the expression may be nil, but not both. +# +# source://syntax_tree//lib/syntax_tree/node.rb#4537 +class SyntaxTree::RangeNode < ::SyntaxTree::Node + # @return [RangeNode] a new instance of RangeNode + # + # source://syntax_tree//lib/syntax_tree/node.rb#4550 + def initialize(left:, operator:, right:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#4604 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#4558 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#4562 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#4548 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#4566 + def copy(left: T.unsafe(nil), operator: T.unsafe(nil), right: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#4562 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#4581 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#4591 + def format(q); end + + # [nil | Node] the left side of the expression + # + # source://syntax_tree//lib/syntax_tree/node.rb#4539 + def left; end + + # [Op] the operator used for this range + # + # source://syntax_tree//lib/syntax_tree/node.rb#4542 + def operator; end + + # [nil | Node] the right side of the expression + # + # source://syntax_tree//lib/syntax_tree/node.rb#4545 + def right; end +end + +# RationalLiteral represents the use of a rational number literal. +# +# 1r +# +# source://syntax_tree//lib/syntax_tree/node.rb#8913 +class SyntaxTree::RationalLiteral < ::SyntaxTree::Node + # @return [RationalLiteral] a new instance of RationalLiteral + # + # source://syntax_tree//lib/syntax_tree/node.rb#8920 + def initialize(value:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#8955 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#8926 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#8930 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#8918 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#8934 + def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#8930 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#8947 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#8951 + def format(q); end + + # [String] the rational number literal + # + # source://syntax_tree//lib/syntax_tree/node.rb#8915 + def value; end +end + +# Redo represents the use of the +redo+ keyword. +# +# redo +# +# source://syntax_tree//lib/syntax_tree/node.rb#9036 +class SyntaxTree::Redo < ::SyntaxTree::Node + # @return [Redo] a new instance of Redo + # + # source://syntax_tree//lib/syntax_tree/node.rb#9040 + def initialize(location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9070 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9045 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9049 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#9038 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#9053 + def copy(location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9049 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#9062 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9066 + def format(q); end +end + +# RegexpBeg represents the start of a regular expression literal. +# +# /.+/ +# +# In the example above, RegexpBeg represents the first / token. Regular +# expression literals can also be declared using the %r syntax, as in: +# +# %r{.+} +# +# source://syntax_tree//lib/syntax_tree/node.rb#9132 +class SyntaxTree::RegexpBeg < ::SyntaxTree::Node + # @return [RegexpBeg] a new instance of RegexpBeg + # + # source://syntax_tree//lib/syntax_tree/node.rb#9136 + def initialize(value:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9162 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9141 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9145 + def child_nodes; end + + # source://syntax_tree//lib/syntax_tree/node.rb#9149 + def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9145 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#9158 + def deconstruct_keys(_keys); end + + # [String] the beginning of the regular expression + # + # source://syntax_tree//lib/syntax_tree/node.rb#9134 + def value; end +end + +# RegexpContent represents the body of a regular expression. +# +# /.+ #{pattern} .+/ +# +# In the example above, a RegexpContent node represents everything contained +# within the forward slashes. +# +# source://syntax_tree//lib/syntax_tree/node.rb#9081 +class SyntaxTree::RegexpContent < ::SyntaxTree::Node + # @return [RegexpContent] a new instance of RegexpContent + # + # source://syntax_tree//lib/syntax_tree/node.rb#9089 + def initialize(beginning:, parts:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9117 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9095 + def accept(visitor); end + + # [String] the opening of the regular expression + # + # source://syntax_tree//lib/syntax_tree/node.rb#9083 + def beginning; end + + # source://syntax_tree//lib/syntax_tree/node.rb#9099 + def child_nodes; end + + # source://syntax_tree//lib/syntax_tree/node.rb#9103 + def copy(beginning: T.unsafe(nil), parts: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9099 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#9113 + def deconstruct_keys(_keys); end + + # [Array[ StringDVar | StringEmbExpr | TStringContent ]] the parts of the + # regular expression + # + # source://syntax_tree//lib/syntax_tree/node.rb#9087 + def parts; end +end + +# RegexpEnd represents the end of a regular expression literal. +# +# /.+/m +# +# In the example above, the RegexpEnd event represents the /m at the end of +# the regular expression literal. You can also declare regular expression +# literals using %r, as in: +# +# %r{.+}m +# +# source://syntax_tree//lib/syntax_tree/node.rb#9177 +class SyntaxTree::RegexpEnd < ::SyntaxTree::Node + # @return [RegexpEnd] a new instance of RegexpEnd + # + # source://syntax_tree//lib/syntax_tree/node.rb#9181 + def initialize(value:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9207 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9186 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9190 + def child_nodes; end + + # source://syntax_tree//lib/syntax_tree/node.rb#9194 + def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9190 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#9203 + def deconstruct_keys(_keys); end + + # [String] the end of the regular expression + # + # source://syntax_tree//lib/syntax_tree/node.rb#9179 + def value; end +end + +# RegexpLiteral represents a regular expression literal. +# +# /.+/ +# +# source://syntax_tree//lib/syntax_tree/node.rb#9216 +class SyntaxTree::RegexpLiteral < ::SyntaxTree::Node + # @return [RegexpLiteral] a new instance of RegexpLiteral + # + # source://syntax_tree//lib/syntax_tree/node.rb#9230 + def initialize(beginning:, ending:, parts:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9312 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9238 + def accept(visitor); end + + # [String] the beginning of the regular expression literal + # + # source://syntax_tree//lib/syntax_tree/node.rb#9218 + def beginning; end + + # source://syntax_tree//lib/syntax_tree/node.rb#9242 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#9228 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#9246 + def copy(beginning: T.unsafe(nil), ending: T.unsafe(nil), parts: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9242 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#9261 + def deconstruct_keys(_keys); end + + # [String] the ending of the regular expression literal + # + # source://syntax_tree//lib/syntax_tree/node.rb#9221 + def ending; end + + # source://syntax_tree//lib/syntax_tree/node.rb#9272 + def format(q); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9318 + def options; end + + # [Array[ StringEmbExpr | StringDVar | TStringContent ]] the parts of the + # regular expression literal + # + # source://syntax_tree//lib/syntax_tree/node.rb#9225 + def parts; end + + private + + # If the first part of this regex is plain string content, we have a space + # or an =, and we're contained within a command or command_call node, then + # we want to use braces because otherwise we could end up with an ambiguous + # operator, e.g. foo / bar/ or foo /=bar/ + # + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/node.rb#9334 + def ambiguous?(q); end + + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/node.rb#9324 + def include?(pattern); end +end + +# Rescue represents the use of the rescue keyword inside of a BodyStmt node. +# +# begin +# rescue +# end +# +# source://syntax_tree//lib/syntax_tree/node.rb#9424 +class SyntaxTree::Rescue < ::SyntaxTree::Node + # @return [Rescue] a new instance of Rescue + # + # source://syntax_tree//lib/syntax_tree/node.rb#9440 + def initialize(keyword:, exception:, statements:, consequent:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9536 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9471 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9449 + def bind_end(end_char, end_column); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9475 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#9438 + def comments; end + + # [nil | Rescue] the optional next clause in the chain + # + # source://syntax_tree//lib/syntax_tree/node.rb#9435 + def consequent; end + + # source://syntax_tree//lib/syntax_tree/node.rb#9479 + def copy(keyword: T.unsafe(nil), exception: T.unsafe(nil), statements: T.unsafe(nil), consequent: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9475 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#9501 + def deconstruct_keys(_keys); end + + # [nil | RescueEx] the exceptions being rescued + # + # source://syntax_tree//lib/syntax_tree/node.rb#9429 + def exception; end + + # source://syntax_tree//lib/syntax_tree/node.rb#9512 + def format(q); end + + # [Kw] the rescue keyword + # + # source://syntax_tree//lib/syntax_tree/node.rb#9426 + def keyword; end + + # [Statements] the expressions to evaluate when an error is rescued + # + # source://syntax_tree//lib/syntax_tree/node.rb#9432 + def statements; end +end + +# RescueEx represents the list of exceptions being rescued in a rescue clause. +# +# begin +# rescue Exception => exception +# end +# +# source://syntax_tree//lib/syntax_tree/node.rb#9349 +class SyntaxTree::RescueEx < ::SyntaxTree::Node + # @return [RescueEx] a new instance of RescueEx + # + # source://syntax_tree//lib/syntax_tree/node.rb#9360 + def initialize(exceptions:, variable:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9412 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9367 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9371 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#9358 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#9375 + def copy(exceptions: T.unsafe(nil), variable: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9371 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#9389 + def deconstruct_keys(_keys); end + + # [nil | Node] the list of exceptions being rescued + # + # source://syntax_tree//lib/syntax_tree/node.rb#9351 + def exceptions; end + + # source://syntax_tree//lib/syntax_tree/node.rb#9398 + def format(q); end + + # [nil | Field | VarField] the expression being used to capture the raised + # exception + # + # source://syntax_tree//lib/syntax_tree/node.rb#9355 + def variable; end +end + +# RescueMod represents the use of the modifier form of a +rescue+ clause. +# +# expression rescue value +# +# source://syntax_tree//lib/syntax_tree/node.rb#9547 +class SyntaxTree::RescueMod < ::SyntaxTree::Node + # @return [RescueMod] a new instance of RescueMod + # + # source://syntax_tree//lib/syntax_tree/node.rb#9557 + def initialize(statement:, value:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9613 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9564 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9568 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#9555 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#9572 + def copy(statement: T.unsafe(nil), value: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9568 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#9586 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9595 + def format(q); end + + # [Node] the expression to execute + # + # source://syntax_tree//lib/syntax_tree/node.rb#9549 + def statement; end + + # [Node] the value to use if the executed expression raises an error + # + # source://syntax_tree//lib/syntax_tree/node.rb#9552 + def value; end +end + +# RestParam represents defining a parameter in a method definition that +# accepts all remaining positional parameters. +# +# def method(*rest) end +# +# source://syntax_tree//lib/syntax_tree/node.rb#9624 +class SyntaxTree::RestParam < ::SyntaxTree::Node + # @return [RestParam] a new instance of RestParam + # + # source://syntax_tree//lib/syntax_tree/node.rb#9631 + def initialize(name:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9667 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9637 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9641 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#9629 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#9645 + def copy(name: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9641 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#9658 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9662 + def format(q); end + + # [nil | Ident] the name of the parameter + # + # source://syntax_tree//lib/syntax_tree/node.rb#9626 + def name; end +end + +# Retry represents the use of the +retry+ keyword. +# +# retry +# +# source://syntax_tree//lib/syntax_tree/node.rb#9676 +class SyntaxTree::Retry < ::SyntaxTree::Node + # @return [Retry] a new instance of Retry + # + # source://syntax_tree//lib/syntax_tree/node.rb#9680 + def initialize(location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9710 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9685 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9689 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#9678 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#9693 + def copy(location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9689 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#9702 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9706 + def format(q); end +end + +# Return represents using the +return+ keyword with arguments. +# +# return value +# +# source://syntax_tree//lib/syntax_tree/node.rb#9719 +class SyntaxTree::ReturnNode < ::SyntaxTree::Node + # @return [ReturnNode] a new instance of ReturnNode + # + # source://syntax_tree//lib/syntax_tree/node.rb#9726 + def initialize(arguments:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9761 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9732 + def accept(visitor); end + + # [nil | Args] the arguments being passed to the keyword + # + # source://syntax_tree//lib/syntax_tree/node.rb#9721 + def arguments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#9736 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#9724 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#9740 + def copy(arguments: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9736 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#9753 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9757 + def format(q); end +end + +# SClass represents a block of statements that should be evaluated within the +# context of the singleton class of an object. It's frequently used to define +# singleton methods. +# +# class << self +# end +# +# source://syntax_tree//lib/syntax_tree/node.rb#9809 +class SyntaxTree::SClass < ::SyntaxTree::Node + # @return [SClass] a new instance of SClass + # + # source://syntax_tree//lib/syntax_tree/node.rb#9819 + def initialize(target:, bodystmt:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9870 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9826 + def accept(visitor); end + + # [BodyStmt] the expressions to be executed + # + # source://syntax_tree//lib/syntax_tree/node.rb#9814 + def bodystmt; end + + # source://syntax_tree//lib/syntax_tree/node.rb#9830 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#9817 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#9834 + def copy(target: T.unsafe(nil), bodystmt: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9830 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#9848 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9857 + def format(q); end + + # [Node] the target of the singleton class to enter + # + # source://syntax_tree//lib/syntax_tree/node.rb#9811 + def target; end +end + +# Provides an interface for searching for a pattern of nodes against a +# subtree of an AST. +# +# source://syntax_tree//lib/syntax_tree/search.rb#6 +class SyntaxTree::Search + # @return [Search] a new instance of Search + # + # source://syntax_tree//lib/syntax_tree/search.rb#9 + def initialize(pattern); end + + # Returns the value of attribute pattern. + # + # source://syntax_tree//lib/syntax_tree/search.rb#7 + def pattern; end + + # source://syntax_tree//lib/syntax_tree/search.rb#13 + def scan(root); end +end + +# Everything that has a block of code inside of it has a list of statements. +# Normally we would just track those as a node that has an array body, but we +# have some special handling in order to handle empty statement lists. They +# need to have the right location information, so all of the parent node of +# stmts nodes will report back down the location information. We then +# propagate that onto void_stmt nodes inside the stmts in order to make sure +# all comments get printed appropriately. +# +# source://syntax_tree//lib/syntax_tree/node.rb#9883 +class SyntaxTree::Statements < ::SyntaxTree::Node + # @return [Statements] a new instance of Statements + # + # source://syntax_tree//lib/syntax_tree/node.rb#9890 + def initialize(body:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10016 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9943 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9896 + def bind(parser, start_char, start_column, end_char, end_column); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9925 + def bind_end(end_char, end_column); end + + # [Array[ Node ]] the list of expressions contained within this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#9885 + def body; end + + # source://syntax_tree//lib/syntax_tree/node.rb#9947 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#9888 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#9951 + def copy(body: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#9947 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#9964 + def deconstruct_keys(_keys); end + + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/node.rb#9937 + def empty?; end + + # source://syntax_tree//lib/syntax_tree/node.rb#9968 + def format(q); end + + private + + # As efficiently as possible, gather up all of the comments that have been + # found while this statements list was being parsed and add them into the + # body. + # + # source://syntax_tree//lib/syntax_tree/node.rb#10025 + def attach_comments(parser, start_char, end_char); end +end + +# StringConcat represents concatenating two strings together using a backward +# slash. +# +# "first" \ +# "second" +# +# source://syntax_tree//lib/syntax_tree/node.rb#10140 +class SyntaxTree::StringConcat < ::SyntaxTree::Node + # @return [StringConcat] a new instance of StringConcat + # + # source://syntax_tree//lib/syntax_tree/node.rb#10151 + def initialize(left:, right:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10195 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10158 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10162 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#10149 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#10166 + def copy(left: T.unsafe(nil), right: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10162 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#10180 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10184 + def format(q); end + + # [Heredoc | StringConcat | StringLiteral] the left side of the + # concatenation + # + # source://syntax_tree//lib/syntax_tree/node.rb#10143 + def left; end + + # [StringLiteral] the right side of the concatenation + # + # source://syntax_tree//lib/syntax_tree/node.rb#10146 + def right; end +end + +# StringContent represents the contents of a string-like value. +# +# "string" +# +# source://syntax_tree//lib/syntax_tree/node.rb#10067 +class SyntaxTree::StringContent < ::SyntaxTree::Node + # @return [StringContent] a new instance of StringContent + # + # source://syntax_tree//lib/syntax_tree/node.rb#10075 + def initialize(parts:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10102 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10081 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10085 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#10073 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#10089 + def copy(parts: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10085 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#10098 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10106 + def format(q); end + + # [Array[ StringEmbExpr | StringDVar | TStringContent ]] the parts of the + # string + # + # source://syntax_tree//lib/syntax_tree/node.rb#10070 + def parts; end +end + +# StringDVar represents shorthand interpolation of a variable into a string. +# It allows you to take an instance variable, class variable, or global +# variable and omit the braces when interpolating. +# +# "#@variable" +# +# source://syntax_tree//lib/syntax_tree/node.rb#10206 +class SyntaxTree::StringDVar < ::SyntaxTree::Node + # @return [StringDVar] a new instance of StringDVar + # + # source://syntax_tree//lib/syntax_tree/node.rb#10213 + def initialize(variable:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10250 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10219 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10223 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#10211 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#10227 + def copy(variable: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10223 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#10240 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10244 + def format(q); end + + # [Backref | VarRef] the variable being interpolated + # + # source://syntax_tree//lib/syntax_tree/node.rb#10208 + def variable; end +end + +# StringEmbExpr represents interpolated content. It can be contained within a +# couple of different parent nodes, including regular expressions, strings, +# and dynamic symbols. +# +# "string #{expression}" +# +# source://syntax_tree//lib/syntax_tree/node.rb#10261 +class SyntaxTree::StringEmbExpr < ::SyntaxTree::Node + # @return [StringEmbExpr] a new instance of StringEmbExpr + # + # source://syntax_tree//lib/syntax_tree/node.rb#10268 + def initialize(statements:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10325 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10274 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10278 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#10266 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#10282 + def copy(statements: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10278 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#10295 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10299 + def format(q); end + + # [Statements] the expressions to be interpolated + # + # source://syntax_tree//lib/syntax_tree/node.rb#10263 + def statements; end +end + +# StringLiteral represents a string literal. +# +# "string" +# +# source://syntax_tree//lib/syntax_tree/node.rb#10334 +class SyntaxTree::StringLiteral < ::SyntaxTree::Node + # @return [StringLiteral] a new instance of StringLiteral + # + # source://syntax_tree//lib/syntax_tree/node.rb#10345 + def initialize(parts:, quote:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10419 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10352 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10356 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#10343 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#10360 + def copy(parts: T.unsafe(nil), quote: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10356 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#10374 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10378 + def format(q); end + + # [Array[ StringEmbExpr | StringDVar | TStringContent ]] the parts of the + # string literal + # + # source://syntax_tree//lib/syntax_tree/node.rb#10337 + def parts; end + + # [nil | String] which quote was used by the string literal + # + # source://syntax_tree//lib/syntax_tree/node.rb#10340 + def quote; end +end + +# Super represents using the +super+ keyword with arguments. It can optionally +# use parentheses. +# +# super(value) +# +# source://syntax_tree//lib/syntax_tree/node.rb#10430 +class SyntaxTree::Super < ::SyntaxTree::Node + # @return [Super] a new instance of Super + # + # source://syntax_tree//lib/syntax_tree/node.rb#10437 + def initialize(arguments:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10481 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10443 + def accept(visitor); end + + # [ArgParen | Args] the arguments to the keyword + # + # source://syntax_tree//lib/syntax_tree/node.rb#10432 + def arguments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#10447 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#10435 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#10451 + def copy(arguments: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10447 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#10464 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10468 + def format(q); end +end + +# SymBeg represents the beginning of a symbol literal. +# +# :symbol +# +# SymBeg is also used for dynamic symbols, as in: +# +# :"symbol" +# +# Finally, SymBeg is also used for symbols using the %s syntax, as in: +# +# %s[symbol] +# +# The value of this node is a string. In most cases (as in the first example +# above) it will contain just ":". In the case of dynamic symbols it will +# contain ":'" or ":\"". In the case of %s symbols, it will contain the start +# of the symbol including the %s and the delimiter. +# +# source://syntax_tree//lib/syntax_tree/node.rb#10502 +class SyntaxTree::SymBeg < ::SyntaxTree::Node + # @return [SymBeg] a new instance of SymBeg + # + # source://syntax_tree//lib/syntax_tree/node.rb#10506 + def initialize(value:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10532 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10511 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10515 + def child_nodes; end + + # source://syntax_tree//lib/syntax_tree/node.rb#10519 + def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10515 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#10528 + def deconstruct_keys(_keys); end + + # [String] the beginning of the symbol + # + # source://syntax_tree//lib/syntax_tree/node.rb#10504 + def value; end +end + +# SymbolContent represents symbol contents and is always the child of a +# SymbolLiteral node. +# +# :symbol +# +# source://syntax_tree//lib/syntax_tree/node.rb#10542 +class SyntaxTree::SymbolContent < ::SyntaxTree::Node + # @return [SymbolContent] a new instance of SymbolContent + # + # source://syntax_tree//lib/syntax_tree/node.rb#10547 + def initialize(value:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10573 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10552 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10556 + def child_nodes; end + + # source://syntax_tree//lib/syntax_tree/node.rb#10560 + def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10556 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#10569 + def deconstruct_keys(_keys); end + + # [Backtick | Const | CVar | GVar | Ident | IVar | Kw | Op] the value of the + # symbol + # + # source://syntax_tree//lib/syntax_tree/node.rb#10545 + def value; end +end + +# SymbolLiteral represents a symbol in the system with no interpolation +# (as opposed to a DynaSymbol which has interpolation). +# +# :symbol +# +# source://syntax_tree//lib/syntax_tree/node.rb#10583 +class SyntaxTree::SymbolLiteral < ::SyntaxTree::Node + # @return [SymbolLiteral] a new instance of SymbolLiteral + # + # source://syntax_tree//lib/syntax_tree/node.rb#10591 + def initialize(value:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10628 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10597 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10601 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#10589 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#10605 + def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10601 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#10618 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10622 + def format(q); end + + # [Backtick | Const | CVar | GVar | Ident | IVar | Kw | Op | TStringContent] + # the value of the symbol + # + # source://syntax_tree//lib/syntax_tree/node.rb#10586 + def value; end +end + +# Symbols represents a symbol array literal with interpolation. +# +# %I[one two three] +# +# source://syntax_tree//lib/syntax_tree/node.rb#10637 +class SyntaxTree::Symbols < ::SyntaxTree::Node + # @return [Symbols] a new instance of Symbols + # + # source://syntax_tree//lib/syntax_tree/node.rb#10647 + def initialize(beginning:, elements:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10703 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10654 + def accept(visitor); end + + # [SymbolsBeg] the token that opens this array literal + # + # source://syntax_tree//lib/syntax_tree/node.rb#10639 + def beginning; end + + # source://syntax_tree//lib/syntax_tree/node.rb#10658 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#10645 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#10662 + def copy(beginning: T.unsafe(nil), elements: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10658 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#10672 + def deconstruct_keys(_keys); end + + # [Array[ Word ]] the words in the symbol array literal + # + # source://syntax_tree//lib/syntax_tree/node.rb#10642 + def elements; end + + # source://syntax_tree//lib/syntax_tree/node.rb#10681 + def format(q); end +end + +# SymbolsBeg represents the start of a symbol array literal with +# interpolation. +# +# %I[one two three] +# +# In the snippet above, SymbolsBeg represents the "%I[" token. Note that these +# kinds of arrays can start with a lot of different delimiter types +# (e.g., %I| or %I<). +# +# source://syntax_tree//lib/syntax_tree/node.rb#10717 +class SyntaxTree::SymbolsBeg < ::SyntaxTree::Node + # @return [SymbolsBeg] a new instance of SymbolsBeg + # + # source://syntax_tree//lib/syntax_tree/node.rb#10721 + def initialize(value:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10747 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10726 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10730 + def child_nodes; end + + # source://syntax_tree//lib/syntax_tree/node.rb#10734 + def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10730 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#10743 + def deconstruct_keys(_keys); end + + # [String] the beginning of the symbol literal array + # + # source://syntax_tree//lib/syntax_tree/node.rb#10719 + def value; end +end + +# TLamBeg represents the beginning of the body of a lambda literal using +# braces. +# +# -> { value } +# +# In the example above the TLamBeg represents the +{+ operator. +# +# source://syntax_tree//lib/syntax_tree/node.rb#10798 +class SyntaxTree::TLamBeg < ::SyntaxTree::Node + # @return [TLamBeg] a new instance of TLamBeg + # + # source://syntax_tree//lib/syntax_tree/node.rb#10802 + def initialize(value:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10828 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10807 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10811 + def child_nodes; end + + # source://syntax_tree//lib/syntax_tree/node.rb#10815 + def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10811 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#10824 + def deconstruct_keys(_keys); end + + # [String] the beginning of the body of the lambda literal + # + # source://syntax_tree//lib/syntax_tree/node.rb#10800 + def value; end +end + +# TLambda represents the beginning of a lambda literal. +# +# -> { value } +# +# In the example above the TLambda represents the +->+ operator. +# +# source://syntax_tree//lib/syntax_tree/node.rb#10757 +class SyntaxTree::TLambda < ::SyntaxTree::Node + # @return [TLambda] a new instance of TLambda + # + # source://syntax_tree//lib/syntax_tree/node.rb#10761 + def initialize(value:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10787 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10766 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10770 + def child_nodes; end + + # source://syntax_tree//lib/syntax_tree/node.rb#10774 + def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10770 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#10783 + def deconstruct_keys(_keys); end + + # [String] the beginning of the lambda literal + # + # source://syntax_tree//lib/syntax_tree/node.rb#10759 + def value; end +end + +# TStringBeg represents the beginning of a string literal. +# +# "string" +# +# In the example above, TStringBeg represents the first set of quotes. Strings +# can also use single quotes. They can also be declared using the +%q+ and +# +%Q+ syntax, as in: +# +# %q{string} +# +# source://syntax_tree//lib/syntax_tree/node.rb#10950 +class SyntaxTree::TStringBeg < ::SyntaxTree::Node + # @return [TStringBeg] a new instance of TStringBeg + # + # source://syntax_tree//lib/syntax_tree/node.rb#10954 + def initialize(value:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10980 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10959 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10963 + def child_nodes; end + + # source://syntax_tree//lib/syntax_tree/node.rb#10967 + def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10963 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#10976 + def deconstruct_keys(_keys); end + + # [String] the beginning of the string + # + # source://syntax_tree//lib/syntax_tree/node.rb#10952 + def value; end +end + +# TStringContent represents plain characters inside of an entity that accepts +# string content like a string, heredoc, command string, or regular +# expression. +# +# "string" +# +# In the example above, TStringContent represents the +string+ token contained +# within the string. +# +# source://syntax_tree//lib/syntax_tree/node.rb#10993 +class SyntaxTree::TStringContent < ::SyntaxTree::Node + # @return [TStringContent] a new instance of TStringContent + # + # source://syntax_tree//lib/syntax_tree/node.rb#11000 + def initialize(value:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11039 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11010 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11014 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#10998 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#11018 + def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11014 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#11031 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11035 + def format(q); end + + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/node.rb#11006 + def match?(pattern); end + + # [String] the content of the string + # + # source://syntax_tree//lib/syntax_tree/node.rb#10995 + def value; end +end + +# TStringEnd represents the end of a string literal. +# +# "string" +# +# In the example above, TStringEnd represents the second set of quotes. +# Strings can also use single quotes. They can also be declared using the +%q+ +# and +%Q+ syntax, as in: +# +# %q{string} +# +# source://syntax_tree//lib/syntax_tree/node.rb#11054 +class SyntaxTree::TStringEnd < ::SyntaxTree::Node + # @return [TStringEnd] a new instance of TStringEnd + # + # source://syntax_tree//lib/syntax_tree/node.rb#11058 + def initialize(value:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11084 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11063 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11067 + def child_nodes; end + + # source://syntax_tree//lib/syntax_tree/node.rb#11071 + def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11067 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#11080 + def deconstruct_keys(_keys); end + + # [String] the end of the string + # + # source://syntax_tree//lib/syntax_tree/node.rb#11056 + def value; end +end + +# In order for an `if` or `unless` expression to be shortened to a ternary, +# there has to be one and only one consequent clause which is an Else. Both +# the body of the main node and the body of the Else node must have only one +# statement, and that statement must not be on the denied list of potential +# statements. +# +# source://syntax_tree//lib/syntax_tree/node.rb#6251 +module SyntaxTree::Ternaryable + class << self + # source://syntax_tree//lib/syntax_tree/node.rb#6253 + def call(q, node); end + + private + + # Certain expressions cannot be reduced to a ternary without adding + # parentheses around them. In this case we say they cannot be ternaried + # and default instead to breaking them into multiple lines. + # + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/node.rb#6291 + def ternaryable?(statement); end + end +end + +# TopConstField is always the child node of some kind of assignment. It +# represents when you're assigning to a constant that is being referenced at +# the top level. +# +# ::Constant = value +# +# source://syntax_tree//lib/syntax_tree/node.rb#10839 +class SyntaxTree::TopConstField < ::SyntaxTree::Node + # @return [TopConstField] a new instance of TopConstField + # + # source://syntax_tree//lib/syntax_tree/node.rb#10846 + def initialize(constant:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10882 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10852 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10856 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#10844 + def comments; end + + # [Const] the constant being assigned + # + # source://syntax_tree//lib/syntax_tree/node.rb#10841 + def constant; end + + # source://syntax_tree//lib/syntax_tree/node.rb#10860 + def copy(constant: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10856 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#10873 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10877 + def format(q); end +end + +# TopConstRef is very similar to TopConstField except that it is not involved +# in an assignment. +# +# ::Constant +# +# source://syntax_tree//lib/syntax_tree/node.rb#10892 +class SyntaxTree::TopConstRef < ::SyntaxTree::Node + # @return [TopConstRef] a new instance of TopConstRef + # + # source://syntax_tree//lib/syntax_tree/node.rb#10899 + def initialize(constant:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10935 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10905 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10909 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#10897 + def comments; end + + # [Const] the constant being referenced + # + # source://syntax_tree//lib/syntax_tree/node.rb#10894 + def constant; end + + # source://syntax_tree//lib/syntax_tree/node.rb#10913 + def copy(constant: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10909 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#10926 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#10930 + def format(q); end +end + +# This module is responsible for translating the Syntax Tree syntax tree into +# other representations. +# +# source://syntax_tree//lib/syntax_tree/translation.rb#6 +module SyntaxTree::Translation + class << self + # This method translates the given node into the representation defined by + # the whitequark/parser gem. We don't explicitly list it as a dependency + # because it's not required for the core functionality of Syntax Tree. + # + # source://syntax_tree//lib/syntax_tree/translation.rb#10 + def to_parser(node, buffer); end + + # This method translates the given node into the representation defined by + # the rubocop/rubocop-ast gem. We don't explicitly list it as a dependency + # because it's not required for the core functionality of Syntax Tree. + # + # source://syntax_tree//lib/syntax_tree/translation.rb#20 + def to_rubocop_ast(node, buffer); end + end +end + +# Unary represents a unary method being called on an expression, as in +!+ or +# +~+. +# +# !value +# +# source://syntax_tree//lib/syntax_tree/node.rb#11177 +class SyntaxTree::Unary < ::SyntaxTree::Node + # @return [Unary] a new instance of Unary + # + # source://syntax_tree//lib/syntax_tree/node.rb#11187 + def initialize(operator:, statement:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11230 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11194 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11198 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#11185 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#11202 + def copy(operator: T.unsafe(nil), statement: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11198 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#11216 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11225 + def format(q); end + + # [String] the operator being used + # + # source://syntax_tree//lib/syntax_tree/node.rb#11179 + def operator; end + + # [Node] the statement on which to operate + # + # source://syntax_tree//lib/syntax_tree/node.rb#11182 + def statement; end +end + +# Undef represents the use of the +undef+ keyword. +# +# undef method +# +# source://syntax_tree//lib/syntax_tree/node.rb#11240 +class SyntaxTree::Undef < ::SyntaxTree::Node + # @return [Undef] a new instance of Undef + # + # source://syntax_tree//lib/syntax_tree/node.rb#11271 + def initialize(symbols:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11314 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11277 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11281 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#11269 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#11285 + def copy(symbols: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11281 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#11298 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11302 + def format(q); end + + # [Array[ DynaSymbol | SymbolLiteral ]] the symbols to undefine + # + # source://syntax_tree//lib/syntax_tree/node.rb#11266 + def symbols; end +end + +# Undef accepts a variable number of arguments that can be either DynaSymbol +# or SymbolLiteral objects. For SymbolLiteral objects we descend directly +# into the value in order to have it come out as bare words. +# +# source://syntax_tree//lib/syntax_tree/node.rb#11244 +class SyntaxTree::Undef::UndefArgumentFormatter + # @return [UndefArgumentFormatter] a new instance of UndefArgumentFormatter + # + # source://syntax_tree//lib/syntax_tree/node.rb#11248 + def initialize(node); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11252 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#11260 + def format(q); end + + # [DynaSymbol | SymbolLiteral] the symbol to undefine + # + # source://syntax_tree//lib/syntax_tree/node.rb#11246 + def node; end +end + +# Unless represents the first clause in an +unless+ chain. +# +# unless predicate +# end +# +# source://syntax_tree//lib/syntax_tree/node.rb#11324 +class SyntaxTree::UnlessNode < ::SyntaxTree::Node + # @return [UnlessNode] a new instance of UnlessNode + # + # source://syntax_tree//lib/syntax_tree/node.rb#11337 + def initialize(predicate:, statements:, consequent:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11382 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11345 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11349 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#11335 + def comments; end + + # [nil | Elsif | Else] the next clause in the chain + # + # source://syntax_tree//lib/syntax_tree/node.rb#11332 + def consequent; end + + # source://syntax_tree//lib/syntax_tree/node.rb#11353 + def copy(predicate: T.unsafe(nil), statements: T.unsafe(nil), consequent: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11349 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#11368 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11378 + def format(q); end + + # Checks if the node was originally found in the modifier form. + # + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/node.rb#11388 + def modifier?; end + + # [Node] the expression to be checked + # + # source://syntax_tree//lib/syntax_tree/node.rb#11326 + def predicate; end + + # [Statements] the expressions to be executed + # + # source://syntax_tree//lib/syntax_tree/node.rb#11329 + def statements; end +end + +# Until represents an +until+ loop. +# +# until predicate +# end +# +# source://syntax_tree//lib/syntax_tree/node.rb#11470 +class SyntaxTree::UntilNode < ::SyntaxTree::Node + # @return [UntilNode] a new instance of UntilNode + # + # source://syntax_tree//lib/syntax_tree/node.rb#11480 + def initialize(predicate:, statements:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11522 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11487 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11491 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#11478 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#11495 + def copy(predicate: T.unsafe(nil), statements: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11491 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#11509 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11518 + def format(q); end + + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/node.rb#11527 + def modifier?; end + + # [Node] the expression to be checked + # + # source://syntax_tree//lib/syntax_tree/node.rb#11472 + def predicate; end + + # [Statements] the expressions to be executed + # + # source://syntax_tree//lib/syntax_tree/node.rb#11475 + def statements; end +end + +# VCall represent any plain named object with Ruby that could be either a +# local variable or a method call. +# +# variable +# +# source://syntax_tree//lib/syntax_tree/node.rb#11732 +class SyntaxTree::VCall < ::SyntaxTree::Node + # @return [VCall] a new instance of VCall + # + # source://syntax_tree//lib/syntax_tree/node.rb#11739 + def initialize(value:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11774 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11745 + def accept(visitor); end + + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/node.rb#11778 + def access_control?; end + + # source://syntax_tree//lib/syntax_tree/node.rb#11782 + def arity; end + + # source://syntax_tree//lib/syntax_tree/node.rb#11749 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#11737 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#11753 + def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11749 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#11766 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11770 + def format(q); end + + # [Ident] the value of this expression + # + # source://syntax_tree//lib/syntax_tree/node.rb#11734 + def value; end +end + +# source://syntax_tree//lib/syntax_tree/version.rb#4 +SyntaxTree::VERSION = T.let(T.unsafe(nil), String) + +# VarField represents a variable that is being assigned a value. As such, it +# is always a child of an assignment type node. +# +# variable = value +# +# In the example above, the VarField node represents the +variable+ token. +# +# source://syntax_tree//lib/syntax_tree/node.rb#11538 +class SyntaxTree::VarField < ::SyntaxTree::Node + # @return [VarField] a new instance of VarField + # + # source://syntax_tree//lib/syntax_tree/node.rb#11545 + def initialize(value:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11584 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11551 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11555 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#11543 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#11559 + def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11555 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#11572 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11576 + def format(q); end + + # [nil | :nil | Const | CVar | GVar | Ident | IVar] the target of this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#11540 + def value; end +end + +# VarRef represents a variable reference. +# +# true +# +# This can be a plain local variable like the example above. It can also be a +# constant, a class variable, a global variable, an instance variable, a +# keyword (like +self+, +nil+, +true+, or +false+), or a numbered block +# variable. +# +# source://syntax_tree//lib/syntax_tree/node.rb#11597 +class SyntaxTree::VarRef < ::SyntaxTree::Node + # @return [VarRef] a new instance of VarRef + # + # source://syntax_tree//lib/syntax_tree/node.rb#11604 + def initialize(value:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11639 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11610 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11614 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#11602 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#11618 + def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11614 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#11631 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11635 + def format(q); end + + # Oh man I hate this so much. Basically, ripper doesn't provide enough + # functionality to actually know where pins are within an expression. So we + # have to walk the tree ourselves and insert more information. In doing so, + # we have to replace this node by a pinned node when necessary. + # + # To be clear, this method should just not exist. It's not good. It's a + # place of shame. But it's necessary for now, so I'm keeping it. + # + # source://syntax_tree//lib/syntax_tree/node.rb#11650 + def pin(parent, pin); end + + # [Const | CVar | GVar | Ident | IVar | Kw] the value of this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#11599 + def value; end +end + +# Visitor is a parent class that provides the ability to walk down the tree +# and handle a subset of nodes. By defining your own subclass, you can +# explicitly handle a node type by defining a visit_* method. +# +# source://syntax_tree//lib/syntax_tree/visitor.rb#7 +class SyntaxTree::Visitor < ::SyntaxTree::BasicVisitor + # Visit a BEGINBlock node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_BEGIN(node); end + + # Visit a CHAR node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_CHAR(node); end + + # Visit an ENDBlock node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_END(node); end + + # Visit an EndContent node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit___end__(node); end + + # Visit an AliasNode node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_alias(node); end + + # Visit an ARef node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_aref(node); end + + # Visit an ARefField node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_aref_field(node); end + + # Visit an ArgBlock node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_arg_block(node); end + + # Visit an ArgParen node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_arg_paren(node); end + + # Visit an ArgStar node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_arg_star(node); end + + # Visit an Args node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_args(node); end + + # Visit an ArgsForward node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_args_forward(node); end + + # Visit an ArrayLiteral node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_array(node); end + + # Visit an AryPtn node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_aryptn(node); end + + # Visit an Assign node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_assign(node); end + + # Visit an Assoc node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_assoc(node); end + + # Visit an AssocSplat node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_assoc_splat(node); end + + # Visit a Backref node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_backref(node); end + + # Visit a Backtick node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_backtick(node); end + + # Visit a BareAssocHash node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_bare_assoc_hash(node); end + + # Visit a Begin node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_begin(node); end + + # Visit a Binary node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_binary(node); end + + # Visit a Block node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_block(node); end + + # Visit a BlockVar node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_block_var(node); end + + # Visit a BlockArg node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_blockarg(node); end + + # Visit a BodyStmt node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_bodystmt(node); end + + # Visit a Break node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_break(node); end + + # Visit a Call node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_call(node); end + + # Visit a Case node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_case(node); end + + # Visit a ClassDeclaration node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_class(node); end + + # Visit a Comma node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_comma(node); end + + # Visit a Command node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_command(node); end + + # Visit a CommandCall node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_command_call(node); end + + # Visit a Comment node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_comment(node); end + + # Visit a Const node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_const(node); end + + # Visit a ConstPathField node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_const_path_field(node); end + + # Visit a ConstPathRef node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_const_path_ref(node); end + + # Visit a ConstRef node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_const_ref(node); end + + # Visit a CVar node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_cvar(node); end + + # Visit a Def node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_def(node); end + + # Visit a Defined node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_defined(node); end + + # Visit a DynaSymbol node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_dyna_symbol(node); end + + # Visit an Else node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_else(node); end + + # Visit an Elsif node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_elsif(node); end + + # Visit an EmbDoc node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_embdoc(node); end + + # Visit an EmbExprBeg node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_embexpr_beg(node); end + + # Visit an EmbExprEnd node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_embexpr_end(node); end + + # Visit an EmbVar node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_embvar(node); end + + # Visit an Ensure node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_ensure(node); end + + # Visit an ExcessedComma node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_excessed_comma(node); end + + # Visit a Field node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_field(node); end + + # Visit a FloatLiteral node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_float(node); end + + # Visit a FndPtn node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_fndptn(node); end + + # Visit a For node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_for(node); end + + # Visit a GVar node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_gvar(node); end + + # Visit a HashLiteral node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_hash(node); end + + # Visit a Heredoc node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_heredoc(node); end + + # Visit a HeredocBeg node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_heredoc_beg(node); end + + # Visit a HeredocEnd node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_heredoc_end(node); end + + # Visit a HshPtn node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_hshptn(node); end + + # Visit an Ident node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_ident(node); end + + # Visit an IfNode node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_if(node); end + + # Visit an IfOp node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_if_op(node); end + + # Visit an Imaginary node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_imaginary(node); end + + # Visit an In node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_in(node); end + + # Visit an Int node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_int(node); end + + # Visit an IVar node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_ivar(node); end + + # Visit a Kw node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_kw(node); end + + # Visit a KwRestParam node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_kwrest_param(node); end + + # Visit a Label node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_label(node); end + + # Visit a LabelEnd node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_label_end(node); end + + # Visit a Lambda node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_lambda(node); end + + # Visit a LambdaVar node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_lambda_var(node); end + + # Visit a LBrace node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_lbrace(node); end + + # Visit a LBracket node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_lbracket(node); end + + # Visit a LParen node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_lparen(node); end + + # Visit a MAssign node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_massign(node); end + + # Visit a MethodAddBlock node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_method_add_block(node); end + + # Visit a MLHS node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_mlhs(node); end + + # Visit a MLHSParen node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_mlhs_paren(node); end + + # Visit a ModuleDeclaration node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_module(node); end + + # Visit a MRHS node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_mrhs(node); end + + # Visit a Next node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_next(node); end + + # Visit a Not node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_not(node); end + + # Visit an Op node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_op(node); end + + # Visit an OpAssign node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_opassign(node); end + + # Visit a Params node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_params(node); end + + # Visit a Paren node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_paren(node); end + + # Visit a Period node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_period(node); end + + # Visit a PinnedBegin node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_pinned_begin(node); end + + # Visit a PinnedVarRef node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_pinned_var_ref(node); end + + # Visit a Program node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_program(node); end + + # Visit a QSymbols node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_qsymbols(node); end + + # Visit a QSymbolsBeg node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_qsymbols_beg(node); end + + # Visit a QWords node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_qwords(node); end + + # Visit a QWordsBeg node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_qwords_beg(node); end + + # Visit a RangeNode node + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_range(node); end + + # Visit a RAssign node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_rassign(node); end + + # Visit a RationalLiteral node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_rational(node); end + + # Visit a RBrace node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_rbrace(node); end + + # Visit a RBracket node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_rbracket(node); end + + # Visit a Redo node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_redo(node); end + + # Visit a RegexpBeg node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_regexp_beg(node); end + + # Visit a RegexpContent node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_regexp_content(node); end + + # Visit a RegexpEnd node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_regexp_end(node); end + + # Visit a RegexpLiteral node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_regexp_literal(node); end + + # Visit a Rescue node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_rescue(node); end + + # Visit a RescueEx node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_rescue_ex(node); end + + # Visit a RescueMod node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_rescue_mod(node); end + + # Visit a RestParam node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_rest_param(node); end + + # Visit a Retry node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_retry(node); end + + # Visit a Return node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_return(node); end + + # Visit a RParen node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_rparen(node); end + + # Visit a SClass node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_sclass(node); end + + # Visit a Statements node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_statements(node); end + + # Visit a StringConcat node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_string_concat(node); end + + # Visit a StringContent node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_string_content(node); end + + # Visit a StringDVar node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_string_dvar(node); end + + # Visit a StringEmbExpr node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_string_embexpr(node); end + + # Visit a StringLiteral node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_string_literal(node); end + + # Visit a Super node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_super(node); end + + # Visit a SymBeg node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_symbeg(node); end + + # Visit a SymbolContent node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_symbol_content(node); end + + # Visit a SymbolLiteral node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_symbol_literal(node); end + + # Visit a Symbols node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_symbols(node); end + + # Visit a SymbolsBeg node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_symbols_beg(node); end + + # Visit a TLambda node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_tlambda(node); end + + # Visit a TLamBeg node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_tlambeg(node); end + + # Visit a TopConstField node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_top_const_field(node); end + + # Visit a TopConstRef node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_top_const_ref(node); end + + # Visit a TStringBeg node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_tstring_beg(node); end + + # Visit a TStringContent node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_tstring_content(node); end + + # Visit a TStringEnd node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_tstring_end(node); end + + # Visit an Unary node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_unary(node); end + + # Visit an Undef node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_undef(node); end + + # Visit an UnlessNode node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_unless(node); end + + # Visit an UntilNode node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_until(node); end + + # Visit a VarField node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_var_field(node); end + + # Visit a VarRef node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_var_ref(node); end + + # Visit a VCall node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_vcall(node); end + + # Visit a VoidStmt node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_void_stmt(node); end + + # Visit a When node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_when(node); end + + # Visit a WhileNode node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_while(node); end + + # Visit a Word node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_word(node); end + + # Visit a Words node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_words(node); end + + # Visit a WordsBeg node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_words_beg(node); end + + # Visit a XString node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_xstring(node); end + + # Visit a XStringLiteral node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_xstring_literal(node); end + + # Visit a YieldNode node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_yield(node); end + + # Visit a ZSuper node. + # + # source://syntax_tree//lib/syntax_tree/basic_visitor.rb#113 + def visit_zsuper(node); end +end + +# VoidStmt represents an empty lexical block of code. +# +# ;; +# +# source://syntax_tree//lib/syntax_tree/node.rb#11791 +class SyntaxTree::VoidStmt < ::SyntaxTree::Node + # @return [VoidStmt] a new instance of VoidStmt + # + # source://syntax_tree//lib/syntax_tree/node.rb#11795 + def initialize(location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11824 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11800 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11804 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#11793 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#11808 + def copy(location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11804 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#11817 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11821 + def format(q); end +end + +# When represents a +when+ clause in a +case+ chain. +# +# case value +# when predicate +# end +# +# source://syntax_tree//lib/syntax_tree/node.rb#11835 +class SyntaxTree::When < ::SyntaxTree::Node + # @return [When] a new instance of When + # + # source://syntax_tree//lib/syntax_tree/node.rb#11848 + def initialize(arguments:, statements:, consequent:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11940 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11856 + def accept(visitor); end + + # [Args] the arguments to the when clause + # + # source://syntax_tree//lib/syntax_tree/node.rb#11837 + def arguments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#11860 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#11846 + def comments; end + + # [nil | Else | When] the next clause in the chain + # + # source://syntax_tree//lib/syntax_tree/node.rb#11843 + def consequent; end + + # source://syntax_tree//lib/syntax_tree/node.rb#11864 + def copy(arguments: T.unsafe(nil), statements: T.unsafe(nil), consequent: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11860 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#11879 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11905 + def format(q); end + + # [Statements] the expressions to be executed + # + # source://syntax_tree//lib/syntax_tree/node.rb#11840 + def statements; end +end + +# We're going to keep a single instance of this separator around so we don't +# have to allocate a new one every time we format a when clause. +# +# source://syntax_tree//lib/syntax_tree/node.rb#11903 +SyntaxTree::When::SEPARATOR = T.let(T.unsafe(nil), SyntaxTree::When::Separator) + +# We have a special separator here for when clauses which causes them to +# fill as much of the line as possible as opposed to everything breaking +# into its own line as soon as you hit the print limit. +# +# source://syntax_tree//lib/syntax_tree/node.rb#11892 +class SyntaxTree::When::Separator + # source://syntax_tree//lib/syntax_tree/node.rb#11893 + def call(q); end +end + +# While represents a +while+ loop. +# +# while predicate +# end +# +# source://syntax_tree//lib/syntax_tree/node.rb#11951 +class SyntaxTree::WhileNode < ::SyntaxTree::Node + # @return [WhileNode] a new instance of WhileNode + # + # source://syntax_tree//lib/syntax_tree/node.rb#11961 + def initialize(predicate:, statements:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#12003 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11968 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11972 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#11959 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#11976 + def copy(predicate: T.unsafe(nil), statements: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11972 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#11990 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#11999 + def format(q); end + + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/node.rb#12008 + def modifier?; end + + # [Node] the expression to be checked + # + # source://syntax_tree//lib/syntax_tree/node.rb#11953 + def predicate; end + + # [Statements] the expressions to be executed + # + # source://syntax_tree//lib/syntax_tree/node.rb#11956 + def statements; end +end + +# WithScope is a module intended to be included in classes inheriting from +# Visitor. The module overrides a few visit methods to automatically keep +# track of local variables and arguments defined in the current scope. +# Example usage: +# +# class MyVisitor < Visitor +# include WithScope +# +# def visit_ident(node) +# # Check if we're visiting an identifier for an argument, a local +# # variable or something else +# local = current_scope.find_local(node) +# +# if local.type == :argument +# # handle identifiers for arguments +# elsif local.type == :variable +# # handle identifiers for variables +# else +# # handle other identifiers, such as method names +# end +# end +# end +# +# source://syntax_tree//lib/syntax_tree/with_scope.rb#27 +module SyntaxTree::WithScope + # source://syntax_tree//lib/syntax_tree/with_scope.rb#122 + def initialize(*args, **kwargs, &block); end + + # Returns the value of attribute current_scope. + # + # source://syntax_tree//lib/syntax_tree/with_scope.rb#120 + def current_scope; end + + # Visit for capturing local variables defined in regex named capture groups + # + # source://syntax_tree//lib/syntax_tree/with_scope.rb#239 + def visit_binary(node); end + + # source://syntax_tree//lib/syntax_tree/with_scope.rb#192 + def visit_block_var(node); end + + # source://syntax_tree//lib/syntax_tree/with_scope.rb#185 + def visit_blockarg(node); end + + # Visits for nodes that create new scopes, such as classes, modules + # and method definitions. + # + # source://syntax_tree//lib/syntax_tree/with_scope.rb#131 + def visit_class(node); end + + # source://syntax_tree//lib/syntax_tree/with_scope.rb#147 + def visit_def(node); end + + # source://syntax_tree//lib/syntax_tree/with_scope.rb#178 + def visit_kwrest_param(node); end + + # source://syntax_tree//lib/syntax_tree/with_scope.rb#192 + def visit_lambda_var(node); end + + # When we find a method invocation with a block, only the code that happens + # inside of the block needs a fresh scope. The method invocation + # itself happens in the same scope. + # + # source://syntax_tree//lib/syntax_tree/with_scope.rb#142 + def visit_method_add_block(node); end + + # source://syntax_tree//lib/syntax_tree/with_scope.rb#135 + def visit_module(node); end + + # Visit for keeping track of local arguments, such as method and block + # arguments. + # + # source://syntax_tree//lib/syntax_tree/with_scope.rb#153 + def visit_params(node); end + + # Visit for keeping track of local variable definitions + # + # source://syntax_tree//lib/syntax_tree/with_scope.rb#210 + def visit_pinned_var_ref(node); end + + # source://syntax_tree//lib/syntax_tree/with_scope.rb#171 + def visit_rest_param(node); end + + # Visit for keeping track of local variable definitions + # + # source://syntax_tree//lib/syntax_tree/with_scope.rb#202 + def visit_var_field(node); end + + # Visits for keeping track of variable and argument usages + # + # source://syntax_tree//lib/syntax_tree/with_scope.rb#218 + def visit_var_ref(node); end + + # When using regex named capture groups, vcalls might actually be a variable + # + # source://syntax_tree//lib/syntax_tree/with_scope.rb#230 + def visit_vcall(node); end + + private + + # source://syntax_tree//lib/syntax_tree/with_scope.rb#288 + def add_argument_definitions(list); end + + # source://syntax_tree//lib/syntax_tree/with_scope.rb#302 + def next_scope_id; end + + # source://syntax_tree//lib/syntax_tree/with_scope.rb#306 + def with_scope(parent_scope = T.unsafe(nil)); end +end + +# The scope class is used to keep track of local variables and arguments +# inside a particular scope. +# +# source://syntax_tree//lib/syntax_tree/with_scope.rb#30 +class SyntaxTree::WithScope::Scope + # @return [Scope] a new instance of Scope + # + # source://syntax_tree//lib/syntax_tree/with_scope.rb#68 + def initialize(id, parent = T.unsafe(nil)); end + + # Adding a local definition will either insert a new entry in the locals + # hash or append a new definition location to an existing local. Notice + # that it's not possible to change the type of a local after it has been + # registered. + # + # source://syntax_tree//lib/syntax_tree/with_scope.rb#78 + def add_local_definition(identifier, type); end + + # Adding a local usage will either insert a new entry in the locals + # hash or append a new usage location to an existing local. Notice that + # it's not possible to change the type of a local after it has been + # registered. + # + # source://syntax_tree//lib/syntax_tree/with_scope.rb#95 + def add_local_usage(identifier, type); end + + # Try to find the local given its name in this scope or any of its + # parents. + # + # source://syntax_tree//lib/syntax_tree/with_scope.rb#102 + def find_local(name); end + + # [Integer] a unique identifier for this scope + # + # source://syntax_tree//lib/syntax_tree/with_scope.rb#59 + def id; end + + # [Hash[String, Local]] The local variables and arguments defined in this + # scope + # + # source://syntax_tree//lib/syntax_tree/with_scope.rb#66 + def locals; end + + # [scope | nil] The parent scope + # + # source://syntax_tree//lib/syntax_tree/with_scope.rb#62 + def parent; end + + private + + # source://syntax_tree//lib/syntax_tree/with_scope.rb#108 + def resolve_local(name, type); end +end + +# This class tracks the occurrences of a local variable or argument. +# +# source://syntax_tree//lib/syntax_tree/with_scope.rb#32 +class SyntaxTree::WithScope::Scope::Local + # @return [Local] a new instance of Local + # + # source://syntax_tree//lib/syntax_tree/with_scope.rb#43 + def initialize(type); end + + # source://syntax_tree//lib/syntax_tree/with_scope.rb#49 + def add_definition(location); end + + # source://syntax_tree//lib/syntax_tree/with_scope.rb#53 + def add_usage(location); end + + # [Array[Location]] The locations of all definitions and assignments of + # this local + # + # source://syntax_tree//lib/syntax_tree/with_scope.rb#38 + def definitions; end + + # [Symbol] The type of the local (e.g. :argument, :variable) + # + # source://syntax_tree//lib/syntax_tree/with_scope.rb#34 + def type; end + + # [Array[Location]] The locations of all usages of this local + # + # source://syntax_tree//lib/syntax_tree/with_scope.rb#41 + def usages; end +end + +# Word represents an element within a special array literal that accepts +# interpolation. +# +# %W[a#{b}c xyz] +# +# In the example above, there would be two Word nodes within a parent Words +# node. +# +# source://syntax_tree//lib/syntax_tree/node.rb#12020 +class SyntaxTree::Word < ::SyntaxTree::Node + # @return [Word] a new instance of Word + # + # source://syntax_tree//lib/syntax_tree/node.rb#12028 + def initialize(parts:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#12067 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#12038 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#12042 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#12026 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#12046 + def copy(parts: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#12042 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#12059 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#12063 + def format(q); end + + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/node.rb#12034 + def match?(pattern); end + + # [Array[ StringEmbExpr | StringDVar | TStringContent ]] the parts of the + # word + # + # source://syntax_tree//lib/syntax_tree/node.rb#12023 + def parts; end +end + +# Words represents a string literal array with interpolation. +# +# %W[one two three] +# +# source://syntax_tree//lib/syntax_tree/node.rb#12076 +class SyntaxTree::Words < ::SyntaxTree::Node + # @return [Words] a new instance of Words + # + # source://syntax_tree//lib/syntax_tree/node.rb#12086 + def initialize(beginning:, elements:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#12142 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#12093 + def accept(visitor); end + + # [WordsBeg] the token that opens this array literal + # + # source://syntax_tree//lib/syntax_tree/node.rb#12078 + def beginning; end + + # source://syntax_tree//lib/syntax_tree/node.rb#12097 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#12084 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#12101 + def copy(beginning: T.unsafe(nil), elements: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#12097 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#12111 + def deconstruct_keys(_keys); end + + # [Array[ Word ]] the elements of this array + # + # source://syntax_tree//lib/syntax_tree/node.rb#12081 + def elements; end + + # source://syntax_tree//lib/syntax_tree/node.rb#12120 + def format(q); end +end + +# WordsBeg represents the beginning of a string literal array with +# interpolation. +# +# %W[one two three] +# +# In the snippet above, a WordsBeg would be created with the value of "%W[". +# Note that these kinds of arrays can start with a lot of different delimiter +# types (e.g., %W| or %W<). +# +# source://syntax_tree//lib/syntax_tree/node.rb#12156 +class SyntaxTree::WordsBeg < ::SyntaxTree::Node + # @return [WordsBeg] a new instance of WordsBeg + # + # source://syntax_tree//lib/syntax_tree/node.rb#12160 + def initialize(value:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#12186 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#12165 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#12169 + def child_nodes; end + + # source://syntax_tree//lib/syntax_tree/node.rb#12173 + def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#12169 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#12182 + def deconstruct_keys(_keys); end + + # [String] the start of the word literal array + # + # source://syntax_tree//lib/syntax_tree/node.rb#12158 + def value; end +end + +# XString represents the contents of an XStringLiteral. +# +# `ls` +# +# source://syntax_tree//lib/syntax_tree/node.rb#12195 +class SyntaxTree::XString < ::SyntaxTree::Node + # @return [XString] a new instance of XString + # + # source://syntax_tree//lib/syntax_tree/node.rb#12200 + def initialize(parts:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#12226 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#12205 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#12209 + def child_nodes; end + + # source://syntax_tree//lib/syntax_tree/node.rb#12213 + def copy(parts: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#12209 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#12222 + def deconstruct_keys(_keys); end + + # [Array[ StringEmbExpr | StringDVar | TStringContent ]] the parts of the + # xstring + # + # source://syntax_tree//lib/syntax_tree/node.rb#12198 + def parts; end +end + +# XStringLiteral represents a string that gets executed. +# +# `ls` +# +# source://syntax_tree//lib/syntax_tree/node.rb#12235 +class SyntaxTree::XStringLiteral < ::SyntaxTree::Node + # @return [XStringLiteral] a new instance of XStringLiteral + # + # source://syntax_tree//lib/syntax_tree/node.rb#12243 + def initialize(parts:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#12280 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#12249 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#12253 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#12241 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#12257 + def copy(parts: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#12253 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#12270 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#12274 + def format(q); end + + # [Array[ StringEmbExpr | StringDVar | TStringContent ]] the parts of the + # xstring + # + # source://syntax_tree//lib/syntax_tree/node.rb#12238 + def parts; end +end + +# This module provides an object representation of the YARV bytecode. +# +# source://syntax_tree//lib/syntax_tree/yarv/basic_block.rb#4 +module SyntaxTree::YARV + class << self + # A convenience method for creating a CallData object. + # + # source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#82 + def calldata(method, argc = T.unsafe(nil), flags = T.unsafe(nil), kw_arg = T.unsafe(nil)); end + + # Compile the given source into a YARV instruction sequence. + # + # source://syntax_tree//lib/syntax_tree/yarv.rb#25 + def compile(source, options = T.unsafe(nil)); end + + # Compile and interpret the given source. + # + # source://syntax_tree//lib/syntax_tree/yarv.rb#30 + def interpret(source, options = T.unsafe(nil)); end + end +end + +# ### Summary +# +# `adjuststack` accepts a single integer argument and removes that many +# elements from the top of the stack. +# +# ### Usage +# +# ~~~ruby +# x = [true] +# x[0] ||= nil +# x[0] +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#69 +class SyntaxTree::YARV::AdjustStack < ::SyntaxTree::YARV::Instruction + # @return [AdjustStack] a new instance of AdjustStack + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#72 + def initialize(number); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#88 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#100 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#84 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#76 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#92 + def length; end + + # Returns the value of attribute number. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#70 + def number; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#96 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#80 + def to_a(_iseq); end +end + +# ### Summary +# +# `anytostring` ensures that the value on top of the stack is a string. +# +# It pops two values off the stack. If the first value is a string it +# pushes it back on the stack. If the first value is not a string, it uses +# Ruby's built in string coercion to coerce the second value to a string +# and then pushes that back on the stack. +# +# This is used in conjunction with `objtostring` as a fallback for when an +# object's `to_s` method does not return a string. +# +# ### Usage +# +# ~~~ruby +# "#{5}" +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#123 +class SyntaxTree::YARV::AnyToString < ::SyntaxTree::YARV::Instruction + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#136 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#148 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#132 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#124 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#140 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#144 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#128 + def to_a(_iseq); end +end + +# source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#5 +class SyntaxTree::YARV::Assembler + # @return [Assembler] a new instance of Assembler + # + # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#67 + def initialize(lines); end + + # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#71 + def assemble; end + + # Returns the value of attribute lines. + # + # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#65 + def lines; end + + private + + # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#89 + def assemble_iseq(iseq, lines); end + + # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#409 + def find_local(iseq, operands); end + + # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#418 + def parse(value); end + + # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#450 + def parse_calldata(value); end + + # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#445 + def parse_nested(lines); end + + # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#433 + def parse_number(value); end + + # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#425 + def parse_options(value, options); end + + # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#437 + def parse_string(value); end + + # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#441 + def parse_symbol(value); end + + # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#429 + def parse_type(value, type); end + + class << self + # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#79 + def assemble(source); end + + # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#83 + def assemble_file(filepath); end + end +end + +# source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#28 +SyntaxTree::YARV::Assembler::CALLDATA_FLAGS = T.let(T.unsafe(nil), Hash) + +# source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#44 +SyntaxTree::YARV::Assembler::DEFINED_TYPES = T.let(T.unsafe(nil), Array) + +# source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#6 +class SyntaxTree::YARV::Assembler::ObjectVisitor < ::SyntaxTree::YARV::Compiler::RubyVisitor + # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#7 + def visit_dyna_symbol(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#15 + def visit_string_literal(node); end +end + +# This object represents a single basic block, wherein all contained +# instructions do not branch except for the last one. +# +# source://syntax_tree//lib/syntax_tree/yarv/basic_block.rb#7 +class SyntaxTree::YARV::BasicBlock + # @return [BasicBlock] a new instance of BasicBlock + # + # source://syntax_tree//lib/syntax_tree/yarv/basic_block.rb#23 + def initialize(block_start, insns); end + + # This is the index into the list of instructions where this block starts. + # + # source://syntax_tree//lib/syntax_tree/yarv/basic_block.rb#12 + def block_start; end + + # Yield each instruction in this basic block along with its index from the + # original instruction sequence. + # + # source://syntax_tree//lib/syntax_tree/yarv/basic_block.rb#35 + def each_with_length; end + + # This is the unique identifier for this basic block. + # + # source://syntax_tree//lib/syntax_tree/yarv/basic_block.rb#9 + def id; end + + # This is an array of basic blocks that lead into this block. + # + # source://syntax_tree//lib/syntax_tree/yarv/basic_block.rb#18 + def incoming_blocks; end + + # This is the set of instructions that this block contains. + # + # source://syntax_tree//lib/syntax_tree/yarv/basic_block.rb#15 + def insns; end + + # This is an array of basic blocks that this block leads into. + # + # source://syntax_tree//lib/syntax_tree/yarv/basic_block.rb#21 + def outgoing_blocks; end + + # This method is used to verify that the basic block is well formed. It + # checks that the only instruction in this basic block that branches is + # the last instruction. + # + # source://syntax_tree//lib/syntax_tree/yarv/basic_block.rb#48 + def verify; end +end + +# Parses the given source code into a syntax tree, compiles that syntax tree +# into YARV bytecode. +# +# source://syntax_tree//lib/syntax_tree/yarv/bf.rb#7 +class SyntaxTree::YARV::Bf + # @return [Bf] a new instance of Bf + # + # source://syntax_tree//lib/syntax_tree/yarv/bf.rb#10 + def initialize(source); end + + # source://syntax_tree//lib/syntax_tree/yarv/bf.rb#14 + def compile; end + + # Returns the value of attribute source. + # + # source://syntax_tree//lib/syntax_tree/yarv/bf.rb#8 + def source; end + + private + + # $tape[$cursor] += value + # + # source://syntax_tree//lib/syntax_tree/yarv/bf.rb#84 + def change_by(iseq, value); end + + # $tape[$cursor] = $stdin.getc.ord + # + # source://syntax_tree//lib/syntax_tree/yarv/bf.rb#133 + def input_char(iseq); end + + # Jump back to the start of the loop. + # + # source://syntax_tree//lib/syntax_tree/yarv/bf.rb#163 + def loop_end(iseq, start_label, end_label); end + + # unless $tape[$cursor] == 0 + # + # source://syntax_tree//lib/syntax_tree/yarv/bf.rb#146 + def loop_start(iseq); end + + # $stdout.putc($tape[$cursor].chr) + # + # source://syntax_tree//lib/syntax_tree/yarv/bf.rb#120 + def output_char(iseq); end + + # $cursor += value + # + # source://syntax_tree//lib/syntax_tree/yarv/bf.rb#105 + def shift_by(iseq, value); end +end + +# ### Summary +# +# `branchif` has one argument: the jump index. It pops one value off the +# stack: the jump condition. +# +# If the value popped off the stack is true, `branchif` jumps to +# the jump index and continues executing there. +# +# ### Usage +# +# ~~~ruby +# x = true +# x ||= "foo" +# puts x +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#175 +class SyntaxTree::YARV::BranchIf < ::SyntaxTree::YARV::Instruction + # @return [BranchIf] a new instance of BranchIf + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#178 + def initialize(label); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#194 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#210 + def branch_targets; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#206 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#190 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#182 + def disasm(fmt); end + + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#214 + def falls_through?; end + + # Returns the value of attribute label. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#176 + def label; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#198 + def length; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#202 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#186 + def to_a(_iseq); end +end + +# ### Summary +# +# `branchnil` has one argument: the jump index. It pops one value off the +# stack: the jump condition. +# +# If the value popped off the stack is nil, `branchnil` jumps to +# the jump index and continues executing there. +# +# ### Usage +# +# ~~~ruby +# x = nil +# if x&.to_s +# puts "hi" +# end +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#236 +class SyntaxTree::YARV::BranchNil < ::SyntaxTree::YARV::Instruction + # @return [BranchNil] a new instance of BranchNil + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#239 + def initialize(label); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#255 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#271 + def branch_targets; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#267 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#251 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#243 + def disasm(fmt); end + + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#275 + def falls_through?; end + + # Returns the value of attribute label. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#237 + def label; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#259 + def length; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#263 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#247 + def to_a(_iseq); end +end + +# ### Summary +# +# `branchunless` has one argument: the jump index. It pops one value off +# the stack: the jump condition. +# +# If the value popped off the stack is false or nil, `branchunless` jumps +# to the jump index and continues executing there. +# +# ### Usage +# +# ~~~ruby +# if 2 + 3 +# puts "foo" +# end +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#296 +class SyntaxTree::YARV::BranchUnless < ::SyntaxTree::YARV::Instruction + # @return [BranchUnless] a new instance of BranchUnless + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#299 + def initialize(label); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#315 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#331 + def branch_targets; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#327 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#311 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#303 + def disasm(fmt); end + + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#335 + def falls_through?; end + + # Returns the value of attribute label. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#297 + def label; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#319 + def length; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#323 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#307 + def to_a(_iseq); end +end + +# This is an operand to various YARV instructions that represents the +# information about a specific call site. +# +# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#7 +class SyntaxTree::YARV::CallData + # @return [CallData] a new instance of CallData + # + # source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#24 + def initialize(method, argc = T.unsafe(nil), flags = T.unsafe(nil), kw_arg = T.unsafe(nil)); end + + # Returns the value of attribute argc. + # + # source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#22 + def argc; end + + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#36 + def flag?(mask); end + + # Returns the value of attribute flags. + # + # source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#22 + def flags; end + + # source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#46 + def inspect; end + + # Returns the value of attribute kw_arg. + # + # source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#22 + def kw_arg; end + + # Returns the value of attribute method. + # + # source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#22 + def method; end + + # source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#40 + def to_h; end + + class << self + # source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#71 + def from(serialized); end + end +end + +# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#9 +SyntaxTree::YARV::CallData::CALL_ARGS_BLOCKARG = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#12 +SyntaxTree::YARV::CallData::CALL_ARGS_SIMPLE = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#8 +SyntaxTree::YARV::CallData::CALL_ARGS_SPLAT = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#13 +SyntaxTree::YARV::CallData::CALL_BLOCKISEQ = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#10 +SyntaxTree::YARV::CallData::CALL_FCALL = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#14 +SyntaxTree::YARV::CallData::CALL_KWARG = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#15 +SyntaxTree::YARV::CallData::CALL_KW_SPLAT = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#20 +SyntaxTree::YARV::CallData::CALL_KW_SPLAT_MUT = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#19 +SyntaxTree::YARV::CallData::CALL_OPT_SEND = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#17 +SyntaxTree::YARV::CallData::CALL_SUPER = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#16 +SyntaxTree::YARV::CallData::CALL_TAILCALL = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#11 +SyntaxTree::YARV::CallData::CALL_VCALL = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#18 +SyntaxTree::YARV::CallData::CALL_ZSUPER = T.let(T.unsafe(nil), Integer) + +# ### Summary +# +# `checkkeyword` checks if a keyword was passed at the callsite that +# called into the method represented by the instruction sequence. It has +# two arguments: the index of the local variable that stores the keywords +# metadata and the index of the keyword within that metadata. It pushes +# a boolean onto the stack indicating whether or not the keyword was +# given. +# +# ### Usage +# +# ~~~ruby +# def evaluate(value: rand) +# value +# end +# +# evaluate(value: 3) +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#359 +class SyntaxTree::YARV::CheckKeyword < ::SyntaxTree::YARV::Instruction + # @return [CheckKeyword] a new instance of CheckKeyword + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#362 + def initialize(keyword_bits_index, keyword_index); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#386 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#400 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#382 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#367 + def disasm(fmt); end + + # Returns the value of attribute keyword_bits_index. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#360 + def keyword_bits_index; end + + # Returns the value of attribute keyword_index. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#360 + def keyword_index; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#392 + def length; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#396 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#374 + def to_a(iseq); end +end + +# ### Summary +# +# `checkmatch` checks if the current pattern matches the current value. It +# pops the target and the pattern off the stack and pushes a boolean onto +# the stack if it matches or not. +# +# ### Usage +# +# ~~~ruby +# foo in Foo +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#417 +class SyntaxTree::YARV::CheckMatch < ::SyntaxTree::YARV::Instruction + # @return [CheckMatch] a new instance of CheckMatch + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#426 + def initialize(type); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#442 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#458 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#438 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#430 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#446 + def length; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#450 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#454 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#434 + def to_a(_iseq); end + + # Returns the value of attribute type. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#424 + def type; end + + private + + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#472 + def check?(pattern, target); end +end + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#422 +SyntaxTree::YARV::CheckMatch::VM_CHECKMATCH_ARRAY = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#419 +SyntaxTree::YARV::CheckMatch::VM_CHECKMATCH_TYPE_CASE = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#421 +SyntaxTree::YARV::CheckMatch::VM_CHECKMATCH_TYPE_MASK = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#420 +SyntaxTree::YARV::CheckMatch::VM_CHECKMATCH_TYPE_RESCUE = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#418 +SyntaxTree::YARV::CheckMatch::VM_CHECKMATCH_TYPE_WHEN = T.let(T.unsafe(nil), Integer) + +# ### Summary +# +# `checktype` checks if the value on top of the stack is of a certain type. +# The type is the only argument. It pops the value off the stack and pushes +# a boolean onto the stack indicating whether or not the value is of the +# given type. +# +# ### Usage +# +# ~~~ruby +# foo in [bar] +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#501 +class SyntaxTree::YARV::CheckType < ::SyntaxTree::YARV::Instruction + # @return [CheckType] a new instance of CheckType + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#526 + def initialize(type); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#588 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#608 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#584 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#530 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#592 + def length; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#596 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#600 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#580 + def to_a(_iseq); end + + # Returns the value of attribute type. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#524 + def type; end +end + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#508 +SyntaxTree::YARV::CheckType::TYPE_ARRAY = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#511 +SyntaxTree::YARV::CheckType::TYPE_BIGNUM = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#503 +SyntaxTree::YARV::CheckType::TYPE_CLASS = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#515 +SyntaxTree::YARV::CheckType::TYPE_COMPLEX = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#513 +SyntaxTree::YARV::CheckType::TYPE_DATA = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#519 +SyntaxTree::YARV::CheckType::TYPE_FALSE = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#512 +SyntaxTree::YARV::CheckType::TYPE_FILE = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#521 +SyntaxTree::YARV::CheckType::TYPE_FIXNUM = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#505 +SyntaxTree::YARV::CheckType::TYPE_FLOAT = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#509 +SyntaxTree::YARV::CheckType::TYPE_HASH = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#514 +SyntaxTree::YARV::CheckType::TYPE_MATCH = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#504 +SyntaxTree::YARV::CheckType::TYPE_MODULE = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#517 +SyntaxTree::YARV::CheckType::TYPE_NIL = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#502 +SyntaxTree::YARV::CheckType::TYPE_OBJECT = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#516 +SyntaxTree::YARV::CheckType::TYPE_RATIONAL = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#507 +SyntaxTree::YARV::CheckType::TYPE_REGEXP = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#506 +SyntaxTree::YARV::CheckType::TYPE_STRING = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#510 +SyntaxTree::YARV::CheckType::TYPE_STRUCT = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#520 +SyntaxTree::YARV::CheckType::TYPE_SYMBOL = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#518 +SyntaxTree::YARV::CheckType::TYPE_TRUE = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#522 +SyntaxTree::YARV::CheckType::TYPE_UNDEF = T.let(T.unsafe(nil), Integer) + +# This class is an experiment in transforming Syntax Tree nodes into their +# corresponding YARV instruction sequences. It attempts to mirror the +# behavior of RubyVM::InstructionSequence.compile. +# +# You use this as with any other visitor. First you parse code into a tree, +# then you visit it with this compiler. Visiting the root node of the tree +# will return a SyntaxTree::YARV::Compiler::InstructionSequence object. +# With that object you can call #to_a on it, which will return a serialized +# form of the instruction sequence as an array. This array _should_ mirror +# the array given by RubyVM::InstructionSequence#to_a. +# +# As an example, here is how you would compile a single expression: +# +# program = SyntaxTree.parse("1 + 2") +# program.accept(SyntaxTree::YARV::Compiler.new).to_a +# +# [ +# "YARVInstructionSequence/SimpleDataFormat", +# 3, +# 1, +# 1, +# {:arg_size=>0, :local_size=>0, :stack_max=>2}, +# "", +# "", +# "", +# 1, +# :top, +# [], +# {}, +# [], +# [ +# [:putobject_INT2FIX_1_], +# [:putobject, 2], +# [:opt_plus, {:mid=>:+, :flag=>16, :orig_argc=>1}], +# [:leave] +# ] +# ] +# +# Note that this is the same output as calling: +# +# RubyVM::InstructionSequence.compile("1 + 2").to_a +# +# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#47 +class SyntaxTree::YARV::Compiler < ::SyntaxTree::BasicVisitor + # @return [Compiler] a new instance of Compiler + # + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#293 + def initialize(options = T.unsafe(nil)); end + + # The current instruction sequence that is being compiled. + # + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#286 + def iseq; end + + # A boolean to track if we're currently compiling the last statement + # within a set of statements. This information is necessary to determine + # if we need to return the value of the last statement. + # + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#291 + def last_statement; end + + # These options mirror the compilation options that we currently support + # that can be also passed to RubyVM::InstructionSequence.compile. + # + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#283 + def options; end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#299 + def visit_BEGIN(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#303 + def visit_CHAR(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#311 + def visit_END(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#339 + def visit_alias(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#347 + def visit_aref(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#369 + def visit_arg_block(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#373 + def visit_arg_paren(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#377 + def visit_arg_star(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#382 + def visit_args(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#386 + def visit_array(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#421 + def visit_aryptn(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#424 + def visit_assign(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#522 + def visit_assoc(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#527 + def visit_assoc_splat(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#531 + def visit_backref(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#535 + def visit_bare_assoc_hash(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#543 + def visit_begin(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#546 + def visit_binary(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#575 + def visit_block(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#585 + def visit_block_var(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#599 + def visit_blockarg(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#605 + def visit_bodystmt(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#609 + def visit_break(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#612 + def visit_call(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#712 + def visit_case(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#757 + def visit_class(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#792 + def visit_command(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#805 + def visit_command_call(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#818 + def visit_const_path_field(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#822 + def visit_const_path_ref(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#827 + def visit_def(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#850 + def visit_defined(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#907 + def visit_dyna_symbol(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#913 + def visit_else(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#918 + def visit_elsif(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#929 + def visit_ensure(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#932 + def visit_field(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#936 + def visit_float(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#940 + def visit_fndptn(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#943 + def visit_for(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#976 + def visit_hash(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#988 + def visit_heredoc(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#985 + def visit_hshptn(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#999 + def visit_if(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1053 + def visit_if_op(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1074 + def visit_imaginary(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1078 + def visit_int(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1082 + def visit_kwrest_param(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1088 + def visit_label(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1092 + def visit_lambda(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1106 + def visit_lambda_var(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1110 + def visit_massign(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1116 + def visit_method_add_block(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1129 + def visit_mlhs(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1142 + def visit_module(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1171 + def visit_mrhs(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1180 + def visit_next(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1183 + def visit_not(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1188 + def visit_opassign(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1254 + def visit_params(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1360 + def visit_paren(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1364 + def visit_pinned_begin(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1367 + def visit_pinned_var_ref(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1370 + def visit_program(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1421 + def visit_qsymbols(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1425 + def visit_qwords(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1434 + def visit_range(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1444 + def visit_rassign(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1521 + def visit_rational(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1525 + def visit_redo(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1528 + def visit_regexp_literal(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1538 + def visit_rescue(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1541 + def visit_rescue_ex(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1544 + def visit_rescue_mod(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1547 + def visit_rest_param(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1553 + def visit_retry(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1556 + def visit_return(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1559 + def visit_sclass(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1580 + def visit_statements(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1594 + def visit_string_concat(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1606 + def visit_string_embexpr(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1610 + def visit_string_literal(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1619 + def visit_super(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1633 + def visit_symbol_literal(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1637 + def visit_symbols(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1656 + def visit_top_const_ref(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1660 + def visit_tstring_content(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1668 + def visit_unary(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1689 + def visit_undef(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1699 + def visit_unless(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1725 + def visit_until(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1744 + def visit_var_field(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1761 + def visit_var_ref(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1796 + def visit_vcall(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1808 + def visit_when(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1812 + def visit_while(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1831 + def visit_word(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1840 + def visit_words(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1850 + def visit_xstring_literal(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1863 + def visit_yield(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1869 + def visit_zsuper(_node); end + + private + + # This is a helper that is used in places where arguments may be present + # or they may be wrapped in parentheses. It's meant to descend down the + # tree and return an array of argument nodes. + # + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1887 + def argument_parts(node); end + + # Constant names when they are being assigned or referenced come in as a + # tree, but it's more convenient to work with them as an array. This + # method converts them into that array. This is nice because it's the + # operand that goes to opt_getconstant_path in Ruby 3.2. + # + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1908 + def constant_names(node); end + + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#2196 + def last_statement?; end + + # For the most part when an OpAssign (operator assignment) node with a ||= + # operator is being compiled it's a matter of reading the target, checking + # if the value should be evaluated, evaluating it if so, and then writing + # the result back to the target. + # + # However, in certain kinds of assignments (X, ::X, X::Y, @@x, and $x) we + # first check if the value is defined using the defined instruction. I + # don't know why it is necessary, and suspect that it isn't. + # + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#1936 + def opassign_defined(node); end + + # Whenever a value is interpolated into a string-like structure, these + # three instructions are pushed. + # + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#2016 + def push_interpolate; end + + # Visit a type of pattern in a pattern match. + # + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#2029 + def visit_pattern(node, end_label); end + + # There are a lot of nodes in the AST that act as contains of parts of + # strings. This includes things like string literals, regular expressions, + # heredocs, etc. This method will visit all the parts of a string within + # those containers. + # + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#2137 + def visit_string_parts(node); end + + # The current instruction sequence that we're compiling is always stored + # on the compiler. When we descend into a node that has its own + # instruction sequence, this method can be called to temporarily set the + # new value of the instruction sequence, yield, and then set it back. + # + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#2167 + def with_child_iseq(child_iseq); end + + # When we're compiling the last statement of a set of statements within a + # scope, the instructions sometimes change from pops to leaves. These + # kinds of peephole optimizations can reduce the overall number of + # instructions. Therefore, we keep track of whether we're compiling the + # last statement of a scope and allow visit methods to query that + # information. + # + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#2185 + def with_last_statement; end + + # OpAssign nodes can have a number of different kinds of nodes as their + # "target" (i.e., the left-hand side of the assignment). When compiling + # these nodes we typically need to first fetch the current value of the + # variable, then perform some kind of action, then store the result back + # into the variable. This method handles that by first fetching the value, + # then yielding to the block, then storing the result. + # + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#2206 + def with_opassign(node); end +end + +# This represents a set of options that can be passed to the compiler to +# control how it compiles the code. It mirrors the options that can be +# passed to RubyVM::InstructionSequence.compile, except it only includes +# options that actually change the behavior. +# +# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#52 +class SyntaxTree::YARV::Compiler::Options + # @return [Options] a new instance of Options + # + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#53 + def initialize(frozen_string_literal: T.unsafe(nil), inline_const_cache: T.unsafe(nil), operands_unification: T.unsafe(nil), peephole_optimization: T.unsafe(nil), specialized_instruction: T.unsafe(nil), tailcall_optimization: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#80 + def frozen_string_literal!; end + + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#84 + def frozen_string_literal?; end + + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#88 + def inline_const_cache?; end + + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#92 + def operands_unification?; end + + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#96 + def peephole_optimization?; end + + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#100 + def specialized_instruction?; end + + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#104 + def tailcall_optimization?; end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#69 + def to_hash; end +end + +# This visitor is responsible for converting Syntax Tree nodes into their +# corresponding Ruby structures. This is used to convert the operands of +# some instructions like putobject that push a Ruby object directly onto +# the stack. It is only used when the entire structure can be represented +# at compile-time, as opposed to constructed at run-time. +# +# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#114 +class SyntaxTree::YARV::Compiler::RubyVisitor < ::SyntaxTree::BasicVisitor + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_BEGIN(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_CHAR(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_END(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit___end__(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_alias(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_aref(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_aref_field(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_arg_block(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_arg_paren(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_arg_star(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_args(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_args_forward(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#128 + def visit_array(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_aryptn(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_assign(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_assoc(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_assoc_splat(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_backref(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_backtick(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#132 + def visit_bare_assoc_hash(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_begin(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_binary(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_block(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_block_var(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_blockarg(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_bodystmt(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_break(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_call(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_case(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_class(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_comma(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_command(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_command_call(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_comment(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_const(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_const_path_field(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_const_path_ref(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_const_ref(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_cvar(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_def(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_defined(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_dyna_symbol(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_else(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_elsif(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_embdoc(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_embexpr_beg(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_embexpr_end(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_embvar(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_ensure(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_excessed_comma(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_field(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#141 + def visit_float(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_fndptn(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_for(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_gvar(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#132 + def visit_hash(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_heredoc(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_heredoc_beg(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_heredoc_end(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_hshptn(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_ident(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_if(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_if_op(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#147 + def visit_imaginary(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_in(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#151 + def visit_int(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_ivar(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_kw(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_kwrest_param(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#166 + def visit_label(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_label_end(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_lambda(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_lambda_var(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_lbrace(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_lbracket(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_lparen(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_massign(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_method_add_block(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_mlhs(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_mlhs_paren(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_module(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#170 + def visit_mrhs(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_next(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_not(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_op(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_opassign(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_params(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_paren(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_period(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_pinned_begin(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_pinned_var_ref(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_program(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#174 + def visit_qsymbols(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_qsymbols_beg(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#178 + def visit_qwords(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_qwords_beg(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#182 + def visit_range(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_rassign(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#187 + def visit_rational(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_rbrace(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_rbracket(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_redo(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_regexp_beg(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_regexp_content(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_regexp_end(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#191 + def visit_regexp_literal(node); end + + # This isn't actually a visit method, though maybe it should be. It is + # responsible for converting the set of string options on a regular + # expression into its equivalent integer. + # + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#249 + def visit_regexp_literal_flags(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_rescue(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_rescue_ex(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_rescue_mod(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_rest_param(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_retry(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_return(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_rparen(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_sclass(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_statements(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_string_concat(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_string_content(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_string_dvar(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_string_embexpr(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_string_literal(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_super(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_symbeg(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_symbol_content(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#204 + def visit_symbol_literal(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#208 + def visit_symbols(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_symbols_beg(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_tlambda(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_tlambeg(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_top_const_field(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_top_const_ref(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_tstring_beg(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#212 + def visit_tstring_content(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_tstring_end(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_unary(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_undef(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_unless(_node); end + + # @raise [CompilationError] + # + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_unsupported(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_until(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_var_field(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#216 + def visit_var_ref(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_vcall(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_void_stmt(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_when(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_while(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#231 + def visit_word(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#241 + def visit_words(node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_words_beg(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_xstring(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_xstring_literal(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_yield(_node); end + + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#268 + def visit_zsuper(_node); end + + class << self + # This will attempt to compile the given node. If it's possible, then + # it will return the compiled object. Otherwise it will return nil. + # + # source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#122 + def compile(node); end + end +end + +# This error is raised whenever a node cannot be converted into a Ruby +# object at compile-time. +# +# source://syntax_tree//lib/syntax_tree/yarv/compiler.rb#117 +class SyntaxTree::YARV::Compiler::RubyVisitor::CompilationError < ::StandardError; end + +# ### Summary +# +# `concatarray` concatenates the two Arrays on top of the stack. +# +# It coerces the two objects at the top of the stack into Arrays by +# calling `to_a` if necessary, and makes sure to `dup` the first Array if +# it was already an Array, to avoid mutating it when concatenating. +# +# ### Usage +# +# ~~~ruby +# [1, *2] +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#674 +class SyntaxTree::YARV::ConcatArray < ::SyntaxTree::YARV::Instruction + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#687 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#699 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#683 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#675 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#691 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#695 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#679 + def to_a(_iseq); end +end + +# ### Summary +# +# `concatstrings` pops a number of strings from the stack joins them +# together into a single string and pushes that string back on the stack. +# +# This does no coercion and so is always used in conjunction with +# `objtostring` and `anytostring` to ensure the stack contents are always +# strings. +# +# ### Usage +# +# ~~~ruby +# "#{5}" +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#720 +class SyntaxTree::YARV::ConcatStrings < ::SyntaxTree::YARV::Instruction + # @return [ConcatStrings] a new instance of ConcatStrings + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#723 + def initialize(number); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#739 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#755 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#735 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#727 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#743 + def length; end + + # Returns the value of attribute number. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#721 + def number; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#747 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#751 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#731 + def to_a(_iseq); end +end + +# This class represents a control flow graph of a YARV instruction sequence. +# It constructs a graph of basic blocks that hold subsets of the list of +# instructions from the instruction sequence. +# +# You can use this class by calling the ::compile method and passing it a +# YARV instruction sequence. It will return a control flow graph object. +# +# iseq = RubyVM::InstructionSequence.compile("1 + 2") +# iseq = SyntaxTree::YARV::InstructionSequence.from(iseq.to_a) +# cfg = SyntaxTree::YARV::ControlFlowGraph.compile(iseq) +# +# source://syntax_tree//lib/syntax_tree/yarv/control_flow_graph.rb#16 +class SyntaxTree::YARV::ControlFlowGraph + # @return [ControlFlowGraph] a new instance of ControlFlowGraph + # + # source://syntax_tree//lib/syntax_tree/yarv/control_flow_graph.rb#173 + def initialize(iseq, insns, blocks); end + + # This is the set of basic blocks that this control-flow graph contains. + # + # source://syntax_tree//lib/syntax_tree/yarv/control_flow_graph.rb#171 + def blocks; end + + # source://syntax_tree//lib/syntax_tree/yarv/control_flow_graph.rb#179 + def disasm; end + + # This is the list of instructions that this control flow graph contains. + # It is effectively the same as the list of instructions in the + # instruction sequence but with line numbers and events filtered out. + # + # source://syntax_tree//lib/syntax_tree/yarv/control_flow_graph.rb#168 + def insns; end + + # This is the instruction sequence that this control flow graph + # corresponds to. + # + # source://syntax_tree//lib/syntax_tree/yarv/control_flow_graph.rb#163 + def iseq; end + + # source://syntax_tree//lib/syntax_tree/yarv/control_flow_graph.rb#202 + def to_dfg; end + + # source://syntax_tree//lib/syntax_tree/yarv/control_flow_graph.rb#210 + def to_mermaid; end + + # source://syntax_tree//lib/syntax_tree/yarv/control_flow_graph.rb#206 + def to_son; end + + # This method is used to verify that the control flow graph is well + # formed. It does this by checking that each basic block is itself well + # formed. + # + # source://syntax_tree//lib/syntax_tree/yarv/control_flow_graph.rb#248 + def verify; end + + class << self + # source://syntax_tree//lib/syntax_tree/yarv/control_flow_graph.rb#252 + def compile(iseq); end + end +end + +# This class is responsible for creating a control flow graph from the +# given instruction sequence. +# +# source://syntax_tree//lib/syntax_tree/yarv/control_flow_graph.rb#19 +class SyntaxTree::YARV::ControlFlowGraph::Compiler + # @return [Compiler] a new instance of Compiler + # + # source://syntax_tree//lib/syntax_tree/yarv/control_flow_graph.rb#34 + def initialize(iseq); end + + # This method is used to compile the instruction sequence into a control + # flow graph. It returns an instance of ControlFlowGraph. + # + # source://syntax_tree//lib/syntax_tree/yarv/control_flow_graph.rb#54 + def compile; end + + # This is a hash of indices in the YARV instruction sequence that point + # to their corresponding instruction. + # + # source://syntax_tree//lib/syntax_tree/yarv/control_flow_graph.rb#25 + def insns; end + + # This is the instruction sequence that is being compiled. + # + # source://syntax_tree//lib/syntax_tree/yarv/control_flow_graph.rb#21 + def iseq; end + + # This is a hash of labels that point to their corresponding index into + # the YARV instruction sequence. Note that this is not the same as the + # index into the list of instructions on the instruction sequence + # object. Instead, this is the index into the C array, so it includes + # operands. + # + # source://syntax_tree//lib/syntax_tree/yarv/control_flow_graph.rb#32 + def labels; end + + private + + # Builds up a set of basic blocks by iterating over the starts of each + # block. They are keyed by the index of their first instruction. + # + # source://syntax_tree//lib/syntax_tree/yarv/control_flow_graph.rb#92 + def build_basic_blocks; end + + # Connect the blocks by letting them know which blocks are incoming and + # outgoing from each block. + # + # source://syntax_tree//lib/syntax_tree/yarv/control_flow_graph.rb#123 + def connect_basic_blocks(blocks); end + + # Finds the indices of the instructions that start a basic block because + # they're either: + # + # * the start of an instruction sequence + # * the target of a branch + # * fallen through to from a branch + # + # source://syntax_tree//lib/syntax_tree/yarv/control_flow_graph.rb#72 + def find_basic_block_starts; end + + # If there are blocks that are unreachable, we can remove them from the + # graph entirely at this point. + # + # source://syntax_tree//lib/syntax_tree/yarv/control_flow_graph.rb#145 + def prune_basic_blocks(blocks); end +end + +# Constructs a data-flow-graph of a YARV instruction sequence, via a +# control-flow-graph. Data flow is discovered locally and then globally. The +# graph only considers data flow through the stack - local variables and +# objects are considered fully escaped in this analysis. +# +# You can use this class by calling the ::compile method and passing it a +# control flow graph. It will return a data flow graph object. +# +# iseq = RubyVM::InstructionSequence.compile("1 + 2") +# iseq = SyntaxTree::YARV::InstructionSequence.from(iseq.to_a) +# cfg = SyntaxTree::YARV::ControlFlowGraph.compile(iseq) +# dfg = SyntaxTree::YARV::DataFlowGraph.compile(cfg) +# +# source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#18 +class SyntaxTree::YARV::DataFlowGraph + # @return [DataFlowGraph] a new instance of DataFlowGraph + # + # source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#68 + def initialize(cfg, insn_flows, block_flows); end + + # Returns the value of attribute block_flows. + # + # source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#66 + def block_flows; end + + # source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#74 + def blocks; end + + # Returns the value of attribute cfg. + # + # source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#66 + def cfg; end + + # source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#78 + def disasm; end + + # Returns the value of attribute insn_flows. + # + # source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#66 + def insn_flows; end + + # source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#127 + def to_mermaid; end + + # source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#123 + def to_son; end + + # Verify that we constructed the data flow graph correctly. + # + # source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#179 + def verify; end + + class << self + # source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#204 + def compile(cfg); end + end +end + +# This represents an object that goes on the stack that is passed between +# basic blocks. +# +# source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#32 +class SyntaxTree::YARV::DataFlowGraph::BlockArgument + # @return [BlockArgument] a new instance of BlockArgument + # + # source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#35 + def initialize(name); end + + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#39 + def local?; end + + # Returns the value of attribute name. + # + # source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#33 + def name; end + + # source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#43 + def to_str; end +end + +# This class is responsible for creating a data flow graph from the given +# control flow graph. +# +# source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#210 +class SyntaxTree::YARV::DataFlowGraph::Compiler + # @return [Compiler] a new instance of Compiler + # + # source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#221 + def initialize(cfg); end + + # This data structure will hold the data flow between basic blocks. + # + # source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#219 + def block_flows; end + + # This is the control flow graph that is being compiled. + # + # source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#212 + def cfg; end + + # source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#227 + def compile; end + + # This data structure will hold the data flow between instructions + # within individual basic blocks. + # + # source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#216 + def insn_flows; end + + private + + # Find the data that flows between basic blocks. + # + # source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#304 + def find_external_flow; end + + # Find the data flow within each basic block. Using an abstract stack, + # connect from consumers of data to the producers of that data. + # + # source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#237 + def find_internal_flow; end +end + +# This object represents the flow of data between instructions. +# +# source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#20 +class SyntaxTree::YARV::DataFlowGraph::DataFlow + # @return [DataFlow] a new instance of DataFlow + # + # source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#24 + def initialize; end + + # Returns the value of attribute in. + # + # source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#21 + def in; end + + # Returns the value of attribute out. + # + # source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#22 + def out; end +end + +# This represents an object that goes on the stack that is passed between +# instructions within a basic block. +# +# source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#50 +class SyntaxTree::YARV::DataFlowGraph::LocalArgument + # @return [LocalArgument] a new instance of LocalArgument + # + # source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#53 + def initialize(length); end + + # Returns the value of attribute length. + # + # source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#51 + def length; end + + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#57 + def local?; end + + # Returns the value of attribute name. + # + # source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#51 + def name; end + + # source://syntax_tree//lib/syntax_tree/yarv/data_flow_graph.rb#61 + def to_str; end +end + +# This class is responsible for taking a compiled instruction sequence and +# walking through it to generate equivalent Ruby code. +# +# source://syntax_tree//lib/syntax_tree/yarv/decompiler.rb#7 +class SyntaxTree::YARV::Decompiler + include ::SyntaxTree::DSL + + # @return [Decompiler] a new instance of Decompiler + # + # source://syntax_tree//lib/syntax_tree/yarv/decompiler.rb#32 + def initialize(iseq); end + + # Returns the value of attribute block_label. + # + # source://syntax_tree//lib/syntax_tree/yarv/decompiler.rb#30 + def block_label; end + + # Returns the value of attribute iseq. + # + # source://syntax_tree//lib/syntax_tree/yarv/decompiler.rb#30 + def iseq; end + + # source://syntax_tree//lib/syntax_tree/yarv/decompiler.rb#37 + def to_ruby; end + + private + + # source://syntax_tree//lib/syntax_tree/yarv/decompiler.rb#52 + def decompile(iseq); end + + # source://syntax_tree//lib/syntax_tree/yarv/decompiler.rb#256 + def local_name(index, level); end + + # source://syntax_tree//lib/syntax_tree/yarv/decompiler.rb#43 + def node_for(value); end +end + +# When we're decompiling, we use a looped case statement to emulate +# jumping around in the same way the virtual machine would. This class +# provides convenience methods for generating the AST nodes that have to +# do with that label. +# +# source://syntax_tree//lib/syntax_tree/yarv/decompiler.rb#12 +class SyntaxTree::YARV::Decompiler::BlockLabel + include ::SyntaxTree::DSL + + # @return [BlockLabel] a new instance of BlockLabel + # + # source://syntax_tree//lib/syntax_tree/yarv/decompiler.rb#16 + def initialize(name); end + + # source://syntax_tree//lib/syntax_tree/yarv/decompiler.rb#20 + def field; end + + # Returns the value of attribute name. + # + # source://syntax_tree//lib/syntax_tree/yarv/decompiler.rb#14 + def name; end + + # source://syntax_tree//lib/syntax_tree/yarv/decompiler.rb#24 + def ref; end +end + +# ### Summary +# +# `defineclass` defines a class. First it pops the superclass off the +# stack, then it pops the object off the stack that the class should be +# defined under. It has three arguments: the name of the constant, the +# instruction sequence associated with the class, and various flags that +# indicate if it is a singleton class, a module, or a regular class. +# +# ### Usage +# +# ~~~ruby +# class Foo +# end +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#775 +class SyntaxTree::YARV::DefineClass < ::SyntaxTree::YARV::Instruction + # @return [DefineClass] a new instance of DefineClass + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#784 + def initialize(name, class_iseq, flags); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#806 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#823 + def call(vm); end + + # Returns the value of attribute class_iseq. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#782 + def class_iseq; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#802 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#790 + def disasm(fmt); end + + # Returns the value of attribute flags. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#782 + def flags; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#811 + def length; end + + # Returns the value of attribute name. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#782 + def name; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#815 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#819 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#798 + def to_a(_iseq); end +end + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#780 +SyntaxTree::YARV::DefineClass::FLAG_HAS_SUPERCLASS = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#779 +SyntaxTree::YARV::DefineClass::FLAG_SCOPED = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#776 +SyntaxTree::YARV::DefineClass::TYPE_CLASS = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#778 +SyntaxTree::YARV::DefineClass::TYPE_MODULE = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#777 +SyntaxTree::YARV::DefineClass::TYPE_SINGLETON_CLASS = T.let(T.unsafe(nil), Integer) + +# ### Summary +# +# `definemethod` defines a method on the class of the current value of +# `self`. It accepts two arguments. The first is the name of the method +# being defined. The second is the instruction sequence representing the +# body of the method. +# +# ### Usage +# +# ~~~ruby +# def value = "value" +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1068 +class SyntaxTree::YARV::DefineMethod < ::SyntaxTree::YARV::Instruction + # @return [DefineMethod] a new instance of DefineMethod + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1071 + def initialize(method_name, method_iseq); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1092 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1101 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1088 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1076 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1097 + def length; end + + # Returns the value of attribute method_iseq. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1069 + def method_iseq; end + + # Returns the value of attribute method_name. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1069 + def method_name; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1084 + def to_a(_iseq); end +end + +# ### Summary +# +# `definesmethod` defines a method on the singleton class of the current +# value of `self`. It accepts two arguments. The first is the name of the +# method being defined. The second is the instruction sequence representing +# the body of the method. It pops the object off the stack that the method +# should be defined on. +# +# ### Usage +# +# ~~~ruby +# def self.value = "value" +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1137 +class SyntaxTree::YARV::DefineSMethod < ::SyntaxTree::YARV::Instruction + # @return [DefineSMethod] a new instance of DefineSMethod + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1140 + def initialize(method_name, method_iseq); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1161 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1174 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1157 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1145 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1166 + def length; end + + # Returns the value of attribute method_iseq. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1138 + def method_iseq; end + + # Returns the value of attribute method_name. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1138 + def method_name; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1170 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1153 + def to_a(_iseq); end +end + +# ### Summary +# +# `defined` checks if the top value of the stack is defined. If it is, it +# pushes its value onto the stack. Otherwise it pushes `nil`. +# +# ### Usage +# +# ~~~ruby +# defined?(x) +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#859 +class SyntaxTree::YARV::Defined < ::SyntaxTree::YARV::Instruction + # @return [Defined] a new instance of Defined + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#880 + def initialize(type, name, message); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#939 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#956 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#935 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#886 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#944 + def length; end + + # Returns the value of attribute message. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#878 + def message; end + + # Returns the value of attribute name. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#878 + def name; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#948 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#952 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#931 + def to_a(_iseq); end + + # Returns the value of attribute type. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#878 + def type; end +end + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#872 +SyntaxTree::YARV::Defined::TYPE_ASGN = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#865 +SyntaxTree::YARV::Defined::TYPE_CONST = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#876 +SyntaxTree::YARV::Defined::TYPE_CONST_FROM = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#864 +SyntaxTree::YARV::Defined::TYPE_CVAR = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#873 +SyntaxTree::YARV::Defined::TYPE_EXPR = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#871 +SyntaxTree::YARV::Defined::TYPE_FALSE = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#875 +SyntaxTree::YARV::Defined::TYPE_FUNC = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#863 +SyntaxTree::YARV::Defined::TYPE_GVAR = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#861 +SyntaxTree::YARV::Defined::TYPE_IVAR = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#862 +SyntaxTree::YARV::Defined::TYPE_LVAR = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#866 +SyntaxTree::YARV::Defined::TYPE_METHOD = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#860 +SyntaxTree::YARV::Defined::TYPE_NIL = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#874 +SyntaxTree::YARV::Defined::TYPE_REF = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#869 +SyntaxTree::YARV::Defined::TYPE_SELF = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#870 +SyntaxTree::YARV::Defined::TYPE_TRUE = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#867 +SyntaxTree::YARV::Defined::TYPE_YIELD = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#868 +SyntaxTree::YARV::Defined::TYPE_ZSUPER = T.let(T.unsafe(nil), Integer) + +# ### Summary +# +# `definedivar` checks if an instance variable is defined. It is a +# specialization of the `defined` instruction. It accepts three arguments: +# the name of the instance variable, an inline cache, and the string that +# should be pushed onto the stack in the event that the instance variable +# is defined. +# +# ### Usage +# +# ~~~ruby +# defined?(@value) +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1011 +class SyntaxTree::YARV::DefinedIVar < ::SyntaxTree::YARV::Instruction + # @return [DefinedIVar] a new instance of DefinedIVar + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1014 + def initialize(name, cache, message); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1035 + def ==(other); end + + # Returns the value of attribute cache. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1012 + def cache; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1048 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1031 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1020 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1040 + def length; end + + # Returns the value of attribute message. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1012 + def message; end + + # Returns the value of attribute name. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1012 + def name; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1044 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1027 + def to_a(_iseq); end +end + +# source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#5 +class SyntaxTree::YARV::Disassembler + # @return [Disassembler] a new instance of Disassembler + # + # source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#46 + def initialize(current_iseq = T.unsafe(nil)); end + + # Helpers for various instructions + # + # source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#58 + def calldata(value); end + + # Returns the value of attribute current_iseq. + # + # source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#44 + def current_iseq; end + + # Sets the attribute current_iseq + # + # @param value the value to set the attribute current_iseq to. + # + # source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#44 + def current_iseq=(_arg0); end + + # Returns the value of attribute current_prefix. + # + # source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#43 + def current_prefix; end + + # source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#62 + def enqueue(iseq); end + + # source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#66 + def event(name); end + + # Entrypoints + # + # source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#116 + def format!; end + + # source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#123 + def format_insns!(insns, length = T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#87 + def inline_storage(cache); end + + # source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#91 + def instruction(name, operands = T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#95 + def label(value); end + + # source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#99 + def local(index, explicit: T.unsafe(nil), implicit: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#108 + def object(value); end + + # Returns the value of attribute output. + # + # source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#41 + def output; end + + # source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#167 + def print(string); end + + # source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#171 + def puts(string); end + + # Returns the value of attribute queue. + # + # source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#41 + def queue; end + + # source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#175 + def string; end + + # source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#179 + def with_prefix(value); end + + private + + # source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#192 + def format_iseq(iseq); end +end + +# This class is another object that handles disassembling a YARV +# instruction sequence but it renders it without any of the extra spacing +# or alignment. +# +# source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#9 +class SyntaxTree::YARV::Disassembler::Squished + # source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#10 + def calldata(value); end + + # source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#14 + def enqueue(iseq); end + + # source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#17 + def event(name); end + + # source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#20 + def inline_storage(cache); end + + # source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#24 + def instruction(name, operands = T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#28 + def label(value); end + + # source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#32 + def local(index, **_arg1); end + + # source://syntax_tree//lib/syntax_tree/yarv/disassembler.rb#36 + def object(value); end +end + +# ### Summary +# +# `dup` copies the top value of the stack and pushes it onto the stack. +# +# ### Usage +# +# ~~~ruby +# $global = 5 +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1206 +class SyntaxTree::YARV::Dup < ::SyntaxTree::YARV::Instruction + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1219 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1231 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1215 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1207 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1223 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1227 + def pushes; end + + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1235 + def side_effects?; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1211 + def to_a(_iseq); end +end + +# ### Summary +# +# `duparray` dups an Array literal and pushes it onto the stack. +# +# ### Usage +# +# ~~~ruby +# [true] +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1250 +class SyntaxTree::YARV::DupArray < ::SyntaxTree::YARV::Instruction + # @return [DupArray] a new instance of DupArray + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1253 + def initialize(object); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1269 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1281 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1265 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1257 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1273 + def length; end + + # Returns the value of attribute object. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1251 + def object; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1277 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1261 + def to_a(_iseq); end +end + +# ### Summary +# +# `duphash` dups a Hash literal and pushes it onto the stack. +# +# ### Usage +# +# ~~~ruby +# { a: 1 } +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1296 +class SyntaxTree::YARV::DupHash < ::SyntaxTree::YARV::Instruction + # @return [DupHash] a new instance of DupHash + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1299 + def initialize(object); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1315 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1327 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1311 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1303 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1319 + def length; end + + # Returns the value of attribute object. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1297 + def object; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1323 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1307 + def to_a(_iseq); end +end + +# ### Summary +# +# `dupn` duplicates the top `n` stack elements. +# +# ### Usage +# +# ~~~ruby +# Object::X ||= true +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1342 +class SyntaxTree::YARV::DupN < ::SyntaxTree::YARV::Instruction + # @return [DupN] a new instance of DupN + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1345 + def initialize(number); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1361 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1373 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1357 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1349 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1365 + def length; end + + # Returns the value of attribute number. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1343 + def number; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1369 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1353 + def to_a(_iseq); end +end + +# ### Summary +# +# `expandarray` looks at the top of the stack, and if the value is an array +# it replaces it on the stack with `number` elements of the array, or `nil` +# if the elements are missing. +# +# ### Usage +# +# ~~~ruby +# x, = [true, false, nil] +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1392 +class SyntaxTree::YARV::ExpandArray < ::SyntaxTree::YARV::Instruction + # @return [ExpandArray] a new instance of ExpandArray + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1395 + def initialize(number, flags); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1412 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1429 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1408 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1400 + def disasm(fmt); end + + # Returns the value of attribute flags. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1393 + def flags; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1417 + def length; end + + # Returns the value of attribute number. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1393 + def number; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1421 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1425 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1404 + def to_a(_iseq); end +end + +# ### Summary +# +# `getblockparam` is a similar instruction to `getlocal` in that it looks +# for a local variable in the current instruction sequence's local table and +# walks recursively up the parent instruction sequences until it finds it. +# The local it retrieves, however, is a special block local that was passed +# to the current method. It pushes the value of the block local onto the +# stack. +# +# ### Usage +# +# ~~~ruby +# def foo(&block) +# block +# end +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1486 +class SyntaxTree::YARV::GetBlockParam < ::SyntaxTree::YARV::Instruction + # @return [GetBlockParam] a new instance of GetBlockParam + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1489 + def initialize(index, level); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1508 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1521 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1504 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1494 + def disasm(fmt); end + + # Returns the value of attribute index. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1487 + def index; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1513 + def length; end + + # Returns the value of attribute level. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1487 + def level; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1517 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1498 + def to_a(iseq); end +end + +# ### Summary +# +# `getblockparamproxy` is almost the same as `getblockparam` except that it +# pushes a proxy object onto the stack instead of the actual value of the +# block local. This is used when a method is being called on the block +# local. +# +# ### Usage +# +# ~~~ruby +# def foo(&block) +# block.call +# end +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1541 +class SyntaxTree::YARV::GetBlockParamProxy < ::SyntaxTree::YARV::Instruction + # @return [GetBlockParamProxy] a new instance of GetBlockParamProxy + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1544 + def initialize(index, level); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1566 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1579 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1562 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1549 + def disasm(fmt); end + + # Returns the value of attribute index. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1542 + def index; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1571 + def length; end + + # Returns the value of attribute level. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1542 + def level; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1575 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1556 + def to_a(iseq); end +end + +# ### Summary +# +# `getclassvariable` looks for a class variable in the current class and +# pushes its value onto the stack. It uses an inline cache to reduce the +# need to lookup the class variable in the class hierarchy every time. +# +# ### Usage +# +# ~~~ruby +# @@class_variable +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1596 +class SyntaxTree::YARV::GetClassVariable < ::SyntaxTree::YARV::Instruction + # @return [GetClassVariable] a new instance of GetClassVariable + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1599 + def initialize(name, cache); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1619 + def ==(other); end + + # Returns the value of attribute cache. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1597 + def cache; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1632 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1615 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1604 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1624 + def length; end + + # Returns the value of attribute name. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1597 + def name; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1628 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1611 + def to_a(_iseq); end +end + +# ### Summary +# +# `getconstant` performs a constant lookup and pushes the value of the +# constant onto the stack. It pops both the class it should look in and +# whether or not it should look globally as well. +# +# ### Usage +# +# ~~~ruby +# Constant +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1651 +class SyntaxTree::YARV::GetConstant < ::SyntaxTree::YARV::Instruction + # @return [GetConstant] a new instance of GetConstant + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1654 + def initialize(name); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1670 + def ==(other); end + + # @raise [NameError] + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1686 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1666 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1658 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1674 + def length; end + + # Returns the value of attribute name. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1652 + def name; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1678 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1682 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1662 + def to_a(_iseq); end +end + +# ### Summary +# +# `getglobal` pushes the value of a global variables onto the stack. +# +# ### Usage +# +# ~~~ruby +# $$ +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1717 +class SyntaxTree::YARV::GetGlobal < ::SyntaxTree::YARV::Instruction + # @return [GetGlobal] a new instance of GetGlobal + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1720 + def initialize(name); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1736 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1748 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1732 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1724 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1740 + def length; end + + # Returns the value of attribute name. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1718 + def name; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1744 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1728 + def to_a(_iseq); end +end + +# ### Summary +# +# `getinstancevariable` pushes the value of an instance variable onto the +# stack. It uses an inline cache to avoid having to look up the instance +# variable in the class hierarchy every time. +# +# This instruction has two forms, but both have the same structure. Before +# Ruby 3.2, the inline cache corresponded to both the get and set +# instructions and could be shared. Since Ruby 3.2, it uses object shapes +# instead so the caches are unique per instruction. +# +# ### Usage +# +# ~~~ruby +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1772 +class SyntaxTree::YARV::GetInstanceVariable < ::SyntaxTree::YARV::Instruction + # @return [GetInstanceVariable] a new instance of GetInstanceVariable + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1775 + def initialize(name, cache); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1795 + def ==(other); end + + # Returns the value of attribute cache. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1773 + def cache; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1808 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1791 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1780 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1800 + def length; end + + # Returns the value of attribute name. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1773 + def name; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1804 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1787 + def to_a(_iseq); end +end + +# ### Summary +# +# `getlocal` fetches the value of a local variable from a frame determined +# by the level and index arguments. The level is the number of frames back +# to look and the index is the index in the local table. It pushes the value +# it finds onto the stack. +# +# ### Usage +# +# ~~~ruby +# value = 5 +# tap { tap { value } } +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1828 +class SyntaxTree::YARV::GetLocal < ::SyntaxTree::YARV::Instruction + # @return [GetLocal] a new instance of GetLocal + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1831 + def initialize(index, level); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1850 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1862 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1846 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1836 + def disasm(fmt); end + + # Returns the value of attribute index. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1829 + def index; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1854 + def length; end + + # Returns the value of attribute level. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1829 + def level; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1858 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1840 + def to_a(iseq); end +end + +# ### Summary +# +# `getlocal_WC_0` is a specialized version of the `getlocal` instruction. It +# fetches the value of a local variable from the current frame determined by +# the index given as its only argument. +# +# ### Usage +# +# ~~~ruby +# value = 5 +# value +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1880 +class SyntaxTree::YARV::GetLocalWC0 < ::SyntaxTree::YARV::Instruction + # @return [GetLocalWC0] a new instance of GetLocalWC0 + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1883 + def initialize(index); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1899 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1915 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1911 + def canonical; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1895 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1887 + def disasm(fmt); end + + # Returns the value of attribute index. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1881 + def index; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1903 + def length; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1907 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1891 + def to_a(iseq); end +end + +# ### Summary +# +# `getlocal_WC_1` is a specialized version of the `getlocal` instruction. It +# fetches the value of a local variable from the parent frame determined by +# the index given as its only argument. +# +# ### Usage +# +# ~~~ruby +# value = 5 +# self.then { value } +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1933 +class SyntaxTree::YARV::GetLocalWC1 < ::SyntaxTree::YARV::Instruction + # @return [GetLocalWC1] a new instance of GetLocalWC1 + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1936 + def initialize(index); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1952 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1968 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1964 + def canonical; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1948 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1940 + def disasm(fmt); end + + # Returns the value of attribute index. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1934 + def index; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1956 + def length; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1960 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1944 + def to_a(iseq); end +end + +# ### Summary +# +# `getspecial` pushes the value of a special local variable onto the stack. +# +# ### Usage +# +# ~~~ruby +# 1 if (a == 1) .. (b == 2) +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1983 +class SyntaxTree::YARV::GetSpecial < ::SyntaxTree::YARV::Instruction + # @return [GetSpecial] a new instance of GetSpecial + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1990 + def initialize(key, type); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2007 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2019 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2003 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1995 + def disasm(fmt); end + + # Returns the value of attribute key. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1988 + def key; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2011 + def length; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2015 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1999 + def to_a(_iseq); end + + # Returns the value of attribute type. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1988 + def type; end +end + +# $~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1985 +SyntaxTree::YARV::GetSpecial::SVAR_BACKREF = T.let(T.unsafe(nil), Integer) + +# flipflop +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1986 +SyntaxTree::YARV::GetSpecial::SVAR_FLIPFLOP_START = T.let(T.unsafe(nil), Integer) + +# $_ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#1984 +SyntaxTree::YARV::GetSpecial::SVAR_LASTLINE = T.let(T.unsafe(nil), Integer) + +# This is a base class for all YARV instructions. It provides a few +# convenience methods for working with instructions. +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#7 +class SyntaxTree::YARV::Instruction + # This returns an array of labels. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#33 + def branch_targets; end + + # This method creates an instruction that represents the canonical + # (non-specialized) form of this instruction. If this instruction is not + # a specialized instruction, then this method returns `self`. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#11 + def canonical; end + + # Whether or not this instruction falls through to the next instruction if + # its branching fails. + # + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#44 + def falls_through?; end + + # Whether or not this instruction leaves the current frame. + # + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#38 + def leaves?; end + + # This returns the size of the instruction in terms of the number of slots + # it occupies in the instruction sequence. Effectively this is 1 plus the + # number of operands. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#18 + def length; end + + # This returns the number of values that are popped off the stack. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#28 + def pops; end + + # This returns the number of values that are pushed onto the stack. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#23 + def pushes; end + + # Does the instruction have side effects? Control-flow counts as a + # side-effect, as do some special-case instructions like Leave. By default + # every instruction is marked as having side effects. + # + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#51 + def side_effects?; end +end + +# This class is meant to mirror RubyVM::InstructionSequence. It contains a +# list of instructions along with the metadata pertaining to them. It also +# functions as a builder for the instruction sequence. +# +# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#9 +class SyntaxTree::YARV::InstructionSequence + # @return [InstructionSequence] a new instance of InstructionSequence + # + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#168 + def initialize(name, file, line, type, parent_iseq = T.unsafe(nil), options = T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#636 + def adjuststack(number); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#640 + def anytostring; end + + # Returns the value of attribute argument_options. + # + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#143 + def argument_options; end + + # This is the list of information about the arguments to this + # instruction sequence. + # + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#142 + def argument_size; end + + # This is the list of information about the arguments to this + # instruction sequence. + # + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#142 + def argument_size=(_arg0); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#456 + def block_child_iseq(line); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#644 + def branchif(label); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#648 + def branchnil(label); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#652 + def branchunless(label); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#549 + def catch_break(iseq, begin_label, end_label, exit_label, restore_sp); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#559 + def catch_ensure(iseq, begin_label, end_label, exit_label, restore_sp); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#569 + def catch_next(begin_label, end_label, exit_label, restore_sp); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#579 + def catch_redo(begin_label, end_label, exit_label, restore_sp); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#589 + def catch_rescue(iseq, begin_label, end_label, exit_label, restore_sp); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#599 + def catch_retry(begin_label, end_label, exit_label, restore_sp); end + + # The catch table for this instruction sequence. + # + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#146 + def catch_table; end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#656 + def checkkeyword(keyword_bits_index, keyword_index); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#660 + def checkmatch(type); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#664 + def checktype(type); end + + # Child instruction sequence methods + # + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#452 + def child_iseq(name, line, type); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#462 + def class_child_iseq(name, line); end + + # This method converts our linked list of instructions into a final array + # and performs any other compilation steps necessary. + # + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#305 + def compile!; end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#668 + def concatarray; end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#672 + def concatstrings(number); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#676 + def defineclass(name, class_iseq, flags); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#680 + def defined(type, name, message); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#684 + def definedivar(name, cache, message); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#693 + def definemethod(name, method_iseq); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#697 + def definesmethod(name, method_iseq); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#292 + def disasm; end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#701 + def dup; end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#705 + def duparray(object); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#709 + def duphash(object); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#713 + def dupn(number); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#232 + def eval; end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#632 + def event(name); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#717 + def expandarray(length, flags); end + + # The source location of the instruction sequence. + # + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#132 + def file; end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#721 + def getblockparam(index, level); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#725 + def getblockparamproxy(index, level); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#729 + def getclassvariable(name); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#737 + def getconstant(name); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#741 + def getglobal(name); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#745 + def getinstancevariable(name); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#753 + def getlocal(index, level); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#772 + def getspecial(key, type); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#207 + def inline_storage; end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#213 + def inline_storage_for(name); end + + # The hash of names of instance and class variables pointing to the + # index of their associated inline storage. + # + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#156 + def inline_storages; end + + # The list of instructions for this instruction sequence. + # + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#149 + def insns; end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#299 + def inspect; end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#776 + def intern; end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#780 + def invokeblock(calldata); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#784 + def invokesuper(calldata, block_iseq); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#788 + def jump(label); end + + # Instruction push methods + # + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#613 + def label; end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#792 + def leave; end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#219 + def length; end + + # The source location of the instruction sequence. + # + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#132 + def line; end + + # The table of local variables. + # + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#152 + def local_table; end + + # Query methods + # + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#199 + def local_variable(name, level = T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#466 + def method_child_iseq(name, line); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#470 + def module_child_iseq(name, line); end + + # The name of the instruction sequence. + # + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#129 + def name; end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#796 + def newarray(number); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#800 + def newarraykwsplat(number); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#804 + def newhash(number); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#808 + def newrange(exclude_end); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#812 + def nop; end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#816 + def objtostring(calldata); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#820 + def once(iseq, cache); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#824 + def opt_aref_with(object, calldata); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#828 + def opt_aset_with(object, calldata); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#832 + def opt_case_dispatch(case_dispatch_hash, else_label); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#836 + def opt_getconstant_path(names); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#872 + def opt_getinlinecache(label, cache); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#876 + def opt_setinlinecache(cache); end + + # These are various compilation options provided. + # + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#166 + def options; end + + # The parent instruction sequence, if there is one. + # + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#138 + def parent_iseq; end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#880 + def pop; end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#617 + def push(value); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#884 + def putnil; end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#888 + def putobject(object); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#906 + def putself; end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#910 + def putspecialobject(object); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#914 + def putstring(object); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#918 + def send(calldata, block_iseq = T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#922 + def setblockparam(index, level); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#926 + def setclassvariable(name); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#934 + def setconstant(name); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#938 + def setglobal(name); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#942 + def setinstancevariable(name); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#950 + def setlocal(index, level); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#969 + def setn(number); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#973 + def setspecial(key); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#474 + def singleton_class_child_iseq(line); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#341 + def specialize_instructions!; end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#977 + def splatarray(flag); end + + # An object that will track the current size of the stack and the + # maximum size of the stack for this instruction sequence. + # + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#163 + def stack; end + + # The index of the next inline storage that will be created. + # + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#159 + def storage_index; end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#981 + def swap; end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#985 + def throw(type); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#236 + def to_a; end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#280 + def to_cfg; end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#284 + def to_dfg; end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#288 + def to_son; end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#989 + def topn(number); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#993 + def toregexp(options, length); end + + # The type of the instruction sequence. + # + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#135 + def type; end + + class << self + # This method will create a new instruction sequence from a serialized + # RubyVM::InstructionSequence object. + # + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#999 + def from(source, options = T.unsafe(nil), parent_iseq = T.unsafe(nil)); end + + # This provides a handle to the rb_iseq_load function, which allows you + # to pass a serialized iseq to Ruby and have it return a + # RubyVM::InstructionSequence object. + # + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#13 + def iseq_load(iseq); end + end +end + +# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#494 +class SyntaxTree::YARV::InstructionSequence::CatchBreak < ::SyntaxTree::YARV::InstructionSequence::CatchEntry + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#495 + def to_a; end +end + +# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#507 +class SyntaxTree::YARV::InstructionSequence::CatchEnsure < ::SyntaxTree::YARV::InstructionSequence::CatchEntry + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#508 + def to_a; end +end + +# Catch table methods +# +# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#482 +class SyntaxTree::YARV::InstructionSequence::CatchEntry + # @return [CatchEntry] a new instance of CatchEntry + # + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#485 + def initialize(iseq, begin_label, end_label, exit_label, restore_sp); end + + # Returns the value of attribute begin_label. + # + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#483 + def begin_label; end + + # Returns the value of attribute end_label. + # + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#483 + def end_label; end + + # Returns the value of attribute exit_label. + # + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#483 + def exit_label; end + + # Returns the value of attribute iseq. + # + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#483 + def iseq; end + + # Returns the value of attribute restore_sp. + # + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#483 + def restore_sp; end +end + +# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#519 +class SyntaxTree::YARV::InstructionSequence::CatchNext < ::SyntaxTree::YARV::InstructionSequence::CatchEntry + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#520 + def to_a; end +end + +# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#525 +class SyntaxTree::YARV::InstructionSequence::CatchRedo < ::SyntaxTree::YARV::InstructionSequence::CatchEntry + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#526 + def to_a; end +end + +# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#531 +class SyntaxTree::YARV::InstructionSequence::CatchRescue < ::SyntaxTree::YARV::InstructionSequence::CatchEntry + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#532 + def to_a; end +end + +# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#543 +class SyntaxTree::YARV::InstructionSequence::CatchRetry < ::SyntaxTree::YARV::InstructionSequence::CatchEntry + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#544 + def to_a; end +end + +# When the list of instructions is first being created, it's stored as a +# linked list. This is to make it easier to perform peephole optimizations +# and other transformations like instruction specialization. +# +# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#35 +class SyntaxTree::YARV::InstructionSequence::InstructionList + include ::Enumerable + + # @return [InstructionList] a new instance of InstructionList + # + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#48 + def initialize; end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#53 + def each(&_blk); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#58 + def each_node; end + + # Returns the value of attribute head_node. + # + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#46 + def head_node; end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#68 + def push(instruction); end + + # Returns the value of attribute tail_node. + # + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#46 + def tail_node; end +end + +# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#36 +class SyntaxTree::YARV::InstructionSequence::InstructionList::Node + # @return [Node] a new instance of Node + # + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#39 + def initialize(value, next_node = T.unsafe(nil)); end + + # Returns the value of attribute next_node. + # + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#37 + def next_node; end + + # Sets the attribute next_node + # + # @param value the value to set the attribute next_node to. + # + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#37 + def next_node=(_arg0); end + + # Returns the value of attribute value. + # + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#37 + def value; end + + # Sets the attribute value + # + # @param value the value to set the attribute value to. + # + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#37 + def value=(_arg0); end +end + +# This represents the destination of instructions that jump. Initially it +# does not track its position so that when we perform optimizations the +# indices don't get messed up. +# +# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#107 +class SyntaxTree::YARV::InstructionSequence::Label + # @return [Label] a new instance of Label + # + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#115 + def initialize(name = T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#123 + def inspect; end + + # Returns the value of attribute name. + # + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#108 + def name; end + + # When we're serializing the instruction sequence, we need to be able to + # look up the label from the branch instructions and then access the + # subsequent node. So we'll store the reference here. + # + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#113 + def node; end + + # When we're serializing the instruction sequence, we need to be able to + # look up the label from the branch instructions and then access the + # subsequent node. So we'll store the reference here. + # + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#113 + def node=(_arg0); end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#119 + def patch!(name); end +end + +# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#83 +SyntaxTree::YARV::InstructionSequence::MAGIC = T.let(T.unsafe(nil), String) + +# This object is used to track the size of the stack at any given time. It +# is effectively a mini symbolic interpreter. It's necessary because when +# instruction sequences get serialized they include a :stack_max field on +# them. This field is used to determine how much stack space to allocate +# for the instruction sequence. +# +# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#90 +class SyntaxTree::YARV::InstructionSequence::Stack + # @return [Stack] a new instance of Stack + # + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#93 + def initialize; end + + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#98 + def change_by(value); end + + # Returns the value of attribute current_size. + # + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#91 + def current_size; end + + # Returns the value of attribute maximum_size. + # + # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#91 + def maximum_size; end +end + +# ### Summary +# +# `intern` converts the top element of the stack to a symbol and pushes the +# symbol onto the stack. +# +# ### Usage +# +# ~~~ruby +# :"#{"foo"}" +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2042 +class SyntaxTree::YARV::Intern < ::SyntaxTree::YARV::Instruction + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2055 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2067 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2051 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2043 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2059 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2063 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2047 + def to_a(_iseq); end +end + +# ### Summary +# +# `invokeblock` invokes the block given to the current method. It pops the +# arguments for the block off the stack and pushes the result of running the +# block onto the stack. +# +# ### Usage +# +# ~~~ruby +# def foo +# yield +# end +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2086 +class SyntaxTree::YARV::InvokeBlock < ::SyntaxTree::YARV::Instruction + # @return [InvokeBlock] a new instance of InvokeBlock + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2089 + def initialize(calldata); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2105 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2121 + def call(vm); end + + # Returns the value of attribute calldata. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2087 + def calldata; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2101 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2093 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2109 + def length; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2113 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2117 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2097 + def to_a(_iseq); end +end + +# ### Summary +# +# `invokesuper` is similar to the `send` instruction, except that it calls +# the super method. It pops the receiver and arguments off the stack and +# pushes the return value onto the stack. +# +# ### Usage +# +# ~~~ruby +# def foo +# super +# end +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2140 +class SyntaxTree::YARV::InvokeSuper < ::SyntaxTree::YARV::Instruction + # @return [InvokeSuper] a new instance of InvokeSuper + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2143 + def initialize(calldata, block_iseq); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2164 + def ==(other); end + + # Returns the value of attribute block_iseq. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2141 + def block_iseq; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2178 + def call(vm); end + + # Returns the value of attribute calldata. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2141 + def calldata; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2160 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2148 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2169 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2174 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2156 + def to_a(_iseq); end +end + +# ### Summary +# +# `jump` unconditionally jumps to the label given as its only argument. +# +# ### Usage +# +# ~~~ruby +# x = 0 +# if x == 0 +# puts "0" +# else +# puts "2" +# end +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2217 +class SyntaxTree::YARV::Jump < ::SyntaxTree::YARV::Instruction + # @return [Jump] a new instance of Jump + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2220 + def initialize(label); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2236 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2248 + def branch_targets; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2244 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2232 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2224 + def disasm(fmt); end + + # Returns the value of attribute label. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2218 + def label; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2240 + def length; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2228 + def to_a(_iseq); end +end + +# ### Summary +# +# `leave` exits the current frame. +# +# ### Usage +# +# ~~~ruby +# ;; +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2263 +class SyntaxTree::YARV::Leave < ::SyntaxTree::YARV::Instruction + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2276 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2290 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2272 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2264 + def disasm(fmt); end + + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2294 + def leaves?; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2280 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2284 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2268 + def to_a(_iseq); end +end + +# This module contains the instructions that used to be a part of YARV but +# have been replaced or removed in more recent versions. +# +# source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#7 +module SyntaxTree::YARV::Legacy; end + +# ### Summary +# +# `getclassvariable` looks for a class variable in the current class and +# pushes its value onto the stack. +# +# This version of the `getclassvariable` instruction is no longer used +# since in Ruby 3.0 it gained an inline cache.` +# +# ### Usage +# +# ~~~ruby +# @@class_variable +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#22 +class SyntaxTree::YARV::Legacy::GetClassVariable < ::SyntaxTree::YARV::Instruction + # @return [GetClassVariable] a new instance of GetClassVariable + # + # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#25 + def initialize(name); end + + # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#41 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#57 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#53 + def canonical; end + + # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#37 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#29 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#45 + def length; end + + # Returns the value of attribute name. + # + # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#23 + def name; end + + # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#49 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#33 + def to_a(_iseq); end +end + +# ### Summary +# +# `opt_getinlinecache` is a wrapper around a series of `putobject` and +# `getconstant` instructions that allows skipping past them if the inline +# cache is currently set. It pushes the value of the cache onto the stack +# if it is set, otherwise it pushes `nil`. +# +# This instruction is no longer used since in Ruby 3.2 it was replaced by +# the consolidated `opt_getconstant_path` instruction. +# +# ### Usage +# +# ~~~ruby +# Constant +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#78 +class SyntaxTree::YARV::Legacy::OptGetInlineCache < ::SyntaxTree::YARV::Instruction + # @return [OptGetInlineCache] a new instance of OptGetInlineCache + # + # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#81 + def initialize(label, cache); end + + # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#101 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#118 + def branch_targets; end + + # Returns the value of attribute cache. + # + # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#79 + def cache; end + + # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#114 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#97 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#86 + def disasm(fmt); end + + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#122 + def falls_through?; end + + # Returns the value of attribute label. + # + # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#79 + def label; end + + # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#106 + def length; end + + # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#110 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#93 + def to_a(_iseq); end +end + +# ### Summary +# +# `opt_setinlinecache` sets an inline cache for a constant lookup. It pops +# the value it should set off the top of the stack. It uses this value to +# set the cache. It then pushes that value back onto the top of the stack. +# +# This instruction is no longer used since in Ruby 3.2 it was replaced by +# the consolidated `opt_getconstant_path` instruction. +# +# ### Usage +# +# ~~~ruby +# Constant +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#142 +class SyntaxTree::YARV::Legacy::OptSetInlineCache < ::SyntaxTree::YARV::Instruction + # @return [OptSetInlineCache] a new instance of OptSetInlineCache + # + # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#145 + def initialize(cache); end + + # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#161 + def ==(other); end + + # Returns the value of attribute cache. + # + # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#143 + def cache; end + + # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#177 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#157 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#149 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#165 + def length; end + + # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#169 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#173 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#153 + def to_a(_iseq); end +end + +# ### Summary +# +# `setclassvariable` looks for a class variable in the current class and +# sets its value to the value it pops off the top of the stack. +# +# This version of the `setclassvariable` instruction is no longer used +# since in Ruby 3.0 it gained an inline cache. +# +# ### Usage +# +# ~~~ruby +# @@class_variable = 1 +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#195 +class SyntaxTree::YARV::Legacy::SetClassVariable < ::SyntaxTree::YARV::Instruction + # @return [SetClassVariable] a new instance of SetClassVariable + # + # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#198 + def initialize(name); end + + # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#214 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#230 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#226 + def canonical; end + + # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#210 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#202 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#218 + def length; end + + # Returns the value of attribute name. + # + # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#196 + def name; end + + # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#222 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#206 + def to_a(_iseq); end +end + +# This represents every local variable associated with an instruction +# sequence. There are two kinds of locals: plain locals that are what you +# expect, and block proxy locals, which represent local variables +# associated with blocks that were passed into the current instruction +# sequence. +# +# source://syntax_tree//lib/syntax_tree/yarv/local_table.rb#10 +class SyntaxTree::YARV::LocalTable + # @return [LocalTable] a new instance of LocalTable + # + # source://syntax_tree//lib/syntax_tree/yarv/local_table.rb#43 + def initialize; end + + # Add a BlockLocal to the local table. + # + # source://syntax_tree//lib/syntax_tree/yarv/local_table.rb#73 + def block(name); end + + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/yarv/local_table.rb#47 + def empty?; end + + # source://syntax_tree//lib/syntax_tree/yarv/local_table.rb#51 + def find(name, level = T.unsafe(nil)); end + + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/yarv/local_table.rb#56 + def has?(name); end + + # Returns the value of attribute locals. + # + # source://syntax_tree//lib/syntax_tree/yarv/local_table.rb#41 + def locals; end + + # source://syntax_tree//lib/syntax_tree/yarv/local_table.rb#64 + def name_at(index); end + + # source://syntax_tree//lib/syntax_tree/yarv/local_table.rb#60 + def names; end + + # This is the offset from the top of the stack where this local variable + # lives. + # + # source://syntax_tree//lib/syntax_tree/yarv/local_table.rb#84 + def offset(index); end + + # Add a PlainLocal to the local table. + # + # source://syntax_tree//lib/syntax_tree/yarv/local_table.rb#78 + def plain(name); end + + # source://syntax_tree//lib/syntax_tree/yarv/local_table.rb#68 + def size; end +end + +# A local representing a block passed into the current instruction +# sequence. +# +# source://syntax_tree//lib/syntax_tree/yarv/local_table.rb#13 +class SyntaxTree::YARV::LocalTable::BlockLocal + # @return [BlockLocal] a new instance of BlockLocal + # + # source://syntax_tree//lib/syntax_tree/yarv/local_table.rb#16 + def initialize(name); end + + # Returns the value of attribute name. + # + # source://syntax_tree//lib/syntax_tree/yarv/local_table.rb#14 + def name; end +end + +# The result of looking up a local variable in the current local table. +# +# source://syntax_tree//lib/syntax_tree/yarv/local_table.rb#31 +class SyntaxTree::YARV::LocalTable::Lookup + # @return [Lookup] a new instance of Lookup + # + # source://syntax_tree//lib/syntax_tree/yarv/local_table.rb#34 + def initialize(local, index, level); end + + # Returns the value of attribute index. + # + # source://syntax_tree//lib/syntax_tree/yarv/local_table.rb#32 + def index; end + + # Returns the value of attribute level. + # + # source://syntax_tree//lib/syntax_tree/yarv/local_table.rb#32 + def level; end + + # Returns the value of attribute local. + # + # source://syntax_tree//lib/syntax_tree/yarv/local_table.rb#32 + def local; end +end + +# A regular local variable. +# +# source://syntax_tree//lib/syntax_tree/yarv/local_table.rb#22 +class SyntaxTree::YARV::LocalTable::PlainLocal + # @return [PlainLocal] a new instance of PlainLocal + # + # source://syntax_tree//lib/syntax_tree/yarv/local_table.rb#25 + def initialize(name); end + + # Returns the value of attribute name. + # + # source://syntax_tree//lib/syntax_tree/yarv/local_table.rb#23 + def name; end +end + +# ### Summary +# +# `newarray` puts a new array initialized with `number` values from the +# stack. It pops `number` values off the stack and pushes the array onto the +# stack. +# +# ### Usage +# +# ~~~ruby +# ["string"] +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2311 +class SyntaxTree::YARV::NewArray < ::SyntaxTree::YARV::Instruction + # @return [NewArray] a new instance of NewArray + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2314 + def initialize(number); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2330 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2346 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2326 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2318 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2334 + def length; end + + # Returns the value of attribute number. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2312 + def number; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2338 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2342 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2322 + def to_a(_iseq); end +end + +# ### Summary +# +# `newarraykwsplat` is a specialized version of `newarray` that takes a ** +# splat argument. It pops `number` values off the stack and pushes the array +# onto the stack. +# +# ### Usage +# +# ~~~ruby +# ["string", **{ foo: "bar" }] +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2363 +class SyntaxTree::YARV::NewArrayKwSplat < ::SyntaxTree::YARV::Instruction + # @return [NewArrayKwSplat] a new instance of NewArrayKwSplat + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2366 + def initialize(number); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2382 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2398 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2378 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2370 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2386 + def length; end + + # Returns the value of attribute number. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2364 + def number; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2390 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2394 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2374 + def to_a(_iseq); end +end + +# ### Summary +# +# `newhash` puts a new hash onto the stack, using `number` elements from the +# stack. `number` needs to be even. It pops `number` elements off the stack +# and pushes a hash onto the stack. +# +# ### Usage +# +# ~~~ruby +# def foo(key, value) +# { key => value } +# end +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2417 +class SyntaxTree::YARV::NewHash < ::SyntaxTree::YARV::Instruction + # @return [NewHash] a new instance of NewHash + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2420 + def initialize(number); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2436 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2452 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2432 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2424 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2440 + def length; end + + # Returns the value of attribute number. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2418 + def number; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2444 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2448 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2428 + def to_a(_iseq); end +end + +# ### Summary +# +# `newrange` creates a new range object from the top two values on the +# stack. It pops both of them off, and then pushes on the new range. It +# takes one argument which is 0 if the end is included or 1 if the end value +# is excluded. +# +# ### Usage +# +# ~~~ruby +# x = 0 +# y = 1 +# p (x..y), (x...y) +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2472 +class SyntaxTree::YARV::NewRange < ::SyntaxTree::YARV::Instruction + # @return [NewRange] a new instance of NewRange + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2475 + def initialize(exclude_end); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2491 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2507 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2487 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2479 + def disasm(fmt); end + + # Returns the value of attribute exclude_end. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2473 + def exclude_end; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2495 + def length; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2499 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2503 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2483 + def to_a(_iseq); end +end + +# ### Summary +# +# `nop` is a no-operation instruction. It is used to pad the instruction +# sequence so there is a place for other instructions to jump to. +# +# ### Usage +# +# ~~~ruby +# raise rescue true +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2523 +class SyntaxTree::YARV::Nop < ::SyntaxTree::YARV::Instruction + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2536 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2540 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2532 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2524 + def disasm(fmt); end + + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2543 + def side_effects?; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2528 + def to_a(_iseq); end +end + +# ### Summary +# +# `objtostring` pops a value from the stack, calls `to_s` on that value and +# then pushes the result back to the stack. +# +# It has various fast paths for classes like String, Symbol, Module, Class, +# etc. For everything else it calls `to_s`. +# +# ### Usage +# +# ~~~ruby +# "#{5}" +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2562 +class SyntaxTree::YARV::ObjToString < ::SyntaxTree::YARV::Instruction + # @return [ObjToString] a new instance of ObjToString + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2565 + def initialize(calldata); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2581 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2597 + def call(vm); end + + # Returns the value of attribute calldata. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2563 + def calldata; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2577 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2569 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2585 + def length; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2589 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2593 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2573 + def to_a(_iseq); end +end + +# ### Summary +# +# `once` is an instruction that wraps an instruction sequence and ensures +# that is it only ever executed once for the lifetime of the program. It +# uses a cache to ensure that it is only executed once. It pushes the result +# of running the instruction sequence onto the stack. +# +# ### Usage +# +# ~~~ruby +# END { puts "END" } +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2615 +class SyntaxTree::YARV::Once < ::SyntaxTree::YARV::Instruction + # @return [Once] a new instance of Once + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2618 + def initialize(iseq, cache); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2636 + def ==(other); end + + # Returns the value of attribute cache. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2616 + def cache; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2648 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2632 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2623 + def disasm(fmt); end + + # Returns the value of attribute iseq. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2616 + def iseq; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2640 + def length; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2644 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2628 + def to_a(_iseq); end +end + +# ### Summary +# +# `opt_and` is a specialization of the `opt_send_without_block` instruction +# that occurs when the `&` operator is used. There is a fast path for if +# both operands are integers. It pops both the receiver and the argument off +# the stack and pushes on the result. +# +# ### Usage +# +# ~~~ruby +# 2 & 3 +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2668 +class SyntaxTree::YARV::OptAnd < ::SyntaxTree::YARV::Instruction + # @return [OptAnd] a new instance of OptAnd + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2671 + def initialize(calldata); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2687 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2707 + def call(vm); end + + # Returns the value of attribute calldata. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2669 + def calldata; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2703 + def canonical; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2683 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2675 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2691 + def length; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2695 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2699 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2679 + def to_a(_iseq); end +end + +# ### Summary +# +# `opt_aref` is a specialization of the `opt_send_without_block` instruction +# that occurs when the `[]` operator is used. There are fast paths if the +# receiver is an integer, array, or hash. +# +# ### Usage +# +# ~~~ruby +# 7[2] +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2724 +class SyntaxTree::YARV::OptAref < ::SyntaxTree::YARV::Instruction + # @return [OptAref] a new instance of OptAref + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2727 + def initialize(calldata); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2743 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2763 + def call(vm); end + + # Returns the value of attribute calldata. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2725 + def calldata; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2759 + def canonical; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2739 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2731 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2747 + def length; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2751 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2755 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2735 + def to_a(_iseq); end +end + +# ### Summary +# +# `opt_aref_with` is a specialization of the `opt_aref` instruction that +# occurs when the `[]` operator is used with a string argument known at +# compile time. There are fast paths if the receiver is a hash. It pops the +# receiver off the stack and pushes on the result. +# +# ### Usage +# +# ~~~ruby +# { 'test' => true }['test'] +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2781 +class SyntaxTree::YARV::OptArefWith < ::SyntaxTree::YARV::Instruction + # @return [OptArefWith] a new instance of OptArefWith + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2784 + def initialize(object, calldata); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2804 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2821 + def call(vm); end + + # Returns the value of attribute calldata. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2782 + def calldata; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2800 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2789 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2809 + def length; end + + # Returns the value of attribute object. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2782 + def object; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2813 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2817 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2796 + def to_a(_iseq); end +end + +# ### Summary +# +# `opt_aset` is an instruction for setting the hash value by the key in +# the `recv[obj] = set` format. It is a specialization of the +# `opt_send_without_block` instruction. It pops the receiver, the key, and +# the value off the stack and pushes on the result. +# +# ### Usage +# +# ~~~ruby +# {}[:key] = value +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2839 +class SyntaxTree::YARV::OptAset < ::SyntaxTree::YARV::Instruction + # @return [OptAset] a new instance of OptAset + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2842 + def initialize(calldata); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2858 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2878 + def call(vm); end + + # Returns the value of attribute calldata. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2840 + def calldata; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2874 + def canonical; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2854 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2846 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2862 + def length; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2866 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2870 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2850 + def to_a(_iseq); end +end + +# ### Summary +# +# `opt_aset_with` is an instruction for setting the hash value by the known +# string key in the `recv[obj] = set` format. It pops the receiver and the +# value off the stack and pushes on the result. +# +# ### Usage +# +# ~~~ruby +# {}["key"] = value +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2895 +class SyntaxTree::YARV::OptAsetWith < ::SyntaxTree::YARV::Instruction + # @return [OptAsetWith] a new instance of OptAsetWith + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2898 + def initialize(object, calldata); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2918 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2935 + def call(vm); end + + # Returns the value of attribute calldata. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2896 + def calldata; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2914 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2903 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2923 + def length; end + + # Returns the value of attribute object. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2896 + def object; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2927 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2931 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2910 + def to_a(_iseq); end +end + +# ### Summary +# +# `opt_case_dispatch` is a branch instruction that moves the control flow +# for case statements that have clauses where they can all be used as hash +# keys for an internal hash. +# +# It has two arguments: the `case_dispatch_hash` and an `else_label`. It +# pops one value off the stack: a hash key. `opt_case_dispatch` looks up the +# key in the `case_dispatch_hash` and jumps to the corresponding label if +# there is one. If there is no value in the `case_dispatch_hash`, +# `opt_case_dispatch` jumps to the `else_label` index. +# +# ### Usage +# +# ~~~ruby +# case 1 +# when 1 +# puts "foo" +# else +# puts "bar" +# end +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2964 +class SyntaxTree::YARV::OptCaseDispatch < ::SyntaxTree::YARV::Instruction + # @return [OptCaseDispatch] a new instance of OptCaseDispatch + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2967 + def initialize(case_dispatch_hash, else_label); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2991 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3009 + def branch_targets; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3005 + def call(vm); end + + # Returns the value of attribute case_dispatch_hash. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2965 + def case_dispatch_hash; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2987 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2972 + def disasm(fmt); end + + # Returns the value of attribute else_label. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2965 + def else_label; end + + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3013 + def falls_through?; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2997 + def length; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3001 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#2979 + def to_a(_iseq); end +end + +# ### Summary +# +# `opt_div` is a specialization of the `opt_send_without_block` instruction +# that occurs when the `/` operator is used. There are fast paths for if +# both operands are integers, or if both operands are floats. It pops both +# the receiver and the argument off the stack and pushes on the result. +# +# ### Usage +# +# ~~~ruby +# 2 / 3 +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3031 +class SyntaxTree::YARV::OptDiv < ::SyntaxTree::YARV::Instruction + # @return [OptDiv] a new instance of OptDiv + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3034 + def initialize(calldata); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3050 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3070 + def call(vm); end + + # Returns the value of attribute calldata. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3032 + def calldata; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3066 + def canonical; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3046 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3038 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3054 + def length; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3058 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3062 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3042 + def to_a(_iseq); end +end + +# ### Summary +# +# `opt_empty_p` is an optimization applied when the method `empty?` is +# called. It pops the receiver off the stack and pushes on the result of the +# method call. +# +# ### Usage +# +# ~~~ruby +# "".empty? +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3087 +class SyntaxTree::YARV::OptEmptyP < ::SyntaxTree::YARV::Instruction + # @return [OptEmptyP] a new instance of OptEmptyP + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3090 + def initialize(calldata); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3106 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3126 + def call(vm); end + + # Returns the value of attribute calldata. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3088 + def calldata; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3122 + def canonical; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3102 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3094 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3110 + def length; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3114 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3118 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3098 + def to_a(_iseq); end +end + +# ### Summary +# +# `opt_eq` is a specialization of the `opt_send_without_block` instruction +# that occurs when the == operator is used. Fast paths exist when both +# operands are integers, floats, symbols or strings. It pops both the +# receiver and the argument off the stack and pushes on the result. +# +# ### Usage +# +# ~~~ruby +# 2 == 2 +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3144 +class SyntaxTree::YARV::OptEq < ::SyntaxTree::YARV::Instruction + # @return [OptEq] a new instance of OptEq + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3147 + def initialize(calldata); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3163 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3183 + def call(vm); end + + # Returns the value of attribute calldata. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3145 + def calldata; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3179 + def canonical; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3159 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3151 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3167 + def length; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3171 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3175 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3155 + def to_a(_iseq); end +end + +# ### Summary +# +# `opt_ge` is a specialization of the `opt_send_without_block` instruction +# that occurs when the >= operator is used. Fast paths exist when both +# operands are integers or floats. It pops both the receiver and the +# argument off the stack and pushes on the result. +# +# ### Usage +# +# ~~~ruby +# 4 >= 3 +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3201 +class SyntaxTree::YARV::OptGE < ::SyntaxTree::YARV::Instruction + # @return [OptGE] a new instance of OptGE + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3204 + def initialize(calldata); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3220 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3240 + def call(vm); end + + # Returns the value of attribute calldata. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3202 + def calldata; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3236 + def canonical; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3216 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3208 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3224 + def length; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3228 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3232 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3212 + def to_a(_iseq); end +end + +# ### Summary +# +# `opt_gt` is a specialization of the `opt_send_without_block` instruction +# that occurs when the > operator is used. Fast paths exist when both +# operands are integers or floats. It pops both the receiver and the +# argument off the stack and pushes on the result. +# +# ### Usage +# +# ~~~ruby +# 4 > 3 +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3314 +class SyntaxTree::YARV::OptGT < ::SyntaxTree::YARV::Instruction + # @return [OptGT] a new instance of OptGT + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3317 + def initialize(calldata); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3333 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3353 + def call(vm); end + + # Returns the value of attribute calldata. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3315 + def calldata; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3349 + def canonical; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3329 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3321 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3337 + def length; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3341 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3345 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3325 + def to_a(_iseq); end +end + +# ### Summary +# +# `opt_getconstant_path` performs a constant lookup on a chain of constant +# names. It accepts as its argument an array of constant names, and pushes +# the value of the constant onto the stack. +# +# ### Usage +# +# ~~~ruby +# ::Object +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3257 +class SyntaxTree::YARV::OptGetConstantPath < ::SyntaxTree::YARV::Instruction + # @return [OptGetConstantPath] a new instance of OptGetConstantPath + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3260 + def initialize(names); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3277 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3289 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3273 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3264 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3281 + def length; end + + # Returns the value of attribute names. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3258 + def names; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3285 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3269 + def to_a(_iseq); end +end + +# ### Summary +# +# `opt_le` is a specialization of the `opt_send_without_block` instruction +# that occurs when the <= operator is used. Fast paths exist when both +# operands are integers or floats. It pops both the receiver and the +# argument off the stack and pushes on the result. +# +# ### Usage +# +# ~~~ruby +# 3 <= 4 +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3371 +class SyntaxTree::YARV::OptLE < ::SyntaxTree::YARV::Instruction + # @return [OptLE] a new instance of OptLE + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3374 + def initialize(calldata); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3390 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3410 + def call(vm); end + + # Returns the value of attribute calldata. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3372 + def calldata; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3406 + def canonical; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3386 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3378 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3394 + def length; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3398 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3402 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3382 + def to_a(_iseq); end +end + +# ### Summary +# +# `opt_lt` is a specialization of the `opt_send_without_block` instruction +# that occurs when the < operator is used. Fast paths exist when both +# operands are integers or floats. It pops both the receiver and the +# argument off the stack and pushes on the result. +# +# ### Usage +# +# ~~~ruby +# 3 < 4 +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3485 +class SyntaxTree::YARV::OptLT < ::SyntaxTree::YARV::Instruction + # @return [OptLT] a new instance of OptLT + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3488 + def initialize(calldata); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3504 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3524 + def call(vm); end + + # Returns the value of attribute calldata. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3486 + def calldata; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3520 + def canonical; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3500 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3492 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3508 + def length; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3512 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3516 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3496 + def to_a(_iseq); end +end + +# ### Summary +# +# `opt_ltlt` is a specialization of the `opt_send_without_block` instruction +# that occurs when the `<<` operator is used. Fast paths exists when the +# receiver is either a String or an Array. It pops both the receiver and the +# argument off the stack and pushes on the result. +# +# ### Usage +# +# ~~~ruby +# "" << 2 +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3542 +class SyntaxTree::YARV::OptLTLT < ::SyntaxTree::YARV::Instruction + # @return [OptLTLT] a new instance of OptLTLT + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3545 + def initialize(calldata); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3561 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3581 + def call(vm); end + + # Returns the value of attribute calldata. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3543 + def calldata; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3577 + def canonical; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3557 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3549 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3565 + def length; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3569 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3573 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3553 + def to_a(_iseq); end +end + +# ### Summary +# +# `opt_length` is a specialization of `opt_send_without_block`, when the +# `length` method is called. There are fast paths when the receiver is +# either a string, hash, or array. It pops the receiver off the stack and +# pushes on the result of the method call. +# +# ### Usage +# +# ~~~ruby +# "".length +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3428 +class SyntaxTree::YARV::OptLength < ::SyntaxTree::YARV::Instruction + # @return [OptLength] a new instance of OptLength + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3431 + def initialize(calldata); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3447 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3467 + def call(vm); end + + # Returns the value of attribute calldata. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3429 + def calldata; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3463 + def canonical; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3443 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3435 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3451 + def length; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3455 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3459 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3439 + def to_a(_iseq); end +end + +# ### Summary +# +# `opt_minus` is a specialization of the `opt_send_without_block` +# instruction that occurs when the `-` operator is used. There are fast +# paths for if both operands are integers or if both operands are floats. It +# pops both the receiver and the argument off the stack and pushes on the +# result. +# +# ### Usage +# +# ~~~ruby +# 3 - 2 +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3600 +class SyntaxTree::YARV::OptMinus < ::SyntaxTree::YARV::Instruction + # @return [OptMinus] a new instance of OptMinus + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3603 + def initialize(calldata); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3619 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3639 + def call(vm); end + + # Returns the value of attribute calldata. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3601 + def calldata; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3635 + def canonical; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3615 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3607 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3623 + def length; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3627 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3631 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3611 + def to_a(_iseq); end +end + +# ### Summary +# +# `opt_mod` is a specialization of the `opt_send_without_block` instruction +# that occurs when the `%` operator is used. There are fast paths for if +# both operands are integers or if both operands are floats. It pops both +# the receiver and the argument off the stack and pushes on the result. +# +# ### Usage +# +# ~~~ruby +# 4 % 2 +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3657 +class SyntaxTree::YARV::OptMod < ::SyntaxTree::YARV::Instruction + # @return [OptMod] a new instance of OptMod + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3660 + def initialize(calldata); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3676 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3696 + def call(vm); end + + # Returns the value of attribute calldata. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3658 + def calldata; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3692 + def canonical; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3672 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3664 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3680 + def length; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3684 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3688 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3668 + def to_a(_iseq); end +end + +# ### Summary +# +# `opt_mult` is a specialization of the `opt_send_without_block` instruction +# that occurs when the `*` operator is used. There are fast paths for if +# both operands are integers or floats. It pops both the receiver and the +# argument off the stack and pushes on the result. +# +# ### Usage +# +# ~~~ruby +# 3 * 2 +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3714 +class SyntaxTree::YARV::OptMult < ::SyntaxTree::YARV::Instruction + # @return [OptMult] a new instance of OptMult + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3717 + def initialize(calldata); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3733 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3753 + def call(vm); end + + # Returns the value of attribute calldata. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3715 + def calldata; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3749 + def canonical; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3729 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3721 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3737 + def length; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3741 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3745 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3725 + def to_a(_iseq); end +end + +# ### Summary +# +# `opt_neq` is an optimization that tests whether two values at the top of +# the stack are not equal by testing their equality and calling the `!` on +# the result. This allows `opt_neq` to use the fast paths optimized in +# `opt_eq` when both operands are Integers, Floats, Symbols, or Strings. It +# pops both the receiver and the argument off the stack and pushes on the +# result. +# +# ### Usage +# +# ~~~ruby +# 2 != 2 +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3773 +class SyntaxTree::YARV::OptNEq < ::SyntaxTree::YARV::Instruction + # @return [OptNEq] a new instance of OptNEq + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3776 + def initialize(eq_calldata, neq_calldata); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3796 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3813 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3792 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3781 + def disasm(fmt); end + + # Returns the value of attribute eq_calldata. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3774 + def eq_calldata; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3801 + def length; end + + # Returns the value of attribute neq_calldata. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3774 + def neq_calldata; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3805 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3809 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3788 + def to_a(_iseq); end +end + +# ### Summary +# +# `opt_newarray_max` is a specialization that occurs when the `max` method +# is called on an array literal. It pops the values of the array off the +# stack and pushes on the result. +# +# ### Usage +# +# ~~~ruby +# [a, b, c].max +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3831 +class SyntaxTree::YARV::OptNewArrayMax < ::SyntaxTree::YARV::Instruction + # @return [OptNewArrayMax] a new instance of OptNewArrayMax + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3834 + def initialize(number); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3850 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3866 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3846 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3838 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3854 + def length; end + + # Returns the value of attribute number. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3832 + def number; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3858 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3862 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3842 + def to_a(_iseq); end +end + +# ### Summary +# +# `opt_newarray_min` is a specialization that occurs when the `min` method +# is called on an array literal. It pops the values of the array off the +# stack and pushes on the result. +# +# ### Usage +# +# ~~~ruby +# [a, b, c].min +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3883 +class SyntaxTree::YARV::OptNewArrayMin < ::SyntaxTree::YARV::Instruction + # @return [OptNewArrayMin] a new instance of OptNewArrayMin + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3886 + def initialize(number); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3902 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3918 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3898 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3890 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3906 + def length; end + + # Returns the value of attribute number. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3884 + def number; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3910 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3914 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3894 + def to_a(_iseq); end +end + +# ### Summary +# +# `opt_nil_p` is an optimization applied when the method `nil?` is called. +# It returns true immediately when the receiver is `nil` and defers to the +# `nil?` method in other cases. It pops the receiver off the stack and +# pushes on the result. +# +# ### Usage +# +# ~~~ruby +# "".nil? +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3936 +class SyntaxTree::YARV::OptNilP < ::SyntaxTree::YARV::Instruction + # @return [OptNilP] a new instance of OptNilP + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3939 + def initialize(calldata); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3955 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3975 + def call(vm); end + + # Returns the value of attribute calldata. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3937 + def calldata; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3971 + def canonical; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3951 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3943 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3959 + def length; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3963 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3967 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3947 + def to_a(_iseq); end +end + +# ### Summary +# +# `opt_not` negates the value on top of the stack by calling the `!` method +# on it. It pops the receiver off the stack and pushes on the result. +# +# ### Usage +# +# ~~~ruby +# !true +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3991 +class SyntaxTree::YARV::OptNot < ::SyntaxTree::YARV::Instruction + # @return [OptNot] a new instance of OptNot + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3994 + def initialize(calldata); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4010 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4030 + def call(vm); end + + # Returns the value of attribute calldata. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3992 + def calldata; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4026 + def canonical; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4006 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3998 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4014 + def length; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4018 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4022 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4002 + def to_a(_iseq); end +end + +# ### Summary +# +# `opt_or` is a specialization of the `opt_send_without_block` instruction +# that occurs when the `|` operator is used. There is a fast path for if +# both operands are integers. It pops both the receiver and the argument off +# the stack and pushes on the result. +# +# ### Usage +# +# ~~~ruby +# 2 | 3 +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4048 +class SyntaxTree::YARV::OptOr < ::SyntaxTree::YARV::Instruction + # @return [OptOr] a new instance of OptOr + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4051 + def initialize(calldata); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4067 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4087 + def call(vm); end + + # Returns the value of attribute calldata. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4049 + def calldata; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4083 + def canonical; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4063 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4055 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4071 + def length; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4075 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4079 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4059 + def to_a(_iseq); end +end + +# ### Summary +# +# `opt_plus` is a specialization of the `opt_send_without_block` instruction +# that occurs when the `+` operator is used. There are fast paths for if +# both operands are integers, floats, strings, or arrays. It pops both the +# receiver and the argument off the stack and pushes on the result. +# +# ### Usage +# +# ~~~ruby +# 2 + 3 +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4105 +class SyntaxTree::YARV::OptPlus < ::SyntaxTree::YARV::Instruction + # @return [OptPlus] a new instance of OptPlus + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4108 + def initialize(calldata); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4124 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4144 + def call(vm); end + + # Returns the value of attribute calldata. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4106 + def calldata; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4140 + def canonical; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4120 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4112 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4128 + def length; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4132 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4136 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4116 + def to_a(_iseq); end +end + +# ### Summary +# +# `opt_regexpmatch2` is a specialization of the `opt_send_without_block` +# instruction that occurs when the `=~` operator is used. It pops both the +# receiver and the argument off the stack and pushes on the result. +# +# ### Usage +# +# ~~~ruby +# /a/ =~ "a" +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4161 +class SyntaxTree::YARV::OptRegExpMatch2 < ::SyntaxTree::YARV::Instruction + # @return [OptRegExpMatch2] a new instance of OptRegExpMatch2 + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4164 + def initialize(calldata); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4180 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4200 + def call(vm); end + + # Returns the value of attribute calldata. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4162 + def calldata; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4196 + def canonical; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4176 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4168 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4184 + def length; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4188 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4192 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4172 + def to_a(_iseq); end +end + +# ### Summary +# +# `opt_send_without_block` is a specialization of the send instruction that +# occurs when a method is being called without a block. It pops the receiver +# and the arguments off the stack and pushes on the result. +# +# ### Usage +# +# ~~~ruby +# puts "Hello, world!" +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4217 +class SyntaxTree::YARV::OptSendWithoutBlock < ::SyntaxTree::YARV::Instruction + # @return [OptSendWithoutBlock] a new instance of OptSendWithoutBlock + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4220 + def initialize(calldata); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4236 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4256 + def call(vm); end + + # Returns the value of attribute calldata. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4218 + def calldata; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4252 + def canonical; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4232 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4224 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4240 + def length; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4244 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4248 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4228 + def to_a(_iseq); end +end + +# ### Summary +# +# `opt_size` is a specialization of `opt_send_without_block`, when the +# `size` method is called. There are fast paths when the receiver is either +# a string, hash, or array. It pops the receiver off the stack and pushes on +# the result. +# +# ### Usage +# +# ~~~ruby +# "".size +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4274 +class SyntaxTree::YARV::OptSize < ::SyntaxTree::YARV::Instruction + # @return [OptSize] a new instance of OptSize + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4277 + def initialize(calldata); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4293 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4313 + def call(vm); end + + # Returns the value of attribute calldata. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4275 + def calldata; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4309 + def canonical; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4289 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4281 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4297 + def length; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4301 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4305 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4285 + def to_a(_iseq); end +end + +# ### Summary +# +# `opt_str_freeze` pushes a frozen known string value with no interpolation +# onto the stack using the #freeze method. If the method gets overridden, +# this will fall back to a send. +# +# ### Usage +# +# ~~~ruby +# "hello".freeze +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4330 +class SyntaxTree::YARV::OptStrFreeze < ::SyntaxTree::YARV::Instruction + # @return [OptStrFreeze] a new instance of OptStrFreeze + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4333 + def initialize(object, calldata); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4353 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4366 + def call(vm); end + + # Returns the value of attribute calldata. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4331 + def calldata; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4349 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4338 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4358 + def length; end + + # Returns the value of attribute object. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4331 + def object; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4362 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4345 + def to_a(_iseq); end +end + +# ### Summary +# +# `opt_str_uminus` pushes a frozen known string value with no interpolation +# onto the stack. If the method gets overridden, this will fall back to a +# send. +# +# ### Usage +# +# ~~~ruby +# -"string" +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4383 +class SyntaxTree::YARV::OptStrUMinus < ::SyntaxTree::YARV::Instruction + # @return [OptStrUMinus] a new instance of OptStrUMinus + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4386 + def initialize(object, calldata); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4406 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4419 + def call(vm); end + + # Returns the value of attribute calldata. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4384 + def calldata; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4402 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4391 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4411 + def length; end + + # Returns the value of attribute object. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4384 + def object; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4415 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4398 + def to_a(_iseq); end +end + +# ### Summary +# +# `opt_succ` is a specialization of the `opt_send_without_block` instruction +# when the method being called is `succ`. Fast paths exist when the receiver +# is either a String or a Fixnum. It pops the receiver off the stack and +# pushes on the result. +# +# ### Usage +# +# ~~~ruby +# "".succ +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4437 +class SyntaxTree::YARV::OptSucc < ::SyntaxTree::YARV::Instruction + # @return [OptSucc] a new instance of OptSucc + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4440 + def initialize(calldata); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4456 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4476 + def call(vm); end + + # Returns the value of attribute calldata. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4438 + def calldata; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4472 + def canonical; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4452 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4444 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4460 + def length; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4464 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4468 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4448 + def to_a(_iseq); end +end + +# ### Summary +# +# `pop` pops the top value off the stack. +# +# ### Usage +# +# ~~~ruby +# a ||= 2 +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4491 +class SyntaxTree::YARV::Pop < ::SyntaxTree::YARV::Instruction + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4504 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4512 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4500 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4492 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4508 + def pops; end + + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4516 + def side_effects?; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4496 + def to_a(_iseq); end +end + +# ### Summary +# +# `putnil` pushes a global nil object onto the stack. +# +# ### Usage +# +# ~~~ruby +# nil +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4531 +class SyntaxTree::YARV::PutNil < ::SyntaxTree::YARV::Instruction + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4544 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4556 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4552 + def canonical; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4540 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4532 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4548 + def pushes; end + + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4560 + def side_effects?; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4536 + def to_a(_iseq); end +end + +# ### Summary +# +# `putobject` pushes a known value onto the stack. +# +# ### Usage +# +# ~~~ruby +# 5 +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4575 +class SyntaxTree::YARV::PutObject < ::SyntaxTree::YARV::Instruction + # @return [PutObject] a new instance of PutObject + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4578 + def initialize(object); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4594 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4606 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4590 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4582 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4598 + def length; end + + # Returns the value of attribute object. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4576 + def object; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4602 + def pushes; end + + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4610 + def side_effects?; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4586 + def to_a(_iseq); end +end + +# ### Summary +# +# `putobject_INT2FIX_0_` pushes 0 on the stack. It is a specialized +# instruction resulting from the operand unification optimization. It is +# equivalent to `putobject 0`. +# +# ### Usage +# +# ~~~ruby +# 0 +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4627 +class SyntaxTree::YARV::PutObjectInt2Fix0 < ::SyntaxTree::YARV::Instruction + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4640 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4652 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4648 + def canonical; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4636 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4628 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4644 + def pushes; end + + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4656 + def side_effects?; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4632 + def to_a(_iseq); end +end + +# ### Summary +# +# `putobject_INT2FIX_1_` pushes 1 on the stack. It is a specialized +# instruction resulting from the operand unification optimization. It is +# equivalent to `putobject 1`. +# +# ### Usage +# +# ~~~ruby +# 1 +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4673 +class SyntaxTree::YARV::PutObjectInt2Fix1 < ::SyntaxTree::YARV::Instruction + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4686 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4698 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4694 + def canonical; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4682 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4674 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4690 + def pushes; end + + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4702 + def side_effects?; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4678 + def to_a(_iseq); end +end + +# ### Summary +# +# `putself` pushes the current value of self onto the stack. +# +# ### Usage +# +# ~~~ruby +# puts "Hello, world!" +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4717 +class SyntaxTree::YARV::PutSelf < ::SyntaxTree::YARV::Instruction + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4730 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4738 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4726 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4718 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4734 + def pushes; end + + # @return [Boolean] + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4742 + def side_effects?; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4722 + def to_a(_iseq); end +end + +# ### Summary +# +# `putspecialobject` pushes one of three special objects onto the stack. +# These are either the VM core special object, the class base special +# object, or the constant base special object. +# +# ### Usage +# +# ~~~ruby +# alias foo bar +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4759 +class SyntaxTree::YARV::PutSpecialObject < ::SyntaxTree::YARV::Instruction + # @return [PutSpecialObject] a new instance of PutSpecialObject + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4766 + def initialize(object); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4782 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4794 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4778 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4770 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4786 + def length; end + + # Returns the value of attribute object. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4764 + def object; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4790 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4774 + def to_a(_iseq); end +end + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4761 +SyntaxTree::YARV::PutSpecialObject::OBJECT_CBASE = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4762 +SyntaxTree::YARV::PutSpecialObject::OBJECT_CONST_BASE = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4760 +SyntaxTree::YARV::PutSpecialObject::OBJECT_VMCORE = T.let(T.unsafe(nil), Integer) + +# ### Summary +# +# `putstring` pushes an unfrozen string literal onto the stack. +# +# ### Usage +# +# ~~~ruby +# "foo" +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4818 +class SyntaxTree::YARV::PutString < ::SyntaxTree::YARV::Instruction + # @return [PutString] a new instance of PutString + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4821 + def initialize(object); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4837 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4849 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4833 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4825 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4841 + def length; end + + # Returns the value of attribute object. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4819 + def object; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4845 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4829 + def to_a(_iseq); end +end + +# A sea of nodes is an intermediate representation used by a compiler to +# represent both control and data flow in the same graph. The way we use it +# allows us to have the vertices of the graph represent either an +# instruction in the instruction sequence or a synthesized node that we add +# to the graph. The edges of the graph represent either control flow or data +# flow. +# +# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#11 +class SyntaxTree::YARV::SeaOfNodes + # @return [SeaOfNodes] a new instance of SeaOfNodes + # + # source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#462 + def initialize(dfg, nodes, local_graphs); end + + # Returns the value of attribute dfg. + # + # source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#460 + def dfg; end + + # Returns the value of attribute local_graphs. + # + # source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#460 + def local_graphs; end + + # Returns the value of attribute nodes. + # + # source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#460 + def nodes; end + + # source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#468 + def to_mermaid; end + + # source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#499 + def verify; end + + class << self + # source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#529 + def compile(dfg); end + end +end + +# The compiler is responsible for taking a data flow graph and turning it +# into a sea of nodes. +# +# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#100 +class SyntaxTree::YARV::SeaOfNodes::Compiler + # @return [Compiler] a new instance of Compiler + # + # source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#103 + def initialize(dfg); end + + # source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#113 + def compile; end + + # Returns the value of attribute dfg. + # + # source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#101 + def dfg; end + + # Returns the value of attribute nodes. + # + # source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#101 + def nodes; end + + private + + # Eliminate as many unnecessary nodes as we can. + # + # source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#339 + def cleanup_insn_nodes; end + + # We don't always build things in an optimal way. Go back and fix up + # some mess we left. Ideally we wouldn't create these problems in the + # first place. + # + # source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#315 + def cleanup_phi_nodes; end + + # Connect one node to another. + # + # source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#423 + def connect(from, to, type, label = T.unsafe(nil)); end + + # Connect control flow that flows between basic blocks. + # + # source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#246 + def connect_local_graphs_control(local_graphs); end + + # Connect data flow that flows between basic blocks. + # + # source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#271 + def connect_local_graphs_data(local_graphs); end + + # Connect all of the inputs to all of the outputs of a node. + # + # source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#433 + def connect_over(node); end + + # Create a sub-graph for a single basic block - block block argument + # inputs and outputs will be left dangling, to be connected later. + # + # source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#136 + def create_local_graph(block); end + + # Counter for synthetic nodes. + # + # source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#130 + def id_counter; end + + # Remove a node from the graph. + # + # source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#447 + def remove(node); end +end + +# The edge of a graph represents either control flow or data flow. +# +# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#67 +class SyntaxTree::YARV::SeaOfNodes::Edge + # @return [Edge] a new instance of Edge + # + # source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#75 + def initialize(from, to, type, label); end + + # Returns the value of attribute from. + # + # source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#70 + def from; end + + # Returns the value of attribute label. + # + # source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#73 + def label; end + + # Returns the value of attribute to. + # + # source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#71 + def to; end + + # Returns the value of attribute type. + # + # source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#72 + def type; end +end + +# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#68 +SyntaxTree::YARV::SeaOfNodes::Edge::TYPES = T.let(T.unsafe(nil), Array) + +# This object represents a node in the graph that holds a YARV +# instruction. +# +# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#14 +class SyntaxTree::YARV::SeaOfNodes::InsnNode + # @return [InsnNode] a new instance of InsnNode + # + # source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#17 + def initialize(insn, offset); end + + # source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#25 + def id; end + + # Returns the value of attribute inputs. + # + # source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#15 + def inputs; end + + # Returns the value of attribute insn. + # + # source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#15 + def insn; end + + # source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#29 + def label; end + + # Returns the value of attribute offset. + # + # source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#15 + def offset; end + + # Returns the value of attribute outputs. + # + # source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#15 + def outputs; end +end + +# Merge nodes are present in any block that has multiple incoming blocks. +# It provides a place for Phi nodes to attach their results. +# +# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#52 +class SyntaxTree::YARV::SeaOfNodes::MergeNode + # @return [MergeNode] a new instance of MergeNode + # + # source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#55 + def initialize(id); end + + # Returns the value of attribute id. + # + # source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#53 + def id; end + + # Returns the value of attribute inputs. + # + # source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#53 + def inputs; end + + # source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#61 + def label; end + + # Returns the value of attribute outputs. + # + # source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#53 + def outputs; end +end + +# Phi nodes are used to represent the merging of data flow from multiple +# incoming blocks. +# +# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#36 +class SyntaxTree::YARV::SeaOfNodes::PhiNode + # @return [PhiNode] a new instance of PhiNode + # + # source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#39 + def initialize(id); end + + # Returns the value of attribute id. + # + # source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#37 + def id; end + + # Returns the value of attribute inputs. + # + # source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#37 + def inputs; end + + # source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#45 + def label; end + + # Returns the value of attribute outputs. + # + # source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#37 + def outputs; end +end + +# A subgraph represents the local data and control flow of a single basic +# block. +# +# source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#87 +class SyntaxTree::YARV::SeaOfNodes::SubGraph + # @return [SubGraph] a new instance of SubGraph + # + # source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#90 + def initialize(first_fixed, last_fixed, inputs, outputs); end + + # Returns the value of attribute first_fixed. + # + # source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#88 + def first_fixed; end + + # Returns the value of attribute inputs. + # + # source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#88 + def inputs; end + + # Returns the value of attribute last_fixed. + # + # source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#88 + def last_fixed; end + + # Returns the value of attribute outputs. + # + # source://syntax_tree//lib/syntax_tree/yarv/sea_of_nodes.rb#88 + def outputs; end +end + +# ### Summary +# +# `send` invokes a method with an optional block. It pops its receiver and +# the arguments for the method off the stack and pushes the return value +# onto the stack. It has two arguments: the calldata for the call site and +# the optional block instruction sequence. +# +# ### Usage +# +# ~~~ruby +# "hello".tap { |i| p i } +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4867 +class SyntaxTree::YARV::Send < ::SyntaxTree::YARV::Instruction + # @return [Send] a new instance of Send + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4870 + def initialize(calldata, block_iseq); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4891 + def ==(other); end + + # Returns the value of attribute block_iseq. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4868 + def block_iseq; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4909 + def call(vm); end + + # Returns the value of attribute calldata. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4868 + def calldata; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4887 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4875 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4896 + def length; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4900 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4905 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4883 + def to_a(_iseq); end +end + +# ### Summary +# +# `setblockparam` sets the value of a block local variable on a frame +# determined by the level and index arguments. The level is the number of +# frames back to look and the index is the index in the local table. It pops +# the value it is setting off the stack. +# +# ### Usage +# +# ~~~ruby +# def foo(&bar) +# bar = baz +# end +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4951 +class SyntaxTree::YARV::SetBlockParam < ::SyntaxTree::YARV::Instruction + # @return [SetBlockParam] a new instance of SetBlockParam + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4954 + def initialize(index, level); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4973 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4986 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4969 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4959 + def disasm(fmt); end + + # Returns the value of attribute index. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4952 + def index; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4978 + def length; end + + # Returns the value of attribute level. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4952 + def level; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4982 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4963 + def to_a(iseq); end +end + +# ### Summary +# +# `setclassvariable` looks for a class variable in the current class and +# sets its value to the value it pops off the top of the stack. It uses an +# inline cache to reduce the need to lookup the class variable in the class +# hierarchy every time. +# +# ### Usage +# +# ~~~ruby +# @@class_variable = 1 +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5004 +class SyntaxTree::YARV::SetClassVariable < ::SyntaxTree::YARV::Instruction + # @return [SetClassVariable] a new instance of SetClassVariable + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5007 + def initialize(name, cache); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5027 + def ==(other); end + + # Returns the value of attribute cache. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5005 + def cache; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5040 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5023 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5012 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5032 + def length; end + + # Returns the value of attribute name. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5005 + def name; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5036 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5019 + def to_a(_iseq); end +end + +# ### Summary +# +# `setconstant` pops two values off the stack: the value to set the +# constant to and the constant base to set it in. +# +# ### Usage +# +# ~~~ruby +# Constant = 1 +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5058 +class SyntaxTree::YARV::SetConstant < ::SyntaxTree::YARV::Instruction + # @return [SetConstant] a new instance of SetConstant + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5061 + def initialize(name); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5077 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5089 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5073 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5065 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5081 + def length; end + + # Returns the value of attribute name. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5059 + def name; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5085 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5069 + def to_a(_iseq); end +end + +# ### Summary +# +# `setglobal` sets the value of a global variable to a value popped off the +# top of the stack. +# +# ### Usage +# +# ~~~ruby +# $global = 5 +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5106 +class SyntaxTree::YARV::SetGlobal < ::SyntaxTree::YARV::Instruction + # @return [SetGlobal] a new instance of SetGlobal + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5109 + def initialize(name); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5125 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5137 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5121 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5113 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5129 + def length; end + + # Returns the value of attribute name. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5107 + def name; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5133 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5117 + def to_a(_iseq); end +end + +# ### Summary +# +# `setinstancevariable` pops a value off the top of the stack and then sets +# the instance variable associated with the instruction to that value. +# +# This instruction has two forms, but both have the same structure. Before +# Ruby 3.2, the inline cache corresponded to both the get and set +# instructions and could be shared. Since Ruby 3.2, it uses object shapes +# instead so the caches are unique per instruction. +# +# ### Usage +# +# ~~~ruby +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5160 +class SyntaxTree::YARV::SetInstanceVariable < ::SyntaxTree::YARV::Instruction + # @return [SetInstanceVariable] a new instance of SetInstanceVariable + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5163 + def initialize(name, cache); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5183 + def ==(other); end + + # Returns the value of attribute cache. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5161 + def cache; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5196 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5179 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5168 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5188 + def length; end + + # Returns the value of attribute name. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5161 + def name; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5192 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5175 + def to_a(_iseq); end +end + +# ### Summary +# +# `setlocal` sets the value of a local variable on a frame determined by the +# level and index arguments. The level is the number of frames back to +# look and the index is the index in the local table. It pops the value it +# is setting off the stack. +# +# ### Usage +# +# ~~~ruby +# value = 5 +# tap { tap { value = 10 } } +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5216 +class SyntaxTree::YARV::SetLocal < ::SyntaxTree::YARV::Instruction + # @return [SetLocal] a new instance of SetLocal + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5219 + def initialize(index, level); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5238 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5250 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5234 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5224 + def disasm(fmt); end + + # Returns the value of attribute index. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5217 + def index; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5242 + def length; end + + # Returns the value of attribute level. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5217 + def level; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5246 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5228 + def to_a(iseq); end +end + +# ### Summary +# +# `setlocal_WC_0` is a specialized version of the `setlocal` instruction. It +# sets the value of a local variable on the current frame to the value at +# the top of the stack as determined by the index given as its only +# argument. +# +# ### Usage +# +# ~~~ruby +# value = 5 +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5268 +class SyntaxTree::YARV::SetLocalWC0 < ::SyntaxTree::YARV::Instruction + # @return [SetLocalWC0] a new instance of SetLocalWC0 + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5271 + def initialize(index); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5287 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5303 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5299 + def canonical; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5283 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5275 + def disasm(fmt); end + + # Returns the value of attribute index. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5269 + def index; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5291 + def length; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5295 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5279 + def to_a(iseq); end +end + +# ### Summary +# +# `setlocal_WC_1` is a specialized version of the `setlocal` instruction. It +# sets the value of a local variable on the parent frame to the value at the +# top of the stack as determined by the index given as its only argument. +# +# ### Usage +# +# ~~~ruby +# value = 5 +# self.then { value = 10 } +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5321 +class SyntaxTree::YARV::SetLocalWC1 < ::SyntaxTree::YARV::Instruction + # @return [SetLocalWC1] a new instance of SetLocalWC1 + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5324 + def initialize(index); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5340 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5356 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5352 + def canonical; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5336 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5328 + def disasm(fmt); end + + # Returns the value of attribute index. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5322 + def index; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5344 + def length; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5348 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5332 + def to_a(iseq); end +end + +# ### Summary +# +# `setn` sets a value in the stack to a value popped off the top of the +# stack. It then pushes that value onto the top of the stack as well. +# +# ### Usage +# +# ~~~ruby +# {}[:key] = 'val' +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5372 +class SyntaxTree::YARV::SetN < ::SyntaxTree::YARV::Instruction + # @return [SetN] a new instance of SetN + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5375 + def initialize(number); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5391 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5407 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5387 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5379 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5395 + def length; end + + # Returns the value of attribute number. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5373 + def number; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5399 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5403 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5383 + def to_a(_iseq); end +end + +# ### Summary +# +# `setspecial` pops a value off the top of the stack and sets a special +# local variable to that value. The special local variable is determined by +# the key given as its only argument. +# +# ### Usage +# +# ~~~ruby +# baz if (foo == 1) .. (bar == 1) +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5424 +class SyntaxTree::YARV::SetSpecial < ::SyntaxTree::YARV::Instruction + # @return [SetSpecial] a new instance of SetSpecial + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5427 + def initialize(key); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5443 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5455 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5439 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5431 + def disasm(fmt); end + + # Returns the value of attribute key. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5425 + def key; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5447 + def length; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5451 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5435 + def to_a(_iseq); end +end + +# ### Summary +# +# `splatarray` coerces the array object at the top of the stack into Array +# by calling `to_a`. It pushes a duplicate of the array if there is a flag, +# and the original array if there isn't one. +# +# ### Usage +# +# ~~~ruby +# x = *(5) +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5479 +class SyntaxTree::YARV::SplatArray < ::SyntaxTree::YARV::Instruction + # @return [SplatArray] a new instance of SplatArray + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5482 + def initialize(flag); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5498 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5514 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5494 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5486 + def disasm(fmt); end + + # Returns the value of attribute flag. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5480 + def flag; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5502 + def length; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5506 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5510 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5490 + def to_a(_iseq); end +end + +# ### Summary +# +# `swap` swaps the top two elements in the stack. +# +# ### TracePoint +# +# `swap` does not dispatch any events. +# +# ### Usage +# +# ~~~ruby +# !!defined?([[]]) +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5553 +class SyntaxTree::YARV::Swap < ::SyntaxTree::YARV::Instruction + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5566 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5578 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5562 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5554 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5570 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5574 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5558 + def to_a(_iseq); end +end + +# ### Summary +# +# `throw` pops a value off the top of the stack and throws it. It is caught +# using the instruction sequence's (or an ancestor's) catch table. It pushes +# on the result of throwing the value. +# +# ### Usage +# +# ~~~ruby +# [1, 2, 3].map { break 2 } +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5596 +class SyntaxTree::YARV::Throw < ::SyntaxTree::YARV::Instruction + # @return [Throw] a new instance of Throw + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5612 + def initialize(type); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5628 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5644 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5624 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5616 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5632 + def length; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5636 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5640 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5620 + def to_a(_iseq); end + + # Returns the value of attribute type. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5610 + def type; end + + private + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5671 + def error_backtrace(vm); end +end + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5599 +SyntaxTree::YARV::Throw::RUBY_TAG_BREAK = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5605 +SyntaxTree::YARV::Throw::RUBY_TAG_FATAL = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5600 +SyntaxTree::YARV::Throw::RUBY_TAG_NEXT = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5597 +SyntaxTree::YARV::Throw::RUBY_TAG_NONE = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5603 +SyntaxTree::YARV::Throw::RUBY_TAG_RAISE = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5602 +SyntaxTree::YARV::Throw::RUBY_TAG_REDO = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5601 +SyntaxTree::YARV::Throw::RUBY_TAG_RETRY = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5598 +SyntaxTree::YARV::Throw::RUBY_TAG_RETURN = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5604 +SyntaxTree::YARV::Throw::RUBY_TAG_THROW = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5607 +SyntaxTree::YARV::Throw::VM_THROW_NO_ESCAPE_FLAG = T.let(T.unsafe(nil), Integer) + +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5608 +SyntaxTree::YARV::Throw::VM_THROW_STATE_MASK = T.let(T.unsafe(nil), Integer) + +# ### Summary +# +# `toregexp` pops a number of values off the stack, combines them into a new +# regular expression, and pushes the new regular expression onto the stack. +# +# ### Usage +# +# ~~~ruby +# /foo #{bar}/ +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5746 +class SyntaxTree::YARV::ToRegExp < ::SyntaxTree::YARV::Instruction + # @return [ToRegExp] a new instance of ToRegExp + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5749 + def initialize(options, length); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5766 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5779 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5762 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5754 + def disasm(fmt); end + + # Returns the value of attribute length. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5747 + def length; end + + # Returns the value of attribute options. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5747 + def options; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5771 + def pops; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5775 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5758 + def to_a(_iseq); end +end + +# ### Summary +# +# `topn` pushes a single value onto the stack that is a copy of the value +# within the stack that is `number` of slots down from the top. +# +# ### Usage +# +# ~~~ruby +# case 3 +# when 1..5 +# puts "foo" +# end +# ~~~ +# +# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5699 +class SyntaxTree::YARV::TopN < ::SyntaxTree::YARV::Instruction + # @return [TopN] a new instance of TopN + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5702 + def initialize(number); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5718 + def ==(other); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5730 + def call(vm); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5714 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5706 + def disasm(fmt); end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5722 + def length; end + + # Returns the value of attribute number. + # + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5700 + def number; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5726 + def pushes; end + + # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5710 + def to_a(_iseq); end +end + +# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#8 +class SyntaxTree::YARV::VM + extend ::Forwardable + + # @return [VM] a new instance of VM + # + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#216 + def initialize(events = T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#623 + def catch(tag, &block); end + + # Helper methods for instructions + # + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#494 + def const_base; end + + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#610 + def eval(source, binding = T.unsafe(nil), filename = T.unsafe(nil), lineno = T.unsafe(nil)); end + + # Returns the value of attribute events. + # + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#209 + def events; end + + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#344 + def find_catch_entry(frame, type); end + + # Returns the value of attribute frame. + # + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#214 + def frame; end + + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#498 + def frame_at(level); end + + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#504 + def frame_svar; end + + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#510 + def frame_yield; end + + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#516 + def frozen_core; end + + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#520 + def jump(label); end + + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#524 + def leave; end + + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#606 + def load(filepath); end + + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#528 + def local_get(index, level); end + + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#532 + def local_set(index, level, value); end + + # source://forwardable/1.3.3/forwardable.rb#231 + def pop(*args, **_arg1, &block); end + + # source://forwardable/1.3.3/forwardable.rb#231 + def push(*args, **_arg1, &block); end + + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#598 + def require(filepath); end + + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#549 + def require_internal(filepath, loading: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#602 + def require_relative(filepath); end + + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#543 + def require_resolved(filepath); end + + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#360 + def run_block_frame(iseq, frame, *args, **kwargs, &block); end + + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#366 + def run_class_frame(iseq, clazz); end + + # Helper methods for frames + # + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#230 + def run_frame(frame); end + + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#370 + def run_method_frame(name, nesting, iseq, _self, *args, **kwargs, &block); end + + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#384 + def run_rescue_frame(iseq, frame, error); end + + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#356 + def run_top_frame(iseq); end + + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#391 + def setup_arguments(iseq, args, kwargs, block); end + + # Returns the value of attribute stack. + # + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#211 + def stack; end + + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#619 + def throw(tag, value = T.unsafe(nil)); end + + class << self + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#222 + def run(iseq); end + end +end + +# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#48 +class SyntaxTree::YARV::VM::BlockFrame < ::SyntaxTree::YARV::VM::Frame + # @return [BlockFrame] a new instance of BlockFrame + # + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#49 + def initialize(iseq, parent, stack_index); end +end + +# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#89 +class SyntaxTree::YARV::VM::BreakError < ::SyntaxTree::YARV::VM::ThrownError; end + +# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#64 +class SyntaxTree::YARV::VM::ClassFrame < ::SyntaxTree::YARV::VM::Frame + # @return [ClassFrame] a new instance of ClassFrame + # + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#65 + def initialize(iseq, parent, stack_index, _self); end +end + +# Methods for overriding runtime behavior +# +# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#540 +SyntaxTree::YARV::VM::DLEXT = T.let(T.unsafe(nil), String) + +# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#205 +SyntaxTree::YARV::VM::FROZEN_CORE = T.let(T.unsafe(nil), SyntaxTree::YARV::VM::FrozenCore) + +# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#25 +class SyntaxTree::YARV::VM::Frame + # @return [Frame] a new instance of Frame + # + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#29 + def initialize(iseq, parent, stack_index, _self, nesting); end + + # Returns the value of attribute _self. + # + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#26 + def _self; end + + # Returns the value of attribute iseq. + # + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#26 + def iseq; end + + # Returns the value of attribute line. + # + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#27 + def line; end + + # Sets the attribute line + # + # @param value the value to set the attribute line to. + # + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#27 + def line=(_arg0); end + + # Returns the value of attribute nesting. + # + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#26 + def nesting; end + + # Returns the value of attribute parent. + # + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#26 + def parent; end + + # Returns the value of attribute pc. + # + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#27 + def pc; end + + # Sets the attribute pc + # + # @param value the value to set the attribute pc to. + # + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#27 + def pc=(_arg0); end + + # Returns the value of attribute stack_index. + # + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#26 + def stack_index; end + + # Returns the value of attribute svars. + # + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#26 + def svars; end +end + +# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#95 +class SyntaxTree::YARV::VM::FrozenCore; end + +# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#9 +class SyntaxTree::YARV::VM::Jump + # @return [Jump] a new instance of Jump + # + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#12 + def initialize(label); end + + # Returns the value of attribute label. + # + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#10 + def label; end +end + +# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#17 +class SyntaxTree::YARV::VM::Leave + # @return [Leave] a new instance of Leave + # + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#20 + def initialize(value); end + + # Returns the value of attribute value. + # + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#18 + def value; end +end + +# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#54 +class SyntaxTree::YARV::VM::MethodFrame < ::SyntaxTree::YARV::VM::Frame + # @return [MethodFrame] a new instance of MethodFrame + # + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#57 + def initialize(iseq, nesting, parent, stack_index, _self, name, block); end + + # Returns the value of attribute block. + # + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#55 + def block; end + + # Returns the value of attribute name. + # + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#55 + def name; end +end + +# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#92 +class SyntaxTree::YARV::VM::NextError < ::SyntaxTree::YARV::VM::ThrownError; end + +# This is the main entrypoint for events firing in the VM, which allows +# us to implement tracing. +# +# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#122 +class SyntaxTree::YARV::VM::NullEvents + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#123 + def publish_frame_change(frame); end + + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#126 + def publish_instruction(iseq, insn); end + + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#129 + def publish_stack_change(stack); end + + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#132 + def publish_tracepoint(event); end +end + +# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#70 +class SyntaxTree::YARV::VM::RescueFrame < ::SyntaxTree::YARV::VM::Frame + # @return [RescueFrame] a new instance of RescueFrame + # + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#71 + def initialize(iseq, parent, stack_index); end +end + +# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#86 +class SyntaxTree::YARV::VM::ReturnError < ::SyntaxTree::YARV::VM::ThrownError; end + +# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#541 +SyntaxTree::YARV::VM::SOEXT = T.let(T.unsafe(nil), String) + +# This is a simple implementation of tracing that prints to STDOUT. +# +# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#137 +class SyntaxTree::YARV::VM::STDOUTEvents + # @return [STDOUTEvents] a new instance of STDOUTEvents + # + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#140 + def initialize; end + + # Returns the value of attribute disassembler. + # + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#138 + def disassembler; end + + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#144 + def publish_frame_change(frame); end + + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#148 + def publish_instruction(iseq, insn); end + + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#153 + def publish_stack_change(stack); end + + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#157 + def publish_tracepoint(event); end +end + +# This represents the global VM stack. It effectively is an array, but +# wraps mutating functions with instrumentation. +# +# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#164 +class SyntaxTree::YARV::VM::Stack + # @return [Stack] a new instance of Stack + # + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#167 + def initialize(events); end + + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#196 + def [](*_arg0, **_arg1, &_arg2); end + + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#200 + def []=(*_arg0, **_arg1, &_arg2); end + + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#172 + def concat(*_arg0, **_arg1, &_arg2); end + + # Returns the value of attribute events. + # + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#165 + def events; end + + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#176 + def last; end + + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#180 + def length; end + + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#188 + def pop(*_arg0, **_arg1, &_arg2); end + + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#184 + def push(*_arg0, **_arg1, &_arg2); end + + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#192 + def slice!(*_arg0, **_arg1, &_arg2); end + + # Returns the value of attribute values. + # + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#165 + def values; end +end + +# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#76 +class SyntaxTree::YARV::VM::ThrownError < ::StandardError + # @return [ThrownError] a new instance of ThrownError + # + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#79 + def initialize(value, backtrace); end + + # Returns the value of attribute value. + # + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#77 + def value; end +end + +# source://syntax_tree//lib/syntax_tree/yarv/vm.rb#42 +class SyntaxTree::YARV::VM::TopFrame < ::SyntaxTree::YARV::VM::Frame + # @return [TopFrame] a new instance of TopFrame + # + # source://syntax_tree//lib/syntax_tree/yarv/vm.rb#43 + def initialize(iseq); end +end + +# Yield represents using the +yield+ keyword with arguments. +# +# yield value +# +# source://syntax_tree//lib/syntax_tree/node.rb#12289 +class SyntaxTree::YieldNode < ::SyntaxTree::Node + # @return [YieldNode] a new instance of YieldNode + # + # source://syntax_tree//lib/syntax_tree/node.rb#12296 + def initialize(arguments:, location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#12350 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#12302 + def accept(visitor); end + + # [nil | Args | Paren] the arguments passed to the yield + # + # source://syntax_tree//lib/syntax_tree/node.rb#12291 + def arguments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#12306 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#12294 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#12310 + def copy(arguments: T.unsafe(nil), location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#12306 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#12323 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#12327 + def format(q); end +end + +# ZSuper represents the bare +super+ keyword with no arguments. +# +# super +# +# source://syntax_tree//lib/syntax_tree/node.rb#12359 +class SyntaxTree::ZSuper < ::SyntaxTree::Node + # @return [ZSuper] a new instance of ZSuper + # + # source://syntax_tree//lib/syntax_tree/node.rb#12363 + def initialize(location:); end + + # source://syntax_tree//lib/syntax_tree/node.rb#12393 + def ===(other); end + + # source://syntax_tree//lib/syntax_tree/node.rb#12368 + def accept(visitor); end + + # source://syntax_tree//lib/syntax_tree/node.rb#12372 + def child_nodes; end + + # [Array[ Comment | EmbDoc ]] the comments attached to this node + # + # source://syntax_tree//lib/syntax_tree/node.rb#12361 + def comments; end + + # source://syntax_tree//lib/syntax_tree/node.rb#12376 + def copy(location: T.unsafe(nil)); end + + # source://syntax_tree//lib/syntax_tree/node.rb#12372 + def deconstruct; end + + # source://syntax_tree//lib/syntax_tree/node.rb#12385 + def deconstruct_keys(_keys); end + + # source://syntax_tree//lib/syntax_tree/node.rb#12389 + def format(q); end +end diff --git a/sorbet/rbi/gems/thor@1.2.1.rbi b/sorbet/rbi/gems/thor@1.2.2.rbi similarity index 97% rename from sorbet/rbi/gems/thor@1.2.1.rbi rename to sorbet/rbi/gems/thor@1.2.2.rbi index 604c1f7..dcb11ee 100644 --- a/sorbet/rbi/gems/thor@1.2.1.rbi +++ b/sorbet/rbi/gems/thor@1.2.2.rbi @@ -693,7 +693,7 @@ module Thor::Actions # flag:: the regexp or string to be replaced # replacement:: the replacement, can be also given as a block # config:: give :verbose => false to not log the status, and - # :force => true, to force the replacement regardles of runner behavior. + # :force => true, to force the replacement regardless of runner behavior. # # ==== Example # @@ -871,7 +871,7 @@ module Thor::Actions # run('ln -s ~/edge rails') # end # - # source://thor//lib/thor/actions.rb#248 + # source://thor//lib/thor/actions.rb#249 def run(command, config = T.unsafe(nil)); end # Executes a ruby script (taking into account WIN32 platform quirks). @@ -880,7 +880,7 @@ module Thor::Actions # command:: the command to be executed. # config:: give :verbose => false to not log the status. # - # source://thor//lib/thor/actions.rb#285 + # source://thor//lib/thor/actions.rb#286 def run_ruby_script(command, config = T.unsafe(nil)); end # Holds source paths in instance so they can be manipulated. @@ -924,7 +924,7 @@ module Thor::Actions # thor :list, :all => true, :substring => 'rails' # #=> thor list --all --substring=rails # - # source://thor//lib/thor/actions.rb#308 + # source://thor//lib/thor/actions.rb#309 def thor(command, *args); end # Uncomment all lines matching a given regex. It will leave the space @@ -945,12 +945,12 @@ module Thor::Actions protected - # source://thor//lib/thor/actions.rb#329 + # source://thor//lib/thor/actions.rb#330 def _cleanup_options_and_set(options, key); end # Allow current root to be shared between invocations. # - # source://thor//lib/thor/actions.rb#325 + # source://thor//lib/thor/actions.rb#326 def _shared_configuration; end private @@ -1297,10 +1297,10 @@ end # source://thor//lib/thor/actions/inject_into_file.rb#24 Thor::Actions::WARNINGS = T.let(T.unsafe(nil), Hash) -# source://thor//lib/thor/error.rb#60 +# source://thor//lib/thor/error.rb#68 class Thor::AmbiguousCommandError < ::Thor::Error; end -# source://thor//lib/thor/error.rb#62 +# source://thor//lib/thor/error.rb#70 Thor::AmbiguousTaskError = Thor::AmbiguousCommandError # source://thor//lib/thor/parser/argument.rb#2 @@ -1982,12 +1982,12 @@ module Thor::Base::ClassMethods # SIGNATURE: Sets the baseclass. This is where the superclass lookup # finishes. # - # source://thor//lib/thor/base.rb#679 + # source://thor//lib/thor/base.rb#678 def baseclass; end # The basename of the program invoking the thor class. # - # source://thor//lib/thor/base.rb#673 + # source://thor//lib/thor/base.rb#672 def basename; end # Build an option and adds it to the given scope. @@ -1997,7 +1997,7 @@ module Thor::Base::ClassMethods # options:: Described in both class_option and method_option. # scope:: Options hash that is being built up # - # source://thor//lib/thor/base.rb#590 + # source://thor//lib/thor/base.rb#589 def build_option(name, options, scope); end # Receives a hash of options, parse them and add to the scope. This is a @@ -2008,7 +2008,7 @@ module Thor::Base::ClassMethods # ==== Parameters # Hash[Symbol => Object] # - # source://thor//lib/thor/base.rb#601 + # source://thor//lib/thor/base.rb#600 def build_options(options, scope); end # Prints the class options per group. If an option does not belong to @@ -2020,65 +2020,65 @@ module Thor::Base::ClassMethods # SIGNATURE: Creates a new command if valid_command? is true. This method is # called when a new method is added to the class. # - # source://thor//lib/thor/base.rb#684 + # source://thor//lib/thor/base.rb#683 def create_command(meth); end # SIGNATURE: Creates a new command if valid_command? is true. This method is # called when a new method is added to the class. # - # source://thor//lib/thor/base.rb#684 + # source://thor//lib/thor/base.rb#683 def create_task(meth); end # SIGNATURE: The hook invoked by start. # # @raise [NotImplementedError] # - # source://thor//lib/thor/base.rb#694 + # source://thor//lib/thor/base.rb#693 def dispatch(command, given_args, given_opts, config); end # Finds a command with the given name. If the command belongs to the current # class, just return it, otherwise dup it and add the fresh copy to the # current command hash. # - # source://thor//lib/thor/base.rb#610 + # source://thor//lib/thor/base.rb#609 def find_and_refresh_command(name); end # Finds a command with the given name. If the command belongs to the current # class, just return it, otherwise dup it and add the fresh copy to the # current command hash. # - # source://thor//lib/thor/base.rb#610 + # source://thor//lib/thor/base.rb#609 def find_and_refresh_task(name); end # Retrieves a value from superclass. If it reaches the baseclass, # returns default. # - # source://thor//lib/thor/base.rb#651 + # source://thor//lib/thor/base.rb#650 def from_superclass(method, default = T.unsafe(nil)); end - # Everytime someone inherits from a Thor class, register the klass + # Every time someone inherits from a Thor class, register the klass # and file into baseclass. # - # source://thor//lib/thor/base.rb#623 + # source://thor//lib/thor/base.rb#622 def inherited(klass); end # SIGNATURE: Defines behavior when the initialize method is added to the # class. # - # source://thor//lib/thor/base.rb#690 + # source://thor//lib/thor/base.rb#689 def initialize_added; end # Raises an error if the word given is a Thor reserved word. # # @return [Boolean] # - # source://thor//lib/thor/base.rb#579 + # source://thor//lib/thor/base.rb#578 def is_thor_reserved_word?(word, type); end # Fire this callback whenever a method is added. Added methods are # tracked as commands by invoking the create_command method. # - # source://thor//lib/thor/base.rb#631 + # source://thor//lib/thor/base.rb#630 def method_added(meth); end # Receives a set of options and print them. @@ -2241,8 +2241,14 @@ class Thor::CoreExt::HashWithIndifferentAccess < ::Hash def method_missing(method, *args); end end -# source://thor//lib/thor/error.rb#2 -Thor::Correctable = DidYouMean::Correctable +# source://thor//lib/thor/error.rb#14 +module Thor::Correctable + # source://thor//lib/thor/error.rb#19 + def corrections; end + + # source://thor//lib/thor/error.rb#15 + def to_s; end +end # A dynamic command that handles method missing scenarios. # @@ -2267,7 +2273,7 @@ Thor::DynamicTask = Thor::DynamicCommand # overwrites a thor keyword, SHOULD NOT raise a Thor::Error. This way, we # ensure that developer errors are shown with full backtrace. # -# source://thor//lib/thor/error.rb#23 +# source://thor//lib/thor/error.rb#31 class Thor::Error < ::StandardError; end # Thor has a special class called Thor::Group. The main difference to Thor class @@ -2605,7 +2611,7 @@ end # Raised when a command was found, but not invoked properly. # -# source://thor//lib/thor/error.rb#65 +# source://thor//lib/thor/error.rb#73 class Thor::InvocationError < ::Thor::Error; end # source://thor//lib/thor/line_editor/basic.rb#2 @@ -2718,7 +2724,7 @@ class Thor::LineEditor::Readline::PathCompletion def text; end end -# source://thor//lib/thor/error.rb#101 +# source://thor//lib/thor/error.rb#109 class Thor::MalformattedArgumentError < ::Thor::InvocationError; end # source://thor//lib/thor/nested_context.rb#2 @@ -2763,10 +2769,13 @@ class Thor::Option < ::Thor::Argument # source://thor//lib/thor/parser/option.rb#3 def aliases; end - # source://thor//lib/thor/parser/option.rb#105 + # source://thor//lib/thor/parser/option.rb#99 + def aliases_for_usage; end + + # source://thor//lib/thor/parser/option.rb#109 def array?; end - # source://thor//lib/thor/parser/option.rb#105 + # source://thor//lib/thor/parser/option.rb#109 def boolean?; end # Returns the value of attribute group. @@ -2774,7 +2783,7 @@ class Thor::Option < ::Thor::Argument # source://thor//lib/thor/parser/option.rb#3 def group; end - # source://thor//lib/thor/parser/option.rb#105 + # source://thor//lib/thor/parser/option.rb#109 def hash?; end # Returns the value of attribute hide. @@ -2790,7 +2799,7 @@ class Thor::Option < ::Thor::Argument # source://thor//lib/thor/parser/option.rb#3 def lazy_default; end - # source://thor//lib/thor/parser/option.rb#105 + # source://thor//lib/thor/parser/option.rb#109 def numeric?; end # Returns the value of attribute repeatable. @@ -2798,7 +2807,7 @@ class Thor::Option < ::Thor::Argument # source://thor//lib/thor/parser/option.rb#3 def repeatable; end - # source://thor//lib/thor/parser/option.rb#105 + # source://thor//lib/thor/parser/option.rb#109 def string?; end # source://thor//lib/thor/parser/option.rb#75 @@ -2809,23 +2818,23 @@ class Thor::Option < ::Thor::Argument protected - # source://thor//lib/thor/parser/option.rb#155 + # source://thor//lib/thor/parser/option.rb#159 def dasherize(str); end # @return [Boolean] # - # source://thor//lib/thor/parser/option.rb#147 + # source://thor//lib/thor/parser/option.rb#151 def dasherized?; end - # source://thor//lib/thor/parser/option.rb#151 + # source://thor//lib/thor/parser/option.rb#155 def undasherize(str); end # @raise [ArgumentError] # - # source://thor//lib/thor/parser/option.rb#113 + # source://thor//lib/thor/parser/option.rb#117 def validate!; end - # source://thor//lib/thor/parser/option.rb#118 + # source://thor//lib/thor/parser/option.rb#122 def validate_default_type!; end class << self @@ -3010,7 +3019,7 @@ module Thor::RakeCompat end end -# source://thor//lib/thor/error.rb#98 +# source://thor//lib/thor/error.rb#106 class Thor::RequiredArgumentMissingError < ::Thor::InvocationError; end # source://thor//lib/thor/util.rb#4 @@ -3366,7 +3375,7 @@ Thor::Shell::Basic::DEFAULT_TERMINAL_WIDTH = T.let(T.unsafe(nil), Integer) # Inherit from Thor::Shell::Basic and add set_color behavior. Check # Thor::Shell::Basic to see all available methods. # -# source://thor//lib/thor/shell/color.rb#9 +# source://thor//lib/thor/shell/color.rb#8 class Thor::Shell::Color < ::Thor::Shell::Basic # Set color by using a string or one of the defined constants. If a third # option is set to true, it also adds bold to the string. This is based @@ -3531,7 +3540,7 @@ Thor::Shell::Color::YELLOW = T.let(T.unsafe(nil), String) # Inherit from Thor::Shell::Basic and add set_color behavior. Check # Thor::Shell::Basic to see all available methods. # -# source://thor//lib/thor/shell/html.rb#9 +# source://thor//lib/thor/shell/html.rb#8 class Thor::Shell::HTML < ::Thor::Shell::Basic # Ask something to the user and receives a response. # @@ -3679,84 +3688,84 @@ Thor::Task = Thor::Command # Raised when a command was not found. # -# source://thor//lib/thor/error.rb#27 +# source://thor//lib/thor/error.rb#35 class Thor::UndefinedCommandError < ::Thor::Error - include ::DidYouMean::Correctable + include ::Thor::Correctable # @return [UndefinedCommandError] a new instance of UndefinedCommandError # - # source://thor//lib/thor/error.rb#46 + # source://thor//lib/thor/error.rb#54 def initialize(command, all_commands, namespace); end # Returns the value of attribute all_commands. # - # source://thor//lib/thor/error.rb#44 + # source://thor//lib/thor/error.rb#52 def all_commands; end # Returns the value of attribute command. # - # source://thor//lib/thor/error.rb#44 + # source://thor//lib/thor/error.rb#52 def command; end end -# source://thor//lib/thor/error.rb#28 +# source://thor//lib/thor/error.rb#36 class Thor::UndefinedCommandError::SpellChecker # @return [SpellChecker] a new instance of SpellChecker # - # source://thor//lib/thor/error.rb#31 + # source://thor//lib/thor/error.rb#39 def initialize(error); end - # source://thor//lib/thor/error.rb#35 + # source://thor//lib/thor/error.rb#43 def corrections; end # Returns the value of attribute error. # - # source://thor//lib/thor/error.rb#29 + # source://thor//lib/thor/error.rb#37 def error; end - # source://thor//lib/thor/error.rb#39 + # source://thor//lib/thor/error.rb#47 def spell_checker; end end -# source://thor//lib/thor/error.rb#58 +# source://thor//lib/thor/error.rb#66 Thor::UndefinedTaskError = Thor::UndefinedCommandError -# source://thor//lib/thor/error.rb#68 +# source://thor//lib/thor/error.rb#76 class Thor::UnknownArgumentError < ::Thor::Error - include ::DidYouMean::Correctable + include ::Thor::Correctable # @return [UnknownArgumentError] a new instance of UnknownArgumentError # - # source://thor//lib/thor/error.rb#88 + # source://thor//lib/thor/error.rb#96 def initialize(switches, unknown); end # Returns the value of attribute switches. # - # source://thor//lib/thor/error.rb#86 + # source://thor//lib/thor/error.rb#94 def switches; end # Returns the value of attribute unknown. # - # source://thor//lib/thor/error.rb#86 + # source://thor//lib/thor/error.rb#94 def unknown; end end -# source://thor//lib/thor/error.rb#69 +# source://thor//lib/thor/error.rb#77 class Thor::UnknownArgumentError::SpellChecker # @return [SpellChecker] a new instance of SpellChecker # - # source://thor//lib/thor/error.rb#72 + # source://thor//lib/thor/error.rb#80 def initialize(error); end - # source://thor//lib/thor/error.rb#76 + # source://thor//lib/thor/error.rb#84 def corrections; end # Returns the value of attribute error. # - # source://thor//lib/thor/error.rb#70 + # source://thor//lib/thor/error.rb#78 def error; end - # source://thor//lib/thor/error.rb#81 + # source://thor//lib/thor/error.rb#89 def spell_checker; end end diff --git a/sorbet/rbi/gems/timecop@0.9.6.rbi b/sorbet/rbi/gems/timecop@0.9.6.rbi index aff54e4..9d7ed08 100644 --- a/sorbet/rbi/gems/timecop@0.9.6.rbi +++ b/sorbet/rbi/gems/timecop@0.9.6.rbi @@ -38,9 +38,6 @@ class Date end end -# source://date/3.2.2/date.rb#7 -Date::VERSION = T.let(T.unsafe(nil), String) - # source://timecop//lib/timecop/time_extensions.rb#113 class DateTime < ::Date class << self diff --git a/sorbet/rbi/gems/webrick@1.7.0.rbi b/sorbet/rbi/gems/webrick@1.7.0.rbi deleted file mode 100644 index ec98e78..0000000 --- a/sorbet/rbi/gems/webrick@1.7.0.rbi +++ /dev/null @@ -1,2555 +0,0 @@ -# typed: true - -# DO NOT EDIT MANUALLY -# This is an autogenerated file for types exported from the `webrick` gem. -# Please instead update this file by running `bin/tapioca gem webrick`. - -# AccessLog provides logging to various files in various formats. -# -# Multiple logs may be written to at the same time: -# -# access_log = [ -# [$stderr, WEBrick::AccessLog::COMMON_LOG_FORMAT], -# [$stderr, WEBrick::AccessLog::REFERER_LOG_FORMAT], -# ] -# -# server = WEBrick::HTTPServer.new :AccessLog => access_log -# -# Custom log formats may be defined. WEBrick::AccessLog provides a subset -# of the formatting from Apache's mod_log_config -# http://httpd.apache.org/docs/mod/mod_log_config.html#formats. See -# AccessLog::setup_params for a list of supported options -# -# source://webrick//lib/webrick/accesslog.rb#30 -module WEBrick::AccessLog - private - - # Escapes control characters in +data+ - # - # source://webrick//lib/webrick/accesslog.rb#151 - def escape(data); end - - # Formats +params+ according to +format_string+ which is described in - # setup_params. - # - # source://webrick//lib/webrick/accesslog.rb#123 - def format(format_string, params); end - - # This format specification is a subset of mod_log_config of Apache: - # - # %a:: Remote IP address - # %b:: Total response size - # %e{variable}:: Given variable in ENV - # %f:: Response filename - # %h:: Remote host name - # %{header}i:: Given request header - # %l:: Remote logname, always "-" - # %m:: Request method - # %{attr}n:: Given request attribute from req.attributes - # %{header}o:: Given response header - # %p:: Server's request port - # %{format}p:: The canonical port of the server serving the request or the - # actual port or the client's actual port. Valid formats are - # canonical, local or remote. - # %q:: Request query string - # %r:: First line of the request - # %s:: Request status - # %t:: Time the request was received - # %T:: Time taken to process the request - # %u:: Remote user from auth - # %U:: Unparsed URI - # %%:: Literal % - # - # source://webrick//lib/webrick/accesslog.rb#95 - def setup_params(config, req, res); end - - class << self - # Escapes control characters in +data+ - # - # source://webrick//lib/webrick/accesslog.rb#151 - def escape(data); end - - # Formats +params+ according to +format_string+ which is described in - # setup_params. - # - # source://webrick//lib/webrick/accesslog.rb#123 - def format(format_string, params); end - - # This format specification is a subset of mod_log_config of Apache: - # - # %a:: Remote IP address - # %b:: Total response size - # %e{variable}:: Given variable in ENV - # %f:: Response filename - # %h:: Remote host name - # %{header}i:: Given request header - # %l:: Remote logname, always "-" - # %m:: Request method - # %{attr}n:: Given request attribute from req.attributes - # %{header}o:: Given response header - # %p:: Server's request port - # %{format}p:: The canonical port of the server serving the request or the - # actual port or the client's actual port. Valid formats are - # canonical, local or remote. - # %q:: Request query string - # %r:: First line of the request - # %s:: Request status - # %t:: Time the request was received - # %T:: Time taken to process the request - # %u:: Remote user from auth - # %U:: Unparsed URI - # %%:: Literal % - # - # source://webrick//lib/webrick/accesslog.rb#95 - def setup_params(config, req, res); end - end -end - -# A generic logging class -# -# source://webrick//lib/webrick/log.rb#17 -class WEBrick::BasicLog - # Initializes a new logger for +log_file+ that outputs messages at +level+ - # or higher. +log_file+ can be a filename, an IO-like object that - # responds to #<< or nil which outputs to $stderr. - # - # If no level is given INFO is chosen by default - # - # @return [BasicLog] a new instance of BasicLog - # - # source://webrick//lib/webrick/log.rb#50 - def initialize(log_file = T.unsafe(nil), level = T.unsafe(nil)); end - - # Synonym for log(INFO, obj.to_s) - # - # source://webrick//lib/webrick/log.rb#84 - def <<(obj); end - - # Closes the logger (also closes the log device associated to the logger) - # - # source://webrick//lib/webrick/log.rb#66 - def close; end - - # Shortcut for logging a DEBUG message - # - # source://webrick//lib/webrick/log.rb#97 - def debug(msg); end - - # Will the logger output DEBUG messages? - # - # @return [Boolean] - # - # source://webrick//lib/webrick/log.rb#108 - def debug?; end - - # Shortcut for logging an ERROR message - # - # source://webrick//lib/webrick/log.rb#91 - def error(msg); end - - # Will the logger output ERROR messages? - # - # @return [Boolean] - # - # source://webrick//lib/webrick/log.rb#102 - def error?; end - - # Shortcut for logging a FATAL message - # - # source://webrick//lib/webrick/log.rb#89 - def fatal(msg); end - - # Will the logger output FATAL messages? - # - # @return [Boolean] - # - # source://webrick//lib/webrick/log.rb#100 - def fatal?; end - - # Shortcut for logging an INFO message - # - # source://webrick//lib/webrick/log.rb#95 - def info(msg); end - - # Will the logger output INFO messages? - # - # @return [Boolean] - # - # source://webrick//lib/webrick/log.rb#106 - def info?; end - - # log-level, messages above this level will be logged - # - # source://webrick//lib/webrick/log.rb#41 - def level; end - - # log-level, messages above this level will be logged - # - # source://webrick//lib/webrick/log.rb#41 - def level=(_arg0); end - - # Logs +data+ at +level+ if the given level is above the current log - # level. - # - # source://webrick//lib/webrick/log.rb#75 - def log(level, data); end - - # Shortcut for logging a WARN message - # - # source://webrick//lib/webrick/log.rb#93 - def warn(msg); end - - # Will the logger output WARN messages? - # - # @return [Boolean] - # - # source://webrick//lib/webrick/log.rb#104 - def warn?; end - - private - - # Formats +arg+ for the logger - # - # * If +arg+ is an Exception, it will format the error message and - # the back trace. - # * If +arg+ responds to #to_str, it will return it. - # * Otherwise it will return +arg+.inspect. - # - # source://webrick//lib/webrick/log.rb#119 - def format(arg); end -end - -# -- -# Updates WEBrick::GenericServer with SSL functionality -# -# source://webrick//lib/webrick/server.rb#56 -class WEBrick::GenericServer - # Creates a new generic server from +config+. The default configuration - # comes from +default+. - # - # @return [GenericServer] a new instance of GenericServer - # - # source://webrick//lib/webrick/server.rb#88 - def initialize(config = T.unsafe(nil), default = T.unsafe(nil)); end - - # Retrieves +key+ from the configuration - # - # source://webrick//lib/webrick/server.rb#121 - def [](key); end - - # The server configuration - # - # source://webrick//lib/webrick/server.rb#66 - def config; end - - # Updates +listen+ to enable SSL when the SSL configuration is active. - # - # source://webrick//lib/webrick/server.rb#129 - def listen(address, port); end - - # Sockets listening for connections. - # - # source://webrick//lib/webrick/server.rb#82 - def listeners; end - - # The server logger. This is independent from the HTTP access log. - # - # source://webrick//lib/webrick/server.rb#71 - def logger; end - - # You must subclass GenericServer and implement \#run which accepts a TCP - # client socket - # - # source://webrick//lib/webrick/server.rb#244 - def run(sock); end - - # Shuts down the server and all listening sockets. New listeners must be - # provided to restart the server. - # - # source://webrick//lib/webrick/server.rb#234 - def shutdown; end - - # Starts the server and runs the +block+ for each connection. This method - # does not return until the server is stopped from a signal handler or - # another thread using #stop or #shutdown. - # - # If the block raises a subclass of StandardError the exception is logged - # and ignored. If an IOError or Errno::EBADF exception is raised the - # exception is ignored. If an Exception subclass is raised the exception - # is logged and re-raised which stops the server. - # - # To completely shut down a server call #shutdown from ensure: - # - # server = WEBrick::GenericServer.new - # # or WEBrick::HTTPServer.new - # - # begin - # server.start - # ensure - # server.shutdown - # end - # - # @raise [ServerError] - # - # source://webrick//lib/webrick/server.rb#154 - def start(&block); end - - # The server status. One of :Stop, :Running or :Shutdown - # - # source://webrick//lib/webrick/server.rb#61 - def status; end - - # Stops the server from accepting new connections. - # - # source://webrick//lib/webrick/server.rb#222 - def stop; end - - # Tokens control the number of outstanding clients. The - # :MaxClients configuration sets this. - # - # source://webrick//lib/webrick/server.rb#77 - def tokens; end - - private - - # Accepts a TCP client socket from the TCP server socket +svr+ and returns - # the client socket. - # - # source://webrick//lib/webrick/server.rb#256 - def accept_client(svr); end - - # source://webrick//lib/webrick/server.rb#347 - def alarm_shutdown_pipe; end - - # Calls the callback +callback_name+ from the configuration with +args+ - # - # source://webrick//lib/webrick/server.rb#334 - def call_callback(callback_name, *args); end - - # source://webrick//lib/webrick/server.rb#359 - def cleanup_listener; end - - # source://webrick//lib/webrick/server.rb#342 - def cleanup_shutdown_pipe(shutdown_pipe); end - - # source://webrick//lib/webrick/server.rb#338 - def setup_shutdown_pipe; end - - # Starts a server thread for the client socket +sock+ that runs the given - # +block+. - # - # Sets the socket to the :WEBrickSocket thread local variable - # in the thread. - # - # If any errors occur in the block they are logged and handled. - # - # source://webrick//lib/webrick/server.rb#288 - def start_thread(sock, &block); end -end - -# source://webrick//lib/webrick/htmlutils.rb#13 -module WEBrick::HTMLUtils - private - - # Escapes &, ", > and < in +string+ - # - # source://webrick//lib/webrick/htmlutils.rb#18 - def escape(string); end - - class << self - # Escapes &, ", > and < in +string+ - # - # source://webrick//lib/webrick/htmlutils.rb#18 - def escape(string); end - end -end - -# HTTPAuth provides both basic and digest authentication. -# -# To enable authentication for requests in WEBrick you will need a user -# database and an authenticator. To start, here's an Htpasswd database for -# use with a DigestAuth authenticator: -# -# config = { :Realm => 'DigestAuth example realm' } -# -# htpasswd = WEBrick::HTTPAuth::Htpasswd.new 'my_password_file' -# htpasswd.auth_type = WEBrick::HTTPAuth::DigestAuth -# htpasswd.set_passwd config[:Realm], 'username', 'password' -# htpasswd.flush -# -# The +:Realm+ is used to provide different access to different groups -# across several resources on a server. Typically you'll need only one -# realm for a server. -# -# This database can be used to create an authenticator: -# -# config[:UserDB] = htpasswd -# -# digest_auth = WEBrick::HTTPAuth::DigestAuth.new config -# -# To authenticate a request call #authenticate with a request and response -# object in a servlet: -# -# def do_GET req, res -# @authenticator.authenticate req, res -# end -# -# For digest authentication the authenticator must not be created every -# request, it must be passed in as an option via WEBrick::HTTPServer#mount. -# -# source://webrick//lib/webrick/httpauth/authenticator.rb#12 -module WEBrick::HTTPAuth - private - - # source://webrick//lib/webrick/httpauth.rb#57 - def _basic_auth(req, res, realm, req_field, res_field, err_type, block); end - - # Simple wrapper for providing basic authentication for a request. When - # called with a request +req+, response +res+, authentication +realm+ and - # +block+ the block will be called with a +username+ and +password+. If - # the block returns true the request is allowed to continue, otherwise an - # HTTPStatus::Unauthorized error is raised. - # - # source://webrick//lib/webrick/httpauth.rb#79 - def basic_auth(req, res, realm, &block); end - - # Simple wrapper for providing basic authentication for a proxied request. - # When called with a request +req+, response +res+, authentication +realm+ - # and +block+ the block will be called with a +username+ and +password+. - # If the block returns true the request is allowed to continue, otherwise - # an HTTPStatus::ProxyAuthenticationRequired error is raised. - # - # source://webrick//lib/webrick/httpauth.rb#91 - def proxy_basic_auth(req, res, realm, &block); end - - class << self - # source://webrick//lib/webrick/httpauth.rb#57 - def _basic_auth(req, res, realm, req_field, res_field, err_type, block); end - - # Simple wrapper for providing basic authentication for a request. When - # called with a request +req+, response +res+, authentication +realm+ and - # +block+ the block will be called with a +username+ and +password+. If - # the block returns true the request is allowed to continue, otherwise an - # HTTPStatus::Unauthorized error is raised. - # - # source://webrick//lib/webrick/httpauth.rb#79 - def basic_auth(req, res, realm, &block); end - - # Simple wrapper for providing basic authentication for a proxied request. - # When called with a request +req+, response +res+, authentication +realm+ - # and +block+ the block will be called with a +username+ and +password+. - # If the block returns true the request is allowed to continue, otherwise - # an HTTPStatus::ProxyAuthenticationRequired error is raised. - # - # source://webrick//lib/webrick/httpauth.rb#91 - def proxy_basic_auth(req, res, realm, &block); end - end -end - -# Module providing generic support for both Digest and Basic -# authentication schemes. -# -# source://webrick//lib/webrick/httpauth/authenticator.rb#18 -module WEBrick::HTTPAuth::Authenticator - # The logger for this authenticator - # - # source://webrick//lib/webrick/httpauth/authenticator.rb#43 - def logger; end - - # The realm this authenticator covers - # - # source://webrick//lib/webrick/httpauth/authenticator.rb#33 - def realm; end - - # The user database for this authenticator - # - # source://webrick//lib/webrick/httpauth/authenticator.rb#38 - def userdb; end - - private - - # Initializes the authenticator from +config+ - # - # source://webrick//lib/webrick/httpauth/authenticator.rb#52 - def check_init(config); end - - # Ensures +req+ has credentials that can be authenticated. - # - # source://webrick//lib/webrick/httpauth/authenticator.rb#72 - def check_scheme(req); end - - # source://webrick//lib/webrick/httpauth/authenticator.rb#91 - def error(fmt, *args); end - - # source://webrick//lib/webrick/httpauth/authenticator.rb#97 - def info(fmt, *args); end - - # source://webrick//lib/webrick/httpauth/authenticator.rb#85 - def log(meth, fmt, *args); end -end - -# source://webrick//lib/webrick/httpauth/authenticator.rb#23 -WEBrick::HTTPAuth::Authenticator::AuthException = WEBrick::HTTPStatus::Unauthorized - -# Basic Authentication for WEBrick -# -# Use this class to add basic authentication to a WEBrick servlet. -# -# Here is an example of how to set up a BasicAuth: -# -# config = { :Realm => 'BasicAuth example realm' } -# -# htpasswd = WEBrick::HTTPAuth::Htpasswd.new 'my_password_file', password_hash: :bcrypt -# htpasswd.set_passwd config[:Realm], 'username', 'password' -# htpasswd.flush -# -# config[:UserDB] = htpasswd -# -# basic_auth = WEBrick::HTTPAuth::BasicAuth.new config -# -# source://webrick//lib/webrick/httpauth/basicauth.rb#35 -class WEBrick::HTTPAuth::BasicAuth - include ::WEBrick::HTTPAuth::Authenticator - - # Creates a new BasicAuth instance. - # - # See WEBrick::Config::BasicAuth for default configuration entries - # - # You must supply the following configuration entries: - # - # :Realm:: The name of the realm being protected. - # :UserDB:: A database of usernames and passwords. - # A WEBrick::HTTPAuth::Htpasswd instance should be used. - # - # @return [BasicAuth] a new instance of BasicAuth - # - # source://webrick//lib/webrick/httpauth/basicauth.rb#61 - def initialize(config, default = T.unsafe(nil)); end - - # Authenticates a +req+ and returns a 401 Unauthorized using +res+ if - # the authentication was not correct. - # - # source://webrick//lib/webrick/httpauth/basicauth.rb#70 - def authenticate(req, res); end - - # Returns a challenge response which asks for authentication information - # - # @raise [@auth_exception] - # - # source://webrick//lib/webrick/httpauth/basicauth.rb#103 - def challenge(req, res); end - - # Returns the value of attribute logger. - # - # source://webrick//lib/webrick/httpauth/basicauth.rb#48 - def logger; end - - # Returns the value of attribute realm. - # - # source://webrick//lib/webrick/httpauth/basicauth.rb#48 - def realm; end - - # Returns the value of attribute userdb. - # - # source://webrick//lib/webrick/httpauth/basicauth.rb#48 - def userdb; end - - class << self - # Used by UserDB to create a basic password entry - # - # source://webrick//lib/webrick/httpauth/basicauth.rb#43 - def make_passwd(realm, user, pass); end - end -end - -# RFC 2617 Digest Access Authentication for WEBrick -# -# Use this class to add digest authentication to a WEBrick servlet. -# -# Here is an example of how to set up DigestAuth: -# -# config = { :Realm => 'DigestAuth example realm' } -# -# htdigest = WEBrick::HTTPAuth::Htdigest.new 'my_password_file' -# htdigest.set_passwd config[:Realm], 'username', 'password' -# htdigest.flush -# -# config[:UserDB] = htdigest -# -# digest_auth = WEBrick::HTTPAuth::DigestAuth.new config -# -# When using this as with a servlet be sure not to create a new DigestAuth -# object in the servlet's #initialize. By default WEBrick creates a new -# servlet instance for every request and the DigestAuth object must be -# used across requests. -# -# source://webrick//lib/webrick/httpauth/digestauth.rb#46 -class WEBrick::HTTPAuth::DigestAuth - include ::WEBrick::HTTPAuth::Authenticator - - # Creates a new DigestAuth instance. Be sure to use the same DigestAuth - # instance for multiple requests as it saves state between requests in - # order to perform authentication. - # - # See WEBrick::Config::DigestAuth for default configuration entries - # - # You must supply the following configuration entries: - # - # :Realm:: The name of the realm being protected. - # :UserDB:: A database of usernames and passwords. - # A WEBrick::HTTPAuth::Htdigest instance should be used. - # - # @return [DigestAuth] a new instance of DigestAuth - # - # source://webrick//lib/webrick/httpauth/digestauth.rb#87 - def initialize(config, default = T.unsafe(nil)); end - - # Digest authentication algorithm - # - # source://webrick//lib/webrick/httpauth/digestauth.rb#59 - def algorithm; end - - # Authenticates a +req+ and returns a 401 Unauthorized using +res+ if - # the authentication was not correct. - # - # source://webrick//lib/webrick/httpauth/digestauth.rb#121 - def authenticate(req, res); end - - # Returns a challenge response which asks for authentication information - # - # @raise [@auth_exception] - # - # source://webrick//lib/webrick/httpauth/digestauth.rb#134 - def challenge(req, res, stale = T.unsafe(nil)); end - - # Quality of protection. RFC 2617 defines "auth" and "auth-int" - # - # source://webrick//lib/webrick/httpauth/digestauth.rb#64 - def qop; end - - private - - # source://webrick//lib/webrick/httpauth/digestauth.rb#163 - def _authenticate(req, res); end - - # source://webrick//lib/webrick/httpauth/digestauth.rb#306 - def check_nonce(req, auth_req); end - - # source://webrick//lib/webrick/httpauth/digestauth.rb#349 - def check_opaque(opaque_struct, req, auth_req); end - - # source://webrick//lib/webrick/httpauth/digestauth.rb#365 - def check_uri(req, auth_req); end - - # source://webrick//lib/webrick/httpauth/digestauth.rb#299 - def generate_next_nonce(req); end - - # source://webrick//lib/webrick/httpauth/digestauth.rb#332 - def generate_opaque(req); end - - # source://webrick//lib/webrick/httpauth/digestauth.rb#376 - def hexdigest(*args); end - - # source://webrick//lib/webrick/httpauth/digestauth.rb#291 - def split_param_value(string); end - - class << self - # Used by UserDB to create a digest password entry - # - # source://webrick//lib/webrick/httpauth/digestauth.rb#69 - def make_passwd(realm, user, pass); end - end -end - -# Htdigest accesses apache-compatible digest password files. Passwords are -# matched to a realm where they are valid. For security, the path for a -# digest password database should be stored outside of the paths available -# to the HTTP server. -# -# Htdigest is intended for use with WEBrick::HTTPAuth::DigestAuth and -# stores passwords using cryptographic hashes. -# -# htpasswd = WEBrick::HTTPAuth::Htdigest.new 'my_password_file' -# htpasswd.set_passwd 'my realm', 'username', 'password' -# htpasswd.flush -# -# source://webrick//lib/webrick/httpauth/htdigest.rb#31 -class WEBrick::HTTPAuth::Htdigest - include ::WEBrick::HTTPAuth::UserDB - - # Open a digest password database at +path+ - # - # @return [Htdigest] a new instance of Htdigest - # - # source://webrick//lib/webrick/httpauth/htdigest.rb#37 - def initialize(path); end - - # Removes a password from the database for +user+ in +realm+. - # - # source://webrick//lib/webrick/httpauth/htdigest.rb#113 - def delete_passwd(realm, user); end - - # Iterate passwords in the database. - # - # source://webrick//lib/webrick/httpauth/htdigest.rb#122 - def each; end - - # Flush the password database. If +output+ is given the database will - # be written there instead of to the original path. - # - # source://webrick//lib/webrick/httpauth/htdigest.rb#72 - def flush(output = T.unsafe(nil)); end - - # Retrieves a password from the database for +user+ in +realm+. If - # +reload_db+ is true the database will be reloaded first. - # - # source://webrick//lib/webrick/httpauth/htdigest.rb#91 - def get_passwd(realm, user, reload_db); end - - # Reloads passwords from the database - # - # source://webrick//lib/webrick/httpauth/htdigest.rb#50 - def reload; end - - # Sets a password in the database for +user+ in +realm+ to +pass+. - # - # source://webrick//lib/webrick/httpauth/htdigest.rb#101 - def set_passwd(realm, user, pass); end -end - -# Htgroup accesses apache-compatible group files. Htgroup can be used to -# provide group-based authentication for users. Currently Htgroup is not -# directly integrated with any authenticators in WEBrick. For security, -# the path for a digest password database should be stored outside of the -# paths available to the HTTP server. -# -# Example: -# -# htgroup = WEBrick::HTTPAuth::Htgroup.new 'my_group_file' -# htgroup.add 'superheroes', %w[spiderman batman] -# -# htgroup.members('superheroes').include? 'magneto' # => false -# -# source://webrick//lib/webrick/httpauth/htgroup.rb#30 -class WEBrick::HTTPAuth::Htgroup - # Open a group database at +path+ - # - # @return [Htgroup] a new instance of Htgroup - # - # source://webrick//lib/webrick/httpauth/htgroup.rb#35 - def initialize(path); end - - # Add an Array of +members+ to +group+ - # - # source://webrick//lib/webrick/httpauth/htgroup.rb#92 - def add(group, members); end - - # Flush the group database. If +output+ is given the database will be - # written there instead of to the original path. - # - # source://webrick//lib/webrick/httpauth/htgroup.rb#64 - def flush(output = T.unsafe(nil)); end - - # Retrieve the list of members from +group+ - # - # source://webrick//lib/webrick/httpauth/htgroup.rb#84 - def members(group); end - - # Reload groups from the database - # - # source://webrick//lib/webrick/httpauth/htgroup.rb#46 - def reload; end -end - -# Htpasswd accesses apache-compatible password files. Passwords are -# matched to a realm where they are valid. For security, the path for a -# password database should be stored outside of the paths available to the -# HTTP server. -# -# Htpasswd is intended for use with WEBrick::HTTPAuth::BasicAuth. -# -# To create an Htpasswd database with a single user: -# -# htpasswd = WEBrick::HTTPAuth::Htpasswd.new 'my_password_file' -# htpasswd.set_passwd 'my realm', 'username', 'password' -# htpasswd.flush -# -# source://webrick//lib/webrick/httpauth/htpasswd.rb#32 -class WEBrick::HTTPAuth::Htpasswd - include ::WEBrick::HTTPAuth::UserDB - - # Open a password database at +path+ - # - # @return [Htpasswd] a new instance of Htpasswd - # - # source://webrick//lib/webrick/httpauth/htpasswd.rb#38 - def initialize(path, password_hash: T.unsafe(nil)); end - - # Removes a password from the database for +user+ in +realm+. - # - # source://webrick//lib/webrick/httpauth/htpasswd.rb#144 - def delete_passwd(realm, user); end - - # Iterate passwords in the database. - # - # source://webrick//lib/webrick/httpauth/htpasswd.rb#151 - def each; end - - # Flush the password database. If +output+ is given the database will - # be written there instead of to the original path. - # - # source://webrick//lib/webrick/httpauth/htpasswd.rb#103 - def flush(output = T.unsafe(nil)); end - - # Retrieves a password from the database for +user+ in +realm+. If - # +reload_db+ is true the database will be reloaded first. - # - # source://webrick//lib/webrick/httpauth/htpasswd.rb#122 - def get_passwd(realm, user, reload_db); end - - # Reload passwords from the database - # - # source://webrick//lib/webrick/httpauth/htpasswd.rb#68 - def reload; end - - # Sets a password in the database for +user+ in +realm+ to +pass+. - # - # source://webrick//lib/webrick/httpauth/htpasswd.rb#130 - def set_passwd(realm, user, pass); end -end - -# source://webrick//lib/webrick/httpauth/authenticator.rb#114 -WEBrick::HTTPAuth::ProxyAuthenticator::AuthException = WEBrick::HTTPStatus::ProxyAuthenticationRequired - -# Basic authentication for proxy servers. See BasicAuth for details. -# -# source://webrick//lib/webrick/httpauth/basicauth.rb#112 -class WEBrick::HTTPAuth::ProxyBasicAuth < ::WEBrick::HTTPAuth::BasicAuth - include ::WEBrick::HTTPAuth::ProxyAuthenticator -end - -# Digest authentication for proxy servers. See DigestAuth for details. -# -# source://webrick//lib/webrick/httpauth/digestauth.rb#386 -class WEBrick::HTTPAuth::ProxyDigestAuth < ::WEBrick::HTTPAuth::DigestAuth - include ::WEBrick::HTTPAuth::ProxyAuthenticator - - private - - # source://webrick//lib/webrick/httpauth/digestauth.rb#390 - def check_uri(req, auth_req); end -end - -# User database mixin for HTTPAuth. This mixin dispatches user record -# access to the underlying auth_type for this database. -# -# source://webrick//lib/webrick/httpauth/userdb.rb#18 -module WEBrick::HTTPAuth::UserDB - # The authentication type. - # - # WEBrick::HTTPAuth::BasicAuth or WEBrick::HTTPAuth::DigestAuth are - # built-in. - # - # source://webrick//lib/webrick/httpauth/userdb.rb#26 - def auth_type; end - - # The authentication type. - # - # WEBrick::HTTPAuth::BasicAuth or WEBrick::HTTPAuth::DigestAuth are - # built-in. - # - # source://webrick//lib/webrick/httpauth/userdb.rb#26 - def auth_type=(_arg0); end - - # Retrieves a password in +realm+ for +user+ for the auth_type of this - # database. +reload_db+ is a dummy value. - # - # source://webrick//lib/webrick/httpauth/userdb.rb#48 - def get_passwd(realm, user, reload_db = T.unsafe(nil)); end - - # Creates an obscured password in +realm+ with +user+ and +password+ - # using the auth_type of this database. - # - # source://webrick//lib/webrick/httpauth/userdb.rb#32 - def make_passwd(realm, user, pass); end - - # Sets a password in +realm+ with +user+ and +password+ for the - # auth_type of this database. - # - # source://webrick//lib/webrick/httpauth/userdb.rb#40 - def set_passwd(realm, user, pass); end -end - -# -- -# Adds SSL functionality to WEBrick::HTTPRequest -# -# source://webrick//lib/webrick/httprequest.rb#25 -class WEBrick::HTTPRequest - # Creates a new HTTP request. WEBrick::Config::HTTP is the default - # configuration. - # - # @return [HTTPRequest] a new instance of HTTPRequest - # - # source://webrick//lib/webrick/httprequest.rb#153 - def initialize(config); end - - # Retrieves +header_name+ - # - # source://webrick//lib/webrick/httprequest.rb#318 - def [](header_name); end - - # The Accept header value - # - # source://webrick//lib/webrick/httprequest.rb#100 - def accept; end - - # The Accept-Charset header value - # - # source://webrick//lib/webrick/httprequest.rb#105 - def accept_charset; end - - # The Accept-Encoding header value - # - # source://webrick//lib/webrick/httprequest.rb#110 - def accept_encoding; end - - # The Accept-Language header value - # - # source://webrick//lib/webrick/httprequest.rb#115 - def accept_language; end - - # The socket address of the server - # - # source://webrick//lib/webrick/httprequest.rb#127 - def addr; end - - # Hash of request attributes - # - # source://webrick//lib/webrick/httprequest.rb#137 - def attributes; end - - # Returns the request body. - # - # source://webrick//lib/webrick/httprequest.rb#255 - def body(&block); end - - # Prepares the HTTPRequest object for use as the - # source for IO.copy_stream - # - # source://webrick//lib/webrick/httprequest.rb#265 - def body_reader; end - - # The content-length header - # - # source://webrick//lib/webrick/httprequest.rb#304 - def content_length; end - - # The content-type header - # - # source://webrick//lib/webrick/httprequest.rb#311 - def content_type; end - - # Generate HTTP/1.1 100 continue response if the client expects it, - # otherwise does nothing. - # - # source://webrick//lib/webrick/httprequest.rb#245 - def continue; end - - # The parsed request cookies - # - # source://webrick//lib/webrick/httprequest.rb#95 - def cookies; end - - # Iterates over the request headers - # - # source://webrick//lib/webrick/httprequest.rb#328 - def each; end - - # Consumes any remaining body and updates keep-alive status - # - # source://webrick//lib/webrick/httprequest.rb#390 - def fixup; end - - # The parsed header of the request - # - # source://webrick//lib/webrick/httprequest.rb#90 - def header; end - - # The host this request is for - # - # source://webrick//lib/webrick/httprequest.rb#340 - def host; end - - # The HTTP version of the request - # - # source://webrick//lib/webrick/httprequest.rb#51 - def http_version; end - - # Is this a keep-alive connection? - # - # source://webrick//lib/webrick/httprequest.rb#142 - def keep_alive; end - - # Should the connection this request was made on be kept alive? - # - # @return [Boolean] - # - # source://webrick//lib/webrick/httprequest.rb#375 - def keep_alive?; end - - # This method provides the metavariables defined by the revision 3 - # of "The WWW Common Gateway Interface Version 1.1" - # To browse the current document of CGI Version 1.1, see below: - # http://tools.ietf.org/html/rfc3875 - # - # source://webrick//lib/webrick/httprequest.rb#407 - def meta_vars; end - - # Parses a request from +socket+. This is called internally by - # WEBrick::HTTPServer. - # - # source://webrick//lib/webrick/httprequest.rb#193 - def parse(socket = T.unsafe(nil)); end - - # The request path - # - # source://webrick//lib/webrick/httprequest.rb#63 - def path; end - - # The path info (CGI variable) - # - # source://webrick//lib/webrick/httprequest.rb#73 - def path_info; end - - # The path info (CGI variable) - # - # source://webrick//lib/webrick/httprequest.rb#73 - def path_info=(_arg0); end - - # The socket address of the client - # - # source://webrick//lib/webrick/httprequest.rb#132 - def peeraddr; end - - # The port this request is for - # - # source://webrick//lib/webrick/httprequest.rb#347 - def port; end - - # Request query as a Hash - # - # source://webrick//lib/webrick/httprequest.rb#294 - def query; end - - # The query from the URI of the request - # - # source://webrick//lib/webrick/httprequest.rb#78 - def query_string; end - - # The query from the URI of the request - # - # source://webrick//lib/webrick/httprequest.rb#78 - def query_string=(_arg0); end - - # The raw header of the request - # - # source://webrick//lib/webrick/httprequest.rb#85 - def raw_header; end - - # for IO.copy_stream. - # - # source://webrick//lib/webrick/httprequest.rb#278 - def readpartial(size, buf = T.unsafe(nil)); end - - # The client's IP address - # - # source://webrick//lib/webrick/httprequest.rb#361 - def remote_ip; end - - # The complete request line such as: - # - # GET / HTTP/1.1 - # - # source://webrick//lib/webrick/httprequest.rb#36 - def request_line; end - - # The request method, GET, POST, PUT, etc. - # - # source://webrick//lib/webrick/httprequest.rb#41 - def request_method; end - - # The local time this request was received - # - # source://webrick//lib/webrick/httprequest.rb#147 - def request_time; end - - # The parsed URI of the request - # - # source://webrick//lib/webrick/httprequest.rb#58 - def request_uri; end - - # The script name (CGI variable) - # - # source://webrick//lib/webrick/httprequest.rb#68 - def script_name; end - - # The script name (CGI variable) - # - # source://webrick//lib/webrick/httprequest.rb#68 - def script_name=(_arg0); end - - # The server name this request is for - # - # source://webrick//lib/webrick/httprequest.rb#354 - def server_name; end - - # Is this an SSL request? - # - # @return [Boolean] - # - # source://webrick//lib/webrick/httprequest.rb#368 - def ssl?; end - - # source://webrick//lib/webrick/httprequest.rb#379 - def to_s; end - - # The unparsed URI of the request - # - # source://webrick//lib/webrick/httprequest.rb#46 - def unparsed_uri; end - - # The remote user (CGI variable) - # - # source://webrick//lib/webrick/httprequest.rb#122 - def user; end - - # The remote user (CGI variable) - # - # source://webrick//lib/webrick/httprequest.rb#122 - def user=(_arg0); end - - private - - # source://webrick//lib/webrick/httprequest.rb#562 - def _read_data(io, method, *arg); end - - # source://webrick//lib/webrick/httprequest.rb#582 - def parse_query; end - - # source://webrick//lib/webrick/httprequest.rb#484 - def parse_uri(str, scheme = T.unsafe(nil)); end - - # source://webrick//lib/webrick/httprequest.rb#507 - def read_body(socket, block); end - - # source://webrick//lib/webrick/httprequest.rb#531 - def read_chunk_size(socket); end - - # source://webrick//lib/webrick/httprequest.rb#542 - def read_chunked(socket, block); end - - # source://webrick//lib/webrick/httprequest.rb#578 - def read_data(io, size); end - - # source://webrick//lib/webrick/httprequest.rb#471 - def read_header(socket); end - - # source://webrick//lib/webrick/httprequest.rb#574 - def read_line(io, size = T.unsafe(nil)); end - - # @raise [HTTPStatus::EOFError] - # - # source://webrick//lib/webrick/httprequest.rb#451 - def read_request_line(socket); end - - # It's said that all X-Forwarded-* headers will contain more than one - # (comma-separated) value if the original request already contained one of - # these headers. Since we could use these values as Host header, we choose - # the initial(first) value. (apr_table_mergen() adds new value after the - # existing value with ", " prefix) - # - # source://webrick//lib/webrick/httprequest.rb#610 - def setup_forwarded_info; end -end - -# same as Mongrel, Thin and Puma -# -# source://webrick//lib/webrick/httprequest.rb#449 -WEBrick::HTTPRequest::MAX_HEADER_LENGTH = T.let(T.unsafe(nil), Integer) - -# An HTTP response. This is filled in by the service or do_* methods of a -# WEBrick HTTP Servlet. -# -# source://webrick//lib/webrick/httpresponse.rb#24 -class WEBrick::HTTPResponse - # Creates a new HTTP response object. WEBrick::Config::HTTP is the - # default configuration. - # - # @return [HTTPResponse] a new instance of HTTPResponse - # - # source://webrick//lib/webrick/httpresponse.rb#112 - def initialize(config); end - - # Retrieves the response header +field+ - # - # source://webrick//lib/webrick/httpresponse.rb#150 - def [](field); end - - # Sets the response header +field+ to +value+ - # - # source://webrick//lib/webrick/httpresponse.rb#157 - def []=(field, value); end - - # Body may be: - # * a String; - # * an IO-like object that responds to +#read+ and +#readpartial+; - # * a Proc-like object that responds to +#call+. - # - # In the latter case, either #chunked= should be set to +true+, - # or header['content-length'] explicitly provided. - # Example: - # - # server.mount_proc '/' do |req, res| - # res.chunked = true - # # or - # # res.header['content-length'] = 10 - # res.body = proc { |out| out.write(Time.now.to_s) } - # end - # - # source://webrick//lib/webrick/httpresponse.rb#70 - def body; end - - # Body may be: - # * a String; - # * an IO-like object that responds to +#read+ and +#readpartial+; - # * a Proc-like object that responds to +#call+. - # - # In the latter case, either #chunked= should be set to +true+, - # or header['content-length'] explicitly provided. - # Example: - # - # server.mount_proc '/' do |req, res| - # res.chunked = true - # # or - # # res.header['content-length'] = 10 - # res.body = proc { |out| out.write(Time.now.to_s) } - # end - # - # source://webrick//lib/webrick/httpresponse.rb#70 - def body=(_arg0); end - - # Enables chunked transfer encoding. - # - # source://webrick//lib/webrick/httpresponse.rb#209 - def chunked=(val); end - - # Will this response body be returned using chunked transfer-encoding? - # - # @return [Boolean] - # - # source://webrick//lib/webrick/httpresponse.rb#202 - def chunked?; end - - # Configuration for this response - # - # source://webrick//lib/webrick/httpresponse.rb#101 - def config; end - - # The content-length header - # - # source://webrick//lib/webrick/httpresponse.rb#165 - def content_length; end - - # Sets the content-length header to +len+ - # - # source://webrick//lib/webrick/httpresponse.rb#174 - def content_length=(len); end - - # The content-type header - # - # source://webrick//lib/webrick/httpresponse.rb#181 - def content_type; end - - # Sets the content-type header to +type+ - # - # source://webrick//lib/webrick/httpresponse.rb#188 - def content_type=(type); end - - # Response cookies - # - # source://webrick//lib/webrick/httpresponse.rb#46 - def cookies; end - - # Iterates over each header in the response - # - # source://webrick//lib/webrick/httpresponse.rb#195 - def each; end - - # Filename of the static file in this response. Only used by the - # FileHandler servlet. - # - # source://webrick//lib/webrick/httpresponse.rb#91 - def filename; end - - # Filename of the static file in this response. Only used by the - # FileHandler servlet. - # - # source://webrick//lib/webrick/httpresponse.rb#91 - def filename=(_arg0); end - - # Response header - # - # source://webrick//lib/webrick/httpresponse.rb#41 - def header; end - - # HTTP Response version - # - # source://webrick//lib/webrick/httpresponse.rb#31 - def http_version; end - - # Is this a keep-alive response? - # - # source://webrick//lib/webrick/httpresponse.rb#96 - def keep_alive; end - - # Is this a keep-alive response? - # - # source://webrick//lib/webrick/httpresponse.rb#96 - def keep_alive=(_arg0); end - - # Will this response's connection be kept alive? - # - # @return [Boolean] - # - # source://webrick//lib/webrick/httpresponse.rb#216 - def keep_alive?; end - - # source://webrick//lib/webrick/httpresponse.rb#303 - def make_body_tempfile; end - - # Response reason phrase ("OK") - # - # source://webrick//lib/webrick/httpresponse.rb#51 - def reason_phrase; end - - # Response reason phrase ("OK") - # - # source://webrick//lib/webrick/httpresponse.rb#51 - def reason_phrase=(_arg0); end - - # source://webrick//lib/webrick/httpresponse.rb#321 - def remove_body_tempfile; end - - # Request HTTP version for this response - # - # source://webrick//lib/webrick/httpresponse.rb#85 - def request_http_version; end - - # Request HTTP version for this response - # - # source://webrick//lib/webrick/httpresponse.rb#85 - def request_http_version=(_arg0); end - - # Request method for this response - # - # source://webrick//lib/webrick/httpresponse.rb#75 - def request_method; end - - # Request method for this response - # - # source://webrick//lib/webrick/httpresponse.rb#75 - def request_method=(_arg0); end - - # Request URI for this response - # - # source://webrick//lib/webrick/httpresponse.rb#80 - def request_uri; end - - # Request URI for this response - # - # source://webrick//lib/webrick/httpresponse.rb#80 - def request_uri=(_arg0); end - - # Sends the body on +socket+ - # - # source://webrick//lib/webrick/httpresponse.rb#356 - def send_body(socket); end - - # Sends the headers on +socket+ - # - # source://webrick//lib/webrick/httpresponse.rb#333 - def send_header(socket); end - - # Sends the response on +socket+ - # - # source://webrick//lib/webrick/httpresponse.rb#223 - def send_response(socket); end - - # Bytes sent in this response - # - # source://webrick//lib/webrick/httpresponse.rb#106 - def sent_size; end - - # Creates an error page for exception +ex+ with an optional +backtrace+ - # - # source://webrick//lib/webrick/httpresponse.rb#383 - def set_error(ex, backtrace = T.unsafe(nil)); end - - # Redirects to +url+ with a WEBrick::HTTPStatus::Redirect +status+. - # - # Example: - # - # res.set_redirect WEBrick::HTTPStatus::TemporaryRedirect - # - # source://webrick//lib/webrick/httpresponse.rb#373 - def set_redirect(status, url); end - - # Sets up the headers for sending - # - # source://webrick//lib/webrick/httpresponse.rb#240 - def setup_header; end - - # Response status code (200) - # - # source://webrick//lib/webrick/httpresponse.rb#36 - def status; end - - # Sets the response's status to the +status+ code - # - # source://webrick//lib/webrick/httpresponse.rb#142 - def status=(status); end - - # The response's HTTP status line - # - # source://webrick//lib/webrick/httpresponse.rb#135 - def status_line; end - - private - - # preserved for compatibility with some 3rd-party handlers - # - # source://webrick//lib/webrick/httpresponse.rb#557 - def _write_data(socket, data); end - - # source://webrick//lib/webrick/httpresponse.rb#410 - def check_header(header_value); end - - # :stopdoc: - # - # source://webrick//lib/webrick/httpresponse.rb#421 - def error_body(backtrace, ex, host, port); end - - # source://webrick//lib/webrick/httpresponse.rb#451 - def send_body_io(socket); end - - # source://webrick//lib/webrick/httpresponse.rb#513 - def send_body_proc(socket); end - - # source://webrick//lib/webrick/httpresponse.rb#491 - def send_body_string(socket); end -end - -# source://webrick//lib/webrick/httpresponse.rb#531 -class WEBrick::HTTPResponse::ChunkedWrapper - # @return [ChunkedWrapper] a new instance of ChunkedWrapper - # - # source://webrick//lib/webrick/httpresponse.rb#532 - def initialize(socket, resp); end - - # source://webrick//lib/webrick/httpresponse.rb#550 - def <<(*buf); end - - # source://webrick//lib/webrick/httpresponse.rb#537 - def write(buf); end -end - -# An HTTP Server -# -# source://webrick//lib/webrick/httpserver.rb#44 -class WEBrick::HTTPServer < ::WEBrick::GenericServer - # Creates a new HTTP server according to +config+ - # - # An HTTP server uses the following attributes: - # - # :AccessLog:: An array of access logs. See WEBrick::AccessLog - # :BindAddress:: Local address for the server to bind to - # :DocumentRoot:: Root path to serve files from - # :DocumentRootOptions:: Options for the default HTTPServlet::FileHandler - # :HTTPVersion:: The HTTP version of this server - # :Port:: Port to listen on - # :RequestCallback:: Called with a request and response before each - # request is serviced. - # :RequestTimeout:: Maximum time to wait between requests - # :ServerAlias:: Array of alternate names for this server for virtual - # hosting - # :ServerName:: Name for this server for virtual hosting - # - # @return [HTTPServer] a new instance of HTTPServer - # - # source://webrick//lib/webrick/httpserver.rb#46 - def initialize(config = T.unsafe(nil), default = T.unsafe(nil)); end - - # Logs +req+ and +res+ in the access logs. +config+ is used for the - # server name. - # - # source://webrick//lib/webrick/httpserver.rb#220 - def access_log(config, req, res); end - - # Creates the HTTPRequest used when handling the HTTP - # request. Can be overridden by subclasses. - # - # source://webrick//lib/webrick/httpserver.rb#230 - def create_request(with_webrick_config); end - - # Creates the HTTPResponse used when handling the HTTP - # request. Can be overridden by subclasses. - # - # source://webrick//lib/webrick/httpserver.rb#237 - def create_response(with_webrick_config); end - - # The default OPTIONS request handler says GET, HEAD, POST and OPTIONS - # requests are allowed. - # - # source://webrick//lib/webrick/httpserver.rb#147 - def do_OPTIONS(req, res); end - - # Finds the appropriate virtual host to handle +req+ - # - # source://webrick//lib/webrick/httpserver.rb#207 - def lookup_server(req); end - - # Mounts +servlet+ on +dir+ passing +options+ to the servlet at creation - # time - # - # source://webrick//lib/webrick/httpserver.rb#155 - def mount(dir, servlet, *options); end - - # Mounts +proc+ or +block+ on +dir+ and calls it with a - # WEBrick::HTTPRequest and WEBrick::HTTPResponse - # - # @raise [HTTPServerError] - # - # source://webrick//lib/webrick/httpserver.rb#164 - def mount_proc(dir, proc = T.unsafe(nil), &block); end - - # Processes requests on +sock+ - # - # source://webrick//lib/webrick/httpserver.rb#69 - def run(sock); end - - # Finds a servlet for +path+ - # - # source://webrick//lib/webrick/httpserver.rb#182 - def search_servlet(path); end - - # Services +req+ and fills in +res+ - # - # @raise [HTTPStatus::NotFound] - # - # source://webrick//lib/webrick/httpserver.rb#125 - def service(req, res); end - - # Unmounts +dir+ - # - # source://webrick//lib/webrick/httpserver.rb#173 - def umount(dir); end - - # Unmounts +dir+ - # - # source://webrick//lib/webrick/httpserver.rb#173 - def unmount(dir); end - - # Adds +server+ as a virtual host. - # - # source://webrick//lib/webrick/httpserver.rb#193 - def virtual_host(server); end -end - -# Mount table for the path a servlet is mounted on in the directory space -# of the server. Users of WEBrick can only access this indirectly via -# WEBrick::HTTPServer#mount, WEBrick::HTTPServer#unmount and -# WEBrick::HTTPServer#search_servlet -# -# source://webrick//lib/webrick/httpserver.rb#247 -class WEBrick::HTTPServer::MountTable - # @return [MountTable] a new instance of MountTable - # - # source://webrick//lib/webrick/httpserver.rb#248 - def initialize; end - - # source://webrick//lib/webrick/httpserver.rb#253 - def [](dir); end - - # source://webrick//lib/webrick/httpserver.rb#258 - def []=(dir, val); end - - # source://webrick//lib/webrick/httpserver.rb#265 - def delete(dir); end - - # source://webrick//lib/webrick/httpserver.rb#272 - def scan(path); end - - private - - # source://webrick//lib/webrick/httpserver.rb#279 - def compile; end - - # source://webrick//lib/webrick/httpserver.rb#287 - def normalize(dir); end -end - -# AbstractServlet allows HTTP server modules to be reused across multiple -# servers and allows encapsulation of functionality. -# -# By default a servlet will respond to GET, HEAD (through an alias to GET) -# and OPTIONS requests. -# -# By default a new servlet is initialized for every request. A servlet -# instance can be reused by overriding ::get_instance in the -# AbstractServlet subclass. -# -# == A Simple Servlet -# -# class Simple < WEBrick::HTTPServlet::AbstractServlet -# def do_GET request, response -# status, content_type, body = do_stuff_with request -# -# response.status = status -# response['Content-Type'] = content_type -# response.body = body -# end -# -# def do_stuff_with request -# return 200, 'text/plain', 'you got a page' -# end -# end -# -# This servlet can be mounted on a server at a given path: -# -# server.mount '/simple', Simple -# -# == Servlet Configuration -# -# Servlets can be configured via initialize. The first argument is the -# HTTP server the servlet is being initialized for. -# -# class Configurable < Simple -# def initialize server, color, size -# super server -# @color = color -# @size = size -# end -# -# def do_stuff_with request -# content = "

Hello, World!" -# -# return 200, "text/html", content -# end -# end -# -# This servlet must be provided two arguments at mount time: -# -# server.mount '/configurable', Configurable, 'red', '2em' -# -# source://webrick//lib/webrick/httpservlet/abstract.rb#76 -class WEBrick::HTTPServlet::AbstractServlet - # Initializes a new servlet for +server+ using +options+ which are - # stored as-is in +@options+. +@logger+ is also provided. - # - # @return [AbstractServlet] a new instance of AbstractServlet - # - # source://webrick//lib/webrick/httpservlet/abstract.rb#91 - def initialize(server, *options); end - - # Raises a NotFound exception - # - # @raise [HTTPStatus::NotFound] - # - # source://webrick//lib/webrick/httpservlet/abstract.rb#115 - def do_GET(req, res); end - - # Dispatches to do_GET - # - # source://webrick//lib/webrick/httpservlet/abstract.rb#122 - def do_HEAD(req, res); end - - # Returns the allowed HTTP request methods - # - # source://webrick//lib/webrick/httpservlet/abstract.rb#129 - def do_OPTIONS(req, res); end - - # Dispatches to a +do_+ method based on +req+ if such a method is - # available. (+do_GET+ for a GET request). Raises a MethodNotAllowed - # exception if the method is not implemented. - # - # source://webrick//lib/webrick/httpservlet/abstract.rb#102 - def service(req, res); end - - private - - # Redirects to a path ending in / - # - # source://webrick//lib/webrick/httpservlet/abstract.rb#140 - def redirect_to_directory_uri(req, res); end - - class << self - # Factory for servlet instances that will handle a request from +server+ - # using +options+ from the mount point. By default a new servlet - # instance is created for every call. - # - # source://webrick//lib/webrick/httpservlet/abstract.rb#83 - def get_instance(server, *options); end - end -end - -# Servlet for handling CGI scripts -# -# Example: -# -# server.mount('/cgi/my_script', WEBrick::HTTPServlet::CGIHandler, -# '/path/to/my_script') -# -# source://webrick//lib/webrick/httpservlet/cgihandler.rb#28 -class WEBrick::HTTPServlet::CGIHandler < ::WEBrick::HTTPServlet::AbstractServlet - # Creates a new CGI script servlet for the script at +name+ - # - # @return [CGIHandler] a new instance of CGIHandler - # - # source://webrick//lib/webrick/httpservlet/cgihandler.rb#36 - def initialize(server, name); end - - # :stopdoc: - # - # @raise [HTTPStatus::InternalServerError] - # - # source://webrick//lib/webrick/httpservlet/cgihandler.rb#50 - def do_GET(req, res); end - - # :stopdoc: - # - # @raise [HTTPStatus::InternalServerError] - # - # source://webrick//lib/webrick/httpservlet/cgihandler.rb#50 - def do_POST(req, res); end -end - -# source://webrick//lib/webrick/httpservlet/cgihandler.rb#31 -WEBrick::HTTPServlet::CGIHandler::CGIRunnerArray = T.let(T.unsafe(nil), Array) - -# Servlet for serving a single file. You probably want to use the -# FileHandler servlet instead as it handles directories and fancy indexes. -# -# Example: -# -# server.mount('/my_page.txt', WEBrick::HTTPServlet::DefaultFileHandler, -# '/path/to/my_page.txt') -# -# This servlet handles If-Modified-Since and Range requests. -# -# source://webrick//lib/webrick/httpservlet/filehandler.rb#32 -class WEBrick::HTTPServlet::DefaultFileHandler < ::WEBrick::HTTPServlet::AbstractServlet - # Creates a DefaultFileHandler instance for the file at +local_path+. - # - # @return [DefaultFileHandler] a new instance of DefaultFileHandler - # - # source://webrick//lib/webrick/httpservlet/filehandler.rb#37 - def initialize(server, local_path); end - - # :stopdoc: - # - # source://webrick//lib/webrick/httpservlet/filehandler.rb#44 - def do_GET(req, res); end - - # source://webrick//lib/webrick/httpservlet/filehandler.rb#118 - def make_partial_content(req, res, filename, filesize); end - - # returns a lambda for webrick/httpresponse.rb send_body_proc - # - # source://webrick//lib/webrick/httpservlet/filehandler.rb#90 - def multipart_body(body, parts, boundary, mtype, filesize); end - - # @return [Boolean] - # - # source://webrick//lib/webrick/httpservlet/filehandler.rb#64 - def not_modified?(req, res, mtime, etag); end - - # source://webrick//lib/webrick/httpservlet/filehandler.rb#155 - def prepare_range(range, filesize); end -end - -# ERBHandler evaluates an ERB file and returns the result. This handler -# is automatically used if there are .rhtml files in a directory served by -# the FileHandler. -# -# ERBHandler supports GET and POST methods. -# -# The ERB file is evaluated with the local variables +servlet_request+ and -# +servlet_response+ which are a WEBrick::HTTPRequest and -# WEBrick::HTTPResponse respectively. -# -# Example .rhtml file: -# -# Request to <%= servlet_request.request_uri %> -# -# Query params <%= servlet_request.query.inspect %> -# -# source://webrick//lib/webrick/httpservlet/erbhandler.rb#36 -class WEBrick::HTTPServlet::ERBHandler < ::WEBrick::HTTPServlet::AbstractServlet - # Creates a new ERBHandler on +server+ that will evaluate and serve the - # ERB file +name+ - # - # @return [ERBHandler] a new instance of ERBHandler - # - # source://webrick//lib/webrick/httpservlet/erbhandler.rb#42 - def initialize(server, name); end - - # Handles GET requests - # - # source://webrick//lib/webrick/httpservlet/erbhandler.rb#50 - def do_GET(req, res); end - - # Handles GET requests - # - # Handles POST requests - # - # source://webrick//lib/webrick/httpservlet/erbhandler.rb#50 - def do_POST(req, res); end - - private - - # Evaluates +erb+ providing +servlet_request+ and +servlet_response+ as - # local variables. - # - # source://webrick//lib/webrick/httpservlet/erbhandler.rb#79 - def evaluate(erb, servlet_request, servlet_response); end -end - -# Serves a directory including fancy indexing and a variety of other -# options. -# -# Example: -# -# server.mount('/assets', WEBrick::HTTPServlet::FileHandler, -# '/path/to/assets') -# -# source://webrick//lib/webrick/httpservlet/filehandler.rb#175 -class WEBrick::HTTPServlet::FileHandler < ::WEBrick::HTTPServlet::AbstractServlet - # Creates a FileHandler servlet on +server+ that serves files starting - # at directory +root+ - # - # +options+ may be a Hash containing keys from - # WEBrick::Config::FileHandler or +true+ or +false+. - # - # If +options+ is true or false then +:FancyIndexing+ is enabled or - # disabled respectively. - # - # @return [FileHandler] a new instance of FileHandler - # - # source://webrick//lib/webrick/httpservlet/filehandler.rb#203 - def initialize(server, root, options = T.unsafe(nil), default = T.unsafe(nil)); end - - # source://webrick//lib/webrick/httpservlet/filehandler.rb#245 - def do_GET(req, res); end - - # source://webrick//lib/webrick/httpservlet/filehandler.rb#257 - def do_OPTIONS(req, res); end - - # source://webrick//lib/webrick/httpservlet/filehandler.rb#251 - def do_POST(req, res); end - - # source://webrick//lib/webrick/httpservlet/filehandler.rb#224 - def service(req, res); end - - # :stopdoc: - # - # source://webrick//lib/webrick/httpservlet/filehandler.rb#215 - def set_filesystem_encoding(str); end - - private - - # source://webrick//lib/webrick/httpservlet/filehandler.rb#416 - def call_callback(callback_name, req, res); end - - # source://webrick//lib/webrick/httpservlet/filehandler.rb#369 - def check_filename(req, res, name); end - - # @raise [HTTPStatus::NotFound] - # - # source://webrick//lib/webrick/httpservlet/filehandler.rb#309 - def exec_handler(req, res); end - - # source://webrick//lib/webrick/httpservlet/filehandler.rb#322 - def get_handler(req, res); end - - # @return [Boolean] - # - # source://webrick//lib/webrick/httpservlet/filehandler.rb#428 - def nondisclosure_name?(name); end - - # source://webrick//lib/webrick/httpservlet/filehandler.rb#286 - def prevent_directory_traversal(req, res); end - - # source://webrick//lib/webrick/httpservlet/filehandler.rb#394 - def search_file(req, res, basename); end - - # source://webrick//lib/webrick/httpservlet/filehandler.rb#385 - def search_index_file(req, res); end - - # source://webrick//lib/webrick/httpservlet/filehandler.rb#437 - def set_dir_list(req, res); end - - # source://webrick//lib/webrick/httpservlet/filehandler.rb#335 - def set_filename(req, res); end - - # source://webrick//lib/webrick/httpservlet/filehandler.rb#376 - def shift_path_info(req, res, path_info, base = T.unsafe(nil)); end - - # @return [Boolean] - # - # source://webrick//lib/webrick/httpservlet/filehandler.rb#277 - def trailing_pathsep?(path); end - - # @return [Boolean] - # - # source://webrick//lib/webrick/httpservlet/filehandler.rb#422 - def windows_ambiguous_name?(name); end - - class << self - # Allow custom handling of requests for files with +suffix+ by class - # +handler+ - # - # source://webrick//lib/webrick/httpservlet/filehandler.rb#182 - def add_handler(suffix, handler); end - - # Remove custom handling of requests for files with +suffix+ - # - # source://webrick//lib/webrick/httpservlet/filehandler.rb#189 - def remove_handler(suffix); end - end -end - -# This module is used to manager HTTP status codes. -# -# See http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html for more -# information. -# -# source://webrick//lib/webrick/httpstatus.rb#21 -module WEBrick::HTTPStatus - private - - # Is +code+ a client error status? - # - # @return [Boolean] - # - # source://webrick//lib/webrick/httpstatus.rb#170 - def client_error?(code); end - - # Is +code+ an error status? - # - # @return [Boolean] - # - # source://webrick//lib/webrick/httpstatus.rb#164 - def error?(code); end - - # Is +code+ an informational status? - # - # @return [Boolean] - # - # source://webrick//lib/webrick/httpstatus.rb#146 - def info?(code); end - - # Returns the description corresponding to the HTTP status +code+ - # - # WEBrick::HTTPStatus.reason_phrase 404 - # => "Not Found" - # - # source://webrick//lib/webrick/httpstatus.rb#140 - def reason_phrase(code); end - - # Is +code+ a redirection status? - # - # @return [Boolean] - # - # source://webrick//lib/webrick/httpstatus.rb#158 - def redirect?(code); end - - # Is +code+ a server error status? - # - # @return [Boolean] - # - # source://webrick//lib/webrick/httpstatus.rb#176 - def server_error?(code); end - - # Is +code+ a successful status? - # - # @return [Boolean] - # - # source://webrick//lib/webrick/httpstatus.rb#152 - def success?(code); end - - class << self - # Returns the status class corresponding to +code+ - # - # WEBrick::HTTPStatus[302] - # => WEBrick::HTTPStatus::NotFound - # - # source://webrick//lib/webrick/httpstatus.rb#186 - def [](code); end - - # Is +code+ a client error status? - # - # @return [Boolean] - # - # source://webrick//lib/webrick/httpstatus.rb#170 - def client_error?(code); end - - # Is +code+ an error status? - # - # @return [Boolean] - # - # source://webrick//lib/webrick/httpstatus.rb#164 - def error?(code); end - - # Is +code+ an informational status? - # - # @return [Boolean] - # - # source://webrick//lib/webrick/httpstatus.rb#146 - def info?(code); end - - # Returns the description corresponding to the HTTP status +code+ - # - # WEBrick::HTTPStatus.reason_phrase 404 - # => "Not Found" - # - # source://webrick//lib/webrick/httpstatus.rb#140 - def reason_phrase(code); end - - # Is +code+ a redirection status? - # - # @return [Boolean] - # - # source://webrick//lib/webrick/httpstatus.rb#158 - def redirect?(code); end - - # Is +code+ a server error status? - # - # @return [Boolean] - # - # source://webrick//lib/webrick/httpstatus.rb#176 - def server_error?(code); end - - # Is +code+ a successful status? - # - # @return [Boolean] - # - # source://webrick//lib/webrick/httpstatus.rb#152 - def success?(code); end - end -end - -# Root of the HTTP status class hierarchy -# -# source://webrick//lib/webrick/httpstatus.rb#25 -class WEBrick::HTTPStatus::Status < ::StandardError - # Returns the HTTP status code - # - # source://webrick//lib/webrick/httpstatus.rb#31 - def code; end - - # Returns the HTTP status description - # - # source://webrick//lib/webrick/httpstatus.rb#34 - def reason_phrase; end - - # Returns the HTTP status code - # - # source://webrick//lib/webrick/httpstatus.rb#31 - def to_i; end - - class << self - # source://webrick//lib/webrick/httpstatus.rb#27 - def code; end - - # source://webrick//lib/webrick/httpstatus.rb#27 - def reason_phrase; end - end -end - -# HTTPUtils provides utility methods for working with the HTTP protocol. -# -# This module is generally used internally by WEBrick -# -# source://webrick//lib/webrick/httputils.rb#25 -module WEBrick::HTTPUtils - private - - # source://webrick//lib/webrick/httputils.rb#443 - def _escape(str, regex); end - - # :stopdoc: - # - # source://webrick//lib/webrick/httputils.rb#441 - def _make_regex(str); end - - # source://webrick//lib/webrick/httputils.rb#442 - def _make_regex!(str); end - - # source://webrick//lib/webrick/httputils.rb#449 - def _unescape(str, regex); end - - # Removes quotes and escapes from +str+ - # - # source://webrick//lib/webrick/httputils.rb#223 - def dequote(str); end - - # Escapes HTTP reserved and unwise characters in +str+ - # - # source://webrick//lib/webrick/httputils.rb#467 - def escape(str); end - - # Escapes 8 bit characters in +str+ - # - # source://webrick//lib/webrick/httputils.rb#508 - def escape8bit(str); end - - # Escapes form reserved characters in +str+ - # - # source://webrick//lib/webrick/httputils.rb#481 - def escape_form(str); end - - # Escapes path +str+ - # - # source://webrick//lib/webrick/httputils.rb#497 - def escape_path(str); end - - # Loads Apache-compatible mime.types in +file+. - # - # source://webrick//lib/webrick/httputils.rb#112 - def load_mime_types(file); end - - # Returns the mime type of +filename+ from the list in +mime_tab+. If no - # mime type was found application/octet-stream is returned. - # - # source://webrick//lib/webrick/httputils.rb#134 - def mime_type(filename, mime_tab); end - - # Normalizes a request path. Raises an exception if the path cannot be - # normalized. - # - # source://webrick//lib/webrick/httputils.rb#31 - def normalize_path(path); end - - # Parses form data in +io+ with the given +boundary+ - # - # source://webrick//lib/webrick/httputils.rb#395 - def parse_form_data(io, boundary); end - - # Parses an HTTP header +raw+ into a hash of header fields with an Array - # of values. - # - # source://webrick//lib/webrick/httputils.rb#145 - def parse_header(raw); end - - # Parses the query component of a URI in +str+ - # - # source://webrick//lib/webrick/httputils.rb#371 - def parse_query(str); end - - # Parses q values in +value+ as used in Accept headers. - # - # source://webrick//lib/webrick/httputils.rb#202 - def parse_qvalues(value); end - - # Parses a Range header value +ranges_specifier+ - # - # source://webrick//lib/webrick/httputils.rb#184 - def parse_range_header(ranges_specifier); end - - # Quotes and escapes quotes in +str+ - # - # source://webrick//lib/webrick/httputils.rb#233 - def quote(str); end - - # Splits a header value +str+ according to HTTP specification. - # - # source://webrick//lib/webrick/httputils.rb#175 - def split_header_value(str); end - - # Unescapes HTTP reserved and unwise characters in +str+ - # - # source://webrick//lib/webrick/httputils.rb#474 - def unescape(str); end - - # Unescapes form reserved characters in +str+ - # - # source://webrick//lib/webrick/httputils.rb#490 - def unescape_form(str); end - - class << self - # source://webrick//lib/webrick/httputils.rb#443 - def _escape(str, regex); end - - # :stopdoc: - # - # source://webrick//lib/webrick/httputils.rb#441 - def _make_regex(str); end - - # source://webrick//lib/webrick/httputils.rb#442 - def _make_regex!(str); end - - # source://webrick//lib/webrick/httputils.rb#449 - def _unescape(str, regex); end - - # Removes quotes and escapes from +str+ - # - # source://webrick//lib/webrick/httputils.rb#223 - def dequote(str); end - - # Escapes HTTP reserved and unwise characters in +str+ - # - # source://webrick//lib/webrick/httputils.rb#467 - def escape(str); end - - # Escapes 8 bit characters in +str+ - # - # source://webrick//lib/webrick/httputils.rb#508 - def escape8bit(str); end - - # Escapes form reserved characters in +str+ - # - # source://webrick//lib/webrick/httputils.rb#481 - def escape_form(str); end - - # Escapes path +str+ - # - # source://webrick//lib/webrick/httputils.rb#497 - def escape_path(str); end - - # Loads Apache-compatible mime.types in +file+. - # - # source://webrick//lib/webrick/httputils.rb#112 - def load_mime_types(file); end - - # Returns the mime type of +filename+ from the list in +mime_tab+. If no - # mime type was found application/octet-stream is returned. - # - # source://webrick//lib/webrick/httputils.rb#134 - def mime_type(filename, mime_tab); end - - # Normalizes a request path. Raises an exception if the path cannot be - # normalized. - # - # source://webrick//lib/webrick/httputils.rb#31 - def normalize_path(path); end - - # Parses form data in +io+ with the given +boundary+ - # - # source://webrick//lib/webrick/httputils.rb#395 - def parse_form_data(io, boundary); end - - # Parses an HTTP header +raw+ into a hash of header fields with an Array - # of values. - # - # source://webrick//lib/webrick/httputils.rb#145 - def parse_header(raw); end - - # Parses the query component of a URI in +str+ - # - # source://webrick//lib/webrick/httputils.rb#371 - def parse_query(str); end - - # Parses q values in +value+ as used in Accept headers. - # - # source://webrick//lib/webrick/httputils.rb#202 - def parse_qvalues(value); end - - # Parses a Range header value +ranges_specifier+ - # - # source://webrick//lib/webrick/httputils.rb#184 - def parse_range_header(ranges_specifier); end - - # Quotes and escapes quotes in +str+ - # - # source://webrick//lib/webrick/httputils.rb#233 - def quote(str); end - - # Splits a header value +str+ according to HTTP specification. - # - # source://webrick//lib/webrick/httputils.rb#175 - def split_header_value(str); end - - # Unescapes HTTP reserved and unwise characters in +str+ - # - # source://webrick//lib/webrick/httputils.rb#474 - def unescape(str); end - - # Unescapes form reserved characters in +str+ - # - # source://webrick//lib/webrick/httputils.rb#490 - def unescape_form(str); end - end -end - -# Stores multipart form data. FormData objects are created when -# WEBrick::HTTPUtils.parse_form_data is called. -# -# source://webrick//lib/webrick/httputils.rb#242 -class WEBrick::HTTPUtils::FormData < ::String - # Creates a new FormData object. - # - # +args+ is an Array of form data entries. One FormData will be created - # for each entry. - # - # This is called by WEBrick::HTTPUtils.parse_form_data for you - # - # @return [FormData] a new instance of FormData - # - # source://webrick//lib/webrick/httputils.rb#267 - def initialize(*args); end - - # Adds +str+ to this FormData which may be the body, a header or a - # header entry. - # - # This is called by WEBrick::HTTPUtils.parse_form_data for you - # - # source://webrick//lib/webrick/httputils.rb#300 - def <<(str); end - - # Retrieves the header at the first entry in +key+ - # - # source://webrick//lib/webrick/httputils.rb#286 - def [](*key); end - - # Adds +data+ at the end of the chain of entries - # - # This is called by WEBrick::HTTPUtils.parse_form_data for you. - # - # source://webrick//lib/webrick/httputils.rb#320 - def append_data(data); end - - # Yields each entry in this FormData - # - # source://webrick//lib/webrick/httputils.rb#335 - def each_data; end - - # The filename of the form data part - # - # source://webrick//lib/webrick/httputils.rb#254 - def filename; end - - # The filename of the form data part - # - # source://webrick//lib/webrick/httputils.rb#254 - def filename=(_arg0); end - - # Returns all the FormData as an Array - # - # source://webrick//lib/webrick/httputils.rb#347 - def list; end - - # The name of the form data part - # - # source://webrick//lib/webrick/httputils.rb#249 - def name; end - - # The name of the form data part - # - # source://webrick//lib/webrick/httputils.rb#249 - def name=(_arg0); end - - # source://webrick//lib/webrick/httputils.rb#256 - def next_data=(_arg0); end - - # Returns all the FormData as an Array - # - # A FormData will behave like an Array - # - # source://webrick//lib/webrick/httputils.rb#347 - def to_ary; end - - # This FormData's body - # - # source://webrick//lib/webrick/httputils.rb#363 - def to_s; end - - protected - - # source://webrick//lib/webrick/httputils.rb#256 - def next_data; end -end - -# source://webrick//lib/webrick/utils.rb#17 -module WEBrick::Utils - private - - # Creates TCP server sockets bound to +address+:+port+ and returns them. - # - # It will create IPV4 and IPV6 sockets on all interfaces. - # - # source://webrick//lib/webrick/utils.rb#56 - def create_listeners(address, port); end - - # The server hostname - # - # source://webrick//lib/webrick/utils.rb#47 - def getservername; end - - # Generates a random string of length +len+ - # - # source://webrick//lib/webrick/utils.rb#79 - def random_string(len); end - - # Sets the close on exec flag for +io+ - # - # source://webrick//lib/webrick/utils.rb#27 - def set_close_on_exec(io); end - - # Sets IO operations on +io+ to be non-blocking - # - # source://webrick//lib/webrick/utils.rb#20 - def set_non_blocking(io); end - - # Changes the process's uid and gid to the ones of +user+ - # - # source://webrick//lib/webrick/utils.rb#34 - def su(user); end - - # Executes the passed block and raises +exception+ if execution takes more - # than +seconds+. - # - # If +seconds+ is zero or nil, simply executes the block - # - # source://webrick//lib/webrick/utils.rb#253 - def timeout(seconds, exception = T.unsafe(nil)); end - - class << self - # Creates TCP server sockets bound to +address+:+port+ and returns them. - # - # It will create IPV4 and IPV6 sockets on all interfaces. - # - # source://webrick//lib/webrick/utils.rb#56 - def create_listeners(address, port); end - - # The server hostname - # - # source://webrick//lib/webrick/utils.rb#47 - def getservername; end - - # Generates a random string of length +len+ - # - # source://webrick//lib/webrick/utils.rb#79 - def random_string(len); end - - # Sets the close on exec flag for +io+ - # - # source://webrick//lib/webrick/utils.rb#27 - def set_close_on_exec(io); end - - # Sets IO operations on +io+ to be non-blocking - # - # source://webrick//lib/webrick/utils.rb#20 - def set_non_blocking(io); end - - # Changes the process's uid and gid to the ones of +user+ - # - # source://webrick//lib/webrick/utils.rb#34 - def su(user); end - - # Executes the passed block and raises +exception+ if execution takes more - # than +seconds+. - # - # If +seconds+ is zero or nil, simply executes the block - # - # source://webrick//lib/webrick/utils.rb#253 - def timeout(seconds, exception = T.unsafe(nil)); end - end -end - -# Class used to manage timeout handlers across multiple threads. -# -# Timeout handlers should be managed by using the class methods which are -# synchronized. -# -# id = TimeoutHandler.register(10, Timeout::Error) -# begin -# sleep 20 -# puts 'foo' -# ensure -# TimeoutHandler.cancel(id) -# end -# -# will raise Timeout::Error -# -# id = TimeoutHandler.register(10, Timeout::Error) -# begin -# sleep 5 -# puts 'foo' -# ensure -# TimeoutHandler.cancel(id) -# end -# -# will print 'foo' -# -# source://webrick//lib/webrick/utils.rb#118 -class WEBrick::Utils::TimeoutHandler - include ::Singleton - extend ::Singleton::SingletonClassMethods - - # Creates a new TimeoutHandler. You should use ::register and ::cancel - # instead of creating the timeout handler directly. - # - # @return [TimeoutHandler] a new instance of TimeoutHandler - # - # source://webrick//lib/webrick/utils.rb#148 - def initialize; end - - # Cancels the timeout handler +id+ - # - # source://webrick//lib/webrick/utils.rb#226 - def cancel(thread, id); end - - # Interrupts the timeout handler +id+ and raises +exception+ - # - # source://webrick//lib/webrick/utils.rb#203 - def interrupt(thread, id, exception); end - - # Registers a new timeout handler - # - # +time+:: Timeout in seconds - # +exception+:: Exception to raise when timeout elapsed - # - # source://webrick//lib/webrick/utils.rb#214 - def register(thread, time, exception); end - - # source://webrick//lib/webrick/utils.rb#240 - def terminate; end - - private - - # source://webrick//lib/webrick/utils.rb#158 - def watch; end - - # source://webrick//lib/webrick/utils.rb#193 - def watcher; end - - class << self - # Cancels the timeout handler +id+ - # - # source://webrick//lib/webrick/utils.rb#137 - def cancel(id); end - - # Registers a new timeout handler - # - # +time+:: Timeout in seconds - # +exception+:: Exception to raise when timeout elapsed - # - # source://webrick//lib/webrick/utils.rb#130 - def register(seconds, exception); end - - # source://webrick//lib/webrick/utils.rb#141 - def terminate; end - end -end diff --git a/sorbet/rbi/gems/yard-sorbet@0.8.0.rbi b/sorbet/rbi/gems/yard-sorbet@0.8.1.rbi similarity index 92% rename from sorbet/rbi/gems/yard-sorbet@0.8.0.rbi rename to sorbet/rbi/gems/yard-sorbet@0.8.1.rbi index 9fbe008..75797b6 100644 --- a/sorbet/rbi/gems/yard-sorbet@0.8.0.rbi +++ b/sorbet/rbi/gems/yard-sorbet@0.8.1.rbi @@ -231,7 +231,7 @@ class YARDSorbet::Handlers::StructPropHandler < ::YARD::Handlers::Ruby::Base def make_prop(name); end # source://yard-sorbet//lib/yard-sorbet/handlers/struct_prop_handler.rb#60 - sig { returns(T::Array[T.untyped]) } + sig { returns(T::Array[::YARD::Parser::Ruby::AstNode]) } def params; end # Register the field explicitly as an attribute. @@ -322,67 +322,54 @@ module YARDSorbet::SigToYARD class << self # @see https://yardoc.org/types.html # - # source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#22 + # source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#23 sig { params(node: ::YARD::Parser::Ruby::AstNode).returns(T::Array[::String]) } def convert(node); end private - # source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#55 + # source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#61 sig { params(node: ::YARD::Parser::Ruby::AstNode).returns(::String) } def build_generic_type(node); end - # source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#64 + # source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#70 sig { params(node: ::YARD::Parser::Ruby::AstNode).returns(T::Array[::String]) } def convert_aref(node); end - # source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#76 + # source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#82 sig { params(node: ::YARD::Parser::Ruby::AstNode).returns([::String]) } def convert_array(node); end - # source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#84 - sig { params(node: ::YARD::Parser::Ruby::MethodCallNode).returns(T::Array[::String]) } - def convert_call(node); end - - # source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#89 + # source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#90 sig { params(node: ::YARD::Parser::Ruby::AstNode).returns([::String]) } def convert_collection(node); end - # source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#96 + # source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#97 sig { params(node: ::YARD::Parser::Ruby::AstNode).returns([::String]) } def convert_hash(node); end - # source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#104 + # source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#105 sig { params(node: ::YARD::Parser::Ruby::AstNode).returns(T::Array[::String]) } def convert_list(node); end - # source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#28 + # source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#31 sig { params(node: ::YARD::Parser::Ruby::AstNode).returns(T::Array[::String]) } def convert_node(node); end - # source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#37 + # source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#43 sig { params(node: ::YARD::Parser::Ruby::AstNode).returns(T::Array[::String]) } def convert_node_type(node); end - # source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#109 - sig { params(node_source: ::String).returns([::String]) } - def convert_ref(node_source); end - - # source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#114 + # source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#110 sig { params(node: ::YARD::Parser::Ruby::MethodCallNode).returns(T::Array[::String]) } def convert_t_method(node); end - # source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#125 + # source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#121 sig { params(node: ::YARD::Parser::Ruby::AstNode).returns([::String]) } def convert_unknown(node); end end end -# Map of common types to YARD conventions (in order to reduce allocations) -# -# source://yard-sorbet//lib/yard-sorbet/sig_to_yard.rb#10 -YARDSorbet::SigToYARD::REF_TYPES = T.let(T.unsafe(nil), Hash) - # Used to store the details of a `T::Struct` `prop` definition # # source://yard-sorbet//lib/yard-sorbet/t_struct_prop.rb#6 @@ -394,7 +381,7 @@ class YARDSorbet::TStructProp < ::T::Struct const :types, T::Array[::String] class << self - # source://sorbet-runtime/0.5.10712/lib/types/struct.rb#13 + # source://sorbet-runtime/0.5.10908/lib/types/struct.rb#13 def inherited(s); end end end diff --git a/sorbet/rbi/gems/yard@0.9.28.rbi b/sorbet/rbi/gems/yard@0.9.34.rbi similarity index 95% rename from sorbet/rbi/gems/yard@0.9.28.rbi rename to sorbet/rbi/gems/yard@0.9.34.rbi index 6999532..fbb05f8 100644 --- a/sorbet/rbi/gems/yard@0.9.28.rbi +++ b/sorbet/rbi/gems/yard@0.9.34.rbi @@ -100,11 +100,6 @@ end # source://yard//lib/yard/rubygems/backports/source_index.rb#363 Gem::Cache = Gem::SourceIndex -Gem::ConfigMap = T.let(T.unsafe(nil), Hash) -Gem::KERNEL_WARN_IGNORES_INTERNAL_ENTRIES = T.let(T.unsafe(nil), TrueClass) -Gem::RbConfigPriorities = T.let(T.unsafe(nil), Array) -Gem::RubyGemsVersion = T.let(T.unsafe(nil), String) - # The SourceIndex object indexes all the gems available from a # particular source (e.g. a list of gem directories, or a remote # source). A SourceIndex maps a gem full name to a gem @@ -287,9 +282,6 @@ class Gem::SourceIndex end end -Gem::UNTAINT = T.let(T.unsafe(nil), Proc) -Gem::UnsatisfiableDepedencyError = Gem::UnsatisfiableDependencyError - # source://yard//lib/yard/parser/ruby/legacy/irb/slex.rb#17 class IRB::SLex # @return [SLex] a new instance of SLex @@ -473,6 +465,7 @@ end class Object < ::BasicObject include ::Kernel + include ::PP::ObjectMixin private @@ -510,7 +503,7 @@ end # A subclass of Hash where all keys are converted into Symbols, and # optionally, all String values are converted into Symbols. # -# source://yard//lib/yard/core_ext/symbol_hash.rb#8 +# source://yard//lib/yard/core_ext/symbol_hash.rb#4 class SymbolHash < ::Hash # Creates a new SymbolHash object # @@ -597,31 +590,6 @@ class SymbolHash < ::Hash end end -# @private -# -# source://yard//lib/yard/server/webrick_adapter.rb#42 -class WEBrick::HTTPRequest - # Returns the value of attribute version_supplied. - # - # source://yard//lib/yard/server/webrick_adapter.rb#43 - def version_supplied; end - - # Sets the attribute version_supplied - # - # @param value the value to set the attribute version_supplied to. - # - # source://yard//lib/yard/server/webrick_adapter.rb#43 - def version_supplied=(_arg0); end - - # @return [Boolean] - # - # source://yard//lib/yard/server/webrick_adapter.rb#44 - def xhr?; end -end - -# source://webrick/1.7.0/lib/webrick/httprequest.rb#449 -WEBrick::HTTPRequest::MAX_HEADER_LENGTH = T.let(T.unsafe(nil), Integer) - # Gem::YARDoc provides methods to generate YARDoc and yri data for installed gems # upon gem installation. # @@ -840,7 +808,7 @@ end # # @since 0.6.2 # -# source://yard//lib/yard/cli/config.rb#7 +# source://yard//lib/yard/cli/config.rb#6 class YARD::CLI::Config < ::YARD::CLI::Command # @return [Config] a new instance of Config # @since 0.6.2 @@ -1161,7 +1129,7 @@ end # @see Graph#run # @since 0.6.0 # -# source://yard//lib/yard/cli/graph.rb#27 +# source://yard//lib/yard/cli/graph.rb#24 class YARD::CLI::Graph < ::YARD::CLI::YardoptsCommand # Creates a new instance of the command-line utility # @@ -1221,7 +1189,7 @@ end # Options to pass to the {Graph} CLI. # -# source://yard//lib/yard/cli/graph.rb#6 +# source://yard//lib/yard/cli/graph.rb#5 class YARD::CLI::GraphOptions < ::YARD::Templates::TemplateOptions # @return [String] any contents to pass to the digraph # @@ -1361,7 +1329,7 @@ end # # @since 0.6.0 # -# source://yard//lib/yard/cli/server.rb#8 +# source://yard//lib/yard/cli/server.rb#7 class YARD::CLI::Server < ::YARD::CLI::Command # Creates a new instance of the Server command line utility # @@ -1664,7 +1632,7 @@ YARD::CLI::Stats::STATS_ORDER = T.let(T.unsafe(nil), Array) # A tool to view documentation in the console like `ri` # -# source://yard//lib/yard/cli/yri.rb#9 +# source://yard//lib/yard/cli/yri.rb#7 class YARD::CLI::YRI < ::YARD::CLI::Command # @return [YRI] a new instance of YRI # @@ -1794,7 +1762,7 @@ YARD::CLI::YRI::DEFAULT_SEARCH_PATHS = T.let(T.unsafe(nil), Array) # source://yard//lib/yard/cli/yri.rb#15 YARD::CLI::YRI::SEARCH_PATHS_FILE = T.let(T.unsafe(nil), String) -# source://yard//lib/yard/cli/yardoc.rb#147 +# source://yard//lib/yard/cli/yardoc.rb#145 class YARD::CLI::Yardoc < ::YARD::CLI::YardoptsCommand # Creates a new instance of the commandline utility # @@ -2131,7 +2099,7 @@ class YARD::CLI::Yardoc < ::YARD::CLI::YardoptsCommand # Generates output for objects # - # @param checksums [Hash, nil] if supplied, a list of checkums for files. + # @param checksums [Hash, nil] if supplied, a list of checksums for files. # @return [void] # @since 0.5.1 # @@ -2167,7 +2135,7 @@ end # Default options used in +yard doc+ command. # -# source://yard//lib/yard/cli/yardoc.rb#10 +# source://yard//lib/yard/cli/yardoc.rb#8 class YARD::CLI::YardocOptions < ::YARD::Templates::TemplateOptions # @return [CodeObjects::ExtraFileObject] the file object being rendered. # The +object+ key is not used so that a file may be rendered in the context @@ -2295,7 +2263,7 @@ end # @abstract # @since 0.8.3 # -# source://yard//lib/yard/cli/yardopts_command.rb#11 +# source://yard//lib/yard/cli/yardopts_command.rb#10 class YARD::CLI::YardoptsCommand < ::YARD::CLI::Command # Creates a new command that reads .yardopts # @@ -2552,7 +2520,7 @@ class YARD::CodeObjects::Base # @see Docstring#add_tag # @since 0.8.4 # - # source://yard//lib/yard/code_objects/base.rb#557 + # source://yard//lib/yard/code_objects/base.rb#560 def add_tag(*tags); end # The non-localized documentation string associated with the object @@ -2661,7 +2629,7 @@ class YARD::CodeObjects::Base # @return [String] the rendered template # @see Templates::Engine#render # - # source://yard//lib/yard/code_objects/base.rb#501 + # source://yard//lib/yard/code_objects/base.rb#504 def format(options = T.unsafe(nil)); end # @return [String] the group this object is associated with @@ -2681,7 +2649,7 @@ class YARD::CodeObjects::Base # @return [Boolean] # @see Docstring#has_tag? # - # source://yard//lib/yard/code_objects/base.rb#552 + # source://yard//lib/yard/code_objects/base.rb#555 def has_tag?(name); end # @return [Integer] the object's hash value (for equality checking) @@ -2693,7 +2661,7 @@ class YARD::CodeObjects::Base # # @return [String] a string describing the object # - # source://yard//lib/yard/code_objects/base.rb#509 + # source://yard//lib/yard/code_objects/base.rb#512 def inspect; end # Returns the line the object was first parsed at (or nil) @@ -2735,7 +2703,7 @@ class YARD::CodeObjects::Base # for {Registry.root}). If obj is nil, the object is unregistered # from the Registry. # - # source://yard//lib/yard/code_objects/base.rb#518 + # source://yard//lib/yard/code_objects/base.rb#521 def namespace=(obj); end # The namespace the object is defined in. If the object is in the @@ -2752,7 +2720,7 @@ class YARD::CodeObjects::Base # for {Registry.root}). If obj is nil, the object is unregistered # from the Registry. # - # source://yard//lib/yard/code_objects/base.rb#518 + # source://yard//lib/yard/code_objects/base.rb#521 def parent=(obj); end # Represents the unique path of the object. The default implementation @@ -2765,19 +2733,19 @@ class YARD::CodeObjects::Base # @return [String] the unique path of the object # @see #sep # - # source://yard//lib/yard/code_objects/base.rb#449 + # source://yard//lib/yard/code_objects/base.rb#452 def path; end # @param other [Base, String] another code object (or object path) # @return [String] the shortest relative path from this object to +other+ # @since 0.5.3 # - # source://yard//lib/yard/code_objects/base.rb#471 + # source://yard//lib/yard/code_objects/base.rb#474 def relative_path(other); end # @return [Boolean] whether or not this object is a RootObject # - # source://yard//lib/yard/code_objects/base.rb#563 + # source://yard//lib/yard/code_objects/base.rb#566 def root?; end # Override this method with a custom component separator. For instance, @@ -2788,7 +2756,7 @@ class YARD::CodeObjects::Base # @return [String] the component that separates the namespace path # and the name (default is {NSEP}) # - # source://yard//lib/yard/code_objects/base.rb#572 + # source://yard//lib/yard/code_objects/base.rb#575 def sep; end # The one line signature representing an object. For a method, this will @@ -2844,14 +2812,14 @@ class YARD::CodeObjects::Base # # @see Docstring#tag # - # source://yard//lib/yard/code_objects/base.rb#544 + # source://yard//lib/yard/code_objects/base.rb#547 def tag(name); end # Gets a list of tags from the {#docstring} # # @see Docstring#tags # - # source://yard//lib/yard/code_objects/base.rb#548 + # source://yard//lib/yard/code_objects/base.rb#551 def tags(name = T.unsafe(nil)); end # @note Override this method if your object has a special title that does @@ -2860,7 +2828,7 @@ class YARD::CodeObjects::Base # @return [String] the display title for an object # @see 0.8.4 # - # source://yard//lib/yard/code_objects/base.rb#464 + # source://yard//lib/yard/code_objects/base.rb#467 def title; end # @return [nil] this object does not turn into an array @@ -2878,7 +2846,7 @@ class YARD::CodeObjects::Base # @return [String] the unique path of the object # @see #sep # - # source://yard//lib/yard/code_objects/base.rb#449 + # source://yard//lib/yard/code_objects/base.rb#452 def to_s; end # Default type is the lowercase class name without the "Object" suffix. @@ -2909,7 +2877,7 @@ class YARD::CodeObjects::Base # @see #copy_to # @since 0.8.0 # - # source://yard//lib/yard/code_objects/base.rb#583 + # source://yard//lib/yard/code_objects/base.rb#586 def copyable_attributes; end private @@ -2919,10 +2887,10 @@ class YARD::CodeObjects::Base # @param source [String] the source code to format # @return [String] formatted source # - # source://yard//lib/yard/code_objects/base.rb#595 + # source://yard//lib/yard/code_objects/base.rb#598 def format_source(source); end - # source://yard//lib/yard/code_objects/base.rb#602 + # source://yard//lib/yard/code_objects/base.rb#605 def translate_docstring(locale); end class << self @@ -2969,7 +2937,7 @@ YARD::CodeObjects::CSEPQ = T.let(T.unsafe(nil), String) # A ClassObject represents a Ruby class in source code. It is a {ModuleObject} # with extra inheritance semantics through the superclass. # -# source://yard//lib/yard/code_objects/class_object.rb#9 +# source://yard//lib/yard/code_objects/class_object.rb#7 class YARD::CodeObjects::ClassObject < ::YARD::CodeObjects::NamespaceObject # Creates a new class object in +namespace+ with +name+ # @@ -3050,7 +3018,7 @@ end # Represents a class variable inside a namespace. The path is expressed # in the form "A::B::@@classvariable" # -# source://yard//lib/yard/code_objects/class_variable_object.rb#8 +# source://yard//lib/yard/code_objects/class_variable_object.rb#7 class YARD::CodeObjects::ClassVariableObject < ::YARD::CodeObjects::Base # @return [String] the class variable's value # @@ -3066,7 +3034,7 @@ end # A list of code objects. This array acts like a set (no unique items) # but also disallows any {Proxy} objects from being added. # -# source://yard//lib/yard/code_objects/base.rb#10 +# source://yard//lib/yard/code_objects/base.rb#6 class YARD::CodeObjects::CodeObjectList < ::Array # Creates a new object list associated with a namespace # @@ -3096,7 +3064,7 @@ end # A +ConstantObject+ represents a Ruby constant (not a module or class). # To access the constant's (source code) value, use {#value}. # -# source://yard//lib/yard/code_objects/constant_object.rb#9 +# source://yard//lib/yard/code_objects/constant_object.rb#7 class YARD::CodeObjects::ConstantObject < ::YARD::CodeObjects::Base # The source code representing the constant's value # @@ -3463,7 +3431,7 @@ YARD::CodeObjects::MacroObject::MACRO_MATCH = T.let(T.unsafe(nil), Regexp) # Represents a Ruby method in source # -# source://yard//lib/yard/code_objects/method_object.rb#10 +# source://yard//lib/yard/code_objects/method_object.rb#7 class YARD::CodeObjects::MethodObject < ::YARD::CodeObjects::Base # Creates a new method object in +namespace+ with +name+ and an instance # or class +scope+ @@ -3636,7 +3604,7 @@ end # Represents a Ruby module. # -# source://yard//lib/yard/code_objects/module_object.rb#11 +# source://yard//lib/yard/code_objects/module_object.rb#6 class YARD::CodeObjects::ModuleObject < ::YARD::CodeObjects::NamespaceObject # Returns the inheritance tree of mixins. # @@ -3801,7 +3769,7 @@ end # The two main Ruby objects that can act as namespaces are modules # ({ModuleObject}) and classes ({ClassObject}). # -# source://yard//lib/yard/code_objects/namespace_object.rb#11 +# source://yard//lib/yard/code_objects/namespace_object.rb#9 class YARD::CodeObjects::NamespaceObject < ::YARD::CodeObjects::Base # Creates a new namespace object inside +namespace+ with +name+. # @@ -4773,7 +4741,7 @@ YARD::Docstring::META_MATCH = T.let(T.unsafe(nil), Regexp) # # == Subclassing Notes # -# The DocstringParser can be subclassed and subtituted during parsing by +# The DocstringParser can be subclassed and substituted during parsing by # setting the {Docstring.default_parser} attribute with the name of the # subclass. This allows developers to change the way docstrings are # parsed, allowing for completely different docstring syntaxes. @@ -5947,7 +5915,7 @@ class YARD::Handlers::HandlerAborted < ::RuntimeError; end # an operation on an object's namespace but the namespace could # not be resolved. # -# source://yard//lib/yard/handlers/base.rb#15 +# source://yard//lib/yard/handlers/base.rb#13 class YARD::Handlers::NamespaceMissingError < ::YARD::Parser::UndocumentableError # @return [NamespaceMissingError] a new instance of NamespaceMissingError # @@ -6535,7 +6503,7 @@ class YARD::Handlers::Ruby::Legacy::AttributeHandler < ::YARD::Handlers::Ruby::L # # @abstract See {Handlers::Base} for subclassing information. # -# source://yard//lib/yard/handlers/ruby/legacy/base.rb#10 +# source://yard//lib/yard/handlers/ruby/legacy/base.rb#9 class YARD::Handlers::Ruby::Legacy::Base < ::YARD::Handlers::Base include ::YARD::Parser::Ruby::Legacy::RubyToken @@ -6853,7 +6821,7 @@ class YARD::Handlers::Ruby::MixinHandler < ::YARD::Handlers::Ruby::Base # source://yard//lib/yard/handlers/ruby/mixin_handler.rb#25 def process_mixin(mixin); end - # source://yard//lib/yard/handlers/ruby/mixin_handler.rb#43 + # source://yard//lib/yard/handlers/ruby/mixin_handler.rb#50 def recipient(mixin); end end @@ -7078,7 +7046,7 @@ class YARD::I18n::Locale def name; end # @param message [String] the translation target message. - # @return [String] translated message. If tarnslation isn't + # @return [String] translated message. If translation isn't # registered, the +message+ is returned. # @since 0.8.2 # @@ -7107,7 +7075,7 @@ end # # source://yard//lib/yard/i18n/message.rb#10 class YARD::I18n::Message - # Creates a trasnlate target message for message ID +id+. + # Creates a translate target message for message ID +id+. # # @param id [String] the message ID of the translate target message. # @return [Message] a new instance of Message @@ -7148,7 +7116,7 @@ class YARD::I18n::Message # source://yard//lib/yard/i18n/message.rb#19 def comments; end - # @return [String] the message ID of the trnslation target message. + # @return [String] the message ID of the translation target message. # @since 0.8.1 # # source://yard//lib/yard/i18n/message.rb#12 @@ -7206,7 +7174,7 @@ class YARD::I18n::Messages # source://yard//lib/yard/i18n/messages.rb#20 def each(&block); end - # Registers a {Message}, the mssage ID of which is +id+. If + # Registers a {Message}, the message ID of which is +id+. If # corresponding +Message+ is already registered, the previously # registered object is returned. # @@ -7308,7 +7276,7 @@ class YARD::I18n::PotGenerator # # Locations of the +Message+ are used to generate the reference # line that is started with "#: ". +relative_base_path+ passed - # when the generater is created is prepended to each path in location. + # when the generator is created is prepended to each path in location. # # Comments of the +Message+ are used to generate the # translator-comment line that is started with "# ". @@ -7491,7 +7459,7 @@ end # Handles console logging for info, warnings and errors. # Uses the stdlib Logger class in Ruby for all the backend logic. # -# source://yard//lib/yard/logging.rb#12 +# source://yard//lib/yard/logging.rb#9 class YARD::Logger < ::Logger # Creates a new logger # @@ -7667,7 +7635,7 @@ class YARD::Logger < ::Logger # source://yard//lib/yard/logging.rb#201 def format_log(sev, _time, _prog, msg); end - # source://logger/1.5.0/logger.rb#485 + # source://logger/1.5.3/logger.rb#682 def print_no_newline(msg); end class << self @@ -7777,7 +7745,7 @@ class YARD::Options # # @example Setting an option with Hash syntax # options[:format] = :html # equivalent to: options.format = :html - # @param key [Symbol, String] the optin to set + # @param key [Symbol, String] the option to set # @param value [Object] the value to set for the option # @return [Object] the value being set # @@ -10136,490 +10104,490 @@ class YARD::Parser::Ruby::RipperParser < ::Ripper # source://yard//lib/yard/parser/ruby/ruby_parser.rb#29 def frozen_string_line; end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170 def on_BEGIN(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#182 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#188 def on_CHAR(tok); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170 def on_END(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#182 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#188 def on___end__(tok); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170 def on_alias(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177 def on_alias_error(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177 def on_arg_ambiguous(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170 def on_arg_paren(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#156 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#162 def on_args_add(list, item); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#156 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#162 def on_args_add_block(list, item); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#156 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#162 def on_args_add_star(list, item); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177 def on_args_forward(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#149 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#155 def on_args_new(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177 def on_aryptn(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177 def on_assign(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177 def on_assign_error(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177 def on_assoc_splat(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#182 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#188 def on_backref(tok); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#193 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#199 def on_backtick(tok); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170 def on_begin(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177 def on_binary(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177 def on_block_var(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170 def on_blockarg(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170 def on_brace_block(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170 def on_break(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177 def on_call(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170 def on_case(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170 def on_class(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177 def on_class_name_error(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#182 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#188 def on_comma(tok); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177 def on_command(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177 def on_command_call(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#182 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#188 def on_const(tok); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177 def on_const_path_field(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177 def on_const_ref(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#182 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#188 def on_cvar(tok); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170 def on_def(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170 def on_defined(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170 def on_defs(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170 def on_do_block(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177 def on_dot2(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177 def on_dot3(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170 def on_else(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170 def on_elsif(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#193 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#199 def on_embexpr_beg(tok); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#182 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#188 def on_embexpr_end(tok); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#182 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#188 def on_embvar(tok); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170 def on_ensure(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177 def on_excessed_comma(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177 def on_fcall(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177 def on_field(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#182 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#188 def on_float(tok); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177 def on_fndptn(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170 def on_for(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#182 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#188 def on_gvar(tok); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#193 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#199 def on_heredoc_beg(tok); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177 def on_heredoc_dedent(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#182 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#188 def on_heredoc_end(tok); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177 def on_hshptn(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#182 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#188 def on_ident(tok); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170 def on_if(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#443 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#449 def on_if_mod(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177 def on_ifop(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#216 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#222 def on_ignored_nl(tok); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#182 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#188 def on_ignored_sp(tok); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#182 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#188 def on_imaginary(tok); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177 def on_in(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#182 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#188 def on_int(tok); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#182 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#188 def on_ivar(tok); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#203 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#209 def on_kw(tok); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177 def on_kwrest_param(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#182 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#188 def on_label_end(tok); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#193 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#199 def on_lbrace(tok); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#193 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#199 def on_lparen(tok); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177 def on_magic_comment(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177 def on_massign(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#156 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#162 def on_method_add_arg(list, item); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#156 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#162 def on_method_add_block(list, item); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#156 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#162 def on_mlhs_add(list, item); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#156 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#162 def on_mlhs_add_post(list, item); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#156 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#162 def on_mlhs_add_star(list, item); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#149 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#155 def on_mlhs_new(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177 def on_mlhs_paren(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170 def on_module(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#156 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#162 def on_mrhs_add(list, item); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#156 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#162 def on_mrhs_add_star(list, item); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#149 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#155 def on_mrhs_new(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177 def on_mrhs_new_from_args(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170 def on_next(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#216 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#222 def on_nl(tok); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177 def on_nokw_param(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#203 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#209 def on_op(tok); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177 def on_opassign(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177 def on_operator_ambiguous(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177 def on_param_error(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170 def on_paren(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#182 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#188 def on_period(tok); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#468 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#474 def on_qsymbols_add(list, item); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#193 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#199 def on_qsymbols_beg(tok); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#456 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#462 def on_qsymbols_new(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#468 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#474 def on_qwords_add(list, item); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#193 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#199 def on_qwords_beg(tok); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#456 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#462 def on_qwords_new(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#182 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#188 def on_rational(tok); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#182 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#188 def on_rbrace(tok); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170 def on_redo(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#156 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#162 def on_regexp_add(list, item); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#193 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#199 def on_regexp_beg(tok); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#182 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#188 def on_regexp_end(tok); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170 def on_regexp_literal(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#149 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#155 def on_regexp_new(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177 def on_rescue_mod(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170 def on_rest_param(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170 def on_retry(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170 def on_return(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170 def on_return0(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#182 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#188 def on_rparen(tok); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170 def on_sclass(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#182 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#188 def on_semicolon(tok); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#156 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#162 def on_stmts_add(list, item); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#149 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#155 def on_stmts_new(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#156 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#162 def on_string_add(list, item); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177 def on_string_concat(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177 def on_string_dvar(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170 def on_string_embexpr(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170 def on_super(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#193 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#199 def on_symbeg(tok); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170 def on_symbol(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177 def on_symbol_literal(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#468 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#474 def on_symbols_add(list, item); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#193 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#199 def on_symbols_beg(tok); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#456 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#462 def on_symbols_new(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#193 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#199 def on_tlambda(tok); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#182 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#188 def on_tlambeg(tok); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177 def on_top_const_field(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#193 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#199 def on_tstring_beg(tok); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#182 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#188 def on_tstring_content(tok); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#182 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#188 def on_tstring_end(tok); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170 def on_undef(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170 def on_unless(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#443 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#449 def on_unless_mod(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170 def on_until(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#443 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#449 def on_until_mod(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177 def on_var_alias(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177 def on_var_field(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177 def on_var_ref(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#171 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#177 def on_vcall(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170 def on_when(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170 def on_while(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#443 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#449 def on_while_mod(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#156 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#162 def on_word_add(list, item); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#149 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#155 def on_word_new(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#468 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#474 def on_words_add(list, item); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#193 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#199 def on_words_beg(tok); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#456 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#462 def on_words_new(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#182 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#188 def on_words_sep(tok); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#156 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#162 def on_xstring_add(list, item); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170 def on_xstring_literal(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#149 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#155 def on_xstring_new(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170 def on_yield(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170 def on_yield0(*args); end - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#164 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#170 def on_zsuper(*args); end # @since 0.5.6 @@ -10646,195 +10614,195 @@ class YARD::Parser::Ruby::RipperParser < ::Ripper # @since 0.5.6 # - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#661 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#667 def add_comment(line, node = T.unsafe(nil), before_node = T.unsafe(nil), into = T.unsafe(nil)); end # @since 0.5.6 # - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#265 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#271 def add_token(token, data); end # @return [Boolean] # @since 0.5.6 # - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#605 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#611 def comment_starts_line?(charno); end # @raise [ParserSyntaxError] # @since 0.5.6 # - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#600 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#606 def compile_error(msg); end # @since 0.5.6 # - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#687 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#693 def freeze_tree(node = T.unsafe(nil)); end # @since 0.5.6 # - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#614 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#620 def insert_comments; end # @since 0.5.6 # - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#371 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#377 def on_aref(*args); end # @since 0.5.6 # - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#379 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#385 def on_aref_field(*args); end # @since 0.5.6 # - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#385 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#391 def on_array(other); end # @since 0.5.6 # - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#346 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#352 def on_assoc_new(*args); end # @since 0.5.6 # - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#358 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#364 def on_assoclist_from_args(*args); end # @since 0.5.6 # - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#354 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#360 def on_bare_assoc_hash(*args); end # @since 0.5.6 # - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#341 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#347 def on_body_stmt(*args); end # @since 0.5.6 # - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#341 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#347 def on_bodystmt(*args); end # @since 0.5.6 # - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#536 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#542 def on_comment(comment); end # @since 0.5.6 # - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#435 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#441 def on_const_path_ref(*args); end # @since 0.5.6 # - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#413 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#419 def on_dyna_symbol(sym); end # @since 0.5.6 # - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#586 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#592 def on_embdoc(text); end # @since 0.5.6 # - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#580 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#586 def on_embdoc_beg(text); end # @since 0.5.6 # - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#591 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#597 def on_embdoc_end(text); end # @since 0.5.6 # - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#350 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#356 def on_hash(*args); end # @since 0.5.6 # - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#528 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#534 def on_label(data); end # @since 0.5.6 # - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#491 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#497 def on_lambda(*args); end # @since 0.5.6 # - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#403 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#409 def on_lbracket(tok); end # @since 0.5.6 # - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#509 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#515 def on_params(*args); end # @raise [ParserSyntaxError] # @since 0.5.6 # - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#600 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#606 def on_parse_error(msg); end # @since 0.5.6 # - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#337 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#343 def on_program(*args); end # @since 0.5.6 # - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#408 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#414 def on_rbracket(tok); end # @since 0.5.6 # - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#500 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#506 def on_rescue(exc, *args); end # @since 0.5.6 # - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#226 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#232 def on_sp(tok); end # @since 0.5.6 # - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#495 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#501 def on_string_content(*args); end # @since 0.5.6 # - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#478 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#484 def on_string_literal(*args); end # @since 0.5.6 # - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#423 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#429 def on_top_const_ref(*args); end # @since 0.5.6 # - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#362 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#368 def on_unary(op, val); end # @since 0.5.6 # - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#505 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#511 def on_void_stmt; end # @since 0.5.6 # - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#231 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#237 def visit_event(node); end # @since 0.5.6 # - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#245 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#251 def visit_event_arr(node); end # @since 0.5.6 # - # source://yard//lib/yard/parser/ruby/ruby_parser.rb#253 + # source://yard//lib/yard/parser/ruby/ruby_parser.rb#259 def visit_ns_token(token, data, ast_token = T.unsafe(nil)); end end @@ -10843,6 +10811,11 @@ end # source://yard//lib/yard/parser/ruby/ruby_parser.rb#133 YARD::Parser::Ruby::RipperParser::AST_TOKENS = T.let(T.unsafe(nil), Array) +# @since 0.5.6 +# +# source://yard//lib/yard/parser/ruby/ruby_parser.rb#136 +YARD::Parser::Ruby::RipperParser::COMMENT_SKIP_NODE_TYPES = T.let(T.unsafe(nil), Array) + # @since 0.5.6 # # source://yard//lib/yard/parser/ruby/ruby_parser.rb#78 @@ -11387,7 +11360,7 @@ module YARD::Rake; end # The rake task to run {CLI::Yardoc} and generate documentation. # -# source://yard//lib/yard/rake/yardoc_task.rb#10 +# source://yard//lib/yard/rake/yardoc_task.rb#8 class YARD::Rake::YardocTask < ::Rake::TaskLib # Creates a new task with name +name+. # @@ -11948,7 +11921,7 @@ class YARD::RegistryResolver # # @since 0.9.1 # - # source://yard//lib/yard/registry_resolver.rb#180 + # source://yard//lib/yard/registry_resolver.rb#181 def collect_namespaces(object); end # Performs a lexical lookup from a namespace for a path and a type hint. @@ -11969,20 +11942,20 @@ class YARD::RegistryResolver # occurrences of separator tokens # @since 0.9.1 # - # source://yard//lib/yard/registry_resolver.rb#205 + # source://yard//lib/yard/registry_resolver.rb#206 def split_on_separators_match; end # @return [Regexp] the regexp match of the default separator # @since 0.9.1 # - # source://yard//lib/yard/registry_resolver.rb#193 + # source://yard//lib/yard/registry_resolver.rb#194 def starts_with_default_separator_match; end # @return [Regexp] the regexp that matches strings starting with # a separator # @since 0.9.1 # - # source://yard//lib/yard/registry_resolver.rb#199 + # source://yard//lib/yard/registry_resolver.rb#200 def starts_with_separator_match; end # return [Boolean] if the obj's type matches the provided type. @@ -12325,7 +12298,7 @@ end # Implements a serializer that reads from and writes to the filesystem. # -# source://yard//lib/yard/serializers/file_system_serializer.rb#7 +# source://yard//lib/yard/serializers/file_system_serializer.rb#5 class YARD::Serializers::FileSystemSerializer < ::YARD::Serializers::Base # Creates a new FileSystemSerializer with options # @@ -12413,7 +12386,7 @@ end # serializer = ProcessSerializer.new('less') # serializer.serialize(object, "data!") # -# source://yard//lib/yard/serializers/process_serializer.rb#12 +# source://yard//lib/yard/serializers/process_serializer.rb#9 class YARD::Serializers::ProcessSerializer < ::YARD::Serializers::Base # Creates a new ProcessSerializer for the shell command +cmd+ # @@ -12432,7 +12405,7 @@ end # A serializer that writes data to standard output. # -# source://yard//lib/yard/serializers/stdout_serializer.rb#9 +# source://yard//lib/yard/serializers/stdout_serializer.rb#5 class YARD::Serializers::StdoutSerializer < ::YARD::Serializers::Base # Creates a serializer to print text to stdout # @@ -12689,6 +12662,16 @@ class YARD::Server::Adapter end end +# @since 0.6.0 +# +# source://yard//lib/yard/server/http_utils.rb#16 +YARD::Server::CR = T.let(T.unsafe(nil), String) + +# @since 0.6.0 +# +# source://yard//lib/yard/server/http_utils.rb#18 +YARD::Server::CRLF = T.let(T.unsafe(nil), String) + # Commands implement specific kinds of server responses which are routed # to by the {Router} class. To implement a custom command, subclass {Commands::Base}. # @@ -12850,7 +12833,7 @@ class YARD::Server::Commands::Base # def run # self.body = 'ERROR! The System is down!' # self.status = 500 - # self.headers['Conten-Type'] = 'text/plain' + # self.headers['Content-Type'] = 'text/plain' # end # end # @raise [NotImplementedError] @@ -13296,7 +13279,7 @@ end # # source://yard//lib/yard/server/commands/root_request_command.rb#6 class YARD::Server::Commands::RootRequestCommand < ::YARD::Server::Commands::Base - include ::WEBrick::HTTPUtils + include ::YARD::Server::HTTPUtils include ::YARD::Server::Commands::StaticFileHelpers # @since 0.6.0 @@ -13375,7 +13358,7 @@ end # # source://yard//lib/yard/server/commands/static_file_command.rb#6 class YARD::Server::Commands::StaticFileCommand < ::YARD::Server::Commands::LibraryCommand - include ::WEBrick::HTTPUtils + include ::YARD::Server::HTTPUtils include ::YARD::Server::Commands::StaticFileHelpers # @since 0.6.0 @@ -13399,9 +13382,9 @@ YARD::Server::Commands::StaticFileCommand::STATIC_PATHS = T.let(T.unsafe(nil), A # # @since 0.6.0 # -# source://yard//lib/yard/server/commands/static_file_helpers.rb#9 +# source://yard//lib/yard/server/commands/static_file_helpers.rb#8 module YARD::Server::Commands::StaticFileHelpers - include ::WEBrick::HTTPUtils + include ::YARD::Server::HTTPUtils # Serves an empty favicon. # @@ -13410,7 +13393,7 @@ module YARD::Server::Commands::StaticFileHelpers # @return [Boolean] # @since 0.6.0 # - # source://yard//lib/yard/server/commands/static_file_helpers.rb#15 + # source://yard//lib/yard/server/commands/static_file_helpers.rb#14 def favicon?; end # Attempts to route a path to a static template file. @@ -13419,20 +13402,20 @@ module YARD::Server::Commands::StaticFileHelpers # @return [void] # @since 0.6.0 # - # source://yard//lib/yard/server/commands/static_file_helpers.rb#27 + # source://yard//lib/yard/server/commands/static_file_helpers.rb#26 def static_template_file?; end private # @since 0.6.0 # - # source://yard//lib/yard/server/commands/static_file_helpers.rb#43 + # source://yard//lib/yard/server/commands/static_file_helpers.rb#42 def find_file(adapter, url); end class << self # @since 0.6.0 # - # source://yard//lib/yard/server/commands/static_file_helpers.rb#43 + # source://yard//lib/yard/server/commands/static_file_helpers.rb#42 def find_file(adapter, url); end end end @@ -13572,6 +13555,470 @@ end # source://yard//lib/yard/server/adapter.rb#6 class YARD::Server::FinishRequest < ::RuntimeError; end +# HTTPUtils provides utility methods for working with the HTTP protocol. +# +# This module is generally used internally by WEBrick +# +# @since 0.6.0 +# +# source://yard//lib/yard/server/http_utils.rb#25 +module YARD::Server::HTTPUtils + private + + # @since 0.6.0 + # + # source://yard//lib/yard/server/http_utils.rb#443 + def _escape(str, regex); end + + # :stopdoc: + # + # @since 0.6.0 + # + # source://yard//lib/yard/server/http_utils.rb#441 + def _make_regex(str); end + + # @since 0.6.0 + # + # source://yard//lib/yard/server/http_utils.rb#442 + def _make_regex!(str); end + + # @since 0.6.0 + # + # source://yard//lib/yard/server/http_utils.rb#449 + def _unescape(str, regex); end + + # Removes quotes and escapes from +str+ + # + # @since 0.6.0 + # + # source://yard//lib/yard/server/http_utils.rb#223 + def dequote(str); end + + # Escapes HTTP reserved and unwise characters in +str+ + # + # @since 0.6.0 + # + # source://yard//lib/yard/server/http_utils.rb#467 + def escape(str); end + + # Escapes 8 bit characters in +str+ + # + # @since 0.6.0 + # + # source://yard//lib/yard/server/http_utils.rb#508 + def escape8bit(str); end + + # Escapes form reserved characters in +str+ + # + # @since 0.6.0 + # + # source://yard//lib/yard/server/http_utils.rb#481 + def escape_form(str); end + + # Escapes path +str+ + # + # @since 0.6.0 + # + # source://yard//lib/yard/server/http_utils.rb#497 + def escape_path(str); end + + # Loads Apache-compatible mime.types in +file+. + # + # @since 0.6.0 + # + # source://yard//lib/yard/server/http_utils.rb#112 + def load_mime_types(file); end + + # Returns the mime type of +filename+ from the list in +mime_tab+. If no + # mime type was found application/octet-stream is returned. + # + # @since 0.6.0 + # + # source://yard//lib/yard/server/http_utils.rb#134 + def mime_type(filename, mime_tab); end + + # Normalizes a request path. Raises an exception if the path cannot be + # normalized. + # + # @since 0.6.0 + # + # source://yard//lib/yard/server/http_utils.rb#31 + def normalize_path(path); end + + # Parses form data in +io+ with the given +boundary+ + # + # @since 0.6.0 + # + # source://yard//lib/yard/server/http_utils.rb#395 + def parse_form_data(io, boundary); end + + # Parses an HTTP header +raw+ into a hash of header fields with an Array + # of values. + # + # @since 0.6.0 + # + # source://yard//lib/yard/server/http_utils.rb#145 + def parse_header(raw); end + + # Parses the query component of a URI in +str+ + # + # @since 0.6.0 + # + # source://yard//lib/yard/server/http_utils.rb#371 + def parse_query(str); end + + # Parses q values in +value+ as used in Accept headers. + # + # @since 0.6.0 + # + # source://yard//lib/yard/server/http_utils.rb#202 + def parse_qvalues(value); end + + # Parses a Range header value +ranges_specifier+ + # + # @since 0.6.0 + # + # source://yard//lib/yard/server/http_utils.rb#184 + def parse_range_header(ranges_specifier); end + + # Quotes and escapes quotes in +str+ + # + # @since 0.6.0 + # + # source://yard//lib/yard/server/http_utils.rb#233 + def quote(str); end + + # Splits a header value +str+ according to HTTP specification. + # + # @since 0.6.0 + # + # source://yard//lib/yard/server/http_utils.rb#175 + def split_header_value(str); end + + # Unescapes HTTP reserved and unwise characters in +str+ + # + # @since 0.6.0 + # + # source://yard//lib/yard/server/http_utils.rb#474 + def unescape(str); end + + # Unescapes form reserved characters in +str+ + # + # @since 0.6.0 + # + # source://yard//lib/yard/server/http_utils.rb#490 + def unescape_form(str); end + + class << self + # @since 0.6.0 + # + # source://yard//lib/yard/server/http_utils.rb#443 + def _escape(str, regex); end + + # :stopdoc: + # + # @since 0.6.0 + # + # source://yard//lib/yard/server/http_utils.rb#441 + def _make_regex(str); end + + # @since 0.6.0 + # + # source://yard//lib/yard/server/http_utils.rb#442 + def _make_regex!(str); end + + # @since 0.6.0 + # + # source://yard//lib/yard/server/http_utils.rb#449 + def _unescape(str, regex); end + + # Removes quotes and escapes from +str+ + # + # @since 0.6.0 + # + # source://yard//lib/yard/server/http_utils.rb#223 + def dequote(str); end + + # Escapes HTTP reserved and unwise characters in +str+ + # + # @since 0.6.0 + # + # source://yard//lib/yard/server/http_utils.rb#467 + def escape(str); end + + # Escapes 8 bit characters in +str+ + # + # @since 0.6.0 + # + # source://yard//lib/yard/server/http_utils.rb#508 + def escape8bit(str); end + + # Escapes form reserved characters in +str+ + # + # @since 0.6.0 + # + # source://yard//lib/yard/server/http_utils.rb#481 + def escape_form(str); end + + # Escapes path +str+ + # + # @since 0.6.0 + # + # source://yard//lib/yard/server/http_utils.rb#497 + def escape_path(str); end + + # Loads Apache-compatible mime.types in +file+. + # + # @since 0.6.0 + # + # source://yard//lib/yard/server/http_utils.rb#112 + def load_mime_types(file); end + + # Returns the mime type of +filename+ from the list in +mime_tab+. If no + # mime type was found application/octet-stream is returned. + # + # @since 0.6.0 + # + # source://yard//lib/yard/server/http_utils.rb#134 + def mime_type(filename, mime_tab); end + + # Normalizes a request path. Raises an exception if the path cannot be + # normalized. + # + # @since 0.6.0 + # + # source://yard//lib/yard/server/http_utils.rb#31 + def normalize_path(path); end + + # Parses form data in +io+ with the given +boundary+ + # + # @since 0.6.0 + # + # source://yard//lib/yard/server/http_utils.rb#395 + def parse_form_data(io, boundary); end + + # Parses an HTTP header +raw+ into a hash of header fields with an Array + # of values. + # + # @since 0.6.0 + # + # source://yard//lib/yard/server/http_utils.rb#145 + def parse_header(raw); end + + # Parses the query component of a URI in +str+ + # + # @since 0.6.0 + # + # source://yard//lib/yard/server/http_utils.rb#371 + def parse_query(str); end + + # Parses q values in +value+ as used in Accept headers. + # + # @since 0.6.0 + # + # source://yard//lib/yard/server/http_utils.rb#202 + def parse_qvalues(value); end + + # Parses a Range header value +ranges_specifier+ + # + # @since 0.6.0 + # + # source://yard//lib/yard/server/http_utils.rb#184 + def parse_range_header(ranges_specifier); end + + # Quotes and escapes quotes in +str+ + # + # @since 0.6.0 + # + # source://yard//lib/yard/server/http_utils.rb#233 + def quote(str); end + + # Splits a header value +str+ according to HTTP specification. + # + # @since 0.6.0 + # + # source://yard//lib/yard/server/http_utils.rb#175 + def split_header_value(str); end + + # Unescapes HTTP reserved and unwise characters in +str+ + # + # @since 0.6.0 + # + # source://yard//lib/yard/server/http_utils.rb#474 + def unescape(str); end + + # Unescapes form reserved characters in +str+ + # + # @since 0.6.0 + # + # source://yard//lib/yard/server/http_utils.rb#490 + def unescape_form(str); end + end +end + +# Default mime types +# +# @since 0.6.0 +# +# source://yard//lib/yard/server/http_utils.rb#47 +YARD::Server::HTTPUtils::DefaultMimeTypes = T.let(T.unsafe(nil), Hash) + +# @since 0.6.0 +# +# source://yard//lib/yard/server/http_utils.rb#459 +YARD::Server::HTTPUtils::ESCAPED = T.let(T.unsafe(nil), Regexp) + +# Stores multipart form data. FormData objects are created when +# WEBrick::HTTPUtils.parse_form_data is called. +# +# @since 0.6.0 +# +# source://yard//lib/yard/server/http_utils.rb#242 +class YARD::Server::HTTPUtils::FormData < ::String + # Creates a new FormData object. + # + # +args+ is an Array of form data entries. One FormData will be created + # for each entry. + # + # This is called by WEBrick::HTTPUtils.parse_form_data for you + # + # @return [FormData] a new instance of FormData + # @since 0.6.0 + # + # source://yard//lib/yard/server/http_utils.rb#267 + def initialize(*args); end + + # Adds +str+ to this FormData which may be the body, a header or a + # header entry. + # + # This is called by WEBrick::HTTPUtils.parse_form_data for you + # + # @since 0.6.0 + # + # source://yard//lib/yard/server/http_utils.rb#300 + def <<(str); end + + # Retrieves the header at the first entry in +key+ + # + # @since 0.6.0 + # + # source://yard//lib/yard/server/http_utils.rb#286 + def [](*key); end + + # Adds +data+ at the end of the chain of entries + # + # This is called by WEBrick::HTTPUtils.parse_form_data for you. + # + # @since 0.6.0 + # + # source://yard//lib/yard/server/http_utils.rb#320 + def append_data(data); end + + # Yields each entry in this FormData + # + # @since 0.6.0 + # + # source://yard//lib/yard/server/http_utils.rb#335 + def each_data; end + + # The filename of the form data part + # + # @since 0.6.0 + # + # source://yard//lib/yard/server/http_utils.rb#254 + def filename; end + + # The filename of the form data part + # + # @since 0.6.0 + # + # source://yard//lib/yard/server/http_utils.rb#254 + def filename=(_arg0); end + + # Returns all the FormData as an Array + # + # @since 0.6.0 + # + # source://yard//lib/yard/server/http_utils.rb#347 + def list; end + + # The name of the form data part + # + # @since 0.6.0 + # + # source://yard//lib/yard/server/http_utils.rb#249 + def name; end + + # The name of the form data part + # + # @since 0.6.0 + # + # source://yard//lib/yard/server/http_utils.rb#249 + def name=(_arg0); end + + # @since 0.6.0 + # + # source://yard//lib/yard/server/http_utils.rb#256 + def next_data=(_arg0); end + + # Returns all the FormData as an Array + # A FormData will behave like an Array + # + # @since 0.6.0 + # + # source://yard//lib/yard/server/http_utils.rb#347 + def to_ary; end + + # This FormData's body + # + # @since 0.6.0 + # + # source://yard//lib/yard/server/http_utils.rb#363 + def to_s; end + + protected + + # @since 0.6.0 + # + # source://yard//lib/yard/server/http_utils.rb#256 + def next_data; end +end + +# @since 0.6.0 +# +# source://yard//lib/yard/server/http_utils.rb#244 +YARD::Server::HTTPUtils::FormData::EmptyHeader = T.let(T.unsafe(nil), Hash) + +# @since 0.6.0 +# +# source://yard//lib/yard/server/http_utils.rb#243 +YARD::Server::HTTPUtils::FormData::EmptyRawHeader = T.let(T.unsafe(nil), Array) + +# @since 0.6.0 +# +# source://yard//lib/yard/server/http_utils.rb#458 +YARD::Server::HTTPUtils::NONASCII = T.let(T.unsafe(nil), Regexp) + +# @since 0.6.0 +# +# source://yard//lib/yard/server/http_utils.rb#456 +YARD::Server::HTTPUtils::UNESCAPED = T.let(T.unsafe(nil), Regexp) + +# @since 0.6.0 +# +# source://yard//lib/yard/server/http_utils.rb#457 +YARD::Server::HTTPUtils::UNESCAPED_FORM = T.let(T.unsafe(nil), Regexp) + +# @since 0.6.0 +# +# source://yard//lib/yard/server/http_utils.rb#460 +YARD::Server::HTTPUtils::UNESCAPED_PCHAR = T.let(T.unsafe(nil), Regexp) + +# @since 0.6.0 +# +# source://yard//lib/yard/server/http_utils.rb#17 +YARD::Server::LF = T.let(T.unsafe(nil), String) + # This exception is raised when {LibraryVersion#prepare!} fails, or discovers # that the library is not "prepared" to be served by # @@ -14108,50 +14555,6 @@ module YARD::Server::StaticCaching def check_static_cache; end end -# The main adapter to initialize a WEBrick server. -# -# @since 0.6.0 -# -# source://yard//lib/yard/server/webrick_adapter.rb#9 -class YARD::Server::WebrickAdapter < ::YARD::Server::Adapter - # Initializes a WEBrick server. If {Adapter#server_options} contains a - # +:daemonize+ key set to true, the server will be daemonized. - # - # @since 0.6.0 - # - # source://yard//lib/yard/server/webrick_adapter.rb#10 - def start; end -end - -# The main WEBrick servlet implementation, accepting only GET requests. -# -# @since 0.6.0 -# -# source://yard//lib/yard/server/webrick_adapter.rb#20 -class YARD::Server::WebrickServlet < ::WEBrick::HTTPServlet::AbstractServlet - # @return [WebrickServlet] a new instance of WebrickServlet - # @since 0.6.0 - # - # source://yard//lib/yard/server/webrick_adapter.rb#23 - def initialize(server, adapter); end - - # @since 0.6.0 - # - # source://yard//lib/yard/server/webrick_adapter.rb#21 - def adapter; end - - # @since 0.6.0 - # - # source://yard//lib/yard/server/webrick_adapter.rb#21 - def adapter=(_arg0); end - - # @private - # @since 0.6.0 - # - # source://yard//lib/yard/server/webrick_adapter.rb#29 - def do_GET(request, response); end -end - # Stubs marshal dumps and acts a delegate class for an object by path # # @private @@ -14188,7 +14591,7 @@ YARD::TEMPLATE_ROOT = T.let(T.unsafe(nil), String) # Namespace for Tag components # -# source://yard//lib/yard/autoload.rb#247 +# source://yard//lib/yard/autoload.rb#248 module YARD::Tags; end # Defines an attribute with a given name, using indented block data as the @@ -15665,10 +16068,10 @@ class YARD::Tags::Tag def initialize(tag_name, text, types = T.unsafe(nil), name = T.unsafe(nil)); end # Provides a plain English summary of the type specification, or nil - # if no types are provided or parseable. + # if no types are provided or parsable. # # @return [String] a plain English description of the associated types - # @return [nil] if no types are provided or not parseable + # @return [nil] if no types are provided or not parsable # # source://yard//lib/yard/tags/tag.rb#65 def explain_types; end @@ -15744,22 +16147,22 @@ class YARD::Tags::TagFormatError < ::RuntimeError; end class YARD::Tags::TypesExplainer class << self # Provides a plain English summary of the type specification, or nil - # if no types are provided or parseable. + # if no types are provided or parsable. # # @param types [Array] a list of types to parse and summarize # @return [String] a plain English description of the associated types - # @return [nil] if no types are provided or not parseable + # @return [nil] if no types are provided or not parsable # # source://yard//lib/yard/tags/types_explainer.rb#9 def explain(*types); end # Provides a plain English summary of the type specification, or nil - # if no types are provided or parseable. + # if no types are provided or parsable. # # @param types [Array] a list of types to parse and summarize - # @raise [SyntaxError] if the types are not parseable + # @raise [SyntaxError] if the types are not parsable # @return [String] a plain English description of the associated types - # @return [nil] if no types are provided or not parseable + # @return [nil] if no types are provided or not parsable # # source://yard//lib/yard/tags/types_explainer.rb#17 def explain!(*types); end @@ -15922,7 +16325,7 @@ end # Namespace for templating system # -# source://yard//lib/yard/autoload.rb#270 +# source://yard//lib/yard/autoload.rb#271 module YARD::Templates; end # This module manages all creation, handling and rendering of {Template} @@ -16075,7 +16478,7 @@ end # Namespace for template helpers # -# source://yard//lib/yard/autoload.rb#271 +# source://yard//lib/yard/autoload.rb#272 module YARD::Templates::Helpers; end # The base helper module included in all templates. @@ -16710,7 +17113,7 @@ end # Namespace for markup providers # -# source://yard//lib/yard/autoload.rb#272 +# source://yard//lib/yard/autoload.rb#273 module YARD::Templates::Helpers::Markup; end # source://yard//lib/yard/templates/helpers/markup/rdoc_markdown.rb#13 @@ -17462,7 +17865,7 @@ end # # @see CLI::YardocOptions # -# source://yard//lib/yard/templates/template_options.rb#11 +# source://yard//lib/yard/templates/template_options.rb#10 class YARD::Templates::TemplateOptions < ::YARD::Options # @return [OpenStruct] an open struct containing any global state across all # generated objects in a template. diff --git a/sorbet/rbi/gems/zeitwerk@2.6.7.rbi b/sorbet/rbi/gems/zeitwerk@2.6.8.rbi similarity index 100% rename from sorbet/rbi/gems/zeitwerk@2.6.7.rbi rename to sorbet/rbi/gems/zeitwerk@2.6.8.rbi diff --git a/sorbet/rbi/todo.rbi b/sorbet/rbi/todo.rbi index 0b71c64..38ffea4 100644 --- a/sorbet/rbi/todo.rbi +++ b/sorbet/rbi/todo.rbi @@ -4,4 +4,8 @@ # typed: false -module SimpleCov::Formatter::JSONFormatter; end +module RuboCop::AST::NodePattern::Macros; end +module RuboCop::Cop::AutoCorrector; end +class RuboCop::Cop::Base; end +module RuboCop::Cop::ConfigurableEnforcedStyle; end +module RuboCop::Cop::RangeHelp; end diff --git a/spec/vectors/k3_local-pw_spec.rb b/spec/vectors/k3_local-pw_spec.rb index 3feb1fd..e944ffa 100644 --- a/spec/vectors/k3_local-pw_spec.rb +++ b/spec/vectors/k3_local-pw_spec.rb @@ -7,7 +7,7 @@ password = '636f727265637420686f727365206261747465727920737461706c65' options = {:iterations=>1000} paserk = 'k3.local-pw.meWTPJohkeLsaKvlgigDksM935uSCUO3jvjEEHAK28QAAAPoNoLFUMJwo8QHOp5bJpbNzk-ZD_Q6jPtk0XhX4ctVhZnJ3ydru5AuXObwRudmG_RNK3PsJ7kpLSw15Vncc5vmGIkae4DKmBmPI1h3PmOxMGX_hj9DNfu1MIEEm9ukhKQq' - pbkw = Paseto::Operations::PBKW.new(Paseto::Protocol::Version3.new, password) + pbkw = Paseto::Operations::PBKW.new(Paseto::Protocol::Version3.instance, password) key = Paseto::Paserk.from_paserk(paserk: paserk, password: password) repacked = Paseto::Paserk.pbkw(key: key, password: password, options: options) @@ -22,7 +22,7 @@ password = '636f727265637420686f727365206261747465727920737461706c65' options = {:iterations=>10000} paserk = 'k3.local-pw.BZtl8KfhFR8CCZp6hB0V2yMWttTMpK_U8HiKxnuvMI0AACcQIm4KcJGvG1kfptqCbQxzQUOp72AzgtmhCLVP1mn3orDRJIpoDzRj82dc1cMnANbUsEdcYVG8xzSuCt99zfCjQnQ2rIKbKRM66gafzcSWmD9iMoY3W6KUaN56t0P-ODV2' - pbkw = Paseto::Operations::PBKW.new(Paseto::Protocol::Version3.new, password) + pbkw = Paseto::Operations::PBKW.new(Paseto::Protocol::Version3.instance, password) key = Paseto::Paserk.from_paserk(paserk: paserk, password: password) repacked = Paseto::Paserk.pbkw(key: key, password: password, options: options) @@ -37,7 +37,7 @@ password = 'correct horse battery staple' options = {:iterations=>10000} paserk = 'k3.local-pw.a5cPboLhKgtNb_5C5FXniQuWVgChPXIwM4UKSEAjW3kAACcQzSQgm0Wh87-zAggZvwElhVYI__F7e0nCGL_tVsArrRMpKlkMfZrdi5d7ilpbqogeuiiKcHE9qBu2jTPYywyauZ4VymULdHlGn8fLCBZUGyNzXMbvb0qZS9kecwa4kQzP' - pbkw = Paseto::Operations::PBKW.new(Paseto::Protocol::Version3.new, password) + pbkw = Paseto::Operations::PBKW.new(Paseto::Protocol::Version3.instance, password) key = Paseto::Paserk.from_paserk(paserk: paserk, password: password) repacked = Paseto::Paserk.pbkw(key: key, password: password, options: options) @@ -50,7 +50,7 @@ password = '636f727265637420686f727365206261747465727920737461706c66' options = {:iterations=>10000} paserk = 'k3.local-pw.meWTPJohkeLsaKvlgigDksM935uSCUO3jvjEEHAK28QAAAPoNoLFUMJwo8QHOp5bJpbNzk-ZD_Q6jPtk0XhX4ctVhZnJ3ydru5AuXObwRudmG_RNK3PsJ7kpLSw15Vncc5vmGIkae4DKmBmPI1h3PmOxMGX_hj9DNfu1MIEEm9ukhKQq' - pbkw = Paseto::Operations::PBKW.new(Paseto::Protocol::Version3.new, password) + pbkw = Paseto::Operations::PBKW.new(Paseto::Protocol::Version3.instance, password) expect do Paseto::Paserk.from_paserk(paserk: paserk, password: password) @@ -67,7 +67,7 @@ password = '636f727265637420686f727365206261747465727920737461706c65' options = {:iterations=>10000} paserk = 'k3.local-pw.meWTPJohkeLsaKvlgigDksM935uSCUO3jvjEEHAK28QAAAPoNoLFUMJwo8QHOp5bJpbNzk-ZD_Q6jPtk0XhX4ctVhZnJ3ydru5AuXObwRudmG_RNK3PsJ7kpLSw15Vncc5vmGIkae4DKmBmPI1h3PmOxMGX_hj9DNfu1MIEEm1vkhLQr' - pbkw = Paseto::Operations::PBKW.new(Paseto::Protocol::Version3.new, password) + pbkw = Paseto::Operations::PBKW.new(Paseto::Protocol::Version3.instance, password) expect do Paseto::Paserk.from_paserk(paserk: paserk, password: password) @@ -84,7 +84,7 @@ password = '636f727265637420686f727365206261747465727920737461706c65' options = {:memlimit=>67108864, :opslimit=>2} paserk = 'k4.local-pw.cyacmXuslYEP8Xyheh9i-AAAAAAQAAAAAAAAAwAAAAEJh5jS-CAQP9grqo6xhuNMwmjcs6yTAvBjOW2HwZyBrBd0NNs6btknqo-6e-tyXJebU5S5918-es1Y9jhF1dOjMW0gDrsWkPoWT3Vy_poNxjIQHxHOHXaa' - pbkw = Paseto::Operations::PBKW.new(Paseto::Protocol::Version3.new, password) + pbkw = Paseto::Operations::PBKW.new(Paseto::Protocol::Version3.instance, password) expect do pbkw.decode(paserk) diff --git a/spec/vectors/k3_secret-pw_spec.rb b/spec/vectors/k3_secret-pw_spec.rb index 4318c16..1ebc7bd 100644 --- a/spec/vectors/k3_secret-pw_spec.rb +++ b/spec/vectors/k3_secret-pw_spec.rb @@ -47,7 +47,7 @@ password = '636f727265637420686f727365206261747465727920737461706c66' options = {:iterations=>10000} paserk = 'k3.secret-pw.LajP_XFziwwUW8t0xppL3ecIgaOzfSEx-5-UQG36jJ8AACcQUeD46ydUwIkMOqkXWFvacyf_eaH1BTMlJsdCy6ZhemmaFMZTclOD9LrOwCVnmhlCDQEePilxQEfvPsRM5cL_yxx1bWL0wjS4GAQABQiCvGyQTi_LGlbMnYuiZfxWgpqNJpAI6jx71m6s3f6wZIg68Q' - pbkw = Paseto::Operations::PBKW.new(Paseto::Protocol::Version3.new, password) + pbkw = Paseto::Operations::PBKW.new(Paseto::Protocol::Version3.instance, password) expect do Paseto::Paserk.from_paserk(paserk: paserk, password: password) @@ -64,7 +64,7 @@ password = '636f727265637420686f727365206261747465727920737461706c65' options = {:iterations=>10000} paserk = 'k3.secret-pw.AKjP_XFziwwUW8t0xppL3ecIgaOzfSEx-5-UQG36jJ8AACcQUeD46ydUwIkMOqkXWFvacyf_eaH1BTMlJsdCy6ZhemmaFMZTclOD9LrOwCVnmhlCDQEePilxQEfvPsRM5cL_yxx1bWL0wjS4GAQABQiCvGyQTi_LGlbMnYuiZfxWgpqNJpAI6jx71m6s4f6wZIg68Q' - pbkw = Paseto::Operations::PBKW.new(Paseto::Protocol::Version3.new, password) + pbkw = Paseto::Operations::PBKW.new(Paseto::Protocol::Version3.instance, password) expect do Paseto::Paserk.from_paserk(paserk: paserk, password: password) @@ -81,7 +81,7 @@ password = '636f727265637420686f727365206261747465727920737461706c65' options = {:memlimit=>268435456, :opslimit=>3} paserk = 'k4.secret-pw.1n54ImYiJUSDhTn7vzBI4QAAAAAQAAAAAAAAAwAAAAFBZythnpR02Zza64_y9DuKHeyZVEP_vZx0Y721aIry1rZc70cR08Jb2rgV4pcqR9in25TvA4pV7L4kT3r-0b-5a8Z7wk35D0zOnPLEJloAHf2XEYGleFReV2-tiV1T79G6OhlATgd-bJbXjRqlEOCsk_-pRdSsCeE' - pbkw = Paseto::Operations::PBKW.new(Paseto::Protocol::Version3.new, password) + pbkw = Paseto::Operations::PBKW.new(Paseto::Protocol::Version3.instance, password) expect { pbkw.decode(paserk) }.to raise_error(Paseto::LucidityError) diff --git a/spec/vectors/k4_local-pw_spec.rb b/spec/vectors/k4_local-pw_spec.rb index 353a123..d1a84a9 100644 --- a/spec/vectors/k4_local-pw_spec.rb +++ b/spec/vectors/k4_local-pw_spec.rb @@ -6,7 +6,7 @@ password = '636f727265637420686f727365206261747465727920737461706c65' options = {:memlimit=>67108864, :opslimit=>2} paserk = 'k4.local-pw.9VvzoqE_i23NOqsP9xoijQAAAAAEAAAAAAAAAgAAAAG_uxDZC-NsYyOW8OUOqISJqgHN8xIfAXiPfmFTfB4GPidUzm4aKzMGJmZtRPeyZCV11MxEJS3VMIRHXxYsfUQsmWLALpFwqUhxZdk_ymFcK2Nk0-N7CVp-' - pbkw = Paseto::Operations::PBKW.new(Paseto::Protocol::Version4.new, password) + pbkw = Paseto::Operations::PBKW.new(Paseto::Protocol::Version4.instance, password) key = Paseto::Paserk.from_paserk(paserk: paserk, password: password) repacked = Paseto::Paserk.pbkw(key: key, password: password, options: options) @@ -20,7 +20,7 @@ password = '636f727265637420686f727365206261747465727920737461706c65' options = {:memlimit=>268435456, :opslimit=>3} paserk = 'k4.local-pw.cyacmXuslYEP8Xyheh9i-AAAAAAQAAAAAAAAAwAAAAEJh5jS-CAQP9grqo6xhuNMwmjcs6yTAvBjOW2HwZyBrBd0NNs6btknqo-6e-tyXJebU5S5918-es1Y9jhF1dOjMW0gDrsWkPoWT3Vy_poNxjIQHxHOHXaa' - pbkw = Paseto::Operations::PBKW.new(Paseto::Protocol::Version4.new, password) + pbkw = Paseto::Operations::PBKW.new(Paseto::Protocol::Version4.instance, password) key = Paseto::Paserk.from_paserk(paserk: paserk, password: password) repacked = Paseto::Paserk.pbkw(key: key, password: password, options: options) @@ -34,7 +34,7 @@ password = 'correct horse battery staple' options = {:memlimit=>268435456, :opslimit=>3} paserk = 'k4.local-pw.1zXpYe7LSsL95YKf92kkJAAAAAAQAAAAAAAAAwAAAAG9WUsB_V2gVnTE1cCAs7RrS9-j22y2rcNixSycUw4_cryOPztPM8vASZw_BYHlQHxXqCl7wBS9NkUnMLa6b8e3ZNeaGiqaGFxRpmOK1Hal4GpHys6lC2Jw' - pbkw = Paseto::Operations::PBKW.new(Paseto::Protocol::Version4.new, password) + pbkw = Paseto::Operations::PBKW.new(Paseto::Protocol::Version4.instance, password) key = Paseto::Paserk.from_paserk(paserk: paserk, password: password) repacked = Paseto::Paserk.pbkw(key: key, password: password, options: options) @@ -47,7 +47,7 @@ password = '636f727265637420686f727365206261747465727920737461706c66' options = {:memlimit=>268435456, :opslimit=>3} paserk = 'k4.local-pw.cyacmXuslYEP8Xyheh9i-AAAAAAQAAAAAAAAAwAAAAEJh5jS-CAQP9grqo6xhuNMwmjcs6yTAvBjOW2HwZyBrBd0NNs6btknqo-6e-tyXJebU5S5918-es1Y9jhF1dOjMW0gDrsWkPoWT3Vy_poNxjIQHxHOHXaa' - pbkw = Paseto::Operations::PBKW.new(Paseto::Protocol::Version4.new, password) + pbkw = Paseto::Operations::PBKW.new(Paseto::Protocol::Version4.instance, password) expect do Paseto::Paserk.from_paserk(paserk: paserk, password: password) @@ -62,7 +62,7 @@ password = '636f727265637420686f727365206261747465727920737461706c65' options = {:memlimit=>268435456, :opslimit=>3} paserk = 'k4.local-pw.cyacmXuslYEP8Xyheh9i-AAAAAAQAAAAAAAAAwAAAAEJh5jS-CAQP9grqo6xhuNMwmjcs6yTAvBjOW2HwZyBrBd0NNs6btknqo-6e-tyXJebU5S5918-es1Y9jhF1dOjMW0gDrsWkPoWT3Vy_poNxjIQHyHOHXbb' - pbkw = Paseto::Operations::PBKW.new(Paseto::Protocol::Version4.new, password) + pbkw = Paseto::Operations::PBKW.new(Paseto::Protocol::Version4.instance, password) expect do Paseto::Paserk.from_paserk(paserk: paserk, password: password) @@ -77,7 +77,7 @@ password = '636f727265637420686f727365206261747465727920737461706c65' options = {:iterations=>10000} paserk = 'k3.local-pw.BZtl8KfhFR8CCZp6hB0V2yMWttTMpK_U8HiKxnuvMI0AACcQIm4KcJGvG1kfptqCbQxzQUOp72AzgtmhCLVP1mn3orDRJIpoDzRj82dc1cMnANbUsEdcYVG8xzSuCt99zfCjQnQ2rIKbKRM66gafzcSWmD9iMoY3W6KUaN56t0P-ODV2' - pbkw = Paseto::Operations::PBKW.new(Paseto::Protocol::Version4.new, password) + pbkw = Paseto::Operations::PBKW.new(Paseto::Protocol::Version4.instance, password) expect do pbkw.decode(paserk) diff --git a/spec/vectors/k4_secret-pw_spec.rb b/spec/vectors/k4_secret-pw_spec.rb index 3d22aed..3824343 100644 --- a/spec/vectors/k4_secret-pw_spec.rb +++ b/spec/vectors/k4_secret-pw_spec.rb @@ -49,7 +49,7 @@ password = '636f727265637420686f727365206261747465727920737461706c66' options = {:memlimit=>268435456, :opslimit=>3} paserk = 'k4.secret-pw.1n54ImYiJUSDhTn7vzBI4QAAAAAQAAAAAAAAAwAAAAFBZythnpR02Zza64_y9DuKHeyZVEP_vZx0Y721aIry1rZc70cR08Jb2rgV4pcqR9in25TvA4pV7L4kT3r-0b-5a8Z7wk35D0zOnPLEJloAHf2XEYGleFReV2-tiV1T79G6OhlATgd-bJbXjRqlEOCsk_-pRdSsCeE' - pbkw = Paseto::Operations::PBKW.new(Paseto::Protocol::Version4.new, password) + pbkw = Paseto::Operations::PBKW.new(Paseto::Protocol::Version4.instance, password) expect do Paseto::Paserk.from_paserk(paserk: paserk, password: password) @@ -66,7 +66,7 @@ password = '636f727265637420686f727365206261747465727920737461706c65' options = {:memlimit=>268435456, :opslimit=>3} paserk = 'k4.secret-pw.AH54ImYiJUSDhTn7vzBI4QAAAAAQAAAAAAAAAwAAAAFBZythnpR02Zza64_y9DuKHeyZVEP_vZx0Y721aIry1rZc70cR08Jb2rgV4pcqR9in25TvA4pV7L4kT3r-0b-5a8Z7wk35D0zOnPLEJloAHf2XEYGleFReV2-tiV1T79G6OhlATgd-bJbXjRqlEOCsk_-pRdSsCeE' - pbkw = Paseto::Operations::PBKW.new(Paseto::Protocol::Version4.new, password) + pbkw = Paseto::Operations::PBKW.new(Paseto::Protocol::Version4.instance, password) expect do Paseto::Paserk.from_paserk(paserk: paserk, password: password) @@ -81,7 +81,7 @@ password = '636f727265637420686f727365206261747465727920737461706c65' options = {:memlimit=>268435456, :opslimit=>3} paserk = 'k3.secret-pw.LajP_XFziwwUW8t0xppL3ecIgaOzfSEx-5-UQG36jJ8AACcQUeD46ydUwIkMOqkXWFvacyf_eaH1BTMlJsdCy6ZhemmaFMZTclOD9LrOwCVnmhlCDQEePilxQEfvPsRM5cL_yxx1bWL0wjS4GAQABQiCvGyQTi_LGlbMnYuiZfxWgpqNJpAI6jx71m6s3f6wZIg68Q' - pbkw = Paseto::Operations::PBKW.new(Paseto::Protocol::Version4.new, password) + pbkw = Paseto::Operations::PBKW.new(Paseto::Protocol::Version4.instance, password) expect { pbkw.decode(paserk) }.to raise_error(Paseto::LucidityError) diff --git a/spec/vectors/templates/k3_local-pw_example.erb b/spec/vectors/templates/k3_local-pw_example.erb index 820dc3e..3e516b7 100644 --- a/spec/vectors/templates/k3_local-pw_example.erb +++ b/spec/vectors/templates/k3_local-pw_example.erb @@ -6,7 +6,7 @@ password = '<%= password %>' options = <%= options.transform_keys(&:to_sym) %> paserk = '<%= paserk %>' - pbkw = Paseto::Operations::PBKW.new(Paseto::Protocol::Version3.new, password) + pbkw = Paseto::Operations::PBKW.new(Paseto::Protocol::Version3.instance, password) <%- if expect_fail -%> <%- if options['iterations'] -%> diff --git a/spec/vectors/templates/k3_secret-pw_example.erb b/spec/vectors/templates/k3_secret-pw_example.erb index 73c92d2..3d3266f 100644 --- a/spec/vectors/templates/k3_secret-pw_example.erb +++ b/spec/vectors/templates/k3_secret-pw_example.erb @@ -7,7 +7,7 @@ options = <%= options.transform_keys(&:to_sym) %> paserk = '<%= paserk %>' <%- if expect_fail -%> - pbkw = Paseto::Operations::PBKW.new(Paseto::Protocol::Version3.new, password) + pbkw = Paseto::Operations::PBKW.new(Paseto::Protocol::Version3.instance, password) <%- if options['iterations'] -%> expect do diff --git a/spec/vectors/templates/k4_local-pw_example.erb b/spec/vectors/templates/k4_local-pw_example.erb index dc431c6..4f1bc50 100644 --- a/spec/vectors/templates/k4_local-pw_example.erb +++ b/spec/vectors/templates/k4_local-pw_example.erb @@ -5,7 +5,7 @@ password = '<%= password %>' options = <%= options.transform_keys(&:to_sym) %> paserk = '<%= paserk %>' - pbkw = Paseto::Operations::PBKW.new(Paseto::Protocol::Version4.new, password) + pbkw = Paseto::Operations::PBKW.new(Paseto::Protocol::Version4.instance, password) <%- if expect_fail -%> <%- if options['iterations'] -%> diff --git a/spec/vectors/templates/k4_secret-pw_example.erb b/spec/vectors/templates/k4_secret-pw_example.erb index 678b1ed..4009b1f 100644 --- a/spec/vectors/templates/k4_secret-pw_example.erb +++ b/spec/vectors/templates/k4_secret-pw_example.erb @@ -7,7 +7,7 @@ options = <%= options.transform_keys(&:to_sym) %> paserk = '<%= paserk %>' <%- if expect_fail -%> - pbkw = Paseto::Operations::PBKW.new(Paseto::Protocol::Version4.new, password) + pbkw = Paseto::Operations::PBKW.new(Paseto::Protocol::Version4.instance, password) <%- if options['iterations'] || paserk.start_with?('k3') -%> expect { pbkw.decode(paserk) }.to raise_error(Paseto::LucidityError)