diff --git a/Gemfile.lock b/Gemfile.lock
index 94b146e4..103adda7 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -2,7 +2,7 @@ PATH
remote: .
specs:
rbi (0.1.5)
- prism (>= 0.18.0, < 0.19)
+ prism (>= 0.18.0, < 0.20)
sorbet-runtime (>= 0.5.9204)
GEM
@@ -27,7 +27,7 @@ GEM
ast (~> 2.4.1)
racc
prettier_print (1.2.1)
- prism (0.18.0)
+ prism (0.19.0)
racc (1.7.3)
rainbow (3.1.1)
rake (13.1.0)
diff --git a/rbi.gemspec b/rbi.gemspec
index d2b41fd7..d4c20f4f 100644
--- a/rbi.gemspec
+++ b/rbi.gemspec
@@ -24,6 +24,6 @@ Gem::Specification.new do |spec|
"Rakefile",
]
- spec.add_dependency("prism", ">= 0.18.0", "< 0.19")
+ spec.add_dependency("prism", ">= 0.18.0", "< 0.20")
spec.add_dependency("sorbet-runtime", ">= 0.5.9204")
end
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 00000000..c52738fa
--- /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/minitest-reporters@1.6.0.rbi b/sorbet/rbi/gems/minitest-reporters@1.6.1.rbi
similarity index 96%
rename from sorbet/rbi/gems/minitest-reporters@1.6.0.rbi
rename to sorbet/rbi/gems/minitest-reporters@1.6.1.rbi
index bcc1b1db..3dea314d 100644
--- a/sorbet/rbi/gems/minitest-reporters@1.6.0.rbi
+++ b/sorbet/rbi/gems/minitest-reporters@1.6.1.rbi
@@ -7,73 +7,79 @@
# source://minitest-reporters//lib/minitest/reporters.rb#3
module Minitest
class << self
- # source://minitest/5.18.0/lib/minitest.rb#173
+ # source://minitest/5.20.0/lib/minitest.rb#176
def __run(reporter, options); end
- # source://minitest/5.18.0/lib/minitest.rb#94
+ # source://minitest/5.20.0/lib/minitest.rb#97
def after_run(&block); end
- # source://minitest/5.18.0/lib/minitest.rb#66
+ # source://minitest/5.20.0/lib/minitest.rb#19
+ def allow_fork; end
+
+ # source://minitest/5.20.0/lib/minitest.rb#19
+ def allow_fork=(_arg0); end
+
+ # source://minitest/5.20.0/lib/minitest.rb#69
def autorun; end
- # source://minitest/5.18.0/lib/minitest.rb#19
+ # source://minitest/5.20.0/lib/minitest.rb#19
def backtrace_filter; end
- # source://minitest/5.18.0/lib/minitest.rb#19
+ # source://minitest/5.20.0/lib/minitest.rb#19
def backtrace_filter=(_arg0); end
- # source://minitest/5.18.0/lib/minitest.rb#18
+ # source://minitest/5.20.0/lib/minitest.rb#18
def cattr_accessor(name); end
- # source://minitest/5.18.0/lib/minitest.rb#1059
+ # source://minitest/5.20.0/lib/minitest.rb#1102
def clock_time; end
- # source://minitest/5.18.0/lib/minitest.rb#19
+ # source://minitest/5.20.0/lib/minitest.rb#19
def extensions; end
- # source://minitest/5.18.0/lib/minitest.rb#19
+ # source://minitest/5.20.0/lib/minitest.rb#19
def extensions=(_arg0); end
- # source://minitest/5.18.0/lib/minitest.rb#264
+ # source://minitest/5.20.0/lib/minitest.rb#267
def filter_backtrace(bt); end
- # source://minitest/5.18.0/lib/minitest.rb#19
+ # source://minitest/5.20.0/lib/minitest.rb#19
def info_signal; end
- # source://minitest/5.18.0/lib/minitest.rb#19
+ # source://minitest/5.20.0/lib/minitest.rb#19
def info_signal=(_arg0); end
- # source://minitest/5.18.0/lib/minitest.rb#98
+ # source://minitest/5.20.0/lib/minitest.rb#101
def init_plugins(options); end
- # source://minitest/5.18.0/lib/minitest.rb#105
+ # source://minitest/5.20.0/lib/minitest.rb#108
def load_plugins; end
- # source://minitest/5.18.0/lib/minitest.rb#19
+ # source://minitest/5.20.0/lib/minitest.rb#19
def parallel_executor; end
- # source://minitest/5.18.0/lib/minitest.rb#19
+ # source://minitest/5.20.0/lib/minitest.rb#19
def parallel_executor=(_arg0); end
- # source://minitest/5.18.0/lib/minitest.rb#186
+ # source://minitest/5.20.0/lib/minitest.rb#189
def process_args(args = T.unsafe(nil)); end
- # source://minitest/5.18.0/lib/minitest.rb#19
+ # source://minitest/5.20.0/lib/minitest.rb#19
def reporter; end
- # source://minitest/5.18.0/lib/minitest.rb#19
+ # source://minitest/5.20.0/lib/minitest.rb#19
def reporter=(_arg0); end
- # source://minitest/5.18.0/lib/minitest.rb#140
+ # source://minitest/5.20.0/lib/minitest.rb#143
def run(args = T.unsafe(nil)); end
- # source://minitest/5.18.0/lib/minitest.rb#1050
+ # source://minitest/5.20.0/lib/minitest.rb#1093
def run_one_method(klass, method_name); end
- # source://minitest/5.18.0/lib/minitest.rb#19
+ # source://minitest/5.20.0/lib/minitest.rb#19
def seed; end
- # source://minitest/5.18.0/lib/minitest.rb#19
+ # source://minitest/5.20.0/lib/minitest.rb#19
def seed=(_arg0); end
end
end
diff --git a/sorbet/rbi/gems/minitest@5.18.1.rbi b/sorbet/rbi/gems/minitest@5.20.0.rbi
similarity index 84%
rename from sorbet/rbi/gems/minitest@5.18.1.rbi
rename to sorbet/rbi/gems/minitest@5.20.0.rbi
index f68a238d..de27f9c6 100644
--- a/sorbet/rbi/gems/minitest@5.18.1.rbi
+++ b/sorbet/rbi/gems/minitest@5.20.0.rbi
@@ -12,7 +12,7 @@ module Minitest
# Internal run method. Responsible for telling all Runnable
# sub-classes to run.
#
- # source://minitest//lib/minitest.rb#173
+ # source://minitest//lib/minitest.rb#176
def __run(reporter, options); end
# A simple hook allowing you to run a block of code after everything
@@ -20,12 +20,18 @@ module Minitest
#
# Minitest.after_run { p $debugging_info }
#
- # source://minitest//lib/minitest.rb#94
+ # source://minitest//lib/minitest.rb#97
def after_run(&block); end
+ # source://minitest//lib/minitest.rb#19
+ def allow_fork; end
+
+ # source://minitest//lib/minitest.rb#19
+ def allow_fork=(_arg0); end
+
# Registers Minitest to run at process exit
#
- # source://minitest//lib/minitest.rb#66
+ # source://minitest//lib/minitest.rb#69
def autorun; end
# source://minitest//lib/minitest.rb#19
@@ -37,7 +43,7 @@ module Minitest
# source://minitest//lib/minitest.rb#18
def cattr_accessor(name); end
- # source://minitest//lib/minitest.rb#1073
+ # source://minitest//lib/minitest.rb#1102
def clock_time; end
# source://minitest//lib/minitest.rb#19
@@ -46,7 +52,7 @@ module Minitest
# source://minitest//lib/minitest.rb#19
def extensions=(_arg0); end
- # source://minitest//lib/minitest.rb#264
+ # source://minitest//lib/minitest.rb#267
def filter_backtrace(bt); end
# source://minitest//lib/minitest.rb#19
@@ -55,10 +61,10 @@ module Minitest
# source://minitest//lib/minitest.rb#19
def info_signal=(_arg0); end
- # source://minitest//lib/minitest.rb#98
+ # source://minitest//lib/minitest.rb#101
def init_plugins(options); end
- # source://minitest//lib/minitest.rb#105
+ # source://minitest//lib/minitest.rb#108
def load_plugins; end
# source://minitest//lib/minitest.rb#19
@@ -67,7 +73,7 @@ module Minitest
# source://minitest//lib/minitest.rb#19
def parallel_executor=(_arg0); end
- # source://minitest//lib/minitest.rb#186
+ # source://minitest//lib/minitest.rb#189
def process_args(args = T.unsafe(nil)); end
# source://minitest//lib/minitest.rb#19
@@ -92,10 +98,10 @@ module Minitest
# Minitest.run_one_method(klass, runnable_method)
# klass.new(runnable_method).run
#
- # source://minitest//lib/minitest.rb#140
+ # source://minitest//lib/minitest.rb#143
def run(args = T.unsafe(nil)); end
- # source://minitest//lib/minitest.rb#1064
+ # source://minitest//lib/minitest.rb#1093
def run_one_method(klass, method_name); end
# source://minitest//lib/minitest.rb#19
@@ -109,7 +115,7 @@ end
# Defines the API for Reporters. Subclass this and override whatever
# you want. Go nuts.
#
-# source://minitest//lib/minitest.rb#592
+# source://minitest//lib/minitest.rb#621
class Minitest::AbstractReporter
include ::Mutex_m
@@ -123,13 +129,13 @@ class Minitest::AbstractReporter
#
# @return [Boolean]
#
- # source://minitest//lib/minitest.rb#626
+ # source://minitest//lib/minitest.rb#655
def passed?; end
# About to start running a test. This allows a reporter to show
# that it is starting or that we are in the middle of a test run.
#
- # source://minitest//lib/minitest.rb#605
+ # source://minitest//lib/minitest.rb#634
def prerecord(klass, name); end
# Output and record the result of the test. Call
@@ -137,17 +143,17 @@ class Minitest::AbstractReporter
# result character string. Stores the result of the run if the run
# did not pass.
#
- # source://minitest//lib/minitest.rb#614
+ # source://minitest//lib/minitest.rb#643
def record(result); end
# Outputs the summary of the run.
#
- # source://minitest//lib/minitest.rb#620
+ # source://minitest//lib/minitest.rb#649
def report; end
# Starts reporting on the run.
#
- # source://minitest//lib/minitest.rb#598
+ # source://minitest//lib/minitest.rb#627
def start; end
# source://mutex_m/0.1.2/mutex_m.rb#78
@@ -162,20 +168,20 @@ end
# Represents run failures.
#
-# source://minitest//lib/minitest.rb#909
+# source://minitest//lib/minitest.rb#938
class Minitest::Assertion < ::Exception
- # source://minitest//lib/minitest.rb#910
+ # source://minitest//lib/minitest.rb#939
def error; end
# Where was this run before an assertion was raised?
#
- # source://minitest//lib/minitest.rb#917
+ # source://minitest//lib/minitest.rb#946
def location; end
- # source://minitest//lib/minitest.rb#926
+ # source://minitest//lib/minitest.rb#955
def result_code; end
- # source://minitest//lib/minitest.rb#930
+ # source://minitest//lib/minitest.rb#959
def result_label; end
end
@@ -618,60 +624,60 @@ Minitest::Assertions::UNDEFINED = T.let(T.unsafe(nil), Object)
#
# See Minitest.backtrace_filter=.
#
-# source://minitest//lib/minitest.rb#1041
+# source://minitest//lib/minitest.rb#1070
class Minitest::BacktraceFilter
# Filter +bt+ to something useful. Returns the whole thing if
# $DEBUG (ruby) or $MT_DEBUG (env).
#
- # source://minitest//lib/minitest.rb#1049
+ # source://minitest//lib/minitest.rb#1078
def filter(bt); end
end
-# source://minitest//lib/minitest.rb#1043
+# source://minitest//lib/minitest.rb#1072
Minitest::BacktraceFilter::MT_RE = T.let(T.unsafe(nil), Regexp)
# Dispatch to multiple reporters as one.
#
-# source://minitest//lib/minitest.rb#858
+# source://minitest//lib/minitest.rb#887
class Minitest::CompositeReporter < ::Minitest::AbstractReporter
# @return [CompositeReporter] a new instance of CompositeReporter
#
- # source://minitest//lib/minitest.rb#864
+ # source://minitest//lib/minitest.rb#893
def initialize(*reporters); end
# Add another reporter to the mix.
#
- # source://minitest//lib/minitest.rb#876
+ # source://minitest//lib/minitest.rb#905
def <<(reporter); end
- # source://minitest//lib/minitest.rb#869
+ # source://minitest//lib/minitest.rb#898
def io; end
# @return [Boolean]
#
- # source://minitest//lib/minitest.rb#880
+ # source://minitest//lib/minitest.rb#909
def passed?; end
- # source://minitest//lib/minitest.rb#888
+ # source://minitest//lib/minitest.rb#917
def prerecord(klass, name); end
- # source://minitest//lib/minitest.rb#895
+ # source://minitest//lib/minitest.rb#924
def record(result); end
- # source://minitest//lib/minitest.rb#901
+ # source://minitest//lib/minitest.rb#930
def report; end
# The list of reporters to dispatch to.
#
- # source://minitest//lib/minitest.rb#862
+ # source://minitest//lib/minitest.rb#891
def reporters; end
# The list of reporters to dispatch to.
#
- # source://minitest//lib/minitest.rb#862
+ # source://minitest//lib/minitest.rb#891
def reporters=(_arg0); end
- # source://minitest//lib/minitest.rb#884
+ # source://minitest//lib/minitest.rb#913
def start; end
end
@@ -689,48 +695,48 @@ end
# # ... lots of test methods ...
# end
#
-# source://minitest//lib/minitest.rb#985
+# source://minitest//lib/minitest.rb#1014
module Minitest::Guard
# Is this running on jruby?
#
# @return [Boolean]
#
- # source://minitest//lib/minitest.rb#990
+ # source://minitest//lib/minitest.rb#1019
def jruby?(platform = T.unsafe(nil)); end
# Is this running on maglev?
#
# @return [Boolean]
#
- # source://minitest//lib/minitest.rb#997
+ # source://minitest//lib/minitest.rb#1026
def maglev?(platform = T.unsafe(nil)); end
# Is this running on mri?
#
# @return [Boolean]
#
- # source://minitest//lib/minitest.rb#1007
+ # source://minitest//lib/minitest.rb#1036
def mri?(platform = T.unsafe(nil)); end
# Is this running on macOS?
#
# @return [Boolean]
#
- # source://minitest//lib/minitest.rb#1014
+ # source://minitest//lib/minitest.rb#1043
def osx?(platform = T.unsafe(nil)); end
# Is this running on rubinius?
#
# @return [Boolean]
#
- # source://minitest//lib/minitest.rb#1021
+ # source://minitest//lib/minitest.rb#1050
def rubinius?(platform = T.unsafe(nil)); end
# Is this running on windows?
#
# @return [Boolean]
#
- # source://minitest//lib/minitest.rb#1031
+ # source://minitest//lib/minitest.rb#1060
def windows?(platform = T.unsafe(nil)); end
end
@@ -793,36 +799,36 @@ end
# plugin, pull this out of the composite and replace it with your
# own.
#
-# source://minitest//lib/minitest.rb#657
+# source://minitest//lib/minitest.rb#686
class Minitest::ProgressReporter < ::Minitest::Reporter
- # source://minitest//lib/minitest.rb#658
+ # source://minitest//lib/minitest.rb#687
def prerecord(klass, name); end
- # source://minitest//lib/minitest.rb#665
+ # source://minitest//lib/minitest.rb#694
def record(result); end
end
# Shared code for anything that can get passed to a Reporter. See
# Minitest::Test & Minitest::Result.
#
-# source://minitest//lib/minitest.rb#489
+# source://minitest//lib/minitest.rb#517
module Minitest::Reportable
# @raise [NotImplementedError]
#
- # source://minitest//lib/minitest.rb#509
+ # source://minitest//lib/minitest.rb#537
def class_name; end
# Did this run error?
#
# @return [Boolean]
#
- # source://minitest//lib/minitest.rb#530
+ # source://minitest//lib/minitest.rb#558
def error?; end
# The location identifier of this test. Depends on a method
# existing called class_name.
#
- # source://minitest//lib/minitest.rb#504
+ # source://minitest//lib/minitest.rb#532
def location; end
# Did this run pass?
@@ -832,47 +838,47 @@ module Minitest::Reportable
#
# @return [Boolean]
#
- # source://minitest//lib/minitest.rb#496
+ # source://minitest//lib/minitest.rb#524
def passed?; end
# Returns ".", "F", or "E" based on the result of the run.
#
- # source://minitest//lib/minitest.rb#516
+ # source://minitest//lib/minitest.rb#544
def result_code; end
# Was this run skipped?
#
# @return [Boolean]
#
- # source://minitest//lib/minitest.rb#523
+ # source://minitest//lib/minitest.rb#551
def skipped?; end
end
-# source://minitest//lib/minitest.rb#633
+# source://minitest//lib/minitest.rb#662
class Minitest::Reporter < ::Minitest::AbstractReporter
# @return [Reporter] a new instance of Reporter
#
- # source://minitest//lib/minitest.rb#642
+ # source://minitest//lib/minitest.rb#671
def initialize(io = T.unsafe(nil), options = T.unsafe(nil)); end
# The IO used to report.
#
- # source://minitest//lib/minitest.rb#635
+ # source://minitest//lib/minitest.rb#664
def io; end
# The IO used to report.
#
- # source://minitest//lib/minitest.rb#635
+ # source://minitest//lib/minitest.rb#664
def io=(_arg0); end
# Command-line options for this run.
#
- # source://minitest//lib/minitest.rb#640
+ # source://minitest//lib/minitest.rb#669
def options; end
# Command-line options for this run.
#
- # source://minitest//lib/minitest.rb#640
+ # source://minitest//lib/minitest.rb#669
def options=(_arg0); end
end
@@ -882,90 +888,112 @@ end
# blow up. By using Result.from(a_test) you can be reasonably sure
# that the test result can be marshalled.
#
-# source://minitest//lib/minitest.rb#542
+# source://minitest//lib/minitest.rb#570
class Minitest::Result < ::Minitest::Runnable
include ::Minitest::Reportable
- # source://minitest//lib/minitest.rb#575
+ # source://minitest//lib/minitest.rb#604
def class_name; end
# The class name of the test result.
#
- # source://minitest//lib/minitest.rb#551
+ # source://minitest//lib/minitest.rb#579
def klass; end
# The class name of the test result.
#
- # source://minitest//lib/minitest.rb#551
+ # source://minitest//lib/minitest.rb#579
def klass=(_arg0); end
# The location of the test method.
#
- # source://minitest//lib/minitest.rb#556
+ # source://minitest//lib/minitest.rb#584
def source_location; end
# The location of the test method.
#
- # source://minitest//lib/minitest.rb#556
+ # source://minitest//lib/minitest.rb#584
def source_location=(_arg0); end
- # source://minitest//lib/minitest.rb#579
+ # source://minitest//lib/minitest.rb#608
def to_s; end
class << self
# Create a new test result from a Runnable instance.
#
- # source://minitest//lib/minitest.rb#561
+ # source://minitest//lib/minitest.rb#589
def from(runnable); end
end
end
# re-open
#
-# source://minitest//lib/minitest.rb#277
+# source://minitest//lib/minitest.rb#280
class Minitest::Runnable
# @return [Runnable] a new instance of Runnable
#
- # source://minitest//lib/minitest.rb#445
+ # source://minitest//lib/minitest.rb#448
def initialize(name); end
# Number of assertions executed in this run.
#
- # source://minitest//lib/minitest.rb#281
+ # source://minitest//lib/minitest.rb#284
def assertions; end
# Number of assertions executed in this run.
#
- # source://minitest//lib/minitest.rb#281
+ # source://minitest//lib/minitest.rb#284
def assertions=(_arg0); end
- # source://minitest//lib/minitest.rb#441
+ # source://minitest//lib/minitest.rb#444
def failure; end
# An assertion raised during the run, if any.
#
- # source://minitest//lib/minitest.rb#286
+ # source://minitest//lib/minitest.rb#289
def failures; end
# An assertion raised during the run, if any.
#
- # source://minitest//lib/minitest.rb#286
+ # source://minitest//lib/minitest.rb#289
def failures=(_arg0); end
- # source://minitest//lib/minitest.rb#427
+ # source://minitest//lib/minitest.rb#430
def marshal_dump; end
- # source://minitest//lib/minitest.rb#437
+ # source://minitest//lib/minitest.rb#440
def marshal_load(ary); end
+ # Metadata you attach to the test results that get sent to the reporter.
+ #
+ # Lazily initializes to a hash, to keep memory down.
+ #
+ # NOTE: this data *must* be plain (read: marshal-able) data!
+ # Hashes! Arrays! Strings!
+ #
+ # source://minitest//lib/minitest.rb#463
+ def metadata; end
+
+ # Sets metadata, mainly used for +Result.from+.
+ #
+ # source://minitest//lib/minitest.rb#470
+ def metadata=(_arg0); end
+
+ # Returns true if metadata exists.
+ #
+ # @return [Boolean]
+ #
+ # source://minitest//lib/minitest.rb#475
+ def metadata?; end
+
# Name of the run.
#
- # source://minitest//lib/minitest.rb#304
+ # source://minitest//lib/minitest.rb#307
def name; end
# Set the name of the run.
#
- # source://minitest//lib/minitest.rb#311
+ # source://minitest//lib/minitest.rb#314
def name=(o); end
# Did this run pass?
@@ -976,7 +1004,7 @@ class Minitest::Runnable
# @raise [NotImplementedError]
# @return [Boolean]
#
- # source://minitest//lib/minitest.rb#464
+ # source://minitest//lib/minitest.rb#492
def passed?; end
# Returns a single character string to print based on the result
@@ -985,14 +1013,14 @@ class Minitest::Runnable
#
# @raise [NotImplementedError]
#
- # source://minitest//lib/minitest.rb#473
+ # source://minitest//lib/minitest.rb#501
def result_code; end
# Runs a single method. Needs to return self.
#
# @raise [NotImplementedError]
#
- # source://minitest//lib/minitest.rb#454
+ # source://minitest//lib/minitest.rb#482
def run; end
# Was this run skipped? See #passed? for more information.
@@ -1000,42 +1028,42 @@ class Minitest::Runnable
# @raise [NotImplementedError]
# @return [Boolean]
#
- # source://minitest//lib/minitest.rb#480
+ # source://minitest//lib/minitest.rb#508
def skipped?; end
# The time it took to run.
#
- # source://minitest//lib/minitest.rb#291
+ # source://minitest//lib/minitest.rb#294
def time; end
# The time it took to run.
#
- # source://minitest//lib/minitest.rb#291
+ # source://minitest//lib/minitest.rb#294
def time=(_arg0); end
- # source://minitest//lib/minitest.rb#293
+ # source://minitest//lib/minitest.rb#296
def time_it; end
class << self
- # source://minitest//lib/minitest.rb#1083
+ # source://minitest//lib/minitest.rb#1112
def inherited(klass); end
# Returns all instance methods matching the pattern +re+.
#
- # source://minitest//lib/minitest.rb#318
+ # source://minitest//lib/minitest.rb#321
def methods_matching(re); end
- # source://minitest//lib/minitest.rb#397
+ # source://minitest//lib/minitest.rb#400
def on_signal(name, action); end
- # source://minitest//lib/minitest.rb#322
+ # source://minitest//lib/minitest.rb#325
def reset; end
# Responsible for running all runnable methods in a given class,
# each in its own instance. Each instance is passed to the
# reporter to record.
#
- # source://minitest//lib/minitest.rb#333
+ # source://minitest//lib/minitest.rb#336
def run(reporter, options = T.unsafe(nil)); end
# Runs a single method and has the reporter record the result.
@@ -1043,7 +1071,7 @@ class Minitest::Runnable
# that subclasses can specialize the running of an individual
# test. See Minitest::ParallelTest::ClassMethods for an example.
#
- # source://minitest//lib/minitest.rb#369
+ # source://minitest//lib/minitest.rb#372
def run_one_method(klass, method_name, reporter); end
# Each subclass of Runnable is responsible for overriding this
@@ -1051,33 +1079,33 @@ class Minitest::Runnable
#
# @raise [NotImplementedError]
#
- # source://minitest//lib/minitest.rb#414
+ # source://minitest//lib/minitest.rb#417
def runnable_methods; end
# Returns all subclasses of Runnable.
#
- # source://minitest//lib/minitest.rb#421
+ # source://minitest//lib/minitest.rb#424
def runnables; end
# Defines the order to run tests (:random by default). Override
# this or use a convenience method to change it for your tests.
#
- # source://minitest//lib/minitest.rb#378
+ # source://minitest//lib/minitest.rb#381
def test_order; end
- # source://minitest//lib/minitest.rb#382
+ # source://minitest//lib/minitest.rb#385
def with_info_handler(reporter, &block); end
end
end
-# source://minitest//lib/minitest.rb#395
+# source://minitest//lib/minitest.rb#398
Minitest::Runnable::SIGNALS = T.let(T.unsafe(nil), Hash)
# Assertion raised when skipping a run.
#
-# source://minitest//lib/minitest.rb#938
+# source://minitest//lib/minitest.rb#967
class Minitest::Skip < ::Minitest::Assertion
- # source://minitest//lib/minitest.rb#939
+ # source://minitest//lib/minitest.rb#968
def result_label; end
end
@@ -1101,113 +1129,113 @@ end
# end
# end
#
-# source://minitest//lib/minitest.rb#693
+# source://minitest//lib/minitest.rb#722
class Minitest::StatisticsReporter < ::Minitest::Reporter
# @return [StatisticsReporter] a new instance of StatisticsReporter
#
- # source://minitest//lib/minitest.rb#737
+ # source://minitest//lib/minitest.rb#766
def initialize(io = T.unsafe(nil), options = T.unsafe(nil)); end
# Total number of assertions.
#
- # source://minitest//lib/minitest.rb#697
+ # source://minitest//lib/minitest.rb#726
def assertions; end
# Total number of assertions.
#
- # source://minitest//lib/minitest.rb#697
+ # source://minitest//lib/minitest.rb#726
def assertions=(_arg0); end
# Total number of test cases.
#
- # source://minitest//lib/minitest.rb#702
+ # source://minitest//lib/minitest.rb#731
def count; end
# Total number of test cases.
#
- # source://minitest//lib/minitest.rb#702
+ # source://minitest//lib/minitest.rb#731
def count=(_arg0); end
# Total number of tests that erred.
#
- # source://minitest//lib/minitest.rb#730
+ # source://minitest//lib/minitest.rb#759
def errors; end
# Total number of tests that erred.
#
- # source://minitest//lib/minitest.rb#730
+ # source://minitest//lib/minitest.rb#759
def errors=(_arg0); end
# Total number of tests that failed.
#
- # source://minitest//lib/minitest.rb#725
+ # source://minitest//lib/minitest.rb#754
def failures; end
# Total number of tests that failed.
#
- # source://minitest//lib/minitest.rb#725
+ # source://minitest//lib/minitest.rb#754
def failures=(_arg0); end
# @return [Boolean]
#
- # source://minitest//lib/minitest.rb#750
+ # source://minitest//lib/minitest.rb#779
def passed?; end
- # source://minitest//lib/minitest.rb#758
+ # source://minitest//lib/minitest.rb#787
def record(result); end
# Report on the tracked statistics.
#
- # source://minitest//lib/minitest.rb#768
+ # source://minitest//lib/minitest.rb#797
def report; end
# An +Array+ of test cases that failed or were skipped.
#
- # source://minitest//lib/minitest.rb#707
+ # source://minitest//lib/minitest.rb#736
def results; end
# An +Array+ of test cases that failed or were skipped.
#
- # source://minitest//lib/minitest.rb#707
+ # source://minitest//lib/minitest.rb#736
def results=(_arg0); end
# Total number of tests that where skipped.
#
- # source://minitest//lib/minitest.rb#735
+ # source://minitest//lib/minitest.rb#764
def skips; end
# Total number of tests that where skipped.
#
- # source://minitest//lib/minitest.rb#735
+ # source://minitest//lib/minitest.rb#764
def skips=(_arg0); end
- # source://minitest//lib/minitest.rb#754
+ # source://minitest//lib/minitest.rb#783
def start; end
# Time the test run started. If available, the monotonic clock is
# used and this is a +Float+, otherwise it's an instance of
# +Time+.
#
- # source://minitest//lib/minitest.rb#714
+ # source://minitest//lib/minitest.rb#743
def start_time; end
# Time the test run started. If available, the monotonic clock is
# used and this is a +Float+, otherwise it's an instance of
# +Time+.
#
- # source://minitest//lib/minitest.rb#714
+ # source://minitest//lib/minitest.rb#743
def start_time=(_arg0); end
# Test run time. If available, the monotonic clock is used and
# this is a +Float+, otherwise it's an instance of +Time+.
#
- # source://minitest//lib/minitest.rb#720
+ # source://minitest//lib/minitest.rb#749
def total_time; end
# Test run time. If available, the monotonic clock is used and
# this is a +Float+, otherwise it's an instance of +Time+.
#
- # source://minitest//lib/minitest.rb#720
+ # source://minitest//lib/minitest.rb#749
def total_time=(_arg0); end
end
@@ -1219,48 +1247,48 @@ end
# plugin, pull this out of the composite and replace it with your
# own.
#
-# source://minitest//lib/minitest.rb#788
+# source://minitest//lib/minitest.rb#817
class Minitest::SummaryReporter < ::Minitest::StatisticsReporter
- # source://minitest//lib/minitest.rb#823
+ # source://minitest//lib/minitest.rb#852
def aggregated_results(io); end
# Returns the value of attribute old_sync.
#
- # source://minitest//lib/minitest.rb#791
+ # source://minitest//lib/minitest.rb#820
def old_sync; end
# Sets the attribute old_sync
#
# @param value the value to set the attribute old_sync to.
#
- # source://minitest//lib/minitest.rb#791
+ # source://minitest//lib/minitest.rb#820
def old_sync=(_arg0); end
- # source://minitest//lib/minitest.rb#806
+ # source://minitest//lib/minitest.rb#835
def report; end
# :startdoc:
#
- # source://minitest//lib/minitest.rb#794
+ # source://minitest//lib/minitest.rb#823
def start; end
- # source://minitest//lib/minitest.rb#818
+ # source://minitest//lib/minitest.rb#847
def statistics; end
- # source://minitest//lib/minitest.rb#843
+ # source://minitest//lib/minitest.rb#872
def summary; end
# :stopdoc:
#
- # source://minitest//lib/minitest.rb#790
+ # source://minitest//lib/minitest.rb#819
def sync; end
# :stopdoc:
#
- # source://minitest//lib/minitest.rb#790
+ # source://minitest//lib/minitest.rb#819
def sync=(_arg0); end
- # source://minitest//lib/minitest.rb#839
+ # source://minitest//lib/minitest.rb#868
def to_s; end
end
@@ -1398,7 +1426,7 @@ module Minitest::Test::LifecycleHooks
# end
# end
#
- # class MiniTest::Test
+ # class Minitest::Test
# include MyMinitestPlugin
# end
#
@@ -1438,54 +1466,32 @@ Minitest::Test::TEARDOWN_METHODS = T.let(T.unsafe(nil), Array)
# Assertion wrapping an unexpected error that was raised during a run.
#
-# source://minitest//lib/minitest.rb#947
+# source://minitest//lib/minitest.rb#976
class Minitest::UnexpectedError < ::Minitest::Assertion
# @return [UnexpectedError] a new instance of UnexpectedError
#
- # source://minitest//lib/minitest.rb#951
+ # source://minitest//lib/minitest.rb#980
def initialize(error); end
- # source://minitest//lib/minitest.rb#956
+ # source://minitest//lib/minitest.rb#985
def backtrace; end
# TODO: figure out how to use `cause` instead
#
- # source://minitest//lib/minitest.rb#949
+ # source://minitest//lib/minitest.rb#978
def error; end
# TODO: figure out how to use `cause` instead
#
- # source://minitest//lib/minitest.rb#949
+ # source://minitest//lib/minitest.rb#978
def error=(_arg0); end
- # source://minitest//lib/minitest.rb#960
+ # source://minitest//lib/minitest.rb#989
def message; end
- # source://minitest//lib/minitest.rb#965
+ # source://minitest//lib/minitest.rb#994
def result_label; end
end
-# source://minitest//lib/minitest/unit.rb#20
-class Minitest::Unit
- class << self
- # source://minitest//lib/minitest/unit.rb#36
- def after_tests(&b); end
-
- # source://minitest//lib/minitest/unit.rb#30
- def autorun; end
- end
-end
-
-# source://minitest//lib/minitest/unit.rb#22
-class Minitest::Unit::TestCase < ::Minitest::Test
- class << self
- # source://minitest//lib/minitest/unit.rb#23
- def inherited(klass); end
- end
-end
-
-# source://minitest//lib/minitest/unit.rb#21
-Minitest::Unit::VERSION = T.let(T.unsafe(nil), String)
-
# source://minitest//lib/minitest.rb#12
Minitest::VERSION = T.let(T.unsafe(nil), String)
diff --git a/sorbet/rbi/gems/parser@3.2.2.3.rbi b/sorbet/rbi/gems/parser@3.2.2.4.rbi
similarity index 98%
rename from sorbet/rbi/gems/parser@3.2.2.3.rbi
rename to sorbet/rbi/gems/parser@3.2.2.4.rbi
index 79fb0cf0..ac559e2e 100644
--- a/sorbet/rbi/gems/parser@3.2.2.3.rbi
+++ b/sorbet/rbi/gems/parser@3.2.2.4.rbi
@@ -1291,184 +1291,184 @@ class Parser::Builders::Default
private
- # source://parser//lib/parser/builders/default.rb#1798
+ # source://parser//lib/parser/builders/default.rb#1808
def arg_name_collides?(this_name, that_name); end
- # source://parser//lib/parser/builders/default.rb#1994
+ # source://parser//lib/parser/builders/default.rb#2004
def arg_prefix_map(op_t, name_t = T.unsafe(nil)); end
- # source://parser//lib/parser/builders/default.rb#1968
+ # source://parser//lib/parser/builders/default.rb#1978
def binary_op_map(left_e, op_t, right_e); end
- # source://parser//lib/parser/builders/default.rb#2096
+ # source://parser//lib/parser/builders/default.rb#2106
def block_map(receiver_l, begin_t, end_t); end
- # source://parser//lib/parser/builders/default.rb#1773
+ # source://parser//lib/parser/builders/default.rb#1783
def check_assignment_to_numparam(name, loc); end
# source://parser//lib/parser/builders/default.rb#1675
def check_condition(cond); end
- # source://parser//lib/parser/builders/default.rb#1744
+ # source://parser//lib/parser/builders/default.rb#1754
def check_duplicate_arg(this_arg, map = T.unsafe(nil)); end
- # source://parser//lib/parser/builders/default.rb#1719
+ # source://parser//lib/parser/builders/default.rb#1729
def check_duplicate_args(args, map = T.unsafe(nil)); end
- # source://parser//lib/parser/builders/default.rb#1831
+ # source://parser//lib/parser/builders/default.rb#1841
def check_duplicate_pattern_key(name, loc); end
- # source://parser//lib/parser/builders/default.rb#1821
+ # source://parser//lib/parser/builders/default.rb#1831
def check_duplicate_pattern_variable(name, loc); end
- # source://parser//lib/parser/builders/default.rb#1813
+ # source://parser//lib/parser/builders/default.rb#1823
def check_lvar_name(name, loc); end
- # source://parser//lib/parser/builders/default.rb#1788
+ # source://parser//lib/parser/builders/default.rb#1798
def check_reserved_for_numparam(name, loc); end
- # source://parser//lib/parser/builders/default.rb#2253
+ # source://parser//lib/parser/builders/default.rb#2263
def collapse_string_parts?(parts); end
- # source://parser//lib/parser/builders/default.rb#1919
+ # source://parser//lib/parser/builders/default.rb#1929
def collection_map(begin_t, parts, end_t); end
- # source://parser//lib/parser/builders/default.rb#2123
+ # source://parser//lib/parser/builders/default.rb#2133
def condition_map(keyword_t, cond_e, begin_t, body_e, else_t, else_e, end_t); end
- # source://parser//lib/parser/builders/default.rb#1954
+ # source://parser//lib/parser/builders/default.rb#1964
def constant_map(scope, colon2_t, name_t); end
- # source://parser//lib/parser/builders/default.rb#2027
+ # source://parser//lib/parser/builders/default.rb#2037
def definition_map(keyword_t, operator_t, name_t, end_t); end
- # source://parser//lib/parser/builders/default.rb#1860
+ # source://parser//lib/parser/builders/default.rb#1870
def delimited_string_map(string_t); end
- # source://parser//lib/parser/builders/default.rb#2275
+ # source://parser//lib/parser/builders/default.rb#2285
def diagnostic(type, reason, arguments, location, highlights = T.unsafe(nil)); end
- # source://parser//lib/parser/builders/default.rb#2167
+ # source://parser//lib/parser/builders/default.rb#2177
def eh_keyword_map(compstmt_e, keyword_t, body_es, else_t, else_e); end
- # source://parser//lib/parser/builders/default.rb#2033
+ # source://parser//lib/parser/builders/default.rb#2043
def endless_definition_map(keyword_t, operator_t, name_t, assignment_t, body_e); end
- # source://parser//lib/parser/builders/default.rb#1915
+ # source://parser//lib/parser/builders/default.rb#1925
def expr_map(loc); end
- # source://parser//lib/parser/builders/default.rb#2148
+ # source://parser//lib/parser/builders/default.rb#2158
def for_map(keyword_t, in_t, begin_t, end_t); end
- # source://parser//lib/parser/builders/default.rb#2195
+ # source://parser//lib/parser/builders/default.rb#2205
def guard_map(keyword_t, guard_body_e); end
- # source://parser//lib/parser/builders/default.rb#2085
+ # source://parser//lib/parser/builders/default.rb#2095
def index_map(receiver_e, lbrack_t, rbrack_t); end
- # source://parser//lib/parser/builders/default.rb#1851
+ # source://parser//lib/parser/builders/default.rb#1861
def join_exprs(left_expr, right_expr); end
- # source://parser//lib/parser/builders/default.rb#2101
+ # source://parser//lib/parser/builders/default.rb#2111
def keyword_map(keyword_t, begin_t, args, end_t); end
- # source://parser//lib/parser/builders/default.rb#2118
+ # source://parser//lib/parser/builders/default.rb#2128
def keyword_mod_map(pre_e, keyword_t, post_e); end
- # source://parser//lib/parser/builders/default.rb#2004
+ # source://parser//lib/parser/builders/default.rb#2014
def kwarg_map(name_t, value_e = T.unsafe(nil)); end
- # source://parser//lib/parser/builders/default.rb#2306
+ # source://parser//lib/parser/builders/default.rb#2316
def kwargs?(node); end
- # source://parser//lib/parser/builders/default.rb#2270
+ # source://parser//lib/parser/builders/default.rb#2280
def loc(token); end
- # source://parser//lib/parser/builders/default.rb#2017
+ # source://parser//lib/parser/builders/default.rb#2027
def module_definition_map(keyword_t, name_e, operator_t, end_t); end
- # source://parser//lib/parser/builders/default.rb#1843
+ # source://parser//lib/parser/builders/default.rb#1853
def n(type, children, source_map); end
- # source://parser//lib/parser/builders/default.rb#1847
+ # source://parser//lib/parser/builders/default.rb#1857
def n0(type, source_map); end
# source://parser//lib/parser/builders/default.rb#288
def numeric(kind, token); end
- # source://parser//lib/parser/builders/default.rb#1885
+ # source://parser//lib/parser/builders/default.rb#1895
def pair_keyword_map(key_t, value_e); end
- # source://parser//lib/parser/builders/default.rb#1900
+ # source://parser//lib/parser/builders/default.rb#1910
def pair_quoted_map(begin_t, end_t, value_e); end
- # source://parser//lib/parser/builders/default.rb#1871
+ # source://parser//lib/parser/builders/default.rb#1881
def prefix_string_map(symbol); end
- # source://parser//lib/parser/builders/default.rb#1982
+ # source://parser//lib/parser/builders/default.rb#1992
def range_map(start_e, op_t, end_e); end
- # source://parser//lib/parser/builders/default.rb#1949
+ # source://parser//lib/parser/builders/default.rb#1959
def regexp_map(begin_t, end_t, options_e); end
- # source://parser//lib/parser/builders/default.rb#2154
+ # source://parser//lib/parser/builders/default.rb#2164
def rescue_body_map(keyword_t, exc_list_e, assoc_t, exc_var_e, then_t, compstmt_e); end
- # source://parser//lib/parser/builders/default.rb#2296
+ # source://parser//lib/parser/builders/default.rb#2306
def rewrite_hash_args_to_kwargs(args); end
- # source://parser//lib/parser/builders/default.rb#2067
+ # source://parser//lib/parser/builders/default.rb#2077
def send_binary_op_map(lhs_e, selector_t, rhs_e); end
- # source://parser//lib/parser/builders/default.rb#2090
+ # source://parser//lib/parser/builders/default.rb#2100
def send_index_map(receiver_e, lbrack_t, rbrack_t); end
- # source://parser//lib/parser/builders/default.rb#2041
+ # source://parser//lib/parser/builders/default.rb#2051
def send_map(receiver_e, dot_t, selector_t, begin_t = T.unsafe(nil), args = T.unsafe(nil), end_t = T.unsafe(nil)); end
- # source://parser//lib/parser/builders/default.rb#2073
+ # source://parser//lib/parser/builders/default.rb#2083
def send_unary_op_map(selector_t, arg_e); end
- # source://parser//lib/parser/builders/default.rb#2226
+ # source://parser//lib/parser/builders/default.rb#2236
def static_regexp(parts, options); end
- # source://parser//lib/parser/builders/default.rb#2246
+ # source://parser//lib/parser/builders/default.rb#2256
def static_regexp_node(node); end
- # source://parser//lib/parser/builders/default.rb#2209
+ # source://parser//lib/parser/builders/default.rb#2219
def static_string(nodes); end
- # source://parser//lib/parser/builders/default.rb#1935
+ # source://parser//lib/parser/builders/default.rb#1945
def string_map(begin_t, parts, end_t); end
- # source://parser//lib/parser/builders/default.rb#2262
+ # source://parser//lib/parser/builders/default.rb#2272
def string_value(token); end
- # source://parser//lib/parser/builders/default.rb#2143
+ # source://parser//lib/parser/builders/default.rb#2153
def ternary_map(begin_e, question_t, mid_e, colon_t, end_e); end
- # source://parser//lib/parser/builders/default.rb#1856
+ # source://parser//lib/parser/builders/default.rb#1866
def token_map(token); end
- # source://parser//lib/parser/builders/default.rb#1972
+ # source://parser//lib/parser/builders/default.rb#1982
def unary_op_map(op_t, arg_e = T.unsafe(nil)); end
- # source://parser//lib/parser/builders/default.rb#1880
+ # source://parser//lib/parser/builders/default.rb#1890
def unquoted_map(token); end
- # source://parser//lib/parser/builders/default.rb#2284
+ # source://parser//lib/parser/builders/default.rb#2294
def validate_definee(definee); end
- # source://parser//lib/parser/builders/default.rb#1758
+ # source://parser//lib/parser/builders/default.rb#1768
def validate_no_forward_arg_after_restarg(args); end
- # source://parser//lib/parser/builders/default.rb#2258
+ # source://parser//lib/parser/builders/default.rb#2268
def value(token); end
- # source://parser//lib/parser/builders/default.rb#2061
+ # source://parser//lib/parser/builders/default.rb#2071
def var_send_map(variable_e); end
- # source://parser//lib/parser/builders/default.rb#1964
+ # source://parser//lib/parser/builders/default.rb#1974
def variable_map(name_t); end
class << self
@@ -3650,7 +3650,7 @@ class Parser::Source::Comment::Associator
# source://parser//lib/parser/source/comment/associator.rb#115
def associate_by_identity; end
- # source://parser//lib/parser/source/comment/associator.rb#103
+ # source://parser//lib/parser/source/comment/associator.rb#104
def associate_locations; end
# source://parser//lib/parser/source/comment/associator.rb#46
diff --git a/sorbet/rbi/gems/prism@0.17.1.rbi b/sorbet/rbi/gems/prism@0.19.0.rbi
similarity index 78%
rename from sorbet/rbi/gems/prism@0.17.1.rbi
rename to sorbet/rbi/gems/prism@0.19.0.rbi
index 3930100e..901807f8 100644
--- a/sorbet/rbi/gems/prism@0.17.1.rbi
+++ b/sorbet/rbi/gems/prism@0.19.0.rbi
@@ -28,15 +28,15 @@ module Prism
def lex(*_arg0); end
# :call-seq:
- # Prism::lex_compat(source, **options) -> Array
+ # Prism::lex_compat(source, **options) -> ParseResult
#
- # Returns an array of tokens that closely resembles that of the Ripper lexer.
- # The only difference is that since we don't keep track of lexer state in the
- # same way, it's going to always return the NONE state.
+ # Returns a parse result whose value is an array of tokens that closely
+ # resembles the return value of Ripper::lex. The main difference is that the
+ # `:on_sp` token is not emitted.
#
# For supported options, see Prism::parse.
#
- # source://prism//lib/prism.rb#45
+ # source://prism//lib/prism.rb#46
def lex_compat(source, **options); end
# Mirror the Prism.lex_file API by using the serialization API.
@@ -49,7 +49,7 @@ module Prism
# returns the same tokens. Raises SyntaxError if the syntax in source is
# invalid.
#
- # source://prism//lib/prism.rb#55
+ # source://prism//lib/prism.rb#56
def lex_ripper(source); end
# :call-seq:
@@ -57,7 +57,7 @@ module Prism
#
# Load the serialized AST using the source as a reference into a tree.
#
- # source://prism//lib/prism.rb#63
+ # source://prism//lib/prism.rb#64
def load(source, serialized); end
# Mirror the Prism.parse API by using the serialization API.
@@ -66,6 +66,16 @@ module Prism
# Mirror the Prism.parse_comments API by using the serialization API.
def parse_comments(*_arg0); end
+ # :call-seq:
+ # Prism::parse_failure?(source, **options) -> bool
+ #
+ # Returns true if the source parses with errors.
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism.rb#72
+ def parse_failure?(source, **options); end
+
# Mirror the Prism.parse_file API by using the serialization API. This uses
# native strings instead of Ruby strings because it allows us to use mmap when
# it is available.
@@ -76,11 +86,31 @@ module Prism
# to use mmap when it is available.
def parse_file_comments(*_arg0); end
+ # :call-seq:
+ # Prism::parse_file_failure?(filepath, **options) -> bool
+ #
+ # Returns true if the file at filepath parses with errors.
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism.rb#80
+ def parse_file_failure?(filepath, **options); end
+
+ # Mirror the Prism.parse_file_success? API by using the serialization API.
+ #
+ # @return [Boolean]
+ def parse_file_success?(*_arg0); end
+
# Mirror the Prism.parse_lex API by using the serialization API.
def parse_lex(*_arg0); end
# Mirror the Prism.parse_lex_file API by using the serialization API.
def parse_lex_file(*_arg0); end
+
+ # Mirror the Prism.parse_success? API by using the serialization API.
+ #
+ # @return [Boolean]
+ def parse_success?(*_arg0); end
end
end
@@ -89,13 +119,13 @@ end
# alias $foo $bar
# ^^^^^^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#47
+# source://prism//lib/prism/node.rb#52
class Prism::AliasGlobalVariableNode < ::Prism::Node
# def initialize: (new_name: Node, old_name: Node, keyword_loc: Location, location: Location) -> void
#
# @return [AliasGlobalVariableNode] a new instance of AliasGlobalVariableNode
#
- # source://prism//lib/prism/node.rb#58
+ # source://prism//lib/prism/node.rb#63
sig do
params(
new_name: Prism::Node,
@@ -108,42 +138,42 @@ class Prism::AliasGlobalVariableNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#66
+ # source://prism//lib/prism/node.rb#71
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#71
+ # source://prism//lib/prism/node.rb#76
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#81
+ # source://prism//lib/prism/node.rb#86
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#76
+ # source://prism//lib/prism/node.rb#81
def compact_child_nodes; end
# def copy: (**params) -> AliasGlobalVariableNode
#
- # source://prism//lib/prism/node.rb#86
+ # source://prism//lib/prism/node.rb#91
sig { params(params: T.untyped).returns(Prism::AliasGlobalVariableNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#71
+ # source://prism//lib/prism/node.rb#76
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#99
+ # source://prism//lib/prism/node.rb#104
sig do
params(
keys: T::Array[Symbol]
@@ -153,30 +183,30 @@ class Prism::AliasGlobalVariableNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#109
+ # source://prism//lib/prism/node.rb#114
def inspect(inspector = T.unsafe(nil)); end
# def keyword: () -> String
#
- # source://prism//lib/prism/node.rb#104
+ # source://prism//lib/prism/node.rb#109
sig { returns(String) }
def keyword; end
# attr_reader keyword_loc: Location
#
- # source://prism//lib/prism/node.rb#55
+ # source://prism//lib/prism/node.rb#60
sig { returns(Prism::Location) }
def keyword_loc; end
# attr_reader new_name: Node
#
- # source://prism//lib/prism/node.rb#49
+ # source://prism//lib/prism/node.rb#54
sig { returns(Prism::Node) }
def new_name; end
# attr_reader old_name: Node
#
- # source://prism//lib/prism/node.rb#52
+ # source://prism//lib/prism/node.rb#57
sig { returns(Prism::Node) }
def old_name; end
@@ -195,7 +225,7 @@ class Prism::AliasGlobalVariableNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#133
+ # source://prism//lib/prism/node.rb#138
def type; end
class << self
@@ -206,7 +236,7 @@ class Prism::AliasGlobalVariableNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#143
+ # source://prism//lib/prism/node.rb#148
def type; end
end
end
@@ -216,13 +246,13 @@ end
# alias foo bar
# ^^^^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#152
+# source://prism//lib/prism/node.rb#157
class Prism::AliasMethodNode < ::Prism::Node
# def initialize: (new_name: Node, old_name: Node, keyword_loc: Location, location: Location) -> void
#
# @return [AliasMethodNode] a new instance of AliasMethodNode
#
- # source://prism//lib/prism/node.rb#163
+ # source://prism//lib/prism/node.rb#168
sig do
params(
new_name: Prism::Node,
@@ -235,42 +265,42 @@ class Prism::AliasMethodNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#171
+ # source://prism//lib/prism/node.rb#176
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#176
+ # source://prism//lib/prism/node.rb#181
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#186
+ # source://prism//lib/prism/node.rb#191
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#181
+ # source://prism//lib/prism/node.rb#186
def compact_child_nodes; end
# def copy: (**params) -> AliasMethodNode
#
- # source://prism//lib/prism/node.rb#191
+ # source://prism//lib/prism/node.rb#196
sig { params(params: T.untyped).returns(Prism::AliasMethodNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#176
+ # source://prism//lib/prism/node.rb#181
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#204
+ # source://prism//lib/prism/node.rb#209
sig do
params(
keys: T::Array[Symbol]
@@ -280,30 +310,30 @@ class Prism::AliasMethodNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#214
+ # source://prism//lib/prism/node.rb#219
def inspect(inspector = T.unsafe(nil)); end
# def keyword: () -> String
#
- # source://prism//lib/prism/node.rb#209
+ # source://prism//lib/prism/node.rb#214
sig { returns(String) }
def keyword; end
# attr_reader keyword_loc: Location
#
- # source://prism//lib/prism/node.rb#160
+ # source://prism//lib/prism/node.rb#165
sig { returns(Prism::Location) }
def keyword_loc; end
# attr_reader new_name: Node
#
- # source://prism//lib/prism/node.rb#154
+ # source://prism//lib/prism/node.rb#159
sig { returns(Prism::Node) }
def new_name; end
# attr_reader old_name: Node
#
- # source://prism//lib/prism/node.rb#157
+ # source://prism//lib/prism/node.rb#162
sig { returns(Prism::Node) }
def old_name; end
@@ -322,7 +352,7 @@ class Prism::AliasMethodNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#238
+ # source://prism//lib/prism/node.rb#243
def type; end
class << self
@@ -333,7 +363,7 @@ class Prism::AliasMethodNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#248
+ # source://prism//lib/prism/node.rb#253
def type; end
end
end
@@ -343,54 +373,54 @@ end
# foo => bar | baz
# ^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#257
+# source://prism//lib/prism/node.rb#262
class Prism::AlternationPatternNode < ::Prism::Node
# def initialize: (left: Node, right: Node, operator_loc: Location, location: Location) -> void
#
# @return [AlternationPatternNode] a new instance of AlternationPatternNode
#
- # source://prism//lib/prism/node.rb#268
+ # source://prism//lib/prism/node.rb#273
sig { params(left: Prism::Node, right: Prism::Node, operator_loc: Prism::Location, location: Prism::Location).void }
def initialize(left, right, operator_loc, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#276
+ # source://prism//lib/prism/node.rb#281
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#281
+ # source://prism//lib/prism/node.rb#286
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#291
+ # source://prism//lib/prism/node.rb#296
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#286
+ # source://prism//lib/prism/node.rb#291
def compact_child_nodes; end
# def copy: (**params) -> AlternationPatternNode
#
- # source://prism//lib/prism/node.rb#296
+ # source://prism//lib/prism/node.rb#301
sig { params(params: T.untyped).returns(Prism::AlternationPatternNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#281
+ # source://prism//lib/prism/node.rb#286
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#309
+ # source://prism//lib/prism/node.rb#314
sig do
params(
keys: T::Array[Symbol]
@@ -400,30 +430,30 @@ class Prism::AlternationPatternNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#319
+ # source://prism//lib/prism/node.rb#324
def inspect(inspector = T.unsafe(nil)); end
# attr_reader left: Node
#
- # source://prism//lib/prism/node.rb#259
+ # source://prism//lib/prism/node.rb#264
sig { returns(Prism::Node) }
def left; end
# def operator: () -> String
#
- # source://prism//lib/prism/node.rb#314
+ # source://prism//lib/prism/node.rb#319
sig { returns(String) }
def operator; end
# attr_reader operator_loc: Location
#
- # source://prism//lib/prism/node.rb#265
+ # source://prism//lib/prism/node.rb#270
sig { returns(Prism::Location) }
def operator_loc; end
# attr_reader right: Node
#
- # source://prism//lib/prism/node.rb#262
+ # source://prism//lib/prism/node.rb#267
sig { returns(Prism::Node) }
def right; end
@@ -442,7 +472,7 @@ class Prism::AlternationPatternNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#343
+ # source://prism//lib/prism/node.rb#348
def type; end
class << self
@@ -453,7 +483,7 @@ class Prism::AlternationPatternNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#353
+ # source://prism//lib/prism/node.rb#358
def type; end
end
end
@@ -463,54 +493,54 @@ end
# left and right
# ^^^^^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#362
+# source://prism//lib/prism/node.rb#367
class Prism::AndNode < ::Prism::Node
# def initialize: (left: Node, right: Node, operator_loc: Location, location: Location) -> void
#
# @return [AndNode] a new instance of AndNode
#
- # source://prism//lib/prism/node.rb#373
+ # source://prism//lib/prism/node.rb#378
sig { params(left: Prism::Node, right: Prism::Node, operator_loc: Prism::Location, location: Prism::Location).void }
def initialize(left, right, operator_loc, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#381
+ # source://prism//lib/prism/node.rb#386
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#386
+ # source://prism//lib/prism/node.rb#391
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#396
+ # source://prism//lib/prism/node.rb#401
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#391
+ # source://prism//lib/prism/node.rb#396
def compact_child_nodes; end
# def copy: (**params) -> AndNode
#
- # source://prism//lib/prism/node.rb#401
+ # source://prism//lib/prism/node.rb#406
sig { params(params: T.untyped).returns(Prism::AndNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#386
+ # source://prism//lib/prism/node.rb#391
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#414
+ # source://prism//lib/prism/node.rb#419
sig do
params(
keys: T::Array[Symbol]
@@ -520,30 +550,30 @@ class Prism::AndNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#424
+ # source://prism//lib/prism/node.rb#429
def inspect(inspector = T.unsafe(nil)); end
# attr_reader left: Node
#
- # source://prism//lib/prism/node.rb#364
+ # source://prism//lib/prism/node.rb#369
sig { returns(Prism::Node) }
def left; end
# def operator: () -> String
#
- # source://prism//lib/prism/node.rb#419
+ # source://prism//lib/prism/node.rb#424
sig { returns(String) }
def operator; end
# attr_reader operator_loc: Location
#
- # source://prism//lib/prism/node.rb#370
+ # source://prism//lib/prism/node.rb#375
sig { returns(Prism::Location) }
def operator_loc; end
# attr_reader right: Node
#
- # source://prism//lib/prism/node.rb#367
+ # source://prism//lib/prism/node.rb#372
sig { returns(Prism::Node) }
def right; end
@@ -562,7 +592,7 @@ class Prism::AndNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#448
+ # source://prism//lib/prism/node.rb#453
def type; end
class << self
@@ -573,7 +603,7 @@ class Prism::AndNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#458
+ # source://prism//lib/prism/node.rb#463
def type; end
end
end
@@ -583,60 +613,68 @@ end
# return foo, bar, baz
# ^^^^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#467
+# source://prism//lib/prism/node.rb#472
class Prism::ArgumentsNode < ::Prism::Node
- # def initialize: (arguments: Array[Node], flags: Integer, location: Location) -> void
+ # def initialize: (flags: Integer, arguments: Array[Node], location: Location) -> void
#
# @return [ArgumentsNode] a new instance of ArgumentsNode
#
- # source://prism//lib/prism/node.rb#475
- sig { params(arguments: T::Array[Prism::Node], flags: Integer, location: Prism::Location).void }
- def initialize(arguments, flags, location); end
+ # source://prism//lib/prism/node.rb#480
+ sig { params(flags: Integer, arguments: T::Array[Prism::Node], location: Prism::Location).void }
+ def initialize(flags, arguments, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#482
+ # source://prism//lib/prism/node.rb#487
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# attr_reader arguments: Array[Node]
#
- # source://prism//lib/prism/node.rb#469
+ # source://prism//lib/prism/node.rb#477
sig { returns(T::Array[Prism::Node]) }
def arguments; end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#487
+ # source://prism//lib/prism/node.rb#492
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#497
+ # source://prism//lib/prism/node.rb#502
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#492
+ # source://prism//lib/prism/node.rb#497
def compact_child_nodes; end
+ # def contains_keyword_splat?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#524
+ sig { returns(T::Boolean) }
+ def contains_keyword_splat?; end
+
# def copy: (**params) -> ArgumentsNode
#
- # source://prism//lib/prism/node.rb#502
+ # source://prism//lib/prism/node.rb#507
sig { params(params: T.untyped).returns(Prism::ArgumentsNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#487
+ # source://prism//lib/prism/node.rb#492
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#514
+ # source://prism//lib/prism/node.rb#519
sig do
params(
keys: T::Array[Symbol]
@@ -646,17 +684,9 @@ class Prism::ArgumentsNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#524
+ # source://prism//lib/prism/node.rb#529
def inspect(inspector = T.unsafe(nil)); end
- # def keyword_splat?: () -> bool
- #
- # @return [Boolean]
- #
- # source://prism//lib/prism/node.rb#519
- sig { returns(T::Boolean) }
- def keyword_splat?; end
-
# Sometimes you want to check an instance of a node against a list of
# classes to see what kind of behavior to perform. Usually this is done by
# calling `[cls1, cls2].include?(node.class)` or putting the node into a
@@ -672,14 +702,14 @@ class Prism::ArgumentsNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#546
+ # source://prism//lib/prism/node.rb#551
def type; end
private
# Returns the value of attribute flags.
#
- # source://prism//lib/prism/node.rb#472
+ # source://prism//lib/prism/node.rb#474
sig { returns(Integer) }
def flags; end
@@ -691,20 +721,20 @@ class Prism::ArgumentsNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#556
+ # source://prism//lib/prism/node.rb#561
def type; end
end
end
# Flags for arguments nodes.
#
-# source://prism//lib/prism/node.rb#16536
+# source://prism//lib/prism/node.rb#17277
module Prism::ArgumentsNodeFlags; end
# if arguments contain keyword splat
#
-# source://prism//lib/prism/node.rb#16538
-Prism::ArgumentsNodeFlags::KEYWORD_SPLAT = T.let(T.unsafe(nil), Integer)
+# source://prism//lib/prism/node.rb#17279
+Prism::ArgumentsNodeFlags::CONTAINS_KEYWORD_SPLAT = T.let(T.unsafe(nil), Integer)
# Represents an array literal. This can be a regular array using brackets or
# a special array using % like %w or %i.
@@ -712,73 +742,82 @@ Prism::ArgumentsNodeFlags::KEYWORD_SPLAT = T.let(T.unsafe(nil), Integer)
# [1, 2, 3]
# ^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#566
+# source://prism//lib/prism/node.rb#571
class Prism::ArrayNode < ::Prism::Node
- # def initialize: (elements: Array[Node], opening_loc: Location?, closing_loc: Location?, location: Location) -> void
+ # def initialize: (flags: Integer, elements: Array[Node], opening_loc: Location?, closing_loc: Location?, location: Location) -> void
#
# @return [ArrayNode] a new instance of ArrayNode
#
- # source://prism//lib/prism/node.rb#577
+ # source://prism//lib/prism/node.rb#585
sig do
params(
+ flags: Integer,
elements: T::Array[Prism::Node],
opening_loc: T.nilable(Prism::Location),
closing_loc: T.nilable(Prism::Location),
location: Prism::Location
).void
end
- def initialize(elements, opening_loc, closing_loc, location); end
+ def initialize(flags, elements, opening_loc, closing_loc, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#585
+ # source://prism//lib/prism/node.rb#594
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#590
+ # source://prism//lib/prism/node.rb#599
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def closing: () -> String?
#
- # source://prism//lib/prism/node.rb#628
+ # source://prism//lib/prism/node.rb#643
sig { returns(T.nilable(String)) }
def closing; end
# attr_reader closing_loc: Location?
#
- # source://prism//lib/prism/node.rb#574
+ # source://prism//lib/prism/node.rb#582
sig { returns(T.nilable(Prism::Location)) }
def closing_loc; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#600
+ # source://prism//lib/prism/node.rb#609
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#595
+ # source://prism//lib/prism/node.rb#604
def compact_child_nodes; end
+ # def contains_splat?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#633
+ sig { returns(T::Boolean) }
+ def contains_splat?; end
+
# def copy: (**params) -> ArrayNode
#
- # source://prism//lib/prism/node.rb#605
+ # source://prism//lib/prism/node.rb#614
sig { params(params: T.untyped).returns(Prism::ArrayNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#590
+ # source://prism//lib/prism/node.rb#599
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#618
+ # source://prism//lib/prism/node.rb#628
sig do
params(
keys: T::Array[Symbol]
@@ -788,24 +827,24 @@ class Prism::ArrayNode < ::Prism::Node
# attr_reader elements: Array[Node]
#
- # source://prism//lib/prism/node.rb#568
+ # source://prism//lib/prism/node.rb#576
sig { returns(T::Array[Prism::Node]) }
def elements; end
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#633
+ # source://prism//lib/prism/node.rb#648
def inspect(inspector = T.unsafe(nil)); end
# def opening: () -> String?
#
- # source://prism//lib/prism/node.rb#623
+ # source://prism//lib/prism/node.rb#638
sig { returns(T.nilable(String)) }
def opening; end
# attr_reader opening_loc: Location?
#
- # source://prism//lib/prism/node.rb#571
+ # source://prism//lib/prism/node.rb#579
sig { returns(T.nilable(Prism::Location)) }
def opening_loc; end
@@ -824,9 +863,17 @@ class Prism::ArrayNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#655
+ # source://prism//lib/prism/node.rb#672
def type; end
+ private
+
+ # Returns the value of attribute flags.
+ #
+ # source://prism//lib/prism/node.rb#573
+ sig { returns(Integer) }
+ def flags; end
+
class << self
# Similar to #type, this method returns a symbol that you can use for
# splitting on the type of the node without having to do a long === chain.
@@ -835,11 +882,21 @@ class Prism::ArrayNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#665
+ # source://prism//lib/prism/node.rb#682
def type; end
end
end
+# Flags for array nodes.
+#
+# source://prism//lib/prism/node.rb#17283
+module Prism::ArrayNodeFlags; end
+
+# if array contains splat nodes
+#
+# source://prism//lib/prism/node.rb#17285
+Prism::ArrayNodeFlags::CONTAINS_SPLAT = T.let(T.unsafe(nil), Integer)
+
# Represents an array pattern in pattern matching.
#
# foo in 1, 2
@@ -857,13 +914,13 @@ end
# foo in Bar[1, 2, 3]
# ^^^^^^^^^^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#686
+# source://prism//lib/prism/node.rb#703
class Prism::ArrayPatternNode < ::Prism::Node
# def initialize: (constant: Node?, requireds: Array[Node], rest: Node?, posts: Array[Node], opening_loc: Location?, closing_loc: Location?, location: Location) -> void
#
# @return [ArrayPatternNode] a new instance of ArrayPatternNode
#
- # source://prism//lib/prism/node.rb#706
+ # source://prism//lib/prism/node.rb#723
sig do
params(
constant: T.nilable(Prism::Node),
@@ -879,60 +936,60 @@ class Prism::ArrayPatternNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#717
+ # source://prism//lib/prism/node.rb#734
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#722
+ # source://prism//lib/prism/node.rb#739
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def closing: () -> String?
#
- # source://prism//lib/prism/node.rb#768
+ # source://prism//lib/prism/node.rb#785
sig { returns(T.nilable(String)) }
def closing; end
# attr_reader closing_loc: Location?
#
- # source://prism//lib/prism/node.rb#703
+ # source://prism//lib/prism/node.rb#720
sig { returns(T.nilable(Prism::Location)) }
def closing_loc; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#737
+ # source://prism//lib/prism/node.rb#754
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#727
+ # source://prism//lib/prism/node.rb#744
def compact_child_nodes; end
# attr_reader constant: Node?
#
- # source://prism//lib/prism/node.rb#688
+ # source://prism//lib/prism/node.rb#705
sig { returns(T.nilable(Prism::Node)) }
def constant; end
# def copy: (**params) -> ArrayPatternNode
#
- # source://prism//lib/prism/node.rb#742
+ # source://prism//lib/prism/node.rb#759
sig { params(params: T.untyped).returns(Prism::ArrayPatternNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#722
+ # source://prism//lib/prism/node.rb#739
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#758
+ # source://prism//lib/prism/node.rb#775
sig do
params(
keys: T::Array[Symbol]
@@ -942,36 +999,36 @@ class Prism::ArrayPatternNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#773
+ # source://prism//lib/prism/node.rb#790
def inspect(inspector = T.unsafe(nil)); end
# def opening: () -> String?
#
- # source://prism//lib/prism/node.rb#763
+ # source://prism//lib/prism/node.rb#780
sig { returns(T.nilable(String)) }
def opening; end
# attr_reader opening_loc: Location?
#
- # source://prism//lib/prism/node.rb#700
+ # source://prism//lib/prism/node.rb#717
sig { returns(T.nilable(Prism::Location)) }
def opening_loc; end
# attr_reader posts: Array[Node]
#
- # source://prism//lib/prism/node.rb#697
+ # source://prism//lib/prism/node.rb#714
sig { returns(T::Array[Prism::Node]) }
def posts; end
# attr_reader requireds: Array[Node]
#
- # source://prism//lib/prism/node.rb#691
+ # source://prism//lib/prism/node.rb#708
sig { returns(T::Array[Prism::Node]) }
def requireds; end
# attr_reader rest: Node?
#
- # source://prism//lib/prism/node.rb#694
+ # source://prism//lib/prism/node.rb#711
sig { returns(T.nilable(Prism::Node)) }
def rest; end
@@ -990,7 +1047,7 @@ class Prism::ArrayPatternNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#808
+ # source://prism//lib/prism/node.rb#825
def type; end
class << self
@@ -1001,7 +1058,7 @@ class Prism::ArrayPatternNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#818
+ # source://prism//lib/prism/node.rb#835
def type; end
end
end
@@ -1011,13 +1068,13 @@ end
# { a => b }
# ^^^^^^
#
-# source://prism//lib/prism/node.rb#827
+# source://prism//lib/prism/node.rb#844
class Prism::AssocNode < ::Prism::Node
# def initialize: (key: Node, value: Node?, operator_loc: Location?, location: Location) -> void
#
# @return [AssocNode] a new instance of AssocNode
#
- # source://prism//lib/prism/node.rb#838
+ # source://prism//lib/prism/node.rb#855
sig do
params(
key: Prism::Node,
@@ -1030,42 +1087,42 @@ class Prism::AssocNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#846
+ # source://prism//lib/prism/node.rb#863
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#851
+ # source://prism//lib/prism/node.rb#868
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#864
+ # source://prism//lib/prism/node.rb#881
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#856
+ # source://prism//lib/prism/node.rb#873
def compact_child_nodes; end
# def copy: (**params) -> AssocNode
#
- # source://prism//lib/prism/node.rb#869
+ # source://prism//lib/prism/node.rb#886
sig { params(params: T.untyped).returns(Prism::AssocNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#851
+ # source://prism//lib/prism/node.rb#868
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#882
+ # source://prism//lib/prism/node.rb#899
sig do
params(
keys: T::Array[Symbol]
@@ -1075,24 +1132,24 @@ class Prism::AssocNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#892
+ # source://prism//lib/prism/node.rb#909
def inspect(inspector = T.unsafe(nil)); end
# attr_reader key: Node
#
- # source://prism//lib/prism/node.rb#829
+ # source://prism//lib/prism/node.rb#846
sig { returns(Prism::Node) }
def key; end
# def operator: () -> String?
#
- # source://prism//lib/prism/node.rb#887
+ # source://prism//lib/prism/node.rb#904
sig { returns(T.nilable(String)) }
def operator; end
# attr_reader operator_loc: Location?
#
- # source://prism//lib/prism/node.rb#835
+ # source://prism//lib/prism/node.rb#852
sig { returns(T.nilable(Prism::Location)) }
def operator_loc; end
@@ -1111,12 +1168,12 @@ class Prism::AssocNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#920
+ # source://prism//lib/prism/node.rb#937
def type; end
# attr_reader value: Node?
#
- # source://prism//lib/prism/node.rb#832
+ # source://prism//lib/prism/node.rb#849
sig { returns(T.nilable(Prism::Node)) }
def value; end
@@ -1128,7 +1185,7 @@ class Prism::AssocNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#930
+ # source://prism//lib/prism/node.rb#947
def type; end
end
end
@@ -1138,54 +1195,54 @@ end
# { **foo }
# ^^^^^
#
-# source://prism//lib/prism/node.rb#939
+# source://prism//lib/prism/node.rb#956
class Prism::AssocSplatNode < ::Prism::Node
# def initialize: (value: Node?, operator_loc: Location, location: Location) -> void
#
# @return [AssocSplatNode] a new instance of AssocSplatNode
#
- # source://prism//lib/prism/node.rb#947
+ # source://prism//lib/prism/node.rb#964
sig { params(value: T.nilable(Prism::Node), operator_loc: Prism::Location, location: Prism::Location).void }
def initialize(value, operator_loc, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#954
+ # source://prism//lib/prism/node.rb#971
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#959
+ # source://prism//lib/prism/node.rb#976
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#971
+ # source://prism//lib/prism/node.rb#988
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#964
+ # source://prism//lib/prism/node.rb#981
def compact_child_nodes; end
# def copy: (**params) -> AssocSplatNode
#
- # source://prism//lib/prism/node.rb#976
+ # source://prism//lib/prism/node.rb#993
sig { params(params: T.untyped).returns(Prism::AssocSplatNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#959
+ # source://prism//lib/prism/node.rb#976
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#988
+ # source://prism//lib/prism/node.rb#1005
sig do
params(
keys: T::Array[Symbol]
@@ -1195,18 +1252,18 @@ class Prism::AssocSplatNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#998
+ # source://prism//lib/prism/node.rb#1015
def inspect(inspector = T.unsafe(nil)); end
# def operator: () -> String
#
- # source://prism//lib/prism/node.rb#993
+ # source://prism//lib/prism/node.rb#1010
sig { returns(String) }
def operator; end
# attr_reader operator_loc: Location
#
- # source://prism//lib/prism/node.rb#944
+ # source://prism//lib/prism/node.rb#961
sig { returns(Prism::Location) }
def operator_loc; end
@@ -1225,12 +1282,12 @@ class Prism::AssocSplatNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#1024
+ # source://prism//lib/prism/node.rb#1041
def type; end
# attr_reader value: Node?
#
- # source://prism//lib/prism/node.rb#941
+ # source://prism//lib/prism/node.rb#958
sig { returns(T.nilable(Prism::Node)) }
def value; end
@@ -1242,7 +1299,7 @@ class Prism::AssocSplatNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#1034
+ # source://prism//lib/prism/node.rb#1051
def type; end
end
end
@@ -1254,54 +1311,54 @@ Prism::BACKEND = T.let(T.unsafe(nil), Symbol)
# $'
# ^^
#
-# source://prism//lib/prism/node.rb#1043
+# source://prism//lib/prism/node.rb#1060
class Prism::BackReferenceReadNode < ::Prism::Node
# def initialize: (name: Symbol, location: Location) -> void
#
# @return [BackReferenceReadNode] a new instance of BackReferenceReadNode
#
- # source://prism//lib/prism/node.rb#1048
+ # source://prism//lib/prism/node.rb#1065
sig { params(name: Symbol, location: Prism::Location).void }
def initialize(name, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#1054
+ # source://prism//lib/prism/node.rb#1071
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#1059
+ # source://prism//lib/prism/node.rb#1076
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#1069
+ # source://prism//lib/prism/node.rb#1086
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#1064
+ # source://prism//lib/prism/node.rb#1081
def compact_child_nodes; end
# def copy: (**params) -> BackReferenceReadNode
#
- # source://prism//lib/prism/node.rb#1074
+ # source://prism//lib/prism/node.rb#1091
sig { params(params: T.untyped).returns(Prism::BackReferenceReadNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#1059
+ # source://prism//lib/prism/node.rb#1076
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#1085
+ # source://prism//lib/prism/node.rb#1102
sig do
params(
keys: T::Array[Symbol]
@@ -1311,12 +1368,12 @@ class Prism::BackReferenceReadNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#1090
+ # source://prism//lib/prism/node.rb#1107
def inspect(inspector = T.unsafe(nil)); end
# attr_reader name: Symbol
#
- # source://prism//lib/prism/node.rb#1045
+ # source://prism//lib/prism/node.rb#1062
sig { returns(Symbol) }
def name; end
@@ -1335,7 +1392,7 @@ class Prism::BackReferenceReadNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#1110
+ # source://prism//lib/prism/node.rb#1127
def type; end
class << self
@@ -1346,7 +1403,7 @@ class Prism::BackReferenceReadNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#1120
+ # source://prism//lib/prism/node.rb#1137
def type; end
end
end
@@ -1385,13 +1442,13 @@ end
# end
# ^^^^^
#
-# source://prism//lib/prism/node.rb#1131
+# source://prism//lib/prism/node.rb#1148
class Prism::BeginNode < ::Prism::Node
# def initialize: (begin_keyword_loc: Location?, statements: StatementsNode?, rescue_clause: RescueNode?, else_clause: ElseNode?, ensure_clause: EnsureNode?, end_keyword_loc: Location?, location: Location) -> void
#
# @return [BeginNode] a new instance of BeginNode
#
- # source://prism//lib/prism/node.rb#1151
+ # source://prism//lib/prism/node.rb#1168
sig do
params(
begin_keyword_loc: T.nilable(Prism::Location),
@@ -1407,54 +1464,54 @@ class Prism::BeginNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#1162
+ # source://prism//lib/prism/node.rb#1179
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def begin_keyword: () -> String?
#
- # source://prism//lib/prism/node.rb#1212
+ # source://prism//lib/prism/node.rb#1229
sig { returns(T.nilable(String)) }
def begin_keyword; end
# attr_reader begin_keyword_loc: Location?
#
- # source://prism//lib/prism/node.rb#1133
+ # source://prism//lib/prism/node.rb#1150
sig { returns(T.nilable(Prism::Location)) }
def begin_keyword_loc; end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#1171
+ # source://prism//lib/prism/node.rb#1188
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#1186
+ # source://prism//lib/prism/node.rb#1203
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#1176
+ # source://prism//lib/prism/node.rb#1193
def compact_child_nodes; end
# def copy: (**params) -> BeginNode
#
- # source://prism//lib/prism/node.rb#1191
+ # source://prism//lib/prism/node.rb#1208
sig { params(params: T.untyped).returns(Prism::BeginNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#1171
+ # source://prism//lib/prism/node.rb#1188
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#1207
+ # source://prism//lib/prism/node.rb#1224
sig do
params(
keys: T::Array[Symbol]
@@ -1464,45 +1521,45 @@ class Prism::BeginNode < ::Prism::Node
# attr_reader else_clause: ElseNode?
#
- # source://prism//lib/prism/node.rb#1142
+ # source://prism//lib/prism/node.rb#1159
sig { returns(T.nilable(Prism::ElseNode)) }
def else_clause; end
# def end_keyword: () -> String?
#
- # source://prism//lib/prism/node.rb#1217
+ # source://prism//lib/prism/node.rb#1234
sig { returns(T.nilable(String)) }
def end_keyword; end
# attr_reader end_keyword_loc: Location?
#
- # source://prism//lib/prism/node.rb#1148
+ # source://prism//lib/prism/node.rb#1165
sig { returns(T.nilable(Prism::Location)) }
def end_keyword_loc; end
# attr_reader ensure_clause: EnsureNode?
#
- # source://prism//lib/prism/node.rb#1145
+ # source://prism//lib/prism/node.rb#1162
sig { returns(T.nilable(Prism::EnsureNode)) }
def ensure_clause; end
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#1222
+ # source://prism//lib/prism/node.rb#1239
def inspect(inspector = T.unsafe(nil)); end
# attr_reader rescue_clause: RescueNode?
#
- # source://prism//lib/prism/node.rb#1139
+ # source://prism//lib/prism/node.rb#1156
sig { returns(T.nilable(Prism::RescueNode)) }
def rescue_clause; end
- # source://prism//lib/prism/node.rb#1166
+ # source://prism//lib/prism/node.rb#1183
def set_newline_flag(newline_marked); end
# attr_reader statements: StatementsNode?
#
- # source://prism//lib/prism/node.rb#1136
+ # source://prism//lib/prism/node.rb#1153
sig { returns(T.nilable(Prism::StatementsNode)) }
def statements; end
@@ -1521,7 +1578,7 @@ class Prism::BeginNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#1267
+ # source://prism//lib/prism/node.rb#1284
def type; end
class << self
@@ -1532,7 +1589,7 @@ class Prism::BeginNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#1277
+ # source://prism//lib/prism/node.rb#1294
def type; end
end
end
@@ -1542,54 +1599,54 @@ end
# bar(&args)
# ^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#1286
+# source://prism//lib/prism/node.rb#1303
class Prism::BlockArgumentNode < ::Prism::Node
# def initialize: (expression: Node?, operator_loc: Location, location: Location) -> void
#
# @return [BlockArgumentNode] a new instance of BlockArgumentNode
#
- # source://prism//lib/prism/node.rb#1294
+ # source://prism//lib/prism/node.rb#1311
sig { params(expression: T.nilable(Prism::Node), operator_loc: Prism::Location, location: Prism::Location).void }
def initialize(expression, operator_loc, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#1301
+ # source://prism//lib/prism/node.rb#1318
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#1306
+ # source://prism//lib/prism/node.rb#1323
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#1318
+ # source://prism//lib/prism/node.rb#1335
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#1311
+ # source://prism//lib/prism/node.rb#1328
def compact_child_nodes; end
# def copy: (**params) -> BlockArgumentNode
#
- # source://prism//lib/prism/node.rb#1323
+ # source://prism//lib/prism/node.rb#1340
sig { params(params: T.untyped).returns(Prism::BlockArgumentNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#1306
+ # source://prism//lib/prism/node.rb#1323
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#1335
+ # source://prism//lib/prism/node.rb#1352
sig do
params(
keys: T::Array[Symbol]
@@ -1599,24 +1656,24 @@ class Prism::BlockArgumentNode < ::Prism::Node
# attr_reader expression: Node?
#
- # source://prism//lib/prism/node.rb#1288
+ # source://prism//lib/prism/node.rb#1305
sig { returns(T.nilable(Prism::Node)) }
def expression; end
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#1345
+ # source://prism//lib/prism/node.rb#1362
def inspect(inspector = T.unsafe(nil)); end
# def operator: () -> String
#
- # source://prism//lib/prism/node.rb#1340
+ # source://prism//lib/prism/node.rb#1357
sig { returns(String) }
def operator; end
# attr_reader operator_loc: Location
#
- # source://prism//lib/prism/node.rb#1291
+ # source://prism//lib/prism/node.rb#1308
sig { returns(Prism::Location) }
def operator_loc; end
@@ -1635,7 +1692,7 @@ class Prism::BlockArgumentNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#1371
+ # source://prism//lib/prism/node.rb#1388
def type; end
class << self
@@ -1646,7 +1703,7 @@ class Prism::BlockArgumentNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#1381
+ # source://prism//lib/prism/node.rb#1398
def type; end
end
end
@@ -1656,54 +1713,54 @@ end
# a { |; b| }
# ^
#
-# source://prism//lib/prism/node.rb#1390
+# source://prism//lib/prism/node.rb#1407
class Prism::BlockLocalVariableNode < ::Prism::Node
# def initialize: (name: Symbol, location: Location) -> void
#
# @return [BlockLocalVariableNode] a new instance of BlockLocalVariableNode
#
- # source://prism//lib/prism/node.rb#1395
+ # source://prism//lib/prism/node.rb#1412
sig { params(name: Symbol, location: Prism::Location).void }
def initialize(name, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#1401
+ # source://prism//lib/prism/node.rb#1418
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#1406
+ # source://prism//lib/prism/node.rb#1423
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#1416
+ # source://prism//lib/prism/node.rb#1433
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#1411
+ # source://prism//lib/prism/node.rb#1428
def compact_child_nodes; end
# def copy: (**params) -> BlockLocalVariableNode
#
- # source://prism//lib/prism/node.rb#1421
+ # source://prism//lib/prism/node.rb#1438
sig { params(params: T.untyped).returns(Prism::BlockLocalVariableNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#1406
+ # source://prism//lib/prism/node.rb#1423
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#1432
+ # source://prism//lib/prism/node.rb#1449
sig do
params(
keys: T::Array[Symbol]
@@ -1713,12 +1770,12 @@ class Prism::BlockLocalVariableNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#1437
+ # source://prism//lib/prism/node.rb#1454
def inspect(inspector = T.unsafe(nil)); end
# attr_reader name: Symbol
#
- # source://prism//lib/prism/node.rb#1392
+ # source://prism//lib/prism/node.rb#1409
sig { returns(Symbol) }
def name; end
@@ -1737,7 +1794,7 @@ class Prism::BlockLocalVariableNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#1457
+ # source://prism//lib/prism/node.rb#1474
def type; end
class << self
@@ -1748,7 +1805,7 @@ class Prism::BlockLocalVariableNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#1467
+ # source://prism//lib/prism/node.rb#1484
def type; end
end
end
@@ -1758,81 +1815,82 @@ end
# [1, 2, 3].each { |i| puts x }
# ^^^^^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#1476
+# source://prism//lib/prism/node.rb#1493
class Prism::BlockNode < ::Prism::Node
- # def initialize: (locals: Array[Symbol], parameters: BlockParametersNode?, body: Node?, opening_loc: Location, closing_loc: Location, location: Location) -> void
+ # def initialize: (locals: Array[Symbol], locals_body_index: Integer, parameters: Node?, body: Node?, opening_loc: Location, closing_loc: Location, location: Location) -> void
#
# @return [BlockNode] a new instance of BlockNode
#
- # source://prism//lib/prism/node.rb#1493
+ # source://prism//lib/prism/node.rb#1513
sig do
params(
locals: T::Array[Symbol],
- parameters: T.nilable(Prism::BlockParametersNode),
+ locals_body_index: Integer,
+ parameters: T.nilable(Prism::Node),
body: T.nilable(Prism::Node),
opening_loc: Prism::Location,
closing_loc: Prism::Location,
location: Prism::Location
).void
end
- def initialize(locals, parameters, body, opening_loc, closing_loc, location); end
+ def initialize(locals, locals_body_index, parameters, body, opening_loc, closing_loc, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#1503
+ # source://prism//lib/prism/node.rb#1524
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# attr_reader body: Node?
#
- # source://prism//lib/prism/node.rb#1484
+ # source://prism//lib/prism/node.rb#1504
sig { returns(T.nilable(Prism::Node)) }
def body; end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#1508
+ # source://prism//lib/prism/node.rb#1529
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def closing: () -> String
#
- # source://prism//lib/prism/node.rb#1551
+ # source://prism//lib/prism/node.rb#1573
sig { returns(String) }
def closing; end
# attr_reader closing_loc: Location
#
- # source://prism//lib/prism/node.rb#1490
+ # source://prism//lib/prism/node.rb#1510
sig { returns(Prism::Location) }
def closing_loc; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#1521
+ # source://prism//lib/prism/node.rb#1542
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#1513
+ # source://prism//lib/prism/node.rb#1534
def compact_child_nodes; end
# def copy: (**params) -> BlockNode
#
- # source://prism//lib/prism/node.rb#1526
+ # source://prism//lib/prism/node.rb#1547
sig { params(params: T.untyped).returns(Prism::BlockNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#1508
+ # source://prism//lib/prism/node.rb#1529
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#1541
+ # source://prism//lib/prism/node.rb#1563
sig do
params(
keys: T::Array[Symbol]
@@ -1842,31 +1900,37 @@ class Prism::BlockNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#1556
+ # source://prism//lib/prism/node.rb#1578
def inspect(inspector = T.unsafe(nil)); end
# attr_reader locals: Array[Symbol]
#
- # source://prism//lib/prism/node.rb#1478
+ # source://prism//lib/prism/node.rb#1495
sig { returns(T::Array[Symbol]) }
def locals; end
+ # attr_reader locals_body_index: Integer
+ #
+ # source://prism//lib/prism/node.rb#1498
+ sig { returns(Integer) }
+ def locals_body_index; end
+
# def opening: () -> String
#
- # source://prism//lib/prism/node.rb#1546
+ # source://prism//lib/prism/node.rb#1568
sig { returns(String) }
def opening; end
# attr_reader opening_loc: Location
#
- # source://prism//lib/prism/node.rb#1487
+ # source://prism//lib/prism/node.rb#1507
sig { returns(Prism::Location) }
def opening_loc; end
- # attr_reader parameters: BlockParametersNode?
+ # attr_reader parameters: Node?
#
- # source://prism//lib/prism/node.rb#1481
- sig { returns(T.nilable(Prism::BlockParametersNode)) }
+ # source://prism//lib/prism/node.rb#1501
+ sig { returns(T.nilable(Prism::Node)) }
def parameters; end
# Sometimes you want to check an instance of a node against a list of
@@ -1884,7 +1948,7 @@ class Prism::BlockNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#1590
+ # source://prism//lib/prism/node.rb#1613
def type; end
class << self
@@ -1895,7 +1959,7 @@ class Prism::BlockNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#1600
+ # source://prism//lib/prism/node.rb#1623
def type; end
end
end
@@ -1906,13 +1970,13 @@ end
# ^^
# end
#
-# source://prism//lib/prism/node.rb#1610
+# source://prism//lib/prism/node.rb#1633
class Prism::BlockParameterNode < ::Prism::Node
# def initialize: (name: Symbol?, name_loc: Location?, operator_loc: Location, location: Location) -> void
#
# @return [BlockParameterNode] a new instance of BlockParameterNode
#
- # source://prism//lib/prism/node.rb#1621
+ # source://prism//lib/prism/node.rb#1644
sig do
params(
name: T.nilable(Symbol),
@@ -1925,42 +1989,42 @@ class Prism::BlockParameterNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#1629
+ # source://prism//lib/prism/node.rb#1652
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#1634
+ # source://prism//lib/prism/node.rb#1657
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#1644
+ # source://prism//lib/prism/node.rb#1667
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#1639
+ # source://prism//lib/prism/node.rb#1662
def compact_child_nodes; end
# def copy: (**params) -> BlockParameterNode
#
- # source://prism//lib/prism/node.rb#1649
+ # source://prism//lib/prism/node.rb#1672
sig { params(params: T.untyped).returns(Prism::BlockParameterNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#1634
+ # source://prism//lib/prism/node.rb#1657
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#1662
+ # source://prism//lib/prism/node.rb#1685
sig do
params(
keys: T::Array[Symbol]
@@ -1970,30 +2034,30 @@ class Prism::BlockParameterNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#1672
+ # source://prism//lib/prism/node.rb#1695
def inspect(inspector = T.unsafe(nil)); end
# attr_reader name: Symbol?
#
- # source://prism//lib/prism/node.rb#1612
+ # source://prism//lib/prism/node.rb#1635
sig { returns(T.nilable(Symbol)) }
def name; end
# attr_reader name_loc: Location?
#
- # source://prism//lib/prism/node.rb#1615
+ # source://prism//lib/prism/node.rb#1638
sig { returns(T.nilable(Prism::Location)) }
def name_loc; end
# def operator: () -> String
#
- # source://prism//lib/prism/node.rb#1667
+ # source://prism//lib/prism/node.rb#1690
sig { returns(String) }
def operator; end
# attr_reader operator_loc: Location
#
- # source://prism//lib/prism/node.rb#1618
+ # source://prism//lib/prism/node.rb#1641
sig { returns(Prism::Location) }
def operator_loc; end
@@ -2012,7 +2076,7 @@ class Prism::BlockParameterNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#1698
+ # source://prism//lib/prism/node.rb#1721
def type; end
class << self
@@ -2023,7 +2087,7 @@ class Prism::BlockParameterNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#1708
+ # source://prism//lib/prism/node.rb#1731
def type; end
end
end
@@ -2037,13 +2101,13 @@ end
# ^^^^^^^^^^^^^^^^^
# end
#
-# source://prism//lib/prism/node.rb#1721
+# source://prism//lib/prism/node.rb#1744
class Prism::BlockParametersNode < ::Prism::Node
# def initialize: (parameters: ParametersNode?, locals: Array[Node], opening_loc: Location?, closing_loc: Location?, location: Location) -> void
#
# @return [BlockParametersNode] a new instance of BlockParametersNode
#
- # source://prism//lib/prism/node.rb#1735
+ # source://prism//lib/prism/node.rb#1758
sig do
params(
parameters: T.nilable(Prism::ParametersNode),
@@ -2057,54 +2121,54 @@ class Prism::BlockParametersNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#1744
+ # source://prism//lib/prism/node.rb#1767
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#1749
+ # source://prism//lib/prism/node.rb#1772
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def closing: () -> String?
#
- # source://prism//lib/prism/node.rb#1791
+ # source://prism//lib/prism/node.rb#1814
sig { returns(T.nilable(String)) }
def closing; end
# attr_reader closing_loc: Location?
#
- # source://prism//lib/prism/node.rb#1732
+ # source://prism//lib/prism/node.rb#1755
sig { returns(T.nilable(Prism::Location)) }
def closing_loc; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#1762
+ # source://prism//lib/prism/node.rb#1785
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#1754
+ # source://prism//lib/prism/node.rb#1777
def compact_child_nodes; end
# def copy: (**params) -> BlockParametersNode
#
- # source://prism//lib/prism/node.rb#1767
+ # source://prism//lib/prism/node.rb#1790
sig { params(params: T.untyped).returns(Prism::BlockParametersNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#1749
+ # source://prism//lib/prism/node.rb#1772
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#1781
+ # source://prism//lib/prism/node.rb#1804
sig do
params(
keys: T::Array[Symbol]
@@ -2114,30 +2178,30 @@ class Prism::BlockParametersNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#1796
+ # source://prism//lib/prism/node.rb#1819
def inspect(inspector = T.unsafe(nil)); end
# attr_reader locals: Array[Node]
#
- # source://prism//lib/prism/node.rb#1726
+ # source://prism//lib/prism/node.rb#1749
sig { returns(T::Array[Prism::Node]) }
def locals; end
# def opening: () -> String?
#
- # source://prism//lib/prism/node.rb#1786
+ # source://prism//lib/prism/node.rb#1809
sig { returns(T.nilable(String)) }
def opening; end
# attr_reader opening_loc: Location?
#
- # source://prism//lib/prism/node.rb#1729
+ # source://prism//lib/prism/node.rb#1752
sig { returns(T.nilable(Prism::Location)) }
def opening_loc; end
# attr_reader parameters: ParametersNode?
#
- # source://prism//lib/prism/node.rb#1723
+ # source://prism//lib/prism/node.rb#1746
sig { returns(T.nilable(Prism::ParametersNode)) }
def parameters; end
@@ -2156,7 +2220,7 @@ class Prism::BlockParametersNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#1824
+ # source://prism//lib/prism/node.rb#1847
def type; end
class << self
@@ -2167,7 +2231,7 @@ class Prism::BlockParametersNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#1834
+ # source://prism//lib/prism/node.rb#1857
def type; end
end
end
@@ -2177,13 +2241,13 @@ end
# break foo
# ^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#1843
+# source://prism//lib/prism/node.rb#1866
class Prism::BreakNode < ::Prism::Node
# def initialize: (arguments: ArgumentsNode?, keyword_loc: Location, location: Location) -> void
#
# @return [BreakNode] a new instance of BreakNode
#
- # source://prism//lib/prism/node.rb#1851
+ # source://prism//lib/prism/node.rb#1874
sig do
params(
arguments: T.nilable(Prism::ArgumentsNode),
@@ -2195,48 +2259,48 @@ class Prism::BreakNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#1858
+ # source://prism//lib/prism/node.rb#1881
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# attr_reader arguments: ArgumentsNode?
#
- # source://prism//lib/prism/node.rb#1845
+ # source://prism//lib/prism/node.rb#1868
sig { returns(T.nilable(Prism::ArgumentsNode)) }
def arguments; end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#1863
+ # source://prism//lib/prism/node.rb#1886
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#1875
+ # source://prism//lib/prism/node.rb#1898
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#1868
+ # source://prism//lib/prism/node.rb#1891
def compact_child_nodes; end
# def copy: (**params) -> BreakNode
#
- # source://prism//lib/prism/node.rb#1880
+ # source://prism//lib/prism/node.rb#1903
sig { params(params: T.untyped).returns(Prism::BreakNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#1863
+ # source://prism//lib/prism/node.rb#1886
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#1892
+ # source://prism//lib/prism/node.rb#1915
sig do
params(
keys: T::Array[Symbol]
@@ -2246,18 +2310,18 @@ class Prism::BreakNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#1902
+ # source://prism//lib/prism/node.rb#1925
def inspect(inspector = T.unsafe(nil)); end
# def keyword: () -> String
#
- # source://prism//lib/prism/node.rb#1897
+ # source://prism//lib/prism/node.rb#1920
sig { returns(String) }
def keyword; end
# attr_reader keyword_loc: Location
#
- # source://prism//lib/prism/node.rb#1848
+ # source://prism//lib/prism/node.rb#1871
sig { returns(Prism::Location) }
def keyword_loc; end
@@ -2276,7 +2340,7 @@ class Prism::BreakNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#1928
+ # source://prism//lib/prism/node.rb#1951
def type; end
class << self
@@ -2287,7 +2351,7 @@ class Prism::BreakNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#1938
+ # source://prism//lib/prism/node.rb#1961
def type; end
end
end
@@ -2297,19 +2361,19 @@ end
# foo.bar &&= value
# ^^^^^^^^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#1947
+# source://prism//lib/prism/node.rb#1970
class Prism::CallAndWriteNode < ::Prism::Node
- # def initialize: (receiver: Node?, call_operator_loc: Location?, message_loc: Location?, flags: Integer, read_name: Symbol, write_name: Symbol, operator_loc: Location, value: Node, location: Location) -> void
+ # def initialize: (flags: Integer, receiver: Node?, call_operator_loc: Location?, message_loc: Location?, read_name: Symbol, write_name: Symbol, operator_loc: Location, value: Node, location: Location) -> void
#
# @return [CallAndWriteNode] a new instance of CallAndWriteNode
#
- # source://prism//lib/prism/node.rb#1973
+ # source://prism//lib/prism/node.rb#1996
sig do
params(
+ flags: Integer,
receiver: T.nilable(Prism::Node),
call_operator_loc: T.nilable(Prism::Location),
message_loc: T.nilable(Prism::Location),
- flags: Integer,
read_name: Symbol,
write_name: Symbol,
operator_loc: Prism::Location,
@@ -2317,58 +2381,66 @@ class Prism::CallAndWriteNode < ::Prism::Node
location: Prism::Location
).void
end
- def initialize(receiver, call_operator_loc, message_loc, flags, read_name, write_name, operator_loc, value, location); end
+ def initialize(flags, receiver, call_operator_loc, message_loc, read_name, write_name, operator_loc, value, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#1986
+ # source://prism//lib/prism/node.rb#2009
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
+ # def attribute_write?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#2065
+ sig { returns(T::Boolean) }
+ def attribute_write?; end
+
# def call_operator: () -> String?
#
- # source://prism//lib/prism/node.rb#2032
+ # source://prism//lib/prism/node.rb#2070
sig { returns(T.nilable(String)) }
def call_operator; end
# attr_reader call_operator_loc: Location?
#
- # source://prism//lib/prism/node.rb#1952
+ # source://prism//lib/prism/node.rb#1978
sig { returns(T.nilable(Prism::Location)) }
def call_operator_loc; end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#1991
+ # source://prism//lib/prism/node.rb#2014
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#2004
+ # source://prism//lib/prism/node.rb#2027
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#1996
+ # source://prism//lib/prism/node.rb#2019
def compact_child_nodes; end
# def copy: (**params) -> CallAndWriteNode
#
- # source://prism//lib/prism/node.rb#2009
+ # source://prism//lib/prism/node.rb#2032
sig { params(params: T.untyped).returns(Prism::CallAndWriteNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#1991
+ # source://prism//lib/prism/node.rb#2014
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#2027
+ # source://prism//lib/prism/node.rb#2050
sig do
params(
keys: T::Array[Symbol]
@@ -2378,42 +2450,42 @@ class Prism::CallAndWriteNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#2057
+ # source://prism//lib/prism/node.rb#2085
def inspect(inspector = T.unsafe(nil)); end
# def message: () -> String?
#
- # source://prism//lib/prism/node.rb#2037
+ # source://prism//lib/prism/node.rb#2075
sig { returns(T.nilable(String)) }
def message; end
# attr_reader message_loc: Location?
#
- # source://prism//lib/prism/node.rb#1955
+ # source://prism//lib/prism/node.rb#1981
sig { returns(T.nilable(Prism::Location)) }
def message_loc; end
# def operator: () -> String
#
- # source://prism//lib/prism/node.rb#2052
+ # source://prism//lib/prism/node.rb#2080
sig { returns(String) }
def operator; end
# attr_reader operator_loc: Location
#
- # source://prism//lib/prism/node.rb#1967
+ # source://prism//lib/prism/node.rb#1990
sig { returns(Prism::Location) }
def operator_loc; end
# attr_reader read_name: Symbol
#
- # source://prism//lib/prism/node.rb#1961
+ # source://prism//lib/prism/node.rb#1984
sig { returns(Symbol) }
def read_name; end
# attr_reader receiver: Node?
#
- # source://prism//lib/prism/node.rb#1949
+ # source://prism//lib/prism/node.rb#1975
sig { returns(T.nilable(Prism::Node)) }
def receiver; end
@@ -2421,7 +2493,7 @@ class Prism::CallAndWriteNode < ::Prism::Node
#
# @return [Boolean]
#
- # source://prism//lib/prism/node.rb#2042
+ # source://prism//lib/prism/node.rb#2055
sig { returns(T::Boolean) }
def safe_navigation?; end
@@ -2440,12 +2512,12 @@ class Prism::CallAndWriteNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#2091
+ # source://prism//lib/prism/node.rb#2119
def type; end
# attr_reader value: Node
#
- # source://prism//lib/prism/node.rb#1970
+ # source://prism//lib/prism/node.rb#1993
sig { returns(Prism::Node) }
def value; end
@@ -2453,13 +2525,13 @@ class Prism::CallAndWriteNode < ::Prism::Node
#
# @return [Boolean]
#
- # source://prism//lib/prism/node.rb#2047
+ # source://prism//lib/prism/node.rb#2060
sig { returns(T::Boolean) }
def variable_call?; end
# attr_reader write_name: Symbol
#
- # source://prism//lib/prism/node.rb#1964
+ # source://prism//lib/prism/node.rb#1987
sig { returns(Symbol) }
def write_name; end
@@ -2467,7 +2539,7 @@ class Prism::CallAndWriteNode < ::Prism::Node
# Returns the value of attribute flags.
#
- # source://prism//lib/prism/node.rb#1958
+ # source://prism//lib/prism/node.rb#1972
sig { returns(Integer) }
def flags; end
@@ -2479,7 +2551,7 @@ class Prism::CallAndWriteNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#2101
+ # source://prism//lib/prism/node.rb#2129
def type; end
end
end
@@ -2504,103 +2576,111 @@ end
# foo&.bar
# ^^^^^^^^
#
-# source://prism//lib/prism/node.rb#2125
+# source://prism//lib/prism/node.rb#2153
class Prism::CallNode < ::Prism::Node
- # def initialize: (receiver: Node?, call_operator_loc: Location?, message_loc: Location?, opening_loc: Location?, arguments: ArgumentsNode?, closing_loc: Location?, block: Node?, flags: Integer, name: Symbol, location: Location) -> void
+ # def initialize: (flags: Integer, receiver: Node?, call_operator_loc: Location?, name: Symbol, message_loc: Location?, opening_loc: Location?, arguments: ArgumentsNode?, closing_loc: Location?, block: Node?, location: Location) -> void
#
# @return [CallNode] a new instance of CallNode
#
- # source://prism//lib/prism/node.rb#2154
+ # source://prism//lib/prism/node.rb#2182
sig do
params(
+ flags: Integer,
receiver: T.nilable(Prism::Node),
call_operator_loc: T.nilable(Prism::Location),
+ name: Symbol,
message_loc: T.nilable(Prism::Location),
opening_loc: T.nilable(Prism::Location),
arguments: T.nilable(Prism::ArgumentsNode),
closing_loc: T.nilable(Prism::Location),
block: T.nilable(Prism::Node),
- flags: Integer,
- name: Symbol,
location: Prism::Location
).void
end
- def initialize(receiver, call_operator_loc, message_loc, opening_loc, arguments, closing_loc, block, flags, name, location); end
+ def initialize(flags, receiver, call_operator_loc, name, message_loc, opening_loc, arguments, closing_loc, block, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#2168
+ # source://prism//lib/prism/node.rb#2196
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# attr_reader arguments: ArgumentsNode?
#
- # source://prism//lib/prism/node.rb#2139
+ # source://prism//lib/prism/node.rb#2173
sig { returns(T.nilable(Prism::ArgumentsNode)) }
def arguments; end
+ # def attribute_write?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#2254
+ sig { returns(T::Boolean) }
+ def attribute_write?; end
+
# attr_reader block: Node?
#
- # source://prism//lib/prism/node.rb#2145
+ # source://prism//lib/prism/node.rb#2179
sig { returns(T.nilable(Prism::Node)) }
def block; end
# def call_operator: () -> String?
#
- # source://prism//lib/prism/node.rb#2216
+ # source://prism//lib/prism/node.rb#2259
sig { returns(T.nilable(String)) }
def call_operator; end
# attr_reader call_operator_loc: Location?
#
- # source://prism//lib/prism/node.rb#2130
+ # source://prism//lib/prism/node.rb#2161
sig { returns(T.nilable(Prism::Location)) }
def call_operator_loc; end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#2173
+ # source://prism//lib/prism/node.rb#2201
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def closing: () -> String?
#
- # source://prism//lib/prism/node.rb#2231
+ # source://prism//lib/prism/node.rb#2274
sig { returns(T.nilable(String)) }
def closing; end
# attr_reader closing_loc: Location?
#
- # source://prism//lib/prism/node.rb#2142
+ # source://prism//lib/prism/node.rb#2176
sig { returns(T.nilable(Prism::Location)) }
def closing_loc; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#2187
+ # source://prism//lib/prism/node.rb#2215
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#2178
+ # source://prism//lib/prism/node.rb#2206
def compact_child_nodes; end
# def copy: (**params) -> CallNode
#
- # source://prism//lib/prism/node.rb#2192
+ # source://prism//lib/prism/node.rb#2220
sig { params(params: T.untyped).returns(Prism::CallNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#2173
+ # source://prism//lib/prism/node.rb#2201
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#2211
+ # source://prism//lib/prism/node.rb#2239
sig do
params(
keys: T::Array[Symbol]
@@ -2610,42 +2690,42 @@ class Prism::CallNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#2246
+ # source://prism//lib/prism/node.rb#2279
def inspect(inspector = T.unsafe(nil)); end
# def message: () -> String?
#
- # source://prism//lib/prism/node.rb#2221
+ # source://prism//lib/prism/node.rb#2264
sig { returns(T.nilable(String)) }
def message; end
# attr_reader message_loc: Location?
#
- # source://prism//lib/prism/node.rb#2133
+ # source://prism//lib/prism/node.rb#2167
sig { returns(T.nilable(Prism::Location)) }
def message_loc; end
# attr_reader name: Symbol
#
- # source://prism//lib/prism/node.rb#2151
+ # source://prism//lib/prism/node.rb#2164
sig { returns(Symbol) }
def name; end
# def opening: () -> String?
#
- # source://prism//lib/prism/node.rb#2226
+ # source://prism//lib/prism/node.rb#2269
sig { returns(T.nilable(String)) }
def opening; end
# attr_reader opening_loc: Location?
#
- # source://prism//lib/prism/node.rb#2136
+ # source://prism//lib/prism/node.rb#2170
sig { returns(T.nilable(Prism::Location)) }
def opening_loc; end
# attr_reader receiver: Node?
#
- # source://prism//lib/prism/node.rb#2127
+ # source://prism//lib/prism/node.rb#2158
sig { returns(T.nilable(Prism::Node)) }
def receiver; end
@@ -2653,7 +2733,7 @@ class Prism::CallNode < ::Prism::Node
#
# @return [Boolean]
#
- # source://prism//lib/prism/node.rb#2236
+ # source://prism//lib/prism/node.rb#2244
sig { returns(T::Boolean) }
def safe_navigation?; end
@@ -2672,14 +2752,14 @@ class Prism::CallNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#2290
+ # source://prism//lib/prism/node.rb#2323
def type; end
# def variable_call?: () -> bool
#
# @return [Boolean]
#
- # source://prism//lib/prism/node.rb#2241
+ # source://prism//lib/prism/node.rb#2249
sig { returns(T::Boolean) }
def variable_call?; end
@@ -2687,7 +2767,7 @@ class Prism::CallNode < ::Prism::Node
# Returns the value of attribute flags.
#
- # source://prism//lib/prism/node.rb#2148
+ # source://prism//lib/prism/node.rb#2155
sig { returns(Integer) }
def flags; end
@@ -2699,24 +2779,29 @@ class Prism::CallNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#2300
+ # source://prism//lib/prism/node.rb#2333
def type; end
end
end
# Flags for call nodes.
#
-# source://prism//lib/prism/node.rb#16542
+# source://prism//lib/prism/node.rb#17289
module Prism::CallNodeFlags; end
+# a call that is an attribute write, so the value being written should be returned
+#
+# source://prism//lib/prism/node.rb#17297
+Prism::CallNodeFlags::ATTRIBUTE_WRITE = T.let(T.unsafe(nil), Integer)
+
# &. operator
#
-# source://prism//lib/prism/node.rb#16544
+# source://prism//lib/prism/node.rb#17291
Prism::CallNodeFlags::SAFE_NAVIGATION = T.let(T.unsafe(nil), Integer)
# a call that could have been a local variable
#
-# source://prism//lib/prism/node.rb#16547
+# source://prism//lib/prism/node.rb#17294
Prism::CallNodeFlags::VARIABLE_CALL = T.let(T.unsafe(nil), Integer)
# Represents the use of an assignment operator on a call.
@@ -2724,19 +2809,19 @@ Prism::CallNodeFlags::VARIABLE_CALL = T.let(T.unsafe(nil), Integer)
# foo.bar += baz
# ^^^^^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#2309
+# source://prism//lib/prism/node.rb#2342
class Prism::CallOperatorWriteNode < ::Prism::Node
- # def initialize: (receiver: Node?, call_operator_loc: Location?, message_loc: Location?, flags: Integer, read_name: Symbol, write_name: Symbol, operator: Symbol, operator_loc: Location, value: Node, location: Location) -> void
+ # def initialize: (flags: Integer, receiver: Node?, call_operator_loc: Location?, message_loc: Location?, read_name: Symbol, write_name: Symbol, operator: Symbol, operator_loc: Location, value: Node, location: Location) -> void
#
# @return [CallOperatorWriteNode] a new instance of CallOperatorWriteNode
#
- # source://prism//lib/prism/node.rb#2338
+ # source://prism//lib/prism/node.rb#2371
sig do
params(
+ flags: Integer,
receiver: T.nilable(Prism::Node),
call_operator_loc: T.nilable(Prism::Location),
message_loc: T.nilable(Prism::Location),
- flags: Integer,
read_name: Symbol,
write_name: Symbol,
operator: Symbol,
@@ -2745,58 +2830,66 @@ class Prism::CallOperatorWriteNode < ::Prism::Node
location: Prism::Location
).void
end
- def initialize(receiver, call_operator_loc, message_loc, flags, read_name, write_name, operator, operator_loc, value, location); end
+ def initialize(flags, receiver, call_operator_loc, message_loc, read_name, write_name, operator, operator_loc, value, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#2352
+ # source://prism//lib/prism/node.rb#2385
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
+ # def attribute_write?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#2442
+ sig { returns(T::Boolean) }
+ def attribute_write?; end
+
# def call_operator: () -> String?
#
- # source://prism//lib/prism/node.rb#2399
+ # source://prism//lib/prism/node.rb#2447
sig { returns(T.nilable(String)) }
def call_operator; end
# attr_reader call_operator_loc: Location?
#
- # source://prism//lib/prism/node.rb#2314
+ # source://prism//lib/prism/node.rb#2350
sig { returns(T.nilable(Prism::Location)) }
def call_operator_loc; end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#2357
+ # source://prism//lib/prism/node.rb#2390
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#2370
+ # source://prism//lib/prism/node.rb#2403
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#2362
+ # source://prism//lib/prism/node.rb#2395
def compact_child_nodes; end
# def copy: (**params) -> CallOperatorWriteNode
#
- # source://prism//lib/prism/node.rb#2375
+ # source://prism//lib/prism/node.rb#2408
sig { params(params: T.untyped).returns(Prism::CallOperatorWriteNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#2357
+ # source://prism//lib/prism/node.rb#2390
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#2394
+ # source://prism//lib/prism/node.rb#2427
sig do
params(
keys: T::Array[Symbol]
@@ -2806,42 +2899,42 @@ class Prism::CallOperatorWriteNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#2419
+ # source://prism//lib/prism/node.rb#2457
def inspect(inspector = T.unsafe(nil)); end
# def message: () -> String?
#
- # source://prism//lib/prism/node.rb#2404
+ # source://prism//lib/prism/node.rb#2452
sig { returns(T.nilable(String)) }
def message; end
# attr_reader message_loc: Location?
#
- # source://prism//lib/prism/node.rb#2317
+ # source://prism//lib/prism/node.rb#2353
sig { returns(T.nilable(Prism::Location)) }
def message_loc; end
# attr_reader operator: Symbol
#
- # source://prism//lib/prism/node.rb#2329
+ # source://prism//lib/prism/node.rb#2362
sig { returns(Symbol) }
def operator; end
# attr_reader operator_loc: Location
#
- # source://prism//lib/prism/node.rb#2332
+ # source://prism//lib/prism/node.rb#2365
sig { returns(Prism::Location) }
def operator_loc; end
# attr_reader read_name: Symbol
#
- # source://prism//lib/prism/node.rb#2323
+ # source://prism//lib/prism/node.rb#2356
sig { returns(Symbol) }
def read_name; end
# attr_reader receiver: Node?
#
- # source://prism//lib/prism/node.rb#2311
+ # source://prism//lib/prism/node.rb#2347
sig { returns(T.nilable(Prism::Node)) }
def receiver; end
@@ -2849,7 +2942,7 @@ class Prism::CallOperatorWriteNode < ::Prism::Node
#
# @return [Boolean]
#
- # source://prism//lib/prism/node.rb#2409
+ # source://prism//lib/prism/node.rb#2432
sig { returns(T::Boolean) }
def safe_navigation?; end
@@ -2868,12 +2961,12 @@ class Prism::CallOperatorWriteNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#2454
+ # source://prism//lib/prism/node.rb#2492
def type; end
# attr_reader value: Node
#
- # source://prism//lib/prism/node.rb#2335
+ # source://prism//lib/prism/node.rb#2368
sig { returns(Prism::Node) }
def value; end
@@ -2881,13 +2974,13 @@ class Prism::CallOperatorWriteNode < ::Prism::Node
#
# @return [Boolean]
#
- # source://prism//lib/prism/node.rb#2414
+ # source://prism//lib/prism/node.rb#2437
sig { returns(T::Boolean) }
def variable_call?; end
# attr_reader write_name: Symbol
#
- # source://prism//lib/prism/node.rb#2326
+ # source://prism//lib/prism/node.rb#2359
sig { returns(Symbol) }
def write_name; end
@@ -2895,7 +2988,7 @@ class Prism::CallOperatorWriteNode < ::Prism::Node
# Returns the value of attribute flags.
#
- # source://prism//lib/prism/node.rb#2320
+ # source://prism//lib/prism/node.rb#2344
sig { returns(Integer) }
def flags; end
@@ -2907,7 +3000,7 @@ class Prism::CallOperatorWriteNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#2464
+ # source://prism//lib/prism/node.rb#2502
def type; end
end
end
@@ -2917,19 +3010,19 @@ end
# foo.bar ||= value
# ^^^^^^^^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#2473
+# source://prism//lib/prism/node.rb#2511
class Prism::CallOrWriteNode < ::Prism::Node
- # def initialize: (receiver: Node?, call_operator_loc: Location?, message_loc: Location?, flags: Integer, read_name: Symbol, write_name: Symbol, operator_loc: Location, value: Node, location: Location) -> void
+ # def initialize: (flags: Integer, receiver: Node?, call_operator_loc: Location?, message_loc: Location?, read_name: Symbol, write_name: Symbol, operator_loc: Location, value: Node, location: Location) -> void
#
# @return [CallOrWriteNode] a new instance of CallOrWriteNode
#
- # source://prism//lib/prism/node.rb#2499
+ # source://prism//lib/prism/node.rb#2537
sig do
params(
+ flags: Integer,
receiver: T.nilable(Prism::Node),
call_operator_loc: T.nilable(Prism::Location),
message_loc: T.nilable(Prism::Location),
- flags: Integer,
read_name: Symbol,
write_name: Symbol,
operator_loc: Prism::Location,
@@ -2937,58 +3030,66 @@ class Prism::CallOrWriteNode < ::Prism::Node
location: Prism::Location
).void
end
- def initialize(receiver, call_operator_loc, message_loc, flags, read_name, write_name, operator_loc, value, location); end
+ def initialize(flags, receiver, call_operator_loc, message_loc, read_name, write_name, operator_loc, value, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#2512
+ # source://prism//lib/prism/node.rb#2550
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
+ # def attribute_write?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#2606
+ sig { returns(T::Boolean) }
+ def attribute_write?; end
+
# def call_operator: () -> String?
#
- # source://prism//lib/prism/node.rb#2558
+ # source://prism//lib/prism/node.rb#2611
sig { returns(T.nilable(String)) }
def call_operator; end
# attr_reader call_operator_loc: Location?
#
- # source://prism//lib/prism/node.rb#2478
+ # source://prism//lib/prism/node.rb#2519
sig { returns(T.nilable(Prism::Location)) }
def call_operator_loc; end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#2517
+ # source://prism//lib/prism/node.rb#2555
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#2530
+ # source://prism//lib/prism/node.rb#2568
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#2522
+ # source://prism//lib/prism/node.rb#2560
def compact_child_nodes; end
# def copy: (**params) -> CallOrWriteNode
#
- # source://prism//lib/prism/node.rb#2535
+ # source://prism//lib/prism/node.rb#2573
sig { params(params: T.untyped).returns(Prism::CallOrWriteNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#2517
+ # source://prism//lib/prism/node.rb#2555
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#2553
+ # source://prism//lib/prism/node.rb#2591
sig do
params(
keys: T::Array[Symbol]
@@ -2998,42 +3099,42 @@ class Prism::CallOrWriteNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#2583
+ # source://prism//lib/prism/node.rb#2626
def inspect(inspector = T.unsafe(nil)); end
# def message: () -> String?
#
- # source://prism//lib/prism/node.rb#2563
+ # source://prism//lib/prism/node.rb#2616
sig { returns(T.nilable(String)) }
def message; end
# attr_reader message_loc: Location?
#
- # source://prism//lib/prism/node.rb#2481
+ # source://prism//lib/prism/node.rb#2522
sig { returns(T.nilable(Prism::Location)) }
def message_loc; end
# def operator: () -> String
#
- # source://prism//lib/prism/node.rb#2578
+ # source://prism//lib/prism/node.rb#2621
sig { returns(String) }
def operator; end
# attr_reader operator_loc: Location
#
- # source://prism//lib/prism/node.rb#2493
+ # source://prism//lib/prism/node.rb#2531
sig { returns(Prism::Location) }
def operator_loc; end
# attr_reader read_name: Symbol
#
- # source://prism//lib/prism/node.rb#2487
+ # source://prism//lib/prism/node.rb#2525
sig { returns(Symbol) }
def read_name; end
# attr_reader receiver: Node?
#
- # source://prism//lib/prism/node.rb#2475
+ # source://prism//lib/prism/node.rb#2516
sig { returns(T.nilable(Prism::Node)) }
def receiver; end
@@ -3041,7 +3142,7 @@ class Prism::CallOrWriteNode < ::Prism::Node
#
# @return [Boolean]
#
- # source://prism//lib/prism/node.rb#2568
+ # source://prism//lib/prism/node.rb#2596
sig { returns(T::Boolean) }
def safe_navigation?; end
@@ -3060,12 +3161,12 @@ class Prism::CallOrWriteNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#2617
+ # source://prism//lib/prism/node.rb#2660
def type; end
# attr_reader value: Node
#
- # source://prism//lib/prism/node.rb#2496
+ # source://prism//lib/prism/node.rb#2534
sig { returns(Prism::Node) }
def value; end
@@ -3073,13 +3174,13 @@ class Prism::CallOrWriteNode < ::Prism::Node
#
# @return [Boolean]
#
- # source://prism//lib/prism/node.rb#2573
+ # source://prism//lib/prism/node.rb#2601
sig { returns(T::Boolean) }
def variable_call?; end
# attr_reader write_name: Symbol
#
- # source://prism//lib/prism/node.rb#2490
+ # source://prism//lib/prism/node.rb#2528
sig { returns(Symbol) }
def write_name; end
@@ -3087,7 +3188,7 @@ class Prism::CallOrWriteNode < ::Prism::Node
# Returns the value of attribute flags.
#
- # source://prism//lib/prism/node.rb#2484
+ # source://prism//lib/prism/node.rb#2513
sig { returns(Integer) }
def flags; end
@@ -3099,71 +3200,101 @@ class Prism::CallOrWriteNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#2627
+ # source://prism//lib/prism/node.rb#2670
def type; end
end
end
-# Represents assigning to a local variable in pattern matching.
+# Represents assigning to a method call.
#
-# foo => [bar => baz]
-# ^^^^^^^^^^^^
+# foo.bar, = 1
+# ^^^^^^^
#
-# source://prism//lib/prism/node.rb#2636
-class Prism::CapturePatternNode < ::Prism::Node
- # def initialize: (value: Node, target: Node, operator_loc: Location, location: Location) -> void
+# begin
+# rescue => foo.bar
+# ^^^^^^^
+# end
+#
+# for foo.bar in baz do end
+# ^^^^^^^
+#
+# source://prism//lib/prism/node.rb#2687
+class Prism::CallTargetNode < ::Prism::Node
+ # def initialize: (flags: Integer, receiver: Node, call_operator_loc: Location, name: Symbol, message_loc: Location, location: Location) -> void
#
- # @return [CapturePatternNode] a new instance of CapturePatternNode
+ # @return [CallTargetNode] a new instance of CallTargetNode
#
- # source://prism//lib/prism/node.rb#2647
+ # source://prism//lib/prism/node.rb#2704
sig do
params(
- value: Prism::Node,
- target: Prism::Node,
- operator_loc: Prism::Location,
+ flags: Integer,
+ receiver: Prism::Node,
+ call_operator_loc: Prism::Location,
+ name: Symbol,
+ message_loc: Prism::Location,
location: Prism::Location
).void
end
- def initialize(value, target, operator_loc, location); end
+ def initialize(flags, receiver, call_operator_loc, name, message_loc, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#2655
+ # source://prism//lib/prism/node.rb#2714
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
+ # def attribute_write?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#2764
+ sig { returns(T::Boolean) }
+ def attribute_write?; end
+
+ # def call_operator: () -> String
+ #
+ # source://prism//lib/prism/node.rb#2769
+ sig { returns(String) }
+ def call_operator; end
+
+ # attr_reader call_operator_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#2695
+ sig { returns(Prism::Location) }
+ def call_operator_loc; end
+
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#2660
+ # source://prism//lib/prism/node.rb#2719
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#2670
+ # source://prism//lib/prism/node.rb#2729
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#2665
+ # source://prism//lib/prism/node.rb#2724
def compact_child_nodes; end
- # def copy: (**params) -> CapturePatternNode
+ # def copy: (**params) -> CallTargetNode
#
- # source://prism//lib/prism/node.rb#2675
- sig { params(params: T.untyped).returns(Prism::CapturePatternNode) }
+ # source://prism//lib/prism/node.rb#2734
+ sig { params(params: T.untyped).returns(Prism::CallTargetNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#2660
+ # source://prism//lib/prism/node.rb#2719
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#2688
+ # source://prism//lib/prism/node.rb#2749
sig do
params(
keys: T::Array[Symbol]
@@ -3173,24 +3304,175 @@ class Prism::CapturePatternNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#2698
+ # source://prism//lib/prism/node.rb#2779
def inspect(inspector = T.unsafe(nil)); end
- # def operator: () -> String
+ # def message: () -> String
#
- # source://prism//lib/prism/node.rb#2693
+ # source://prism//lib/prism/node.rb#2774
+ sig { returns(String) }
+ def message; end
+
+ # attr_reader message_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#2701
+ sig { returns(Prism::Location) }
+ def message_loc; end
+
+ # attr_reader name: Symbol
+ #
+ # source://prism//lib/prism/node.rb#2698
+ sig { returns(Symbol) }
+ def name; end
+
+ # attr_reader receiver: Node
+ #
+ # source://prism//lib/prism/node.rb#2692
+ sig { returns(Prism::Node) }
+ def receiver; end
+
+ # def safe_navigation?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#2754
+ sig { returns(T::Boolean) }
+ def safe_navigation?; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#2805
+ def type; end
+
+ # def variable_call?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#2759
+ sig { returns(T::Boolean) }
+ def variable_call?; end
+
+ private
+
+ # Returns the value of attribute flags.
+ #
+ # source://prism//lib/prism/node.rb#2689
+ sig { returns(Integer) }
+ def flags; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#2815
+ def type; end
+ end
+end
+
+# Represents assigning to a local variable in pattern matching.
+#
+# foo => [bar => baz]
+# ^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#2824
+class Prism::CapturePatternNode < ::Prism::Node
+ # def initialize: (value: Node, target: Node, operator_loc: Location, location: Location) -> void
+ #
+ # @return [CapturePatternNode] a new instance of CapturePatternNode
+ #
+ # source://prism//lib/prism/node.rb#2835
+ sig do
+ params(
+ value: Prism::Node,
+ target: Prism::Node,
+ operator_loc: Prism::Location,
+ location: Prism::Location
+ ).void
+ end
+ def initialize(value, target, operator_loc, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#2843
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#2848
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#2858
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#2853
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> CapturePatternNode
+ #
+ # source://prism//lib/prism/node.rb#2863
+ sig { params(params: T.untyped).returns(Prism::CapturePatternNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#2848
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://prism//lib/prism/node.rb#2876
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(inspector: NodeInspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#2886
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # def operator: () -> String
+ #
+ # source://prism//lib/prism/node.rb#2881
sig { returns(String) }
def operator; end
# attr_reader operator_loc: Location
#
- # source://prism//lib/prism/node.rb#2644
+ # source://prism//lib/prism/node.rb#2832
sig { returns(Prism::Location) }
def operator_loc; end
# attr_reader target: Node
#
- # source://prism//lib/prism/node.rb#2641
+ # source://prism//lib/prism/node.rb#2829
sig { returns(Prism::Node) }
def target; end
@@ -3209,12 +3491,12 @@ class Prism::CapturePatternNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#2722
+ # source://prism//lib/prism/node.rb#2910
def type; end
# attr_reader value: Node
#
- # source://prism//lib/prism/node.rb#2638
+ # source://prism//lib/prism/node.rb#2826
sig { returns(Prism::Node) }
def value; end
@@ -3226,25 +3508,25 @@ class Prism::CapturePatternNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#2732
+ # source://prism//lib/prism/node.rb#2920
def type; end
end
end
-# Represents the use of a case statement.
+# Represents the use of a case statement for pattern matching.
#
# case true
-# when false
+# in false
# end
-# ^^^^^^^^^^
+# ^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#2743
-class Prism::CaseNode < ::Prism::Node
+# source://prism//lib/prism/node.rb#2931
+class Prism::CaseMatchNode < ::Prism::Node
# def initialize: (predicate: Node?, conditions: Array[Node], consequent: ElseNode?, case_keyword_loc: Location, end_keyword_loc: Location, location: Location) -> void
#
- # @return [CaseNode] a new instance of CaseNode
+ # @return [CaseMatchNode] a new instance of CaseMatchNode
#
- # source://prism//lib/prism/node.rb#2760
+ # source://prism//lib/prism/node.rb#2948
sig do
params(
predicate: T.nilable(Prism::Node),
@@ -3259,66 +3541,66 @@ class Prism::CaseNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#2770
+ # source://prism//lib/prism/node.rb#2958
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def case_keyword: () -> String
#
- # source://prism//lib/prism/node.rb#2814
+ # source://prism//lib/prism/node.rb#3002
sig { returns(String) }
def case_keyword; end
# attr_reader case_keyword_loc: Location
#
- # source://prism//lib/prism/node.rb#2754
+ # source://prism//lib/prism/node.rb#2942
sig { returns(Prism::Location) }
def case_keyword_loc; end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#2775
+ # source://prism//lib/prism/node.rb#2963
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#2789
+ # source://prism//lib/prism/node.rb#2977
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#2780
+ # source://prism//lib/prism/node.rb#2968
def compact_child_nodes; end
# attr_reader conditions: Array[Node]
#
- # source://prism//lib/prism/node.rb#2748
+ # source://prism//lib/prism/node.rb#2936
sig { returns(T::Array[Prism::Node]) }
def conditions; end
# attr_reader consequent: ElseNode?
#
- # source://prism//lib/prism/node.rb#2751
+ # source://prism//lib/prism/node.rb#2939
sig { returns(T.nilable(Prism::ElseNode)) }
def consequent; end
- # def copy: (**params) -> CaseNode
+ # def copy: (**params) -> CaseMatchNode
#
- # source://prism//lib/prism/node.rb#2794
- sig { params(params: T.untyped).returns(Prism::CaseNode) }
+ # source://prism//lib/prism/node.rb#2982
+ sig { params(params: T.untyped).returns(Prism::CaseMatchNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#2775
+ # source://prism//lib/prism/node.rb#2963
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#2809
+ # source://prism//lib/prism/node.rb#2997
sig do
params(
keys: T::Array[Symbol]
@@ -3328,24 +3610,24 @@ class Prism::CaseNode < ::Prism::Node
# def end_keyword: () -> String
#
- # source://prism//lib/prism/node.rb#2819
+ # source://prism//lib/prism/node.rb#3007
sig { returns(String) }
def end_keyword; end
# attr_reader end_keyword_loc: Location
#
- # source://prism//lib/prism/node.rb#2757
+ # source://prism//lib/prism/node.rb#2945
sig { returns(Prism::Location) }
def end_keyword_loc; end
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#2824
+ # source://prism//lib/prism/node.rb#3012
def inspect(inspector = T.unsafe(nil)); end
# attr_reader predicate: Node?
#
- # source://prism//lib/prism/node.rb#2745
+ # source://prism//lib/prism/node.rb#2933
sig { returns(T.nilable(Prism::Node)) }
def predicate; end
@@ -3364,7 +3646,7 @@ class Prism::CaseNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#2858
+ # source://prism//lib/prism/node.rb#3046
def type; end
class << self
@@ -3375,100 +3657,99 @@ class Prism::CaseNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#2868
+ # source://prism//lib/prism/node.rb#3056
def type; end
end
end
-# Represents a class declaration involving the `class` keyword.
+# Represents the use of a case statement.
#
-# class Foo end
-# ^^^^^^^^^^^^^
+# case true
+# when false
+# end
+# ^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#2877
-class Prism::ClassNode < ::Prism::Node
- # def initialize: (locals: Array[Symbol], class_keyword_loc: Location, constant_path: Node, inheritance_operator_loc: Location?, superclass: Node?, body: Node?, end_keyword_loc: Location, name: Symbol, location: Location) -> void
+# source://prism//lib/prism/node.rb#3067
+class Prism::CaseNode < ::Prism::Node
+ # def initialize: (predicate: Node?, conditions: Array[Node], consequent: ElseNode?, case_keyword_loc: Location, end_keyword_loc: Location, location: Location) -> void
#
- # @return [ClassNode] a new instance of ClassNode
+ # @return [CaseNode] a new instance of CaseNode
#
- # source://prism//lib/prism/node.rb#2903
+ # source://prism//lib/prism/node.rb#3084
sig do
params(
- locals: T::Array[Symbol],
- class_keyword_loc: Prism::Location,
- constant_path: Prism::Node,
- inheritance_operator_loc: T.nilable(Prism::Location),
- superclass: T.nilable(Prism::Node),
- body: T.nilable(Prism::Node),
+ predicate: T.nilable(Prism::Node),
+ conditions: T::Array[Prism::Node],
+ consequent: T.nilable(Prism::ElseNode),
+ case_keyword_loc: Prism::Location,
end_keyword_loc: Prism::Location,
- name: Symbol,
location: Prism::Location
).void
end
- def initialize(locals, class_keyword_loc, constant_path, inheritance_operator_loc, superclass, body, end_keyword_loc, name, location); end
+ def initialize(predicate, conditions, consequent, case_keyword_loc, end_keyword_loc, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#2916
+ # source://prism//lib/prism/node.rb#3094
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
- # attr_reader body: Node?
+ # def case_keyword: () -> String
#
- # source://prism//lib/prism/node.rb#2894
- sig { returns(T.nilable(Prism::Node)) }
- def body; end
+ # source://prism//lib/prism/node.rb#3138
+ sig { returns(String) }
+ def case_keyword; end
+
+ # attr_reader case_keyword_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#3078
+ sig { returns(Prism::Location) }
+ def case_keyword_loc; end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#2921
+ # source://prism//lib/prism/node.rb#3099
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
- # def class_keyword: () -> String
- #
- # source://prism//lib/prism/node.rb#2963
- sig { returns(String) }
- def class_keyword; end
-
- # attr_reader class_keyword_loc: Location
- #
- # source://prism//lib/prism/node.rb#2882
- sig { returns(Prism::Location) }
- def class_keyword_loc; end
-
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#2935
+ # source://prism//lib/prism/node.rb#3113
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#2926
+ # source://prism//lib/prism/node.rb#3104
def compact_child_nodes; end
- # attr_reader constant_path: Node
+ # attr_reader conditions: Array[Node]
#
- # source://prism//lib/prism/node.rb#2885
- sig { returns(Prism::Node) }
- def constant_path; end
+ # source://prism//lib/prism/node.rb#3072
+ sig { returns(T::Array[Prism::Node]) }
+ def conditions; end
- # def copy: (**params) -> ClassNode
+ # attr_reader consequent: ElseNode?
#
- # source://prism//lib/prism/node.rb#2940
- sig { params(params: T.untyped).returns(Prism::ClassNode) }
+ # source://prism//lib/prism/node.rb#3075
+ sig { returns(T.nilable(Prism::ElseNode)) }
+ def consequent; end
+
+ # def copy: (**params) -> CaseNode
+ #
+ # source://prism//lib/prism/node.rb#3118
+ sig { params(params: T.untyped).returns(Prism::CaseNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#2921
+ # source://prism//lib/prism/node.rb#3099
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#2958
+ # source://prism//lib/prism/node.rb#3133
sig do
params(
keys: T::Array[Symbol]
@@ -3478,50 +3759,26 @@ class Prism::ClassNode < ::Prism::Node
# def end_keyword: () -> String
#
- # source://prism//lib/prism/node.rb#2973
+ # source://prism//lib/prism/node.rb#3143
sig { returns(String) }
def end_keyword; end
# attr_reader end_keyword_loc: Location
#
- # source://prism//lib/prism/node.rb#2897
+ # source://prism//lib/prism/node.rb#3081
sig { returns(Prism::Location) }
def end_keyword_loc; end
- # def inheritance_operator: () -> String?
- #
- # source://prism//lib/prism/node.rb#2968
- sig { returns(T.nilable(String)) }
- def inheritance_operator; end
-
- # attr_reader inheritance_operator_loc: Location?
- #
- # source://prism//lib/prism/node.rb#2888
- sig { returns(T.nilable(Prism::Location)) }
- def inheritance_operator_loc; end
-
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#2978
+ # source://prism//lib/prism/node.rb#3148
def inspect(inspector = T.unsafe(nil)); end
- # attr_reader locals: Array[Symbol]
- #
- # source://prism//lib/prism/node.rb#2879
- sig { returns(T::Array[Symbol]) }
- def locals; end
-
- # attr_reader name: Symbol
- #
- # source://prism//lib/prism/node.rb#2900
- sig { returns(Symbol) }
- def name; end
-
- # attr_reader superclass: Node?
+ # attr_reader predicate: Node?
#
- # source://prism//lib/prism/node.rb#2891
+ # source://prism//lib/prism/node.rb#3069
sig { returns(T.nilable(Prism::Node)) }
- def superclass; end
+ def predicate; end
# Sometimes you want to check an instance of a node against a list of
# classes to see what kind of behavior to perform. Usually this is done by
@@ -3538,7 +3795,7 @@ class Prism::ClassNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#3016
+ # source://prism//lib/prism/node.rb#3182
def type; end
class << self
@@ -3549,29 +3806,203 @@ class Prism::ClassNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#3026
+ # source://prism//lib/prism/node.rb#3192
def type; end
end
end
-# Represents the use of the `&&=` operator for assignment to a class variable.
+# Represents a class declaration involving the `class` keyword.
#
-# @@target &&= value
-# ^^^^^^^^^^^^^^^^^^
+# class Foo end
+# ^^^^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#3035
-class Prism::ClassVariableAndWriteNode < ::Prism::Node
- # def initialize: (name: Symbol, name_loc: Location, operator_loc: Location, value: Node, location: Location) -> void
+# source://prism//lib/prism/node.rb#3201
+class Prism::ClassNode < ::Prism::Node
+ # def initialize: (locals: Array[Symbol], class_keyword_loc: Location, constant_path: Node, inheritance_operator_loc: Location?, superclass: Node?, body: Node?, end_keyword_loc: Location, name: Symbol, location: Location) -> void
#
- # @return [ClassVariableAndWriteNode] a new instance of ClassVariableAndWriteNode
+ # @return [ClassNode] a new instance of ClassNode
#
- # source://prism//lib/prism/node.rb#3049
+ # source://prism//lib/prism/node.rb#3227
sig do
params(
- name: Symbol,
- name_loc: Prism::Location,
- operator_loc: Prism::Location,
- value: Prism::Node,
+ locals: T::Array[Symbol],
+ class_keyword_loc: Prism::Location,
+ constant_path: Prism::Node,
+ inheritance_operator_loc: T.nilable(Prism::Location),
+ superclass: T.nilable(Prism::Node),
+ body: T.nilable(Prism::Node),
+ end_keyword_loc: Prism::Location,
+ name: Symbol,
+ location: Prism::Location
+ ).void
+ end
+ def initialize(locals, class_keyword_loc, constant_path, inheritance_operator_loc, superclass, body, end_keyword_loc, name, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#3240
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # attr_reader body: Node?
+ #
+ # source://prism//lib/prism/node.rb#3218
+ sig { returns(T.nilable(Prism::Node)) }
+ def body; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#3245
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def class_keyword: () -> String
+ #
+ # source://prism//lib/prism/node.rb#3287
+ sig { returns(String) }
+ def class_keyword; end
+
+ # attr_reader class_keyword_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#3206
+ sig { returns(Prism::Location) }
+ def class_keyword_loc; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#3259
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#3250
+ def compact_child_nodes; end
+
+ # attr_reader constant_path: Node
+ #
+ # source://prism//lib/prism/node.rb#3209
+ sig { returns(Prism::Node) }
+ def constant_path; end
+
+ # def copy: (**params) -> ClassNode
+ #
+ # source://prism//lib/prism/node.rb#3264
+ sig { params(params: T.untyped).returns(Prism::ClassNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#3245
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://prism//lib/prism/node.rb#3282
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def end_keyword: () -> String
+ #
+ # source://prism//lib/prism/node.rb#3297
+ sig { returns(String) }
+ def end_keyword; end
+
+ # attr_reader end_keyword_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#3221
+ sig { returns(Prism::Location) }
+ def end_keyword_loc; end
+
+ # def inheritance_operator: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#3292
+ sig { returns(T.nilable(String)) }
+ def inheritance_operator; end
+
+ # attr_reader inheritance_operator_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#3212
+ sig { returns(T.nilable(Prism::Location)) }
+ def inheritance_operator_loc; end
+
+ # def inspect(inspector: NodeInspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#3302
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader locals: Array[Symbol]
+ #
+ # source://prism//lib/prism/node.rb#3203
+ sig { returns(T::Array[Symbol]) }
+ def locals; end
+
+ # attr_reader name: Symbol
+ #
+ # source://prism//lib/prism/node.rb#3224
+ sig { returns(Symbol) }
+ def name; end
+
+ # attr_reader superclass: Node?
+ #
+ # source://prism//lib/prism/node.rb#3215
+ sig { returns(T.nilable(Prism::Node)) }
+ def superclass; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#3340
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#3350
+ def type; end
+ end
+end
+
+# Represents the use of the `&&=` operator for assignment to a class variable.
+#
+# @@target &&= value
+# ^^^^^^^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#3359
+class Prism::ClassVariableAndWriteNode < ::Prism::Node
+ # def initialize: (name: Symbol, name_loc: Location, operator_loc: Location, value: Node, location: Location) -> void
+ #
+ # @return [ClassVariableAndWriteNode] a new instance of ClassVariableAndWriteNode
+ #
+ # source://prism//lib/prism/node.rb#3373
+ sig do
+ params(
+ name: Symbol,
+ name_loc: Prism::Location,
+ operator_loc: Prism::Location,
+ value: Prism::Node,
location: Prism::Location
).void
end
@@ -3579,42 +4010,42 @@ class Prism::ClassVariableAndWriteNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#3058
+ # source://prism//lib/prism/node.rb#3382
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#3063
+ # source://prism//lib/prism/node.rb#3387
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#3073
+ # source://prism//lib/prism/node.rb#3397
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#3068
+ # source://prism//lib/prism/node.rb#3392
def compact_child_nodes; end
# def copy: (**params) -> ClassVariableAndWriteNode
#
- # source://prism//lib/prism/node.rb#3078
+ # source://prism//lib/prism/node.rb#3402
sig { params(params: T.untyped).returns(Prism::ClassVariableAndWriteNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#3063
+ # source://prism//lib/prism/node.rb#3387
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#3092
+ # source://prism//lib/prism/node.rb#3416
sig do
params(
keys: T::Array[Symbol]
@@ -3624,30 +4055,30 @@ class Prism::ClassVariableAndWriteNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#3102
+ # source://prism//lib/prism/node.rb#3426
def inspect(inspector = T.unsafe(nil)); end
# attr_reader name: Symbol
#
- # source://prism//lib/prism/node.rb#3037
+ # source://prism//lib/prism/node.rb#3361
sig { returns(Symbol) }
def name; end
# attr_reader name_loc: Location
#
- # source://prism//lib/prism/node.rb#3040
+ # source://prism//lib/prism/node.rb#3364
sig { returns(Prism::Location) }
def name_loc; end
# def operator: () -> String
#
- # source://prism//lib/prism/node.rb#3097
+ # source://prism//lib/prism/node.rb#3421
sig { returns(String) }
def operator; end
# attr_reader operator_loc: Location
#
- # source://prism//lib/prism/node.rb#3043
+ # source://prism//lib/prism/node.rb#3367
sig { returns(Prism::Location) }
def operator_loc; end
@@ -3666,12 +4097,12 @@ class Prism::ClassVariableAndWriteNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#3126
+ # source://prism//lib/prism/node.rb#3450
def type; end
# attr_reader value: Node
#
- # source://prism//lib/prism/node.rb#3046
+ # source://prism//lib/prism/node.rb#3370
sig { returns(Prism::Node) }
def value; end
@@ -3683,7 +4114,7 @@ class Prism::ClassVariableAndWriteNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#3136
+ # source://prism//lib/prism/node.rb#3460
def type; end
end
end
@@ -3693,13 +4124,13 @@ end
# @@target += value
# ^^^^^^^^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#3145
+# source://prism//lib/prism/node.rb#3469
class Prism::ClassVariableOperatorWriteNode < ::Prism::Node
# def initialize: (name: Symbol, name_loc: Location, operator_loc: Location, value: Node, operator: Symbol, location: Location) -> void
#
# @return [ClassVariableOperatorWriteNode] a new instance of ClassVariableOperatorWriteNode
#
- # source://prism//lib/prism/node.rb#3162
+ # source://prism//lib/prism/node.rb#3486
sig do
params(
name: Symbol,
@@ -3714,42 +4145,42 @@ class Prism::ClassVariableOperatorWriteNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#3172
+ # source://prism//lib/prism/node.rb#3496
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#3177
+ # source://prism//lib/prism/node.rb#3501
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#3187
+ # source://prism//lib/prism/node.rb#3511
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#3182
+ # source://prism//lib/prism/node.rb#3506
def compact_child_nodes; end
# def copy: (**params) -> ClassVariableOperatorWriteNode
#
- # source://prism//lib/prism/node.rb#3192
+ # source://prism//lib/prism/node.rb#3516
sig { params(params: T.untyped).returns(Prism::ClassVariableOperatorWriteNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#3177
+ # source://prism//lib/prism/node.rb#3501
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#3207
+ # source://prism//lib/prism/node.rb#3531
sig do
params(
keys: T::Array[Symbol]
@@ -3759,30 +4190,30 @@ class Prism::ClassVariableOperatorWriteNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#3212
+ # source://prism//lib/prism/node.rb#3536
def inspect(inspector = T.unsafe(nil)); end
# attr_reader name: Symbol
#
- # source://prism//lib/prism/node.rb#3147
+ # source://prism//lib/prism/node.rb#3471
sig { returns(Symbol) }
def name; end
# attr_reader name_loc: Location
#
- # source://prism//lib/prism/node.rb#3150
+ # source://prism//lib/prism/node.rb#3474
sig { returns(Prism::Location) }
def name_loc; end
# attr_reader operator: Symbol
#
- # source://prism//lib/prism/node.rb#3159
+ # source://prism//lib/prism/node.rb#3483
sig { returns(Symbol) }
def operator; end
# attr_reader operator_loc: Location
#
- # source://prism//lib/prism/node.rb#3153
+ # source://prism//lib/prism/node.rb#3477
sig { returns(Prism::Location) }
def operator_loc; end
@@ -3801,12 +4232,12 @@ class Prism::ClassVariableOperatorWriteNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#3237
+ # source://prism//lib/prism/node.rb#3561
def type; end
# attr_reader value: Node
#
- # source://prism//lib/prism/node.rb#3156
+ # source://prism//lib/prism/node.rb#3480
sig { returns(Prism::Node) }
def value; end
@@ -3818,7 +4249,7 @@ class Prism::ClassVariableOperatorWriteNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#3247
+ # source://prism//lib/prism/node.rb#3571
def type; end
end
end
@@ -3828,13 +4259,13 @@ end
# @@target ||= value
# ^^^^^^^^^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#3256
+# source://prism//lib/prism/node.rb#3580
class Prism::ClassVariableOrWriteNode < ::Prism::Node
# def initialize: (name: Symbol, name_loc: Location, operator_loc: Location, value: Node, location: Location) -> void
#
# @return [ClassVariableOrWriteNode] a new instance of ClassVariableOrWriteNode
#
- # source://prism//lib/prism/node.rb#3270
+ # source://prism//lib/prism/node.rb#3594
sig do
params(
name: Symbol,
@@ -3848,42 +4279,42 @@ class Prism::ClassVariableOrWriteNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#3279
+ # source://prism//lib/prism/node.rb#3603
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#3284
+ # source://prism//lib/prism/node.rb#3608
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#3294
+ # source://prism//lib/prism/node.rb#3618
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#3289
+ # source://prism//lib/prism/node.rb#3613
def compact_child_nodes; end
# def copy: (**params) -> ClassVariableOrWriteNode
#
- # source://prism//lib/prism/node.rb#3299
+ # source://prism//lib/prism/node.rb#3623
sig { params(params: T.untyped).returns(Prism::ClassVariableOrWriteNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#3284
+ # source://prism//lib/prism/node.rb#3608
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#3313
+ # source://prism//lib/prism/node.rb#3637
sig do
params(
keys: T::Array[Symbol]
@@ -3893,30 +4324,30 @@ class Prism::ClassVariableOrWriteNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#3323
+ # source://prism//lib/prism/node.rb#3647
def inspect(inspector = T.unsafe(nil)); end
# attr_reader name: Symbol
#
- # source://prism//lib/prism/node.rb#3258
+ # source://prism//lib/prism/node.rb#3582
sig { returns(Symbol) }
def name; end
# attr_reader name_loc: Location
#
- # source://prism//lib/prism/node.rb#3261
+ # source://prism//lib/prism/node.rb#3585
sig { returns(Prism::Location) }
def name_loc; end
# def operator: () -> String
#
- # source://prism//lib/prism/node.rb#3318
+ # source://prism//lib/prism/node.rb#3642
sig { returns(String) }
def operator; end
# attr_reader operator_loc: Location
#
- # source://prism//lib/prism/node.rb#3264
+ # source://prism//lib/prism/node.rb#3588
sig { returns(Prism::Location) }
def operator_loc; end
@@ -3935,12 +4366,12 @@ class Prism::ClassVariableOrWriteNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#3347
+ # source://prism//lib/prism/node.rb#3671
def type; end
# attr_reader value: Node
#
- # source://prism//lib/prism/node.rb#3267
+ # source://prism//lib/prism/node.rb#3591
sig { returns(Prism::Node) }
def value; end
@@ -3952,7 +4383,7 @@ class Prism::ClassVariableOrWriteNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#3357
+ # source://prism//lib/prism/node.rb#3681
def type; end
end
end
@@ -3962,54 +4393,54 @@ end
# @@foo
# ^^^^^
#
-# source://prism//lib/prism/node.rb#3366
+# source://prism//lib/prism/node.rb#3690
class Prism::ClassVariableReadNode < ::Prism::Node
# def initialize: (name: Symbol, location: Location) -> void
#
# @return [ClassVariableReadNode] a new instance of ClassVariableReadNode
#
- # source://prism//lib/prism/node.rb#3371
+ # source://prism//lib/prism/node.rb#3695
sig { params(name: Symbol, location: Prism::Location).void }
def initialize(name, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#3377
+ # source://prism//lib/prism/node.rb#3701
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#3382
+ # source://prism//lib/prism/node.rb#3706
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#3392
+ # source://prism//lib/prism/node.rb#3716
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#3387
+ # source://prism//lib/prism/node.rb#3711
def compact_child_nodes; end
# def copy: (**params) -> ClassVariableReadNode
#
- # source://prism//lib/prism/node.rb#3397
+ # source://prism//lib/prism/node.rb#3721
sig { params(params: T.untyped).returns(Prism::ClassVariableReadNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#3382
+ # source://prism//lib/prism/node.rb#3706
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#3408
+ # source://prism//lib/prism/node.rb#3732
sig do
params(
keys: T::Array[Symbol]
@@ -4019,12 +4450,12 @@ class Prism::ClassVariableReadNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#3413
+ # source://prism//lib/prism/node.rb#3737
def inspect(inspector = T.unsafe(nil)); end
# attr_reader name: Symbol
#
- # source://prism//lib/prism/node.rb#3368
+ # source://prism//lib/prism/node.rb#3692
sig { returns(Symbol) }
def name; end
@@ -4043,7 +4474,7 @@ class Prism::ClassVariableReadNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#3433
+ # source://prism//lib/prism/node.rb#3757
def type; end
class << self
@@ -4054,7 +4485,7 @@ class Prism::ClassVariableReadNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#3443
+ # source://prism//lib/prism/node.rb#3767
def type; end
end
end
@@ -4064,54 +4495,54 @@ end
# @@foo, @@bar = baz
# ^^^^^ ^^^^^
#
-# source://prism//lib/prism/node.rb#3452
+# source://prism//lib/prism/node.rb#3776
class Prism::ClassVariableTargetNode < ::Prism::Node
# def initialize: (name: Symbol, location: Location) -> void
#
# @return [ClassVariableTargetNode] a new instance of ClassVariableTargetNode
#
- # source://prism//lib/prism/node.rb#3457
+ # source://prism//lib/prism/node.rb#3781
sig { params(name: Symbol, location: Prism::Location).void }
def initialize(name, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#3463
+ # source://prism//lib/prism/node.rb#3787
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#3468
+ # source://prism//lib/prism/node.rb#3792
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#3478
+ # source://prism//lib/prism/node.rb#3802
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#3473
+ # source://prism//lib/prism/node.rb#3797
def compact_child_nodes; end
# def copy: (**params) -> ClassVariableTargetNode
#
- # source://prism//lib/prism/node.rb#3483
+ # source://prism//lib/prism/node.rb#3807
sig { params(params: T.untyped).returns(Prism::ClassVariableTargetNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#3468
+ # source://prism//lib/prism/node.rb#3792
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#3494
+ # source://prism//lib/prism/node.rb#3818
sig do
params(
keys: T::Array[Symbol]
@@ -4121,12 +4552,12 @@ class Prism::ClassVariableTargetNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#3499
+ # source://prism//lib/prism/node.rb#3823
def inspect(inspector = T.unsafe(nil)); end
# attr_reader name: Symbol
#
- # source://prism//lib/prism/node.rb#3454
+ # source://prism//lib/prism/node.rb#3778
sig { returns(Symbol) }
def name; end
@@ -4145,7 +4576,7 @@ class Prism::ClassVariableTargetNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#3519
+ # source://prism//lib/prism/node.rb#3843
def type; end
class << self
@@ -4156,7 +4587,7 @@ class Prism::ClassVariableTargetNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#3529
+ # source://prism//lib/prism/node.rb#3853
def type; end
end
end
@@ -4166,13 +4597,13 @@ end
# @@foo = 1
# ^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#3538
+# source://prism//lib/prism/node.rb#3862
class Prism::ClassVariableWriteNode < ::Prism::Node
# def initialize: (name: Symbol, name_loc: Location, value: Node, operator_loc: Location?, location: Location) -> void
#
# @return [ClassVariableWriteNode] a new instance of ClassVariableWriteNode
#
- # source://prism//lib/prism/node.rb#3552
+ # source://prism//lib/prism/node.rb#3876
sig do
params(
name: Symbol,
@@ -4186,42 +4617,42 @@ class Prism::ClassVariableWriteNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#3561
+ # source://prism//lib/prism/node.rb#3885
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#3566
+ # source://prism//lib/prism/node.rb#3890
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#3576
+ # source://prism//lib/prism/node.rb#3900
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#3571
+ # source://prism//lib/prism/node.rb#3895
def compact_child_nodes; end
# def copy: (**params) -> ClassVariableWriteNode
#
- # source://prism//lib/prism/node.rb#3581
+ # source://prism//lib/prism/node.rb#3905
sig { params(params: T.untyped).returns(Prism::ClassVariableWriteNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#3566
+ # source://prism//lib/prism/node.rb#3890
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#3595
+ # source://prism//lib/prism/node.rb#3919
sig do
params(
keys: T::Array[Symbol]
@@ -4231,30 +4662,30 @@ class Prism::ClassVariableWriteNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#3605
+ # source://prism//lib/prism/node.rb#3929
def inspect(inspector = T.unsafe(nil)); end
# attr_reader name: Symbol
#
- # source://prism//lib/prism/node.rb#3540
+ # source://prism//lib/prism/node.rb#3864
sig { returns(Symbol) }
def name; end
# attr_reader name_loc: Location
#
- # source://prism//lib/prism/node.rb#3543
+ # source://prism//lib/prism/node.rb#3867
sig { returns(Prism::Location) }
def name_loc; end
# def operator: () -> String?
#
- # source://prism//lib/prism/node.rb#3600
+ # source://prism//lib/prism/node.rb#3924
sig { returns(T.nilable(String)) }
def operator; end
# attr_reader operator_loc: Location?
#
- # source://prism//lib/prism/node.rb#3549
+ # source://prism//lib/prism/node.rb#3873
sig { returns(T.nilable(Prism::Location)) }
def operator_loc; end
@@ -4273,12 +4704,12 @@ class Prism::ClassVariableWriteNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#3629
+ # source://prism//lib/prism/node.rb#3953
def type; end
# attr_reader value: Node
#
- # source://prism//lib/prism/node.rb#3546
+ # source://prism//lib/prism/node.rb#3870
sig { returns(Prism::Node) }
def value; end
@@ -4290,7 +4721,7 @@ class Prism::ClassVariableWriteNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#3639
+ # source://prism//lib/prism/node.rb#3963
def type; end
end
end
@@ -4298,31 +4729,26 @@ end
# This represents a comment that was encountered during parsing. It is the
# base class for all comment types.
#
-# source://prism//lib/prism/parse_result.rb#194
+# source://prism//lib/prism/parse_result.rb#228
class Prism::Comment
# Create a new comment object with the given location.
#
# @return [Comment] a new instance of Comment
#
- # source://prism//lib/prism/parse_result.rb#199
+ # source://prism//lib/prism/parse_result.rb#233
def initialize(location); end
# Implement the hash pattern matching interface for Comment.
#
- # source://prism//lib/prism/parse_result.rb#204
+ # source://prism//lib/prism/parse_result.rb#238
def deconstruct_keys(keys); end
# The location of this comment in the source.
#
- # source://prism//lib/prism/parse_result.rb#196
+ # source://prism//lib/prism/parse_result.rb#230
sig { returns(Prism::Location) }
def location; end
- # This can only be true for inline comments.
- #
- # @return [Boolean]
- #
- # source://prism//lib/prism/parse_result.rb#209
sig { returns(T::Boolean) }
def trailing?; end
end
@@ -4482,12 +4908,24 @@ class Prism::Compiler
# source://prism//lib/prism/compiler.rb#38
def visit_call_or_write_node(node); end
+ # Visit the child nodes of the given node.
+ # Compile a CallTargetNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_call_target_node(node); end
+
# Visit the child nodes of the given node.
# Compile a CapturePatternNode node
#
# source://prism//lib/prism/compiler.rb#38
def visit_capture_pattern_node(node); end
+ # Visit the child nodes of the given node.
+ # Compile a CaseMatchNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_case_match_node(node); end
+
# Visit the child nodes of the given node.
# Compile a CaseNode node
#
@@ -4763,6 +5201,12 @@ class Prism::Compiler
# source://prism//lib/prism/compiler.rb#38
def visit_implicit_node(node); end
+ # Visit the child nodes of the given node.
+ # Compile a ImplicitRestNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_implicit_rest_node(node); end
+
# Visit the child nodes of the given node.
# Compile a InNode node
#
@@ -4787,6 +5231,12 @@ class Prism::Compiler
# source://prism//lib/prism/compiler.rb#38
def visit_index_or_write_node(node); end
+ # Visit the child nodes of the given node.
+ # Compile a IndexTargetNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_index_target_node(node); end
+
# Visit the child nodes of the given node.
# Compile a InstanceVariableAndWriteNode node
#
@@ -4979,6 +5429,12 @@ class Prism::Compiler
# source://prism//lib/prism/compiler.rb#38
def visit_no_keywords_parameter_node(node); end
+ # Visit the child nodes of the given node.
+ # Compile a NumberedParametersNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_numbered_parameters_node(node); end
+
# Visit the child nodes of the given node.
# Compile a NumberedReferenceReadNode node
#
@@ -5153,12 +5609,6 @@ class Prism::Compiler
# source://prism//lib/prism/compiler.rb#38
def visit_statements_node(node); end
- # Visit the child nodes of the given node.
- # Compile a StringConcatNode node
- #
- # source://prism//lib/prism/compiler.rb#38
- def visit_string_concat_node(node); end
-
# Visit the child nodes of the given node.
# Compile a StringNode node
#
@@ -5231,13 +5681,13 @@ end
# Target &&= value
# ^^^^^^^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#3648
+# source://prism//lib/prism/node.rb#3972
class Prism::ConstantAndWriteNode < ::Prism::Node
# def initialize: (name: Symbol, name_loc: Location, operator_loc: Location, value: Node, location: Location) -> void
#
# @return [ConstantAndWriteNode] a new instance of ConstantAndWriteNode
#
- # source://prism//lib/prism/node.rb#3662
+ # source://prism//lib/prism/node.rb#3986
sig do
params(
name: Symbol,
@@ -5251,42 +5701,42 @@ class Prism::ConstantAndWriteNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#3671
+ # source://prism//lib/prism/node.rb#3995
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#3676
+ # source://prism//lib/prism/node.rb#4000
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#3686
+ # source://prism//lib/prism/node.rb#4010
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#3681
+ # source://prism//lib/prism/node.rb#4005
def compact_child_nodes; end
# def copy: (**params) -> ConstantAndWriteNode
#
- # source://prism//lib/prism/node.rb#3691
+ # source://prism//lib/prism/node.rb#4015
sig { params(params: T.untyped).returns(Prism::ConstantAndWriteNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#3676
+ # source://prism//lib/prism/node.rb#4000
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#3705
+ # source://prism//lib/prism/node.rb#4029
sig do
params(
keys: T::Array[Symbol]
@@ -5296,30 +5746,30 @@ class Prism::ConstantAndWriteNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#3715
+ # source://prism//lib/prism/node.rb#4039
def inspect(inspector = T.unsafe(nil)); end
# attr_reader name: Symbol
#
- # source://prism//lib/prism/node.rb#3650
+ # source://prism//lib/prism/node.rb#3974
sig { returns(Symbol) }
def name; end
# attr_reader name_loc: Location
#
- # source://prism//lib/prism/node.rb#3653
+ # source://prism//lib/prism/node.rb#3977
sig { returns(Prism::Location) }
def name_loc; end
# def operator: () -> String
#
- # source://prism//lib/prism/node.rb#3710
+ # source://prism//lib/prism/node.rb#4034
sig { returns(String) }
def operator; end
# attr_reader operator_loc: Location
#
- # source://prism//lib/prism/node.rb#3656
+ # source://prism//lib/prism/node.rb#3980
sig { returns(Prism::Location) }
def operator_loc; end
@@ -5338,12 +5788,12 @@ class Prism::ConstantAndWriteNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#3739
+ # source://prism//lib/prism/node.rb#4063
def type; end
# attr_reader value: Node
#
- # source://prism//lib/prism/node.rb#3659
+ # source://prism//lib/prism/node.rb#3983
sig { returns(Prism::Node) }
def value; end
@@ -5355,7 +5805,7 @@ class Prism::ConstantAndWriteNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#3749
+ # source://prism//lib/prism/node.rb#4073
def type; end
end
end
@@ -5365,13 +5815,13 @@ end
# Target += value
# ^^^^^^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#3758
+# source://prism//lib/prism/node.rb#4082
class Prism::ConstantOperatorWriteNode < ::Prism::Node
# def initialize: (name: Symbol, name_loc: Location, operator_loc: Location, value: Node, operator: Symbol, location: Location) -> void
#
# @return [ConstantOperatorWriteNode] a new instance of ConstantOperatorWriteNode
#
- # source://prism//lib/prism/node.rb#3775
+ # source://prism//lib/prism/node.rb#4099
sig do
params(
name: Symbol,
@@ -5386,42 +5836,42 @@ class Prism::ConstantOperatorWriteNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#3785
+ # source://prism//lib/prism/node.rb#4109
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#3790
+ # source://prism//lib/prism/node.rb#4114
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#3800
+ # source://prism//lib/prism/node.rb#4124
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#3795
+ # source://prism//lib/prism/node.rb#4119
def compact_child_nodes; end
# def copy: (**params) -> ConstantOperatorWriteNode
#
- # source://prism//lib/prism/node.rb#3805
+ # source://prism//lib/prism/node.rb#4129
sig { params(params: T.untyped).returns(Prism::ConstantOperatorWriteNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#3790
+ # source://prism//lib/prism/node.rb#4114
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#3820
+ # source://prism//lib/prism/node.rb#4144
sig do
params(
keys: T::Array[Symbol]
@@ -5431,30 +5881,30 @@ class Prism::ConstantOperatorWriteNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#3825
+ # source://prism//lib/prism/node.rb#4149
def inspect(inspector = T.unsafe(nil)); end
# attr_reader name: Symbol
#
- # source://prism//lib/prism/node.rb#3760
+ # source://prism//lib/prism/node.rb#4084
sig { returns(Symbol) }
def name; end
# attr_reader name_loc: Location
#
- # source://prism//lib/prism/node.rb#3763
+ # source://prism//lib/prism/node.rb#4087
sig { returns(Prism::Location) }
def name_loc; end
# attr_reader operator: Symbol
#
- # source://prism//lib/prism/node.rb#3772
+ # source://prism//lib/prism/node.rb#4096
sig { returns(Symbol) }
def operator; end
# attr_reader operator_loc: Location
#
- # source://prism//lib/prism/node.rb#3766
+ # source://prism//lib/prism/node.rb#4090
sig { returns(Prism::Location) }
def operator_loc; end
@@ -5473,12 +5923,12 @@ class Prism::ConstantOperatorWriteNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#3850
+ # source://prism//lib/prism/node.rb#4174
def type; end
# attr_reader value: Node
#
- # source://prism//lib/prism/node.rb#3769
+ # source://prism//lib/prism/node.rb#4093
sig { returns(Prism::Node) }
def value; end
@@ -5490,7 +5940,7 @@ class Prism::ConstantOperatorWriteNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#3860
+ # source://prism//lib/prism/node.rb#4184
def type; end
end
end
@@ -5500,13 +5950,13 @@ end
# Target ||= value
# ^^^^^^^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#3869
+# source://prism//lib/prism/node.rb#4193
class Prism::ConstantOrWriteNode < ::Prism::Node
# def initialize: (name: Symbol, name_loc: Location, operator_loc: Location, value: Node, location: Location) -> void
#
# @return [ConstantOrWriteNode] a new instance of ConstantOrWriteNode
#
- # source://prism//lib/prism/node.rb#3883
+ # source://prism//lib/prism/node.rb#4207
sig do
params(
name: Symbol,
@@ -5520,42 +5970,42 @@ class Prism::ConstantOrWriteNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#3892
+ # source://prism//lib/prism/node.rb#4216
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#3897
+ # source://prism//lib/prism/node.rb#4221
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#3907
+ # source://prism//lib/prism/node.rb#4231
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#3902
+ # source://prism//lib/prism/node.rb#4226
def compact_child_nodes; end
# def copy: (**params) -> ConstantOrWriteNode
#
- # source://prism//lib/prism/node.rb#3912
+ # source://prism//lib/prism/node.rb#4236
sig { params(params: T.untyped).returns(Prism::ConstantOrWriteNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#3897
+ # source://prism//lib/prism/node.rb#4221
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#3926
+ # source://prism//lib/prism/node.rb#4250
sig do
params(
keys: T::Array[Symbol]
@@ -5565,30 +6015,30 @@ class Prism::ConstantOrWriteNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#3936
+ # source://prism//lib/prism/node.rb#4260
def inspect(inspector = T.unsafe(nil)); end
# attr_reader name: Symbol
#
- # source://prism//lib/prism/node.rb#3871
+ # source://prism//lib/prism/node.rb#4195
sig { returns(Symbol) }
def name; end
# attr_reader name_loc: Location
#
- # source://prism//lib/prism/node.rb#3874
+ # source://prism//lib/prism/node.rb#4198
sig { returns(Prism::Location) }
def name_loc; end
# def operator: () -> String
#
- # source://prism//lib/prism/node.rb#3931
+ # source://prism//lib/prism/node.rb#4255
sig { returns(String) }
def operator; end
# attr_reader operator_loc: Location
#
- # source://prism//lib/prism/node.rb#3877
+ # source://prism//lib/prism/node.rb#4201
sig { returns(Prism::Location) }
def operator_loc; end
@@ -5607,12 +6057,12 @@ class Prism::ConstantOrWriteNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#3960
+ # source://prism//lib/prism/node.rb#4284
def type; end
# attr_reader value: Node
#
- # source://prism//lib/prism/node.rb#3880
+ # source://prism//lib/prism/node.rb#4204
sig { returns(Prism::Node) }
def value; end
@@ -5624,7 +6074,7 @@ class Prism::ConstantOrWriteNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#3970
+ # source://prism//lib/prism/node.rb#4294
def type; end
end
end
@@ -5634,13 +6084,13 @@ end
# Parent::Child &&= value
# ^^^^^^^^^^^^^^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#3979
+# source://prism//lib/prism/node.rb#4303
class Prism::ConstantPathAndWriteNode < ::Prism::Node
# def initialize: (target: ConstantPathNode, operator_loc: Location, value: Node, location: Location) -> void
#
# @return [ConstantPathAndWriteNode] a new instance of ConstantPathAndWriteNode
#
- # source://prism//lib/prism/node.rb#3990
+ # source://prism//lib/prism/node.rb#4314
sig do
params(
target: Prism::ConstantPathNode,
@@ -5653,42 +6103,42 @@ class Prism::ConstantPathAndWriteNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#3998
+ # source://prism//lib/prism/node.rb#4322
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#4003
+ # source://prism//lib/prism/node.rb#4327
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#4013
+ # source://prism//lib/prism/node.rb#4337
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#4008
+ # source://prism//lib/prism/node.rb#4332
def compact_child_nodes; end
# def copy: (**params) -> ConstantPathAndWriteNode
#
- # source://prism//lib/prism/node.rb#4018
+ # source://prism//lib/prism/node.rb#4342
sig { params(params: T.untyped).returns(Prism::ConstantPathAndWriteNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#4003
+ # source://prism//lib/prism/node.rb#4327
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#4031
+ # source://prism//lib/prism/node.rb#4355
sig do
params(
keys: T::Array[Symbol]
@@ -5698,24 +6148,24 @@ class Prism::ConstantPathAndWriteNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#4041
+ # source://prism//lib/prism/node.rb#4365
def inspect(inspector = T.unsafe(nil)); end
# def operator: () -> String
#
- # source://prism//lib/prism/node.rb#4036
+ # source://prism//lib/prism/node.rb#4360
sig { returns(String) }
def operator; end
# attr_reader operator_loc: Location
#
- # source://prism//lib/prism/node.rb#3984
+ # source://prism//lib/prism/node.rb#4308
sig { returns(Prism::Location) }
def operator_loc; end
# attr_reader target: ConstantPathNode
#
- # source://prism//lib/prism/node.rb#3981
+ # source://prism//lib/prism/node.rb#4305
sig { returns(Prism::ConstantPathNode) }
def target; end
@@ -5734,12 +6184,12 @@ class Prism::ConstantPathAndWriteNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#4065
+ # source://prism//lib/prism/node.rb#4389
def type; end
# attr_reader value: Node
#
- # source://prism//lib/prism/node.rb#3987
+ # source://prism//lib/prism/node.rb#4311
sig { returns(Prism::Node) }
def value; end
@@ -5751,7 +6201,7 @@ class Prism::ConstantPathAndWriteNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#4075
+ # source://prism//lib/prism/node.rb#4399
def type; end
end
end
@@ -5761,13 +6211,13 @@ end
# Foo::Bar
# ^^^^^^^^
#
-# source://prism//lib/prism/node.rb#4084
+# source://prism//lib/prism/node.rb#4408
class Prism::ConstantPathNode < ::Prism::Node
# def initialize: (parent: Node?, child: Node, delimiter_loc: Location, location: Location) -> void
#
# @return [ConstantPathNode] a new instance of ConstantPathNode
#
- # source://prism//lib/prism/node.rb#4095
+ # source://prism//lib/prism/node.rb#4419
sig do
params(
parent: T.nilable(Prism::Node),
@@ -5780,48 +6230,48 @@ class Prism::ConstantPathNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#4103
+ # source://prism//lib/prism/node.rb#4427
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# attr_reader child: Node
#
- # source://prism//lib/prism/node.rb#4089
+ # source://prism//lib/prism/node.rb#4413
sig { returns(Prism::Node) }
def child; end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#4108
+ # source://prism//lib/prism/node.rb#4432
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#4121
+ # source://prism//lib/prism/node.rb#4445
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#4113
+ # source://prism//lib/prism/node.rb#4437
def compact_child_nodes; end
# def copy: (**params) -> ConstantPathNode
#
- # source://prism//lib/prism/node.rb#4126
+ # source://prism//lib/prism/node.rb#4450
sig { params(params: T.untyped).returns(Prism::ConstantPathNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#4108
+ # source://prism//lib/prism/node.rb#4432
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#4139
+ # source://prism//lib/prism/node.rb#4463
sig do
params(
keys: T::Array[Symbol]
@@ -5831,34 +6281,35 @@ class Prism::ConstantPathNode < ::Prism::Node
# def delimiter: () -> String
#
- # source://prism//lib/prism/node.rb#4144
+ # source://prism//lib/prism/node.rb#4468
sig { returns(String) }
def delimiter; end
# attr_reader delimiter_loc: Location
#
- # source://prism//lib/prism/node.rb#4092
+ # source://prism//lib/prism/node.rb#4416
sig { returns(Prism::Location) }
def delimiter_loc; end
# Returns the full name of this constant path. For example: "Foo::Bar"
#
- # source://prism//lib/prism/node_ext.rb#90
+ # source://prism//lib/prism/node_ext.rb#129
def full_name; end
- # Returns the list of parts for the full name of this constant path. For example: [:Foo, :Bar]
+ # Returns the list of parts for the full name of this constant path.
+ # For example: [:Foo, :Bar]
#
- # source://prism//lib/prism/node_ext.rb#77
+ # source://prism//lib/prism/node_ext.rb#112
def full_name_parts; end
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#4149
+ # source://prism//lib/prism/node.rb#4473
def inspect(inspector = T.unsafe(nil)); end
# attr_reader parent: Node?
#
- # source://prism//lib/prism/node.rb#4086
+ # source://prism//lib/prism/node.rb#4410
sig { returns(T.nilable(Prism::Node)) }
def parent; end
@@ -5877,7 +6328,7 @@ class Prism::ConstantPathNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#4177
+ # source://prism//lib/prism/node.rb#4501
def type; end
class << self
@@ -5888,23 +6339,33 @@ class Prism::ConstantPathNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#4187
+ # source://prism//lib/prism/node.rb#4511
def type; end
end
end
+# An error class raised when dynamic parts are found while computing a
+# constant path's full name. For example:
+# Foo::Bar::Baz -> does not raise because all parts of the constant path are
+# simple constants
+# var::Bar::Baz -> raises because the first part of the constant path is a
+# local variable
+#
+# source://prism//lib/prism/node_ext.rb#108
+class Prism::ConstantPathNode::DynamicPartsInConstantPathError < ::StandardError; end
+
# Represents assigning to a constant path using an operator that isn't `=`.
#
# Parent::Child += value
# ^^^^^^^^^^^^^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#4196
+# source://prism//lib/prism/node.rb#4520
class Prism::ConstantPathOperatorWriteNode < ::Prism::Node
# def initialize: (target: ConstantPathNode, operator_loc: Location, value: Node, operator: Symbol, location: Location) -> void
#
# @return [ConstantPathOperatorWriteNode] a new instance of ConstantPathOperatorWriteNode
#
- # source://prism//lib/prism/node.rb#4210
+ # source://prism//lib/prism/node.rb#4534
sig do
params(
target: Prism::ConstantPathNode,
@@ -5918,42 +6379,42 @@ class Prism::ConstantPathOperatorWriteNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#4219
+ # source://prism//lib/prism/node.rb#4543
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#4224
+ # source://prism//lib/prism/node.rb#4548
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#4234
+ # source://prism//lib/prism/node.rb#4558
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#4229
+ # source://prism//lib/prism/node.rb#4553
def compact_child_nodes; end
# def copy: (**params) -> ConstantPathOperatorWriteNode
#
- # source://prism//lib/prism/node.rb#4239
+ # source://prism//lib/prism/node.rb#4563
sig { params(params: T.untyped).returns(Prism::ConstantPathOperatorWriteNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#4224
+ # source://prism//lib/prism/node.rb#4548
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#4253
+ # source://prism//lib/prism/node.rb#4577
sig do
params(
keys: T::Array[Symbol]
@@ -5963,24 +6424,24 @@ class Prism::ConstantPathOperatorWriteNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#4258
+ # source://prism//lib/prism/node.rb#4582
def inspect(inspector = T.unsafe(nil)); end
# attr_reader operator: Symbol
#
- # source://prism//lib/prism/node.rb#4207
+ # source://prism//lib/prism/node.rb#4531
sig { returns(Symbol) }
def operator; end
# attr_reader operator_loc: Location
#
- # source://prism//lib/prism/node.rb#4201
+ # source://prism//lib/prism/node.rb#4525
sig { returns(Prism::Location) }
def operator_loc; end
# attr_reader target: ConstantPathNode
#
- # source://prism//lib/prism/node.rb#4198
+ # source://prism//lib/prism/node.rb#4522
sig { returns(Prism::ConstantPathNode) }
def target; end
@@ -5999,12 +6460,12 @@ class Prism::ConstantPathOperatorWriteNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#4283
+ # source://prism//lib/prism/node.rb#4607
def type; end
# attr_reader value: Node
#
- # source://prism//lib/prism/node.rb#4204
+ # source://prism//lib/prism/node.rb#4528
sig { returns(Prism::Node) }
def value; end
@@ -6016,7 +6477,7 @@ class Prism::ConstantPathOperatorWriteNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#4293
+ # source://prism//lib/prism/node.rb#4617
def type; end
end
end
@@ -6026,13 +6487,13 @@ end
# Parent::Child ||= value
# ^^^^^^^^^^^^^^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#4302
+# source://prism//lib/prism/node.rb#4626
class Prism::ConstantPathOrWriteNode < ::Prism::Node
# def initialize: (target: ConstantPathNode, operator_loc: Location, value: Node, location: Location) -> void
#
# @return [ConstantPathOrWriteNode] a new instance of ConstantPathOrWriteNode
#
- # source://prism//lib/prism/node.rb#4313
+ # source://prism//lib/prism/node.rb#4637
sig do
params(
target: Prism::ConstantPathNode,
@@ -6045,42 +6506,42 @@ class Prism::ConstantPathOrWriteNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#4321
+ # source://prism//lib/prism/node.rb#4645
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#4326
+ # source://prism//lib/prism/node.rb#4650
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#4336
+ # source://prism//lib/prism/node.rb#4660
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#4331
+ # source://prism//lib/prism/node.rb#4655
def compact_child_nodes; end
# def copy: (**params) -> ConstantPathOrWriteNode
#
- # source://prism//lib/prism/node.rb#4341
+ # source://prism//lib/prism/node.rb#4665
sig { params(params: T.untyped).returns(Prism::ConstantPathOrWriteNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#4326
+ # source://prism//lib/prism/node.rb#4650
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#4354
+ # source://prism//lib/prism/node.rb#4678
sig do
params(
keys: T::Array[Symbol]
@@ -6090,24 +6551,24 @@ class Prism::ConstantPathOrWriteNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#4364
+ # source://prism//lib/prism/node.rb#4688
def inspect(inspector = T.unsafe(nil)); end
# def operator: () -> String
#
- # source://prism//lib/prism/node.rb#4359
+ # source://prism//lib/prism/node.rb#4683
sig { returns(String) }
def operator; end
# attr_reader operator_loc: Location
#
- # source://prism//lib/prism/node.rb#4307
+ # source://prism//lib/prism/node.rb#4631
sig { returns(Prism::Location) }
def operator_loc; end
# attr_reader target: ConstantPathNode
#
- # source://prism//lib/prism/node.rb#4304
+ # source://prism//lib/prism/node.rb#4628
sig { returns(Prism::ConstantPathNode) }
def target; end
@@ -6126,12 +6587,12 @@ class Prism::ConstantPathOrWriteNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#4388
+ # source://prism//lib/prism/node.rb#4712
def type; end
# attr_reader value: Node
#
- # source://prism//lib/prism/node.rb#4310
+ # source://prism//lib/prism/node.rb#4634
sig { returns(Prism::Node) }
def value; end
@@ -6143,7 +6604,7 @@ class Prism::ConstantPathOrWriteNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#4398
+ # source://prism//lib/prism/node.rb#4722
def type; end
end
end
@@ -6153,13 +6614,13 @@ end
# Foo::Foo, Bar::Bar = baz
# ^^^^^^^^ ^^^^^^^^
#
-# source://prism//lib/prism/node.rb#4407
+# source://prism//lib/prism/node.rb#4731
class Prism::ConstantPathTargetNode < ::Prism::Node
# def initialize: (parent: Node?, child: Node, delimiter_loc: Location, location: Location) -> void
#
# @return [ConstantPathTargetNode] a new instance of ConstantPathTargetNode
#
- # source://prism//lib/prism/node.rb#4418
+ # source://prism//lib/prism/node.rb#4742
sig do
params(
parent: T.nilable(Prism::Node),
@@ -6172,48 +6633,48 @@ class Prism::ConstantPathTargetNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#4426
+ # source://prism//lib/prism/node.rb#4750
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# attr_reader child: Node
#
- # source://prism//lib/prism/node.rb#4412
+ # source://prism//lib/prism/node.rb#4736
sig { returns(Prism::Node) }
def child; end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#4431
+ # source://prism//lib/prism/node.rb#4755
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#4444
+ # source://prism//lib/prism/node.rb#4768
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#4436
+ # source://prism//lib/prism/node.rb#4760
def compact_child_nodes; end
# def copy: (**params) -> ConstantPathTargetNode
#
- # source://prism//lib/prism/node.rb#4449
+ # source://prism//lib/prism/node.rb#4773
sig { params(params: T.untyped).returns(Prism::ConstantPathTargetNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#4431
+ # source://prism//lib/prism/node.rb#4755
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#4462
+ # source://prism//lib/prism/node.rb#4786
sig do
params(
keys: T::Array[Symbol]
@@ -6223,34 +6684,35 @@ class Prism::ConstantPathTargetNode < ::Prism::Node
# def delimiter: () -> String
#
- # source://prism//lib/prism/node.rb#4467
+ # source://prism//lib/prism/node.rb#4791
sig { returns(String) }
def delimiter; end
# attr_reader delimiter_loc: Location
#
- # source://prism//lib/prism/node.rb#4415
+ # source://prism//lib/prism/node.rb#4739
sig { returns(Prism::Location) }
def delimiter_loc; end
# Returns the full name of this constant path. For example: "Foo::Bar"
#
- # source://prism//lib/prism/node_ext.rb#102
+ # source://prism//lib/prism/node_ext.rb#142
def full_name; end
- # Returns the list of parts for the full name of this constant path. For example: [:Foo, :Bar]
+ # Returns the list of parts for the full name of this constant path.
+ # For example: [:Foo, :Bar]
#
- # source://prism//lib/prism/node_ext.rb#97
+ # source://prism//lib/prism/node_ext.rb#137
def full_name_parts; end
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#4472
+ # source://prism//lib/prism/node.rb#4796
def inspect(inspector = T.unsafe(nil)); end
# attr_reader parent: Node?
#
- # source://prism//lib/prism/node.rb#4409
+ # source://prism//lib/prism/node.rb#4733
sig { returns(T.nilable(Prism::Node)) }
def parent; end
@@ -6269,7 +6731,7 @@ class Prism::ConstantPathTargetNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#4500
+ # source://prism//lib/prism/node.rb#4824
def type; end
class << self
@@ -6280,7 +6742,7 @@ class Prism::ConstantPathTargetNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#4510
+ # source://prism//lib/prism/node.rb#4834
def type; end
end
end
@@ -6296,13 +6758,13 @@ end
# ::Foo::Bar = 1
# ^^^^^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#4525
+# source://prism//lib/prism/node.rb#4849
class Prism::ConstantPathWriteNode < ::Prism::Node
# def initialize: (target: ConstantPathNode, operator_loc: Location, value: Node, location: Location) -> void
#
# @return [ConstantPathWriteNode] a new instance of ConstantPathWriteNode
#
- # source://prism//lib/prism/node.rb#4536
+ # source://prism//lib/prism/node.rb#4860
sig do
params(
target: Prism::ConstantPathNode,
@@ -6315,42 +6777,42 @@ class Prism::ConstantPathWriteNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#4544
+ # source://prism//lib/prism/node.rb#4868
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#4549
+ # source://prism//lib/prism/node.rb#4873
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#4559
+ # source://prism//lib/prism/node.rb#4883
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#4554
+ # source://prism//lib/prism/node.rb#4878
def compact_child_nodes; end
# def copy: (**params) -> ConstantPathWriteNode
#
- # source://prism//lib/prism/node.rb#4564
+ # source://prism//lib/prism/node.rb#4888
sig { params(params: T.untyped).returns(Prism::ConstantPathWriteNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#4549
+ # source://prism//lib/prism/node.rb#4873
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#4577
+ # source://prism//lib/prism/node.rb#4901
sig do
params(
keys: T::Array[Symbol]
@@ -6360,24 +6822,24 @@ class Prism::ConstantPathWriteNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#4587
+ # source://prism//lib/prism/node.rb#4911
def inspect(inspector = T.unsafe(nil)); end
# def operator: () -> String
#
- # source://prism//lib/prism/node.rb#4582
+ # source://prism//lib/prism/node.rb#4906
sig { returns(String) }
def operator; end
# attr_reader operator_loc: Location
#
- # source://prism//lib/prism/node.rb#4530
+ # source://prism//lib/prism/node.rb#4854
sig { returns(Prism::Location) }
def operator_loc; end
# attr_reader target: ConstantPathNode
#
- # source://prism//lib/prism/node.rb#4527
+ # source://prism//lib/prism/node.rb#4851
sig { returns(Prism::ConstantPathNode) }
def target; end
@@ -6396,12 +6858,12 @@ class Prism::ConstantPathWriteNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#4611
+ # source://prism//lib/prism/node.rb#4935
def type; end
# attr_reader value: Node
#
- # source://prism//lib/prism/node.rb#4533
+ # source://prism//lib/prism/node.rb#4857
sig { returns(Prism::Node) }
def value; end
@@ -6413,7 +6875,7 @@ class Prism::ConstantPathWriteNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#4621
+ # source://prism//lib/prism/node.rb#4945
def type; end
end
end
@@ -6423,54 +6885,54 @@ end
# Foo
# ^^^
#
-# source://prism//lib/prism/node.rb#4630
+# source://prism//lib/prism/node.rb#4954
class Prism::ConstantReadNode < ::Prism::Node
# def initialize: (name: Symbol, location: Location) -> void
#
# @return [ConstantReadNode] a new instance of ConstantReadNode
#
- # source://prism//lib/prism/node.rb#4635
+ # source://prism//lib/prism/node.rb#4959
sig { params(name: Symbol, location: Prism::Location).void }
def initialize(name, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#4641
+ # source://prism//lib/prism/node.rb#4965
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#4646
+ # source://prism//lib/prism/node.rb#4970
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#4656
+ # source://prism//lib/prism/node.rb#4980
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#4651
+ # source://prism//lib/prism/node.rb#4975
def compact_child_nodes; end
# def copy: (**params) -> ConstantReadNode
#
- # source://prism//lib/prism/node.rb#4661
+ # source://prism//lib/prism/node.rb#4985
sig { params(params: T.untyped).returns(Prism::ConstantReadNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#4646
+ # source://prism//lib/prism/node.rb#4970
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#4672
+ # source://prism//lib/prism/node.rb#4996
sig do
params(
keys: T::Array[Symbol]
@@ -6480,22 +6942,23 @@ class Prism::ConstantReadNode < ::Prism::Node
# Returns the full name of this constant. For example: "Foo"
#
- # source://prism//lib/prism/node_ext.rb#70
+ # source://prism//lib/prism/node_ext.rb#96
def full_name; end
- # Returns the list of parts for the full name of this constant. For example: [:Foo]
+ # Returns the list of parts for the full name of this constant.
+ # For example: [:Foo]
#
- # source://prism//lib/prism/node_ext.rb#65
+ # source://prism//lib/prism/node_ext.rb#91
def full_name_parts; end
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#4677
+ # source://prism//lib/prism/node.rb#5001
def inspect(inspector = T.unsafe(nil)); end
# attr_reader name: Symbol
#
- # source://prism//lib/prism/node.rb#4632
+ # source://prism//lib/prism/node.rb#4956
sig { returns(Symbol) }
def name; end
@@ -6514,7 +6977,7 @@ class Prism::ConstantReadNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#4697
+ # source://prism//lib/prism/node.rb#5021
def type; end
class << self
@@ -6525,7 +6988,7 @@ class Prism::ConstantReadNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#4707
+ # source://prism//lib/prism/node.rb#5031
def type; end
end
end
@@ -6535,54 +6998,54 @@ end
# Foo, Bar = baz
# ^^^ ^^^
#
-# source://prism//lib/prism/node.rb#4716
+# source://prism//lib/prism/node.rb#5040
class Prism::ConstantTargetNode < ::Prism::Node
# def initialize: (name: Symbol, location: Location) -> void
#
# @return [ConstantTargetNode] a new instance of ConstantTargetNode
#
- # source://prism//lib/prism/node.rb#4721
+ # source://prism//lib/prism/node.rb#5045
sig { params(name: Symbol, location: Prism::Location).void }
def initialize(name, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#4727
+ # source://prism//lib/prism/node.rb#5051
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#4732
+ # source://prism//lib/prism/node.rb#5056
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#4742
+ # source://prism//lib/prism/node.rb#5066
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#4737
+ # source://prism//lib/prism/node.rb#5061
def compact_child_nodes; end
# def copy: (**params) -> ConstantTargetNode
#
- # source://prism//lib/prism/node.rb#4747
+ # source://prism//lib/prism/node.rb#5071
sig { params(params: T.untyped).returns(Prism::ConstantTargetNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#4732
+ # source://prism//lib/prism/node.rb#5056
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#4758
+ # source://prism//lib/prism/node.rb#5082
sig do
params(
keys: T::Array[Symbol]
@@ -6592,12 +7055,12 @@ class Prism::ConstantTargetNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#4763
+ # source://prism//lib/prism/node.rb#5087
def inspect(inspector = T.unsafe(nil)); end
# attr_reader name: Symbol
#
- # source://prism//lib/prism/node.rb#4718
+ # source://prism//lib/prism/node.rb#5042
sig { returns(Symbol) }
def name; end
@@ -6616,7 +7079,7 @@ class Prism::ConstantTargetNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#4783
+ # source://prism//lib/prism/node.rb#5107
def type; end
class << self
@@ -6627,7 +7090,7 @@ class Prism::ConstantTargetNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#4793
+ # source://prism//lib/prism/node.rb#5117
def type; end
end
end
@@ -6637,13 +7100,13 @@ end
# Foo = 1
# ^^^^^^^
#
-# source://prism//lib/prism/node.rb#4802
+# source://prism//lib/prism/node.rb#5126
class Prism::ConstantWriteNode < ::Prism::Node
# def initialize: (name: Symbol, name_loc: Location, value: Node, operator_loc: Location, location: Location) -> void
#
# @return [ConstantWriteNode] a new instance of ConstantWriteNode
#
- # source://prism//lib/prism/node.rb#4816
+ # source://prism//lib/prism/node.rb#5140
sig do
params(
name: Symbol,
@@ -6657,42 +7120,42 @@ class Prism::ConstantWriteNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#4825
+ # source://prism//lib/prism/node.rb#5149
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#4830
+ # source://prism//lib/prism/node.rb#5154
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#4840
+ # source://prism//lib/prism/node.rb#5164
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#4835
+ # source://prism//lib/prism/node.rb#5159
def compact_child_nodes; end
# def copy: (**params) -> ConstantWriteNode
#
- # source://prism//lib/prism/node.rb#4845
+ # source://prism//lib/prism/node.rb#5169
sig { params(params: T.untyped).returns(Prism::ConstantWriteNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#4830
+ # source://prism//lib/prism/node.rb#5154
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#4859
+ # source://prism//lib/prism/node.rb#5183
sig do
params(
keys: T::Array[Symbol]
@@ -6702,30 +7165,30 @@ class Prism::ConstantWriteNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#4869
+ # source://prism//lib/prism/node.rb#5193
def inspect(inspector = T.unsafe(nil)); end
# attr_reader name: Symbol
#
- # source://prism//lib/prism/node.rb#4804
+ # source://prism//lib/prism/node.rb#5128
sig { returns(Symbol) }
def name; end
# attr_reader name_loc: Location
#
- # source://prism//lib/prism/node.rb#4807
+ # source://prism//lib/prism/node.rb#5131
sig { returns(Prism::Location) }
def name_loc; end
# def operator: () -> String
#
- # source://prism//lib/prism/node.rb#4864
+ # source://prism//lib/prism/node.rb#5188
sig { returns(String) }
def operator; end
# attr_reader operator_loc: Location
#
- # source://prism//lib/prism/node.rb#4813
+ # source://prism//lib/prism/node.rb#5137
sig { returns(Prism::Location) }
def operator_loc; end
@@ -6744,12 +7207,12 @@ class Prism::ConstantWriteNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#4893
+ # source://prism//lib/prism/node.rb#5217
def type; end
# attr_reader value: Node
#
- # source://prism//lib/prism/node.rb#4810
+ # source://prism//lib/prism/node.rb#5134
sig { returns(Prism::Node) }
def value; end
@@ -6761,21 +7224,12 @@ class Prism::ConstantWriteNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#4903
+ # source://prism//lib/prism/node.rb#5227
def type; end
end
end
-# DATAComment objects correspond to comments that are after the __END__
-# keyword in a source file.
-#
-# source://prism//lib/prism/parse_result.rb#240
-class Prism::DATAComment < ::Prism::Comment
- # Returns a string representation of this comment.
- #
- # source://prism//lib/prism/parse_result.rb#242
- def inspect; end
-end
+class Prism::DATAComment < Prism::Comment; end
# The DSL module provides a set of methods that can be used to create prism
# nodes in a more concise manner. For example, instead of writing:
@@ -6833,12 +7287,12 @@ module Prism::DSL
# Create a new ArgumentsNode node
#
# source://prism//lib/prism/dsl.rb#66
- def ArgumentsNode(arguments, flags, location = T.unsafe(nil)); end
+ def ArgumentsNode(flags, arguments, location = T.unsafe(nil)); end
# Create a new ArrayNode node
#
# source://prism//lib/prism/dsl.rb#71
- def ArrayNode(elements, opening_loc, closing_loc, location = T.unsafe(nil)); end
+ def ArrayNode(flags, elements, opening_loc, closing_loc, location = T.unsafe(nil)); end
# Create a new ArrayPatternNode node
#
@@ -6878,7 +7332,7 @@ module Prism::DSL
# Create a new BlockNode node
#
# source://prism//lib/prism/dsl.rb#111
- def BlockNode(locals, parameters, body, opening_loc, closing_loc, location = T.unsafe(nil)); end
+ def BlockNode(locals, locals_body_index, parameters, body, opening_loc, closing_loc, location = T.unsafe(nil)); end
# Create a new BlockParameterNode node
#
@@ -6898,376 +7352,396 @@ module Prism::DSL
# Create a new CallAndWriteNode node
#
# source://prism//lib/prism/dsl.rb#131
- def CallAndWriteNode(receiver, call_operator_loc, message_loc, flags, read_name, write_name, operator_loc, value, location = T.unsafe(nil)); end
+ def CallAndWriteNode(flags, receiver, call_operator_loc, message_loc, read_name, write_name, operator_loc, value, location = T.unsafe(nil)); end
# Create a new CallNode node
#
# source://prism//lib/prism/dsl.rb#136
- def CallNode(receiver, call_operator_loc, message_loc, opening_loc, arguments, closing_loc, block, flags, name, location = T.unsafe(nil)); end
+ def CallNode(flags, receiver, call_operator_loc, name, message_loc, opening_loc, arguments, closing_loc, block, location = T.unsafe(nil)); end
# Create a new CallOperatorWriteNode node
#
# source://prism//lib/prism/dsl.rb#141
- def CallOperatorWriteNode(receiver, call_operator_loc, message_loc, flags, read_name, write_name, operator, operator_loc, value, location = T.unsafe(nil)); end
+ def CallOperatorWriteNode(flags, receiver, call_operator_loc, message_loc, read_name, write_name, operator, operator_loc, value, location = T.unsafe(nil)); end
# Create a new CallOrWriteNode node
#
# source://prism//lib/prism/dsl.rb#146
- def CallOrWriteNode(receiver, call_operator_loc, message_loc, flags, read_name, write_name, operator_loc, value, location = T.unsafe(nil)); end
+ def CallOrWriteNode(flags, receiver, call_operator_loc, message_loc, read_name, write_name, operator_loc, value, location = T.unsafe(nil)); end
- # Create a new CapturePatternNode node
+ # Create a new CallTargetNode node
#
# source://prism//lib/prism/dsl.rb#151
+ def CallTargetNode(flags, receiver, call_operator_loc, name, message_loc, location = T.unsafe(nil)); end
+
+ # Create a new CapturePatternNode node
+ #
+ # source://prism//lib/prism/dsl.rb#156
def CapturePatternNode(value, target, operator_loc, location = T.unsafe(nil)); end
+ # Create a new CaseMatchNode node
+ #
+ # source://prism//lib/prism/dsl.rb#161
+ def CaseMatchNode(predicate, conditions, consequent, case_keyword_loc, end_keyword_loc, location = T.unsafe(nil)); end
+
# Create a new CaseNode node
#
- # source://prism//lib/prism/dsl.rb#156
+ # source://prism//lib/prism/dsl.rb#166
def CaseNode(predicate, conditions, consequent, case_keyword_loc, end_keyword_loc, location = T.unsafe(nil)); end
# Create a new ClassNode node
#
- # source://prism//lib/prism/dsl.rb#161
+ # source://prism//lib/prism/dsl.rb#171
def ClassNode(locals, class_keyword_loc, constant_path, inheritance_operator_loc, superclass, body, end_keyword_loc, name, location = T.unsafe(nil)); end
# Create a new ClassVariableAndWriteNode node
#
- # source://prism//lib/prism/dsl.rb#166
+ # source://prism//lib/prism/dsl.rb#176
def ClassVariableAndWriteNode(name, name_loc, operator_loc, value, location = T.unsafe(nil)); end
# Create a new ClassVariableOperatorWriteNode node
#
- # source://prism//lib/prism/dsl.rb#171
+ # source://prism//lib/prism/dsl.rb#181
def ClassVariableOperatorWriteNode(name, name_loc, operator_loc, value, operator, location = T.unsafe(nil)); end
# Create a new ClassVariableOrWriteNode node
#
- # source://prism//lib/prism/dsl.rb#176
+ # source://prism//lib/prism/dsl.rb#186
def ClassVariableOrWriteNode(name, name_loc, operator_loc, value, location = T.unsafe(nil)); end
# Create a new ClassVariableReadNode node
#
- # source://prism//lib/prism/dsl.rb#181
+ # source://prism//lib/prism/dsl.rb#191
def ClassVariableReadNode(name, location = T.unsafe(nil)); end
# Create a new ClassVariableTargetNode node
#
- # source://prism//lib/prism/dsl.rb#186
+ # source://prism//lib/prism/dsl.rb#196
def ClassVariableTargetNode(name, location = T.unsafe(nil)); end
# Create a new ClassVariableWriteNode node
#
- # source://prism//lib/prism/dsl.rb#191
+ # source://prism//lib/prism/dsl.rb#201
def ClassVariableWriteNode(name, name_loc, value, operator_loc, location = T.unsafe(nil)); end
# Create a new ConstantAndWriteNode node
#
- # source://prism//lib/prism/dsl.rb#196
+ # source://prism//lib/prism/dsl.rb#206
def ConstantAndWriteNode(name, name_loc, operator_loc, value, location = T.unsafe(nil)); end
# Create a new ConstantOperatorWriteNode node
#
- # source://prism//lib/prism/dsl.rb#201
+ # source://prism//lib/prism/dsl.rb#211
def ConstantOperatorWriteNode(name, name_loc, operator_loc, value, operator, location = T.unsafe(nil)); end
# Create a new ConstantOrWriteNode node
#
- # source://prism//lib/prism/dsl.rb#206
+ # source://prism//lib/prism/dsl.rb#216
def ConstantOrWriteNode(name, name_loc, operator_loc, value, location = T.unsafe(nil)); end
# Create a new ConstantPathAndWriteNode node
#
- # source://prism//lib/prism/dsl.rb#211
+ # source://prism//lib/prism/dsl.rb#221
def ConstantPathAndWriteNode(target, operator_loc, value, location = T.unsafe(nil)); end
# Create a new ConstantPathNode node
#
- # source://prism//lib/prism/dsl.rb#216
+ # source://prism//lib/prism/dsl.rb#226
def ConstantPathNode(parent, child, delimiter_loc, location = T.unsafe(nil)); end
# Create a new ConstantPathOperatorWriteNode node
#
- # source://prism//lib/prism/dsl.rb#221
+ # source://prism//lib/prism/dsl.rb#231
def ConstantPathOperatorWriteNode(target, operator_loc, value, operator, location = T.unsafe(nil)); end
# Create a new ConstantPathOrWriteNode node
#
- # source://prism//lib/prism/dsl.rb#226
+ # source://prism//lib/prism/dsl.rb#236
def ConstantPathOrWriteNode(target, operator_loc, value, location = T.unsafe(nil)); end
# Create a new ConstantPathTargetNode node
#
- # source://prism//lib/prism/dsl.rb#231
+ # source://prism//lib/prism/dsl.rb#241
def ConstantPathTargetNode(parent, child, delimiter_loc, location = T.unsafe(nil)); end
# Create a new ConstantPathWriteNode node
#
- # source://prism//lib/prism/dsl.rb#236
+ # source://prism//lib/prism/dsl.rb#246
def ConstantPathWriteNode(target, operator_loc, value, location = T.unsafe(nil)); end
# Create a new ConstantReadNode node
#
- # source://prism//lib/prism/dsl.rb#241
+ # source://prism//lib/prism/dsl.rb#251
def ConstantReadNode(name, location = T.unsafe(nil)); end
# Create a new ConstantTargetNode node
#
- # source://prism//lib/prism/dsl.rb#246
+ # source://prism//lib/prism/dsl.rb#256
def ConstantTargetNode(name, location = T.unsafe(nil)); end
# Create a new ConstantWriteNode node
#
- # source://prism//lib/prism/dsl.rb#251
+ # source://prism//lib/prism/dsl.rb#261
def ConstantWriteNode(name, name_loc, value, operator_loc, location = T.unsafe(nil)); end
# Create a new DefNode node
#
- # source://prism//lib/prism/dsl.rb#256
- def DefNode(name, name_loc, receiver, parameters, body, locals, def_keyword_loc, operator_loc, lparen_loc, rparen_loc, equal_loc, end_keyword_loc, location = T.unsafe(nil)); end
+ # source://prism//lib/prism/dsl.rb#266
+ def DefNode(name, name_loc, receiver, parameters, body, locals, locals_body_index, def_keyword_loc, operator_loc, lparen_loc, rparen_loc, equal_loc, end_keyword_loc, location = T.unsafe(nil)); end
# Create a new DefinedNode node
#
- # source://prism//lib/prism/dsl.rb#261
+ # source://prism//lib/prism/dsl.rb#271
def DefinedNode(lparen_loc, value, rparen_loc, keyword_loc, location = T.unsafe(nil)); end
# Create a new ElseNode node
#
- # source://prism//lib/prism/dsl.rb#266
+ # source://prism//lib/prism/dsl.rb#276
def ElseNode(else_keyword_loc, statements, end_keyword_loc, location = T.unsafe(nil)); end
# Create a new EmbeddedStatementsNode node
#
- # source://prism//lib/prism/dsl.rb#271
+ # source://prism//lib/prism/dsl.rb#281
def EmbeddedStatementsNode(opening_loc, statements, closing_loc, location = T.unsafe(nil)); end
# Create a new EmbeddedVariableNode node
#
- # source://prism//lib/prism/dsl.rb#276
+ # source://prism//lib/prism/dsl.rb#286
def EmbeddedVariableNode(operator_loc, variable, location = T.unsafe(nil)); end
# Create a new EnsureNode node
#
- # source://prism//lib/prism/dsl.rb#281
+ # source://prism//lib/prism/dsl.rb#291
def EnsureNode(ensure_keyword_loc, statements, end_keyword_loc, location = T.unsafe(nil)); end
# Create a new FalseNode node
#
- # source://prism//lib/prism/dsl.rb#286
+ # source://prism//lib/prism/dsl.rb#296
def FalseNode(location = T.unsafe(nil)); end
# Create a new FindPatternNode node
#
- # source://prism//lib/prism/dsl.rb#291
+ # source://prism//lib/prism/dsl.rb#301
def FindPatternNode(constant, left, requireds, right, opening_loc, closing_loc, location = T.unsafe(nil)); end
# Create a new FlipFlopNode node
#
- # source://prism//lib/prism/dsl.rb#296
- def FlipFlopNode(left, right, operator_loc, flags, location = T.unsafe(nil)); end
+ # source://prism//lib/prism/dsl.rb#306
+ def FlipFlopNode(flags, left, right, operator_loc, location = T.unsafe(nil)); end
# Create a new FloatNode node
#
- # source://prism//lib/prism/dsl.rb#301
+ # source://prism//lib/prism/dsl.rb#311
def FloatNode(location = T.unsafe(nil)); end
# Create a new ForNode node
#
- # source://prism//lib/prism/dsl.rb#306
+ # source://prism//lib/prism/dsl.rb#316
def ForNode(index, collection, statements, for_keyword_loc, in_keyword_loc, do_keyword_loc, end_keyword_loc, location = T.unsafe(nil)); end
# Create a new ForwardingArgumentsNode node
#
- # source://prism//lib/prism/dsl.rb#311
+ # source://prism//lib/prism/dsl.rb#321
def ForwardingArgumentsNode(location = T.unsafe(nil)); end
# Create a new ForwardingParameterNode node
#
- # source://prism//lib/prism/dsl.rb#316
+ # source://prism//lib/prism/dsl.rb#326
def ForwardingParameterNode(location = T.unsafe(nil)); end
# Create a new ForwardingSuperNode node
#
- # source://prism//lib/prism/dsl.rb#321
+ # source://prism//lib/prism/dsl.rb#331
def ForwardingSuperNode(block, location = T.unsafe(nil)); end
# Create a new GlobalVariableAndWriteNode node
#
- # source://prism//lib/prism/dsl.rb#326
+ # source://prism//lib/prism/dsl.rb#336
def GlobalVariableAndWriteNode(name, name_loc, operator_loc, value, location = T.unsafe(nil)); end
# Create a new GlobalVariableOperatorWriteNode node
#
- # source://prism//lib/prism/dsl.rb#331
+ # source://prism//lib/prism/dsl.rb#341
def GlobalVariableOperatorWriteNode(name, name_loc, operator_loc, value, operator, location = T.unsafe(nil)); end
# Create a new GlobalVariableOrWriteNode node
#
- # source://prism//lib/prism/dsl.rb#336
+ # source://prism//lib/prism/dsl.rb#346
def GlobalVariableOrWriteNode(name, name_loc, operator_loc, value, location = T.unsafe(nil)); end
# Create a new GlobalVariableReadNode node
#
- # source://prism//lib/prism/dsl.rb#341
+ # source://prism//lib/prism/dsl.rb#351
def GlobalVariableReadNode(name, location = T.unsafe(nil)); end
# Create a new GlobalVariableTargetNode node
#
- # source://prism//lib/prism/dsl.rb#346
+ # source://prism//lib/prism/dsl.rb#356
def GlobalVariableTargetNode(name, location = T.unsafe(nil)); end
# Create a new GlobalVariableWriteNode node
#
- # source://prism//lib/prism/dsl.rb#351
+ # source://prism//lib/prism/dsl.rb#361
def GlobalVariableWriteNode(name, name_loc, value, operator_loc, location = T.unsafe(nil)); end
# Create a new HashNode node
#
- # source://prism//lib/prism/dsl.rb#356
+ # source://prism//lib/prism/dsl.rb#366
def HashNode(opening_loc, elements, closing_loc, location = T.unsafe(nil)); end
# Create a new HashPatternNode node
#
- # source://prism//lib/prism/dsl.rb#361
+ # source://prism//lib/prism/dsl.rb#371
def HashPatternNode(constant, elements, rest, opening_loc, closing_loc, location = T.unsafe(nil)); end
# Create a new IfNode node
#
- # source://prism//lib/prism/dsl.rb#366
- def IfNode(if_keyword_loc, predicate, statements, consequent, end_keyword_loc, location = T.unsafe(nil)); end
+ # source://prism//lib/prism/dsl.rb#376
+ def IfNode(if_keyword_loc, predicate, then_keyword_loc, statements, consequent, end_keyword_loc, location = T.unsafe(nil)); end
# Create a new ImaginaryNode node
#
- # source://prism//lib/prism/dsl.rb#371
+ # source://prism//lib/prism/dsl.rb#381
def ImaginaryNode(numeric, location = T.unsafe(nil)); end
# Create a new ImplicitNode node
#
- # source://prism//lib/prism/dsl.rb#376
+ # source://prism//lib/prism/dsl.rb#386
def ImplicitNode(value, location = T.unsafe(nil)); end
+ # Create a new ImplicitRestNode node
+ #
+ # source://prism//lib/prism/dsl.rb#391
+ def ImplicitRestNode(location = T.unsafe(nil)); end
+
# Create a new InNode node
#
- # source://prism//lib/prism/dsl.rb#381
+ # source://prism//lib/prism/dsl.rb#396
def InNode(pattern, statements, in_loc, then_loc, location = T.unsafe(nil)); end
# Create a new IndexAndWriteNode node
#
- # source://prism//lib/prism/dsl.rb#386
- def IndexAndWriteNode(receiver, call_operator_loc, opening_loc, arguments, closing_loc, block, flags, operator_loc, value, location = T.unsafe(nil)); end
+ # source://prism//lib/prism/dsl.rb#401
+ def IndexAndWriteNode(flags, receiver, call_operator_loc, opening_loc, arguments, closing_loc, block, operator_loc, value, location = T.unsafe(nil)); end
# Create a new IndexOperatorWriteNode node
#
- # source://prism//lib/prism/dsl.rb#391
- def IndexOperatorWriteNode(receiver, call_operator_loc, opening_loc, arguments, closing_loc, block, flags, operator, operator_loc, value, location = T.unsafe(nil)); end
+ # source://prism//lib/prism/dsl.rb#406
+ def IndexOperatorWriteNode(flags, receiver, call_operator_loc, opening_loc, arguments, closing_loc, block, operator, operator_loc, value, location = T.unsafe(nil)); end
# Create a new IndexOrWriteNode node
#
- # source://prism//lib/prism/dsl.rb#396
- def IndexOrWriteNode(receiver, call_operator_loc, opening_loc, arguments, closing_loc, block, flags, operator_loc, value, location = T.unsafe(nil)); end
+ # source://prism//lib/prism/dsl.rb#411
+ def IndexOrWriteNode(flags, receiver, call_operator_loc, opening_loc, arguments, closing_loc, block, operator_loc, value, location = T.unsafe(nil)); end
+
+ # Create a new IndexTargetNode node
+ #
+ # source://prism//lib/prism/dsl.rb#416
+ def IndexTargetNode(flags, receiver, opening_loc, arguments, closing_loc, block, location = T.unsafe(nil)); end
# Create a new InstanceVariableAndWriteNode node
#
- # source://prism//lib/prism/dsl.rb#401
+ # source://prism//lib/prism/dsl.rb#421
def InstanceVariableAndWriteNode(name, name_loc, operator_loc, value, location = T.unsafe(nil)); end
# Create a new InstanceVariableOperatorWriteNode node
#
- # source://prism//lib/prism/dsl.rb#406
+ # source://prism//lib/prism/dsl.rb#426
def InstanceVariableOperatorWriteNode(name, name_loc, operator_loc, value, operator, location = T.unsafe(nil)); end
# Create a new InstanceVariableOrWriteNode node
#
- # source://prism//lib/prism/dsl.rb#411
+ # source://prism//lib/prism/dsl.rb#431
def InstanceVariableOrWriteNode(name, name_loc, operator_loc, value, location = T.unsafe(nil)); end
# Create a new InstanceVariableReadNode node
#
- # source://prism//lib/prism/dsl.rb#416
+ # source://prism//lib/prism/dsl.rb#436
def InstanceVariableReadNode(name, location = T.unsafe(nil)); end
# Create a new InstanceVariableTargetNode node
#
- # source://prism//lib/prism/dsl.rb#421
+ # source://prism//lib/prism/dsl.rb#441
def InstanceVariableTargetNode(name, location = T.unsafe(nil)); end
# Create a new InstanceVariableWriteNode node
#
- # source://prism//lib/prism/dsl.rb#426
+ # source://prism//lib/prism/dsl.rb#446
def InstanceVariableWriteNode(name, name_loc, value, operator_loc, location = T.unsafe(nil)); end
# Create a new IntegerNode node
#
- # source://prism//lib/prism/dsl.rb#431
+ # source://prism//lib/prism/dsl.rb#451
def IntegerNode(flags, location = T.unsafe(nil)); end
# Create a new InterpolatedMatchLastLineNode node
#
- # source://prism//lib/prism/dsl.rb#436
- def InterpolatedMatchLastLineNode(opening_loc, parts, closing_loc, flags, location = T.unsafe(nil)); end
+ # source://prism//lib/prism/dsl.rb#456
+ def InterpolatedMatchLastLineNode(flags, opening_loc, parts, closing_loc, location = T.unsafe(nil)); end
# Create a new InterpolatedRegularExpressionNode node
#
- # source://prism//lib/prism/dsl.rb#441
- def InterpolatedRegularExpressionNode(opening_loc, parts, closing_loc, flags, location = T.unsafe(nil)); end
+ # source://prism//lib/prism/dsl.rb#461
+ def InterpolatedRegularExpressionNode(flags, opening_loc, parts, closing_loc, location = T.unsafe(nil)); end
# Create a new InterpolatedStringNode node
#
- # source://prism//lib/prism/dsl.rb#446
+ # source://prism//lib/prism/dsl.rb#466
def InterpolatedStringNode(opening_loc, parts, closing_loc, location = T.unsafe(nil)); end
# Create a new InterpolatedSymbolNode node
#
- # source://prism//lib/prism/dsl.rb#451
+ # source://prism//lib/prism/dsl.rb#471
def InterpolatedSymbolNode(opening_loc, parts, closing_loc, location = T.unsafe(nil)); end
# Create a new InterpolatedXStringNode node
#
- # source://prism//lib/prism/dsl.rb#456
+ # source://prism//lib/prism/dsl.rb#476
def InterpolatedXStringNode(opening_loc, parts, closing_loc, location = T.unsafe(nil)); end
# Create a new KeywordHashNode node
#
- # source://prism//lib/prism/dsl.rb#461
- def KeywordHashNode(elements, location = T.unsafe(nil)); end
+ # source://prism//lib/prism/dsl.rb#481
+ def KeywordHashNode(flags, elements, location = T.unsafe(nil)); end
# Create a new KeywordRestParameterNode node
#
- # source://prism//lib/prism/dsl.rb#466
+ # source://prism//lib/prism/dsl.rb#486
def KeywordRestParameterNode(name, name_loc, operator_loc, location = T.unsafe(nil)); end
# Create a new LambdaNode node
#
- # source://prism//lib/prism/dsl.rb#471
- def LambdaNode(locals, operator_loc, opening_loc, closing_loc, parameters, body, location = T.unsafe(nil)); end
+ # source://prism//lib/prism/dsl.rb#491
+ def LambdaNode(locals, locals_body_index, operator_loc, opening_loc, closing_loc, parameters, body, location = T.unsafe(nil)); end
# Create a new LocalVariableAndWriteNode node
#
- # source://prism//lib/prism/dsl.rb#476
+ # source://prism//lib/prism/dsl.rb#496
def LocalVariableAndWriteNode(name_loc, operator_loc, value, name, depth, location = T.unsafe(nil)); end
# Create a new LocalVariableOperatorWriteNode node
#
- # source://prism//lib/prism/dsl.rb#481
+ # source://prism//lib/prism/dsl.rb#501
def LocalVariableOperatorWriteNode(name_loc, operator_loc, value, name, operator, depth, location = T.unsafe(nil)); end
# Create a new LocalVariableOrWriteNode node
#
- # source://prism//lib/prism/dsl.rb#486
+ # source://prism//lib/prism/dsl.rb#506
def LocalVariableOrWriteNode(name_loc, operator_loc, value, name, depth, location = T.unsafe(nil)); end
# Create a new LocalVariableReadNode node
#
- # source://prism//lib/prism/dsl.rb#491
+ # source://prism//lib/prism/dsl.rb#511
def LocalVariableReadNode(name, depth, location = T.unsafe(nil)); end
# Create a new LocalVariableTargetNode node
#
- # source://prism//lib/prism/dsl.rb#496
+ # source://prism//lib/prism/dsl.rb#516
def LocalVariableTargetNode(name, depth, location = T.unsafe(nil)); end
# Create a new LocalVariableWriteNode node
#
- # source://prism//lib/prism/dsl.rb#501
+ # source://prism//lib/prism/dsl.rb#521
def LocalVariableWriteNode(name, depth, name_loc, value, operator_loc, location = T.unsafe(nil)); end
# Create a new Location object
@@ -7277,262 +7751,262 @@ module Prism::DSL
# Create a new MatchLastLineNode node
#
- # source://prism//lib/prism/dsl.rb#506
- def MatchLastLineNode(opening_loc, content_loc, closing_loc, unescaped, flags, location = T.unsafe(nil)); end
+ # source://prism//lib/prism/dsl.rb#526
+ def MatchLastLineNode(flags, opening_loc, content_loc, closing_loc, unescaped, location = T.unsafe(nil)); end
# Create a new MatchPredicateNode node
#
- # source://prism//lib/prism/dsl.rb#511
+ # source://prism//lib/prism/dsl.rb#531
def MatchPredicateNode(value, pattern, operator_loc, location = T.unsafe(nil)); end
# Create a new MatchRequiredNode node
#
- # source://prism//lib/prism/dsl.rb#516
+ # source://prism//lib/prism/dsl.rb#536
def MatchRequiredNode(value, pattern, operator_loc, location = T.unsafe(nil)); end
# Create a new MatchWriteNode node
#
- # source://prism//lib/prism/dsl.rb#521
- def MatchWriteNode(call, locals, location = T.unsafe(nil)); end
+ # source://prism//lib/prism/dsl.rb#541
+ def MatchWriteNode(call, targets, location = T.unsafe(nil)); end
# Create a new MissingNode node
#
- # source://prism//lib/prism/dsl.rb#526
+ # source://prism//lib/prism/dsl.rb#546
def MissingNode(location = T.unsafe(nil)); end
# Create a new ModuleNode node
#
- # source://prism//lib/prism/dsl.rb#531
+ # source://prism//lib/prism/dsl.rb#551
def ModuleNode(locals, module_keyword_loc, constant_path, body, end_keyword_loc, name, location = T.unsafe(nil)); end
# Create a new MultiTargetNode node
#
- # source://prism//lib/prism/dsl.rb#536
+ # source://prism//lib/prism/dsl.rb#556
def MultiTargetNode(lefts, rest, rights, lparen_loc, rparen_loc, location = T.unsafe(nil)); end
# Create a new MultiWriteNode node
#
- # source://prism//lib/prism/dsl.rb#541
+ # source://prism//lib/prism/dsl.rb#561
def MultiWriteNode(lefts, rest, rights, lparen_loc, rparen_loc, operator_loc, value, location = T.unsafe(nil)); end
# Create a new NextNode node
#
- # source://prism//lib/prism/dsl.rb#546
+ # source://prism//lib/prism/dsl.rb#566
def NextNode(arguments, keyword_loc, location = T.unsafe(nil)); end
# Create a new NilNode node
#
- # source://prism//lib/prism/dsl.rb#551
+ # source://prism//lib/prism/dsl.rb#571
def NilNode(location = T.unsafe(nil)); end
# Create a new NoKeywordsParameterNode node
#
- # source://prism//lib/prism/dsl.rb#556
+ # source://prism//lib/prism/dsl.rb#576
def NoKeywordsParameterNode(operator_loc, keyword_loc, location = T.unsafe(nil)); end
+ # Create a new NumberedParametersNode node
+ #
+ # source://prism//lib/prism/dsl.rb#581
+ def NumberedParametersNode(maximum, location = T.unsafe(nil)); end
+
# Create a new NumberedReferenceReadNode node
#
- # source://prism//lib/prism/dsl.rb#561
+ # source://prism//lib/prism/dsl.rb#586
def NumberedReferenceReadNode(number, location = T.unsafe(nil)); end
# Create a new OptionalKeywordParameterNode node
#
- # source://prism//lib/prism/dsl.rb#566
+ # source://prism//lib/prism/dsl.rb#591
def OptionalKeywordParameterNode(name, name_loc, value, location = T.unsafe(nil)); end
# Create a new OptionalParameterNode node
#
- # source://prism//lib/prism/dsl.rb#571
+ # source://prism//lib/prism/dsl.rb#596
def OptionalParameterNode(name, name_loc, operator_loc, value, location = T.unsafe(nil)); end
# Create a new OrNode node
#
- # source://prism//lib/prism/dsl.rb#576
+ # source://prism//lib/prism/dsl.rb#601
def OrNode(left, right, operator_loc, location = T.unsafe(nil)); end
# Create a new ParametersNode node
#
- # source://prism//lib/prism/dsl.rb#581
+ # source://prism//lib/prism/dsl.rb#606
def ParametersNode(requireds, optionals, rest, posts, keywords, keyword_rest, block, location = T.unsafe(nil)); end
# Create a new ParenthesesNode node
#
- # source://prism//lib/prism/dsl.rb#586
+ # source://prism//lib/prism/dsl.rb#611
def ParenthesesNode(body, opening_loc, closing_loc, location = T.unsafe(nil)); end
# Create a new PinnedExpressionNode node
#
- # source://prism//lib/prism/dsl.rb#591
+ # source://prism//lib/prism/dsl.rb#616
def PinnedExpressionNode(expression, operator_loc, lparen_loc, rparen_loc, location = T.unsafe(nil)); end
# Create a new PinnedVariableNode node
#
- # source://prism//lib/prism/dsl.rb#596
+ # source://prism//lib/prism/dsl.rb#621
def PinnedVariableNode(variable, operator_loc, location = T.unsafe(nil)); end
# Create a new PostExecutionNode node
#
- # source://prism//lib/prism/dsl.rb#601
+ # source://prism//lib/prism/dsl.rb#626
def PostExecutionNode(statements, keyword_loc, opening_loc, closing_loc, location = T.unsafe(nil)); end
# Create a new PreExecutionNode node
#
- # source://prism//lib/prism/dsl.rb#606
+ # source://prism//lib/prism/dsl.rb#631
def PreExecutionNode(statements, keyword_loc, opening_loc, closing_loc, location = T.unsafe(nil)); end
# Create a new ProgramNode node
#
- # source://prism//lib/prism/dsl.rb#611
+ # source://prism//lib/prism/dsl.rb#636
def ProgramNode(locals, statements, location = T.unsafe(nil)); end
# Create a new RangeNode node
#
- # source://prism//lib/prism/dsl.rb#616
- def RangeNode(left, right, operator_loc, flags, location = T.unsafe(nil)); end
+ # source://prism//lib/prism/dsl.rb#641
+ def RangeNode(flags, left, right, operator_loc, location = T.unsafe(nil)); end
# Create a new RationalNode node
#
- # source://prism//lib/prism/dsl.rb#621
+ # source://prism//lib/prism/dsl.rb#646
def RationalNode(numeric, location = T.unsafe(nil)); end
# Create a new RedoNode node
#
- # source://prism//lib/prism/dsl.rb#626
+ # source://prism//lib/prism/dsl.rb#651
def RedoNode(location = T.unsafe(nil)); end
# Create a new RegularExpressionNode node
#
- # source://prism//lib/prism/dsl.rb#631
- def RegularExpressionNode(opening_loc, content_loc, closing_loc, unescaped, flags, location = T.unsafe(nil)); end
+ # source://prism//lib/prism/dsl.rb#656
+ def RegularExpressionNode(flags, opening_loc, content_loc, closing_loc, unescaped, location = T.unsafe(nil)); end
# Create a new RequiredKeywordParameterNode node
#
- # source://prism//lib/prism/dsl.rb#636
+ # source://prism//lib/prism/dsl.rb#661
def RequiredKeywordParameterNode(name, name_loc, location = T.unsafe(nil)); end
# Create a new RequiredParameterNode node
#
- # source://prism//lib/prism/dsl.rb#641
+ # source://prism//lib/prism/dsl.rb#666
def RequiredParameterNode(name, location = T.unsafe(nil)); end
# Create a new RescueModifierNode node
#
- # source://prism//lib/prism/dsl.rb#646
+ # source://prism//lib/prism/dsl.rb#671
def RescueModifierNode(expression, keyword_loc, rescue_expression, location = T.unsafe(nil)); end
# Create a new RescueNode node
#
- # source://prism//lib/prism/dsl.rb#651
+ # source://prism//lib/prism/dsl.rb#676
def RescueNode(keyword_loc, exceptions, operator_loc, reference, statements, consequent, location = T.unsafe(nil)); end
# Create a new RestParameterNode node
#
- # source://prism//lib/prism/dsl.rb#656
+ # source://prism//lib/prism/dsl.rb#681
def RestParameterNode(name, name_loc, operator_loc, location = T.unsafe(nil)); end
# Create a new RetryNode node
#
- # source://prism//lib/prism/dsl.rb#661
+ # source://prism//lib/prism/dsl.rb#686
def RetryNode(location = T.unsafe(nil)); end
# Create a new ReturnNode node
#
- # source://prism//lib/prism/dsl.rb#666
+ # source://prism//lib/prism/dsl.rb#691
def ReturnNode(keyword_loc, arguments, location = T.unsafe(nil)); end
# Create a new SelfNode node
#
- # source://prism//lib/prism/dsl.rb#671
+ # source://prism//lib/prism/dsl.rb#696
def SelfNode(location = T.unsafe(nil)); end
# Create a new SingletonClassNode node
#
- # source://prism//lib/prism/dsl.rb#676
+ # source://prism//lib/prism/dsl.rb#701
def SingletonClassNode(locals, class_keyword_loc, operator_loc, expression, body, end_keyword_loc, location = T.unsafe(nil)); end
# Create a new SourceEncodingNode node
#
- # source://prism//lib/prism/dsl.rb#681
+ # source://prism//lib/prism/dsl.rb#706
def SourceEncodingNode(location = T.unsafe(nil)); end
# Create a new SourceFileNode node
#
- # source://prism//lib/prism/dsl.rb#686
+ # source://prism//lib/prism/dsl.rb#711
def SourceFileNode(filepath, location = T.unsafe(nil)); end
# Create a new SourceLineNode node
#
- # source://prism//lib/prism/dsl.rb#691
+ # source://prism//lib/prism/dsl.rb#716
def SourceLineNode(location = T.unsafe(nil)); end
# Create a new SplatNode node
#
- # source://prism//lib/prism/dsl.rb#696
+ # source://prism//lib/prism/dsl.rb#721
def SplatNode(operator_loc, expression, location = T.unsafe(nil)); end
# Create a new StatementsNode node
#
- # source://prism//lib/prism/dsl.rb#701
+ # source://prism//lib/prism/dsl.rb#726
def StatementsNode(body, location = T.unsafe(nil)); end
- # Create a new StringConcatNode node
- #
- # source://prism//lib/prism/dsl.rb#706
- def StringConcatNode(left, right, location = T.unsafe(nil)); end
-
# Create a new StringNode node
#
- # source://prism//lib/prism/dsl.rb#711
+ # source://prism//lib/prism/dsl.rb#731
def StringNode(flags, opening_loc, content_loc, closing_loc, unescaped, location = T.unsafe(nil)); end
# Create a new SuperNode node
#
- # source://prism//lib/prism/dsl.rb#716
+ # source://prism//lib/prism/dsl.rb#736
def SuperNode(keyword_loc, lparen_loc, arguments, rparen_loc, block, location = T.unsafe(nil)); end
# Create a new SymbolNode node
#
- # source://prism//lib/prism/dsl.rb#721
- def SymbolNode(opening_loc, value_loc, closing_loc, unescaped, location = T.unsafe(nil)); end
+ # source://prism//lib/prism/dsl.rb#741
+ def SymbolNode(flags, opening_loc, value_loc, closing_loc, unescaped, location = T.unsafe(nil)); end
# Create a new TrueNode node
#
- # source://prism//lib/prism/dsl.rb#726
+ # source://prism//lib/prism/dsl.rb#746
def TrueNode(location = T.unsafe(nil)); end
# Create a new UndefNode node
#
- # source://prism//lib/prism/dsl.rb#731
+ # source://prism//lib/prism/dsl.rb#751
def UndefNode(names, keyword_loc, location = T.unsafe(nil)); end
# Create a new UnlessNode node
#
- # source://prism//lib/prism/dsl.rb#736
- def UnlessNode(keyword_loc, predicate, statements, consequent, end_keyword_loc, location = T.unsafe(nil)); end
+ # source://prism//lib/prism/dsl.rb#756
+ def UnlessNode(keyword_loc, predicate, then_keyword_loc, statements, consequent, end_keyword_loc, location = T.unsafe(nil)); end
# Create a new UntilNode node
#
- # source://prism//lib/prism/dsl.rb#741
- def UntilNode(keyword_loc, closing_loc, predicate, statements, flags, location = T.unsafe(nil)); end
+ # source://prism//lib/prism/dsl.rb#761
+ def UntilNode(flags, keyword_loc, closing_loc, predicate, statements, location = T.unsafe(nil)); end
# Create a new WhenNode node
#
- # source://prism//lib/prism/dsl.rb#746
+ # source://prism//lib/prism/dsl.rb#766
def WhenNode(keyword_loc, conditions, statements, location = T.unsafe(nil)); end
# Create a new WhileNode node
#
- # source://prism//lib/prism/dsl.rb#751
- def WhileNode(keyword_loc, closing_loc, predicate, statements, flags, location = T.unsafe(nil)); end
+ # source://prism//lib/prism/dsl.rb#771
+ def WhileNode(flags, keyword_loc, closing_loc, predicate, statements, location = T.unsafe(nil)); end
# Create a new XStringNode node
#
- # source://prism//lib/prism/dsl.rb#756
- def XStringNode(opening_loc, content_loc, closing_loc, unescaped, location = T.unsafe(nil)); end
+ # source://prism//lib/prism/dsl.rb#776
+ def XStringNode(flags, opening_loc, content_loc, closing_loc, unescaped, location = T.unsafe(nil)); end
# Create a new YieldNode node
#
- # source://prism//lib/prism/dsl.rb#761
+ # source://prism//lib/prism/dsl.rb#781
def YieldNode(keyword_loc, lparen_loc, arguments, rparen_loc, location = T.unsafe(nil)); end
end
@@ -7561,7 +8035,7 @@ module Prism::Debug
# For the given source string, return the byte offsets of every newline in
# the source.
#
- # source://prism//lib/prism/debug.rb#187
+ # source://prism//lib/prism/debug.rb#196
def newlines(source); end
# :call-seq:
@@ -7617,13 +8091,13 @@ end
# end
# ^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#4913
+# source://prism//lib/prism/node.rb#5237
class Prism::DefNode < ::Prism::Node
- # def initialize: (name: Symbol, name_loc: Location, receiver: Node?, parameters: ParametersNode?, body: Node?, locals: Array[Symbol], def_keyword_loc: Location, operator_loc: Location?, lparen_loc: Location?, rparen_loc: Location?, equal_loc: Location?, end_keyword_loc: Location?, location: Location) -> void
+ # def initialize: (name: Symbol, name_loc: Location, receiver: Node?, parameters: ParametersNode?, body: Node?, locals: Array[Symbol], locals_body_index: Integer, def_keyword_loc: Location, operator_loc: Location?, lparen_loc: Location?, rparen_loc: Location?, equal_loc: Location?, end_keyword_loc: Location?, location: Location) -> void
#
# @return [DefNode] a new instance of DefNode
#
- # source://prism//lib/prism/node.rb#4951
+ # source://prism//lib/prism/node.rb#5278
sig do
params(
name: Symbol,
@@ -7632,6 +8106,7 @@ class Prism::DefNode < ::Prism::Node
parameters: T.nilable(Prism::ParametersNode),
body: T.nilable(Prism::Node),
locals: T::Array[Symbol],
+ locals_body_index: Integer,
def_keyword_loc: Prism::Location,
operator_loc: T.nilable(Prism::Location),
lparen_loc: T.nilable(Prism::Location),
@@ -7641,52 +8116,52 @@ class Prism::DefNode < ::Prism::Node
location: Prism::Location
).void
end
- def initialize(name, name_loc, receiver, parameters, body, locals, def_keyword_loc, operator_loc, lparen_loc, rparen_loc, equal_loc, end_keyword_loc, location); end
+ def initialize(name, name_loc, receiver, parameters, body, locals, locals_body_index, def_keyword_loc, operator_loc, lparen_loc, rparen_loc, equal_loc, end_keyword_loc, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#4968
+ # source://prism//lib/prism/node.rb#5296
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# attr_reader body: Node?
#
- # source://prism//lib/prism/node.rb#4927
+ # source://prism//lib/prism/node.rb#5251
sig { returns(T.nilable(Prism::Node)) }
def body; end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#4973
+ # source://prism//lib/prism/node.rb#5301
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#4987
+ # source://prism//lib/prism/node.rb#5315
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#4978
+ # source://prism//lib/prism/node.rb#5306
def compact_child_nodes; end
# def copy: (**params) -> DefNode
#
- # source://prism//lib/prism/node.rb#4992
+ # source://prism//lib/prism/node.rb#5320
sig { params(params: T.untyped).returns(Prism::DefNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#4973
+ # source://prism//lib/prism/node.rb#5301
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#5014
+ # source://prism//lib/prism/node.rb#5343
sig do
params(
keys: T::Array[Symbol]
@@ -7696,108 +8171,114 @@ class Prism::DefNode < ::Prism::Node
# def def_keyword: () -> String
#
- # source://prism//lib/prism/node.rb#5019
+ # source://prism//lib/prism/node.rb#5348
sig { returns(String) }
def def_keyword; end
# attr_reader def_keyword_loc: Location
#
- # source://prism//lib/prism/node.rb#4933
+ # source://prism//lib/prism/node.rb#5260
sig { returns(Prism::Location) }
def def_keyword_loc; end
# def end_keyword: () -> String?
#
- # source://prism//lib/prism/node.rb#5044
+ # source://prism//lib/prism/node.rb#5373
sig { returns(T.nilable(String)) }
def end_keyword; end
# attr_reader end_keyword_loc: Location?
#
- # source://prism//lib/prism/node.rb#4948
+ # source://prism//lib/prism/node.rb#5275
sig { returns(T.nilable(Prism::Location)) }
def end_keyword_loc; end
# def equal: () -> String?
#
- # source://prism//lib/prism/node.rb#5039
+ # source://prism//lib/prism/node.rb#5368
sig { returns(T.nilable(String)) }
def equal; end
# attr_reader equal_loc: Location?
#
- # source://prism//lib/prism/node.rb#4945
+ # source://prism//lib/prism/node.rb#5272
sig { returns(T.nilable(Prism::Location)) }
def equal_loc; end
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#5049
+ # source://prism//lib/prism/node.rb#5378
def inspect(inspector = T.unsafe(nil)); end
# attr_reader locals: Array[Symbol]
#
- # source://prism//lib/prism/node.rb#4930
+ # source://prism//lib/prism/node.rb#5254
sig { returns(T::Array[Symbol]) }
def locals; end
+ # attr_reader locals_body_index: Integer
+ #
+ # source://prism//lib/prism/node.rb#5257
+ sig { returns(Integer) }
+ def locals_body_index; end
+
# def lparen: () -> String?
#
- # source://prism//lib/prism/node.rb#5029
+ # source://prism//lib/prism/node.rb#5358
sig { returns(T.nilable(String)) }
def lparen; end
# attr_reader lparen_loc: Location?
#
- # source://prism//lib/prism/node.rb#4939
+ # source://prism//lib/prism/node.rb#5266
sig { returns(T.nilable(Prism::Location)) }
def lparen_loc; end
# attr_reader name: Symbol
#
- # source://prism//lib/prism/node.rb#4915
+ # source://prism//lib/prism/node.rb#5239
sig { returns(Symbol) }
def name; end
# attr_reader name_loc: Location
#
- # source://prism//lib/prism/node.rb#4918
+ # source://prism//lib/prism/node.rb#5242
sig { returns(Prism::Location) }
def name_loc; end
# def operator: () -> String?
#
- # source://prism//lib/prism/node.rb#5024
+ # source://prism//lib/prism/node.rb#5353
sig { returns(T.nilable(String)) }
def operator; end
# attr_reader operator_loc: Location?
#
- # source://prism//lib/prism/node.rb#4936
+ # source://prism//lib/prism/node.rb#5263
sig { returns(T.nilable(Prism::Location)) }
def operator_loc; end
# attr_reader parameters: ParametersNode?
#
- # source://prism//lib/prism/node.rb#4924
+ # source://prism//lib/prism/node.rb#5248
sig { returns(T.nilable(Prism::ParametersNode)) }
def parameters; end
# attr_reader receiver: Node?
#
- # source://prism//lib/prism/node.rb#4921
+ # source://prism//lib/prism/node.rb#5245
sig { returns(T.nilable(Prism::Node)) }
def receiver; end
# def rparen: () -> String?
#
- # source://prism//lib/prism/node.rb#5034
+ # source://prism//lib/prism/node.rb#5363
sig { returns(T.nilable(String)) }
def rparen; end
# attr_reader rparen_loc: Location?
#
- # source://prism//lib/prism/node.rb#4942
+ # source://prism//lib/prism/node.rb#5269
sig { returns(T.nilable(Prism::Location)) }
def rparen_loc; end
@@ -7816,7 +8297,7 @@ class Prism::DefNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#5095
+ # source://prism//lib/prism/node.rb#5425
def type; end
class << self
@@ -7827,7 +8308,7 @@ class Prism::DefNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#5105
+ # source://prism//lib/prism/node.rb#5435
def type; end
end
end
@@ -7837,13 +8318,13 @@ end
# defined?(a)
# ^^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#5114
+# source://prism//lib/prism/node.rb#5444
class Prism::DefinedNode < ::Prism::Node
# def initialize: (lparen_loc: Location?, value: Node, rparen_loc: Location?, keyword_loc: Location, location: Location) -> void
#
# @return [DefinedNode] a new instance of DefinedNode
#
- # source://prism//lib/prism/node.rb#5128
+ # source://prism//lib/prism/node.rb#5458
sig do
params(
lparen_loc: T.nilable(Prism::Location),
@@ -7857,42 +8338,42 @@ class Prism::DefinedNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#5137
+ # source://prism//lib/prism/node.rb#5467
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#5142
+ # source://prism//lib/prism/node.rb#5472
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#5152
+ # source://prism//lib/prism/node.rb#5482
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#5147
+ # source://prism//lib/prism/node.rb#5477
def compact_child_nodes; end
# def copy: (**params) -> DefinedNode
#
- # source://prism//lib/prism/node.rb#5157
+ # source://prism//lib/prism/node.rb#5487
sig { params(params: T.untyped).returns(Prism::DefinedNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#5142
+ # source://prism//lib/prism/node.rb#5472
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#5171
+ # source://prism//lib/prism/node.rb#5501
sig do
params(
keys: T::Array[Symbol]
@@ -7902,42 +8383,42 @@ class Prism::DefinedNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#5191
+ # source://prism//lib/prism/node.rb#5521
def inspect(inspector = T.unsafe(nil)); end
# def keyword: () -> String
#
- # source://prism//lib/prism/node.rb#5186
+ # source://prism//lib/prism/node.rb#5516
sig { returns(String) }
def keyword; end
# attr_reader keyword_loc: Location
#
- # source://prism//lib/prism/node.rb#5125
+ # source://prism//lib/prism/node.rb#5455
sig { returns(Prism::Location) }
def keyword_loc; end
# def lparen: () -> String?
#
- # source://prism//lib/prism/node.rb#5176
+ # source://prism//lib/prism/node.rb#5506
sig { returns(T.nilable(String)) }
def lparen; end
# attr_reader lparen_loc: Location?
#
- # source://prism//lib/prism/node.rb#5116
+ # source://prism//lib/prism/node.rb#5446
sig { returns(T.nilable(Prism::Location)) }
def lparen_loc; end
# def rparen: () -> String?
#
- # source://prism//lib/prism/node.rb#5181
+ # source://prism//lib/prism/node.rb#5511
sig { returns(T.nilable(String)) }
def rparen; end
# attr_reader rparen_loc: Location?
#
- # source://prism//lib/prism/node.rb#5122
+ # source://prism//lib/prism/node.rb#5452
sig { returns(T.nilable(Prism::Location)) }
def rparen_loc; end
@@ -7956,12 +8437,12 @@ class Prism::DefinedNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#5215
+ # source://prism//lib/prism/node.rb#5545
def type; end
# attr_reader value: Node
#
- # source://prism//lib/prism/node.rb#5119
+ # source://prism//lib/prism/node.rb#5449
sig { returns(Prism::Node) }
def value; end
@@ -7973,7 +8454,7 @@ class Prism::DefinedNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#5225
+ # source://prism//lib/prism/node.rb#5555
def type; end
end
end
@@ -8321,1476 +8802,2446 @@ class Prism::Dispatcher < ::Prism::Visitor
# source://prism//lib/prism/dispatcher.rb#230
def visit_call_or_write_node(node); end
- # Dispatch enter and leave events for CapturePatternNode nodes and continue
+ # Dispatch enter and leave events for CallTargetNode nodes and continue
# walking the tree.
#
# source://prism//lib/prism/dispatcher.rb#238
- def visit_capture_pattern_node(node); end
+ def visit_call_target_node(node); end
- # Dispatch enter and leave events for CaseNode nodes and continue
+ # Dispatch enter and leave events for CapturePatternNode nodes and continue
# walking the tree.
#
# source://prism//lib/prism/dispatcher.rb#246
+ def visit_capture_pattern_node(node); end
+
+ # Dispatch enter and leave events for CaseMatchNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#254
+ def visit_case_match_node(node); end
+
+ # Dispatch enter and leave events for CaseNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#262
def visit_case_node(node); end
# Dispatch enter and leave events for ClassNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#254
+ # source://prism//lib/prism/dispatcher.rb#270
def visit_class_node(node); end
# Dispatch enter and leave events for ClassVariableAndWriteNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#262
+ # source://prism//lib/prism/dispatcher.rb#278
def visit_class_variable_and_write_node(node); end
# Dispatch enter and leave events for ClassVariableOperatorWriteNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#270
+ # source://prism//lib/prism/dispatcher.rb#286
def visit_class_variable_operator_write_node(node); end
# Dispatch enter and leave events for ClassVariableOrWriteNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#278
+ # source://prism//lib/prism/dispatcher.rb#294
def visit_class_variable_or_write_node(node); end
# Dispatch enter and leave events for ClassVariableReadNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#286
+ # source://prism//lib/prism/dispatcher.rb#302
def visit_class_variable_read_node(node); end
# Dispatch enter and leave events for ClassVariableTargetNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#294
+ # source://prism//lib/prism/dispatcher.rb#310
def visit_class_variable_target_node(node); end
# Dispatch enter and leave events for ClassVariableWriteNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#302
+ # source://prism//lib/prism/dispatcher.rb#318
def visit_class_variable_write_node(node); end
# Dispatch enter and leave events for ConstantAndWriteNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#310
+ # source://prism//lib/prism/dispatcher.rb#326
def visit_constant_and_write_node(node); end
# Dispatch enter and leave events for ConstantOperatorWriteNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#318
+ # source://prism//lib/prism/dispatcher.rb#334
def visit_constant_operator_write_node(node); end
# Dispatch enter and leave events for ConstantOrWriteNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#326
+ # source://prism//lib/prism/dispatcher.rb#342
def visit_constant_or_write_node(node); end
# Dispatch enter and leave events for ConstantPathAndWriteNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#334
+ # source://prism//lib/prism/dispatcher.rb#350
def visit_constant_path_and_write_node(node); end
# Dispatch enter and leave events for ConstantPathNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#342
+ # source://prism//lib/prism/dispatcher.rb#358
def visit_constant_path_node(node); end
# Dispatch enter and leave events for ConstantPathOperatorWriteNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#350
+ # source://prism//lib/prism/dispatcher.rb#366
def visit_constant_path_operator_write_node(node); end
# Dispatch enter and leave events for ConstantPathOrWriteNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#358
+ # source://prism//lib/prism/dispatcher.rb#374
def visit_constant_path_or_write_node(node); end
# Dispatch enter and leave events for ConstantPathTargetNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#366
+ # source://prism//lib/prism/dispatcher.rb#382
def visit_constant_path_target_node(node); end
# Dispatch enter and leave events for ConstantPathWriteNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#374
+ # source://prism//lib/prism/dispatcher.rb#390
def visit_constant_path_write_node(node); end
# Dispatch enter and leave events for ConstantReadNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#382
+ # source://prism//lib/prism/dispatcher.rb#398
def visit_constant_read_node(node); end
# Dispatch enter and leave events for ConstantTargetNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#390
+ # source://prism//lib/prism/dispatcher.rb#406
def visit_constant_target_node(node); end
# Dispatch enter and leave events for ConstantWriteNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#398
+ # source://prism//lib/prism/dispatcher.rb#414
def visit_constant_write_node(node); end
# Dispatch enter and leave events for DefNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#406
+ # source://prism//lib/prism/dispatcher.rb#422
def visit_def_node(node); end
# Dispatch enter and leave events for DefinedNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#414
+ # source://prism//lib/prism/dispatcher.rb#430
def visit_defined_node(node); end
# Dispatch enter and leave events for ElseNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#422
+ # source://prism//lib/prism/dispatcher.rb#438
def visit_else_node(node); end
# Dispatch enter and leave events for EmbeddedStatementsNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#430
+ # source://prism//lib/prism/dispatcher.rb#446
def visit_embedded_statements_node(node); end
# Dispatch enter and leave events for EmbeddedVariableNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#438
+ # source://prism//lib/prism/dispatcher.rb#454
def visit_embedded_variable_node(node); end
# Dispatch enter and leave events for EnsureNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#446
+ # source://prism//lib/prism/dispatcher.rb#462
def visit_ensure_node(node); end
# Dispatch enter and leave events for FalseNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#454
+ # source://prism//lib/prism/dispatcher.rb#470
def visit_false_node(node); end
# Dispatch enter and leave events for FindPatternNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#462
+ # source://prism//lib/prism/dispatcher.rb#478
def visit_find_pattern_node(node); end
# Dispatch enter and leave events for FlipFlopNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#470
+ # source://prism//lib/prism/dispatcher.rb#486
def visit_flip_flop_node(node); end
# Dispatch enter and leave events for FloatNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#478
+ # source://prism//lib/prism/dispatcher.rb#494
def visit_float_node(node); end
# Dispatch enter and leave events for ForNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#486
+ # source://prism//lib/prism/dispatcher.rb#502
def visit_for_node(node); end
# Dispatch enter and leave events for ForwardingArgumentsNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#494
+ # source://prism//lib/prism/dispatcher.rb#510
def visit_forwarding_arguments_node(node); end
# Dispatch enter and leave events for ForwardingParameterNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#502
+ # source://prism//lib/prism/dispatcher.rb#518
def visit_forwarding_parameter_node(node); end
# Dispatch enter and leave events for ForwardingSuperNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#510
+ # source://prism//lib/prism/dispatcher.rb#526
def visit_forwarding_super_node(node); end
# Dispatch enter and leave events for GlobalVariableAndWriteNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#518
+ # source://prism//lib/prism/dispatcher.rb#534
def visit_global_variable_and_write_node(node); end
# Dispatch enter and leave events for GlobalVariableOperatorWriteNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#526
+ # source://prism//lib/prism/dispatcher.rb#542
def visit_global_variable_operator_write_node(node); end
# Dispatch enter and leave events for GlobalVariableOrWriteNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#534
+ # source://prism//lib/prism/dispatcher.rb#550
def visit_global_variable_or_write_node(node); end
# Dispatch enter and leave events for GlobalVariableReadNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#542
+ # source://prism//lib/prism/dispatcher.rb#558
def visit_global_variable_read_node(node); end
# Dispatch enter and leave events for GlobalVariableTargetNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#550
+ # source://prism//lib/prism/dispatcher.rb#566
def visit_global_variable_target_node(node); end
# Dispatch enter and leave events for GlobalVariableWriteNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#558
+ # source://prism//lib/prism/dispatcher.rb#574
def visit_global_variable_write_node(node); end
# Dispatch enter and leave events for HashNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#566
+ # source://prism//lib/prism/dispatcher.rb#582
def visit_hash_node(node); end
# Dispatch enter and leave events for HashPatternNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#574
+ # source://prism//lib/prism/dispatcher.rb#590
def visit_hash_pattern_node(node); end
# Dispatch enter and leave events for IfNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#582
+ # source://prism//lib/prism/dispatcher.rb#598
def visit_if_node(node); end
# Dispatch enter and leave events for ImaginaryNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#590
+ # source://prism//lib/prism/dispatcher.rb#606
def visit_imaginary_node(node); end
# Dispatch enter and leave events for ImplicitNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#598
+ # source://prism//lib/prism/dispatcher.rb#614
def visit_implicit_node(node); end
+ # Dispatch enter and leave events for ImplicitRestNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#622
+ def visit_implicit_rest_node(node); end
+
# Dispatch enter and leave events for InNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#606
+ # source://prism//lib/prism/dispatcher.rb#630
def visit_in_node(node); end
# Dispatch enter and leave events for IndexAndWriteNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#614
+ # source://prism//lib/prism/dispatcher.rb#638
def visit_index_and_write_node(node); end
# Dispatch enter and leave events for IndexOperatorWriteNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#622
+ # source://prism//lib/prism/dispatcher.rb#646
def visit_index_operator_write_node(node); end
# Dispatch enter and leave events for IndexOrWriteNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#630
+ # source://prism//lib/prism/dispatcher.rb#654
def visit_index_or_write_node(node); end
+ # Dispatch enter and leave events for IndexTargetNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#662
+ def visit_index_target_node(node); end
+
# Dispatch enter and leave events for InstanceVariableAndWriteNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#638
+ # source://prism//lib/prism/dispatcher.rb#670
def visit_instance_variable_and_write_node(node); end
# Dispatch enter and leave events for InstanceVariableOperatorWriteNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#646
+ # source://prism//lib/prism/dispatcher.rb#678
def visit_instance_variable_operator_write_node(node); end
# Dispatch enter and leave events for InstanceVariableOrWriteNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#654
+ # source://prism//lib/prism/dispatcher.rb#686
def visit_instance_variable_or_write_node(node); end
# Dispatch enter and leave events for InstanceVariableReadNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#662
+ # source://prism//lib/prism/dispatcher.rb#694
def visit_instance_variable_read_node(node); end
# Dispatch enter and leave events for InstanceVariableTargetNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#670
+ # source://prism//lib/prism/dispatcher.rb#702
def visit_instance_variable_target_node(node); end
# Dispatch enter and leave events for InstanceVariableWriteNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#678
+ # source://prism//lib/prism/dispatcher.rb#710
def visit_instance_variable_write_node(node); end
# Dispatch enter and leave events for IntegerNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#686
+ # source://prism//lib/prism/dispatcher.rb#718
def visit_integer_node(node); end
# Dispatch enter and leave events for InterpolatedMatchLastLineNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#694
+ # source://prism//lib/prism/dispatcher.rb#726
def visit_interpolated_match_last_line_node(node); end
# Dispatch enter and leave events for InterpolatedRegularExpressionNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#702
+ # source://prism//lib/prism/dispatcher.rb#734
def visit_interpolated_regular_expression_node(node); end
# Dispatch enter and leave events for InterpolatedStringNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#710
+ # source://prism//lib/prism/dispatcher.rb#742
def visit_interpolated_string_node(node); end
# Dispatch enter and leave events for InterpolatedSymbolNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#718
+ # source://prism//lib/prism/dispatcher.rb#750
def visit_interpolated_symbol_node(node); end
# Dispatch enter and leave events for InterpolatedXStringNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#726
+ # source://prism//lib/prism/dispatcher.rb#758
def visit_interpolated_x_string_node(node); end
# Dispatch enter and leave events for KeywordHashNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#734
+ # source://prism//lib/prism/dispatcher.rb#766
def visit_keyword_hash_node(node); end
# Dispatch enter and leave events for KeywordRestParameterNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#742
+ # source://prism//lib/prism/dispatcher.rb#774
def visit_keyword_rest_parameter_node(node); end
# Dispatch enter and leave events for LambdaNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#750
+ # source://prism//lib/prism/dispatcher.rb#782
def visit_lambda_node(node); end
# Dispatch enter and leave events for LocalVariableAndWriteNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#758
+ # source://prism//lib/prism/dispatcher.rb#790
def visit_local_variable_and_write_node(node); end
# Dispatch enter and leave events for LocalVariableOperatorWriteNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#766
+ # source://prism//lib/prism/dispatcher.rb#798
def visit_local_variable_operator_write_node(node); end
# Dispatch enter and leave events for LocalVariableOrWriteNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#774
+ # source://prism//lib/prism/dispatcher.rb#806
def visit_local_variable_or_write_node(node); end
# Dispatch enter and leave events for LocalVariableReadNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#782
+ # source://prism//lib/prism/dispatcher.rb#814
def visit_local_variable_read_node(node); end
# Dispatch enter and leave events for LocalVariableTargetNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#790
+ # source://prism//lib/prism/dispatcher.rb#822
def visit_local_variable_target_node(node); end
# Dispatch enter and leave events for LocalVariableWriteNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#798
+ # source://prism//lib/prism/dispatcher.rb#830
def visit_local_variable_write_node(node); end
# Dispatch enter and leave events for MatchLastLineNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#806
+ # source://prism//lib/prism/dispatcher.rb#838
def visit_match_last_line_node(node); end
# Dispatch enter and leave events for MatchPredicateNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#814
+ # source://prism//lib/prism/dispatcher.rb#846
def visit_match_predicate_node(node); end
# Dispatch enter and leave events for MatchRequiredNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#822
+ # source://prism//lib/prism/dispatcher.rb#854
def visit_match_required_node(node); end
# Dispatch enter and leave events for MatchWriteNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#830
+ # source://prism//lib/prism/dispatcher.rb#862
def visit_match_write_node(node); end
# Dispatch enter and leave events for MissingNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#838
+ # source://prism//lib/prism/dispatcher.rb#870
def visit_missing_node(node); end
# Dispatch enter and leave events for ModuleNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#846
+ # source://prism//lib/prism/dispatcher.rb#878
def visit_module_node(node); end
# Dispatch enter and leave events for MultiTargetNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#854
+ # source://prism//lib/prism/dispatcher.rb#886
def visit_multi_target_node(node); end
# Dispatch enter and leave events for MultiWriteNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#862
+ # source://prism//lib/prism/dispatcher.rb#894
def visit_multi_write_node(node); end
# Dispatch enter and leave events for NextNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#870
+ # source://prism//lib/prism/dispatcher.rb#902
def visit_next_node(node); end
# Dispatch enter and leave events for NilNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#878
+ # source://prism//lib/prism/dispatcher.rb#910
def visit_nil_node(node); end
# Dispatch enter and leave events for NoKeywordsParameterNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#886
+ # source://prism//lib/prism/dispatcher.rb#918
def visit_no_keywords_parameter_node(node); end
+ # Dispatch enter and leave events for NumberedParametersNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#926
+ def visit_numbered_parameters_node(node); end
+
# Dispatch enter and leave events for NumberedReferenceReadNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#894
+ # source://prism//lib/prism/dispatcher.rb#934
def visit_numbered_reference_read_node(node); end
# Dispatch enter and leave events for OptionalKeywordParameterNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#902
+ # source://prism//lib/prism/dispatcher.rb#942
def visit_optional_keyword_parameter_node(node); end
# Dispatch enter and leave events for OptionalParameterNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#910
+ # source://prism//lib/prism/dispatcher.rb#950
def visit_optional_parameter_node(node); end
# Dispatch enter and leave events for OrNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#918
+ # source://prism//lib/prism/dispatcher.rb#958
def visit_or_node(node); end
# Dispatch enter and leave events for ParametersNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#926
+ # source://prism//lib/prism/dispatcher.rb#966
def visit_parameters_node(node); end
# Dispatch enter and leave events for ParenthesesNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#934
+ # source://prism//lib/prism/dispatcher.rb#974
def visit_parentheses_node(node); end
# Dispatch enter and leave events for PinnedExpressionNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#942
+ # source://prism//lib/prism/dispatcher.rb#982
def visit_pinned_expression_node(node); end
# Dispatch enter and leave events for PinnedVariableNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#950
+ # source://prism//lib/prism/dispatcher.rb#990
def visit_pinned_variable_node(node); end
# Dispatch enter and leave events for PostExecutionNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#958
+ # source://prism//lib/prism/dispatcher.rb#998
def visit_post_execution_node(node); end
# Dispatch enter and leave events for PreExecutionNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#966
+ # source://prism//lib/prism/dispatcher.rb#1006
def visit_pre_execution_node(node); end
# Dispatch enter and leave events for ProgramNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#974
+ # source://prism//lib/prism/dispatcher.rb#1014
def visit_program_node(node); end
# Dispatch enter and leave events for RangeNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#982
+ # source://prism//lib/prism/dispatcher.rb#1022
def visit_range_node(node); end
# Dispatch enter and leave events for RationalNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#990
+ # source://prism//lib/prism/dispatcher.rb#1030
def visit_rational_node(node); end
# Dispatch enter and leave events for RedoNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#998
+ # source://prism//lib/prism/dispatcher.rb#1038
def visit_redo_node(node); end
# Dispatch enter and leave events for RegularExpressionNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#1006
+ # source://prism//lib/prism/dispatcher.rb#1046
def visit_regular_expression_node(node); end
# Dispatch enter and leave events for RequiredKeywordParameterNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#1014
+ # source://prism//lib/prism/dispatcher.rb#1054
def visit_required_keyword_parameter_node(node); end
# Dispatch enter and leave events for RequiredParameterNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#1022
+ # source://prism//lib/prism/dispatcher.rb#1062
def visit_required_parameter_node(node); end
# Dispatch enter and leave events for RescueModifierNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#1030
+ # source://prism//lib/prism/dispatcher.rb#1070
def visit_rescue_modifier_node(node); end
# Dispatch enter and leave events for RescueNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#1038
+ # source://prism//lib/prism/dispatcher.rb#1078
def visit_rescue_node(node); end
# Dispatch enter and leave events for RestParameterNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#1046
+ # source://prism//lib/prism/dispatcher.rb#1086
def visit_rest_parameter_node(node); end
# Dispatch enter and leave events for RetryNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#1054
+ # source://prism//lib/prism/dispatcher.rb#1094
def visit_retry_node(node); end
# Dispatch enter and leave events for ReturnNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#1062
+ # source://prism//lib/prism/dispatcher.rb#1102
def visit_return_node(node); end
# Dispatch enter and leave events for SelfNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#1070
+ # source://prism//lib/prism/dispatcher.rb#1110
def visit_self_node(node); end
# Dispatch enter and leave events for SingletonClassNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#1078
+ # source://prism//lib/prism/dispatcher.rb#1118
def visit_singleton_class_node(node); end
# Dispatch enter and leave events for SourceEncodingNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#1086
+ # source://prism//lib/prism/dispatcher.rb#1126
def visit_source_encoding_node(node); end
# Dispatch enter and leave events for SourceFileNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#1094
+ # source://prism//lib/prism/dispatcher.rb#1134
def visit_source_file_node(node); end
# Dispatch enter and leave events for SourceLineNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#1102
+ # source://prism//lib/prism/dispatcher.rb#1142
def visit_source_line_node(node); end
# Dispatch enter and leave events for SplatNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#1110
+ # source://prism//lib/prism/dispatcher.rb#1150
def visit_splat_node(node); end
# Dispatch enter and leave events for StatementsNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#1118
+ # source://prism//lib/prism/dispatcher.rb#1158
def visit_statements_node(node); end
- # Dispatch enter and leave events for StringConcatNode nodes and continue
- # walking the tree.
- #
- # source://prism//lib/prism/dispatcher.rb#1126
- def visit_string_concat_node(node); end
-
# Dispatch enter and leave events for StringNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#1134
+ # source://prism//lib/prism/dispatcher.rb#1166
def visit_string_node(node); end
# Dispatch enter and leave events for SuperNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#1142
+ # source://prism//lib/prism/dispatcher.rb#1174
def visit_super_node(node); end
# Dispatch enter and leave events for SymbolNode nodes and continue
# walking the tree.
#
- # source://prism//lib/prism/dispatcher.rb#1150
+ # source://prism//lib/prism/dispatcher.rb#1182
+ def visit_symbol_node(node); end
+
+ # Dispatch enter and leave events for TrueNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1190
+ def visit_true_node(node); end
+
+ # Dispatch enter and leave events for UndefNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1198
+ def visit_undef_node(node); end
+
+ # Dispatch enter and leave events for UnlessNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1206
+ def visit_unless_node(node); end
+
+ # Dispatch enter and leave events for UntilNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1214
+ def visit_until_node(node); end
+
+ # Dispatch enter and leave events for WhenNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1222
+ def visit_when_node(node); end
+
+ # Dispatch enter and leave events for WhileNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1230
+ def visit_while_node(node); end
+
+ # Dispatch enter and leave events for XStringNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1238
+ def visit_x_string_node(node); end
+
+ # Dispatch enter and leave events for YieldNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1246
+ def visit_yield_node(node); end
+end
+
+# source://prism//lib/prism/dispatcher.rb#1252
+class Prism::Dispatcher::DispatchOnce < ::Prism::Visitor
+ # @return [DispatchOnce] a new instance of DispatchOnce
+ #
+ # source://prism//lib/prism/dispatcher.rb#1255
+ def initialize(listeners); end
+
+ # Returns the value of attribute listeners.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1253
+ def listeners; end
+
+ # Dispatch enter and leave events for AliasGlobalVariableNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1260
+ def visit_alias_global_variable_node(node); end
+
+ # Dispatch enter and leave events for AliasMethodNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1266
+ def visit_alias_method_node(node); end
+
+ # Dispatch enter and leave events for AlternationPatternNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1272
+ def visit_alternation_pattern_node(node); end
+
+ # Dispatch enter and leave events for AndNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1278
+ def visit_and_node(node); end
+
+ # Dispatch enter and leave events for ArgumentsNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1284
+ def visit_arguments_node(node); end
+
+ # Dispatch enter and leave events for ArrayNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1290
+ def visit_array_node(node); end
+
+ # Dispatch enter and leave events for ArrayPatternNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1296
+ def visit_array_pattern_node(node); end
+
+ # Dispatch enter and leave events for AssocNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1302
+ def visit_assoc_node(node); end
+
+ # Dispatch enter and leave events for AssocSplatNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1308
+ def visit_assoc_splat_node(node); end
+
+ # Dispatch enter and leave events for BackReferenceReadNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1314
+ def visit_back_reference_read_node(node); end
+
+ # Dispatch enter and leave events for BeginNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1320
+ def visit_begin_node(node); end
+
+ # Dispatch enter and leave events for BlockArgumentNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1326
+ def visit_block_argument_node(node); end
+
+ # Dispatch enter and leave events for BlockLocalVariableNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1332
+ def visit_block_local_variable_node(node); end
+
+ # Dispatch enter and leave events for BlockNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1338
+ def visit_block_node(node); end
+
+ # Dispatch enter and leave events for BlockParameterNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1344
+ def visit_block_parameter_node(node); end
+
+ # Dispatch enter and leave events for BlockParametersNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1350
+ def visit_block_parameters_node(node); end
+
+ # Dispatch enter and leave events for BreakNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1356
+ def visit_break_node(node); end
+
+ # Dispatch enter and leave events for CallAndWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1362
+ def visit_call_and_write_node(node); end
+
+ # Dispatch enter and leave events for CallNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1368
+ def visit_call_node(node); end
+
+ # Dispatch enter and leave events for CallOperatorWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1374
+ def visit_call_operator_write_node(node); end
+
+ # Dispatch enter and leave events for CallOrWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1380
+ def visit_call_or_write_node(node); end
+
+ # Dispatch enter and leave events for CallTargetNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1386
+ def visit_call_target_node(node); end
+
+ # Dispatch enter and leave events for CapturePatternNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1392
+ def visit_capture_pattern_node(node); end
+
+ # Dispatch enter and leave events for CaseMatchNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1398
+ def visit_case_match_node(node); end
+
+ # Dispatch enter and leave events for CaseNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1404
+ def visit_case_node(node); end
+
+ # Dispatch enter and leave events for ClassNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1410
+ def visit_class_node(node); end
+
+ # Dispatch enter and leave events for ClassVariableAndWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1416
+ def visit_class_variable_and_write_node(node); end
+
+ # Dispatch enter and leave events for ClassVariableOperatorWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1422
+ def visit_class_variable_operator_write_node(node); end
+
+ # Dispatch enter and leave events for ClassVariableOrWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1428
+ def visit_class_variable_or_write_node(node); end
+
+ # Dispatch enter and leave events for ClassVariableReadNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1434
+ def visit_class_variable_read_node(node); end
+
+ # Dispatch enter and leave events for ClassVariableTargetNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1440
+ def visit_class_variable_target_node(node); end
+
+ # Dispatch enter and leave events for ClassVariableWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1446
+ def visit_class_variable_write_node(node); end
+
+ # Dispatch enter and leave events for ConstantAndWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1452
+ def visit_constant_and_write_node(node); end
+
+ # Dispatch enter and leave events for ConstantOperatorWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1458
+ def visit_constant_operator_write_node(node); end
+
+ # Dispatch enter and leave events for ConstantOrWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1464
+ def visit_constant_or_write_node(node); end
+
+ # Dispatch enter and leave events for ConstantPathAndWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1470
+ def visit_constant_path_and_write_node(node); end
+
+ # Dispatch enter and leave events for ConstantPathNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1476
+ def visit_constant_path_node(node); end
+
+ # Dispatch enter and leave events for ConstantPathOperatorWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1482
+ def visit_constant_path_operator_write_node(node); end
+
+ # Dispatch enter and leave events for ConstantPathOrWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1488
+ def visit_constant_path_or_write_node(node); end
+
+ # Dispatch enter and leave events for ConstantPathTargetNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1494
+ def visit_constant_path_target_node(node); end
+
+ # Dispatch enter and leave events for ConstantPathWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1500
+ def visit_constant_path_write_node(node); end
+
+ # Dispatch enter and leave events for ConstantReadNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1506
+ def visit_constant_read_node(node); end
+
+ # Dispatch enter and leave events for ConstantTargetNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1512
+ def visit_constant_target_node(node); end
+
+ # Dispatch enter and leave events for ConstantWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1518
+ def visit_constant_write_node(node); end
+
+ # Dispatch enter and leave events for DefNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1524
+ def visit_def_node(node); end
+
+ # Dispatch enter and leave events for DefinedNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1530
+ def visit_defined_node(node); end
+
+ # Dispatch enter and leave events for ElseNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1536
+ def visit_else_node(node); end
+
+ # Dispatch enter and leave events for EmbeddedStatementsNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1542
+ def visit_embedded_statements_node(node); end
+
+ # Dispatch enter and leave events for EmbeddedVariableNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1548
+ def visit_embedded_variable_node(node); end
+
+ # Dispatch enter and leave events for EnsureNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1554
+ def visit_ensure_node(node); end
+
+ # Dispatch enter and leave events for FalseNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1560
+ def visit_false_node(node); end
+
+ # Dispatch enter and leave events for FindPatternNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1566
+ def visit_find_pattern_node(node); end
+
+ # Dispatch enter and leave events for FlipFlopNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1572
+ def visit_flip_flop_node(node); end
+
+ # Dispatch enter and leave events for FloatNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1578
+ def visit_float_node(node); end
+
+ # Dispatch enter and leave events for ForNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1584
+ def visit_for_node(node); end
+
+ # Dispatch enter and leave events for ForwardingArgumentsNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1590
+ def visit_forwarding_arguments_node(node); end
+
+ # Dispatch enter and leave events for ForwardingParameterNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1596
+ def visit_forwarding_parameter_node(node); end
+
+ # Dispatch enter and leave events for ForwardingSuperNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1602
+ def visit_forwarding_super_node(node); end
+
+ # Dispatch enter and leave events for GlobalVariableAndWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1608
+ def visit_global_variable_and_write_node(node); end
+
+ # Dispatch enter and leave events for GlobalVariableOperatorWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1614
+ def visit_global_variable_operator_write_node(node); end
+
+ # Dispatch enter and leave events for GlobalVariableOrWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1620
+ def visit_global_variable_or_write_node(node); end
+
+ # Dispatch enter and leave events for GlobalVariableReadNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1626
+ def visit_global_variable_read_node(node); end
+
+ # Dispatch enter and leave events for GlobalVariableTargetNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1632
+ def visit_global_variable_target_node(node); end
+
+ # Dispatch enter and leave events for GlobalVariableWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1638
+ def visit_global_variable_write_node(node); end
+
+ # Dispatch enter and leave events for HashNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1644
+ def visit_hash_node(node); end
+
+ # Dispatch enter and leave events for HashPatternNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1650
+ def visit_hash_pattern_node(node); end
+
+ # Dispatch enter and leave events for IfNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1656
+ def visit_if_node(node); end
+
+ # Dispatch enter and leave events for ImaginaryNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1662
+ def visit_imaginary_node(node); end
+
+ # Dispatch enter and leave events for ImplicitNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1668
+ def visit_implicit_node(node); end
+
+ # Dispatch enter and leave events for ImplicitRestNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1674
+ def visit_implicit_rest_node(node); end
+
+ # Dispatch enter and leave events for InNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1680
+ def visit_in_node(node); end
+
+ # Dispatch enter and leave events for IndexAndWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1686
+ def visit_index_and_write_node(node); end
+
+ # Dispatch enter and leave events for IndexOperatorWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1692
+ def visit_index_operator_write_node(node); end
+
+ # Dispatch enter and leave events for IndexOrWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1698
+ def visit_index_or_write_node(node); end
+
+ # Dispatch enter and leave events for IndexTargetNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1704
+ def visit_index_target_node(node); end
+
+ # Dispatch enter and leave events for InstanceVariableAndWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1710
+ def visit_instance_variable_and_write_node(node); end
+
+ # Dispatch enter and leave events for InstanceVariableOperatorWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1716
+ def visit_instance_variable_operator_write_node(node); end
+
+ # Dispatch enter and leave events for InstanceVariableOrWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1722
+ def visit_instance_variable_or_write_node(node); end
+
+ # Dispatch enter and leave events for InstanceVariableReadNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1728
+ def visit_instance_variable_read_node(node); end
+
+ # Dispatch enter and leave events for InstanceVariableTargetNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1734
+ def visit_instance_variable_target_node(node); end
+
+ # Dispatch enter and leave events for InstanceVariableWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1740
+ def visit_instance_variable_write_node(node); end
+
+ # Dispatch enter and leave events for IntegerNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1746
+ def visit_integer_node(node); end
+
+ # Dispatch enter and leave events for InterpolatedMatchLastLineNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1752
+ def visit_interpolated_match_last_line_node(node); end
+
+ # Dispatch enter and leave events for InterpolatedRegularExpressionNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1758
+ def visit_interpolated_regular_expression_node(node); end
+
+ # Dispatch enter and leave events for InterpolatedStringNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1764
+ def visit_interpolated_string_node(node); end
+
+ # Dispatch enter and leave events for InterpolatedSymbolNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1770
+ def visit_interpolated_symbol_node(node); end
+
+ # Dispatch enter and leave events for InterpolatedXStringNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1776
+ def visit_interpolated_x_string_node(node); end
+
+ # Dispatch enter and leave events for KeywordHashNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1782
+ def visit_keyword_hash_node(node); end
+
+ # Dispatch enter and leave events for KeywordRestParameterNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1788
+ def visit_keyword_rest_parameter_node(node); end
+
+ # Dispatch enter and leave events for LambdaNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1794
+ def visit_lambda_node(node); end
+
+ # Dispatch enter and leave events for LocalVariableAndWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1800
+ def visit_local_variable_and_write_node(node); end
+
+ # Dispatch enter and leave events for LocalVariableOperatorWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1806
+ def visit_local_variable_operator_write_node(node); end
+
+ # Dispatch enter and leave events for LocalVariableOrWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1812
+ def visit_local_variable_or_write_node(node); end
+
+ # Dispatch enter and leave events for LocalVariableReadNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1818
+ def visit_local_variable_read_node(node); end
+
+ # Dispatch enter and leave events for LocalVariableTargetNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1824
+ def visit_local_variable_target_node(node); end
+
+ # Dispatch enter and leave events for LocalVariableWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1830
+ def visit_local_variable_write_node(node); end
+
+ # Dispatch enter and leave events for MatchLastLineNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1836
+ def visit_match_last_line_node(node); end
+
+ # Dispatch enter and leave events for MatchPredicateNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1842
+ def visit_match_predicate_node(node); end
+
+ # Dispatch enter and leave events for MatchRequiredNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1848
+ def visit_match_required_node(node); end
+
+ # Dispatch enter and leave events for MatchWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1854
+ def visit_match_write_node(node); end
+
+ # Dispatch enter and leave events for MissingNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1860
+ def visit_missing_node(node); end
+
+ # Dispatch enter and leave events for ModuleNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1866
+ def visit_module_node(node); end
+
+ # Dispatch enter and leave events for MultiTargetNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1872
+ def visit_multi_target_node(node); end
+
+ # Dispatch enter and leave events for MultiWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1878
+ def visit_multi_write_node(node); end
+
+ # Dispatch enter and leave events for NextNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1884
+ def visit_next_node(node); end
+
+ # Dispatch enter and leave events for NilNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1890
+ def visit_nil_node(node); end
+
+ # Dispatch enter and leave events for NoKeywordsParameterNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1896
+ def visit_no_keywords_parameter_node(node); end
+
+ # Dispatch enter and leave events for NumberedParametersNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1902
+ def visit_numbered_parameters_node(node); end
+
+ # Dispatch enter and leave events for NumberedReferenceReadNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1908
+ def visit_numbered_reference_read_node(node); end
+
+ # Dispatch enter and leave events for OptionalKeywordParameterNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1914
+ def visit_optional_keyword_parameter_node(node); end
+
+ # Dispatch enter and leave events for OptionalParameterNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1920
+ def visit_optional_parameter_node(node); end
+
+ # Dispatch enter and leave events for OrNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1926
+ def visit_or_node(node); end
+
+ # Dispatch enter and leave events for ParametersNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1932
+ def visit_parameters_node(node); end
+
+ # Dispatch enter and leave events for ParenthesesNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1938
+ def visit_parentheses_node(node); end
+
+ # Dispatch enter and leave events for PinnedExpressionNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1944
+ def visit_pinned_expression_node(node); end
+
+ # Dispatch enter and leave events for PinnedVariableNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1950
+ def visit_pinned_variable_node(node); end
+
+ # Dispatch enter and leave events for PostExecutionNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1956
+ def visit_post_execution_node(node); end
+
+ # Dispatch enter and leave events for PreExecutionNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1962
+ def visit_pre_execution_node(node); end
+
+ # Dispatch enter and leave events for ProgramNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1968
+ def visit_program_node(node); end
+
+ # Dispatch enter and leave events for RangeNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1974
+ def visit_range_node(node); end
+
+ # Dispatch enter and leave events for RationalNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1980
+ def visit_rational_node(node); end
+
+ # Dispatch enter and leave events for RedoNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1986
+ def visit_redo_node(node); end
+
+ # Dispatch enter and leave events for RegularExpressionNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1992
+ def visit_regular_expression_node(node); end
+
+ # Dispatch enter and leave events for RequiredKeywordParameterNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1998
+ def visit_required_keyword_parameter_node(node); end
+
+ # Dispatch enter and leave events for RequiredParameterNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#2004
+ def visit_required_parameter_node(node); end
+
+ # Dispatch enter and leave events for RescueModifierNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#2010
+ def visit_rescue_modifier_node(node); end
+
+ # Dispatch enter and leave events for RescueNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#2016
+ def visit_rescue_node(node); end
+
+ # Dispatch enter and leave events for RestParameterNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#2022
+ def visit_rest_parameter_node(node); end
+
+ # Dispatch enter and leave events for RetryNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#2028
+ def visit_retry_node(node); end
+
+ # Dispatch enter and leave events for ReturnNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#2034
+ def visit_return_node(node); end
+
+ # Dispatch enter and leave events for SelfNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#2040
+ def visit_self_node(node); end
+
+ # Dispatch enter and leave events for SingletonClassNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#2046
+ def visit_singleton_class_node(node); end
+
+ # Dispatch enter and leave events for SourceEncodingNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#2052
+ def visit_source_encoding_node(node); end
+
+ # Dispatch enter and leave events for SourceFileNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#2058
+ def visit_source_file_node(node); end
+
+ # Dispatch enter and leave events for SourceLineNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#2064
+ def visit_source_line_node(node); end
+
+ # Dispatch enter and leave events for SplatNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#2070
+ def visit_splat_node(node); end
+
+ # Dispatch enter and leave events for StatementsNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#2076
+ def visit_statements_node(node); end
+
+ # Dispatch enter and leave events for StringNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#2082
+ def visit_string_node(node); end
+
+ # Dispatch enter and leave events for SuperNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#2088
+ def visit_super_node(node); end
+
+ # Dispatch enter and leave events for SymbolNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#2094
def visit_symbol_node(node); end
- # Dispatch enter and leave events for TrueNode nodes and continue
- # walking the tree.
+ # Dispatch enter and leave events for TrueNode nodes.
#
- # source://prism//lib/prism/dispatcher.rb#1158
+ # source://prism//lib/prism/dispatcher.rb#2100
def visit_true_node(node); end
- # Dispatch enter and leave events for UndefNode nodes and continue
- # walking the tree.
+ # Dispatch enter and leave events for UndefNode nodes.
#
- # source://prism//lib/prism/dispatcher.rb#1166
+ # source://prism//lib/prism/dispatcher.rb#2106
def visit_undef_node(node); end
- # Dispatch enter and leave events for UnlessNode nodes and continue
- # walking the tree.
+ # Dispatch enter and leave events for UnlessNode nodes.
#
- # source://prism//lib/prism/dispatcher.rb#1174
+ # source://prism//lib/prism/dispatcher.rb#2112
def visit_unless_node(node); end
- # Dispatch enter and leave events for UntilNode nodes and continue
- # walking the tree.
+ # Dispatch enter and leave events for UntilNode nodes.
#
- # source://prism//lib/prism/dispatcher.rb#1182
+ # source://prism//lib/prism/dispatcher.rb#2118
def visit_until_node(node); end
- # Dispatch enter and leave events for WhenNode nodes and continue
- # walking the tree.
+ # Dispatch enter and leave events for WhenNode nodes.
#
- # source://prism//lib/prism/dispatcher.rb#1190
+ # source://prism//lib/prism/dispatcher.rb#2124
def visit_when_node(node); end
- # Dispatch enter and leave events for WhileNode nodes and continue
- # walking the tree.
+ # Dispatch enter and leave events for WhileNode nodes.
#
- # source://prism//lib/prism/dispatcher.rb#1198
+ # source://prism//lib/prism/dispatcher.rb#2130
def visit_while_node(node); end
- # Dispatch enter and leave events for XStringNode nodes and continue
- # walking the tree.
+ # Dispatch enter and leave events for XStringNode nodes.
#
- # source://prism//lib/prism/dispatcher.rb#1206
+ # source://prism//lib/prism/dispatcher.rb#2136
def visit_x_string_node(node); end
- # Dispatch enter and leave events for YieldNode nodes and continue
- # walking the tree.
+ # Dispatch enter and leave events for YieldNode nodes.
#
- # source://prism//lib/prism/dispatcher.rb#1214
+ # source://prism//lib/prism/dispatcher.rb#2142
def visit_yield_node(node); end
end
-# source://prism//lib/prism/dispatcher.rb#1220
-class Prism::Dispatcher::DispatchOnce < ::Prism::Visitor
- # @return [DispatchOnce] a new instance of DispatchOnce
+# This visitor provides the ability to call Node#to_dot, which converts a
+# subtree into a graphviz dot graph.
+#
+# source://prism//lib/prism/dot_visitor.rb#13
+class Prism::DotVisitor < ::Prism::Visitor
+ # Initialize a new dot visitor.
#
- # source://prism//lib/prism/dispatcher.rb#1223
- def initialize(listeners); end
+ # @return [DotVisitor] a new instance of DotVisitor
+ #
+ # source://prism//lib/prism/dot_visitor.rb#105
+ def initialize; end
- # Returns the value of attribute listeners.
+ # The digraph that is being built.
#
- # source://prism//lib/prism/dispatcher.rb#1221
- def listeners; end
+ # source://prism//lib/prism/dot_visitor.rb#102
+ def digraph; end
- # Dispatch enter and leave events for AliasGlobalVariableNode nodes.
+ # Convert this visitor into a graphviz dot graph string.
#
- # source://prism//lib/prism/dispatcher.rb#1228
+ # source://prism//lib/prism/dot_visitor.rb#110
+ def to_dot; end
+
+ # Visit a AliasGlobalVariableNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#115
def visit_alias_global_variable_node(node); end
- # Dispatch enter and leave events for AliasMethodNode nodes.
+ # Visit a AliasMethodNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1234
+ # source://prism//lib/prism/dot_visitor.rb#140
def visit_alias_method_node(node); end
- # Dispatch enter and leave events for AlternationPatternNode nodes.
+ # Visit a AlternationPatternNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1240
+ # source://prism//lib/prism/dot_visitor.rb#165
def visit_alternation_pattern_node(node); end
- # Dispatch enter and leave events for AndNode nodes.
+ # Visit a AndNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1246
+ # source://prism//lib/prism/dot_visitor.rb#190
def visit_and_node(node); end
- # Dispatch enter and leave events for ArgumentsNode nodes.
+ # Visit a ArgumentsNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1252
+ # source://prism//lib/prism/dot_visitor.rb#215
def visit_arguments_node(node); end
- # Dispatch enter and leave events for ArrayNode nodes.
+ # Visit a ArrayNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1258
+ # source://prism//lib/prism/dot_visitor.rb#245
def visit_array_node(node); end
- # Dispatch enter and leave events for ArrayPatternNode nodes.
+ # Visit a ArrayPatternNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1264
+ # source://prism//lib/prism/dot_visitor.rb#285
def visit_array_pattern_node(node); end
- # Dispatch enter and leave events for AssocNode nodes.
+ # Visit a AssocNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1270
+ # source://prism//lib/prism/dot_visitor.rb#347
def visit_assoc_node(node); end
- # Dispatch enter and leave events for AssocSplatNode nodes.
+ # Visit a AssocSplatNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1276
+ # source://prism//lib/prism/dot_visitor.rb#376
def visit_assoc_splat_node(node); end
- # Dispatch enter and leave events for BackReferenceReadNode nodes.
+ # Visit a BackReferenceReadNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1282
+ # source://prism//lib/prism/dot_visitor.rb#399
def visit_back_reference_read_node(node); end
- # Dispatch enter and leave events for BeginNode nodes.
+ # Visit a BeginNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1288
+ # source://prism//lib/prism/dot_visitor.rb#416
def visit_begin_node(node); end
- # Dispatch enter and leave events for BlockArgumentNode nodes.
+ # Visit a BlockArgumentNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1294
+ # source://prism//lib/prism/dot_visitor.rb#464
def visit_block_argument_node(node); end
- # Dispatch enter and leave events for BlockLocalVariableNode nodes.
+ # Visit a BlockLocalVariableNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1300
+ # source://prism//lib/prism/dot_visitor.rb#487
def visit_block_local_variable_node(node); end
- # Dispatch enter and leave events for BlockNode nodes.
+ # Visit a BlockNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1306
+ # source://prism//lib/prism/dot_visitor.rb#504
def visit_block_node(node); end
- # Dispatch enter and leave events for BlockParameterNode nodes.
+ # Visit a BlockParameterNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1312
+ # source://prism//lib/prism/dot_visitor.rb#542
def visit_block_parameter_node(node); end
- # Dispatch enter and leave events for BlockParametersNode nodes.
+ # Visit a BlockParametersNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1318
+ # source://prism//lib/prism/dot_visitor.rb#567
def visit_block_parameters_node(node); end
- # Dispatch enter and leave events for BreakNode nodes.
+ # Visit a BreakNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1324
+ # source://prism//lib/prism/dot_visitor.rb#610
def visit_break_node(node); end
- # Dispatch enter and leave events for CallAndWriteNode nodes.
+ # Visit a CallAndWriteNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1330
+ # source://prism//lib/prism/dot_visitor.rb#633
def visit_call_and_write_node(node); end
- # Dispatch enter and leave events for CallNode nodes.
+ # Visit a CallNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1336
+ # source://prism//lib/prism/dot_visitor.rb#679
def visit_call_node(node); end
- # Dispatch enter and leave events for CallOperatorWriteNode nodes.
+ # Visit a CallOperatorWriteNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1342
+ # source://prism//lib/prism/dot_visitor.rb#737
def visit_call_operator_write_node(node); end
- # Dispatch enter and leave events for CallOrWriteNode nodes.
+ # Visit a CallOrWriteNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1348
+ # source://prism//lib/prism/dot_visitor.rb#786
def visit_call_or_write_node(node); end
- # Dispatch enter and leave events for CapturePatternNode nodes.
+ # Visit a CallTargetNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#832
+ def visit_call_target_node(node); end
+
+ # Visit a CapturePatternNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1354
+ # source://prism//lib/prism/dot_visitor.rb#862
def visit_capture_pattern_node(node); end
- # Dispatch enter and leave events for CaseNode nodes.
+ # Visit a CaseMatchNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1360
+ # source://prism//lib/prism/dot_visitor.rb#887
+ def visit_case_match_node(node); end
+
+ # Visit a CaseNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#932
def visit_case_node(node); end
- # Dispatch enter and leave events for ClassNode nodes.
+ # Visit a ClassNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1366
+ # source://prism//lib/prism/dot_visitor.rb#977
def visit_class_node(node); end
- # Dispatch enter and leave events for ClassVariableAndWriteNode nodes.
+ # Visit a ClassVariableAndWriteNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1372
+ # source://prism//lib/prism/dot_visitor.rb#1024
def visit_class_variable_and_write_node(node); end
- # Dispatch enter and leave events for ClassVariableOperatorWriteNode nodes.
+ # Visit a ClassVariableOperatorWriteNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1378
+ # source://prism//lib/prism/dot_visitor.rb#1051
def visit_class_variable_operator_write_node(node); end
- # Dispatch enter and leave events for ClassVariableOrWriteNode nodes.
+ # Visit a ClassVariableOrWriteNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1384
+ # source://prism//lib/prism/dot_visitor.rb#1081
def visit_class_variable_or_write_node(node); end
- # Dispatch enter and leave events for ClassVariableReadNode nodes.
+ # Visit a ClassVariableReadNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1390
+ # source://prism//lib/prism/dot_visitor.rb#1108
def visit_class_variable_read_node(node); end
- # Dispatch enter and leave events for ClassVariableTargetNode nodes.
+ # Visit a ClassVariableTargetNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1396
+ # source://prism//lib/prism/dot_visitor.rb#1125
def visit_class_variable_target_node(node); end
- # Dispatch enter and leave events for ClassVariableWriteNode nodes.
+ # Visit a ClassVariableWriteNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1402
+ # source://prism//lib/prism/dot_visitor.rb#1142
def visit_class_variable_write_node(node); end
- # Dispatch enter and leave events for ConstantAndWriteNode nodes.
+ # Visit a ConstantAndWriteNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1408
+ # source://prism//lib/prism/dot_visitor.rb#1171
def visit_constant_and_write_node(node); end
- # Dispatch enter and leave events for ConstantOperatorWriteNode nodes.
+ # Visit a ConstantOperatorWriteNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1414
+ # source://prism//lib/prism/dot_visitor.rb#1198
def visit_constant_operator_write_node(node); end
- # Dispatch enter and leave events for ConstantOrWriteNode nodes.
+ # Visit a ConstantOrWriteNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1420
+ # source://prism//lib/prism/dot_visitor.rb#1228
def visit_constant_or_write_node(node); end
- # Dispatch enter and leave events for ConstantPathAndWriteNode nodes.
+ # Visit a ConstantPathAndWriteNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1426
+ # source://prism//lib/prism/dot_visitor.rb#1255
def visit_constant_path_and_write_node(node); end
- # Dispatch enter and leave events for ConstantPathNode nodes.
+ # Visit a ConstantPathNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1432
+ # source://prism//lib/prism/dot_visitor.rb#1280
def visit_constant_path_node(node); end
- # Dispatch enter and leave events for ConstantPathOperatorWriteNode nodes.
+ # Visit a ConstantPathOperatorWriteNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1438
+ # source://prism//lib/prism/dot_visitor.rb#1307
def visit_constant_path_operator_write_node(node); end
- # Dispatch enter and leave events for ConstantPathOrWriteNode nodes.
+ # Visit a ConstantPathOrWriteNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1444
+ # source://prism//lib/prism/dot_visitor.rb#1335
def visit_constant_path_or_write_node(node); end
- # Dispatch enter and leave events for ConstantPathTargetNode nodes.
+ # Visit a ConstantPathTargetNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1450
+ # source://prism//lib/prism/dot_visitor.rb#1360
def visit_constant_path_target_node(node); end
- # Dispatch enter and leave events for ConstantPathWriteNode nodes.
+ # Visit a ConstantPathWriteNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1456
+ # source://prism//lib/prism/dot_visitor.rb#1387
def visit_constant_path_write_node(node); end
- # Dispatch enter and leave events for ConstantReadNode nodes.
+ # Visit a ConstantReadNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1462
+ # source://prism//lib/prism/dot_visitor.rb#1412
def visit_constant_read_node(node); end
- # Dispatch enter and leave events for ConstantTargetNode nodes.
+ # Visit a ConstantTargetNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1468
+ # source://prism//lib/prism/dot_visitor.rb#1429
def visit_constant_target_node(node); end
- # Dispatch enter and leave events for ConstantWriteNode nodes.
+ # Visit a ConstantWriteNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1474
+ # source://prism//lib/prism/dot_visitor.rb#1446
def visit_constant_write_node(node); end
- # Dispatch enter and leave events for DefNode nodes.
+ # Visit a DefNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1480
+ # source://prism//lib/prism/dot_visitor.rb#1473
def visit_def_node(node); end
- # Dispatch enter and leave events for DefinedNode nodes.
+ # Visit a DefinedNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1486
+ # source://prism//lib/prism/dot_visitor.rb#1545
def visit_defined_node(node); end
- # Dispatch enter and leave events for ElseNode nodes.
+ # Visit a ElseNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1492
+ # source://prism//lib/prism/dot_visitor.rb#1576
def visit_else_node(node); end
- # Dispatch enter and leave events for EmbeddedStatementsNode nodes.
+ # Visit a EmbeddedStatementsNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1498
+ # source://prism//lib/prism/dot_visitor.rb#1604
def visit_embedded_statements_node(node); end
- # Dispatch enter and leave events for EmbeddedVariableNode nodes.
+ # Visit a EmbeddedVariableNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1504
+ # source://prism//lib/prism/dot_visitor.rb#1630
def visit_embedded_variable_node(node); end
- # Dispatch enter and leave events for EnsureNode nodes.
+ # Visit a EnsureNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1510
+ # source://prism//lib/prism/dot_visitor.rb#1651
def visit_ensure_node(node); end
- # Dispatch enter and leave events for FalseNode nodes.
+ # Visit a FalseNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1516
+ # source://prism//lib/prism/dot_visitor.rb#1677
def visit_false_node(node); end
- # Dispatch enter and leave events for FindPatternNode nodes.
+ # Visit a FindPatternNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1522
+ # source://prism//lib/prism/dot_visitor.rb#1691
def visit_find_pattern_node(node); end
- # Dispatch enter and leave events for FlipFlopNode nodes.
+ # Visit a FlipFlopNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1528
+ # source://prism//lib/prism/dot_visitor.rb#1742
def visit_flip_flop_node(node); end
- # Dispatch enter and leave events for FloatNode nodes.
+ # Visit a FloatNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1534
+ # source://prism//lib/prism/dot_visitor.rb#1774
def visit_float_node(node); end
- # Dispatch enter and leave events for ForNode nodes.
+ # Visit a ForNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1540
+ # source://prism//lib/prism/dot_visitor.rb#1788
def visit_for_node(node); end
- # Dispatch enter and leave events for ForwardingArgumentsNode nodes.
+ # Visit a ForwardingArgumentsNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1546
+ # source://prism//lib/prism/dot_visitor.rb#1830
def visit_forwarding_arguments_node(node); end
- # Dispatch enter and leave events for ForwardingParameterNode nodes.
+ # Visit a ForwardingParameterNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1552
+ # source://prism//lib/prism/dot_visitor.rb#1844
def visit_forwarding_parameter_node(node); end
- # Dispatch enter and leave events for ForwardingSuperNode nodes.
+ # Visit a ForwardingSuperNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1558
+ # source://prism//lib/prism/dot_visitor.rb#1858
def visit_forwarding_super_node(node); end
- # Dispatch enter and leave events for GlobalVariableAndWriteNode nodes.
+ # Visit a GlobalVariableAndWriteNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1564
+ # source://prism//lib/prism/dot_visitor.rb#1878
def visit_global_variable_and_write_node(node); end
- # Dispatch enter and leave events for GlobalVariableOperatorWriteNode nodes.
+ # Visit a GlobalVariableOperatorWriteNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1570
+ # source://prism//lib/prism/dot_visitor.rb#1905
def visit_global_variable_operator_write_node(node); end
- # Dispatch enter and leave events for GlobalVariableOrWriteNode nodes.
+ # Visit a GlobalVariableOrWriteNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1576
+ # source://prism//lib/prism/dot_visitor.rb#1935
def visit_global_variable_or_write_node(node); end
- # Dispatch enter and leave events for GlobalVariableReadNode nodes.
+ # Visit a GlobalVariableReadNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1582
+ # source://prism//lib/prism/dot_visitor.rb#1962
def visit_global_variable_read_node(node); end
- # Dispatch enter and leave events for GlobalVariableTargetNode nodes.
+ # Visit a GlobalVariableTargetNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1588
+ # source://prism//lib/prism/dot_visitor.rb#1979
def visit_global_variable_target_node(node); end
- # Dispatch enter and leave events for GlobalVariableWriteNode nodes.
+ # Visit a GlobalVariableWriteNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1594
+ # source://prism//lib/prism/dot_visitor.rb#1996
def visit_global_variable_write_node(node); end
- # Dispatch enter and leave events for HashNode nodes.
+ # Visit a HashNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1600
+ # source://prism//lib/prism/dot_visitor.rb#2023
def visit_hash_node(node); end
- # Dispatch enter and leave events for HashPatternNode nodes.
+ # Visit a HashPatternNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1606
+ # source://prism//lib/prism/dot_visitor.rb#2056
def visit_hash_pattern_node(node); end
- # Dispatch enter and leave events for IfNode nodes.
+ # Visit a IfNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1612
+ # source://prism//lib/prism/dot_visitor.rb#2105
def visit_if_node(node); end
- # Dispatch enter and leave events for ImaginaryNode nodes.
+ # Visit a ImaginaryNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1618
+ # source://prism//lib/prism/dot_visitor.rb#2150
def visit_imaginary_node(node); end
- # Dispatch enter and leave events for ImplicitNode nodes.
+ # Visit a ImplicitNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1624
+ # source://prism//lib/prism/dot_visitor.rb#2168
def visit_implicit_node(node); end
- # Dispatch enter and leave events for InNode nodes.
+ # Visit a ImplicitRestNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#2186
+ def visit_implicit_rest_node(node); end
+
+ # Visit a InNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1630
+ # source://prism//lib/prism/dot_visitor.rb#2200
def visit_in_node(node); end
- # Dispatch enter and leave events for IndexAndWriteNode nodes.
+ # Visit a IndexAndWriteNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1636
+ # source://prism//lib/prism/dot_visitor.rb#2232
def visit_index_and_write_node(node); end
- # Dispatch enter and leave events for IndexOperatorWriteNode nodes.
+ # Visit a IndexOperatorWriteNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1642
+ # source://prism//lib/prism/dot_visitor.rb#2285
def visit_index_operator_write_node(node); end
- # Dispatch enter and leave events for IndexOrWriteNode nodes.
+ # Visit a IndexOrWriteNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1648
+ # source://prism//lib/prism/dot_visitor.rb#2341
def visit_index_or_write_node(node); end
- # Dispatch enter and leave events for InstanceVariableAndWriteNode nodes.
+ # Visit a IndexTargetNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#2394
+ def visit_index_target_node(node); end
+
+ # Visit a InstanceVariableAndWriteNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1654
+ # source://prism//lib/prism/dot_visitor.rb#2433
def visit_instance_variable_and_write_node(node); end
- # Dispatch enter and leave events for InstanceVariableOperatorWriteNode nodes.
+ # Visit a InstanceVariableOperatorWriteNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1660
+ # source://prism//lib/prism/dot_visitor.rb#2460
def visit_instance_variable_operator_write_node(node); end
- # Dispatch enter and leave events for InstanceVariableOrWriteNode nodes.
+ # Visit a InstanceVariableOrWriteNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1666
+ # source://prism//lib/prism/dot_visitor.rb#2490
def visit_instance_variable_or_write_node(node); end
- # Dispatch enter and leave events for InstanceVariableReadNode nodes.
+ # Visit a InstanceVariableReadNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1672
+ # source://prism//lib/prism/dot_visitor.rb#2517
def visit_instance_variable_read_node(node); end
- # Dispatch enter and leave events for InstanceVariableTargetNode nodes.
+ # Visit a InstanceVariableTargetNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1678
+ # source://prism//lib/prism/dot_visitor.rb#2534
def visit_instance_variable_target_node(node); end
- # Dispatch enter and leave events for InstanceVariableWriteNode nodes.
+ # Visit a InstanceVariableWriteNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1684
+ # source://prism//lib/prism/dot_visitor.rb#2551
def visit_instance_variable_write_node(node); end
- # Dispatch enter and leave events for IntegerNode nodes.
+ # Visit a IntegerNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1690
+ # source://prism//lib/prism/dot_visitor.rb#2578
def visit_integer_node(node); end
- # Dispatch enter and leave events for InterpolatedMatchLastLineNode nodes.
+ # Visit a InterpolatedMatchLastLineNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1696
+ # source://prism//lib/prism/dot_visitor.rb#2595
def visit_interpolated_match_last_line_node(node); end
- # Dispatch enter and leave events for InterpolatedRegularExpressionNode nodes.
+ # Visit a InterpolatedRegularExpressionNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1702
+ # source://prism//lib/prism/dot_visitor.rb#2631
def visit_interpolated_regular_expression_node(node); end
- # Dispatch enter and leave events for InterpolatedStringNode nodes.
+ # Visit a InterpolatedStringNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1708
+ # source://prism//lib/prism/dot_visitor.rb#2667
def visit_interpolated_string_node(node); end
- # Dispatch enter and leave events for InterpolatedSymbolNode nodes.
+ # Visit a InterpolatedSymbolNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1714
+ # source://prism//lib/prism/dot_visitor.rb#2704
def visit_interpolated_symbol_node(node); end
- # Dispatch enter and leave events for InterpolatedXStringNode nodes.
+ # Visit a InterpolatedXStringNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1720
+ # source://prism//lib/prism/dot_visitor.rb#2741
def visit_interpolated_x_string_node(node); end
- # Dispatch enter and leave events for KeywordHashNode nodes.
+ # Visit a KeywordHashNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1726
+ # source://prism//lib/prism/dot_visitor.rb#2774
def visit_keyword_hash_node(node); end
- # Dispatch enter and leave events for KeywordRestParameterNode nodes.
+ # Visit a KeywordRestParameterNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1732
+ # source://prism//lib/prism/dot_visitor.rb#2804
def visit_keyword_rest_parameter_node(node); end
- # Dispatch enter and leave events for LambdaNode nodes.
+ # Visit a LambdaNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1738
+ # source://prism//lib/prism/dot_visitor.rb#2829
def visit_lambda_node(node); end
- # Dispatch enter and leave events for LocalVariableAndWriteNode nodes.
+ # Visit a LocalVariableAndWriteNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1744
+ # source://prism//lib/prism/dot_visitor.rb#2870
def visit_local_variable_and_write_node(node); end
- # Dispatch enter and leave events for LocalVariableOperatorWriteNode nodes.
+ # Visit a LocalVariableOperatorWriteNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1750
+ # source://prism//lib/prism/dot_visitor.rb#2900
def visit_local_variable_operator_write_node(node); end
- # Dispatch enter and leave events for LocalVariableOrWriteNode nodes.
+ # Visit a LocalVariableOrWriteNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1756
+ # source://prism//lib/prism/dot_visitor.rb#2933
def visit_local_variable_or_write_node(node); end
- # Dispatch enter and leave events for LocalVariableReadNode nodes.
+ # Visit a LocalVariableReadNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1762
+ # source://prism//lib/prism/dot_visitor.rb#2963
def visit_local_variable_read_node(node); end
- # Dispatch enter and leave events for LocalVariableTargetNode nodes.
+ # Visit a LocalVariableTargetNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1768
+ # source://prism//lib/prism/dot_visitor.rb#2983
def visit_local_variable_target_node(node); end
- # Dispatch enter and leave events for LocalVariableWriteNode nodes.
+ # Visit a LocalVariableWriteNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1774
+ # source://prism//lib/prism/dot_visitor.rb#3003
def visit_local_variable_write_node(node); end
- # Dispatch enter and leave events for MatchLastLineNode nodes.
+ # Visit a MatchLastLineNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1780
+ # source://prism//lib/prism/dot_visitor.rb#3033
def visit_match_last_line_node(node); end
- # Dispatch enter and leave events for MatchPredicateNode nodes.
+ # Visit a MatchPredicateNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1786
+ # source://prism//lib/prism/dot_visitor.rb#3062
def visit_match_predicate_node(node); end
- # Dispatch enter and leave events for MatchRequiredNode nodes.
+ # Visit a MatchRequiredNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1792
+ # source://prism//lib/prism/dot_visitor.rb#3087
def visit_match_required_node(node); end
- # Dispatch enter and leave events for MatchWriteNode nodes.
+ # Visit a MatchWriteNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1798
+ # source://prism//lib/prism/dot_visitor.rb#3112
def visit_match_write_node(node); end
- # Dispatch enter and leave events for MissingNode nodes.
+ # Visit a MissingNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1804
+ # source://prism//lib/prism/dot_visitor.rb#3143
def visit_missing_node(node); end
- # Dispatch enter and leave events for ModuleNode nodes.
+ # Visit a ModuleNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1810
+ # source://prism//lib/prism/dot_visitor.rb#3157
def visit_module_node(node); end
- # Dispatch enter and leave events for MultiTargetNode nodes.
+ # Visit a MultiTargetNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1816
+ # source://prism//lib/prism/dot_visitor.rb#3193
def visit_multi_target_node(node); end
- # Dispatch enter and leave events for MultiWriteNode nodes.
+ # Visit a MultiWriteNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1822
+ # source://prism//lib/prism/dot_visitor.rb#3249
def visit_multi_write_node(node); end
- # Dispatch enter and leave events for NextNode nodes.
+ # Visit a NextNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1828
+ # source://prism//lib/prism/dot_visitor.rb#3312
def visit_next_node(node); end
- # Dispatch enter and leave events for NilNode nodes.
+ # Visit a NilNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1834
+ # source://prism//lib/prism/dot_visitor.rb#3335
def visit_nil_node(node); end
- # Dispatch enter and leave events for NoKeywordsParameterNode nodes.
+ # Visit a NoKeywordsParameterNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1840
+ # source://prism//lib/prism/dot_visitor.rb#3349
def visit_no_keywords_parameter_node(node); end
- # Dispatch enter and leave events for NumberedReferenceReadNode nodes.
+ # Visit a NumberedParametersNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#3369
+ def visit_numbered_parameters_node(node); end
+
+ # Visit a NumberedReferenceReadNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1846
+ # source://prism//lib/prism/dot_visitor.rb#3386
def visit_numbered_reference_read_node(node); end
- # Dispatch enter and leave events for OptionalKeywordParameterNode nodes.
+ # Visit a OptionalKeywordParameterNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1852
+ # source://prism//lib/prism/dot_visitor.rb#3403
def visit_optional_keyword_parameter_node(node); end
- # Dispatch enter and leave events for OptionalParameterNode nodes.
+ # Visit a OptionalParameterNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1858
+ # source://prism//lib/prism/dot_visitor.rb#3427
def visit_optional_parameter_node(node); end
- # Dispatch enter and leave events for OrNode nodes.
+ # Visit a OrNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1864
+ # source://prism//lib/prism/dot_visitor.rb#3454
def visit_or_node(node); end
- # Dispatch enter and leave events for ParametersNode nodes.
+ # Visit a ParametersNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1870
+ # source://prism//lib/prism/dot_visitor.rb#3479
def visit_parameters_node(node); end
- # Dispatch enter and leave events for ParenthesesNode nodes.
+ # Visit a ParenthesesNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1876
+ # source://prism//lib/prism/dot_visitor.rb#3563
def visit_parentheses_node(node); end
- # Dispatch enter and leave events for PinnedExpressionNode nodes.
+ # Visit a PinnedExpressionNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1882
+ # source://prism//lib/prism/dot_visitor.rb#3589
def visit_pinned_expression_node(node); end
- # Dispatch enter and leave events for PinnedVariableNode nodes.
+ # Visit a PinnedVariableNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1888
+ # source://prism//lib/prism/dot_visitor.rb#3616
def visit_pinned_variable_node(node); end
- # Dispatch enter and leave events for PostExecutionNode nodes.
+ # Visit a PostExecutionNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1894
+ # source://prism//lib/prism/dot_visitor.rb#3637
def visit_post_execution_node(node); end
- # Dispatch enter and leave events for PreExecutionNode nodes.
+ # Visit a PreExecutionNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1900
+ # source://prism//lib/prism/dot_visitor.rb#3666
def visit_pre_execution_node(node); end
- # Dispatch enter and leave events for ProgramNode nodes.
+ # Visit a ProgramNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1906
+ # source://prism//lib/prism/dot_visitor.rb#3695
def visit_program_node(node); end
- # Dispatch enter and leave events for RangeNode nodes.
+ # Visit a RangeNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1912
+ # source://prism//lib/prism/dot_visitor.rb#3716
def visit_range_node(node); end
- # Dispatch enter and leave events for RationalNode nodes.
+ # Visit a RationalNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1918
+ # source://prism//lib/prism/dot_visitor.rb#3748
def visit_rational_node(node); end
- # Dispatch enter and leave events for RedoNode nodes.
+ # Visit a RedoNode node.
#
- # source://prism//lib/prism/dispatcher.rb#1924
+ # source://prism//lib/prism/dot_visitor.rb#3766
def visit_redo_node(node); end
- # Dispatch enter and leave events for RegularExpressionNode nodes.
+ # Visit a RegularExpressionNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#3780
+ def visit_regular_expression_node(node); end
+
+ # Visit a RequiredKeywordParameterNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#3809
+ def visit_required_keyword_parameter_node(node); end
+
+ # Visit a RequiredParameterNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#3829
+ def visit_required_parameter_node(node); end
+
+ # Visit a RescueModifierNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#3846
+ def visit_rescue_modifier_node(node); end
+
+ # Visit a RescueNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#3871
+ def visit_rescue_node(node); end
+
+ # Visit a RestParameterNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#3924
+ def visit_rest_parameter_node(node); end
+
+ # Visit a RetryNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#3949
+ def visit_retry_node(node); end
+
+ # Visit a ReturnNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#3963
+ def visit_return_node(node); end
+
+ # Visit a SelfNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#3986
+ def visit_self_node(node); end
+
+ # Visit a SingletonClassNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#4000
+ def visit_singleton_class_node(node); end
+
+ # Visit a SourceEncodingNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#4036
+ def visit_source_encoding_node(node); end
+
+ # Visit a SourceFileNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#4050
+ def visit_source_file_node(node); end
+
+ # Visit a SourceLineNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#4067
+ def visit_source_line_node(node); end
+
+ # Visit a SplatNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#4081
+ def visit_splat_node(node); end
+
+ # Visit a StatementsNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#4104
+ def visit_statements_node(node); end
+
+ # Visit a StringNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#4131
+ def visit_string_node(node); end
+
+ # Visit a SuperNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#4164
+ def visit_super_node(node); end
+
+ # Visit a SymbolNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#4203
+ def visit_symbol_node(node); end
+
+ # Visit a TrueNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#4238
+ def visit_true_node(node); end
+
+ # Visit a UndefNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#4252
+ def visit_undef_node(node); end
+
+ # Visit a UnlessNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#4282
+ def visit_unless_node(node); end
+
+ # Visit a UntilNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#4325
+ def visit_until_node(node); end
+
+ # Visit a WhenNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#4360
+ def visit_when_node(node); end
+
+ # Visit a WhileNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#4396
+ def visit_while_node(node); end
+
+ # Visit a XStringNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#4431
+ def visit_x_string_node(node); end
+
+ # Visit a YieldNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#4460
+ def visit_yield_node(node); end
+
+ private
+
+ # Inspect a node that has arguments_node_flags flags to display the flags as a
+ # comma-separated list.
#
- # source://prism//lib/prism/dispatcher.rb#1930
- def visit_regular_expression_node(node); end
+ # source://prism//lib/prism/dot_visitor.rb#4506
+ def arguments_node_flags_inspect(node); end
- # Dispatch enter and leave events for RequiredKeywordParameterNode nodes.
+ # Inspect a node that has array_node_flags flags to display the flags as a
+ # comma-separated list.
#
- # source://prism//lib/prism/dispatcher.rb#1936
- def visit_required_keyword_parameter_node(node); end
+ # source://prism//lib/prism/dot_visitor.rb#4514
+ def array_node_flags_inspect(node); end
- # Dispatch enter and leave events for RequiredParameterNode nodes.
+ # Inspect a node that has call_node_flags flags to display the flags as a
+ # comma-separated list.
#
- # source://prism//lib/prism/dispatcher.rb#1942
- def visit_required_parameter_node(node); end
+ # source://prism//lib/prism/dot_visitor.rb#4522
+ def call_node_flags_inspect(node); end
- # Dispatch enter and leave events for RescueModifierNode nodes.
+ # Inspect a node that has encoding_flags flags to display the flags as a
+ # comma-separated list.
#
- # source://prism//lib/prism/dispatcher.rb#1948
- def visit_rescue_modifier_node(node); end
+ # source://prism//lib/prism/dot_visitor.rb#4532
+ def encoding_flags_inspect(node); end
- # Dispatch enter and leave events for RescueNode nodes.
+ # Inspect a node that has integer_base_flags flags to display the flags as a
+ # comma-separated list.
#
- # source://prism//lib/prism/dispatcher.rb#1954
- def visit_rescue_node(node); end
+ # source://prism//lib/prism/dot_visitor.rb#4541
+ def integer_base_flags_inspect(node); end
- # Dispatch enter and leave events for RestParameterNode nodes.
+ # Inspect a node that has keyword_hash_node_flags flags to display the flags as a
+ # comma-separated list.
#
- # source://prism//lib/prism/dispatcher.rb#1960
- def visit_rest_parameter_node(node); end
+ # source://prism//lib/prism/dot_visitor.rb#4552
+ def keyword_hash_node_flags_inspect(node); end
- # Dispatch enter and leave events for RetryNode nodes.
+ # Inspect a location to display the start and end line and column numbers.
#
- # source://prism//lib/prism/dispatcher.rb#1966
- def visit_retry_node(node); end
+ # source://prism//lib/prism/dot_visitor.rb#4500
+ def location_inspect(location); end
- # Dispatch enter and leave events for ReturnNode nodes.
+ # Inspect a node that has loop_flags flags to display the flags as a
+ # comma-separated list.
#
- # source://prism//lib/prism/dispatcher.rb#1972
- def visit_return_node(node); end
+ # source://prism//lib/prism/dot_visitor.rb#4560
+ def loop_flags_inspect(node); end
- # Dispatch enter and leave events for SelfNode nodes.
+ # Generate a unique node ID for a node throughout the digraph.
#
- # source://prism//lib/prism/dispatcher.rb#1978
- def visit_self_node(node); end
+ # source://prism//lib/prism/dot_visitor.rb#4495
+ def node_id(node); end
- # Dispatch enter and leave events for SingletonClassNode nodes.
+ # Inspect a node that has range_flags flags to display the flags as a
+ # comma-separated list.
#
- # source://prism//lib/prism/dispatcher.rb#1984
- def visit_singleton_class_node(node); end
+ # source://prism//lib/prism/dot_visitor.rb#4568
+ def range_flags_inspect(node); end
- # Dispatch enter and leave events for SourceEncodingNode nodes.
+ # Inspect a node that has regular_expression_flags flags to display the flags as a
+ # comma-separated list.
#
- # source://prism//lib/prism/dispatcher.rb#1990
- def visit_source_encoding_node(node); end
+ # source://prism//lib/prism/dot_visitor.rb#4576
+ def regular_expression_flags_inspect(node); end
- # Dispatch enter and leave events for SourceFileNode nodes.
+ # Inspect a node that has string_flags flags to display the flags as a
+ # comma-separated list.
#
- # source://prism//lib/prism/dispatcher.rb#1996
- def visit_source_file_node(node); end
+ # source://prism//lib/prism/dot_visitor.rb#4594
+ def string_flags_inspect(node); end
- # Dispatch enter and leave events for SourceLineNode nodes.
+ # Inspect a node that has symbol_flags flags to display the flags as a
+ # comma-separated list.
#
- # source://prism//lib/prism/dispatcher.rb#2002
- def visit_source_line_node(node); end
+ # source://prism//lib/prism/dot_visitor.rb#4604
+ def symbol_flags_inspect(node); end
+end
- # Dispatch enter and leave events for SplatNode nodes.
+# source://prism//lib/prism/dot_visitor.rb#58
+class Prism::DotVisitor::Digraph
+ # @return [Digraph] a new instance of Digraph
#
- # source://prism//lib/prism/dispatcher.rb#2008
- def visit_splat_node(node); end
+ # source://prism//lib/prism/dot_visitor.rb#61
+ def initialize; end
- # Dispatch enter and leave events for StatementsNode nodes.
- #
- # source://prism//lib/prism/dispatcher.rb#2014
- def visit_statements_node(node); end
+ # source://prism//lib/prism/dot_visitor.rb#75
+ def edge(value); end
- # Dispatch enter and leave events for StringConcatNode nodes.
+ # Returns the value of attribute edges.
#
- # source://prism//lib/prism/dispatcher.rb#2020
- def visit_string_concat_node(node); end
+ # source://prism//lib/prism/dot_visitor.rb#59
+ def edges; end
- # Dispatch enter and leave events for StringNode nodes.
- #
- # source://prism//lib/prism/dispatcher.rb#2026
- def visit_string_node(node); end
+ # source://prism//lib/prism/dot_visitor.rb#67
+ def node(value); end
- # Dispatch enter and leave events for SuperNode nodes.
+ # Returns the value of attribute nodes.
#
- # source://prism//lib/prism/dispatcher.rb#2032
- def visit_super_node(node); end
+ # source://prism//lib/prism/dot_visitor.rb#59
+ def nodes; end
- # Dispatch enter and leave events for SymbolNode nodes.
- #
- # source://prism//lib/prism/dispatcher.rb#2038
- def visit_symbol_node(node); end
+ # source://prism//lib/prism/dot_visitor.rb#79
+ def to_dot; end
- # Dispatch enter and leave events for TrueNode nodes.
+ # source://prism//lib/prism/dot_visitor.rb#71
+ def waypoint(value); end
+
+ # Returns the value of attribute waypoints.
#
- # source://prism//lib/prism/dispatcher.rb#2044
- def visit_true_node(node); end
+ # source://prism//lib/prism/dot_visitor.rb#59
+ def waypoints; end
+end
- # Dispatch enter and leave events for UndefNode nodes.
+# source://prism//lib/prism/dot_visitor.rb#14
+class Prism::DotVisitor::Field
+ # @return [Field] a new instance of Field
#
- # source://prism//lib/prism/dispatcher.rb#2050
- def visit_undef_node(node); end
+ # source://prism//lib/prism/dot_visitor.rb#17
+ def initialize(name, value, port); end
- # Dispatch enter and leave events for UnlessNode nodes.
+ # Returns the value of attribute name.
#
- # source://prism//lib/prism/dispatcher.rb#2056
- def visit_unless_node(node); end
+ # source://prism//lib/prism/dot_visitor.rb#15
+ def name; end
- # Dispatch enter and leave events for UntilNode nodes.
+ # Returns the value of attribute port.
#
- # source://prism//lib/prism/dispatcher.rb#2062
- def visit_until_node(node); end
+ # source://prism//lib/prism/dot_visitor.rb#15
+ def port; end
- # Dispatch enter and leave events for WhenNode nodes.
+ # source://prism//lib/prism/dot_visitor.rb#23
+ def to_dot; end
+
+ # Returns the value of attribute value.
#
- # source://prism//lib/prism/dispatcher.rb#2068
- def visit_when_node(node); end
+ # source://prism//lib/prism/dot_visitor.rb#15
+ def value; end
+end
- # Dispatch enter and leave events for WhileNode nodes.
+# source://prism//lib/prism/dot_visitor.rb#32
+class Prism::DotVisitor::Table
+ # @return [Table] a new instance of Table
#
- # source://prism//lib/prism/dispatcher.rb#2074
- def visit_while_node(node); end
+ # source://prism//lib/prism/dot_visitor.rb#35
+ def initialize(name); end
- # Dispatch enter and leave events for XStringNode nodes.
+ # source://prism//lib/prism/dot_visitor.rb#40
+ def field(name, value = T.unsafe(nil), port: T.unsafe(nil)); end
+
+ # Returns the value of attribute fields.
#
- # source://prism//lib/prism/dispatcher.rb#2080
- def visit_x_string_node(node); end
+ # source://prism//lib/prism/dot_visitor.rb#33
+ def fields; end
- # Dispatch enter and leave events for YieldNode nodes.
+ # Returns the value of attribute name.
#
- # source://prism//lib/prism/dispatcher.rb#2086
- def visit_yield_node(node); end
+ # source://prism//lib/prism/dot_visitor.rb#33
+ def name; end
+
+ # source://prism//lib/prism/dot_visitor.rb#44
+ def to_dot; end
end
# Represents an `else` clause in a `case`, `if`, or `unless` statement.
@@ -9798,13 +11249,13 @@ end
# if a then b else c end
# ^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#5234
+# source://prism//lib/prism/node.rb#5564
class Prism::ElseNode < ::Prism::Node
# def initialize: (else_keyword_loc: Location, statements: StatementsNode?, end_keyword_loc: Location?, location: Location) -> void
#
# @return [ElseNode] a new instance of ElseNode
#
- # source://prism//lib/prism/node.rb#5245
+ # source://prism//lib/prism/node.rb#5575
sig do
params(
else_keyword_loc: Prism::Location,
@@ -9817,42 +11268,42 @@ class Prism::ElseNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#5253
+ # source://prism//lib/prism/node.rb#5583
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#5258
+ # source://prism//lib/prism/node.rb#5588
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#5270
+ # source://prism//lib/prism/node.rb#5600
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#5263
+ # source://prism//lib/prism/node.rb#5593
def compact_child_nodes; end
# def copy: (**params) -> ElseNode
#
- # source://prism//lib/prism/node.rb#5275
+ # source://prism//lib/prism/node.rb#5605
sig { params(params: T.untyped).returns(Prism::ElseNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#5258
+ # source://prism//lib/prism/node.rb#5588
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#5288
+ # source://prism//lib/prism/node.rb#5618
sig do
params(
keys: T::Array[Symbol]
@@ -9862,36 +11313,36 @@ class Prism::ElseNode < ::Prism::Node
# def else_keyword: () -> String
#
- # source://prism//lib/prism/node.rb#5293
+ # source://prism//lib/prism/node.rb#5623
sig { returns(String) }
def else_keyword; end
# attr_reader else_keyword_loc: Location
#
- # source://prism//lib/prism/node.rb#5236
+ # source://prism//lib/prism/node.rb#5566
sig { returns(Prism::Location) }
def else_keyword_loc; end
# def end_keyword: () -> String?
#
- # source://prism//lib/prism/node.rb#5298
+ # source://prism//lib/prism/node.rb#5628
sig { returns(T.nilable(String)) }
def end_keyword; end
# attr_reader end_keyword_loc: Location?
#
- # source://prism//lib/prism/node.rb#5242
+ # source://prism//lib/prism/node.rb#5572
sig { returns(T.nilable(Prism::Location)) }
def end_keyword_loc; end
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#5303
+ # source://prism//lib/prism/node.rb#5633
def inspect(inspector = T.unsafe(nil)); end
# attr_reader statements: StatementsNode?
#
- # source://prism//lib/prism/node.rb#5239
+ # source://prism//lib/prism/node.rb#5569
sig { returns(T.nilable(Prism::StatementsNode)) }
def statements; end
@@ -9910,7 +11361,7 @@ class Prism::ElseNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#5330
+ # source://prism//lib/prism/node.rb#5660
def type; end
class << self
@@ -9921,7 +11372,7 @@ class Prism::ElseNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#5340
+ # source://prism//lib/prism/node.rb#5670
def type; end
end
end
@@ -9929,12 +11380,19 @@ end
# EmbDocComment objects correspond to comments that are surrounded by =begin
# and =end.
#
-# source://prism//lib/prism/parse_result.rb#231
+# source://prism//lib/prism/parse_result.rb#260
class Prism::EmbDocComment < ::Prism::Comment
# Returns a string representation of this comment.
#
- # source://prism//lib/prism/parse_result.rb#233
+ # source://prism//lib/prism/parse_result.rb#267
def inspect; end
+
+ # This can only be true for inline comments.
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/parse_result.rb#262
+ def trailing?; end
end
# Represents an interpolated set of statements.
@@ -9942,13 +11400,13 @@ end
# "foo #{bar}"
# ^^^^^^
#
-# source://prism//lib/prism/node.rb#5349
+# source://prism//lib/prism/node.rb#5679
class Prism::EmbeddedStatementsNode < ::Prism::Node
# def initialize: (opening_loc: Location, statements: StatementsNode?, closing_loc: Location, location: Location) -> void
#
# @return [EmbeddedStatementsNode] a new instance of EmbeddedStatementsNode
#
- # source://prism//lib/prism/node.rb#5360
+ # source://prism//lib/prism/node.rb#5690
sig do
params(
opening_loc: Prism::Location,
@@ -9961,54 +11419,54 @@ class Prism::EmbeddedStatementsNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#5368
+ # source://prism//lib/prism/node.rb#5698
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#5373
+ # source://prism//lib/prism/node.rb#5703
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def closing: () -> String
#
- # source://prism//lib/prism/node.rb#5413
+ # source://prism//lib/prism/node.rb#5743
sig { returns(String) }
def closing; end
# attr_reader closing_loc: Location
#
- # source://prism//lib/prism/node.rb#5357
+ # source://prism//lib/prism/node.rb#5687
sig { returns(Prism::Location) }
def closing_loc; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#5385
+ # source://prism//lib/prism/node.rb#5715
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#5378
+ # source://prism//lib/prism/node.rb#5708
def compact_child_nodes; end
# def copy: (**params) -> EmbeddedStatementsNode
#
- # source://prism//lib/prism/node.rb#5390
+ # source://prism//lib/prism/node.rb#5720
sig { params(params: T.untyped).returns(Prism::EmbeddedStatementsNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#5373
+ # source://prism//lib/prism/node.rb#5703
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#5403
+ # source://prism//lib/prism/node.rb#5733
sig do
params(
keys: T::Array[Symbol]
@@ -10018,24 +11476,24 @@ class Prism::EmbeddedStatementsNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#5418
+ # source://prism//lib/prism/node.rb#5748
def inspect(inspector = T.unsafe(nil)); end
# def opening: () -> String
#
- # source://prism//lib/prism/node.rb#5408
+ # source://prism//lib/prism/node.rb#5738
sig { returns(String) }
def opening; end
# attr_reader opening_loc: Location
#
- # source://prism//lib/prism/node.rb#5351
+ # source://prism//lib/prism/node.rb#5681
sig { returns(Prism::Location) }
def opening_loc; end
# attr_reader statements: StatementsNode?
#
- # source://prism//lib/prism/node.rb#5354
+ # source://prism//lib/prism/node.rb#5684
sig { returns(T.nilable(Prism::StatementsNode)) }
def statements; end
@@ -10054,7 +11512,7 @@ class Prism::EmbeddedStatementsNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#5445
+ # source://prism//lib/prism/node.rb#5775
def type; end
class << self
@@ -10065,7 +11523,7 @@ class Prism::EmbeddedStatementsNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#5455
+ # source://prism//lib/prism/node.rb#5785
def type; end
end
end
@@ -10075,54 +11533,54 @@ end
# "foo #@bar"
# ^^^^^
#
-# source://prism//lib/prism/node.rb#5464
+# source://prism//lib/prism/node.rb#5794
class Prism::EmbeddedVariableNode < ::Prism::Node
# def initialize: (operator_loc: Location, variable: Node, location: Location) -> void
#
# @return [EmbeddedVariableNode] a new instance of EmbeddedVariableNode
#
- # source://prism//lib/prism/node.rb#5472
+ # source://prism//lib/prism/node.rb#5802
sig { params(operator_loc: Prism::Location, variable: Prism::Node, location: Prism::Location).void }
def initialize(operator_loc, variable, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#5479
+ # source://prism//lib/prism/node.rb#5809
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#5484
+ # source://prism//lib/prism/node.rb#5814
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#5494
+ # source://prism//lib/prism/node.rb#5824
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#5489
+ # source://prism//lib/prism/node.rb#5819
def compact_child_nodes; end
# def copy: (**params) -> EmbeddedVariableNode
#
- # source://prism//lib/prism/node.rb#5499
+ # source://prism//lib/prism/node.rb#5829
sig { params(params: T.untyped).returns(Prism::EmbeddedVariableNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#5484
+ # source://prism//lib/prism/node.rb#5814
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#5511
+ # source://prism//lib/prism/node.rb#5841
sig do
params(
keys: T::Array[Symbol]
@@ -10132,18 +11590,18 @@ class Prism::EmbeddedVariableNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#5521
+ # source://prism//lib/prism/node.rb#5851
def inspect(inspector = T.unsafe(nil)); end
# def operator: () -> String
#
- # source://prism//lib/prism/node.rb#5516
+ # source://prism//lib/prism/node.rb#5846
sig { returns(String) }
def operator; end
# attr_reader operator_loc: Location
#
- # source://prism//lib/prism/node.rb#5466
+ # source://prism//lib/prism/node.rb#5796
sig { returns(Prism::Location) }
def operator_loc; end
@@ -10162,12 +11620,12 @@ class Prism::EmbeddedVariableNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#5543
+ # source://prism//lib/prism/node.rb#5873
def type; end
# attr_reader variable: Node
#
- # source://prism//lib/prism/node.rb#5469
+ # source://prism//lib/prism/node.rb#5799
sig { returns(Prism::Node) }
def variable; end
@@ -10179,11 +11637,26 @@ class Prism::EmbeddedVariableNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#5553
+ # source://prism//lib/prism/node.rb#5883
def type; end
end
end
+# Flags for nodes that have unescaped content.
+#
+# source://prism//lib/prism/node.rb#17301
+module Prism::EncodingFlags; end
+
+# internal bytes forced the encoding to binary
+#
+# source://prism//lib/prism/node.rb#17306
+Prism::EncodingFlags::FORCED_BINARY_ENCODING = T.let(T.unsafe(nil), Integer)
+
+# internal bytes forced the encoding to UTF-8
+#
+# source://prism//lib/prism/node.rb#17303
+Prism::EncodingFlags::FORCED_UTF8_ENCODING = T.let(T.unsafe(nil), Integer)
+
# Represents an `ensure` clause in a `begin` statement.
#
# begin
@@ -10193,13 +11666,13 @@ end
# bar
# end
#
-# source://prism//lib/prism/node.rb#5566
+# source://prism//lib/prism/node.rb#5896
class Prism::EnsureNode < ::Prism::Node
# def initialize: (ensure_keyword_loc: Location, statements: StatementsNode?, end_keyword_loc: Location, location: Location) -> void
#
# @return [EnsureNode] a new instance of EnsureNode
#
- # source://prism//lib/prism/node.rb#5577
+ # source://prism//lib/prism/node.rb#5907
sig do
params(
ensure_keyword_loc: Prism::Location,
@@ -10212,42 +11685,42 @@ class Prism::EnsureNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#5585
+ # source://prism//lib/prism/node.rb#5915
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#5590
+ # source://prism//lib/prism/node.rb#5920
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#5602
+ # source://prism//lib/prism/node.rb#5932
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#5595
+ # source://prism//lib/prism/node.rb#5925
def compact_child_nodes; end
# def copy: (**params) -> EnsureNode
#
- # source://prism//lib/prism/node.rb#5607
+ # source://prism//lib/prism/node.rb#5937
sig { params(params: T.untyped).returns(Prism::EnsureNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#5590
+ # source://prism//lib/prism/node.rb#5920
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#5620
+ # source://prism//lib/prism/node.rb#5950
sig do
params(
keys: T::Array[Symbol]
@@ -10257,36 +11730,36 @@ class Prism::EnsureNode < ::Prism::Node
# def end_keyword: () -> String
#
- # source://prism//lib/prism/node.rb#5630
+ # source://prism//lib/prism/node.rb#5960
sig { returns(String) }
def end_keyword; end
# attr_reader end_keyword_loc: Location
#
- # source://prism//lib/prism/node.rb#5574
+ # source://prism//lib/prism/node.rb#5904
sig { returns(Prism::Location) }
def end_keyword_loc; end
# def ensure_keyword: () -> String
#
- # source://prism//lib/prism/node.rb#5625
+ # source://prism//lib/prism/node.rb#5955
sig { returns(String) }
def ensure_keyword; end
# attr_reader ensure_keyword_loc: Location
#
- # source://prism//lib/prism/node.rb#5568
+ # source://prism//lib/prism/node.rb#5898
sig { returns(Prism::Location) }
def ensure_keyword_loc; end
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#5635
+ # source://prism//lib/prism/node.rb#5965
def inspect(inspector = T.unsafe(nil)); end
# attr_reader statements: StatementsNode?
#
- # source://prism//lib/prism/node.rb#5571
+ # source://prism//lib/prism/node.rb#5901
sig { returns(T.nilable(Prism::StatementsNode)) }
def statements; end
@@ -10305,7 +11778,7 @@ class Prism::EnsureNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#5662
+ # source://prism//lib/prism/node.rb#5992
def type; end
class << self
@@ -10316,7 +11789,7 @@ class Prism::EnsureNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#5672
+ # source://prism//lib/prism/node.rb#6002
def type; end
end
end
@@ -10326,54 +11799,54 @@ end
# false
# ^^^^^
#
-# source://prism//lib/prism/node.rb#5681
+# source://prism//lib/prism/node.rb#6011
class Prism::FalseNode < ::Prism::Node
# def initialize: (location: Location) -> void
#
# @return [FalseNode] a new instance of FalseNode
#
- # source://prism//lib/prism/node.rb#5683
+ # source://prism//lib/prism/node.rb#6013
sig { params(location: Prism::Location).void }
def initialize(location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#5688
+ # source://prism//lib/prism/node.rb#6018
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#5693
+ # source://prism//lib/prism/node.rb#6023
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#5703
+ # source://prism//lib/prism/node.rb#6033
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#5698
+ # source://prism//lib/prism/node.rb#6028
def compact_child_nodes; end
# def copy: (**params) -> FalseNode
#
- # source://prism//lib/prism/node.rb#5708
+ # source://prism//lib/prism/node.rb#6038
sig { params(params: T.untyped).returns(Prism::FalseNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#5693
+ # source://prism//lib/prism/node.rb#6023
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#5718
+ # source://prism//lib/prism/node.rb#6048
sig do
params(
keys: T::Array[Symbol]
@@ -10383,7 +11856,7 @@ class Prism::FalseNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#5723
+ # source://prism//lib/prism/node.rb#6053
def inspect(inspector = T.unsafe(nil)); end
# Sometimes you want to check an instance of a node against a list of
@@ -10401,7 +11874,7 @@ class Prism::FalseNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#5742
+ # source://prism//lib/prism/node.rb#6072
def type; end
class << self
@@ -10412,7 +11885,7 @@ class Prism::FalseNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#5752
+ # source://prism//lib/prism/node.rb#6082
def type; end
end
end
@@ -10428,13 +11901,13 @@ end
# foo in Foo(*bar, baz, *qux)
# ^^^^^^^^^^^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#5767
+# source://prism//lib/prism/node.rb#6097
class Prism::FindPatternNode < ::Prism::Node
# def initialize: (constant: Node?, left: Node, requireds: Array[Node], right: Node, opening_loc: Location?, closing_loc: Location?, location: Location) -> void
#
# @return [FindPatternNode] a new instance of FindPatternNode
#
- # source://prism//lib/prism/node.rb#5787
+ # source://prism//lib/prism/node.rb#6117
sig do
params(
constant: T.nilable(Prism::Node),
@@ -10450,60 +11923,60 @@ class Prism::FindPatternNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#5798
+ # source://prism//lib/prism/node.rb#6128
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#5803
+ # source://prism//lib/prism/node.rb#6133
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def closing: () -> String?
#
- # source://prism//lib/prism/node.rb#5849
+ # source://prism//lib/prism/node.rb#6179
sig { returns(T.nilable(String)) }
def closing; end
# attr_reader closing_loc: Location?
#
- # source://prism//lib/prism/node.rb#5784
+ # source://prism//lib/prism/node.rb#6114
sig { returns(T.nilable(Prism::Location)) }
def closing_loc; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#5818
+ # source://prism//lib/prism/node.rb#6148
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#5808
+ # source://prism//lib/prism/node.rb#6138
def compact_child_nodes; end
# attr_reader constant: Node?
#
- # source://prism//lib/prism/node.rb#5769
+ # source://prism//lib/prism/node.rb#6099
sig { returns(T.nilable(Prism::Node)) }
def constant; end
# def copy: (**params) -> FindPatternNode
#
- # source://prism//lib/prism/node.rb#5823
+ # source://prism//lib/prism/node.rb#6153
sig { params(params: T.untyped).returns(Prism::FindPatternNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#5803
+ # source://prism//lib/prism/node.rb#6133
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#5839
+ # source://prism//lib/prism/node.rb#6169
sig do
params(
keys: T::Array[Symbol]
@@ -10513,36 +11986,36 @@ class Prism::FindPatternNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#5854
+ # source://prism//lib/prism/node.rb#6184
def inspect(inspector = T.unsafe(nil)); end
# attr_reader left: Node
#
- # source://prism//lib/prism/node.rb#5772
+ # source://prism//lib/prism/node.rb#6102
sig { returns(Prism::Node) }
def left; end
# def opening: () -> String?
#
- # source://prism//lib/prism/node.rb#5844
+ # source://prism//lib/prism/node.rb#6174
sig { returns(T.nilable(String)) }
def opening; end
# attr_reader opening_loc: Location?
#
- # source://prism//lib/prism/node.rb#5781
+ # source://prism//lib/prism/node.rb#6111
sig { returns(T.nilable(Prism::Location)) }
def opening_loc; end
# attr_reader requireds: Array[Node]
#
- # source://prism//lib/prism/node.rb#5775
+ # source://prism//lib/prism/node.rb#6105
sig { returns(T::Array[Prism::Node]) }
def requireds; end
# attr_reader right: Node
#
- # source://prism//lib/prism/node.rb#5778
+ # source://prism//lib/prism/node.rb#6108
sig { returns(Prism::Node) }
def right; end
@@ -10561,7 +12034,7 @@ class Prism::FindPatternNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#5886
+ # source://prism//lib/prism/node.rb#6216
def type; end
class << self
@@ -10572,7 +12045,7 @@ class Prism::FindPatternNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#5896
+ # source://prism//lib/prism/node.rb#6226
def type; end
end
end
@@ -10582,62 +12055,62 @@ end
# baz if foo .. bar
# ^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#5905
+# source://prism//lib/prism/node.rb#6235
class Prism::FlipFlopNode < ::Prism::Node
- # def initialize: (left: Node?, right: Node?, operator_loc: Location, flags: Integer, location: Location) -> void
+ # def initialize: (flags: Integer, left: Node?, right: Node?, operator_loc: Location, location: Location) -> void
#
# @return [FlipFlopNode] a new instance of FlipFlopNode
#
- # source://prism//lib/prism/node.rb#5919
+ # source://prism//lib/prism/node.rb#6249
sig do
params(
+ flags: Integer,
left: T.nilable(Prism::Node),
right: T.nilable(Prism::Node),
operator_loc: Prism::Location,
- flags: Integer,
location: Prism::Location
).void
end
- def initialize(left, right, operator_loc, flags, location); end
+ def initialize(flags, left, right, operator_loc, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#5928
+ # source://prism//lib/prism/node.rb#6258
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#5933
+ # source://prism//lib/prism/node.rb#6263
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#5946
+ # source://prism//lib/prism/node.rb#6276
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#5938
+ # source://prism//lib/prism/node.rb#6268
def compact_child_nodes; end
# def copy: (**params) -> FlipFlopNode
#
- # source://prism//lib/prism/node.rb#5951
+ # source://prism//lib/prism/node.rb#6281
sig { params(params: T.untyped).returns(Prism::FlipFlopNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#5933
+ # source://prism//lib/prism/node.rb#6263
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#5965
+ # source://prism//lib/prism/node.rb#6295
sig do
params(
keys: T::Array[Symbol]
@@ -10649,36 +12122,36 @@ class Prism::FlipFlopNode < ::Prism::Node
#
# @return [Boolean]
#
- # source://prism//lib/prism/node.rb#5975
+ # source://prism//lib/prism/node.rb#6300
sig { returns(T::Boolean) }
def exclude_end?; end
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#5980
+ # source://prism//lib/prism/node.rb#6310
def inspect(inspector = T.unsafe(nil)); end
# attr_reader left: Node?
#
- # source://prism//lib/prism/node.rb#5907
+ # source://prism//lib/prism/node.rb#6240
sig { returns(T.nilable(Prism::Node)) }
def left; end
# def operator: () -> String
#
- # source://prism//lib/prism/node.rb#5970
+ # source://prism//lib/prism/node.rb#6305
sig { returns(String) }
def operator; end
# attr_reader operator_loc: Location
#
- # source://prism//lib/prism/node.rb#5913
+ # source://prism//lib/prism/node.rb#6246
sig { returns(Prism::Location) }
def operator_loc; end
# attr_reader right: Node?
#
- # source://prism//lib/prism/node.rb#5910
+ # source://prism//lib/prism/node.rb#6243
sig { returns(T.nilable(Prism::Node)) }
def right; end
@@ -10697,14 +12170,14 @@ class Prism::FlipFlopNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#6014
+ # source://prism//lib/prism/node.rb#6344
def type; end
private
# Returns the value of attribute flags.
#
- # source://prism//lib/prism/node.rb#5916
+ # source://prism//lib/prism/node.rb#6237
sig { returns(Integer) }
def flags; end
@@ -10716,7 +12189,7 @@ class Prism::FlipFlopNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#6024
+ # source://prism//lib/prism/node.rb#6354
def type; end
end
end
@@ -10726,54 +12199,54 @@ end
# 1.0
# ^^^
#
-# source://prism//lib/prism/node.rb#6033
+# source://prism//lib/prism/node.rb#6363
class Prism::FloatNode < ::Prism::Node
# def initialize: (location: Location) -> void
#
# @return [FloatNode] a new instance of FloatNode
#
- # source://prism//lib/prism/node.rb#6035
+ # source://prism//lib/prism/node.rb#6365
sig { params(location: Prism::Location).void }
def initialize(location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#6040
+ # source://prism//lib/prism/node.rb#6370
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#6045
+ # source://prism//lib/prism/node.rb#6375
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#6055
+ # source://prism//lib/prism/node.rb#6385
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#6050
+ # source://prism//lib/prism/node.rb#6380
def compact_child_nodes; end
# def copy: (**params) -> FloatNode
#
- # source://prism//lib/prism/node.rb#6060
+ # source://prism//lib/prism/node.rb#6390
sig { params(params: T.untyped).returns(Prism::FloatNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#6045
+ # source://prism//lib/prism/node.rb#6375
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#6070
+ # source://prism//lib/prism/node.rb#6400
sig do
params(
keys: T::Array[Symbol]
@@ -10783,7 +12256,7 @@ class Prism::FloatNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#6075
+ # source://prism//lib/prism/node.rb#6405
def inspect(inspector = T.unsafe(nil)); end
# Sometimes you want to check an instance of a node against a list of
@@ -10801,12 +12274,12 @@ class Prism::FloatNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#6094
+ # source://prism//lib/prism/node.rb#6424
def type; end
# Returns the value of the node as a Ruby Float.
#
- # source://prism//lib/prism/node_ext.rb#21
+ # source://prism//lib/prism/node_ext.rb#62
def value; end
class << self
@@ -10817,7 +12290,7 @@ class Prism::FloatNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#6104
+ # source://prism//lib/prism/node.rb#6434
def type; end
end
end
@@ -10827,13 +12300,13 @@ end
# for i in a end
# ^^^^^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#6113
+# source://prism//lib/prism/node.rb#6443
class Prism::ForNode < ::Prism::Node
# def initialize: (index: Node, collection: Node, statements: StatementsNode?, for_keyword_loc: Location, in_keyword_loc: Location, do_keyword_loc: Location?, end_keyword_loc: Location, location: Location) -> void
#
# @return [ForNode] a new instance of ForNode
#
- # source://prism//lib/prism/node.rb#6136
+ # source://prism//lib/prism/node.rb#6466
sig do
params(
index: Prism::Node,
@@ -10850,48 +12323,48 @@ class Prism::ForNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#6148
+ # source://prism//lib/prism/node.rb#6478
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#6153
+ # source://prism//lib/prism/node.rb#6483
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# attr_reader collection: Node
#
- # source://prism//lib/prism/node.rb#6118
+ # source://prism//lib/prism/node.rb#6448
sig { returns(Prism::Node) }
def collection; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#6167
+ # source://prism//lib/prism/node.rb#6497
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#6158
+ # source://prism//lib/prism/node.rb#6488
def compact_child_nodes; end
# def copy: (**params) -> ForNode
#
- # source://prism//lib/prism/node.rb#6172
+ # source://prism//lib/prism/node.rb#6502
sig { params(params: T.untyped).returns(Prism::ForNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#6153
+ # source://prism//lib/prism/node.rb#6483
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#6189
+ # source://prism//lib/prism/node.rb#6519
sig do
params(
keys: T::Array[Symbol]
@@ -10901,66 +12374,66 @@ class Prism::ForNode < ::Prism::Node
# def do_keyword: () -> String?
#
- # source://prism//lib/prism/node.rb#6204
+ # source://prism//lib/prism/node.rb#6534
sig { returns(T.nilable(String)) }
def do_keyword; end
# attr_reader do_keyword_loc: Location?
#
- # source://prism//lib/prism/node.rb#6130
+ # source://prism//lib/prism/node.rb#6460
sig { returns(T.nilable(Prism::Location)) }
def do_keyword_loc; end
# def end_keyword: () -> String
#
- # source://prism//lib/prism/node.rb#6209
+ # source://prism//lib/prism/node.rb#6539
sig { returns(String) }
def end_keyword; end
# attr_reader end_keyword_loc: Location
#
- # source://prism//lib/prism/node.rb#6133
+ # source://prism//lib/prism/node.rb#6463
sig { returns(Prism::Location) }
def end_keyword_loc; end
# def for_keyword: () -> String
#
- # source://prism//lib/prism/node.rb#6194
+ # source://prism//lib/prism/node.rb#6524
sig { returns(String) }
def for_keyword; end
# attr_reader for_keyword_loc: Location
#
- # source://prism//lib/prism/node.rb#6124
+ # source://prism//lib/prism/node.rb#6454
sig { returns(Prism::Location) }
def for_keyword_loc; end
# def in_keyword: () -> String
#
- # source://prism//lib/prism/node.rb#6199
+ # source://prism//lib/prism/node.rb#6529
sig { returns(String) }
def in_keyword; end
# attr_reader in_keyword_loc: Location
#
- # source://prism//lib/prism/node.rb#6127
+ # source://prism//lib/prism/node.rb#6457
sig { returns(Prism::Location) }
def in_keyword_loc; end
# attr_reader index: Node
#
- # source://prism//lib/prism/node.rb#6115
+ # source://prism//lib/prism/node.rb#6445
sig { returns(Prism::Node) }
def index; end
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#6214
+ # source://prism//lib/prism/node.rb#6544
def inspect(inspector = T.unsafe(nil)); end
# attr_reader statements: StatementsNode?
#
- # source://prism//lib/prism/node.rb#6121
+ # source://prism//lib/prism/node.rb#6451
sig { returns(T.nilable(Prism::StatementsNode)) }
def statements; end
@@ -10979,7 +12452,7 @@ class Prism::ForNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#6247
+ # source://prism//lib/prism/node.rb#6577
def type; end
class << self
@@ -10990,7 +12463,7 @@ class Prism::ForNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#6257
+ # source://prism//lib/prism/node.rb#6587
def type; end
end
end
@@ -11002,54 +12475,54 @@ end
# ^^^
# end
#
-# source://prism//lib/prism/node.rb#6268
+# source://prism//lib/prism/node.rb#6598
class Prism::ForwardingArgumentsNode < ::Prism::Node
# def initialize: (location: Location) -> void
#
# @return [ForwardingArgumentsNode] a new instance of ForwardingArgumentsNode
#
- # source://prism//lib/prism/node.rb#6270
+ # source://prism//lib/prism/node.rb#6600
sig { params(location: Prism::Location).void }
def initialize(location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#6275
+ # source://prism//lib/prism/node.rb#6605
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#6280
+ # source://prism//lib/prism/node.rb#6610
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#6290
+ # source://prism//lib/prism/node.rb#6620
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#6285
+ # source://prism//lib/prism/node.rb#6615
def compact_child_nodes; end
# def copy: (**params) -> ForwardingArgumentsNode
#
- # source://prism//lib/prism/node.rb#6295
+ # source://prism//lib/prism/node.rb#6625
sig { params(params: T.untyped).returns(Prism::ForwardingArgumentsNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#6280
+ # source://prism//lib/prism/node.rb#6610
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#6305
+ # source://prism//lib/prism/node.rb#6635
sig do
params(
keys: T::Array[Symbol]
@@ -11059,7 +12532,7 @@ class Prism::ForwardingArgumentsNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#6310
+ # source://prism//lib/prism/node.rb#6640
def inspect(inspector = T.unsafe(nil)); end
# Sometimes you want to check an instance of a node against a list of
@@ -11077,7 +12550,7 @@ class Prism::ForwardingArgumentsNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#6329
+ # source://prism//lib/prism/node.rb#6659
def type; end
class << self
@@ -11088,7 +12561,7 @@ class Prism::ForwardingArgumentsNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#6339
+ # source://prism//lib/prism/node.rb#6669
def type; end
end
end
@@ -11099,54 +12572,54 @@ end
# ^^^
# end
#
-# source://prism//lib/prism/node.rb#6349
+# source://prism//lib/prism/node.rb#6679
class Prism::ForwardingParameterNode < ::Prism::Node
# def initialize: (location: Location) -> void
#
# @return [ForwardingParameterNode] a new instance of ForwardingParameterNode
#
- # source://prism//lib/prism/node.rb#6351
+ # source://prism//lib/prism/node.rb#6681
sig { params(location: Prism::Location).void }
def initialize(location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#6356
+ # source://prism//lib/prism/node.rb#6686
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#6361
+ # source://prism//lib/prism/node.rb#6691
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#6371
+ # source://prism//lib/prism/node.rb#6701
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#6366
+ # source://prism//lib/prism/node.rb#6696
def compact_child_nodes; end
# def copy: (**params) -> ForwardingParameterNode
#
- # source://prism//lib/prism/node.rb#6376
+ # source://prism//lib/prism/node.rb#6706
sig { params(params: T.untyped).returns(Prism::ForwardingParameterNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#6361
+ # source://prism//lib/prism/node.rb#6691
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#6386
+ # source://prism//lib/prism/node.rb#6716
sig do
params(
keys: T::Array[Symbol]
@@ -11156,7 +12629,7 @@ class Prism::ForwardingParameterNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#6391
+ # source://prism//lib/prism/node.rb#6721
def inspect(inspector = T.unsafe(nil)); end
# Sometimes you want to check an instance of a node against a list of
@@ -11174,7 +12647,7 @@ class Prism::ForwardingParameterNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#6410
+ # source://prism//lib/prism/node.rb#6740
def type; end
class << self
@@ -11185,7 +12658,7 @@ class Prism::ForwardingParameterNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#6420
+ # source://prism//lib/prism/node.rb#6750
def type; end
end
end
@@ -11195,60 +12668,60 @@ end
# super
# ^^^^^
#
-# source://prism//lib/prism/node.rb#6429
+# source://prism//lib/prism/node.rb#6759
class Prism::ForwardingSuperNode < ::Prism::Node
# def initialize: (block: BlockNode?, location: Location) -> void
#
# @return [ForwardingSuperNode] a new instance of ForwardingSuperNode
#
- # source://prism//lib/prism/node.rb#6434
+ # source://prism//lib/prism/node.rb#6764
sig { params(block: T.nilable(Prism::BlockNode), location: Prism::Location).void }
def initialize(block, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#6440
+ # source://prism//lib/prism/node.rb#6770
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# attr_reader block: BlockNode?
#
- # source://prism//lib/prism/node.rb#6431
+ # source://prism//lib/prism/node.rb#6761
sig { returns(T.nilable(Prism::BlockNode)) }
def block; end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#6445
+ # source://prism//lib/prism/node.rb#6775
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#6457
+ # source://prism//lib/prism/node.rb#6787
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#6450
+ # source://prism//lib/prism/node.rb#6780
def compact_child_nodes; end
# def copy: (**params) -> ForwardingSuperNode
#
- # source://prism//lib/prism/node.rb#6462
+ # source://prism//lib/prism/node.rb#6792
sig { params(params: T.untyped).returns(Prism::ForwardingSuperNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#6445
+ # source://prism//lib/prism/node.rb#6775
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#6473
+ # source://prism//lib/prism/node.rb#6803
sig do
params(
keys: T::Array[Symbol]
@@ -11258,7 +12731,7 @@ class Prism::ForwardingSuperNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#6478
+ # source://prism//lib/prism/node.rb#6808
def inspect(inspector = T.unsafe(nil)); end
# Sometimes you want to check an instance of a node against a list of
@@ -11276,7 +12749,7 @@ class Prism::ForwardingSuperNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#6503
+ # source://prism//lib/prism/node.rb#6833
def type; end
class << self
@@ -11287,7 +12760,7 @@ class Prism::ForwardingSuperNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#6513
+ # source://prism//lib/prism/node.rb#6843
def type; end
end
end
@@ -11297,13 +12770,13 @@ end
# $target &&= value
# ^^^^^^^^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#6522
+# source://prism//lib/prism/node.rb#6852
class Prism::GlobalVariableAndWriteNode < ::Prism::Node
# def initialize: (name: Symbol, name_loc: Location, operator_loc: Location, value: Node, location: Location) -> void
#
# @return [GlobalVariableAndWriteNode] a new instance of GlobalVariableAndWriteNode
#
- # source://prism//lib/prism/node.rb#6536
+ # source://prism//lib/prism/node.rb#6866
sig do
params(
name: Symbol,
@@ -11317,42 +12790,42 @@ class Prism::GlobalVariableAndWriteNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#6545
+ # source://prism//lib/prism/node.rb#6875
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#6550
+ # source://prism//lib/prism/node.rb#6880
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#6560
+ # source://prism//lib/prism/node.rb#6890
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#6555
+ # source://prism//lib/prism/node.rb#6885
def compact_child_nodes; end
# def copy: (**params) -> GlobalVariableAndWriteNode
#
- # source://prism//lib/prism/node.rb#6565
+ # source://prism//lib/prism/node.rb#6895
sig { params(params: T.untyped).returns(Prism::GlobalVariableAndWriteNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#6550
+ # source://prism//lib/prism/node.rb#6880
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#6579
+ # source://prism//lib/prism/node.rb#6909
sig do
params(
keys: T::Array[Symbol]
@@ -11362,30 +12835,30 @@ class Prism::GlobalVariableAndWriteNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#6589
+ # source://prism//lib/prism/node.rb#6919
def inspect(inspector = T.unsafe(nil)); end
# attr_reader name: Symbol
#
- # source://prism//lib/prism/node.rb#6524
+ # source://prism//lib/prism/node.rb#6854
sig { returns(Symbol) }
def name; end
# attr_reader name_loc: Location
#
- # source://prism//lib/prism/node.rb#6527
+ # source://prism//lib/prism/node.rb#6857
sig { returns(Prism::Location) }
def name_loc; end
# def operator: () -> String
#
- # source://prism//lib/prism/node.rb#6584
+ # source://prism//lib/prism/node.rb#6914
sig { returns(String) }
def operator; end
# attr_reader operator_loc: Location
#
- # source://prism//lib/prism/node.rb#6530
+ # source://prism//lib/prism/node.rb#6860
sig { returns(Prism::Location) }
def operator_loc; end
@@ -11404,12 +12877,12 @@ class Prism::GlobalVariableAndWriteNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#6613
+ # source://prism//lib/prism/node.rb#6943
def type; end
# attr_reader value: Node
#
- # source://prism//lib/prism/node.rb#6533
+ # source://prism//lib/prism/node.rb#6863
sig { returns(Prism::Node) }
def value; end
@@ -11421,7 +12894,7 @@ class Prism::GlobalVariableAndWriteNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#6623
+ # source://prism//lib/prism/node.rb#6953
def type; end
end
end
@@ -11431,13 +12904,13 @@ end
# $target += value
# ^^^^^^^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#6632
+# source://prism//lib/prism/node.rb#6962
class Prism::GlobalVariableOperatorWriteNode < ::Prism::Node
# def initialize: (name: Symbol, name_loc: Location, operator_loc: Location, value: Node, operator: Symbol, location: Location) -> void
#
# @return [GlobalVariableOperatorWriteNode] a new instance of GlobalVariableOperatorWriteNode
#
- # source://prism//lib/prism/node.rb#6649
+ # source://prism//lib/prism/node.rb#6979
sig do
params(
name: Symbol,
@@ -11452,42 +12925,42 @@ class Prism::GlobalVariableOperatorWriteNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#6659
+ # source://prism//lib/prism/node.rb#6989
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#6664
+ # source://prism//lib/prism/node.rb#6994
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#6674
+ # source://prism//lib/prism/node.rb#7004
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#6669
+ # source://prism//lib/prism/node.rb#6999
def compact_child_nodes; end
# def copy: (**params) -> GlobalVariableOperatorWriteNode
#
- # source://prism//lib/prism/node.rb#6679
+ # source://prism//lib/prism/node.rb#7009
sig { params(params: T.untyped).returns(Prism::GlobalVariableOperatorWriteNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#6664
+ # source://prism//lib/prism/node.rb#6994
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#6694
+ # source://prism//lib/prism/node.rb#7024
sig do
params(
keys: T::Array[Symbol]
@@ -11497,30 +12970,30 @@ class Prism::GlobalVariableOperatorWriteNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#6699
+ # source://prism//lib/prism/node.rb#7029
def inspect(inspector = T.unsafe(nil)); end
# attr_reader name: Symbol
#
- # source://prism//lib/prism/node.rb#6634
+ # source://prism//lib/prism/node.rb#6964
sig { returns(Symbol) }
def name; end
# attr_reader name_loc: Location
#
- # source://prism//lib/prism/node.rb#6637
+ # source://prism//lib/prism/node.rb#6967
sig { returns(Prism::Location) }
def name_loc; end
# attr_reader operator: Symbol
#
- # source://prism//lib/prism/node.rb#6646
+ # source://prism//lib/prism/node.rb#6976
sig { returns(Symbol) }
def operator; end
# attr_reader operator_loc: Location
#
- # source://prism//lib/prism/node.rb#6640
+ # source://prism//lib/prism/node.rb#6970
sig { returns(Prism::Location) }
def operator_loc; end
@@ -11539,12 +13012,12 @@ class Prism::GlobalVariableOperatorWriteNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#6724
+ # source://prism//lib/prism/node.rb#7054
def type; end
# attr_reader value: Node
#
- # source://prism//lib/prism/node.rb#6643
+ # source://prism//lib/prism/node.rb#6973
sig { returns(Prism::Node) }
def value; end
@@ -11556,7 +13029,7 @@ class Prism::GlobalVariableOperatorWriteNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#6734
+ # source://prism//lib/prism/node.rb#7064
def type; end
end
end
@@ -11566,13 +13039,13 @@ end
# $target ||= value
# ^^^^^^^^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#6743
+# source://prism//lib/prism/node.rb#7073
class Prism::GlobalVariableOrWriteNode < ::Prism::Node
# def initialize: (name: Symbol, name_loc: Location, operator_loc: Location, value: Node, location: Location) -> void
#
# @return [GlobalVariableOrWriteNode] a new instance of GlobalVariableOrWriteNode
#
- # source://prism//lib/prism/node.rb#6757
+ # source://prism//lib/prism/node.rb#7087
sig do
params(
name: Symbol,
@@ -11586,42 +13059,42 @@ class Prism::GlobalVariableOrWriteNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#6766
+ # source://prism//lib/prism/node.rb#7096
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#6771
+ # source://prism//lib/prism/node.rb#7101
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#6781
+ # source://prism//lib/prism/node.rb#7111
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#6776
+ # source://prism//lib/prism/node.rb#7106
def compact_child_nodes; end
# def copy: (**params) -> GlobalVariableOrWriteNode
#
- # source://prism//lib/prism/node.rb#6786
+ # source://prism//lib/prism/node.rb#7116
sig { params(params: T.untyped).returns(Prism::GlobalVariableOrWriteNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#6771
+ # source://prism//lib/prism/node.rb#7101
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#6800
+ # source://prism//lib/prism/node.rb#7130
sig do
params(
keys: T::Array[Symbol]
@@ -11631,30 +13104,30 @@ class Prism::GlobalVariableOrWriteNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#6810
+ # source://prism//lib/prism/node.rb#7140
def inspect(inspector = T.unsafe(nil)); end
# attr_reader name: Symbol
#
- # source://prism//lib/prism/node.rb#6745
+ # source://prism//lib/prism/node.rb#7075
sig { returns(Symbol) }
def name; end
# attr_reader name_loc: Location
#
- # source://prism//lib/prism/node.rb#6748
+ # source://prism//lib/prism/node.rb#7078
sig { returns(Prism::Location) }
def name_loc; end
# def operator: () -> String
#
- # source://prism//lib/prism/node.rb#6805
+ # source://prism//lib/prism/node.rb#7135
sig { returns(String) }
def operator; end
# attr_reader operator_loc: Location
#
- # source://prism//lib/prism/node.rb#6751
+ # source://prism//lib/prism/node.rb#7081
sig { returns(Prism::Location) }
def operator_loc; end
@@ -11673,12 +13146,12 @@ class Prism::GlobalVariableOrWriteNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#6834
+ # source://prism//lib/prism/node.rb#7164
def type; end
# attr_reader value: Node
#
- # source://prism//lib/prism/node.rb#6754
+ # source://prism//lib/prism/node.rb#7084
sig { returns(Prism::Node) }
def value; end
@@ -11690,7 +13163,7 @@ class Prism::GlobalVariableOrWriteNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#6844
+ # source://prism//lib/prism/node.rb#7174
def type; end
end
end
@@ -11700,54 +13173,54 @@ end
# $foo
# ^^^^
#
-# source://prism//lib/prism/node.rb#6853
+# source://prism//lib/prism/node.rb#7183
class Prism::GlobalVariableReadNode < ::Prism::Node
# def initialize: (name: Symbol, location: Location) -> void
#
# @return [GlobalVariableReadNode] a new instance of GlobalVariableReadNode
#
- # source://prism//lib/prism/node.rb#6858
+ # source://prism//lib/prism/node.rb#7188
sig { params(name: Symbol, location: Prism::Location).void }
def initialize(name, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#6864
+ # source://prism//lib/prism/node.rb#7194
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#6869
+ # source://prism//lib/prism/node.rb#7199
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#6879
+ # source://prism//lib/prism/node.rb#7209
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#6874
+ # source://prism//lib/prism/node.rb#7204
def compact_child_nodes; end
# def copy: (**params) -> GlobalVariableReadNode
#
- # source://prism//lib/prism/node.rb#6884
+ # source://prism//lib/prism/node.rb#7214
sig { params(params: T.untyped).returns(Prism::GlobalVariableReadNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#6869
+ # source://prism//lib/prism/node.rb#7199
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#6895
+ # source://prism//lib/prism/node.rb#7225
sig do
params(
keys: T::Array[Symbol]
@@ -11757,12 +13230,12 @@ class Prism::GlobalVariableReadNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#6900
+ # source://prism//lib/prism/node.rb#7230
def inspect(inspector = T.unsafe(nil)); end
# attr_reader name: Symbol
#
- # source://prism//lib/prism/node.rb#6855
+ # source://prism//lib/prism/node.rb#7185
sig { returns(Symbol) }
def name; end
@@ -11781,7 +13254,7 @@ class Prism::GlobalVariableReadNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#6920
+ # source://prism//lib/prism/node.rb#7250
def type; end
class << self
@@ -11792,7 +13265,7 @@ class Prism::GlobalVariableReadNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#6930
+ # source://prism//lib/prism/node.rb#7260
def type; end
end
end
@@ -11802,54 +13275,54 @@ end
# $foo, $bar = baz
# ^^^^ ^^^^
#
-# source://prism//lib/prism/node.rb#6939
+# source://prism//lib/prism/node.rb#7269
class Prism::GlobalVariableTargetNode < ::Prism::Node
# def initialize: (name: Symbol, location: Location) -> void
#
# @return [GlobalVariableTargetNode] a new instance of GlobalVariableTargetNode
#
- # source://prism//lib/prism/node.rb#6944
+ # source://prism//lib/prism/node.rb#7274
sig { params(name: Symbol, location: Prism::Location).void }
def initialize(name, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#6950
+ # source://prism//lib/prism/node.rb#7280
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#6955
+ # source://prism//lib/prism/node.rb#7285
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#6965
+ # source://prism//lib/prism/node.rb#7295
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#6960
+ # source://prism//lib/prism/node.rb#7290
def compact_child_nodes; end
# def copy: (**params) -> GlobalVariableTargetNode
#
- # source://prism//lib/prism/node.rb#6970
+ # source://prism//lib/prism/node.rb#7300
sig { params(params: T.untyped).returns(Prism::GlobalVariableTargetNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#6955
+ # source://prism//lib/prism/node.rb#7285
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#6981
+ # source://prism//lib/prism/node.rb#7311
sig do
params(
keys: T::Array[Symbol]
@@ -11859,12 +13332,12 @@ class Prism::GlobalVariableTargetNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#6986
+ # source://prism//lib/prism/node.rb#7316
def inspect(inspector = T.unsafe(nil)); end
# attr_reader name: Symbol
#
- # source://prism//lib/prism/node.rb#6941
+ # source://prism//lib/prism/node.rb#7271
sig { returns(Symbol) }
def name; end
@@ -11883,7 +13356,7 @@ class Prism::GlobalVariableTargetNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#7006
+ # source://prism//lib/prism/node.rb#7336
def type; end
class << self
@@ -11894,7 +13367,7 @@ class Prism::GlobalVariableTargetNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#7016
+ # source://prism//lib/prism/node.rb#7346
def type; end
end
end
@@ -11904,13 +13377,13 @@ end
# $foo = 1
# ^^^^^^^^
#
-# source://prism//lib/prism/node.rb#7025
+# source://prism//lib/prism/node.rb#7355
class Prism::GlobalVariableWriteNode < ::Prism::Node
# def initialize: (name: Symbol, name_loc: Location, value: Node, operator_loc: Location, location: Location) -> void
#
# @return [GlobalVariableWriteNode] a new instance of GlobalVariableWriteNode
#
- # source://prism//lib/prism/node.rb#7039
+ # source://prism//lib/prism/node.rb#7369
sig do
params(
name: Symbol,
@@ -11924,42 +13397,42 @@ class Prism::GlobalVariableWriteNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#7048
+ # source://prism//lib/prism/node.rb#7378
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#7053
+ # source://prism//lib/prism/node.rb#7383
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#7063
+ # source://prism//lib/prism/node.rb#7393
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#7058
+ # source://prism//lib/prism/node.rb#7388
def compact_child_nodes; end
# def copy: (**params) -> GlobalVariableWriteNode
#
- # source://prism//lib/prism/node.rb#7068
+ # source://prism//lib/prism/node.rb#7398
sig { params(params: T.untyped).returns(Prism::GlobalVariableWriteNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#7053
+ # source://prism//lib/prism/node.rb#7383
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#7082
+ # source://prism//lib/prism/node.rb#7412
sig do
params(
keys: T::Array[Symbol]
@@ -11969,30 +13442,30 @@ class Prism::GlobalVariableWriteNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#7092
+ # source://prism//lib/prism/node.rb#7422
def inspect(inspector = T.unsafe(nil)); end
# attr_reader name: Symbol
#
- # source://prism//lib/prism/node.rb#7027
+ # source://prism//lib/prism/node.rb#7357
sig { returns(Symbol) }
def name; end
# attr_reader name_loc: Location
#
- # source://prism//lib/prism/node.rb#7030
+ # source://prism//lib/prism/node.rb#7360
sig { returns(Prism::Location) }
def name_loc; end
# def operator: () -> String
#
- # source://prism//lib/prism/node.rb#7087
+ # source://prism//lib/prism/node.rb#7417
sig { returns(String) }
def operator; end
# attr_reader operator_loc: Location
#
- # source://prism//lib/prism/node.rb#7036
+ # source://prism//lib/prism/node.rb#7366
sig { returns(Prism::Location) }
def operator_loc; end
@@ -12011,12 +13484,12 @@ class Prism::GlobalVariableWriteNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#7116
+ # source://prism//lib/prism/node.rb#7446
def type; end
# attr_reader value: Node
#
- # source://prism//lib/prism/node.rb#7033
+ # source://prism//lib/prism/node.rb#7363
sig { returns(Prism::Node) }
def value; end
@@ -12028,7 +13501,7 @@ class Prism::GlobalVariableWriteNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#7126
+ # source://prism//lib/prism/node.rb#7456
def type; end
end
end
@@ -12038,13 +13511,13 @@ end
# { a => b }
# ^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#7135
+# source://prism//lib/prism/node.rb#7465
class Prism::HashNode < ::Prism::Node
# def initialize: (opening_loc: Location, elements: Array[Node], closing_loc: Location, location: Location) -> void
#
# @return [HashNode] a new instance of HashNode
#
- # source://prism//lib/prism/node.rb#7146
+ # source://prism//lib/prism/node.rb#7476
sig do
params(
opening_loc: Prism::Location,
@@ -12057,54 +13530,54 @@ class Prism::HashNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#7154
+ # source://prism//lib/prism/node.rb#7484
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#7159
+ # source://prism//lib/prism/node.rb#7489
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def closing: () -> String
#
- # source://prism//lib/prism/node.rb#7197
+ # source://prism//lib/prism/node.rb#7527
sig { returns(String) }
def closing; end
# attr_reader closing_loc: Location
#
- # source://prism//lib/prism/node.rb#7143
+ # source://prism//lib/prism/node.rb#7473
sig { returns(Prism::Location) }
def closing_loc; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#7169
+ # source://prism//lib/prism/node.rb#7499
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#7164
+ # source://prism//lib/prism/node.rb#7494
def compact_child_nodes; end
# def copy: (**params) -> HashNode
#
- # source://prism//lib/prism/node.rb#7174
+ # source://prism//lib/prism/node.rb#7504
sig { params(params: T.untyped).returns(Prism::HashNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#7159
+ # source://prism//lib/prism/node.rb#7489
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#7187
+ # source://prism//lib/prism/node.rb#7517
sig do
params(
keys: T::Array[Symbol]
@@ -12114,24 +13587,24 @@ class Prism::HashNode < ::Prism::Node
# attr_reader elements: Array[Node]
#
- # source://prism//lib/prism/node.rb#7140
+ # source://prism//lib/prism/node.rb#7470
sig { returns(T::Array[Prism::Node]) }
def elements; end
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#7202
+ # source://prism//lib/prism/node.rb#7532
def inspect(inspector = T.unsafe(nil)); end
# def opening: () -> String
#
- # source://prism//lib/prism/node.rb#7192
+ # source://prism//lib/prism/node.rb#7522
sig { returns(String) }
def opening; end
# attr_reader opening_loc: Location
#
- # source://prism//lib/prism/node.rb#7137
+ # source://prism//lib/prism/node.rb#7467
sig { returns(Prism::Location) }
def opening_loc; end
@@ -12150,7 +13623,7 @@ class Prism::HashNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#7224
+ # source://prism//lib/prism/node.rb#7554
def type; end
class << self
@@ -12161,7 +13634,7 @@ class Prism::HashNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#7234
+ # source://prism//lib/prism/node.rb#7564
def type; end
end
end
@@ -12174,13 +13647,13 @@ end
# foo => { a: 1, b: 2, **c }
# ^^^^^^^^^^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#7246
+# source://prism//lib/prism/node.rb#7576
class Prism::HashPatternNode < ::Prism::Node
# def initialize: (constant: Node?, elements: Array[Node], rest: Node?, opening_loc: Location?, closing_loc: Location?, location: Location) -> void
#
# @return [HashPatternNode] a new instance of HashPatternNode
#
- # source://prism//lib/prism/node.rb#7263
+ # source://prism//lib/prism/node.rb#7593
sig do
params(
constant: T.nilable(Prism::Node),
@@ -12195,60 +13668,60 @@ class Prism::HashPatternNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#7273
+ # source://prism//lib/prism/node.rb#7603
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#7278
+ # source://prism//lib/prism/node.rb#7608
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def closing: () -> String?
#
- # source://prism//lib/prism/node.rb#7322
+ # source://prism//lib/prism/node.rb#7652
sig { returns(T.nilable(String)) }
def closing; end
# attr_reader closing_loc: Location?
#
- # source://prism//lib/prism/node.rb#7260
+ # source://prism//lib/prism/node.rb#7590
sig { returns(T.nilable(Prism::Location)) }
def closing_loc; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#7292
+ # source://prism//lib/prism/node.rb#7622
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#7283
+ # source://prism//lib/prism/node.rb#7613
def compact_child_nodes; end
# attr_reader constant: Node?
#
- # source://prism//lib/prism/node.rb#7248
+ # source://prism//lib/prism/node.rb#7578
sig { returns(T.nilable(Prism::Node)) }
def constant; end
# def copy: (**params) -> HashPatternNode
#
- # source://prism//lib/prism/node.rb#7297
+ # source://prism//lib/prism/node.rb#7627
sig { params(params: T.untyped).returns(Prism::HashPatternNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#7278
+ # source://prism//lib/prism/node.rb#7608
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#7312
+ # source://prism//lib/prism/node.rb#7642
sig do
params(
keys: T::Array[Symbol]
@@ -12258,30 +13731,30 @@ class Prism::HashPatternNode < ::Prism::Node
# attr_reader elements: Array[Node]
#
- # source://prism//lib/prism/node.rb#7251
+ # source://prism//lib/prism/node.rb#7581
sig { returns(T::Array[Prism::Node]) }
def elements; end
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#7327
+ # source://prism//lib/prism/node.rb#7657
def inspect(inspector = T.unsafe(nil)); end
# def opening: () -> String?
#
- # source://prism//lib/prism/node.rb#7317
+ # source://prism//lib/prism/node.rb#7647
sig { returns(T.nilable(String)) }
def opening; end
# attr_reader opening_loc: Location?
#
- # source://prism//lib/prism/node.rb#7257
+ # source://prism//lib/prism/node.rb#7587
sig { returns(T.nilable(Prism::Location)) }
def opening_loc; end
# attr_reader rest: Node?
#
- # source://prism//lib/prism/node.rb#7254
+ # source://prism//lib/prism/node.rb#7584
sig { returns(T.nilable(Prism::Node)) }
def rest; end
@@ -12300,7 +13773,7 @@ class Prism::HashPatternNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#7361
+ # source://prism//lib/prism/node.rb#7691
def type; end
class << self
@@ -12311,11 +13784,21 @@ class Prism::HashPatternNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#7371
+ # source://prism//lib/prism/node.rb#7701
def type; end
end
end
+# source://prism//lib/prism/node_ext.rb#35
+module Prism::HeredocQuery
+ # Returns true if this node was represented as a heredoc in the source code.
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node_ext.rb#37
+ def heredoc?; end
+end
+
# Represents the use of the `if` keyword, either in the block form or the modifier form.
#
# bar if foo
@@ -12324,69 +13807,70 @@ end
# if foo then bar end
# ^^^^^^^^^^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#7383
+# source://prism//lib/prism/node.rb#7713
class Prism::IfNode < ::Prism::Node
- # def initialize: (if_keyword_loc: Location?, predicate: Node, statements: StatementsNode?, consequent: Node?, end_keyword_loc: Location?, location: Location) -> void
+ # def initialize: (if_keyword_loc: Location?, predicate: Node, then_keyword_loc: Location?, statements: StatementsNode?, consequent: Node?, end_keyword_loc: Location?, location: Location) -> void
#
# @return [IfNode] a new instance of IfNode
#
- # source://prism//lib/prism/node.rb#7400
+ # source://prism//lib/prism/node.rb#7733
sig do
params(
if_keyword_loc: T.nilable(Prism::Location),
predicate: Prism::Node,
+ then_keyword_loc: T.nilable(Prism::Location),
statements: T.nilable(Prism::StatementsNode),
consequent: T.nilable(Prism::Node),
end_keyword_loc: T.nilable(Prism::Location),
location: Prism::Location
).void
end
- def initialize(if_keyword_loc, predicate, statements, consequent, end_keyword_loc, location); end
+ def initialize(if_keyword_loc, predicate, then_keyword_loc, statements, consequent, end_keyword_loc, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#7410
+ # source://prism//lib/prism/node.rb#7744
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#7419
+ # source://prism//lib/prism/node.rb#7753
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#7433
+ # source://prism//lib/prism/node.rb#7767
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#7424
+ # source://prism//lib/prism/node.rb#7758
def compact_child_nodes; end
# attr_reader consequent: Node?
#
- # source://prism//lib/prism/node.rb#7394
+ # source://prism//lib/prism/node.rb#7727
sig { returns(T.nilable(Prism::Node)) }
def consequent; end
# def copy: (**params) -> IfNode
#
- # source://prism//lib/prism/node.rb#7438
+ # source://prism//lib/prism/node.rb#7772
sig { params(params: T.untyped).returns(Prism::IfNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#7419
+ # source://prism//lib/prism/node.rb#7753
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#7453
+ # source://prism//lib/prism/node.rb#7788
sig do
params(
keys: T::Array[Symbol]
@@ -12396,48 +13880,60 @@ class Prism::IfNode < ::Prism::Node
# def end_keyword: () -> String?
#
- # source://prism//lib/prism/node.rb#7463
+ # source://prism//lib/prism/node.rb#7803
sig { returns(T.nilable(String)) }
def end_keyword; end
# attr_reader end_keyword_loc: Location?
#
- # source://prism//lib/prism/node.rb#7397
+ # source://prism//lib/prism/node.rb#7730
sig { returns(T.nilable(Prism::Location)) }
def end_keyword_loc; end
# def if_keyword: () -> String?
#
- # source://prism//lib/prism/node.rb#7458
+ # source://prism//lib/prism/node.rb#7793
sig { returns(T.nilable(String)) }
def if_keyword; end
# attr_reader if_keyword_loc: Location?
#
- # source://prism//lib/prism/node.rb#7385
+ # source://prism//lib/prism/node.rb#7715
sig { returns(T.nilable(Prism::Location)) }
def if_keyword_loc; end
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#7468
+ # source://prism//lib/prism/node.rb#7808
def inspect(inspector = T.unsafe(nil)); end
# attr_reader predicate: Node
#
- # source://prism//lib/prism/node.rb#7388
+ # source://prism//lib/prism/node.rb#7718
sig { returns(Prism::Node) }
def predicate; end
- # source://prism//lib/prism/node.rb#7414
+ # source://prism//lib/prism/node.rb#7748
def set_newline_flag(newline_marked); end
# attr_reader statements: StatementsNode?
#
- # source://prism//lib/prism/node.rb#7391
+ # source://prism//lib/prism/node.rb#7724
sig { returns(T.nilable(Prism::StatementsNode)) }
def statements; end
+ # def then_keyword: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#7798
+ sig { returns(T.nilable(String)) }
+ def then_keyword; end
+
+ # attr_reader then_keyword_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#7721
+ sig { returns(T.nilable(Prism::Location)) }
+ def then_keyword_loc; end
+
# Sometimes you want to check an instance of a node against a list of
# classes to see what kind of behavior to perform. Usually this is done by
# calling `[cls1, cls2].include?(node.class)` or putting the node into a
@@ -12453,7 +13949,7 @@ class Prism::IfNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#7503
+ # source://prism//lib/prism/node.rb#7844
def type; end
class << self
@@ -12464,7 +13960,7 @@ class Prism::IfNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#7513
+ # source://prism//lib/prism/node.rb#7854
def type; end
end
end
@@ -12474,54 +13970,54 @@ end
# 1.0i
# ^^^^
#
-# source://prism//lib/prism/node.rb#7522
+# source://prism//lib/prism/node.rb#7863
class Prism::ImaginaryNode < ::Prism::Node
# def initialize: (numeric: Node, location: Location) -> void
#
# @return [ImaginaryNode] a new instance of ImaginaryNode
#
- # source://prism//lib/prism/node.rb#7527
+ # source://prism//lib/prism/node.rb#7868
sig { params(numeric: Prism::Node, location: Prism::Location).void }
def initialize(numeric, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#7533
+ # source://prism//lib/prism/node.rb#7874
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#7538
+ # source://prism//lib/prism/node.rb#7879
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#7548
+ # source://prism//lib/prism/node.rb#7889
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#7543
+ # source://prism//lib/prism/node.rb#7884
def compact_child_nodes; end
# def copy: (**params) -> ImaginaryNode
#
- # source://prism//lib/prism/node.rb#7553
+ # source://prism//lib/prism/node.rb#7894
sig { params(params: T.untyped).returns(Prism::ImaginaryNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#7538
+ # source://prism//lib/prism/node.rb#7879
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#7564
+ # source://prism//lib/prism/node.rb#7905
sig do
params(
keys: T::Array[Symbol]
@@ -12531,12 +14027,12 @@ class Prism::ImaginaryNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#7569
+ # source://prism//lib/prism/node.rb#7910
def inspect(inspector = T.unsafe(nil)); end
# attr_reader numeric: Node
#
- # source://prism//lib/prism/node.rb#7524
+ # source://prism//lib/prism/node.rb#7865
sig { returns(Prism::Node) }
def numeric; end
@@ -12555,12 +14051,118 @@ class Prism::ImaginaryNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#7590
+ # source://prism//lib/prism/node.rb#7931
+ def type; end
+
+ # Returns the value of the node as a Ruby Complex.
+ #
+ # source://prism//lib/prism/node_ext.rb#69
+ def value; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#7941
+ def type; end
+ end
+end
+
+# Represents a node that is implicitly being added to the tree but doesn't
+# correspond directly to a node in the source.
+#
+# { foo: }
+# ^^^^
+#
+# { Foo: }
+# ^^^^
+#
+# source://prism//lib/prism/node.rb#7954
+class Prism::ImplicitNode < ::Prism::Node
+ # def initialize: (value: Node, location: Location) -> void
+ #
+ # @return [ImplicitNode] a new instance of ImplicitNode
+ #
+ # source://prism//lib/prism/node.rb#7959
+ sig { params(value: Prism::Node, location: Prism::Location).void }
+ def initialize(value, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#7965
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#7970
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#7980
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#7975
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> ImplicitNode
+ #
+ # source://prism//lib/prism/node.rb#7985
+ sig { params(params: T.untyped).returns(Prism::ImplicitNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#7970
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://prism//lib/prism/node.rb#7996
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(inspector: NodeInspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#8001
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#8022
def type; end
- # Returns the value of the node as a Ruby Complex.
+ # attr_reader value: Node
#
- # source://prism//lib/prism/node_ext.rb#28
+ # source://prism//lib/prism/node.rb#7956
+ sig { returns(Prism::Node) }
def value; end
class << self
@@ -12571,68 +14173,73 @@ class Prism::ImaginaryNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#7600
+ # source://prism//lib/prism/node.rb#8032
def type; end
end
end
-# Represents a node that is implicitly being added to the tree but doesn't
-# correspond directly to a node in the source.
+# Represents using a trailing comma to indicate an implicit rest parameter.
#
-# { foo: }
-# ^^^^
+# foo { |bar,| }
+# ^
#
-# { Foo: }
-# ^^^^
+# foo in [bar,]
+# ^
#
-# source://prism//lib/prism/node.rb#7613
-class Prism::ImplicitNode < ::Prism::Node
- # def initialize: (value: Node, location: Location) -> void
+# for foo, in bar do end
+# ^
+#
+# foo, = bar
+# ^
+#
+# source://prism//lib/prism/node.rb#8050
+class Prism::ImplicitRestNode < ::Prism::Node
+ # def initialize: (location: Location) -> void
#
- # @return [ImplicitNode] a new instance of ImplicitNode
+ # @return [ImplicitRestNode] a new instance of ImplicitRestNode
#
- # source://prism//lib/prism/node.rb#7618
- sig { params(value: Prism::Node, location: Prism::Location).void }
- def initialize(value, location); end
+ # source://prism//lib/prism/node.rb#8052
+ sig { params(location: Prism::Location).void }
+ def initialize(location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#7624
+ # source://prism//lib/prism/node.rb#8057
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#7629
+ # source://prism//lib/prism/node.rb#8062
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#7639
+ # source://prism//lib/prism/node.rb#8072
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#7634
+ # source://prism//lib/prism/node.rb#8067
def compact_child_nodes; end
- # def copy: (**params) -> ImplicitNode
+ # def copy: (**params) -> ImplicitRestNode
#
- # source://prism//lib/prism/node.rb#7644
- sig { params(params: T.untyped).returns(Prism::ImplicitNode) }
+ # source://prism//lib/prism/node.rb#8077
+ sig { params(params: T.untyped).returns(Prism::ImplicitRestNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#7629
+ # source://prism//lib/prism/node.rb#8062
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#7655
+ # source://prism//lib/prism/node.rb#8087
sig do
params(
keys: T::Array[Symbol]
@@ -12642,7 +14249,7 @@ class Prism::ImplicitNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#7660
+ # source://prism//lib/prism/node.rb#8092
def inspect(inspector = T.unsafe(nil)); end
# Sometimes you want to check an instance of a node against a list of
@@ -12660,15 +14267,9 @@ class Prism::ImplicitNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#7681
+ # source://prism//lib/prism/node.rb#8111
def type; end
- # attr_reader value: Node
- #
- # source://prism//lib/prism/node.rb#7615
- sig { returns(Prism::Node) }
- def value; end
-
class << self
# Similar to #type, this method returns a symbol that you can use for
# splitting on the type of the node without having to do a long === chain.
@@ -12677,7 +14278,7 @@ class Prism::ImplicitNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#7691
+ # source://prism//lib/prism/node.rb#8121
def type; end
end
end
@@ -12687,13 +14288,13 @@ end
# case a; in b then c end
# ^^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#7700
+# source://prism//lib/prism/node.rb#8130
class Prism::InNode < ::Prism::Node
# def initialize: (pattern: Node, statements: StatementsNode?, in_loc: Location, then_loc: Location?, location: Location) -> void
#
# @return [InNode] a new instance of InNode
#
- # source://prism//lib/prism/node.rb#7714
+ # source://prism//lib/prism/node.rb#8144
sig do
params(
pattern: Prism::Node,
@@ -12707,42 +14308,42 @@ class Prism::InNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#7723
+ # source://prism//lib/prism/node.rb#8153
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#7728
+ # source://prism//lib/prism/node.rb#8158
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#7741
+ # source://prism//lib/prism/node.rb#8171
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#7733
+ # source://prism//lib/prism/node.rb#8163
def compact_child_nodes; end
# def copy: (**params) -> InNode
#
- # source://prism//lib/prism/node.rb#7746
+ # source://prism//lib/prism/node.rb#8176
sig { params(params: T.untyped).returns(Prism::InNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#7728
+ # source://prism//lib/prism/node.rb#8158
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#7760
+ # source://prism//lib/prism/node.rb#8190
sig do
params(
keys: T::Array[Symbol]
@@ -12752,42 +14353,42 @@ class Prism::InNode < ::Prism::Node
# def in: () -> String
#
- # source://prism//lib/prism/node.rb#7765
+ # source://prism//lib/prism/node.rb#8195
sig { returns(String) }
def in; end
# attr_reader in_loc: Location
#
- # source://prism//lib/prism/node.rb#7708
+ # source://prism//lib/prism/node.rb#8138
sig { returns(Prism::Location) }
def in_loc; end
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#7775
+ # source://prism//lib/prism/node.rb#8205
def inspect(inspector = T.unsafe(nil)); end
# attr_reader pattern: Node
#
- # source://prism//lib/prism/node.rb#7702
+ # source://prism//lib/prism/node.rb#8132
sig { returns(Prism::Node) }
def pattern; end
# attr_reader statements: StatementsNode?
#
- # source://prism//lib/prism/node.rb#7705
+ # source://prism//lib/prism/node.rb#8135
sig { returns(T.nilable(Prism::StatementsNode)) }
def statements; end
# def then: () -> String?
#
- # source://prism//lib/prism/node.rb#7770
+ # source://prism//lib/prism/node.rb#8200
sig { returns(T.nilable(String)) }
def then; end
# attr_reader then_loc: Location?
#
- # source://prism//lib/prism/node.rb#7711
+ # source://prism//lib/prism/node.rb#8141
sig { returns(T.nilable(Prism::Location)) }
def then_loc; end
@@ -12806,7 +14407,7 @@ class Prism::InNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#7804
+ # source://prism//lib/prism/node.rb#8234
def type; end
class << self
@@ -12817,7 +14418,7 @@ class Prism::InNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#7814
+ # source://prism//lib/prism/node.rb#8244
def type; end
end
end
@@ -12827,103 +14428,111 @@ end
# foo.bar[baz] &&= value
# ^^^^^^^^^^^^^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#7823
+# source://prism//lib/prism/node.rb#8253
class Prism::IndexAndWriteNode < ::Prism::Node
- # def initialize: (receiver: Node?, call_operator_loc: Location?, opening_loc: Location, arguments: ArgumentsNode?, closing_loc: Location, block: Node?, flags: Integer, operator_loc: Location, value: Node, location: Location) -> void
+ # def initialize: (flags: Integer, receiver: Node?, call_operator_loc: Location?, opening_loc: Location, arguments: ArgumentsNode?, closing_loc: Location, block: Node?, operator_loc: Location, value: Node, location: Location) -> void
#
# @return [IndexAndWriteNode] a new instance of IndexAndWriteNode
#
- # source://prism//lib/prism/node.rb#7852
+ # source://prism//lib/prism/node.rb#8282
sig do
params(
+ flags: Integer,
receiver: T.nilable(Prism::Node),
call_operator_loc: T.nilable(Prism::Location),
opening_loc: Prism::Location,
arguments: T.nilable(Prism::ArgumentsNode),
closing_loc: Prism::Location,
block: T.nilable(Prism::Node),
- flags: Integer,
operator_loc: Prism::Location,
value: Prism::Node,
location: Prism::Location
).void
end
- def initialize(receiver, call_operator_loc, opening_loc, arguments, closing_loc, block, flags, operator_loc, value, location); end
+ def initialize(flags, receiver, call_operator_loc, opening_loc, arguments, closing_loc, block, operator_loc, value, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#7866
+ # source://prism//lib/prism/node.rb#8296
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# attr_reader arguments: ArgumentsNode?
#
- # source://prism//lib/prism/node.rb#7834
+ # source://prism//lib/prism/node.rb#8267
sig { returns(T.nilable(Prism::ArgumentsNode)) }
def arguments; end
+ # def attribute_write?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#8355
+ sig { returns(T::Boolean) }
+ def attribute_write?; end
+
# attr_reader block: Node?
#
- # source://prism//lib/prism/node.rb#7840
+ # source://prism//lib/prism/node.rb#8273
sig { returns(T.nilable(Prism::Node)) }
def block; end
# def call_operator: () -> String?
#
- # source://prism//lib/prism/node.rb#7915
+ # source://prism//lib/prism/node.rb#8360
sig { returns(T.nilable(String)) }
def call_operator; end
# attr_reader call_operator_loc: Location?
#
- # source://prism//lib/prism/node.rb#7828
+ # source://prism//lib/prism/node.rb#8261
sig { returns(T.nilable(Prism::Location)) }
def call_operator_loc; end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#7871
+ # source://prism//lib/prism/node.rb#8301
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def closing: () -> String
#
- # source://prism//lib/prism/node.rb#7925
+ # source://prism//lib/prism/node.rb#8370
sig { returns(String) }
def closing; end
# attr_reader closing_loc: Location
#
- # source://prism//lib/prism/node.rb#7837
+ # source://prism//lib/prism/node.rb#8270
sig { returns(Prism::Location) }
def closing_loc; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#7886
+ # source://prism//lib/prism/node.rb#8316
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#7876
+ # source://prism//lib/prism/node.rb#8306
def compact_child_nodes; end
# def copy: (**params) -> IndexAndWriteNode
#
- # source://prism//lib/prism/node.rb#7891
+ # source://prism//lib/prism/node.rb#8321
sig { params(params: T.untyped).returns(Prism::IndexAndWriteNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#7871
+ # source://prism//lib/prism/node.rb#8301
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#7910
+ # source://prism//lib/prism/node.rb#8340
sig do
params(
keys: T::Array[Symbol]
@@ -12933,36 +14542,36 @@ class Prism::IndexAndWriteNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#7945
+ # source://prism//lib/prism/node.rb#8380
def inspect(inspector = T.unsafe(nil)); end
# def opening: () -> String
#
- # source://prism//lib/prism/node.rb#7920
+ # source://prism//lib/prism/node.rb#8365
sig { returns(String) }
def opening; end
# attr_reader opening_loc: Location
#
- # source://prism//lib/prism/node.rb#7831
+ # source://prism//lib/prism/node.rb#8264
sig { returns(Prism::Location) }
def opening_loc; end
# def operator: () -> String
#
- # source://prism//lib/prism/node.rb#7940
+ # source://prism//lib/prism/node.rb#8375
sig { returns(String) }
def operator; end
# attr_reader operator_loc: Location
#
- # source://prism//lib/prism/node.rb#7846
+ # source://prism//lib/prism/node.rb#8276
sig { returns(Prism::Location) }
def operator_loc; end
# attr_reader receiver: Node?
#
- # source://prism//lib/prism/node.rb#7825
+ # source://prism//lib/prism/node.rb#8258
sig { returns(T.nilable(Prism::Node)) }
def receiver; end
@@ -12970,7 +14579,7 @@ class Prism::IndexAndWriteNode < ::Prism::Node
#
# @return [Boolean]
#
- # source://prism//lib/prism/node.rb#7930
+ # source://prism//lib/prism/node.rb#8345
sig { returns(T::Boolean) }
def safe_navigation?; end
@@ -12989,12 +14598,12 @@ class Prism::IndexAndWriteNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#7990
+ # source://prism//lib/prism/node.rb#8425
def type; end
# attr_reader value: Node
#
- # source://prism//lib/prism/node.rb#7849
+ # source://prism//lib/prism/node.rb#8279
sig { returns(Prism::Node) }
def value; end
@@ -13002,7 +14611,7 @@ class Prism::IndexAndWriteNode < ::Prism::Node
#
# @return [Boolean]
#
- # source://prism//lib/prism/node.rb#7935
+ # source://prism//lib/prism/node.rb#8350
sig { returns(T::Boolean) }
def variable_call?; end
@@ -13010,7 +14619,7 @@ class Prism::IndexAndWriteNode < ::Prism::Node
# Returns the value of attribute flags.
#
- # source://prism//lib/prism/node.rb#7843
+ # source://prism//lib/prism/node.rb#8255
sig { returns(Integer) }
def flags; end
@@ -13022,7 +14631,7 @@ class Prism::IndexAndWriteNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#8000
+ # source://prism//lib/prism/node.rb#8435
def type; end
end
end
@@ -13032,104 +14641,112 @@ end
# foo.bar[baz] += value
# ^^^^^^^^^^^^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#8009
+# source://prism//lib/prism/node.rb#8444
class Prism::IndexOperatorWriteNode < ::Prism::Node
- # def initialize: (receiver: Node?, call_operator_loc: Location?, opening_loc: Location, arguments: ArgumentsNode?, closing_loc: Location, block: Node?, flags: Integer, operator: Symbol, operator_loc: Location, value: Node, location: Location) -> void
+ # def initialize: (flags: Integer, receiver: Node?, call_operator_loc: Location?, opening_loc: Location, arguments: ArgumentsNode?, closing_loc: Location, block: Node?, operator: Symbol, operator_loc: Location, value: Node, location: Location) -> void
#
# @return [IndexOperatorWriteNode] a new instance of IndexOperatorWriteNode
#
- # source://prism//lib/prism/node.rb#8041
+ # source://prism//lib/prism/node.rb#8476
sig do
params(
+ flags: Integer,
receiver: T.nilable(Prism::Node),
call_operator_loc: T.nilable(Prism::Location),
opening_loc: Prism::Location,
arguments: T.nilable(Prism::ArgumentsNode),
closing_loc: Prism::Location,
block: T.nilable(Prism::Node),
- flags: Integer,
operator: Symbol,
operator_loc: Prism::Location,
value: Prism::Node,
location: Prism::Location
).void
end
- def initialize(receiver, call_operator_loc, opening_loc, arguments, closing_loc, block, flags, operator, operator_loc, value, location); end
+ def initialize(flags, receiver, call_operator_loc, opening_loc, arguments, closing_loc, block, operator, operator_loc, value, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#8056
+ # source://prism//lib/prism/node.rb#8491
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# attr_reader arguments: ArgumentsNode?
#
- # source://prism//lib/prism/node.rb#8020
+ # source://prism//lib/prism/node.rb#8458
sig { returns(T.nilable(Prism::ArgumentsNode)) }
def arguments; end
+ # def attribute_write?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#8551
+ sig { returns(T::Boolean) }
+ def attribute_write?; end
+
# attr_reader block: Node?
#
- # source://prism//lib/prism/node.rb#8026
+ # source://prism//lib/prism/node.rb#8464
sig { returns(T.nilable(Prism::Node)) }
def block; end
# def call_operator: () -> String?
#
- # source://prism//lib/prism/node.rb#8106
+ # source://prism//lib/prism/node.rb#8556
sig { returns(T.nilable(String)) }
def call_operator; end
# attr_reader call_operator_loc: Location?
#
- # source://prism//lib/prism/node.rb#8014
+ # source://prism//lib/prism/node.rb#8452
sig { returns(T.nilable(Prism::Location)) }
def call_operator_loc; end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#8061
+ # source://prism//lib/prism/node.rb#8496
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def closing: () -> String
#
- # source://prism//lib/prism/node.rb#8116
+ # source://prism//lib/prism/node.rb#8566
sig { returns(String) }
def closing; end
# attr_reader closing_loc: Location
#
- # source://prism//lib/prism/node.rb#8023
+ # source://prism//lib/prism/node.rb#8461
sig { returns(Prism::Location) }
def closing_loc; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#8076
+ # source://prism//lib/prism/node.rb#8511
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#8066
+ # source://prism//lib/prism/node.rb#8501
def compact_child_nodes; end
# def copy: (**params) -> IndexOperatorWriteNode
#
- # source://prism//lib/prism/node.rb#8081
+ # source://prism//lib/prism/node.rb#8516
sig { params(params: T.untyped).returns(Prism::IndexOperatorWriteNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#8061
+ # source://prism//lib/prism/node.rb#8496
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#8101
+ # source://prism//lib/prism/node.rb#8536
sig do
params(
keys: T::Array[Symbol]
@@ -13139,36 +14756,36 @@ class Prism::IndexOperatorWriteNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#8131
+ # source://prism//lib/prism/node.rb#8571
def inspect(inspector = T.unsafe(nil)); end
# def opening: () -> String
#
- # source://prism//lib/prism/node.rb#8111
+ # source://prism//lib/prism/node.rb#8561
sig { returns(String) }
def opening; end
# attr_reader opening_loc: Location
#
- # source://prism//lib/prism/node.rb#8017
+ # source://prism//lib/prism/node.rb#8455
sig { returns(Prism::Location) }
def opening_loc; end
# attr_reader operator: Symbol
#
- # source://prism//lib/prism/node.rb#8032
+ # source://prism//lib/prism/node.rb#8467
sig { returns(Symbol) }
def operator; end
# attr_reader operator_loc: Location
#
- # source://prism//lib/prism/node.rb#8035
+ # source://prism//lib/prism/node.rb#8470
sig { returns(Prism::Location) }
def operator_loc; end
# attr_reader receiver: Node?
#
- # source://prism//lib/prism/node.rb#8011
+ # source://prism//lib/prism/node.rb#8449
sig { returns(T.nilable(Prism::Node)) }
def receiver; end
@@ -13176,7 +14793,7 @@ class Prism::IndexOperatorWriteNode < ::Prism::Node
#
# @return [Boolean]
#
- # source://prism//lib/prism/node.rb#8121
+ # source://prism//lib/prism/node.rb#8541
sig { returns(T::Boolean) }
def safe_navigation?; end
@@ -13195,12 +14812,12 @@ class Prism::IndexOperatorWriteNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#8177
+ # source://prism//lib/prism/node.rb#8617
def type; end
# attr_reader value: Node
#
- # source://prism//lib/prism/node.rb#8038
+ # source://prism//lib/prism/node.rb#8473
sig { returns(Prism::Node) }
def value; end
@@ -13208,7 +14825,7 @@ class Prism::IndexOperatorWriteNode < ::Prism::Node
#
# @return [Boolean]
#
- # source://prism//lib/prism/node.rb#8126
+ # source://prism//lib/prism/node.rb#8546
sig { returns(T::Boolean) }
def variable_call?; end
@@ -13216,7 +14833,7 @@ class Prism::IndexOperatorWriteNode < ::Prism::Node
# Returns the value of attribute flags.
#
- # source://prism//lib/prism/node.rb#8029
+ # source://prism//lib/prism/node.rb#8446
sig { returns(Integer) }
def flags; end
@@ -13228,7 +14845,7 @@ class Prism::IndexOperatorWriteNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#8187
+ # source://prism//lib/prism/node.rb#8627
def type; end
end
end
@@ -13238,103 +14855,111 @@ end
# foo.bar[baz] ||= value
# ^^^^^^^^^^^^^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#8196
+# source://prism//lib/prism/node.rb#8636
class Prism::IndexOrWriteNode < ::Prism::Node
- # def initialize: (receiver: Node?, call_operator_loc: Location?, opening_loc: Location, arguments: ArgumentsNode?, closing_loc: Location, block: Node?, flags: Integer, operator_loc: Location, value: Node, location: Location) -> void
+ # def initialize: (flags: Integer, receiver: Node?, call_operator_loc: Location?, opening_loc: Location, arguments: ArgumentsNode?, closing_loc: Location, block: Node?, operator_loc: Location, value: Node, location: Location) -> void
#
# @return [IndexOrWriteNode] a new instance of IndexOrWriteNode
#
- # source://prism//lib/prism/node.rb#8225
+ # source://prism//lib/prism/node.rb#8665
sig do
params(
+ flags: Integer,
receiver: T.nilable(Prism::Node),
call_operator_loc: T.nilable(Prism::Location),
opening_loc: Prism::Location,
arguments: T.nilable(Prism::ArgumentsNode),
closing_loc: Prism::Location,
block: T.nilable(Prism::Node),
- flags: Integer,
operator_loc: Prism::Location,
value: Prism::Node,
location: Prism::Location
).void
end
- def initialize(receiver, call_operator_loc, opening_loc, arguments, closing_loc, block, flags, operator_loc, value, location); end
+ def initialize(flags, receiver, call_operator_loc, opening_loc, arguments, closing_loc, block, operator_loc, value, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#8239
+ # source://prism//lib/prism/node.rb#8679
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# attr_reader arguments: ArgumentsNode?
#
- # source://prism//lib/prism/node.rb#8207
+ # source://prism//lib/prism/node.rb#8650
sig { returns(T.nilable(Prism::ArgumentsNode)) }
def arguments; end
+ # def attribute_write?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#8738
+ sig { returns(T::Boolean) }
+ def attribute_write?; end
+
# attr_reader block: Node?
#
- # source://prism//lib/prism/node.rb#8213
+ # source://prism//lib/prism/node.rb#8656
sig { returns(T.nilable(Prism::Node)) }
def block; end
# def call_operator: () -> String?
#
- # source://prism//lib/prism/node.rb#8288
+ # source://prism//lib/prism/node.rb#8743
sig { returns(T.nilable(String)) }
def call_operator; end
# attr_reader call_operator_loc: Location?
#
- # source://prism//lib/prism/node.rb#8201
+ # source://prism//lib/prism/node.rb#8644
sig { returns(T.nilable(Prism::Location)) }
def call_operator_loc; end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#8244
+ # source://prism//lib/prism/node.rb#8684
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def closing: () -> String
#
- # source://prism//lib/prism/node.rb#8298
+ # source://prism//lib/prism/node.rb#8753
sig { returns(String) }
def closing; end
# attr_reader closing_loc: Location
#
- # source://prism//lib/prism/node.rb#8210
+ # source://prism//lib/prism/node.rb#8653
sig { returns(Prism::Location) }
def closing_loc; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#8259
+ # source://prism//lib/prism/node.rb#8699
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#8249
+ # source://prism//lib/prism/node.rb#8689
def compact_child_nodes; end
# def copy: (**params) -> IndexOrWriteNode
#
- # source://prism//lib/prism/node.rb#8264
+ # source://prism//lib/prism/node.rb#8704
sig { params(params: T.untyped).returns(Prism::IndexOrWriteNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#8244
+ # source://prism//lib/prism/node.rb#8684
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#8283
+ # source://prism//lib/prism/node.rb#8723
sig do
params(
keys: T::Array[Symbol]
@@ -13344,36 +14969,36 @@ class Prism::IndexOrWriteNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#8318
+ # source://prism//lib/prism/node.rb#8763
def inspect(inspector = T.unsafe(nil)); end
# def opening: () -> String
#
- # source://prism//lib/prism/node.rb#8293
+ # source://prism//lib/prism/node.rb#8748
sig { returns(String) }
def opening; end
# attr_reader opening_loc: Location
#
- # source://prism//lib/prism/node.rb#8204
+ # source://prism//lib/prism/node.rb#8647
sig { returns(Prism::Location) }
def opening_loc; end
# def operator: () -> String
#
- # source://prism//lib/prism/node.rb#8313
+ # source://prism//lib/prism/node.rb#8758
sig { returns(String) }
def operator; end
# attr_reader operator_loc: Location
#
- # source://prism//lib/prism/node.rb#8219
+ # source://prism//lib/prism/node.rb#8659
sig { returns(Prism::Location) }
def operator_loc; end
# attr_reader receiver: Node?
#
- # source://prism//lib/prism/node.rb#8198
+ # source://prism//lib/prism/node.rb#8641
sig { returns(T.nilable(Prism::Node)) }
def receiver; end
@@ -13381,7 +15006,7 @@ class Prism::IndexOrWriteNode < ::Prism::Node
#
# @return [Boolean]
#
- # source://prism//lib/prism/node.rb#8303
+ # source://prism//lib/prism/node.rb#8728
sig { returns(T::Boolean) }
def safe_navigation?; end
@@ -13400,12 +15025,12 @@ class Prism::IndexOrWriteNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#8363
+ # source://prism//lib/prism/node.rb#8808
def type; end
# attr_reader value: Node
#
- # source://prism//lib/prism/node.rb#8222
+ # source://prism//lib/prism/node.rb#8662
sig { returns(Prism::Node) }
def value; end
@@ -13413,7 +15038,195 @@ class Prism::IndexOrWriteNode < ::Prism::Node
#
# @return [Boolean]
#
- # source://prism//lib/prism/node.rb#8308
+ # source://prism//lib/prism/node.rb#8733
+ sig { returns(T::Boolean) }
+ def variable_call?; end
+
+ private
+
+ # Returns the value of attribute flags.
+ #
+ # source://prism//lib/prism/node.rb#8638
+ sig { returns(Integer) }
+ def flags; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#8818
+ def type; end
+ end
+end
+
+# Represents assigning to an index.
+#
+# foo[bar], = 1
+# ^^^^^^^^
+#
+# begin
+# rescue => foo[bar]
+# ^^^^^^^^
+# end
+#
+# for foo[bar] in baz do end
+# ^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#8835
+class Prism::IndexTargetNode < ::Prism::Node
+ # def initialize: (flags: Integer, receiver: Node, opening_loc: Location, arguments: ArgumentsNode?, closing_loc: Location, block: Node?, location: Location) -> void
+ #
+ # @return [IndexTargetNode] a new instance of IndexTargetNode
+ #
+ # source://prism//lib/prism/node.rb#8855
+ sig do
+ params(
+ flags: Integer,
+ receiver: Prism::Node,
+ opening_loc: Prism::Location,
+ arguments: T.nilable(Prism::ArgumentsNode),
+ closing_loc: Prism::Location,
+ block: T.nilable(Prism::Node),
+ location: Prism::Location
+ ).void
+ end
+ def initialize(flags, receiver, opening_loc, arguments, closing_loc, block, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#8866
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # attr_reader arguments: ArgumentsNode?
+ #
+ # source://prism//lib/prism/node.rb#8846
+ sig { returns(T.nilable(Prism::ArgumentsNode)) }
+ def arguments; end
+
+ # def attribute_write?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#8921
+ sig { returns(T::Boolean) }
+ def attribute_write?; end
+
+ # attr_reader block: Node?
+ #
+ # source://prism//lib/prism/node.rb#8852
+ sig { returns(T.nilable(Prism::Node)) }
+ def block; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#8871
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def closing: () -> String
+ #
+ # source://prism//lib/prism/node.rb#8931
+ sig { returns(String) }
+ def closing; end
+
+ # attr_reader closing_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#8849
+ sig { returns(Prism::Location) }
+ def closing_loc; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#8885
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#8876
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> IndexTargetNode
+ #
+ # source://prism//lib/prism/node.rb#8890
+ sig { params(params: T.untyped).returns(Prism::IndexTargetNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#8871
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://prism//lib/prism/node.rb#8906
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(inspector: NodeInspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#8936
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # def opening: () -> String
+ #
+ # source://prism//lib/prism/node.rb#8926
+ sig { returns(String) }
+ def opening; end
+
+ # attr_reader opening_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#8843
+ sig { returns(Prism::Location) }
+ def opening_loc; end
+
+ # attr_reader receiver: Node
+ #
+ # source://prism//lib/prism/node.rb#8840
+ sig { returns(Prism::Node) }
+ def receiver; end
+
+ # def safe_navigation?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#8911
+ sig { returns(T::Boolean) }
+ def safe_navigation?; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#8973
+ def type; end
+
+ # def variable_call?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#8916
sig { returns(T::Boolean) }
def variable_call?; end
@@ -13421,7 +15234,7 @@ class Prism::IndexOrWriteNode < ::Prism::Node
# Returns the value of attribute flags.
#
- # source://prism//lib/prism/node.rb#8216
+ # source://prism//lib/prism/node.rb#8837
sig { returns(Integer) }
def flags; end
@@ -13433,7 +15246,7 @@ class Prism::IndexOrWriteNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#8373
+ # source://prism//lib/prism/node.rb#8983
def type; end
end
end
@@ -13441,11 +15254,11 @@ end
# InlineComment objects are the most common. They correspond to comments in
# the source file like this one that start with #.
#
-# source://prism//lib/prism/parse_result.rb#216
+# source://prism//lib/prism/parse_result.rb#245
class Prism::InlineComment < ::Prism::Comment
# Returns a string representation of this comment.
#
- # source://prism//lib/prism/parse_result.rb#224
+ # source://prism//lib/prism/parse_result.rb#253
def inspect; end
# Returns true if this comment happens on the same line as other code and
@@ -13453,7 +15266,7 @@ class Prism::InlineComment < ::Prism::Comment
#
# @return [Boolean]
#
- # source://prism//lib/prism/parse_result.rb#219
+ # source://prism//lib/prism/parse_result.rb#248
sig { override.returns(T::Boolean) }
def trailing?; end
end
@@ -13463,13 +15276,13 @@ end
# @target &&= value
# ^^^^^^^^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#8382
+# source://prism//lib/prism/node.rb#8992
class Prism::InstanceVariableAndWriteNode < ::Prism::Node
# def initialize: (name: Symbol, name_loc: Location, operator_loc: Location, value: Node, location: Location) -> void
#
# @return [InstanceVariableAndWriteNode] a new instance of InstanceVariableAndWriteNode
#
- # source://prism//lib/prism/node.rb#8396
+ # source://prism//lib/prism/node.rb#9006
sig do
params(
name: Symbol,
@@ -13483,42 +15296,42 @@ class Prism::InstanceVariableAndWriteNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#8405
+ # source://prism//lib/prism/node.rb#9015
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#8410
+ # source://prism//lib/prism/node.rb#9020
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#8420
+ # source://prism//lib/prism/node.rb#9030
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#8415
+ # source://prism//lib/prism/node.rb#9025
def compact_child_nodes; end
# def copy: (**params) -> InstanceVariableAndWriteNode
#
- # source://prism//lib/prism/node.rb#8425
+ # source://prism//lib/prism/node.rb#9035
sig { params(params: T.untyped).returns(Prism::InstanceVariableAndWriteNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#8410
+ # source://prism//lib/prism/node.rb#9020
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#8439
+ # source://prism//lib/prism/node.rb#9049
sig do
params(
keys: T::Array[Symbol]
@@ -13528,30 +15341,30 @@ class Prism::InstanceVariableAndWriteNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#8449
+ # source://prism//lib/prism/node.rb#9059
def inspect(inspector = T.unsafe(nil)); end
# attr_reader name: Symbol
#
- # source://prism//lib/prism/node.rb#8384
+ # source://prism//lib/prism/node.rb#8994
sig { returns(Symbol) }
def name; end
# attr_reader name_loc: Location
#
- # source://prism//lib/prism/node.rb#8387
+ # source://prism//lib/prism/node.rb#8997
sig { returns(Prism::Location) }
def name_loc; end
# def operator: () -> String
#
- # source://prism//lib/prism/node.rb#8444
+ # source://prism//lib/prism/node.rb#9054
sig { returns(String) }
def operator; end
# attr_reader operator_loc: Location
#
- # source://prism//lib/prism/node.rb#8390
+ # source://prism//lib/prism/node.rb#9000
sig { returns(Prism::Location) }
def operator_loc; end
@@ -13570,12 +15383,12 @@ class Prism::InstanceVariableAndWriteNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#8473
+ # source://prism//lib/prism/node.rb#9083
def type; end
# attr_reader value: Node
#
- # source://prism//lib/prism/node.rb#8393
+ # source://prism//lib/prism/node.rb#9003
sig { returns(Prism::Node) }
def value; end
@@ -13587,7 +15400,7 @@ class Prism::InstanceVariableAndWriteNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#8483
+ # source://prism//lib/prism/node.rb#9093
def type; end
end
end
@@ -13597,13 +15410,13 @@ end
# @target += value
# ^^^^^^^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#8492
+# source://prism//lib/prism/node.rb#9102
class Prism::InstanceVariableOperatorWriteNode < ::Prism::Node
# def initialize: (name: Symbol, name_loc: Location, operator_loc: Location, value: Node, operator: Symbol, location: Location) -> void
#
# @return [InstanceVariableOperatorWriteNode] a new instance of InstanceVariableOperatorWriteNode
#
- # source://prism//lib/prism/node.rb#8509
+ # source://prism//lib/prism/node.rb#9119
sig do
params(
name: Symbol,
@@ -13618,42 +15431,42 @@ class Prism::InstanceVariableOperatorWriteNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#8519
+ # source://prism//lib/prism/node.rb#9129
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#8524
+ # source://prism//lib/prism/node.rb#9134
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#8534
+ # source://prism//lib/prism/node.rb#9144
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#8529
+ # source://prism//lib/prism/node.rb#9139
def compact_child_nodes; end
# def copy: (**params) -> InstanceVariableOperatorWriteNode
#
- # source://prism//lib/prism/node.rb#8539
+ # source://prism//lib/prism/node.rb#9149
sig { params(params: T.untyped).returns(Prism::InstanceVariableOperatorWriteNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#8524
+ # source://prism//lib/prism/node.rb#9134
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#8554
+ # source://prism//lib/prism/node.rb#9164
sig do
params(
keys: T::Array[Symbol]
@@ -13663,30 +15476,30 @@ class Prism::InstanceVariableOperatorWriteNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#8559
+ # source://prism//lib/prism/node.rb#9169
def inspect(inspector = T.unsafe(nil)); end
# attr_reader name: Symbol
#
- # source://prism//lib/prism/node.rb#8494
+ # source://prism//lib/prism/node.rb#9104
sig { returns(Symbol) }
def name; end
# attr_reader name_loc: Location
#
- # source://prism//lib/prism/node.rb#8497
+ # source://prism//lib/prism/node.rb#9107
sig { returns(Prism::Location) }
def name_loc; end
# attr_reader operator: Symbol
#
- # source://prism//lib/prism/node.rb#8506
+ # source://prism//lib/prism/node.rb#9116
sig { returns(Symbol) }
def operator; end
# attr_reader operator_loc: Location
#
- # source://prism//lib/prism/node.rb#8500
+ # source://prism//lib/prism/node.rb#9110
sig { returns(Prism::Location) }
def operator_loc; end
@@ -13705,12 +15518,12 @@ class Prism::InstanceVariableOperatorWriteNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#8584
+ # source://prism//lib/prism/node.rb#9194
def type; end
# attr_reader value: Node
#
- # source://prism//lib/prism/node.rb#8503
+ # source://prism//lib/prism/node.rb#9113
sig { returns(Prism::Node) }
def value; end
@@ -13722,7 +15535,7 @@ class Prism::InstanceVariableOperatorWriteNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#8594
+ # source://prism//lib/prism/node.rb#9204
def type; end
end
end
@@ -13732,13 +15545,13 @@ end
# @target ||= value
# ^^^^^^^^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#8603
+# source://prism//lib/prism/node.rb#9213
class Prism::InstanceVariableOrWriteNode < ::Prism::Node
# def initialize: (name: Symbol, name_loc: Location, operator_loc: Location, value: Node, location: Location) -> void
#
# @return [InstanceVariableOrWriteNode] a new instance of InstanceVariableOrWriteNode
#
- # source://prism//lib/prism/node.rb#8617
+ # source://prism//lib/prism/node.rb#9227
sig do
params(
name: Symbol,
@@ -13752,42 +15565,42 @@ class Prism::InstanceVariableOrWriteNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#8626
+ # source://prism//lib/prism/node.rb#9236
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#8631
+ # source://prism//lib/prism/node.rb#9241
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#8641
+ # source://prism//lib/prism/node.rb#9251
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#8636
+ # source://prism//lib/prism/node.rb#9246
def compact_child_nodes; end
# def copy: (**params) -> InstanceVariableOrWriteNode
#
- # source://prism//lib/prism/node.rb#8646
+ # source://prism//lib/prism/node.rb#9256
sig { params(params: T.untyped).returns(Prism::InstanceVariableOrWriteNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#8631
+ # source://prism//lib/prism/node.rb#9241
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#8660
+ # source://prism//lib/prism/node.rb#9270
sig do
params(
keys: T::Array[Symbol]
@@ -13797,30 +15610,30 @@ class Prism::InstanceVariableOrWriteNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#8670
+ # source://prism//lib/prism/node.rb#9280
def inspect(inspector = T.unsafe(nil)); end
# attr_reader name: Symbol
#
- # source://prism//lib/prism/node.rb#8605
+ # source://prism//lib/prism/node.rb#9215
sig { returns(Symbol) }
def name; end
# attr_reader name_loc: Location
#
- # source://prism//lib/prism/node.rb#8608
+ # source://prism//lib/prism/node.rb#9218
sig { returns(Prism::Location) }
def name_loc; end
# def operator: () -> String
#
- # source://prism//lib/prism/node.rb#8665
+ # source://prism//lib/prism/node.rb#9275
sig { returns(String) }
def operator; end
# attr_reader operator_loc: Location
#
- # source://prism//lib/prism/node.rb#8611
+ # source://prism//lib/prism/node.rb#9221
sig { returns(Prism::Location) }
def operator_loc; end
@@ -13839,12 +15652,12 @@ class Prism::InstanceVariableOrWriteNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#8694
+ # source://prism//lib/prism/node.rb#9304
def type; end
# attr_reader value: Node
#
- # source://prism//lib/prism/node.rb#8614
+ # source://prism//lib/prism/node.rb#9224
sig { returns(Prism::Node) }
def value; end
@@ -13856,7 +15669,7 @@ class Prism::InstanceVariableOrWriteNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#8704
+ # source://prism//lib/prism/node.rb#9314
def type; end
end
end
@@ -13866,54 +15679,54 @@ end
# @foo
# ^^^^
#
-# source://prism//lib/prism/node.rb#8713
+# source://prism//lib/prism/node.rb#9323
class Prism::InstanceVariableReadNode < ::Prism::Node
# def initialize: (name: Symbol, location: Location) -> void
#
# @return [InstanceVariableReadNode] a new instance of InstanceVariableReadNode
#
- # source://prism//lib/prism/node.rb#8718
+ # source://prism//lib/prism/node.rb#9328
sig { params(name: Symbol, location: Prism::Location).void }
def initialize(name, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#8724
+ # source://prism//lib/prism/node.rb#9334
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#8729
+ # source://prism//lib/prism/node.rb#9339
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#8739
+ # source://prism//lib/prism/node.rb#9349
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#8734
+ # source://prism//lib/prism/node.rb#9344
def compact_child_nodes; end
# def copy: (**params) -> InstanceVariableReadNode
#
- # source://prism//lib/prism/node.rb#8744
+ # source://prism//lib/prism/node.rb#9354
sig { params(params: T.untyped).returns(Prism::InstanceVariableReadNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#8729
+ # source://prism//lib/prism/node.rb#9339
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#8755
+ # source://prism//lib/prism/node.rb#9365
sig do
params(
keys: T::Array[Symbol]
@@ -13923,12 +15736,12 @@ class Prism::InstanceVariableReadNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#8760
+ # source://prism//lib/prism/node.rb#9370
def inspect(inspector = T.unsafe(nil)); end
# attr_reader name: Symbol
#
- # source://prism//lib/prism/node.rb#8715
+ # source://prism//lib/prism/node.rb#9325
sig { returns(Symbol) }
def name; end
@@ -13947,7 +15760,7 @@ class Prism::InstanceVariableReadNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#8780
+ # source://prism//lib/prism/node.rb#9390
def type; end
class << self
@@ -13958,7 +15771,7 @@ class Prism::InstanceVariableReadNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#8790
+ # source://prism//lib/prism/node.rb#9400
def type; end
end
end
@@ -13968,54 +15781,54 @@ end
# @foo, @bar = baz
# ^^^^ ^^^^
#
-# source://prism//lib/prism/node.rb#8799
+# source://prism//lib/prism/node.rb#9409
class Prism::InstanceVariableTargetNode < ::Prism::Node
# def initialize: (name: Symbol, location: Location) -> void
#
# @return [InstanceVariableTargetNode] a new instance of InstanceVariableTargetNode
#
- # source://prism//lib/prism/node.rb#8804
+ # source://prism//lib/prism/node.rb#9414
sig { params(name: Symbol, location: Prism::Location).void }
def initialize(name, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#8810
+ # source://prism//lib/prism/node.rb#9420
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#8815
+ # source://prism//lib/prism/node.rb#9425
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#8825
+ # source://prism//lib/prism/node.rb#9435
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#8820
+ # source://prism//lib/prism/node.rb#9430
def compact_child_nodes; end
# def copy: (**params) -> InstanceVariableTargetNode
#
- # source://prism//lib/prism/node.rb#8830
+ # source://prism//lib/prism/node.rb#9440
sig { params(params: T.untyped).returns(Prism::InstanceVariableTargetNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#8815
+ # source://prism//lib/prism/node.rb#9425
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#8841
+ # source://prism//lib/prism/node.rb#9451
sig do
params(
keys: T::Array[Symbol]
@@ -14025,12 +15838,12 @@ class Prism::InstanceVariableTargetNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#8846
+ # source://prism//lib/prism/node.rb#9456
def inspect(inspector = T.unsafe(nil)); end
# attr_reader name: Symbol
#
- # source://prism//lib/prism/node.rb#8801
+ # source://prism//lib/prism/node.rb#9411
sig { returns(Symbol) }
def name; end
@@ -14049,7 +15862,7 @@ class Prism::InstanceVariableTargetNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#8866
+ # source://prism//lib/prism/node.rb#9476
def type; end
class << self
@@ -14060,7 +15873,7 @@ class Prism::InstanceVariableTargetNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#8876
+ # source://prism//lib/prism/node.rb#9486
def type; end
end
end
@@ -14070,13 +15883,13 @@ end
# @foo = 1
# ^^^^^^^^
#
-# source://prism//lib/prism/node.rb#8885
+# source://prism//lib/prism/node.rb#9495
class Prism::InstanceVariableWriteNode < ::Prism::Node
# def initialize: (name: Symbol, name_loc: Location, value: Node, operator_loc: Location, location: Location) -> void
#
# @return [InstanceVariableWriteNode] a new instance of InstanceVariableWriteNode
#
- # source://prism//lib/prism/node.rb#8899
+ # source://prism//lib/prism/node.rb#9509
sig do
params(
name: Symbol,
@@ -14090,42 +15903,42 @@ class Prism::InstanceVariableWriteNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#8908
+ # source://prism//lib/prism/node.rb#9518
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#8913
+ # source://prism//lib/prism/node.rb#9523
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#8923
+ # source://prism//lib/prism/node.rb#9533
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#8918
+ # source://prism//lib/prism/node.rb#9528
def compact_child_nodes; end
# def copy: (**params) -> InstanceVariableWriteNode
#
- # source://prism//lib/prism/node.rb#8928
+ # source://prism//lib/prism/node.rb#9538
sig { params(params: T.untyped).returns(Prism::InstanceVariableWriteNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#8913
+ # source://prism//lib/prism/node.rb#9523
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#8942
+ # source://prism//lib/prism/node.rb#9552
sig do
params(
keys: T::Array[Symbol]
@@ -14135,30 +15948,30 @@ class Prism::InstanceVariableWriteNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#8952
+ # source://prism//lib/prism/node.rb#9562
def inspect(inspector = T.unsafe(nil)); end
# attr_reader name: Symbol
#
- # source://prism//lib/prism/node.rb#8887
+ # source://prism//lib/prism/node.rb#9497
sig { returns(Symbol) }
def name; end
# attr_reader name_loc: Location
#
- # source://prism//lib/prism/node.rb#8890
+ # source://prism//lib/prism/node.rb#9500
sig { returns(Prism::Location) }
def name_loc; end
# def operator: () -> String
#
- # source://prism//lib/prism/node.rb#8947
+ # source://prism//lib/prism/node.rb#9557
sig { returns(String) }
def operator; end
# attr_reader operator_loc: Location
#
- # source://prism//lib/prism/node.rb#8896
+ # source://prism//lib/prism/node.rb#9506
sig { returns(Prism::Location) }
def operator_loc; end
@@ -14177,12 +15990,12 @@ class Prism::InstanceVariableWriteNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#8976
+ # source://prism//lib/prism/node.rb#9586
def type; end
# attr_reader value: Node
#
- # source://prism//lib/prism/node.rb#8893
+ # source://prism//lib/prism/node.rb#9503
sig { returns(Prism::Node) }
def value; end
@@ -14194,34 +16007,34 @@ class Prism::InstanceVariableWriteNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#8986
+ # source://prism//lib/prism/node.rb#9596
def type; end
end
end
# Flags for integer nodes that correspond to the base of the integer.
#
-# source://prism//lib/prism/node.rb#16551
+# source://prism//lib/prism/node.rb#17310
module Prism::IntegerBaseFlags; end
# 0b prefix
#
-# source://prism//lib/prism/node.rb#16553
+# source://prism//lib/prism/node.rb#17312
Prism::IntegerBaseFlags::BINARY = T.let(T.unsafe(nil), Integer)
# 0d or no prefix
#
-# source://prism//lib/prism/node.rb#16559
+# source://prism//lib/prism/node.rb#17315
Prism::IntegerBaseFlags::DECIMAL = T.let(T.unsafe(nil), Integer)
# 0x prefix
#
-# source://prism//lib/prism/node.rb#16562
+# source://prism//lib/prism/node.rb#17321
Prism::IntegerBaseFlags::HEXADECIMAL = T.let(T.unsafe(nil), Integer)
# 0o or 0 prefix
#
-# source://prism//lib/prism/node.rb#16556
+# source://prism//lib/prism/node.rb#17318
Prism::IntegerBaseFlags::OCTAL = T.let(T.unsafe(nil), Integer)
# Represents an integer number literal.
@@ -14229,19 +16042,19 @@ Prism::IntegerBaseFlags::OCTAL = T.let(T.unsafe(nil), Integer)
# 1
# ^
#
-# source://prism//lib/prism/node.rb#8995
+# source://prism//lib/prism/node.rb#9605
class Prism::IntegerNode < ::Prism::Node
# def initialize: (flags: Integer, location: Location) -> void
#
# @return [IntegerNode] a new instance of IntegerNode
#
- # source://prism//lib/prism/node.rb#9000
+ # source://prism//lib/prism/node.rb#9610
sig { params(flags: Integer, location: Prism::Location).void }
def initialize(flags, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#9006
+ # source://prism//lib/prism/node.rb#9616
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
@@ -14249,29 +16062,29 @@ class Prism::IntegerNode < ::Prism::Node
#
# @return [Boolean]
#
- # source://prism//lib/prism/node.rb#9042
+ # source://prism//lib/prism/node.rb#9652
sig { returns(T::Boolean) }
def binary?; end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#9011
+ # source://prism//lib/prism/node.rb#9621
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#9021
+ # source://prism//lib/prism/node.rb#9631
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#9016
+ # source://prism//lib/prism/node.rb#9626
def compact_child_nodes; end
# def copy: (**params) -> IntegerNode
#
- # source://prism//lib/prism/node.rb#9026
+ # source://prism//lib/prism/node.rb#9636
sig { params(params: T.untyped).returns(Prism::IntegerNode) }
def copy(**params); end
@@ -14279,20 +16092,20 @@ class Prism::IntegerNode < ::Prism::Node
#
# @return [Boolean]
#
- # source://prism//lib/prism/node.rb#9052
+ # source://prism//lib/prism/node.rb#9657
sig { returns(T::Boolean) }
def decimal?; end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#9011
+ # source://prism//lib/prism/node.rb#9621
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#9037
+ # source://prism//lib/prism/node.rb#9647
sig do
params(
keys: T::Array[Symbol]
@@ -14304,20 +16117,20 @@ class Prism::IntegerNode < ::Prism::Node
#
# @return [Boolean]
#
- # source://prism//lib/prism/node.rb#9057
+ # source://prism//lib/prism/node.rb#9667
sig { returns(T::Boolean) }
def hexadecimal?; end
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#9062
+ # source://prism//lib/prism/node.rb#9672
def inspect(inspector = T.unsafe(nil)); end
# def octal?: () -> bool
#
# @return [Boolean]
#
- # source://prism//lib/prism/node.rb#9047
+ # source://prism//lib/prism/node.rb#9662
sig { returns(T::Boolean) }
def octal?; end
@@ -14336,19 +16149,19 @@ class Prism::IntegerNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#9083
+ # source://prism//lib/prism/node.rb#9693
def type; end
# Returns the value of the node as a Ruby Integer.
#
- # source://prism//lib/prism/node_ext.rb#35
+ # source://prism//lib/prism/node_ext.rb#76
def value; end
private
# Returns the value of attribute flags.
#
- # source://prism//lib/prism/node.rb#8997
+ # source://prism//lib/prism/node.rb#9607
sig { returns(Integer) }
def flags; end
@@ -14360,7 +16173,7 @@ class Prism::IntegerNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#9093
+ # source://prism//lib/prism/node.rb#9703
def type; end
end
end
@@ -14372,29 +16185,29 @@ end
# if /foo #{bar} baz/ then end
# ^^^^^^^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#9104
+# source://prism//lib/prism/node.rb#9714
class Prism::InterpolatedMatchLastLineNode < ::Prism::Node
include ::Prism::RegularExpressionOptions
- # def initialize: (opening_loc: Location, parts: Array[Node], closing_loc: Location, flags: Integer, location: Location) -> void
+ # def initialize: (flags: Integer, opening_loc: Location, parts: Array[Node], closing_loc: Location, location: Location) -> void
#
# @return [InterpolatedMatchLastLineNode] a new instance of InterpolatedMatchLastLineNode
#
- # source://prism//lib/prism/node.rb#9118
+ # source://prism//lib/prism/node.rb#9728
sig do
params(
+ flags: Integer,
opening_loc: Prism::Location,
parts: T::Array[Prism::Node],
closing_loc: Prism::Location,
- flags: Integer,
location: Prism::Location
).void
end
- def initialize(opening_loc, parts, closing_loc, flags, location); end
+ def initialize(flags, opening_loc, parts, closing_loc, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#9127
+ # source://prism//lib/prism/node.rb#9737
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
@@ -14402,54 +16215,54 @@ class Prism::InterpolatedMatchLastLineNode < ::Prism::Node
#
# @return [Boolean]
#
- # source://prism//lib/prism/node.rb#9206
+ # source://prism//lib/prism/node.rb#9806
sig { returns(T::Boolean) }
def ascii_8bit?; end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#9137
+ # source://prism//lib/prism/node.rb#9747
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def closing: () -> String
#
- # source://prism//lib/prism/node.rb#9176
+ # source://prism//lib/prism/node.rb#9841
sig { returns(String) }
def closing; end
# attr_reader closing_loc: Location
#
- # source://prism//lib/prism/node.rb#9112
+ # source://prism//lib/prism/node.rb#9725
sig { returns(Prism::Location) }
def closing_loc; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#9147
+ # source://prism//lib/prism/node.rb#9757
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#9142
+ # source://prism//lib/prism/node.rb#9752
def compact_child_nodes; end
# def copy: (**params) -> InterpolatedMatchLastLineNode
#
- # source://prism//lib/prism/node.rb#9152
+ # source://prism//lib/prism/node.rb#9762
sig { params(params: T.untyped).returns(Prism::InterpolatedMatchLastLineNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#9137
+ # source://prism//lib/prism/node.rb#9747
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#9166
+ # source://prism//lib/prism/node.rb#9776
sig do
params(
keys: T::Array[Symbol]
@@ -14457,40 +16270,64 @@ class Prism::InterpolatedMatchLastLineNode < ::Prism::Node
end
def deconstruct_keys(keys); end
- # def euc_jp?: () -> bool
+ # def euc_jp?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#9801
+ sig { returns(T::Boolean) }
+ def euc_jp?; end
+
+ # def extended?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#9786
+ sig { returns(T::Boolean) }
+ def extended?; end
+
+ # def forced_binary_encoding?: () -> bool
#
# @return [Boolean]
#
- # source://prism//lib/prism/node.rb#9201
+ # source://prism//lib/prism/node.rb#9826
sig { returns(T::Boolean) }
- def euc_jp?; end
+ def forced_binary_encoding?; end
- # def extended?: () -> bool
+ # def forced_us_ascii_encoding?: () -> bool
#
# @return [Boolean]
#
- # source://prism//lib/prism/node.rb#9186
+ # source://prism//lib/prism/node.rb#9831
sig { returns(T::Boolean) }
- def extended?; end
+ def forced_us_ascii_encoding?; end
+
+ # def forced_utf8_encoding?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#9821
+ sig { returns(T::Boolean) }
+ def forced_utf8_encoding?; end
# def ignore_case?: () -> bool
#
# @return [Boolean]
#
- # source://prism//lib/prism/node.rb#9181
+ # source://prism//lib/prism/node.rb#9781
sig { returns(T::Boolean) }
def ignore_case?; end
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#9221
+ # source://prism//lib/prism/node.rb#9846
def inspect(inspector = T.unsafe(nil)); end
# def multi_line?: () -> bool
#
# @return [Boolean]
#
- # source://prism//lib/prism/node.rb#9191
+ # source://prism//lib/prism/node.rb#9791
sig { returns(T::Boolean) }
def multi_line?; end
@@ -14498,29 +16335,29 @@ class Prism::InterpolatedMatchLastLineNode < ::Prism::Node
#
# @return [Boolean]
#
- # source://prism//lib/prism/node.rb#9196
+ # source://prism//lib/prism/node.rb#9796
sig { returns(T::Boolean) }
def once?; end
# def opening: () -> String
#
- # source://prism//lib/prism/node.rb#9171
+ # source://prism//lib/prism/node.rb#9836
sig { returns(String) }
def opening; end
# attr_reader opening_loc: Location
#
- # source://prism//lib/prism/node.rb#9106
+ # source://prism//lib/prism/node.rb#9719
sig { returns(Prism::Location) }
def opening_loc; end
# attr_reader parts: Array[Node]
#
- # source://prism//lib/prism/node.rb#9109
+ # source://prism//lib/prism/node.rb#9722
sig { returns(T::Array[Prism::Node]) }
def parts; end
- # source://prism//lib/prism/node.rb#9131
+ # source://prism//lib/prism/node.rb#9741
def set_newline_flag(newline_marked); end
# Sometimes you want to check an instance of a node against a list of
@@ -14538,14 +16375,14 @@ class Prism::InterpolatedMatchLastLineNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#9245
+ # source://prism//lib/prism/node.rb#9870
def type; end
# def utf_8?: () -> bool
#
# @return [Boolean]
#
- # source://prism//lib/prism/node.rb#9216
+ # source://prism//lib/prism/node.rb#9816
sig { returns(T::Boolean) }
def utf_8?; end
@@ -14553,7 +16390,7 @@ class Prism::InterpolatedMatchLastLineNode < ::Prism::Node
#
# @return [Boolean]
#
- # source://prism//lib/prism/node.rb#9211
+ # source://prism//lib/prism/node.rb#9811
sig { returns(T::Boolean) }
def windows_31j?; end
@@ -14561,7 +16398,7 @@ class Prism::InterpolatedMatchLastLineNode < ::Prism::Node
# Returns the value of attribute flags.
#
- # source://prism//lib/prism/node.rb#9115
+ # source://prism//lib/prism/node.rb#9716
sig { returns(Integer) }
def flags; end
@@ -14573,7 +16410,7 @@ class Prism::InterpolatedMatchLastLineNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#9255
+ # source://prism//lib/prism/node.rb#9880
def type; end
end
end
@@ -14583,29 +16420,29 @@ end
# /foo #{bar} baz/
# ^^^^^^^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#9264
+# source://prism//lib/prism/node.rb#9889
class Prism::InterpolatedRegularExpressionNode < ::Prism::Node
include ::Prism::RegularExpressionOptions
- # def initialize: (opening_loc: Location, parts: Array[Node], closing_loc: Location, flags: Integer, location: Location) -> void
+ # def initialize: (flags: Integer, opening_loc: Location, parts: Array[Node], closing_loc: Location, location: Location) -> void
#
# @return [InterpolatedRegularExpressionNode] a new instance of InterpolatedRegularExpressionNode
#
- # source://prism//lib/prism/node.rb#9278
+ # source://prism//lib/prism/node.rb#9903
sig do
params(
+ flags: Integer,
opening_loc: Prism::Location,
parts: T::Array[Prism::Node],
closing_loc: Prism::Location,
- flags: Integer,
location: Prism::Location
).void
end
- def initialize(opening_loc, parts, closing_loc, flags, location); end
+ def initialize(flags, opening_loc, parts, closing_loc, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#9287
+ # source://prism//lib/prism/node.rb#9912
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
@@ -14613,54 +16450,54 @@ class Prism::InterpolatedRegularExpressionNode < ::Prism::Node
#
# @return [Boolean]
#
- # source://prism//lib/prism/node.rb#9366
+ # source://prism//lib/prism/node.rb#9981
sig { returns(T::Boolean) }
def ascii_8bit?; end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#9297
+ # source://prism//lib/prism/node.rb#9922
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def closing: () -> String
#
- # source://prism//lib/prism/node.rb#9336
+ # source://prism//lib/prism/node.rb#10016
sig { returns(String) }
def closing; end
# attr_reader closing_loc: Location
#
- # source://prism//lib/prism/node.rb#9272
+ # source://prism//lib/prism/node.rb#9900
sig { returns(Prism::Location) }
def closing_loc; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#9307
+ # source://prism//lib/prism/node.rb#9932
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#9302
+ # source://prism//lib/prism/node.rb#9927
def compact_child_nodes; end
# def copy: (**params) -> InterpolatedRegularExpressionNode
#
- # source://prism//lib/prism/node.rb#9312
+ # source://prism//lib/prism/node.rb#9937
sig { params(params: T.untyped).returns(Prism::InterpolatedRegularExpressionNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#9297
+ # source://prism//lib/prism/node.rb#9922
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#9326
+ # source://prism//lib/prism/node.rb#9951
sig do
params(
keys: T::Array[Symbol]
@@ -14672,7 +16509,7 @@ class Prism::InterpolatedRegularExpressionNode < ::Prism::Node
#
# @return [Boolean]
#
- # source://prism//lib/prism/node.rb#9361
+ # source://prism//lib/prism/node.rb#9976
sig { returns(T::Boolean) }
def euc_jp?; end
@@ -14680,28 +16517,52 @@ class Prism::InterpolatedRegularExpressionNode < ::Prism::Node
#
# @return [Boolean]
#
- # source://prism//lib/prism/node.rb#9346
+ # source://prism//lib/prism/node.rb#9961
sig { returns(T::Boolean) }
def extended?; end
+ # def forced_binary_encoding?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#10001
+ sig { returns(T::Boolean) }
+ def forced_binary_encoding?; end
+
+ # def forced_us_ascii_encoding?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#10006
+ sig { returns(T::Boolean) }
+ def forced_us_ascii_encoding?; end
+
+ # def forced_utf8_encoding?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#9996
+ sig { returns(T::Boolean) }
+ def forced_utf8_encoding?; end
+
# def ignore_case?: () -> bool
#
# @return [Boolean]
#
- # source://prism//lib/prism/node.rb#9341
+ # source://prism//lib/prism/node.rb#9956
sig { returns(T::Boolean) }
def ignore_case?; end
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#9381
+ # source://prism//lib/prism/node.rb#10021
def inspect(inspector = T.unsafe(nil)); end
# def multi_line?: () -> bool
#
# @return [Boolean]
#
- # source://prism//lib/prism/node.rb#9351
+ # source://prism//lib/prism/node.rb#9966
sig { returns(T::Boolean) }
def multi_line?; end
@@ -14709,29 +16570,29 @@ class Prism::InterpolatedRegularExpressionNode < ::Prism::Node
#
# @return [Boolean]
#
- # source://prism//lib/prism/node.rb#9356
+ # source://prism//lib/prism/node.rb#9971
sig { returns(T::Boolean) }
def once?; end
# def opening: () -> String
#
- # source://prism//lib/prism/node.rb#9331
+ # source://prism//lib/prism/node.rb#10011
sig { returns(String) }
def opening; end
# attr_reader opening_loc: Location
#
- # source://prism//lib/prism/node.rb#9266
+ # source://prism//lib/prism/node.rb#9894
sig { returns(Prism::Location) }
def opening_loc; end
# attr_reader parts: Array[Node]
#
- # source://prism//lib/prism/node.rb#9269
+ # source://prism//lib/prism/node.rb#9897
sig { returns(T::Array[Prism::Node]) }
def parts; end
- # source://prism//lib/prism/node.rb#9291
+ # source://prism//lib/prism/node.rb#9916
def set_newline_flag(newline_marked); end
# Sometimes you want to check an instance of a node against a list of
@@ -14749,14 +16610,14 @@ class Prism::InterpolatedRegularExpressionNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#9405
+ # source://prism//lib/prism/node.rb#10045
def type; end
# def utf_8?: () -> bool
#
# @return [Boolean]
#
- # source://prism//lib/prism/node.rb#9376
+ # source://prism//lib/prism/node.rb#9991
sig { returns(T::Boolean) }
def utf_8?; end
@@ -14764,7 +16625,7 @@ class Prism::InterpolatedRegularExpressionNode < ::Prism::Node
#
# @return [Boolean]
#
- # source://prism//lib/prism/node.rb#9371
+ # source://prism//lib/prism/node.rb#9986
sig { returns(T::Boolean) }
def windows_31j?; end
@@ -14772,7 +16633,7 @@ class Prism::InterpolatedRegularExpressionNode < ::Prism::Node
# Returns the value of attribute flags.
#
- # source://prism//lib/prism/node.rb#9275
+ # source://prism//lib/prism/node.rb#9891
sig { returns(Integer) }
def flags; end
@@ -14784,7 +16645,7 @@ class Prism::InterpolatedRegularExpressionNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#9415
+ # source://prism//lib/prism/node.rb#10055
def type; end
end
end
@@ -14794,13 +16655,15 @@ end
# "foo #{bar} baz"
# ^^^^^^^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#9424
+# source://prism//lib/prism/node.rb#10064
class Prism::InterpolatedStringNode < ::Prism::Node
+ include ::Prism::HeredocQuery
+
# def initialize: (opening_loc: Location?, parts: Array[Node], closing_loc: Location?, location: Location) -> void
#
# @return [InterpolatedStringNode] a new instance of InterpolatedStringNode
#
- # source://prism//lib/prism/node.rb#9435
+ # source://prism//lib/prism/node.rb#10075
sig do
params(
opening_loc: T.nilable(Prism::Location),
@@ -14813,54 +16676,54 @@ class Prism::InterpolatedStringNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#9443
+ # source://prism//lib/prism/node.rb#10083
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#9453
+ # source://prism//lib/prism/node.rb#10093
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def closing: () -> String?
#
- # source://prism//lib/prism/node.rb#9491
+ # source://prism//lib/prism/node.rb#10131
sig { returns(T.nilable(String)) }
def closing; end
# attr_reader closing_loc: Location?
#
- # source://prism//lib/prism/node.rb#9432
+ # source://prism//lib/prism/node.rb#10072
sig { returns(T.nilable(Prism::Location)) }
def closing_loc; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#9463
+ # source://prism//lib/prism/node.rb#10103
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#9458
+ # source://prism//lib/prism/node.rb#10098
def compact_child_nodes; end
# def copy: (**params) -> InterpolatedStringNode
#
- # source://prism//lib/prism/node.rb#9468
+ # source://prism//lib/prism/node.rb#10108
sig { params(params: T.untyped).returns(Prism::InterpolatedStringNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#9453
+ # source://prism//lib/prism/node.rb#10093
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#9481
+ # source://prism//lib/prism/node.rb#10121
sig do
params(
keys: T::Array[Symbol]
@@ -14870,28 +16733,28 @@ class Prism::InterpolatedStringNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#9496
+ # source://prism//lib/prism/node.rb#10136
def inspect(inspector = T.unsafe(nil)); end
# def opening: () -> String?
#
- # source://prism//lib/prism/node.rb#9486
+ # source://prism//lib/prism/node.rb#10126
sig { returns(T.nilable(String)) }
def opening; end
# attr_reader opening_loc: Location?
#
- # source://prism//lib/prism/node.rb#9426
+ # source://prism//lib/prism/node.rb#10066
sig { returns(T.nilable(Prism::Location)) }
def opening_loc; end
# attr_reader parts: Array[Node]
#
- # source://prism//lib/prism/node.rb#9429
+ # source://prism//lib/prism/node.rb#10069
sig { returns(T::Array[Prism::Node]) }
def parts; end
- # source://prism//lib/prism/node.rb#9447
+ # source://prism//lib/prism/node.rb#10087
def set_newline_flag(newline_marked); end
# Sometimes you want to check an instance of a node against a list of
@@ -14909,7 +16772,7 @@ class Prism::InterpolatedStringNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#9518
+ # source://prism//lib/prism/node.rb#10158
def type; end
class << self
@@ -14920,7 +16783,7 @@ class Prism::InterpolatedStringNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#9528
+ # source://prism//lib/prism/node.rb#10168
def type; end
end
end
@@ -14930,13 +16793,13 @@ end
# :"foo #{bar} baz"
# ^^^^^^^^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#9537
+# source://prism//lib/prism/node.rb#10177
class Prism::InterpolatedSymbolNode < ::Prism::Node
# def initialize: (opening_loc: Location?, parts: Array[Node], closing_loc: Location?, location: Location) -> void
#
# @return [InterpolatedSymbolNode] a new instance of InterpolatedSymbolNode
#
- # source://prism//lib/prism/node.rb#9548
+ # source://prism//lib/prism/node.rb#10188
sig do
params(
opening_loc: T.nilable(Prism::Location),
@@ -14949,54 +16812,54 @@ class Prism::InterpolatedSymbolNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#9556
+ # source://prism//lib/prism/node.rb#10196
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#9566
+ # source://prism//lib/prism/node.rb#10206
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def closing: () -> String?
#
- # source://prism//lib/prism/node.rb#9604
+ # source://prism//lib/prism/node.rb#10244
sig { returns(T.nilable(String)) }
def closing; end
# attr_reader closing_loc: Location?
#
- # source://prism//lib/prism/node.rb#9545
+ # source://prism//lib/prism/node.rb#10185
sig { returns(T.nilable(Prism::Location)) }
def closing_loc; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#9576
+ # source://prism//lib/prism/node.rb#10216
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#9571
+ # source://prism//lib/prism/node.rb#10211
def compact_child_nodes; end
# def copy: (**params) -> InterpolatedSymbolNode
#
- # source://prism//lib/prism/node.rb#9581
+ # source://prism//lib/prism/node.rb#10221
sig { params(params: T.untyped).returns(Prism::InterpolatedSymbolNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#9566
+ # source://prism//lib/prism/node.rb#10206
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#9594
+ # source://prism//lib/prism/node.rb#10234
sig do
params(
keys: T::Array[Symbol]
@@ -15006,28 +16869,28 @@ class Prism::InterpolatedSymbolNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#9609
+ # source://prism//lib/prism/node.rb#10249
def inspect(inspector = T.unsafe(nil)); end
# def opening: () -> String?
#
- # source://prism//lib/prism/node.rb#9599
+ # source://prism//lib/prism/node.rb#10239
sig { returns(T.nilable(String)) }
def opening; end
# attr_reader opening_loc: Location?
#
- # source://prism//lib/prism/node.rb#9539
+ # source://prism//lib/prism/node.rb#10179
sig { returns(T.nilable(Prism::Location)) }
def opening_loc; end
# attr_reader parts: Array[Node]
#
- # source://prism//lib/prism/node.rb#9542
+ # source://prism//lib/prism/node.rb#10182
sig { returns(T::Array[Prism::Node]) }
def parts; end
- # source://prism//lib/prism/node.rb#9560
+ # source://prism//lib/prism/node.rb#10200
def set_newline_flag(newline_marked); end
# Sometimes you want to check an instance of a node against a list of
@@ -15045,7 +16908,7 @@ class Prism::InterpolatedSymbolNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#9631
+ # source://prism//lib/prism/node.rb#10271
def type; end
class << self
@@ -15056,7 +16919,7 @@ class Prism::InterpolatedSymbolNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#9641
+ # source://prism//lib/prism/node.rb#10281
def type; end
end
end
@@ -15066,13 +16929,15 @@ end
# `foo #{bar} baz`
# ^^^^^^^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#9650
+# source://prism//lib/prism/node.rb#10290
class Prism::InterpolatedXStringNode < ::Prism::Node
+ include ::Prism::HeredocQuery
+
# def initialize: (opening_loc: Location, parts: Array[Node], closing_loc: Location, location: Location) -> void
#
# @return [InterpolatedXStringNode] a new instance of InterpolatedXStringNode
#
- # source://prism//lib/prism/node.rb#9661
+ # source://prism//lib/prism/node.rb#10301
sig do
params(
opening_loc: Prism::Location,
@@ -15085,54 +16950,54 @@ class Prism::InterpolatedXStringNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#9669
+ # source://prism//lib/prism/node.rb#10309
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#9679
+ # source://prism//lib/prism/node.rb#10319
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def closing: () -> String
#
- # source://prism//lib/prism/node.rb#9717
+ # source://prism//lib/prism/node.rb#10357
sig { returns(String) }
def closing; end
# attr_reader closing_loc: Location
#
- # source://prism//lib/prism/node.rb#9658
+ # source://prism//lib/prism/node.rb#10298
sig { returns(Prism::Location) }
def closing_loc; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#9689
+ # source://prism//lib/prism/node.rb#10329
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#9684
+ # source://prism//lib/prism/node.rb#10324
def compact_child_nodes; end
# def copy: (**params) -> InterpolatedXStringNode
#
- # source://prism//lib/prism/node.rb#9694
+ # source://prism//lib/prism/node.rb#10334
sig { params(params: T.untyped).returns(Prism::InterpolatedXStringNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#9679
+ # source://prism//lib/prism/node.rb#10319
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#9707
+ # source://prism//lib/prism/node.rb#10347
sig do
params(
keys: T::Array[Symbol]
@@ -15142,28 +17007,28 @@ class Prism::InterpolatedXStringNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#9722
+ # source://prism//lib/prism/node.rb#10362
def inspect(inspector = T.unsafe(nil)); end
# def opening: () -> String
#
- # source://prism//lib/prism/node.rb#9712
+ # source://prism//lib/prism/node.rb#10352
sig { returns(String) }
def opening; end
# attr_reader opening_loc: Location
#
- # source://prism//lib/prism/node.rb#9652
+ # source://prism//lib/prism/node.rb#10292
sig { returns(Prism::Location) }
def opening_loc; end
# attr_reader parts: Array[Node]
#
- # source://prism//lib/prism/node.rb#9655
+ # source://prism//lib/prism/node.rb#10295
sig { returns(T::Array[Prism::Node]) }
def parts; end
- # source://prism//lib/prism/node.rb#9673
+ # source://prism//lib/prism/node.rb#10313
def set_newline_flag(newline_marked); end
# Sometimes you want to check an instance of a node against a list of
@@ -15181,7 +17046,7 @@ class Prism::InterpolatedXStringNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#9744
+ # source://prism//lib/prism/node.rb#10384
def type; end
class << self
@@ -15192,7 +17057,7 @@ class Prism::InterpolatedXStringNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#9754
+ # source://prism//lib/prism/node.rb#10394
def type; end
end
end
@@ -15202,54 +17067,54 @@ end
# foo(a: b)
# ^^^^
#
-# source://prism//lib/prism/node.rb#9763
+# source://prism//lib/prism/node.rb#10403
class Prism::KeywordHashNode < ::Prism::Node
- # def initialize: (elements: Array[Node], location: Location) -> void
+ # def initialize: (flags: Integer, elements: Array[Node], location: Location) -> void
#
# @return [KeywordHashNode] a new instance of KeywordHashNode
#
- # source://prism//lib/prism/node.rb#9768
- sig { params(elements: T::Array[Prism::Node], location: Prism::Location).void }
- def initialize(elements, location); end
+ # source://prism//lib/prism/node.rb#10411
+ sig { params(flags: Integer, elements: T::Array[Prism::Node], location: Prism::Location).void }
+ def initialize(flags, elements, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#9774
+ # source://prism//lib/prism/node.rb#10418
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#9779
+ # source://prism//lib/prism/node.rb#10423
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#9789
+ # source://prism//lib/prism/node.rb#10433
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#9784
+ # source://prism//lib/prism/node.rb#10428
def compact_child_nodes; end
# def copy: (**params) -> KeywordHashNode
#
- # source://prism//lib/prism/node.rb#9794
+ # source://prism//lib/prism/node.rb#10438
sig { params(params: T.untyped).returns(Prism::KeywordHashNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#9779
+ # source://prism//lib/prism/node.rb#10423
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#9805
+ # source://prism//lib/prism/node.rb#10450
sig do
params(
keys: T::Array[Symbol]
@@ -15259,15 +17124,23 @@ class Prism::KeywordHashNode < ::Prism::Node
# attr_reader elements: Array[Node]
#
- # source://prism//lib/prism/node.rb#9765
+ # source://prism//lib/prism/node.rb#10408
sig { returns(T::Array[Prism::Node]) }
def elements; end
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#9810
+ # source://prism//lib/prism/node.rb#10460
def inspect(inspector = T.unsafe(nil)); end
+ # def static_keys?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#10455
+ sig { returns(T::Boolean) }
+ def static_keys?; end
+
# Sometimes you want to check an instance of a node against a list of
# classes to see what kind of behavior to perform. Usually this is done by
# calling `[cls1, cls2].include?(node.class)` or putting the node into a
@@ -15283,9 +17156,17 @@ class Prism::KeywordHashNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#9830
+ # source://prism//lib/prism/node.rb#10482
def type; end
+ private
+
+ # Returns the value of attribute flags.
+ #
+ # source://prism//lib/prism/node.rb#10405
+ sig { returns(Integer) }
+ def flags; end
+
class << self
# Similar to #type, this method returns a symbol that you can use for
# splitting on the type of the node without having to do a long === chain.
@@ -15294,24 +17175,34 @@ class Prism::KeywordHashNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#9840
+ # source://prism//lib/prism/node.rb#10492
def type; end
end
end
+# Flags for keyword hash nodes.
+#
+# source://prism//lib/prism/node.rb#17325
+module Prism::KeywordHashNodeFlags; end
+
+# a keyword hash which only has `AssocNode` elements all with static literal keys, which means the elements can be treated as keyword arguments
+#
+# source://prism//lib/prism/node.rb#17327
+Prism::KeywordHashNodeFlags::STATIC_KEYS = T.let(T.unsafe(nil), Integer)
+
# Represents a keyword rest parameter to a method, block, or lambda definition.
#
# def a(**b)
# ^^^
# end
#
-# source://prism//lib/prism/node.rb#9850
+# source://prism//lib/prism/node.rb#10502
class Prism::KeywordRestParameterNode < ::Prism::Node
# def initialize: (name: Symbol?, name_loc: Location?, operator_loc: Location, location: Location) -> void
#
# @return [KeywordRestParameterNode] a new instance of KeywordRestParameterNode
#
- # source://prism//lib/prism/node.rb#9861
+ # source://prism//lib/prism/node.rb#10513
sig do
params(
name: T.nilable(Symbol),
@@ -15324,42 +17215,42 @@ class Prism::KeywordRestParameterNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#9869
+ # source://prism//lib/prism/node.rb#10521
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#9874
+ # source://prism//lib/prism/node.rb#10526
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#9884
+ # source://prism//lib/prism/node.rb#10536
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#9879
+ # source://prism//lib/prism/node.rb#10531
def compact_child_nodes; end
# def copy: (**params) -> KeywordRestParameterNode
#
- # source://prism//lib/prism/node.rb#9889
+ # source://prism//lib/prism/node.rb#10541
sig { params(params: T.untyped).returns(Prism::KeywordRestParameterNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#9874
+ # source://prism//lib/prism/node.rb#10526
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#9902
+ # source://prism//lib/prism/node.rb#10554
sig do
params(
keys: T::Array[Symbol]
@@ -15369,30 +17260,30 @@ class Prism::KeywordRestParameterNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#9912
+ # source://prism//lib/prism/node.rb#10564
def inspect(inspector = T.unsafe(nil)); end
# attr_reader name: Symbol?
#
- # source://prism//lib/prism/node.rb#9852
+ # source://prism//lib/prism/node.rb#10504
sig { returns(T.nilable(Symbol)) }
def name; end
# attr_reader name_loc: Location?
#
- # source://prism//lib/prism/node.rb#9855
+ # source://prism//lib/prism/node.rb#10507
sig { returns(T.nilable(Prism::Location)) }
def name_loc; end
# def operator: () -> String
#
- # source://prism//lib/prism/node.rb#9907
+ # source://prism//lib/prism/node.rb#10559
sig { returns(String) }
def operator; end
# attr_reader operator_loc: Location
#
- # source://prism//lib/prism/node.rb#9858
+ # source://prism//lib/prism/node.rb#10510
sig { returns(Prism::Location) }
def operator_loc; end
@@ -15411,7 +17302,7 @@ class Prism::KeywordRestParameterNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#9938
+ # source://prism//lib/prism/node.rb#10590
def type; end
class << self
@@ -15422,7 +17313,7 @@ class Prism::KeywordRestParameterNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#9948
+ # source://prism//lib/prism/node.rb#10600
def type; end
end
end
@@ -15432,82 +17323,83 @@ end
# ->(value) { value * 2 }
# ^^^^^^^^^^^^^^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#9957
+# source://prism//lib/prism/node.rb#10609
class Prism::LambdaNode < ::Prism::Node
- # def initialize: (locals: Array[Symbol], operator_loc: Location, opening_loc: Location, closing_loc: Location, parameters: BlockParametersNode?, body: Node?, location: Location) -> void
+ # def initialize: (locals: Array[Symbol], locals_body_index: Integer, operator_loc: Location, opening_loc: Location, closing_loc: Location, parameters: Node?, body: Node?, location: Location) -> void
#
# @return [LambdaNode] a new instance of LambdaNode
#
- # source://prism//lib/prism/node.rb#9977
+ # source://prism//lib/prism/node.rb#10632
sig do
params(
locals: T::Array[Symbol],
+ locals_body_index: Integer,
operator_loc: Prism::Location,
opening_loc: Prism::Location,
closing_loc: Prism::Location,
- parameters: T.nilable(Prism::BlockParametersNode),
+ parameters: T.nilable(Prism::Node),
body: T.nilable(Prism::Node),
location: Prism::Location
).void
end
- def initialize(locals, operator_loc, opening_loc, closing_loc, parameters, body, location); end
+ def initialize(locals, locals_body_index, operator_loc, opening_loc, closing_loc, parameters, body, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#9988
+ # source://prism//lib/prism/node.rb#10644
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# attr_reader body: Node?
#
- # source://prism//lib/prism/node.rb#9974
+ # source://prism//lib/prism/node.rb#10629
sig { returns(T.nilable(Prism::Node)) }
def body; end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#9993
+ # source://prism//lib/prism/node.rb#10649
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def closing: () -> String
#
- # source://prism//lib/prism/node.rb#10042
+ # source://prism//lib/prism/node.rb#10699
sig { returns(String) }
def closing; end
# attr_reader closing_loc: Location
#
- # source://prism//lib/prism/node.rb#9968
+ # source://prism//lib/prism/node.rb#10623
sig { returns(Prism::Location) }
def closing_loc; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#10006
+ # source://prism//lib/prism/node.rb#10662
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#9998
+ # source://prism//lib/prism/node.rb#10654
def compact_child_nodes; end
# def copy: (**params) -> LambdaNode
#
- # source://prism//lib/prism/node.rb#10011
+ # source://prism//lib/prism/node.rb#10667
sig { params(params: T.untyped).returns(Prism::LambdaNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#9993
+ # source://prism//lib/prism/node.rb#10649
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#10027
+ # source://prism//lib/prism/node.rb#10684
sig do
params(
keys: T::Array[Symbol]
@@ -15517,43 +17409,49 @@ class Prism::LambdaNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#10047
+ # source://prism//lib/prism/node.rb#10704
def inspect(inspector = T.unsafe(nil)); end
# attr_reader locals: Array[Symbol]
#
- # source://prism//lib/prism/node.rb#9959
+ # source://prism//lib/prism/node.rb#10611
sig { returns(T::Array[Symbol]) }
def locals; end
+ # attr_reader locals_body_index: Integer
+ #
+ # source://prism//lib/prism/node.rb#10614
+ sig { returns(Integer) }
+ def locals_body_index; end
+
# def opening: () -> String
#
- # source://prism//lib/prism/node.rb#10037
+ # source://prism//lib/prism/node.rb#10694
sig { returns(String) }
def opening; end
# attr_reader opening_loc: Location
#
- # source://prism//lib/prism/node.rb#9965
+ # source://prism//lib/prism/node.rb#10620
sig { returns(Prism::Location) }
def opening_loc; end
# def operator: () -> String
#
- # source://prism//lib/prism/node.rb#10032
+ # source://prism//lib/prism/node.rb#10689
sig { returns(String) }
def operator; end
# attr_reader operator_loc: Location
#
- # source://prism//lib/prism/node.rb#9962
+ # source://prism//lib/prism/node.rb#10617
sig { returns(Prism::Location) }
def operator_loc; end
- # attr_reader parameters: BlockParametersNode?
+ # attr_reader parameters: Node?
#
- # source://prism//lib/prism/node.rb#9971
- sig { returns(T.nilable(Prism::BlockParametersNode)) }
+ # source://prism//lib/prism/node.rb#10626
+ sig { returns(T.nilable(Prism::Node)) }
def parameters; end
# Sometimes you want to check an instance of a node against a list of
@@ -15571,7 +17469,7 @@ class Prism::LambdaNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#10082
+ # source://prism//lib/prism/node.rb#10740
def type; end
class << self
@@ -15582,7 +17480,7 @@ class Prism::LambdaNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#10092
+ # source://prism//lib/prism/node.rb#10750
def type; end
end
end
@@ -15817,17 +17715,17 @@ end
# This is a class that wraps the Ripper lexer to produce almost exactly the
# same tokens.
#
-# source://prism//lib/prism/lex_compat.rb#842
+# source://prism//lib/prism/lex_compat.rb#852
class Prism::LexRipper
# @return [LexRipper] a new instance of LexRipper
#
- # source://prism//lib/prism/lex_compat.rb#845
+ # source://prism//lib/prism/lex_compat.rb#855
def initialize(source); end
- # source://prism//lib/prism/lex_compat.rb#849
+ # source://prism//lib/prism/lex_compat.rb#859
def result; end
- # source://prism//lib/prism/lex_compat.rb#843
+ # source://prism//lib/prism/lex_compat.rb#853
def source; end
end
@@ -15836,13 +17734,13 @@ end
# target &&= value
# ^^^^^^^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#10101
+# source://prism//lib/prism/node.rb#10759
class Prism::LocalVariableAndWriteNode < ::Prism::Node
# def initialize: (name_loc: Location, operator_loc: Location, value: Node, name: Symbol, depth: Integer, location: Location) -> void
#
# @return [LocalVariableAndWriteNode] a new instance of LocalVariableAndWriteNode
#
- # source://prism//lib/prism/node.rb#10118
+ # source://prism//lib/prism/node.rb#10776
sig do
params(
name_loc: Prism::Location,
@@ -15857,42 +17755,42 @@ class Prism::LocalVariableAndWriteNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#10128
+ # source://prism//lib/prism/node.rb#10786
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#10133
+ # source://prism//lib/prism/node.rb#10791
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#10143
+ # source://prism//lib/prism/node.rb#10801
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#10138
+ # source://prism//lib/prism/node.rb#10796
def compact_child_nodes; end
# def copy: (**params) -> LocalVariableAndWriteNode
#
- # source://prism//lib/prism/node.rb#10148
+ # source://prism//lib/prism/node.rb#10806
sig { params(params: T.untyped).returns(Prism::LocalVariableAndWriteNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#10133
+ # source://prism//lib/prism/node.rb#10791
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#10163
+ # source://prism//lib/prism/node.rb#10821
sig do
params(
keys: T::Array[Symbol]
@@ -15902,36 +17800,36 @@ class Prism::LocalVariableAndWriteNode < ::Prism::Node
# attr_reader depth: Integer
#
- # source://prism//lib/prism/node.rb#10115
+ # source://prism//lib/prism/node.rb#10773
sig { returns(Integer) }
def depth; end
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#10173
+ # source://prism//lib/prism/node.rb#10831
def inspect(inspector = T.unsafe(nil)); end
# attr_reader name: Symbol
#
- # source://prism//lib/prism/node.rb#10112
+ # source://prism//lib/prism/node.rb#10770
sig { returns(Symbol) }
def name; end
# attr_reader name_loc: Location
#
- # source://prism//lib/prism/node.rb#10103
+ # source://prism//lib/prism/node.rb#10761
sig { returns(Prism::Location) }
def name_loc; end
# def operator: () -> String
#
- # source://prism//lib/prism/node.rb#10168
+ # source://prism//lib/prism/node.rb#10826
sig { returns(String) }
def operator; end
# attr_reader operator_loc: Location
#
- # source://prism//lib/prism/node.rb#10106
+ # source://prism//lib/prism/node.rb#10764
sig { returns(Prism::Location) }
def operator_loc; end
@@ -15950,12 +17848,12 @@ class Prism::LocalVariableAndWriteNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#10198
+ # source://prism//lib/prism/node.rb#10856
def type; end
# attr_reader value: Node
#
- # source://prism//lib/prism/node.rb#10109
+ # source://prism//lib/prism/node.rb#10767
sig { returns(Prism::Node) }
def value; end
@@ -15967,7 +17865,7 @@ class Prism::LocalVariableAndWriteNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#10208
+ # source://prism//lib/prism/node.rb#10866
def type; end
end
end
@@ -15977,13 +17875,13 @@ end
# target += value
# ^^^^^^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#10217
+# source://prism//lib/prism/node.rb#10875
class Prism::LocalVariableOperatorWriteNode < ::Prism::Node
# def initialize: (name_loc: Location, operator_loc: Location, value: Node, name: Symbol, operator: Symbol, depth: Integer, location: Location) -> void
#
# @return [LocalVariableOperatorWriteNode] a new instance of LocalVariableOperatorWriteNode
#
- # source://prism//lib/prism/node.rb#10237
+ # source://prism//lib/prism/node.rb#10895
sig do
params(
name_loc: Prism::Location,
@@ -15999,42 +17897,42 @@ class Prism::LocalVariableOperatorWriteNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#10248
+ # source://prism//lib/prism/node.rb#10906
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#10253
+ # source://prism//lib/prism/node.rb#10911
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#10263
+ # source://prism//lib/prism/node.rb#10921
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#10258
+ # source://prism//lib/prism/node.rb#10916
def compact_child_nodes; end
# def copy: (**params) -> LocalVariableOperatorWriteNode
#
- # source://prism//lib/prism/node.rb#10268
+ # source://prism//lib/prism/node.rb#10926
sig { params(params: T.untyped).returns(Prism::LocalVariableOperatorWriteNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#10253
+ # source://prism//lib/prism/node.rb#10911
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#10284
+ # source://prism//lib/prism/node.rb#10942
sig do
params(
keys: T::Array[Symbol]
@@ -16044,36 +17942,36 @@ class Prism::LocalVariableOperatorWriteNode < ::Prism::Node
# attr_reader depth: Integer
#
- # source://prism//lib/prism/node.rb#10234
+ # source://prism//lib/prism/node.rb#10892
sig { returns(Integer) }
def depth; end
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#10289
+ # source://prism//lib/prism/node.rb#10947
def inspect(inspector = T.unsafe(nil)); end
# attr_reader name: Symbol
#
- # source://prism//lib/prism/node.rb#10228
+ # source://prism//lib/prism/node.rb#10886
sig { returns(Symbol) }
def name; end
# attr_reader name_loc: Location
#
- # source://prism//lib/prism/node.rb#10219
+ # source://prism//lib/prism/node.rb#10877
sig { returns(Prism::Location) }
def name_loc; end
# attr_reader operator: Symbol
#
- # source://prism//lib/prism/node.rb#10231
+ # source://prism//lib/prism/node.rb#10889
sig { returns(Symbol) }
def operator; end
# attr_reader operator_loc: Location
#
- # source://prism//lib/prism/node.rb#10222
+ # source://prism//lib/prism/node.rb#10880
sig { returns(Prism::Location) }
def operator_loc; end
@@ -16092,12 +17990,12 @@ class Prism::LocalVariableOperatorWriteNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#10315
+ # source://prism//lib/prism/node.rb#10973
def type; end
# attr_reader value: Node
#
- # source://prism//lib/prism/node.rb#10225
+ # source://prism//lib/prism/node.rb#10883
sig { returns(Prism::Node) }
def value; end
@@ -16109,7 +18007,7 @@ class Prism::LocalVariableOperatorWriteNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#10325
+ # source://prism//lib/prism/node.rb#10983
def type; end
end
end
@@ -16119,13 +18017,13 @@ end
# target ||= value
# ^^^^^^^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#10334
+# source://prism//lib/prism/node.rb#10992
class Prism::LocalVariableOrWriteNode < ::Prism::Node
# def initialize: (name_loc: Location, operator_loc: Location, value: Node, name: Symbol, depth: Integer, location: Location) -> void
#
# @return [LocalVariableOrWriteNode] a new instance of LocalVariableOrWriteNode
#
- # source://prism//lib/prism/node.rb#10351
+ # source://prism//lib/prism/node.rb#11009
sig do
params(
name_loc: Prism::Location,
@@ -16140,42 +18038,42 @@ class Prism::LocalVariableOrWriteNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#10361
+ # source://prism//lib/prism/node.rb#11019
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#10366
+ # source://prism//lib/prism/node.rb#11024
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#10376
+ # source://prism//lib/prism/node.rb#11034
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#10371
+ # source://prism//lib/prism/node.rb#11029
def compact_child_nodes; end
# def copy: (**params) -> LocalVariableOrWriteNode
#
- # source://prism//lib/prism/node.rb#10381
+ # source://prism//lib/prism/node.rb#11039
sig { params(params: T.untyped).returns(Prism::LocalVariableOrWriteNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#10366
+ # source://prism//lib/prism/node.rb#11024
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#10396
+ # source://prism//lib/prism/node.rb#11054
sig do
params(
keys: T::Array[Symbol]
@@ -16185,36 +18083,36 @@ class Prism::LocalVariableOrWriteNode < ::Prism::Node
# attr_reader depth: Integer
#
- # source://prism//lib/prism/node.rb#10348
+ # source://prism//lib/prism/node.rb#11006
sig { returns(Integer) }
def depth; end
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#10406
+ # source://prism//lib/prism/node.rb#11064
def inspect(inspector = T.unsafe(nil)); end
# attr_reader name: Symbol
#
- # source://prism//lib/prism/node.rb#10345
+ # source://prism//lib/prism/node.rb#11003
sig { returns(Symbol) }
def name; end
# attr_reader name_loc: Location
#
- # source://prism//lib/prism/node.rb#10336
+ # source://prism//lib/prism/node.rb#10994
sig { returns(Prism::Location) }
def name_loc; end
# def operator: () -> String
#
- # source://prism//lib/prism/node.rb#10401
+ # source://prism//lib/prism/node.rb#11059
sig { returns(String) }
def operator; end
# attr_reader operator_loc: Location
#
- # source://prism//lib/prism/node.rb#10339
+ # source://prism//lib/prism/node.rb#10997
sig { returns(Prism::Location) }
def operator_loc; end
@@ -16233,12 +18131,12 @@ class Prism::LocalVariableOrWriteNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#10431
+ # source://prism//lib/prism/node.rb#11089
def type; end
# attr_reader value: Node
#
- # source://prism//lib/prism/node.rb#10342
+ # source://prism//lib/prism/node.rb#11000
sig { returns(Prism::Node) }
def value; end
@@ -16250,7 +18148,7 @@ class Prism::LocalVariableOrWriteNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#10441
+ # source://prism//lib/prism/node.rb#11099
def type; end
end
end
@@ -16262,54 +18160,54 @@ end
# foo
# ^^^
#
-# source://prism//lib/prism/node.rb#10452
+# source://prism//lib/prism/node.rb#11110
class Prism::LocalVariableReadNode < ::Prism::Node
# def initialize: (name: Symbol, depth: Integer, location: Location) -> void
#
# @return [LocalVariableReadNode] a new instance of LocalVariableReadNode
#
- # source://prism//lib/prism/node.rb#10460
+ # source://prism//lib/prism/node.rb#11118
sig { params(name: Symbol, depth: Integer, location: Prism::Location).void }
def initialize(name, depth, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#10467
+ # source://prism//lib/prism/node.rb#11125
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#10472
+ # source://prism//lib/prism/node.rb#11130
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#10482
+ # source://prism//lib/prism/node.rb#11140
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#10477
+ # source://prism//lib/prism/node.rb#11135
def compact_child_nodes; end
# def copy: (**params) -> LocalVariableReadNode
#
- # source://prism//lib/prism/node.rb#10487
+ # source://prism//lib/prism/node.rb#11145
sig { params(params: T.untyped).returns(Prism::LocalVariableReadNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#10472
+ # source://prism//lib/prism/node.rb#11130
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#10499
+ # source://prism//lib/prism/node.rb#11157
sig do
params(
keys: T::Array[Symbol]
@@ -16319,18 +18217,18 @@ class Prism::LocalVariableReadNode < ::Prism::Node
# attr_reader depth: Integer
#
- # source://prism//lib/prism/node.rb#10457
+ # source://prism//lib/prism/node.rb#11115
sig { returns(Integer) }
def depth; end
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#10504
+ # source://prism//lib/prism/node.rb#11162
def inspect(inspector = T.unsafe(nil)); end
# attr_reader name: Symbol
#
- # source://prism//lib/prism/node.rb#10454
+ # source://prism//lib/prism/node.rb#11112
sig { returns(Symbol) }
def name; end
@@ -16349,7 +18247,7 @@ class Prism::LocalVariableReadNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#10525
+ # source://prism//lib/prism/node.rb#11183
def type; end
class << self
@@ -16360,7 +18258,7 @@ class Prism::LocalVariableReadNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#10535
+ # source://prism//lib/prism/node.rb#11193
def type; end
end
end
@@ -16370,54 +18268,54 @@ end
# foo, bar = baz
# ^^^ ^^^
#
-# source://prism//lib/prism/node.rb#10544
+# source://prism//lib/prism/node.rb#11202
class Prism::LocalVariableTargetNode < ::Prism::Node
# def initialize: (name: Symbol, depth: Integer, location: Location) -> void
#
# @return [LocalVariableTargetNode] a new instance of LocalVariableTargetNode
#
- # source://prism//lib/prism/node.rb#10552
+ # source://prism//lib/prism/node.rb#11210
sig { params(name: Symbol, depth: Integer, location: Prism::Location).void }
def initialize(name, depth, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#10559
+ # source://prism//lib/prism/node.rb#11217
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#10564
+ # source://prism//lib/prism/node.rb#11222
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#10574
+ # source://prism//lib/prism/node.rb#11232
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#10569
+ # source://prism//lib/prism/node.rb#11227
def compact_child_nodes; end
# def copy: (**params) -> LocalVariableTargetNode
#
- # source://prism//lib/prism/node.rb#10579
+ # source://prism//lib/prism/node.rb#11237
sig { params(params: T.untyped).returns(Prism::LocalVariableTargetNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#10564
+ # source://prism//lib/prism/node.rb#11222
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#10591
+ # source://prism//lib/prism/node.rb#11249
sig do
params(
keys: T::Array[Symbol]
@@ -16427,18 +18325,18 @@ class Prism::LocalVariableTargetNode < ::Prism::Node
# attr_reader depth: Integer
#
- # source://prism//lib/prism/node.rb#10549
+ # source://prism//lib/prism/node.rb#11207
sig { returns(Integer) }
def depth; end
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#10596
+ # source://prism//lib/prism/node.rb#11254
def inspect(inspector = T.unsafe(nil)); end
# attr_reader name: Symbol
#
- # source://prism//lib/prism/node.rb#10546
+ # source://prism//lib/prism/node.rb#11204
sig { returns(Symbol) }
def name; end
@@ -16457,7 +18355,7 @@ class Prism::LocalVariableTargetNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#10617
+ # source://prism//lib/prism/node.rb#11275
def type; end
class << self
@@ -16468,7 +18366,7 @@ class Prism::LocalVariableTargetNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#10627
+ # source://prism//lib/prism/node.rb#11285
def type; end
end
end
@@ -16478,13 +18376,13 @@ end
# foo = 1
# ^^^^^^^
#
-# source://prism//lib/prism/node.rb#10636
+# source://prism//lib/prism/node.rb#11294
class Prism::LocalVariableWriteNode < ::Prism::Node
# def initialize: (name: Symbol, depth: Integer, name_loc: Location, value: Node, operator_loc: Location, location: Location) -> void
#
# @return [LocalVariableWriteNode] a new instance of LocalVariableWriteNode
#
- # source://prism//lib/prism/node.rb#10653
+ # source://prism//lib/prism/node.rb#11311
sig do
params(
name: Symbol,
@@ -16499,42 +18397,42 @@ class Prism::LocalVariableWriteNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#10663
+ # source://prism//lib/prism/node.rb#11321
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#10668
+ # source://prism//lib/prism/node.rb#11326
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#10678
+ # source://prism//lib/prism/node.rb#11336
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#10673
+ # source://prism//lib/prism/node.rb#11331
def compact_child_nodes; end
# def copy: (**params) -> LocalVariableWriteNode
#
- # source://prism//lib/prism/node.rb#10683
+ # source://prism//lib/prism/node.rb#11341
sig { params(params: T.untyped).returns(Prism::LocalVariableWriteNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#10668
+ # source://prism//lib/prism/node.rb#11326
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#10698
+ # source://prism//lib/prism/node.rb#11356
sig do
params(
keys: T::Array[Symbol]
@@ -16544,36 +18442,36 @@ class Prism::LocalVariableWriteNode < ::Prism::Node
# attr_reader depth: Integer
#
- # source://prism//lib/prism/node.rb#10641
+ # source://prism//lib/prism/node.rb#11299
sig { returns(Integer) }
def depth; end
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#10708
+ # source://prism//lib/prism/node.rb#11366
def inspect(inspector = T.unsafe(nil)); end
# attr_reader name: Symbol
#
- # source://prism//lib/prism/node.rb#10638
+ # source://prism//lib/prism/node.rb#11296
sig { returns(Symbol) }
def name; end
# attr_reader name_loc: Location
#
- # source://prism//lib/prism/node.rb#10644
+ # source://prism//lib/prism/node.rb#11302
sig { returns(Prism::Location) }
def name_loc; end
# def operator: () -> String
#
- # source://prism//lib/prism/node.rb#10703
+ # source://prism//lib/prism/node.rb#11361
sig { returns(String) }
def operator; end
# attr_reader operator_loc: Location
#
- # source://prism//lib/prism/node.rb#10650
+ # source://prism//lib/prism/node.rb#11308
sig { returns(Prism::Location) }
def operator_loc; end
@@ -16592,12 +18490,12 @@ class Prism::LocalVariableWriteNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#10733
+ # source://prism//lib/prism/node.rb#11391
def type; end
# attr_reader value: Node
#
- # source://prism//lib/prism/node.rb#10647
+ # source://prism//lib/prism/node.rb#11305
sig { returns(Prism::Node) }
def value; end
@@ -16609,115 +18507,139 @@ class Prism::LocalVariableWriteNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#10743
+ # source://prism//lib/prism/node.rb#11401
def type; end
end
end
# This represents a location in the source.
#
-# source://prism//lib/prism/parse_result.rb#81
+# source://prism//lib/prism/parse_result.rb#91
class Prism::Location
# Create a new location object with the given source, start byte offset, and
# byte length.
#
# @return [Location] a new instance of Location
#
- # source://prism//lib/prism/parse_result.rb#98
+ # source://prism//lib/prism/parse_result.rb#108
sig { params(source: Prism::Source, start_offset: Integer, length: Integer).void }
def initialize(source, start_offset, length); end
# Returns true if the given other location is equal to this location.
#
- # source://prism//lib/prism/parse_result.rb#168
+ # source://prism//lib/prism/parse_result.rb#202
def ==(other); end
# The list of comments attached to this location
#
- # source://prism//lib/prism/parse_result.rb#94
+ # source://prism//lib/prism/parse_result.rb#104
sig { returns(T::Array[Prism::Comment]) }
def comments; end
# Create a new location object with the given options.
#
- # source://prism//lib/prism/parse_result.rb#106
+ # source://prism//lib/prism/parse_result.rb#116
sig { params(options: T.untyped).returns(Prism::Location) }
def copy(**options); end
# Implement the hash pattern matching interface for Location.
#
- # source://prism//lib/prism/parse_result.rb#158
+ # source://prism//lib/prism/parse_result.rb#192
def deconstruct_keys(keys); end
+ # The column number in characters where this location ends from the start of
+ # the line.
+ #
+ # source://prism//lib/prism/parse_result.rb#187
+ def end_character_column; end
+
+ # The character offset from the beginning of the source where this location
+ # ends.
+ #
+ # source://prism//lib/prism/parse_result.rb#147
+ def end_character_offset; end
+
# The column number in bytes where this location ends from the start of the
# line.
#
- # source://prism//lib/prism/parse_result.rb#153
+ # source://prism//lib/prism/parse_result.rb#181
sig { returns(Integer) }
def end_column; end
# The line number where this location ends.
#
- # source://prism//lib/prism/parse_result.rb#141
+ # source://prism//lib/prism/parse_result.rb#163
sig { returns(Integer) }
def end_line; end
# The byte offset from the beginning of the source where this location ends.
#
- # source://prism//lib/prism/parse_result.rb#125
+ # source://prism//lib/prism/parse_result.rb#141
sig { returns(Integer) }
def end_offset; end
# Returns a string representation of this location.
#
- # source://prism//lib/prism/parse_result.rb#115
+ # source://prism//lib/prism/parse_result.rb#125
def inspect; end
# Returns a new location that stretches from this location to the given
# other location. Raises an error if this location is not before the other
# location or if they don't share the same source.
#
- # source://prism//lib/prism/parse_result.rb#177
+ # source://prism//lib/prism/parse_result.rb#211
def join(other); end
# The length of this location in bytes.
#
- # source://prism//lib/prism/parse_result.rb#91
+ # source://prism//lib/prism/parse_result.rb#101
def length; end
# Implement the pretty print interface for Location.
#
- # source://prism//lib/prism/parse_result.rb#163
+ # source://prism//lib/prism/parse_result.rb#197
def pretty_print(q); end
# The source code that this location represents.
#
- # source://prism//lib/prism/parse_result.rb#120
+ # source://prism//lib/prism/parse_result.rb#130
sig { returns(String) }
def slice; end
+ # The column number in characters where this location ends from the start of
+ # the line.
+ #
+ # source://prism//lib/prism/parse_result.rb#175
+ def start_character_column; end
+
+ # The character offset from the beginning of the source where this location
+ # starts.
+ #
+ # source://prism//lib/prism/parse_result.rb#136
+ def start_character_offset; end
+
# The column number in bytes where this location starts from the start of
# the line.
#
- # source://prism//lib/prism/parse_result.rb#147
+ # source://prism//lib/prism/parse_result.rb#169
sig { returns(Integer) }
def start_column; end
# The line number where this location starts.
#
- # source://prism//lib/prism/parse_result.rb#130
+ # source://prism//lib/prism/parse_result.rb#152
sig { returns(Integer) }
def start_line; end
# The content of the line where this location starts before this location.
#
- # source://prism//lib/prism/parse_result.rb#135
+ # source://prism//lib/prism/parse_result.rb#157
def start_line_slice; end
# The byte offset from the beginning of the source where this location
# starts.
#
- # source://prism//lib/prism/parse_result.rb#88
+ # source://prism//lib/prism/parse_result.rb#98
sig { returns(Integer) }
def start_offset; end
@@ -16725,7 +18647,7 @@ class Prism::Location
# Returns the value of attribute source.
#
- # source://prism//lib/prism/parse_result.rb#84
+ # source://prism//lib/prism/parse_result.rb#94
def source; end
class << self
@@ -16733,60 +18655,60 @@ class Prism::Location
# the beginning of the file. Useful for when you want a location object but
# do not care where it points.
#
- # source://prism//lib/prism/parse_result.rb#187
+ # source://prism//lib/prism/parse_result.rb#221
def null; end
end
end
# Flags for while and until loop nodes.
#
-# source://prism//lib/prism/node.rb#16566
+# source://prism//lib/prism/node.rb#17331
module Prism::LoopFlags; end
# a loop after a begin statement, so the body is executed first before the condition
#
-# source://prism//lib/prism/node.rb#16568
+# source://prism//lib/prism/node.rb#17333
Prism::LoopFlags::BEGIN_MODIFIER = T.let(T.unsafe(nil), Integer)
# This represents a magic comment that was encountered during parsing.
#
-# source://prism//lib/prism/parse_result.rb#248
+# source://prism//lib/prism/parse_result.rb#273
class Prism::MagicComment
# Create a new magic comment object with the given key and value locations.
#
# @return [MagicComment] a new instance of MagicComment
#
- # source://prism//lib/prism/parse_result.rb#256
+ # source://prism//lib/prism/parse_result.rb#281
def initialize(key_loc, value_loc); end
# Implement the hash pattern matching interface for MagicComment.
#
- # source://prism//lib/prism/parse_result.rb#272
+ # source://prism//lib/prism/parse_result.rb#297
def deconstruct_keys(keys); end
# Returns a string representation of this magic comment.
#
- # source://prism//lib/prism/parse_result.rb#277
+ # source://prism//lib/prism/parse_result.rb#302
def inspect; end
# Returns the key of the magic comment by slicing it from the source code.
#
- # source://prism//lib/prism/parse_result.rb#262
+ # source://prism//lib/prism/parse_result.rb#287
def key; end
# A Location object representing the location of the key in the source.
#
- # source://prism//lib/prism/parse_result.rb#250
+ # source://prism//lib/prism/parse_result.rb#275
def key_loc; end
# Returns the value of the magic comment by slicing it from the source code.
#
- # source://prism//lib/prism/parse_result.rb#267
+ # source://prism//lib/prism/parse_result.rb#292
def value; end
# A Location object representing the location of the value in the source.
#
- # source://prism//lib/prism/parse_result.rb#253
+ # source://prism//lib/prism/parse_result.rb#278
def value_loc; end
end
@@ -16797,30 +18719,30 @@ end
# if /foo/i then end
# ^^^^^^
#
-# source://prism//lib/prism/node.rb#10754
+# source://prism//lib/prism/node.rb#11412
class Prism::MatchLastLineNode < ::Prism::Node
include ::Prism::RegularExpressionOptions
- # def initialize: (opening_loc: Location, content_loc: Location, closing_loc: Location, unescaped: String, flags: Integer, location: Location) -> void
+ # def initialize: (flags: Integer, opening_loc: Location, content_loc: Location, closing_loc: Location, unescaped: String, location: Location) -> void
#
# @return [MatchLastLineNode] a new instance of MatchLastLineNode
#
- # source://prism//lib/prism/node.rb#10771
+ # source://prism//lib/prism/node.rb#11429
sig do
params(
+ flags: Integer,
opening_loc: Prism::Location,
content_loc: Prism::Location,
closing_loc: Prism::Location,
unescaped: String,
- flags: Integer,
location: Prism::Location
).void
end
- def initialize(opening_loc, content_loc, closing_loc, unescaped, flags, location); end
+ def initialize(flags, opening_loc, content_loc, closing_loc, unescaped, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#10781
+ # source://prism//lib/prism/node.rb#11439
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
@@ -16828,66 +18750,66 @@ class Prism::MatchLastLineNode < ::Prism::Node
#
# @return [Boolean]
#
- # source://prism//lib/prism/node.rb#10861
+ # source://prism//lib/prism/node.rb#11504
sig { returns(T::Boolean) }
def ascii_8bit?; end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#10786
+ # source://prism//lib/prism/node.rb#11444
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def closing: () -> String
#
- # source://prism//lib/prism/node.rb#10831
+ # source://prism//lib/prism/node.rb#11544
sig { returns(String) }
def closing; end
# attr_reader closing_loc: Location
#
- # source://prism//lib/prism/node.rb#10762
+ # source://prism//lib/prism/node.rb#11423
sig { returns(Prism::Location) }
def closing_loc; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#10796
+ # source://prism//lib/prism/node.rb#11454
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#10791
+ # source://prism//lib/prism/node.rb#11449
def compact_child_nodes; end
# def content: () -> String
#
- # source://prism//lib/prism/node.rb#10826
+ # source://prism//lib/prism/node.rb#11539
sig { returns(String) }
def content; end
# attr_reader content_loc: Location
#
- # source://prism//lib/prism/node.rb#10759
+ # source://prism//lib/prism/node.rb#11420
sig { returns(Prism::Location) }
def content_loc; end
# def copy: (**params) -> MatchLastLineNode
#
- # source://prism//lib/prism/node.rb#10801
+ # source://prism//lib/prism/node.rb#11459
sig { params(params: T.untyped).returns(Prism::MatchLastLineNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#10786
+ # source://prism//lib/prism/node.rb#11444
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#10816
+ # source://prism//lib/prism/node.rb#11474
sig do
params(
keys: T::Array[Symbol]
@@ -16899,7 +18821,7 @@ class Prism::MatchLastLineNode < ::Prism::Node
#
# @return [Boolean]
#
- # source://prism//lib/prism/node.rb#10856
+ # source://prism//lib/prism/node.rb#11499
sig { returns(T::Boolean) }
def euc_jp?; end
@@ -16907,28 +18829,52 @@ class Prism::MatchLastLineNode < ::Prism::Node
#
# @return [Boolean]
#
- # source://prism//lib/prism/node.rb#10841
+ # source://prism//lib/prism/node.rb#11484
sig { returns(T::Boolean) }
def extended?; end
+ # def forced_binary_encoding?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#11524
+ sig { returns(T::Boolean) }
+ def forced_binary_encoding?; end
+
+ # def forced_us_ascii_encoding?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#11529
+ sig { returns(T::Boolean) }
+ def forced_us_ascii_encoding?; end
+
+ # def forced_utf8_encoding?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#11519
+ sig { returns(T::Boolean) }
+ def forced_utf8_encoding?; end
+
# def ignore_case?: () -> bool
#
# @return [Boolean]
#
- # source://prism//lib/prism/node.rb#10836
+ # source://prism//lib/prism/node.rb#11479
sig { returns(T::Boolean) }
def ignore_case?; end
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#10876
+ # source://prism//lib/prism/node.rb#11549
def inspect(inspector = T.unsafe(nil)); end
# def multi_line?: () -> bool
#
# @return [Boolean]
#
- # source://prism//lib/prism/node.rb#10846
+ # source://prism//lib/prism/node.rb#11489
sig { returns(T::Boolean) }
def multi_line?; end
@@ -16936,19 +18882,19 @@ class Prism::MatchLastLineNode < ::Prism::Node
#
# @return [Boolean]
#
- # source://prism//lib/prism/node.rb#10851
+ # source://prism//lib/prism/node.rb#11494
sig { returns(T::Boolean) }
def once?; end
# def opening: () -> String
#
- # source://prism//lib/prism/node.rb#10821
+ # source://prism//lib/prism/node.rb#11534
sig { returns(String) }
def opening; end
# attr_reader opening_loc: Location
#
- # source://prism//lib/prism/node.rb#10756
+ # source://prism//lib/prism/node.rb#11417
sig { returns(Prism::Location) }
def opening_loc; end
@@ -16967,12 +18913,12 @@ class Prism::MatchLastLineNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#10901
+ # source://prism//lib/prism/node.rb#11574
def type; end
# attr_reader unescaped: String
#
- # source://prism//lib/prism/node.rb#10765
+ # source://prism//lib/prism/node.rb#11426
sig { returns(String) }
def unescaped; end
@@ -16980,7 +18926,7 @@ class Prism::MatchLastLineNode < ::Prism::Node
#
# @return [Boolean]
#
- # source://prism//lib/prism/node.rb#10871
+ # source://prism//lib/prism/node.rb#11514
sig { returns(T::Boolean) }
def utf_8?; end
@@ -16988,7 +18934,7 @@ class Prism::MatchLastLineNode < ::Prism::Node
#
# @return [Boolean]
#
- # source://prism//lib/prism/node.rb#10866
+ # source://prism//lib/prism/node.rb#11509
sig { returns(T::Boolean) }
def windows_31j?; end
@@ -16996,7 +18942,7 @@ class Prism::MatchLastLineNode < ::Prism::Node
# Returns the value of attribute flags.
#
- # source://prism//lib/prism/node.rb#10768
+ # source://prism//lib/prism/node.rb#11414
sig { returns(Integer) }
def flags; end
@@ -17008,7 +18954,7 @@ class Prism::MatchLastLineNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#10911
+ # source://prism//lib/prism/node.rb#11584
def type; end
end
end
@@ -17018,13 +18964,13 @@ end
# foo in bar
# ^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#10920
+# source://prism//lib/prism/node.rb#11593
class Prism::MatchPredicateNode < ::Prism::Node
# def initialize: (value: Node, pattern: Node, operator_loc: Location, location: Location) -> void
#
# @return [MatchPredicateNode] a new instance of MatchPredicateNode
#
- # source://prism//lib/prism/node.rb#10931
+ # source://prism//lib/prism/node.rb#11604
sig do
params(
value: Prism::Node,
@@ -17037,42 +18983,42 @@ class Prism::MatchPredicateNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#10939
+ # source://prism//lib/prism/node.rb#11612
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#10944
+ # source://prism//lib/prism/node.rb#11617
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#10954
+ # source://prism//lib/prism/node.rb#11627
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#10949
+ # source://prism//lib/prism/node.rb#11622
def compact_child_nodes; end
# def copy: (**params) -> MatchPredicateNode
#
- # source://prism//lib/prism/node.rb#10959
+ # source://prism//lib/prism/node.rb#11632
sig { params(params: T.untyped).returns(Prism::MatchPredicateNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#10944
+ # source://prism//lib/prism/node.rb#11617
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#10972
+ # source://prism//lib/prism/node.rb#11645
sig do
params(
keys: T::Array[Symbol]
@@ -17082,24 +19028,24 @@ class Prism::MatchPredicateNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#10982
+ # source://prism//lib/prism/node.rb#11655
def inspect(inspector = T.unsafe(nil)); end
# def operator: () -> String
#
- # source://prism//lib/prism/node.rb#10977
+ # source://prism//lib/prism/node.rb#11650
sig { returns(String) }
def operator; end
# attr_reader operator_loc: Location
#
- # source://prism//lib/prism/node.rb#10928
+ # source://prism//lib/prism/node.rb#11601
sig { returns(Prism::Location) }
def operator_loc; end
# attr_reader pattern: Node
#
- # source://prism//lib/prism/node.rb#10925
+ # source://prism//lib/prism/node.rb#11598
sig { returns(Prism::Node) }
def pattern; end
@@ -17118,12 +19064,12 @@ class Prism::MatchPredicateNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#11006
+ # source://prism//lib/prism/node.rb#11679
def type; end
# attr_reader value: Node
#
- # source://prism//lib/prism/node.rb#10922
+ # source://prism//lib/prism/node.rb#11595
sig { returns(Prism::Node) }
def value; end
@@ -17135,7 +19081,7 @@ class Prism::MatchPredicateNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#11016
+ # source://prism//lib/prism/node.rb#11689
def type; end
end
end
@@ -17145,13 +19091,13 @@ end
# foo => bar
# ^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#11025
+# source://prism//lib/prism/node.rb#11698
class Prism::MatchRequiredNode < ::Prism::Node
# def initialize: (value: Node, pattern: Node, operator_loc: Location, location: Location) -> void
#
# @return [MatchRequiredNode] a new instance of MatchRequiredNode
#
- # source://prism//lib/prism/node.rb#11036
+ # source://prism//lib/prism/node.rb#11709
sig do
params(
value: Prism::Node,
@@ -17164,42 +19110,42 @@ class Prism::MatchRequiredNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#11044
+ # source://prism//lib/prism/node.rb#11717
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#11049
+ # source://prism//lib/prism/node.rb#11722
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#11059
+ # source://prism//lib/prism/node.rb#11732
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#11054
+ # source://prism//lib/prism/node.rb#11727
def compact_child_nodes; end
# def copy: (**params) -> MatchRequiredNode
#
- # source://prism//lib/prism/node.rb#11064
+ # source://prism//lib/prism/node.rb#11737
sig { params(params: T.untyped).returns(Prism::MatchRequiredNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#11049
+ # source://prism//lib/prism/node.rb#11722
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#11077
+ # source://prism//lib/prism/node.rb#11750
sig do
params(
keys: T::Array[Symbol]
@@ -17209,24 +19155,24 @@ class Prism::MatchRequiredNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#11087
+ # source://prism//lib/prism/node.rb#11760
def inspect(inspector = T.unsafe(nil)); end
# def operator: () -> String
#
- # source://prism//lib/prism/node.rb#11082
+ # source://prism//lib/prism/node.rb#11755
sig { returns(String) }
def operator; end
# attr_reader operator_loc: Location
#
- # source://prism//lib/prism/node.rb#11033
+ # source://prism//lib/prism/node.rb#11706
sig { returns(Prism::Location) }
def operator_loc; end
# attr_reader pattern: Node
#
- # source://prism//lib/prism/node.rb#11030
+ # source://prism//lib/prism/node.rb#11703
sig { returns(Prism::Node) }
def pattern; end
@@ -17245,12 +19191,12 @@ class Prism::MatchRequiredNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#11111
+ # source://prism//lib/prism/node.rb#11784
def type; end
# attr_reader value: Node
#
- # source://prism//lib/prism/node.rb#11027
+ # source://prism//lib/prism/node.rb#11700
sig { returns(Prism::Node) }
def value; end
@@ -17262,7 +19208,7 @@ class Prism::MatchRequiredNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#11121
+ # source://prism//lib/prism/node.rb#11794
def type; end
end
end
@@ -17273,60 +19219,60 @@ end
# /(?bar)/ =~ baz
# ^^^^^^^^^^^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#11131
+# source://prism//lib/prism/node.rb#11804
class Prism::MatchWriteNode < ::Prism::Node
- # def initialize: (call: CallNode, locals: Array[Symbol], location: Location) -> void
+ # def initialize: (call: CallNode, targets: Array[Node], location: Location) -> void
#
# @return [MatchWriteNode] a new instance of MatchWriteNode
#
- # source://prism//lib/prism/node.rb#11139
- sig { params(call: Prism::CallNode, locals: T::Array[Symbol], location: Prism::Location).void }
- def initialize(call, locals, location); end
+ # source://prism//lib/prism/node.rb#11812
+ sig { params(call: Prism::CallNode, targets: T::Array[Prism::Node], location: Prism::Location).void }
+ def initialize(call, targets, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#11146
+ # source://prism//lib/prism/node.rb#11819
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# attr_reader call: CallNode
#
- # source://prism//lib/prism/node.rb#11133
+ # source://prism//lib/prism/node.rb#11806
sig { returns(Prism::CallNode) }
def call; end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#11151
+ # source://prism//lib/prism/node.rb#11824
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#11161
+ # source://prism//lib/prism/node.rb#11834
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#11156
+ # source://prism//lib/prism/node.rb#11829
def compact_child_nodes; end
# def copy: (**params) -> MatchWriteNode
#
- # source://prism//lib/prism/node.rb#11166
+ # source://prism//lib/prism/node.rb#11839
sig { params(params: T.untyped).returns(Prism::MatchWriteNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#11151
+ # source://prism//lib/prism/node.rb#11824
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#11178
+ # source://prism//lib/prism/node.rb#11851
sig do
params(
keys: T::Array[Symbol]
@@ -17336,14 +19282,14 @@ class Prism::MatchWriteNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#11183
+ # source://prism//lib/prism/node.rb#11856
def inspect(inspector = T.unsafe(nil)); end
- # attr_reader locals: Array[Symbol]
+ # attr_reader targets: Array[Node]
#
- # source://prism//lib/prism/node.rb#11136
- sig { returns(T::Array[Symbol]) }
- def locals; end
+ # source://prism//lib/prism/node.rb#11809
+ sig { returns(T::Array[Prism::Node]) }
+ def targets; end
# Sometimes you want to check an instance of a node against a list of
# classes to see what kind of behavior to perform. Usually this is done by
@@ -17360,7 +19306,7 @@ class Prism::MatchWriteNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#11205
+ # source://prism//lib/prism/node.rb#11878
def type; end
class << self
@@ -17371,7 +19317,7 @@ class Prism::MatchWriteNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#11215
+ # source://prism//lib/prism/node.rb#11888
def type; end
end
end
@@ -17379,54 +19325,54 @@ end
# Represents a node that is missing from the source and results in a syntax
# error.
#
-# source://prism//lib/prism/node.rb#11222
+# source://prism//lib/prism/node.rb#11895
class Prism::MissingNode < ::Prism::Node
# def initialize: (location: Location) -> void
#
# @return [MissingNode] a new instance of MissingNode
#
- # source://prism//lib/prism/node.rb#11224
+ # source://prism//lib/prism/node.rb#11897
sig { params(location: Prism::Location).void }
def initialize(location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#11229
+ # source://prism//lib/prism/node.rb#11902
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#11234
+ # source://prism//lib/prism/node.rb#11907
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#11244
+ # source://prism//lib/prism/node.rb#11917
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#11239
+ # source://prism//lib/prism/node.rb#11912
def compact_child_nodes; end
# def copy: (**params) -> MissingNode
#
- # source://prism//lib/prism/node.rb#11249
+ # source://prism//lib/prism/node.rb#11922
sig { params(params: T.untyped).returns(Prism::MissingNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#11234
+ # source://prism//lib/prism/node.rb#11907
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#11259
+ # source://prism//lib/prism/node.rb#11932
sig do
params(
keys: T::Array[Symbol]
@@ -17436,7 +19382,7 @@ class Prism::MissingNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#11264
+ # source://prism//lib/prism/node.rb#11937
def inspect(inspector = T.unsafe(nil)); end
# Sometimes you want to check an instance of a node against a list of
@@ -17454,7 +19400,7 @@ class Prism::MissingNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#11283
+ # source://prism//lib/prism/node.rb#11956
def type; end
class << self
@@ -17465,7 +19411,7 @@ class Prism::MissingNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#11293
+ # source://prism//lib/prism/node.rb#11966
def type; end
end
end
@@ -17475,13 +19421,13 @@ end
# module Foo end
# ^^^^^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#11302
+# source://prism//lib/prism/node.rb#11975
class Prism::ModuleNode < ::Prism::Node
# def initialize: (locals: Array[Symbol], module_keyword_loc: Location, constant_path: Node, body: Node?, end_keyword_loc: Location, name: Symbol, location: Location) -> void
#
# @return [ModuleNode] a new instance of ModuleNode
#
- # source://prism//lib/prism/node.rb#11322
+ # source://prism//lib/prism/node.rb#11995
sig do
params(
locals: T::Array[Symbol],
@@ -17497,54 +19443,54 @@ class Prism::ModuleNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#11333
+ # source://prism//lib/prism/node.rb#12006
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# attr_reader body: Node?
#
- # source://prism//lib/prism/node.rb#11313
+ # source://prism//lib/prism/node.rb#11986
sig { returns(T.nilable(Prism::Node)) }
def body; end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#11338
+ # source://prism//lib/prism/node.rb#12011
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#11351
+ # source://prism//lib/prism/node.rb#12024
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#11343
+ # source://prism//lib/prism/node.rb#12016
def compact_child_nodes; end
# attr_reader constant_path: Node
#
- # source://prism//lib/prism/node.rb#11310
+ # source://prism//lib/prism/node.rb#11983
sig { returns(Prism::Node) }
def constant_path; end
# def copy: (**params) -> ModuleNode
#
- # source://prism//lib/prism/node.rb#11356
+ # source://prism//lib/prism/node.rb#12029
sig { params(params: T.untyped).returns(Prism::ModuleNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#11338
+ # source://prism//lib/prism/node.rb#12011
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#11372
+ # source://prism//lib/prism/node.rb#12045
sig do
params(
keys: T::Array[Symbol]
@@ -17554,42 +19500,42 @@ class Prism::ModuleNode < ::Prism::Node
# def end_keyword: () -> String
#
- # source://prism//lib/prism/node.rb#11382
+ # source://prism//lib/prism/node.rb#12055
sig { returns(String) }
def end_keyword; end
# attr_reader end_keyword_loc: Location
#
- # source://prism//lib/prism/node.rb#11316
+ # source://prism//lib/prism/node.rb#11989
sig { returns(Prism::Location) }
def end_keyword_loc; end
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#11387
+ # source://prism//lib/prism/node.rb#12060
def inspect(inspector = T.unsafe(nil)); end
# attr_reader locals: Array[Symbol]
#
- # source://prism//lib/prism/node.rb#11304
+ # source://prism//lib/prism/node.rb#11977
sig { returns(T::Array[Symbol]) }
def locals; end
# def module_keyword: () -> String
#
- # source://prism//lib/prism/node.rb#11377
+ # source://prism//lib/prism/node.rb#12050
sig { returns(String) }
def module_keyword; end
# attr_reader module_keyword_loc: Location
#
- # source://prism//lib/prism/node.rb#11307
+ # source://prism//lib/prism/node.rb#11980
sig { returns(Prism::Location) }
def module_keyword_loc; end
# attr_reader name: Symbol
#
- # source://prism//lib/prism/node.rb#11319
+ # source://prism//lib/prism/node.rb#11992
sig { returns(Symbol) }
def name; end
@@ -17608,7 +19554,7 @@ class Prism::ModuleNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#11418
+ # source://prism//lib/prism/node.rb#12091
def type; end
class << self
@@ -17619,7 +19565,7 @@ class Prism::ModuleNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#11428
+ # source://prism//lib/prism/node.rb#12101
def type; end
end
end
@@ -17629,13 +19575,13 @@ end
# a, (b, c) = 1, 2, 3
# ^^^^^^
#
-# source://prism//lib/prism/node.rb#11437
+# source://prism//lib/prism/node.rb#12110
class Prism::MultiTargetNode < ::Prism::Node
# def initialize: (lefts: Array[Node], rest: Node?, rights: Array[Node], lparen_loc: Location?, rparen_loc: Location?, location: Location) -> void
#
# @return [MultiTargetNode] a new instance of MultiTargetNode
#
- # source://prism//lib/prism/node.rb#11454
+ # source://prism//lib/prism/node.rb#12127
sig do
params(
lefts: T::Array[Prism::Node],
@@ -17650,42 +19596,42 @@ class Prism::MultiTargetNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#11464
+ # source://prism//lib/prism/node.rb#12137
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#11469
+ # source://prism//lib/prism/node.rb#12142
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#11483
+ # source://prism//lib/prism/node.rb#12156
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#11474
+ # source://prism//lib/prism/node.rb#12147
def compact_child_nodes; end
# def copy: (**params) -> MultiTargetNode
#
- # source://prism//lib/prism/node.rb#11488
+ # source://prism//lib/prism/node.rb#12161
sig { params(params: T.untyped).returns(Prism::MultiTargetNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#11469
+ # source://prism//lib/prism/node.rb#12142
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#11503
+ # source://prism//lib/prism/node.rb#12176
sig do
params(
keys: T::Array[Symbol]
@@ -17695,48 +19641,48 @@ class Prism::MultiTargetNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#11518
+ # source://prism//lib/prism/node.rb#12191
def inspect(inspector = T.unsafe(nil)); end
# attr_reader lefts: Array[Node]
#
- # source://prism//lib/prism/node.rb#11439
+ # source://prism//lib/prism/node.rb#12112
sig { returns(T::Array[Prism::Node]) }
def lefts; end
# def lparen: () -> String?
#
- # source://prism//lib/prism/node.rb#11508
+ # source://prism//lib/prism/node.rb#12181
sig { returns(T.nilable(String)) }
def lparen; end
# attr_reader lparen_loc: Location?
#
- # source://prism//lib/prism/node.rb#11448
+ # source://prism//lib/prism/node.rb#12121
sig { returns(T.nilable(Prism::Location)) }
def lparen_loc; end
# attr_reader rest: Node?
#
- # source://prism//lib/prism/node.rb#11442
+ # source://prism//lib/prism/node.rb#12115
sig { returns(T.nilable(Prism::Node)) }
def rest; end
# attr_reader rights: Array[Node]
#
- # source://prism//lib/prism/node.rb#11445
+ # source://prism//lib/prism/node.rb#12118
sig { returns(T::Array[Prism::Node]) }
def rights; end
# def rparen: () -> String?
#
- # source://prism//lib/prism/node.rb#11513
+ # source://prism//lib/prism/node.rb#12186
sig { returns(T.nilable(String)) }
def rparen; end
# attr_reader rparen_loc: Location?
#
- # source://prism//lib/prism/node.rb#11451
+ # source://prism//lib/prism/node.rb#12124
sig { returns(T.nilable(Prism::Location)) }
def rparen_loc; end
@@ -17755,7 +19701,7 @@ class Prism::MultiTargetNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#11547
+ # source://prism//lib/prism/node.rb#12220
def type; end
class << self
@@ -17766,7 +19712,7 @@ class Prism::MultiTargetNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#11557
+ # source://prism//lib/prism/node.rb#12230
def type; end
end
end
@@ -17776,13 +19722,13 @@ end
# a, b, c = 1, 2, 3
# ^^^^^^^^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#11566
+# source://prism//lib/prism/node.rb#12239
class Prism::MultiWriteNode < ::Prism::Node
# def initialize: (lefts: Array[Node], rest: Node?, rights: Array[Node], lparen_loc: Location?, rparen_loc: Location?, operator_loc: Location, value: Node, location: Location) -> void
#
# @return [MultiWriteNode] a new instance of MultiWriteNode
#
- # source://prism//lib/prism/node.rb#11589
+ # source://prism//lib/prism/node.rb#12262
sig do
params(
lefts: T::Array[Prism::Node],
@@ -17799,42 +19745,42 @@ class Prism::MultiWriteNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#11601
+ # source://prism//lib/prism/node.rb#12274
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#11606
+ # source://prism//lib/prism/node.rb#12279
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#11621
+ # source://prism//lib/prism/node.rb#12294
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#11611
+ # source://prism//lib/prism/node.rb#12284
def compact_child_nodes; end
# def copy: (**params) -> MultiWriteNode
#
- # source://prism//lib/prism/node.rb#11626
+ # source://prism//lib/prism/node.rb#12299
sig { params(params: T.untyped).returns(Prism::MultiWriteNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#11606
+ # source://prism//lib/prism/node.rb#12279
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#11643
+ # source://prism//lib/prism/node.rb#12316
sig do
params(
keys: T::Array[Symbol]
@@ -17844,60 +19790,60 @@ class Prism::MultiWriteNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#11663
+ # source://prism//lib/prism/node.rb#12336
def inspect(inspector = T.unsafe(nil)); end
# attr_reader lefts: Array[Node]
#
- # source://prism//lib/prism/node.rb#11568
+ # source://prism//lib/prism/node.rb#12241
sig { returns(T::Array[Prism::Node]) }
def lefts; end
# def lparen: () -> String?
#
- # source://prism//lib/prism/node.rb#11648
+ # source://prism//lib/prism/node.rb#12321
sig { returns(T.nilable(String)) }
def lparen; end
# attr_reader lparen_loc: Location?
#
- # source://prism//lib/prism/node.rb#11577
+ # source://prism//lib/prism/node.rb#12250
sig { returns(T.nilable(Prism::Location)) }
def lparen_loc; end
# def operator: () -> String
#
- # source://prism//lib/prism/node.rb#11658
+ # source://prism//lib/prism/node.rb#12331
sig { returns(String) }
def operator; end
# attr_reader operator_loc: Location
#
- # source://prism//lib/prism/node.rb#11583
+ # source://prism//lib/prism/node.rb#12256
sig { returns(Prism::Location) }
def operator_loc; end
# attr_reader rest: Node?
#
- # source://prism//lib/prism/node.rb#11571
+ # source://prism//lib/prism/node.rb#12244
sig { returns(T.nilable(Prism::Node)) }
def rest; end
# attr_reader rights: Array[Node]
#
- # source://prism//lib/prism/node.rb#11574
+ # source://prism//lib/prism/node.rb#12247
sig { returns(T::Array[Prism::Node]) }
def rights; end
# def rparen: () -> String?
#
- # source://prism//lib/prism/node.rb#11653
+ # source://prism//lib/prism/node.rb#12326
sig { returns(T.nilable(String)) }
def rparen; end
# attr_reader rparen_loc: Location?
#
- # source://prism//lib/prism/node.rb#11580
+ # source://prism//lib/prism/node.rb#12253
sig { returns(T.nilable(Prism::Location)) }
def rparen_loc; end
@@ -17916,12 +19862,12 @@ class Prism::MultiWriteNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#11695
+ # source://prism//lib/prism/node.rb#12368
def type; end
# attr_reader value: Node
#
- # source://prism//lib/prism/node.rb#11586
+ # source://prism//lib/prism/node.rb#12259
sig { returns(Prism::Node) }
def value; end
@@ -17933,7 +19879,7 @@ class Prism::MultiWriteNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#11705
+ # source://prism//lib/prism/node.rb#12378
def type; end
end
end
@@ -18049,619 +19995,639 @@ class Prism::MutationCompiler < ::Prism::Compiler
# source://prism//lib/prism/mutation_compiler.rb#114
def visit_call_or_write_node(node); end
- # Copy a CapturePatternNode node
+ # Copy a CallTargetNode node
#
# source://prism//lib/prism/mutation_compiler.rb#119
+ def visit_call_target_node(node); end
+
+ # Copy a CapturePatternNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#124
def visit_capture_pattern_node(node); end
+ # Copy a CaseMatchNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#129
+ def visit_case_match_node(node); end
+
# Copy a CaseNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#124
+ # source://prism//lib/prism/mutation_compiler.rb#134
def visit_case_node(node); end
# Copy a ClassNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#129
+ # source://prism//lib/prism/mutation_compiler.rb#139
def visit_class_node(node); end
# Copy a ClassVariableAndWriteNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#134
+ # source://prism//lib/prism/mutation_compiler.rb#144
def visit_class_variable_and_write_node(node); end
# Copy a ClassVariableOperatorWriteNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#139
+ # source://prism//lib/prism/mutation_compiler.rb#149
def visit_class_variable_operator_write_node(node); end
# Copy a ClassVariableOrWriteNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#144
+ # source://prism//lib/prism/mutation_compiler.rb#154
def visit_class_variable_or_write_node(node); end
# Copy a ClassVariableReadNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#149
+ # source://prism//lib/prism/mutation_compiler.rb#159
def visit_class_variable_read_node(node); end
# Copy a ClassVariableTargetNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#154
+ # source://prism//lib/prism/mutation_compiler.rb#164
def visit_class_variable_target_node(node); end
# Copy a ClassVariableWriteNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#159
+ # source://prism//lib/prism/mutation_compiler.rb#169
def visit_class_variable_write_node(node); end
# Copy a ConstantAndWriteNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#164
+ # source://prism//lib/prism/mutation_compiler.rb#174
def visit_constant_and_write_node(node); end
# Copy a ConstantOperatorWriteNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#169
+ # source://prism//lib/prism/mutation_compiler.rb#179
def visit_constant_operator_write_node(node); end
# Copy a ConstantOrWriteNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#174
+ # source://prism//lib/prism/mutation_compiler.rb#184
def visit_constant_or_write_node(node); end
# Copy a ConstantPathAndWriteNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#179
+ # source://prism//lib/prism/mutation_compiler.rb#189
def visit_constant_path_and_write_node(node); end
# Copy a ConstantPathNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#184
+ # source://prism//lib/prism/mutation_compiler.rb#194
def visit_constant_path_node(node); end
# Copy a ConstantPathOperatorWriteNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#189
+ # source://prism//lib/prism/mutation_compiler.rb#199
def visit_constant_path_operator_write_node(node); end
# Copy a ConstantPathOrWriteNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#194
+ # source://prism//lib/prism/mutation_compiler.rb#204
def visit_constant_path_or_write_node(node); end
# Copy a ConstantPathTargetNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#199
+ # source://prism//lib/prism/mutation_compiler.rb#209
def visit_constant_path_target_node(node); end
# Copy a ConstantPathWriteNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#204
+ # source://prism//lib/prism/mutation_compiler.rb#214
def visit_constant_path_write_node(node); end
# Copy a ConstantReadNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#209
+ # source://prism//lib/prism/mutation_compiler.rb#219
def visit_constant_read_node(node); end
# Copy a ConstantTargetNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#214
+ # source://prism//lib/prism/mutation_compiler.rb#224
def visit_constant_target_node(node); end
# Copy a ConstantWriteNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#219
+ # source://prism//lib/prism/mutation_compiler.rb#229
def visit_constant_write_node(node); end
# Copy a DefNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#224
+ # source://prism//lib/prism/mutation_compiler.rb#234
def visit_def_node(node); end
# Copy a DefinedNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#229
+ # source://prism//lib/prism/mutation_compiler.rb#239
def visit_defined_node(node); end
# Copy a ElseNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#234
+ # source://prism//lib/prism/mutation_compiler.rb#244
def visit_else_node(node); end
# Copy a EmbeddedStatementsNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#239
+ # source://prism//lib/prism/mutation_compiler.rb#249
def visit_embedded_statements_node(node); end
# Copy a EmbeddedVariableNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#244
+ # source://prism//lib/prism/mutation_compiler.rb#254
def visit_embedded_variable_node(node); end
# Copy a EnsureNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#249
+ # source://prism//lib/prism/mutation_compiler.rb#259
def visit_ensure_node(node); end
# Copy a FalseNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#254
+ # source://prism//lib/prism/mutation_compiler.rb#264
def visit_false_node(node); end
# Copy a FindPatternNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#259
+ # source://prism//lib/prism/mutation_compiler.rb#269
def visit_find_pattern_node(node); end
# Copy a FlipFlopNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#264
+ # source://prism//lib/prism/mutation_compiler.rb#274
def visit_flip_flop_node(node); end
# Copy a FloatNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#269
+ # source://prism//lib/prism/mutation_compiler.rb#279
def visit_float_node(node); end
# Copy a ForNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#274
+ # source://prism//lib/prism/mutation_compiler.rb#284
def visit_for_node(node); end
# Copy a ForwardingArgumentsNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#279
+ # source://prism//lib/prism/mutation_compiler.rb#289
def visit_forwarding_arguments_node(node); end
# Copy a ForwardingParameterNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#284
+ # source://prism//lib/prism/mutation_compiler.rb#294
def visit_forwarding_parameter_node(node); end
# Copy a ForwardingSuperNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#289
+ # source://prism//lib/prism/mutation_compiler.rb#299
def visit_forwarding_super_node(node); end
# Copy a GlobalVariableAndWriteNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#294
+ # source://prism//lib/prism/mutation_compiler.rb#304
def visit_global_variable_and_write_node(node); end
# Copy a GlobalVariableOperatorWriteNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#299
+ # source://prism//lib/prism/mutation_compiler.rb#309
def visit_global_variable_operator_write_node(node); end
# Copy a GlobalVariableOrWriteNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#304
+ # source://prism//lib/prism/mutation_compiler.rb#314
def visit_global_variable_or_write_node(node); end
# Copy a GlobalVariableReadNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#309
+ # source://prism//lib/prism/mutation_compiler.rb#319
def visit_global_variable_read_node(node); end
# Copy a GlobalVariableTargetNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#314
+ # source://prism//lib/prism/mutation_compiler.rb#324
def visit_global_variable_target_node(node); end
# Copy a GlobalVariableWriteNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#319
+ # source://prism//lib/prism/mutation_compiler.rb#329
def visit_global_variable_write_node(node); end
# Copy a HashNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#324
+ # source://prism//lib/prism/mutation_compiler.rb#334
def visit_hash_node(node); end
# Copy a HashPatternNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#329
+ # source://prism//lib/prism/mutation_compiler.rb#339
def visit_hash_pattern_node(node); end
# Copy a IfNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#334
+ # source://prism//lib/prism/mutation_compiler.rb#344
def visit_if_node(node); end
# Copy a ImaginaryNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#339
+ # source://prism//lib/prism/mutation_compiler.rb#349
def visit_imaginary_node(node); end
# Copy a ImplicitNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#344
+ # source://prism//lib/prism/mutation_compiler.rb#354
def visit_implicit_node(node); end
+ # Copy a ImplicitRestNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#359
+ def visit_implicit_rest_node(node); end
+
# Copy a InNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#349
+ # source://prism//lib/prism/mutation_compiler.rb#364
def visit_in_node(node); end
# Copy a IndexAndWriteNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#354
+ # source://prism//lib/prism/mutation_compiler.rb#369
def visit_index_and_write_node(node); end
# Copy a IndexOperatorWriteNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#359
+ # source://prism//lib/prism/mutation_compiler.rb#374
def visit_index_operator_write_node(node); end
# Copy a IndexOrWriteNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#364
+ # source://prism//lib/prism/mutation_compiler.rb#379
def visit_index_or_write_node(node); end
+ # Copy a IndexTargetNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#384
+ def visit_index_target_node(node); end
+
# Copy a InstanceVariableAndWriteNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#369
+ # source://prism//lib/prism/mutation_compiler.rb#389
def visit_instance_variable_and_write_node(node); end
# Copy a InstanceVariableOperatorWriteNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#374
+ # source://prism//lib/prism/mutation_compiler.rb#394
def visit_instance_variable_operator_write_node(node); end
# Copy a InstanceVariableOrWriteNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#379
+ # source://prism//lib/prism/mutation_compiler.rb#399
def visit_instance_variable_or_write_node(node); end
# Copy a InstanceVariableReadNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#384
+ # source://prism//lib/prism/mutation_compiler.rb#404
def visit_instance_variable_read_node(node); end
# Copy a InstanceVariableTargetNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#389
+ # source://prism//lib/prism/mutation_compiler.rb#409
def visit_instance_variable_target_node(node); end
# Copy a InstanceVariableWriteNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#394
+ # source://prism//lib/prism/mutation_compiler.rb#414
def visit_instance_variable_write_node(node); end
# Copy a IntegerNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#399
+ # source://prism//lib/prism/mutation_compiler.rb#419
def visit_integer_node(node); end
# Copy a InterpolatedMatchLastLineNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#404
+ # source://prism//lib/prism/mutation_compiler.rb#424
def visit_interpolated_match_last_line_node(node); end
# Copy a InterpolatedRegularExpressionNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#409
+ # source://prism//lib/prism/mutation_compiler.rb#429
def visit_interpolated_regular_expression_node(node); end
# Copy a InterpolatedStringNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#414
+ # source://prism//lib/prism/mutation_compiler.rb#434
def visit_interpolated_string_node(node); end
# Copy a InterpolatedSymbolNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#419
+ # source://prism//lib/prism/mutation_compiler.rb#439
def visit_interpolated_symbol_node(node); end
# Copy a InterpolatedXStringNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#424
+ # source://prism//lib/prism/mutation_compiler.rb#444
def visit_interpolated_x_string_node(node); end
# Copy a KeywordHashNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#429
+ # source://prism//lib/prism/mutation_compiler.rb#449
def visit_keyword_hash_node(node); end
# Copy a KeywordRestParameterNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#434
+ # source://prism//lib/prism/mutation_compiler.rb#454
def visit_keyword_rest_parameter_node(node); end
# Copy a LambdaNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#439
+ # source://prism//lib/prism/mutation_compiler.rb#459
def visit_lambda_node(node); end
# Copy a LocalVariableAndWriteNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#444
+ # source://prism//lib/prism/mutation_compiler.rb#464
def visit_local_variable_and_write_node(node); end
# Copy a LocalVariableOperatorWriteNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#449
+ # source://prism//lib/prism/mutation_compiler.rb#469
def visit_local_variable_operator_write_node(node); end
# Copy a LocalVariableOrWriteNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#454
+ # source://prism//lib/prism/mutation_compiler.rb#474
def visit_local_variable_or_write_node(node); end
# Copy a LocalVariableReadNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#459
+ # source://prism//lib/prism/mutation_compiler.rb#479
def visit_local_variable_read_node(node); end
# Copy a LocalVariableTargetNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#464
+ # source://prism//lib/prism/mutation_compiler.rb#484
def visit_local_variable_target_node(node); end
# Copy a LocalVariableWriteNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#469
+ # source://prism//lib/prism/mutation_compiler.rb#489
def visit_local_variable_write_node(node); end
# Copy a MatchLastLineNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#474
+ # source://prism//lib/prism/mutation_compiler.rb#494
def visit_match_last_line_node(node); end
# Copy a MatchPredicateNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#479
+ # source://prism//lib/prism/mutation_compiler.rb#499
def visit_match_predicate_node(node); end
# Copy a MatchRequiredNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#484
+ # source://prism//lib/prism/mutation_compiler.rb#504
def visit_match_required_node(node); end
# Copy a MatchWriteNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#489
+ # source://prism//lib/prism/mutation_compiler.rb#509
def visit_match_write_node(node); end
# Copy a MissingNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#494
+ # source://prism//lib/prism/mutation_compiler.rb#514
def visit_missing_node(node); end
# Copy a ModuleNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#499
+ # source://prism//lib/prism/mutation_compiler.rb#519
def visit_module_node(node); end
# Copy a MultiTargetNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#504
+ # source://prism//lib/prism/mutation_compiler.rb#524
def visit_multi_target_node(node); end
# Copy a MultiWriteNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#509
+ # source://prism//lib/prism/mutation_compiler.rb#529
def visit_multi_write_node(node); end
# Copy a NextNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#514
+ # source://prism//lib/prism/mutation_compiler.rb#534
def visit_next_node(node); end
# Copy a NilNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#519
+ # source://prism//lib/prism/mutation_compiler.rb#539
def visit_nil_node(node); end
# Copy a NoKeywordsParameterNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#524
+ # source://prism//lib/prism/mutation_compiler.rb#544
def visit_no_keywords_parameter_node(node); end
+ # Copy a NumberedParametersNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#549
+ def visit_numbered_parameters_node(node); end
+
# Copy a NumberedReferenceReadNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#529
+ # source://prism//lib/prism/mutation_compiler.rb#554
def visit_numbered_reference_read_node(node); end
# Copy a OptionalKeywordParameterNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#534
+ # source://prism//lib/prism/mutation_compiler.rb#559
def visit_optional_keyword_parameter_node(node); end
# Copy a OptionalParameterNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#539
+ # source://prism//lib/prism/mutation_compiler.rb#564
def visit_optional_parameter_node(node); end
# Copy a OrNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#544
+ # source://prism//lib/prism/mutation_compiler.rb#569
def visit_or_node(node); end
# Copy a ParametersNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#549
+ # source://prism//lib/prism/mutation_compiler.rb#574
def visit_parameters_node(node); end
# Copy a ParenthesesNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#554
+ # source://prism//lib/prism/mutation_compiler.rb#579
def visit_parentheses_node(node); end
# Copy a PinnedExpressionNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#559
+ # source://prism//lib/prism/mutation_compiler.rb#584
def visit_pinned_expression_node(node); end
# Copy a PinnedVariableNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#564
+ # source://prism//lib/prism/mutation_compiler.rb#589
def visit_pinned_variable_node(node); end
# Copy a PostExecutionNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#569
+ # source://prism//lib/prism/mutation_compiler.rb#594
def visit_post_execution_node(node); end
# Copy a PreExecutionNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#574
+ # source://prism//lib/prism/mutation_compiler.rb#599
def visit_pre_execution_node(node); end
# Copy a ProgramNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#579
+ # source://prism//lib/prism/mutation_compiler.rb#604
def visit_program_node(node); end
# Copy a RangeNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#584
+ # source://prism//lib/prism/mutation_compiler.rb#609
def visit_range_node(node); end
# Copy a RationalNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#589
+ # source://prism//lib/prism/mutation_compiler.rb#614
def visit_rational_node(node); end
# Copy a RedoNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#594
+ # source://prism//lib/prism/mutation_compiler.rb#619
def visit_redo_node(node); end
# Copy a RegularExpressionNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#599
+ # source://prism//lib/prism/mutation_compiler.rb#624
def visit_regular_expression_node(node); end
# Copy a RequiredKeywordParameterNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#604
+ # source://prism//lib/prism/mutation_compiler.rb#629
def visit_required_keyword_parameter_node(node); end
# Copy a RequiredParameterNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#609
+ # source://prism//lib/prism/mutation_compiler.rb#634
def visit_required_parameter_node(node); end
# Copy a RescueModifierNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#614
+ # source://prism//lib/prism/mutation_compiler.rb#639
def visit_rescue_modifier_node(node); end
# Copy a RescueNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#619
+ # source://prism//lib/prism/mutation_compiler.rb#644
def visit_rescue_node(node); end
# Copy a RestParameterNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#624
+ # source://prism//lib/prism/mutation_compiler.rb#649
def visit_rest_parameter_node(node); end
# Copy a RetryNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#629
+ # source://prism//lib/prism/mutation_compiler.rb#654
def visit_retry_node(node); end
# Copy a ReturnNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#634
+ # source://prism//lib/prism/mutation_compiler.rb#659
def visit_return_node(node); end
# Copy a SelfNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#639
+ # source://prism//lib/prism/mutation_compiler.rb#664
def visit_self_node(node); end
# Copy a SingletonClassNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#644
+ # source://prism//lib/prism/mutation_compiler.rb#669
def visit_singleton_class_node(node); end
# Copy a SourceEncodingNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#649
+ # source://prism//lib/prism/mutation_compiler.rb#674
def visit_source_encoding_node(node); end
# Copy a SourceFileNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#654
+ # source://prism//lib/prism/mutation_compiler.rb#679
def visit_source_file_node(node); end
# Copy a SourceLineNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#659
+ # source://prism//lib/prism/mutation_compiler.rb#684
def visit_source_line_node(node); end
# Copy a SplatNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#664
+ # source://prism//lib/prism/mutation_compiler.rb#689
def visit_splat_node(node); end
# Copy a StatementsNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#669
+ # source://prism//lib/prism/mutation_compiler.rb#694
def visit_statements_node(node); end
- # Copy a StringConcatNode node
- #
- # source://prism//lib/prism/mutation_compiler.rb#674
- def visit_string_concat_node(node); end
-
# Copy a StringNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#679
+ # source://prism//lib/prism/mutation_compiler.rb#699
def visit_string_node(node); end
# Copy a SuperNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#684
+ # source://prism//lib/prism/mutation_compiler.rb#704
def visit_super_node(node); end
# Copy a SymbolNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#689
+ # source://prism//lib/prism/mutation_compiler.rb#709
def visit_symbol_node(node); end
# Copy a TrueNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#694
+ # source://prism//lib/prism/mutation_compiler.rb#714
def visit_true_node(node); end
# Copy a UndefNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#699
+ # source://prism//lib/prism/mutation_compiler.rb#719
def visit_undef_node(node); end
# Copy a UnlessNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#704
+ # source://prism//lib/prism/mutation_compiler.rb#724
def visit_unless_node(node); end
# Copy a UntilNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#709
+ # source://prism//lib/prism/mutation_compiler.rb#729
def visit_until_node(node); end
# Copy a WhenNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#714
+ # source://prism//lib/prism/mutation_compiler.rb#734
def visit_when_node(node); end
# Copy a WhileNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#719
+ # source://prism//lib/prism/mutation_compiler.rb#739
def visit_while_node(node); end
# Copy a XStringNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#724
+ # source://prism//lib/prism/mutation_compiler.rb#744
def visit_x_string_node(node); end
# Copy a YieldNode node
#
- # source://prism//lib/prism/mutation_compiler.rb#729
+ # source://prism//lib/prism/mutation_compiler.rb#749
def visit_yield_node(node); end
end
@@ -18670,13 +20636,13 @@ end
# next 1
# ^^^^^^
#
-# source://prism//lib/prism/node.rb#11714
+# source://prism//lib/prism/node.rb#12387
class Prism::NextNode < ::Prism::Node
# def initialize: (arguments: ArgumentsNode?, keyword_loc: Location, location: Location) -> void
#
# @return [NextNode] a new instance of NextNode
#
- # source://prism//lib/prism/node.rb#11722
+ # source://prism//lib/prism/node.rb#12395
sig do
params(
arguments: T.nilable(Prism::ArgumentsNode),
@@ -18688,48 +20654,48 @@ class Prism::NextNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#11729
+ # source://prism//lib/prism/node.rb#12402
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# attr_reader arguments: ArgumentsNode?
#
- # source://prism//lib/prism/node.rb#11716
+ # source://prism//lib/prism/node.rb#12389
sig { returns(T.nilable(Prism::ArgumentsNode)) }
def arguments; end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#11734
+ # source://prism//lib/prism/node.rb#12407
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#11746
+ # source://prism//lib/prism/node.rb#12419
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#11739
+ # source://prism//lib/prism/node.rb#12412
def compact_child_nodes; end
# def copy: (**params) -> NextNode
#
- # source://prism//lib/prism/node.rb#11751
+ # source://prism//lib/prism/node.rb#12424
sig { params(params: T.untyped).returns(Prism::NextNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#11734
+ # source://prism//lib/prism/node.rb#12407
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#11763
+ # source://prism//lib/prism/node.rb#12436
sig do
params(
keys: T::Array[Symbol]
@@ -18739,18 +20705,18 @@ class Prism::NextNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#11773
+ # source://prism//lib/prism/node.rb#12446
def inspect(inspector = T.unsafe(nil)); end
# def keyword: () -> String
#
- # source://prism//lib/prism/node.rb#11768
+ # source://prism//lib/prism/node.rb#12441
sig { returns(String) }
def keyword; end
# attr_reader keyword_loc: Location
#
- # source://prism//lib/prism/node.rb#11719
+ # source://prism//lib/prism/node.rb#12392
sig { returns(Prism::Location) }
def keyword_loc; end
@@ -18769,7 +20735,7 @@ class Prism::NextNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#11799
+ # source://prism//lib/prism/node.rb#12472
def type; end
class << self
@@ -18780,7 +20746,7 @@ class Prism::NextNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#11809
+ # source://prism//lib/prism/node.rb#12482
def type; end
end
end
@@ -18790,54 +20756,54 @@ end
# nil
# ^^^
#
-# source://prism//lib/prism/node.rb#11818
+# source://prism//lib/prism/node.rb#12491
class Prism::NilNode < ::Prism::Node
# def initialize: (location: Location) -> void
#
# @return [NilNode] a new instance of NilNode
#
- # source://prism//lib/prism/node.rb#11820
+ # source://prism//lib/prism/node.rb#12493
sig { params(location: Prism::Location).void }
def initialize(location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#11825
+ # source://prism//lib/prism/node.rb#12498
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#11830
+ # source://prism//lib/prism/node.rb#12503
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#11840
+ # source://prism//lib/prism/node.rb#12513
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#11835
+ # source://prism//lib/prism/node.rb#12508
def compact_child_nodes; end
# def copy: (**params) -> NilNode
#
- # source://prism//lib/prism/node.rb#11845
+ # source://prism//lib/prism/node.rb#12518
sig { params(params: T.untyped).returns(Prism::NilNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#11830
+ # source://prism//lib/prism/node.rb#12503
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#11855
+ # source://prism//lib/prism/node.rb#12528
sig do
params(
keys: T::Array[Symbol]
@@ -18847,7 +20813,7 @@ class Prism::NilNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#11860
+ # source://prism//lib/prism/node.rb#12533
def inspect(inspector = T.unsafe(nil)); end
# Sometimes you want to check an instance of a node against a list of
@@ -18865,7 +20831,7 @@ class Prism::NilNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#11879
+ # source://prism//lib/prism/node.rb#12552
def type; end
class << self
@@ -18876,7 +20842,7 @@ class Prism::NilNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#11889
+ # source://prism//lib/prism/node.rb#12562
def type; end
end
end
@@ -18887,54 +20853,54 @@ end
# ^^^^^
# end
#
-# source://prism//lib/prism/node.rb#11899
+# source://prism//lib/prism/node.rb#12572
class Prism::NoKeywordsParameterNode < ::Prism::Node
# def initialize: (operator_loc: Location, keyword_loc: Location, location: Location) -> void
#
# @return [NoKeywordsParameterNode] a new instance of NoKeywordsParameterNode
#
- # source://prism//lib/prism/node.rb#11907
+ # source://prism//lib/prism/node.rb#12580
sig { params(operator_loc: Prism::Location, keyword_loc: Prism::Location, location: Prism::Location).void }
def initialize(operator_loc, keyword_loc, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#11914
+ # source://prism//lib/prism/node.rb#12587
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#11919
+ # source://prism//lib/prism/node.rb#12592
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#11929
+ # source://prism//lib/prism/node.rb#12602
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#11924
+ # source://prism//lib/prism/node.rb#12597
def compact_child_nodes; end
# def copy: (**params) -> NoKeywordsParameterNode
#
- # source://prism//lib/prism/node.rb#11934
+ # source://prism//lib/prism/node.rb#12607
sig { params(params: T.untyped).returns(Prism::NoKeywordsParameterNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#11919
+ # source://prism//lib/prism/node.rb#12592
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#11946
+ # source://prism//lib/prism/node.rb#12619
sig do
params(
keys: T::Array[Symbol]
@@ -18944,30 +20910,30 @@ class Prism::NoKeywordsParameterNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#11961
+ # source://prism//lib/prism/node.rb#12634
def inspect(inspector = T.unsafe(nil)); end
# def keyword: () -> String
#
- # source://prism//lib/prism/node.rb#11956
+ # source://prism//lib/prism/node.rb#12629
sig { returns(String) }
def keyword; end
# attr_reader keyword_loc: Location
#
- # source://prism//lib/prism/node.rb#11904
+ # source://prism//lib/prism/node.rb#12577
sig { returns(Prism::Location) }
def keyword_loc; end
# def operator: () -> String
#
- # source://prism//lib/prism/node.rb#11951
+ # source://prism//lib/prism/node.rb#12624
sig { returns(String) }
def operator; end
# attr_reader operator_loc: Location
#
- # source://prism//lib/prism/node.rb#11901
+ # source://prism//lib/prism/node.rb#12574
sig { returns(Prism::Location) }
def operator_loc; end
@@ -18986,7 +20952,7 @@ class Prism::NoKeywordsParameterNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#11982
+ # source://prism//lib/prism/node.rb#12655
def type; end
class << self
@@ -18997,7 +20963,7 @@ class Prism::NoKeywordsParameterNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#11992
+ # source://prism//lib/prism/node.rb#12665
def type; end
end
end
@@ -19036,6 +21002,12 @@ class Prism::Node
# source://prism//lib/prism/node.rb#29
sig { returns(String) }
def slice; end
+
+ # Convert this node into a graphviz dot graph string.
+ #
+ # source://prism//lib/prism/node.rb#43
+ sig { returns(String) }
+ def to_dot; end
end
# This object is responsible for generating the output for the inspect method
@@ -19084,23 +21056,126 @@ class Prism::NodeInspector
# Generates a string that represents a location field on a node.
#
- # source://prism//lib/prism/node_inspector.rb#45
- sig { params(value: Prism::Location).returns(String) }
- def location(value); end
+ # source://prism//lib/prism/node_inspector.rb#45
+ sig { params(value: Prism::Location).returns(String) }
+ def location(value); end
+
+ # source://prism//lib/prism/node_inspector.rb#7
+ sig { returns(String) }
+ def output; end
+
+ # source://prism//lib/prism/node_inspector.rb#7
+ sig { returns(String) }
+ def prefix; end
+
+ # Returns the output as a string.
+ #
+ # source://prism//lib/prism/node_inspector.rb#64
+ sig { returns(String) }
+ def to_str; end
+end
+
+# Represents an implicit set of parameters through the use of numbered
+# parameters within a block or lambda.
+#
+# -> { _1 + _2 }
+# ^^^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#12675
+class Prism::NumberedParametersNode < ::Prism::Node
+ # def initialize: (maximum: Integer, location: Location) -> void
+ #
+ # @return [NumberedParametersNode] a new instance of NumberedParametersNode
+ #
+ # source://prism//lib/prism/node.rb#12680
+ sig { params(maximum: Integer, location: Prism::Location).void }
+ def initialize(maximum, location); end
+
+ # def accept: (visitor: Visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#12686
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#12691
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#12701
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#12696
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> NumberedParametersNode
+ #
+ # source://prism//lib/prism/node.rb#12706
+ sig { params(params: T.untyped).returns(Prism::NumberedParametersNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#12691
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
+ #
+ # source://prism//lib/prism/node.rb#12717
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
- # source://prism//lib/prism/node_inspector.rb#7
- sig { returns(String) }
- def output; end
+ # def inspect(inspector: NodeInspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#12722
+ def inspect(inspector = T.unsafe(nil)); end
- # source://prism//lib/prism/node_inspector.rb#7
- sig { returns(String) }
- def prefix; end
+ # attr_reader maximum: Integer
+ #
+ # source://prism//lib/prism/node.rb#12677
+ sig { returns(Integer) }
+ def maximum; end
- # Returns the output as a string.
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
#
- # source://prism//lib/prism/node_inspector.rb#64
- sig { returns(String) }
- def to_str; end
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#12742
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#12752
+ def type; end
+ end
end
# Represents reading a numbered reference to a capture in the previous match.
@@ -19108,54 +21183,54 @@ end
# $1
# ^^
#
-# source://prism//lib/prism/node.rb#12001
+# source://prism//lib/prism/node.rb#12761
class Prism::NumberedReferenceReadNode < ::Prism::Node
# def initialize: (number: Integer, location: Location) -> void
#
# @return [NumberedReferenceReadNode] a new instance of NumberedReferenceReadNode
#
- # source://prism//lib/prism/node.rb#12006
+ # source://prism//lib/prism/node.rb#12766
sig { params(number: Integer, location: Prism::Location).void }
def initialize(number, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#12012
+ # source://prism//lib/prism/node.rb#12772
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#12017
+ # source://prism//lib/prism/node.rb#12777
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#12027
+ # source://prism//lib/prism/node.rb#12787
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#12022
+ # source://prism//lib/prism/node.rb#12782
def compact_child_nodes; end
# def copy: (**params) -> NumberedReferenceReadNode
#
- # source://prism//lib/prism/node.rb#12032
+ # source://prism//lib/prism/node.rb#12792
sig { params(params: T.untyped).returns(Prism::NumberedReferenceReadNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#12017
+ # source://prism//lib/prism/node.rb#12777
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#12043
+ # source://prism//lib/prism/node.rb#12803
sig do
params(
keys: T::Array[Symbol]
@@ -19165,12 +21240,12 @@ class Prism::NumberedReferenceReadNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#12048
+ # source://prism//lib/prism/node.rb#12808
def inspect(inspector = T.unsafe(nil)); end
# attr_reader number: Integer
#
- # source://prism//lib/prism/node.rb#12003
+ # source://prism//lib/prism/node.rb#12763
sig { returns(Integer) }
def number; end
@@ -19189,7 +21264,7 @@ class Prism::NumberedReferenceReadNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#12068
+ # source://prism//lib/prism/node.rb#12828
def type; end
class << self
@@ -19200,7 +21275,7 @@ class Prism::NumberedReferenceReadNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#12078
+ # source://prism//lib/prism/node.rb#12838
def type; end
end
end
@@ -19211,54 +21286,54 @@ end
# ^^^^
# end
#
-# source://prism//lib/prism/node.rb#12088
+# source://prism//lib/prism/node.rb#12848
class Prism::OptionalKeywordParameterNode < ::Prism::Node
# def initialize: (name: Symbol, name_loc: Location, value: Node, location: Location) -> void
#
# @return [OptionalKeywordParameterNode] a new instance of OptionalKeywordParameterNode
#
- # source://prism//lib/prism/node.rb#12099
+ # source://prism//lib/prism/node.rb#12859
sig { params(name: Symbol, name_loc: Prism::Location, value: Prism::Node, location: Prism::Location).void }
def initialize(name, name_loc, value, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#12107
+ # source://prism//lib/prism/node.rb#12867
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#12112
+ # source://prism//lib/prism/node.rb#12872
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#12122
+ # source://prism//lib/prism/node.rb#12882
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#12117
+ # source://prism//lib/prism/node.rb#12877
def compact_child_nodes; end
# def copy: (**params) -> OptionalKeywordParameterNode
#
- # source://prism//lib/prism/node.rb#12127
+ # source://prism//lib/prism/node.rb#12887
sig { params(params: T.untyped).returns(Prism::OptionalKeywordParameterNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#12112
+ # source://prism//lib/prism/node.rb#12872
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#12140
+ # source://prism//lib/prism/node.rb#12900
sig do
params(
keys: T::Array[Symbol]
@@ -19268,18 +21343,18 @@ class Prism::OptionalKeywordParameterNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#12145
+ # source://prism//lib/prism/node.rb#12905
def inspect(inspector = T.unsafe(nil)); end
# attr_reader name: Symbol
#
- # source://prism//lib/prism/node.rb#12090
+ # source://prism//lib/prism/node.rb#12850
sig { returns(Symbol) }
def name; end
# attr_reader name_loc: Location
#
- # source://prism//lib/prism/node.rb#12093
+ # source://prism//lib/prism/node.rb#12853
sig { returns(Prism::Location) }
def name_loc; end
@@ -19298,12 +21373,12 @@ class Prism::OptionalKeywordParameterNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#12168
+ # source://prism//lib/prism/node.rb#12928
def type; end
# attr_reader value: Node
#
- # source://prism//lib/prism/node.rb#12096
+ # source://prism//lib/prism/node.rb#12856
sig { returns(Prism::Node) }
def value; end
@@ -19315,7 +21390,7 @@ class Prism::OptionalKeywordParameterNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#12178
+ # source://prism//lib/prism/node.rb#12938
def type; end
end
end
@@ -19326,13 +21401,13 @@ end
# ^^^^^
# end
#
-# source://prism//lib/prism/node.rb#12188
+# source://prism//lib/prism/node.rb#12948
class Prism::OptionalParameterNode < ::Prism::Node
# def initialize: (name: Symbol, name_loc: Location, operator_loc: Location, value: Node, location: Location) -> void
#
# @return [OptionalParameterNode] a new instance of OptionalParameterNode
#
- # source://prism//lib/prism/node.rb#12202
+ # source://prism//lib/prism/node.rb#12962
sig do
params(
name: Symbol,
@@ -19346,42 +21421,42 @@ class Prism::OptionalParameterNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#12211
+ # source://prism//lib/prism/node.rb#12971
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#12216
+ # source://prism//lib/prism/node.rb#12976
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#12226
+ # source://prism//lib/prism/node.rb#12986
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#12221
+ # source://prism//lib/prism/node.rb#12981
def compact_child_nodes; end
# def copy: (**params) -> OptionalParameterNode
#
- # source://prism//lib/prism/node.rb#12231
+ # source://prism//lib/prism/node.rb#12991
sig { params(params: T.untyped).returns(Prism::OptionalParameterNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#12216
+ # source://prism//lib/prism/node.rb#12976
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#12245
+ # source://prism//lib/prism/node.rb#13005
sig do
params(
keys: T::Array[Symbol]
@@ -19391,30 +21466,30 @@ class Prism::OptionalParameterNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#12255
+ # source://prism//lib/prism/node.rb#13015
def inspect(inspector = T.unsafe(nil)); end
# attr_reader name: Symbol
#
- # source://prism//lib/prism/node.rb#12190
+ # source://prism//lib/prism/node.rb#12950
sig { returns(Symbol) }
def name; end
# attr_reader name_loc: Location
#
- # source://prism//lib/prism/node.rb#12193
+ # source://prism//lib/prism/node.rb#12953
sig { returns(Prism::Location) }
def name_loc; end
# def operator: () -> String
#
- # source://prism//lib/prism/node.rb#12250
+ # source://prism//lib/prism/node.rb#13010
sig { returns(String) }
def operator; end
# attr_reader operator_loc: Location
#
- # source://prism//lib/prism/node.rb#12196
+ # source://prism//lib/prism/node.rb#12956
sig { returns(Prism::Location) }
def operator_loc; end
@@ -19433,12 +21508,12 @@ class Prism::OptionalParameterNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#12279
+ # source://prism//lib/prism/node.rb#13039
def type; end
# attr_reader value: Node
#
- # source://prism//lib/prism/node.rb#12199
+ # source://prism//lib/prism/node.rb#12959
sig { returns(Prism::Node) }
def value; end
@@ -19450,7 +21525,7 @@ class Prism::OptionalParameterNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#12289
+ # source://prism//lib/prism/node.rb#13049
def type; end
end
end
@@ -19460,54 +21535,54 @@ end
# left or right
# ^^^^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#12298
+# source://prism//lib/prism/node.rb#13058
class Prism::OrNode < ::Prism::Node
# def initialize: (left: Node, right: Node, operator_loc: Location, location: Location) -> void
#
# @return [OrNode] a new instance of OrNode
#
- # source://prism//lib/prism/node.rb#12309
+ # source://prism//lib/prism/node.rb#13069
sig { params(left: Prism::Node, right: Prism::Node, operator_loc: Prism::Location, location: Prism::Location).void }
def initialize(left, right, operator_loc, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#12317
+ # source://prism//lib/prism/node.rb#13077
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#12322
+ # source://prism//lib/prism/node.rb#13082
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#12332
+ # source://prism//lib/prism/node.rb#13092
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#12327
+ # source://prism//lib/prism/node.rb#13087
def compact_child_nodes; end
# def copy: (**params) -> OrNode
#
- # source://prism//lib/prism/node.rb#12337
+ # source://prism//lib/prism/node.rb#13097
sig { params(params: T.untyped).returns(Prism::OrNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#12322
+ # source://prism//lib/prism/node.rb#13082
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#12350
+ # source://prism//lib/prism/node.rb#13110
sig do
params(
keys: T::Array[Symbol]
@@ -19517,30 +21592,30 @@ class Prism::OrNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#12360
+ # source://prism//lib/prism/node.rb#13120
def inspect(inspector = T.unsafe(nil)); end
# attr_reader left: Node
#
- # source://prism//lib/prism/node.rb#12300
+ # source://prism//lib/prism/node.rb#13060
sig { returns(Prism::Node) }
def left; end
# def operator: () -> String
#
- # source://prism//lib/prism/node.rb#12355
+ # source://prism//lib/prism/node.rb#13115
sig { returns(String) }
def operator; end
# attr_reader operator_loc: Location
#
- # source://prism//lib/prism/node.rb#12306
+ # source://prism//lib/prism/node.rb#13066
sig { returns(Prism::Location) }
def operator_loc; end
# attr_reader right: Node
#
- # source://prism//lib/prism/node.rb#12303
+ # source://prism//lib/prism/node.rb#13063
sig { returns(Prism::Node) }
def right; end
@@ -19559,7 +21634,7 @@ class Prism::OrNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#12384
+ # source://prism//lib/prism/node.rb#13144
def type; end
class << self
@@ -19570,7 +21645,7 @@ class Prism::OrNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#12394
+ # source://prism//lib/prism/node.rb#13154
def type; end
end
end
@@ -19823,18 +21898,18 @@ Prism::Pack::UTF8 = T.let(T.unsafe(nil), Symbol)
# ^^^^^^^
# end
#
-# source://prism//lib/prism/node.rb#12404
+# source://prism//lib/prism/node.rb#13164
class Prism::ParametersNode < ::Prism::Node
- # def initialize: (requireds: Array[Node], optionals: Array[Node], rest: RestParameterNode?, posts: Array[Node], keywords: Array[Node], keyword_rest: Node?, block: BlockParameterNode?, location: Location) -> void
+ # def initialize: (requireds: Array[Node], optionals: Array[Node], rest: Node?, posts: Array[Node], keywords: Array[Node], keyword_rest: Node?, block: BlockParameterNode?, location: Location) -> void
#
# @return [ParametersNode] a new instance of ParametersNode
#
- # source://prism//lib/prism/node.rb#12427
+ # source://prism//lib/prism/node.rb#13187
sig do
params(
requireds: T::Array[Prism::Node],
optionals: T::Array[Prism::Node],
- rest: T.nilable(Prism::RestParameterNode),
+ rest: T.nilable(Prism::Node),
posts: T::Array[Prism::Node],
keywords: T::Array[Prism::Node],
keyword_rest: T.nilable(Prism::Node),
@@ -19846,48 +21921,48 @@ class Prism::ParametersNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#12439
+ # source://prism//lib/prism/node.rb#13199
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# attr_reader block: BlockParameterNode?
#
- # source://prism//lib/prism/node.rb#12424
+ # source://prism//lib/prism/node.rb#13184
sig { returns(T.nilable(Prism::BlockParameterNode)) }
def block; end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#12444
+ # source://prism//lib/prism/node.rb#13204
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#12462
+ # source://prism//lib/prism/node.rb#13222
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#12449
+ # source://prism//lib/prism/node.rb#13209
def compact_child_nodes; end
# def copy: (**params) -> ParametersNode
#
- # source://prism//lib/prism/node.rb#12467
+ # source://prism//lib/prism/node.rb#13227
sig { params(params: T.untyped).returns(Prism::ParametersNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#12444
+ # source://prism//lib/prism/node.rb#13204
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#12484
+ # source://prism//lib/prism/node.rb#13244
sig do
params(
keys: T::Array[Symbol]
@@ -19897,45 +21972,50 @@ class Prism::ParametersNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#12489
+ # source://prism//lib/prism/node.rb#13249
def inspect(inspector = T.unsafe(nil)); end
# attr_reader keyword_rest: Node?
#
- # source://prism//lib/prism/node.rb#12421
+ # source://prism//lib/prism/node.rb#13181
sig { returns(T.nilable(Prism::Node)) }
def keyword_rest; end
# attr_reader keywords: Array[Node]
#
- # source://prism//lib/prism/node.rb#12418
+ # source://prism//lib/prism/node.rb#13178
sig { returns(T::Array[Prism::Node]) }
def keywords; end
# attr_reader optionals: Array[Node]
#
- # source://prism//lib/prism/node.rb#12409
+ # source://prism//lib/prism/node.rb#13169
sig { returns(T::Array[Prism::Node]) }
def optionals; end
# attr_reader posts: Array[Node]
#
- # source://prism//lib/prism/node.rb#12415
+ # source://prism//lib/prism/node.rb#13175
sig { returns(T::Array[Prism::Node]) }
def posts; end
# attr_reader requireds: Array[Node]
#
- # source://prism//lib/prism/node.rb#12406
+ # source://prism//lib/prism/node.rb#13166
sig { returns(T::Array[Prism::Node]) }
def requireds; end
- # attr_reader rest: RestParameterNode?
+ # attr_reader rest: Node?
#
- # source://prism//lib/prism/node.rb#12412
- sig { returns(T.nilable(Prism::RestParameterNode)) }
+ # source://prism//lib/prism/node.rb#13172
+ sig { returns(T.nilable(Prism::Node)) }
def rest; end
+ # Mirrors the Method#parameters method.
+ #
+ # source://prism//lib/prism/node_ext.rb#149
+ def signature; end
+
# Sometimes you want to check an instance of a node against a list of
# classes to see what kind of behavior to perform. Usually this is done by
# calling `[cls1, cls2].include?(node.class)` or putting the node into a
@@ -19951,7 +22031,7 @@ class Prism::ParametersNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#12530
+ # source://prism//lib/prism/node.rb#13290
def type; end
class << self
@@ -19962,7 +22042,7 @@ class Prism::ParametersNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#12540
+ # source://prism//lib/prism/node.rb#13300
def type; end
end
end
@@ -19972,13 +22052,13 @@ end
# (10 + 34)
# ^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#12549
+# source://prism//lib/prism/node.rb#13309
class Prism::ParenthesesNode < ::Prism::Node
# def initialize: (body: Node?, opening_loc: Location, closing_loc: Location, location: Location) -> void
#
# @return [ParenthesesNode] a new instance of ParenthesesNode
#
- # source://prism//lib/prism/node.rb#12560
+ # source://prism//lib/prism/node.rb#13320
sig do
params(
body: T.nilable(Prism::Node),
@@ -19991,60 +22071,60 @@ class Prism::ParenthesesNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#12568
+ # source://prism//lib/prism/node.rb#13328
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# attr_reader body: Node?
#
- # source://prism//lib/prism/node.rb#12551
+ # source://prism//lib/prism/node.rb#13311
sig { returns(T.nilable(Prism::Node)) }
def body; end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#12577
+ # source://prism//lib/prism/node.rb#13337
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def closing: () -> String
#
- # source://prism//lib/prism/node.rb#12617
+ # source://prism//lib/prism/node.rb#13377
sig { returns(String) }
def closing; end
# attr_reader closing_loc: Location
#
- # source://prism//lib/prism/node.rb#12557
+ # source://prism//lib/prism/node.rb#13317
sig { returns(Prism::Location) }
def closing_loc; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#12589
+ # source://prism//lib/prism/node.rb#13349
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#12582
+ # source://prism//lib/prism/node.rb#13342
def compact_child_nodes; end
# def copy: (**params) -> ParenthesesNode
#
- # source://prism//lib/prism/node.rb#12594
+ # source://prism//lib/prism/node.rb#13354
sig { params(params: T.untyped).returns(Prism::ParenthesesNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#12577
+ # source://prism//lib/prism/node.rb#13337
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#12607
+ # source://prism//lib/prism/node.rb#13367
sig do
params(
keys: T::Array[Symbol]
@@ -20054,22 +22134,22 @@ class Prism::ParenthesesNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#12622
+ # source://prism//lib/prism/node.rb#13382
def inspect(inspector = T.unsafe(nil)); end
# def opening: () -> String
#
- # source://prism//lib/prism/node.rb#12612
+ # source://prism//lib/prism/node.rb#13372
sig { returns(String) }
def opening; end
# attr_reader opening_loc: Location
#
- # source://prism//lib/prism/node.rb#12554
+ # source://prism//lib/prism/node.rb#13314
sig { returns(Prism::Location) }
def opening_loc; end
- # source://prism//lib/prism/node.rb#12572
+ # source://prism//lib/prism/node.rb#13332
def set_newline_flag(newline_marked); end
# Sometimes you want to check an instance of a node against a list of
@@ -20087,7 +22167,7 @@ class Prism::ParenthesesNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#12649
+ # source://prism//lib/prism/node.rb#13409
def type; end
class << self
@@ -20098,41 +22178,41 @@ class Prism::ParenthesesNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#12659
+ # source://prism//lib/prism/node.rb#13419
def type; end
end
end
# This represents an error that was encountered during parsing.
#
-# source://prism//lib/prism/parse_result.rb#283
+# source://prism//lib/prism/parse_result.rb#308
class Prism::ParseError
# Create a new error object with the given message and location.
#
# @return [ParseError] a new instance of ParseError
#
- # source://prism//lib/prism/parse_result.rb#291
+ # source://prism//lib/prism/parse_result.rb#316
def initialize(message, location); end
# Implement the hash pattern matching interface for ParseError.
#
- # source://prism//lib/prism/parse_result.rb#297
+ # source://prism//lib/prism/parse_result.rb#322
def deconstruct_keys(keys); end
# Returns a string representation of this error.
#
- # source://prism//lib/prism/parse_result.rb#302
+ # source://prism//lib/prism/parse_result.rb#327
def inspect; end
# A Location object representing the location of this error in the source.
#
- # source://prism//lib/prism/parse_result.rb#288
+ # source://prism//lib/prism/parse_result.rb#313
sig { returns(Prism::Location) }
def location; end
# The message associated with this error.
#
- # source://prism//lib/prism/parse_result.rb#285
+ # source://prism//lib/prism/parse_result.rb#310
sig { returns(String) }
def message; end
end
@@ -20141,14 +22221,14 @@ end
# the AST, any comments that were encounters, and any errors that were
# encountered.
#
-# source://prism//lib/prism/parse_result.rb#335
+# source://prism//lib/prism/parse_result.rb#360
class Prism::ParseResult
# Create a new parse result object with the given values.
#
# @return [ParseResult] a new instance of ParseResult
#
- # source://prism//lib/prism/parse_result.rb#357
- def initialize(value, comments, magic_comments, errors, warnings, source); end
+ # source://prism//lib/prism/parse_result.rb#387
+ def initialize(value, comments, magic_comments, data_loc, errors, warnings, source); end
# Attach the list of comments to their respective locations in the tree.
#
@@ -20157,18 +22237,25 @@ class Prism::ParseResult
# The list of comments that were encountered during parsing.
#
- # source://prism//lib/prism/parse_result.rb#342
+ # source://prism//lib/prism/parse_result.rb#367
sig { returns(T::Array[Prism::Comment]) }
def comments; end
+ # An optional location that represents the location of the content after the
+ # __END__ marker. This content is loaded into the DATA constant when the
+ # file being parsed is the main file being executed.
+ #
+ # source://prism//lib/prism/parse_result.rb#375
+ def data_loc; end
+
# Implement the hash pattern matching interface for ParseResult.
#
- # source://prism//lib/prism/parse_result.rb#367
+ # source://prism//lib/prism/parse_result.rb#398
def deconstruct_keys(keys); end
# The list of errors that were generated during parsing.
#
- # source://prism//lib/prism/parse_result.rb#348
+ # source://prism//lib/prism/parse_result.rb#378
sig { returns(T::Array[Prism::ParseError]) }
def errors; end
@@ -20177,12 +22264,12 @@ class Prism::ParseResult
#
# @return [Boolean]
#
- # source://prism//lib/prism/parse_result.rb#379
+ # source://prism//lib/prism/parse_result.rb#410
def failure?; end
# The list of magic comments that were encountered during parsing.
#
- # source://prism//lib/prism/parse_result.rb#345
+ # source://prism//lib/prism/parse_result.rb#370
def magic_comments; end
# Walk the tree and mark nodes that are on a new line.
@@ -20192,7 +22279,7 @@ class Prism::ParseResult
# A Source instance that represents the source code that was parsed.
#
- # source://prism//lib/prism/parse_result.rb#354
+ # source://prism//lib/prism/parse_result.rb#384
sig { returns(Prism::Source) }
def source; end
@@ -20201,20 +22288,20 @@ class Prism::ParseResult
#
# @return [Boolean]
#
- # source://prism//lib/prism/parse_result.rb#373
+ # source://prism//lib/prism/parse_result.rb#404
def success?; end
# The value that was generated by parsing. Normally this holds the AST, but
# it can sometimes how a list of tokens or other results passed back from
# the parser.
#
- # source://prism//lib/prism/parse_result.rb#339
+ # source://prism//lib/prism/parse_result.rb#364
sig { returns(Prism::ProgramNode) }
def value; end
# The list of warnings that were generated during parsing.
#
- # source://prism//lib/prism/parse_result.rb#351
+ # source://prism//lib/prism/parse_result.rb#381
sig { returns(T::Array[Prism::ParseWarning]) }
def warnings; end
end
@@ -20373,34 +22460,34 @@ end
# This represents a warning that was encountered during parsing.
#
-# source://prism//lib/prism/parse_result.rb#308
+# source://prism//lib/prism/parse_result.rb#333
class Prism::ParseWarning
# Create a new warning object with the given message and location.
#
# @return [ParseWarning] a new instance of ParseWarning
#
- # source://prism//lib/prism/parse_result.rb#316
+ # source://prism//lib/prism/parse_result.rb#341
def initialize(message, location); end
# Implement the hash pattern matching interface for ParseWarning.
#
- # source://prism//lib/prism/parse_result.rb#322
+ # source://prism//lib/prism/parse_result.rb#347
def deconstruct_keys(keys); end
# Returns a string representation of this warning.
#
- # source://prism//lib/prism/parse_result.rb#327
+ # source://prism//lib/prism/parse_result.rb#352
def inspect; end
# A Location object representing the location of this warning in the source.
#
- # source://prism//lib/prism/parse_result.rb#313
+ # source://prism//lib/prism/parse_result.rb#338
sig { returns(Prism::Location) }
def location; end
# The message associated with this warning.
#
- # source://prism//lib/prism/parse_result.rb#310
+ # source://prism//lib/prism/parse_result.rb#335
sig { returns(String) }
def message; end
end
@@ -20565,13 +22652,13 @@ end
# foo in ^(bar)
# ^^^^^^
#
-# source://prism//lib/prism/node.rb#12669
+# source://prism//lib/prism/node.rb#13429
class Prism::PinnedExpressionNode < ::Prism::Node
# def initialize: (expression: Node, operator_loc: Location, lparen_loc: Location, rparen_loc: Location, location: Location) -> void
#
# @return [PinnedExpressionNode] a new instance of PinnedExpressionNode
#
- # source://prism//lib/prism/node.rb#12683
+ # source://prism//lib/prism/node.rb#13443
sig do
params(
expression: Prism::Node,
@@ -20585,42 +22672,42 @@ class Prism::PinnedExpressionNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#12692
+ # source://prism//lib/prism/node.rb#13452
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#12697
+ # source://prism//lib/prism/node.rb#13457
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#12707
+ # source://prism//lib/prism/node.rb#13467
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#12702
+ # source://prism//lib/prism/node.rb#13462
def compact_child_nodes; end
# def copy: (**params) -> PinnedExpressionNode
#
- # source://prism//lib/prism/node.rb#12712
+ # source://prism//lib/prism/node.rb#13472
sig { params(params: T.untyped).returns(Prism::PinnedExpressionNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#12697
+ # source://prism//lib/prism/node.rb#13457
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#12726
+ # source://prism//lib/prism/node.rb#13486
sig do
params(
keys: T::Array[Symbol]
@@ -20630,48 +22717,48 @@ class Prism::PinnedExpressionNode < ::Prism::Node
# attr_reader expression: Node
#
- # source://prism//lib/prism/node.rb#12671
+ # source://prism//lib/prism/node.rb#13431
sig { returns(Prism::Node) }
def expression; end
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#12746
+ # source://prism//lib/prism/node.rb#13506
def inspect(inspector = T.unsafe(nil)); end
# def lparen: () -> String
#
- # source://prism//lib/prism/node.rb#12736
+ # source://prism//lib/prism/node.rb#13496
sig { returns(String) }
def lparen; end
# attr_reader lparen_loc: Location
#
- # source://prism//lib/prism/node.rb#12677
+ # source://prism//lib/prism/node.rb#13437
sig { returns(Prism::Location) }
def lparen_loc; end
# def operator: () -> String
#
- # source://prism//lib/prism/node.rb#12731
+ # source://prism//lib/prism/node.rb#13491
sig { returns(String) }
def operator; end
# attr_reader operator_loc: Location
#
- # source://prism//lib/prism/node.rb#12674
+ # source://prism//lib/prism/node.rb#13434
sig { returns(Prism::Location) }
def operator_loc; end
# def rparen: () -> String
#
- # source://prism//lib/prism/node.rb#12741
+ # source://prism//lib/prism/node.rb#13501
sig { returns(String) }
def rparen; end
# attr_reader rparen_loc: Location
#
- # source://prism//lib/prism/node.rb#12680
+ # source://prism//lib/prism/node.rb#13440
sig { returns(Prism::Location) }
def rparen_loc; end
@@ -20690,7 +22777,7 @@ class Prism::PinnedExpressionNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#12770
+ # source://prism//lib/prism/node.rb#13530
def type; end
class << self
@@ -20701,7 +22788,7 @@ class Prism::PinnedExpressionNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#12780
+ # source://prism//lib/prism/node.rb#13540
def type; end
end
end
@@ -20712,54 +22799,54 @@ end
# foo in ^bar
# ^^^^
#
-# source://prism//lib/prism/node.rb#12790
+# source://prism//lib/prism/node.rb#13550
class Prism::PinnedVariableNode < ::Prism::Node
# def initialize: (variable: Node, operator_loc: Location, location: Location) -> void
#
# @return [PinnedVariableNode] a new instance of PinnedVariableNode
#
- # source://prism//lib/prism/node.rb#12798
+ # source://prism//lib/prism/node.rb#13558
sig { params(variable: Prism::Node, operator_loc: Prism::Location, location: Prism::Location).void }
def initialize(variable, operator_loc, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#12805
+ # source://prism//lib/prism/node.rb#13565
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#12810
+ # source://prism//lib/prism/node.rb#13570
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#12820
+ # source://prism//lib/prism/node.rb#13580
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#12815
+ # source://prism//lib/prism/node.rb#13575
def compact_child_nodes; end
# def copy: (**params) -> PinnedVariableNode
#
- # source://prism//lib/prism/node.rb#12825
+ # source://prism//lib/prism/node.rb#13585
sig { params(params: T.untyped).returns(Prism::PinnedVariableNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#12810
+ # source://prism//lib/prism/node.rb#13570
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#12837
+ # source://prism//lib/prism/node.rb#13597
sig do
params(
keys: T::Array[Symbol]
@@ -20769,18 +22856,18 @@ class Prism::PinnedVariableNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#12847
+ # source://prism//lib/prism/node.rb#13607
def inspect(inspector = T.unsafe(nil)); end
# def operator: () -> String
#
- # source://prism//lib/prism/node.rb#12842
+ # source://prism//lib/prism/node.rb#13602
sig { returns(String) }
def operator; end
# attr_reader operator_loc: Location
#
- # source://prism//lib/prism/node.rb#12795
+ # source://prism//lib/prism/node.rb#13555
sig { returns(Prism::Location) }
def operator_loc; end
@@ -20799,12 +22886,12 @@ class Prism::PinnedVariableNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#12869
+ # source://prism//lib/prism/node.rb#13629
def type; end
# attr_reader variable: Node
#
- # source://prism//lib/prism/node.rb#12792
+ # source://prism//lib/prism/node.rb#13552
sig { returns(Prism::Node) }
def variable; end
@@ -20816,7 +22903,7 @@ class Prism::PinnedVariableNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#12879
+ # source://prism//lib/prism/node.rb#13639
def type; end
end
end
@@ -20826,13 +22913,13 @@ end
# END { foo }
# ^^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#12888
+# source://prism//lib/prism/node.rb#13648
class Prism::PostExecutionNode < ::Prism::Node
# def initialize: (statements: StatementsNode?, keyword_loc: Location, opening_loc: Location, closing_loc: Location, location: Location) -> void
#
# @return [PostExecutionNode] a new instance of PostExecutionNode
#
- # source://prism//lib/prism/node.rb#12902
+ # source://prism//lib/prism/node.rb#13662
sig do
params(
statements: T.nilable(Prism::StatementsNode),
@@ -20846,54 +22933,54 @@ class Prism::PostExecutionNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#12911
+ # source://prism//lib/prism/node.rb#13671
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#12916
+ # source://prism//lib/prism/node.rb#13676
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def closing: () -> String
#
- # source://prism//lib/prism/node.rb#12962
+ # source://prism//lib/prism/node.rb#13722
sig { returns(String) }
def closing; end
# attr_reader closing_loc: Location
#
- # source://prism//lib/prism/node.rb#12899
+ # source://prism//lib/prism/node.rb#13659
sig { returns(Prism::Location) }
def closing_loc; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#12928
+ # source://prism//lib/prism/node.rb#13688
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#12921
+ # source://prism//lib/prism/node.rb#13681
def compact_child_nodes; end
# def copy: (**params) -> PostExecutionNode
#
- # source://prism//lib/prism/node.rb#12933
+ # source://prism//lib/prism/node.rb#13693
sig { params(params: T.untyped).returns(Prism::PostExecutionNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#12916
+ # source://prism//lib/prism/node.rb#13676
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#12947
+ # source://prism//lib/prism/node.rb#13707
sig do
params(
keys: T::Array[Symbol]
@@ -20903,36 +22990,36 @@ class Prism::PostExecutionNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#12967
+ # source://prism//lib/prism/node.rb#13727
def inspect(inspector = T.unsafe(nil)); end
# def keyword: () -> String
#
- # source://prism//lib/prism/node.rb#12952
+ # source://prism//lib/prism/node.rb#13712
sig { returns(String) }
def keyword; end
# attr_reader keyword_loc: Location
#
- # source://prism//lib/prism/node.rb#12893
+ # source://prism//lib/prism/node.rb#13653
sig { returns(Prism::Location) }
def keyword_loc; end
# def opening: () -> String
#
- # source://prism//lib/prism/node.rb#12957
+ # source://prism//lib/prism/node.rb#13717
sig { returns(String) }
def opening; end
# attr_reader opening_loc: Location
#
- # source://prism//lib/prism/node.rb#12896
+ # source://prism//lib/prism/node.rb#13656
sig { returns(Prism::Location) }
def opening_loc; end
# attr_reader statements: StatementsNode?
#
- # source://prism//lib/prism/node.rb#12890
+ # source://prism//lib/prism/node.rb#13650
sig { returns(T.nilable(Prism::StatementsNode)) }
def statements; end
@@ -20951,7 +23038,7 @@ class Prism::PostExecutionNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#12995
+ # source://prism//lib/prism/node.rb#13755
def type; end
class << self
@@ -20962,7 +23049,7 @@ class Prism::PostExecutionNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#13005
+ # source://prism//lib/prism/node.rb#13765
def type; end
end
end
@@ -20972,13 +23059,13 @@ end
# BEGIN { foo }
# ^^^^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#13014
+# source://prism//lib/prism/node.rb#13774
class Prism::PreExecutionNode < ::Prism::Node
# def initialize: (statements: StatementsNode?, keyword_loc: Location, opening_loc: Location, closing_loc: Location, location: Location) -> void
#
# @return [PreExecutionNode] a new instance of PreExecutionNode
#
- # source://prism//lib/prism/node.rb#13028
+ # source://prism//lib/prism/node.rb#13788
sig do
params(
statements: T.nilable(Prism::StatementsNode),
@@ -20992,54 +23079,54 @@ class Prism::PreExecutionNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#13037
+ # source://prism//lib/prism/node.rb#13797
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#13042
+ # source://prism//lib/prism/node.rb#13802
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def closing: () -> String
#
- # source://prism//lib/prism/node.rb#13088
+ # source://prism//lib/prism/node.rb#13848
sig { returns(String) }
def closing; end
# attr_reader closing_loc: Location
#
- # source://prism//lib/prism/node.rb#13025
+ # source://prism//lib/prism/node.rb#13785
sig { returns(Prism::Location) }
def closing_loc; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#13054
+ # source://prism//lib/prism/node.rb#13814
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#13047
+ # source://prism//lib/prism/node.rb#13807
def compact_child_nodes; end
# def copy: (**params) -> PreExecutionNode
#
- # source://prism//lib/prism/node.rb#13059
+ # source://prism//lib/prism/node.rb#13819
sig { params(params: T.untyped).returns(Prism::PreExecutionNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#13042
+ # source://prism//lib/prism/node.rb#13802
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#13073
+ # source://prism//lib/prism/node.rb#13833
sig do
params(
keys: T::Array[Symbol]
@@ -21049,36 +23136,36 @@ class Prism::PreExecutionNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#13093
+ # source://prism//lib/prism/node.rb#13853
def inspect(inspector = T.unsafe(nil)); end
# def keyword: () -> String
#
- # source://prism//lib/prism/node.rb#13078
+ # source://prism//lib/prism/node.rb#13838
sig { returns(String) }
def keyword; end
# attr_reader keyword_loc: Location
#
- # source://prism//lib/prism/node.rb#13019
+ # source://prism//lib/prism/node.rb#13779
sig { returns(Prism::Location) }
def keyword_loc; end
# def opening: () -> String
#
- # source://prism//lib/prism/node.rb#13083
+ # source://prism//lib/prism/node.rb#13843
sig { returns(String) }
def opening; end
# attr_reader opening_loc: Location
#
- # source://prism//lib/prism/node.rb#13022
+ # source://prism//lib/prism/node.rb#13782
sig { returns(Prism::Location) }
def opening_loc; end
# attr_reader statements: StatementsNode?
#
- # source://prism//lib/prism/node.rb#13016
+ # source://prism//lib/prism/node.rb#13776
sig { returns(T.nilable(Prism::StatementsNode)) }
def statements; end
@@ -21097,7 +23184,7 @@ class Prism::PreExecutionNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#13121
+ # source://prism//lib/prism/node.rb#13881
def type; end
class << self
@@ -21108,61 +23195,61 @@ class Prism::PreExecutionNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#13131
+ # source://prism//lib/prism/node.rb#13891
def type; end
end
end
# The top level node of any parse tree.
#
-# source://prism//lib/prism/node.rb#13137
+# source://prism//lib/prism/node.rb#13897
class Prism::ProgramNode < ::Prism::Node
# def initialize: (locals: Array[Symbol], statements: StatementsNode, location: Location) -> void
#
# @return [ProgramNode] a new instance of ProgramNode
#
- # source://prism//lib/prism/node.rb#13145
+ # source://prism//lib/prism/node.rb#13905
sig { params(locals: T::Array[Symbol], statements: Prism::StatementsNode, location: Prism::Location).void }
def initialize(locals, statements, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#13152
+ # source://prism//lib/prism/node.rb#13912
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#13157
+ # source://prism//lib/prism/node.rb#13917
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#13167
+ # source://prism//lib/prism/node.rb#13927
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#13162
+ # source://prism//lib/prism/node.rb#13922
def compact_child_nodes; end
# def copy: (**params) -> ProgramNode
#
- # source://prism//lib/prism/node.rb#13172
+ # source://prism//lib/prism/node.rb#13932
sig { params(params: T.untyped).returns(Prism::ProgramNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#13157
+ # source://prism//lib/prism/node.rb#13917
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#13184
+ # source://prism//lib/prism/node.rb#13944
sig do
params(
keys: T::Array[Symbol]
@@ -21172,18 +23259,18 @@ class Prism::ProgramNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#13189
+ # source://prism//lib/prism/node.rb#13949
def inspect(inspector = T.unsafe(nil)); end
# attr_reader locals: Array[Symbol]
#
- # source://prism//lib/prism/node.rb#13139
+ # source://prism//lib/prism/node.rb#13899
sig { returns(T::Array[Symbol]) }
def locals; end
# attr_reader statements: StatementsNode
#
- # source://prism//lib/prism/node.rb#13142
+ # source://prism//lib/prism/node.rb#13902
sig { returns(Prism::StatementsNode) }
def statements; end
@@ -21202,7 +23289,7 @@ class Prism::ProgramNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#13211
+ # source://prism//lib/prism/node.rb#13971
def type; end
class << self
@@ -21213,19 +23300,19 @@ class Prism::ProgramNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#13221
+ # source://prism//lib/prism/node.rb#13981
def type; end
end
end
# Flags for range and flip-flop nodes.
#
-# source://prism//lib/prism/node.rb#16572
+# source://prism//lib/prism/node.rb#17337
module Prism::RangeFlags; end
# ... operator
#
-# source://prism//lib/prism/node.rb#16574
+# source://prism//lib/prism/node.rb#17339
Prism::RangeFlags::EXCLUDE_END = T.let(T.unsafe(nil), Integer)
# Represents the use of the `..` or `...` operators.
@@ -21236,62 +23323,62 @@ Prism::RangeFlags::EXCLUDE_END = T.let(T.unsafe(nil), Integer)
# c if a =~ /left/ ... b =~ /right/
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#13233
+# source://prism//lib/prism/node.rb#13993
class Prism::RangeNode < ::Prism::Node
- # def initialize: (left: Node?, right: Node?, operator_loc: Location, flags: Integer, location: Location) -> void
+ # def initialize: (flags: Integer, left: Node?, right: Node?, operator_loc: Location, location: Location) -> void
#
# @return [RangeNode] a new instance of RangeNode
#
- # source://prism//lib/prism/node.rb#13247
+ # source://prism//lib/prism/node.rb#14007
sig do
params(
+ flags: Integer,
left: T.nilable(Prism::Node),
right: T.nilable(Prism::Node),
operator_loc: Prism::Location,
- flags: Integer,
location: Prism::Location
).void
end
- def initialize(left, right, operator_loc, flags, location); end
+ def initialize(flags, left, right, operator_loc, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#13256
+ # source://prism//lib/prism/node.rb#14016
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#13261
+ # source://prism//lib/prism/node.rb#14021
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#13274
+ # source://prism//lib/prism/node.rb#14034
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#13266
+ # source://prism//lib/prism/node.rb#14026
def compact_child_nodes; end
# def copy: (**params) -> RangeNode
#
- # source://prism//lib/prism/node.rb#13279
+ # source://prism//lib/prism/node.rb#14039
sig { params(params: T.untyped).returns(Prism::RangeNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#13261
+ # source://prism//lib/prism/node.rb#14021
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#13293
+ # source://prism//lib/prism/node.rb#14053
sig do
params(
keys: T::Array[Symbol]
@@ -21303,36 +23390,36 @@ class Prism::RangeNode < ::Prism::Node
#
# @return [Boolean]
#
- # source://prism//lib/prism/node.rb#13303
+ # source://prism//lib/prism/node.rb#14058
sig { returns(T::Boolean) }
def exclude_end?; end
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#13308
+ # source://prism//lib/prism/node.rb#14068
def inspect(inspector = T.unsafe(nil)); end
# attr_reader left: Node?
#
- # source://prism//lib/prism/node.rb#13235
+ # source://prism//lib/prism/node.rb#13998
sig { returns(T.nilable(Prism::Node)) }
def left; end
# def operator: () -> String
#
- # source://prism//lib/prism/node.rb#13298
+ # source://prism//lib/prism/node.rb#14063
sig { returns(String) }
def operator; end
# attr_reader operator_loc: Location
#
- # source://prism//lib/prism/node.rb#13241
+ # source://prism//lib/prism/node.rb#14004
sig { returns(Prism::Location) }
def operator_loc; end
# attr_reader right: Node?
#
- # source://prism//lib/prism/node.rb#13238
+ # source://prism//lib/prism/node.rb#14001
sig { returns(T.nilable(Prism::Node)) }
def right; end
@@ -21351,14 +23438,14 @@ class Prism::RangeNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#13342
+ # source://prism//lib/prism/node.rb#14102
def type; end
private
# Returns the value of attribute flags.
#
- # source://prism//lib/prism/node.rb#13244
+ # source://prism//lib/prism/node.rb#13995
sig { returns(Integer) }
def flags; end
@@ -21370,7 +23457,7 @@ class Prism::RangeNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#13352
+ # source://prism//lib/prism/node.rb#14112
def type; end
end
end
@@ -21380,54 +23467,54 @@ end
# 1.0r
# ^^^^
#
-# source://prism//lib/prism/node.rb#13361
+# source://prism//lib/prism/node.rb#14121
class Prism::RationalNode < ::Prism::Node
# def initialize: (numeric: Node, location: Location) -> void
#
# @return [RationalNode] a new instance of RationalNode
#
- # source://prism//lib/prism/node.rb#13366
+ # source://prism//lib/prism/node.rb#14126
sig { params(numeric: Prism::Node, location: Prism::Location).void }
def initialize(numeric, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#13372
+ # source://prism//lib/prism/node.rb#14132
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#13377
+ # source://prism//lib/prism/node.rb#14137
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#13387
+ # source://prism//lib/prism/node.rb#14147
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#13382
+ # source://prism//lib/prism/node.rb#14142
def compact_child_nodes; end
# def copy: (**params) -> RationalNode
#
- # source://prism//lib/prism/node.rb#13392
+ # source://prism//lib/prism/node.rb#14152
sig { params(params: T.untyped).returns(Prism::RationalNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#13377
+ # source://prism//lib/prism/node.rb#14137
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#13403
+ # source://prism//lib/prism/node.rb#14163
sig do
params(
keys: T::Array[Symbol]
@@ -21437,12 +23524,12 @@ class Prism::RationalNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#13408
+ # source://prism//lib/prism/node.rb#14168
def inspect(inspector = T.unsafe(nil)); end
# attr_reader numeric: Node
#
- # source://prism//lib/prism/node.rb#13363
+ # source://prism//lib/prism/node.rb#14123
sig { returns(Prism::Node) }
def numeric; end
@@ -21461,12 +23548,12 @@ class Prism::RationalNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#13429
+ # source://prism//lib/prism/node.rb#14189
def type; end
# Returns the value of the node as a Ruby Rational.
#
- # source://prism//lib/prism/node_ext.rb#54
+ # source://prism//lib/prism/node_ext.rb#83
def value; end
class << self
@@ -21477,7 +23564,7 @@ class Prism::RationalNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#13439
+ # source://prism//lib/prism/node.rb#14199
def type; end
end
end
@@ -21487,54 +23574,54 @@ end
# redo
# ^^^^
#
-# source://prism//lib/prism/node.rb#13448
+# source://prism//lib/prism/node.rb#14208
class Prism::RedoNode < ::Prism::Node
# def initialize: (location: Location) -> void
#
# @return [RedoNode] a new instance of RedoNode
#
- # source://prism//lib/prism/node.rb#13450
+ # source://prism//lib/prism/node.rb#14210
sig { params(location: Prism::Location).void }
def initialize(location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#13455
+ # source://prism//lib/prism/node.rb#14215
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#13460
+ # source://prism//lib/prism/node.rb#14220
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#13470
+ # source://prism//lib/prism/node.rb#14230
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#13465
+ # source://prism//lib/prism/node.rb#14225
def compact_child_nodes; end
# def copy: (**params) -> RedoNode
#
- # source://prism//lib/prism/node.rb#13475
+ # source://prism//lib/prism/node.rb#14235
sig { params(params: T.untyped).returns(Prism::RedoNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#13460
+ # source://prism//lib/prism/node.rb#14220
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#13485
+ # source://prism//lib/prism/node.rb#14245
sig do
params(
keys: T::Array[Symbol]
@@ -21544,7 +23631,7 @@ class Prism::RedoNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#13490
+ # source://prism//lib/prism/node.rb#14250
def inspect(inspector = T.unsafe(nil)); end
# Sometimes you want to check an instance of a node against a list of
@@ -21562,7 +23649,7 @@ class Prism::RedoNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#13509
+ # source://prism//lib/prism/node.rb#14269
def type; end
class << self
@@ -21573,54 +23660,69 @@ class Prism::RedoNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#13519
+ # source://prism//lib/prism/node.rb#14279
def type; end
end
end
# Flags for regular expression and match last line nodes.
#
-# source://prism//lib/prism/node.rb#16578
+# source://prism//lib/prism/node.rb#17343
module Prism::RegularExpressionFlags; end
# n - forces the ASCII-8BIT encoding
#
-# source://prism//lib/prism/node.rb#16595
+# source://prism//lib/prism/node.rb#17360
Prism::RegularExpressionFlags::ASCII_8BIT = T.let(T.unsafe(nil), Integer)
# e - forces the EUC-JP encoding
#
-# source://prism//lib/prism/node.rb#16592
+# source://prism//lib/prism/node.rb#17357
Prism::RegularExpressionFlags::EUC_JP = T.let(T.unsafe(nil), Integer)
# x - ignores whitespace and allows comments in regular expressions
#
-# source://prism//lib/prism/node.rb#16583
+# source://prism//lib/prism/node.rb#17348
Prism::RegularExpressionFlags::EXTENDED = T.let(T.unsafe(nil), Integer)
+# internal bytes forced the encoding to binary
+#
+# source://prism//lib/prism/node.rb#17372
+Prism::RegularExpressionFlags::FORCED_BINARY_ENCODING = T.let(T.unsafe(nil), Integer)
+
+# internal bytes forced the encoding to US-ASCII
+#
+# source://prism//lib/prism/node.rb#17375
+Prism::RegularExpressionFlags::FORCED_US_ASCII_ENCODING = T.let(T.unsafe(nil), Integer)
+
+# internal bytes forced the encoding to UTF-8
+#
+# source://prism//lib/prism/node.rb#17369
+Prism::RegularExpressionFlags::FORCED_UTF8_ENCODING = T.let(T.unsafe(nil), Integer)
+
# i - ignores the case of characters when matching
#
-# source://prism//lib/prism/node.rb#16580
+# source://prism//lib/prism/node.rb#17345
Prism::RegularExpressionFlags::IGNORE_CASE = T.let(T.unsafe(nil), Integer)
# m - allows $ to match the end of lines within strings
#
-# source://prism//lib/prism/node.rb#16586
+# source://prism//lib/prism/node.rb#17351
Prism::RegularExpressionFlags::MULTI_LINE = T.let(T.unsafe(nil), Integer)
# o - only interpolates values into the regular expression once
#
-# source://prism//lib/prism/node.rb#16589
+# source://prism//lib/prism/node.rb#17354
Prism::RegularExpressionFlags::ONCE = T.let(T.unsafe(nil), Integer)
# u - forces the UTF-8 encoding
#
-# source://prism//lib/prism/node.rb#16601
+# source://prism//lib/prism/node.rb#17366
Prism::RegularExpressionFlags::UTF_8 = T.let(T.unsafe(nil), Integer)
# s - forces the Windows-31J encoding
#
-# source://prism//lib/prism/node.rb#16598
+# source://prism//lib/prism/node.rb#17363
Prism::RegularExpressionFlags::WINDOWS_31J = T.let(T.unsafe(nil), Integer)
# Represents a regular expression literal with no interpolation.
@@ -21628,30 +23730,30 @@ Prism::RegularExpressionFlags::WINDOWS_31J = T.let(T.unsafe(nil), Integer)
# /foo/i
# ^^^^^^
#
-# source://prism//lib/prism/node.rb#13528
+# source://prism//lib/prism/node.rb#14288
class Prism::RegularExpressionNode < ::Prism::Node
include ::Prism::RegularExpressionOptions
- # def initialize: (opening_loc: Location, content_loc: Location, closing_loc: Location, unescaped: String, flags: Integer, location: Location) -> void
+ # def initialize: (flags: Integer, opening_loc: Location, content_loc: Location, closing_loc: Location, unescaped: String, location: Location) -> void
#
# @return [RegularExpressionNode] a new instance of RegularExpressionNode
#
- # source://prism//lib/prism/node.rb#13545
+ # source://prism//lib/prism/node.rb#14305
sig do
params(
+ flags: Integer,
opening_loc: Prism::Location,
content_loc: Prism::Location,
closing_loc: Prism::Location,
unescaped: String,
- flags: Integer,
location: Prism::Location
).void
end
- def initialize(opening_loc, content_loc, closing_loc, unescaped, flags, location); end
+ def initialize(flags, opening_loc, content_loc, closing_loc, unescaped, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#13555
+ # source://prism//lib/prism/node.rb#14315
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
@@ -21659,66 +23761,66 @@ class Prism::RegularExpressionNode < ::Prism::Node
#
# @return [Boolean]
#
- # source://prism//lib/prism/node.rb#13635
+ # source://prism//lib/prism/node.rb#14380
sig { returns(T::Boolean) }
def ascii_8bit?; end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#13560
+ # source://prism//lib/prism/node.rb#14320
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def closing: () -> String
#
- # source://prism//lib/prism/node.rb#13605
+ # source://prism//lib/prism/node.rb#14420
sig { returns(String) }
def closing; end
# attr_reader closing_loc: Location
#
- # source://prism//lib/prism/node.rb#13536
+ # source://prism//lib/prism/node.rb#14299
sig { returns(Prism::Location) }
def closing_loc; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#13570
+ # source://prism//lib/prism/node.rb#14330
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#13565
+ # source://prism//lib/prism/node.rb#14325
def compact_child_nodes; end
# def content: () -> String
#
- # source://prism//lib/prism/node.rb#13600
+ # source://prism//lib/prism/node.rb#14415
sig { returns(String) }
def content; end
# attr_reader content_loc: Location
#
- # source://prism//lib/prism/node.rb#13533
+ # source://prism//lib/prism/node.rb#14296
sig { returns(Prism::Location) }
def content_loc; end
# def copy: (**params) -> RegularExpressionNode
#
- # source://prism//lib/prism/node.rb#13575
+ # source://prism//lib/prism/node.rb#14335
sig { params(params: T.untyped).returns(Prism::RegularExpressionNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#13560
+ # source://prism//lib/prism/node.rb#14320
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#13590
+ # source://prism//lib/prism/node.rb#14350
sig do
params(
keys: T::Array[Symbol]
@@ -21730,7 +23832,7 @@ class Prism::RegularExpressionNode < ::Prism::Node
#
# @return [Boolean]
#
- # source://prism//lib/prism/node.rb#13630
+ # source://prism//lib/prism/node.rb#14375
sig { returns(T::Boolean) }
def euc_jp?; end
@@ -21738,28 +23840,52 @@ class Prism::RegularExpressionNode < ::Prism::Node
#
# @return [Boolean]
#
- # source://prism//lib/prism/node.rb#13615
+ # source://prism//lib/prism/node.rb#14360
sig { returns(T::Boolean) }
def extended?; end
+ # def forced_binary_encoding?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#14400
+ sig { returns(T::Boolean) }
+ def forced_binary_encoding?; end
+
+ # def forced_us_ascii_encoding?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#14405
+ sig { returns(T::Boolean) }
+ def forced_us_ascii_encoding?; end
+
+ # def forced_utf8_encoding?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#14395
+ sig { returns(T::Boolean) }
+ def forced_utf8_encoding?; end
+
# def ignore_case?: () -> bool
#
# @return [Boolean]
#
- # source://prism//lib/prism/node.rb#13610
+ # source://prism//lib/prism/node.rb#14355
sig { returns(T::Boolean) }
def ignore_case?; end
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#13650
+ # source://prism//lib/prism/node.rb#14425
def inspect(inspector = T.unsafe(nil)); end
# def multi_line?: () -> bool
#
# @return [Boolean]
#
- # source://prism//lib/prism/node.rb#13620
+ # source://prism//lib/prism/node.rb#14365
sig { returns(T::Boolean) }
def multi_line?; end
@@ -21767,19 +23893,19 @@ class Prism::RegularExpressionNode < ::Prism::Node
#
# @return [Boolean]
#
- # source://prism//lib/prism/node.rb#13625
+ # source://prism//lib/prism/node.rb#14370
sig { returns(T::Boolean) }
def once?; end
# def opening: () -> String
#
- # source://prism//lib/prism/node.rb#13595
+ # source://prism//lib/prism/node.rb#14410
sig { returns(String) }
def opening; end
# attr_reader opening_loc: Location
#
- # source://prism//lib/prism/node.rb#13530
+ # source://prism//lib/prism/node.rb#14293
sig { returns(Prism::Location) }
def opening_loc; end
@@ -21798,12 +23924,12 @@ class Prism::RegularExpressionNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#13675
+ # source://prism//lib/prism/node.rb#14450
def type; end
# attr_reader unescaped: String
#
- # source://prism//lib/prism/node.rb#13539
+ # source://prism//lib/prism/node.rb#14302
sig { returns(String) }
def unescaped; end
@@ -21811,7 +23937,7 @@ class Prism::RegularExpressionNode < ::Prism::Node
#
# @return [Boolean]
#
- # source://prism//lib/prism/node.rb#13645
+ # source://prism//lib/prism/node.rb#14390
sig { returns(T::Boolean) }
def utf_8?; end
@@ -21819,7 +23945,7 @@ class Prism::RegularExpressionNode < ::Prism::Node
#
# @return [Boolean]
#
- # source://prism//lib/prism/node.rb#13640
+ # source://prism//lib/prism/node.rb#14385
sig { returns(T::Boolean) }
def windows_31j?; end
@@ -21827,7 +23953,7 @@ class Prism::RegularExpressionNode < ::Prism::Node
# Returns the value of attribute flags.
#
- # source://prism//lib/prism/node.rb#13542
+ # source://prism//lib/prism/node.rb#14290
sig { returns(Integer) }
def flags; end
@@ -21839,7 +23965,7 @@ class Prism::RegularExpressionNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#13685
+ # source://prism//lib/prism/node.rb#14460
def type; end
end
end
@@ -21859,54 +23985,54 @@ end
# ^^
# end
#
-# source://prism//lib/prism/node.rb#13695
+# source://prism//lib/prism/node.rb#14470
class Prism::RequiredKeywordParameterNode < ::Prism::Node
# def initialize: (name: Symbol, name_loc: Location, location: Location) -> void
#
# @return [RequiredKeywordParameterNode] a new instance of RequiredKeywordParameterNode
#
- # source://prism//lib/prism/node.rb#13703
+ # source://prism//lib/prism/node.rb#14478
sig { params(name: Symbol, name_loc: Prism::Location, location: Prism::Location).void }
def initialize(name, name_loc, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#13710
+ # source://prism//lib/prism/node.rb#14485
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#13715
+ # source://prism//lib/prism/node.rb#14490
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#13725
+ # source://prism//lib/prism/node.rb#14500
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#13720
+ # source://prism//lib/prism/node.rb#14495
def compact_child_nodes; end
# def copy: (**params) -> RequiredKeywordParameterNode
#
- # source://prism//lib/prism/node.rb#13730
+ # source://prism//lib/prism/node.rb#14505
sig { params(params: T.untyped).returns(Prism::RequiredKeywordParameterNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#13715
+ # source://prism//lib/prism/node.rb#14490
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#13742
+ # source://prism//lib/prism/node.rb#14517
sig do
params(
keys: T::Array[Symbol]
@@ -21916,18 +24042,18 @@ class Prism::RequiredKeywordParameterNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#13747
+ # source://prism//lib/prism/node.rb#14522
def inspect(inspector = T.unsafe(nil)); end
# attr_reader name: Symbol
#
- # source://prism//lib/prism/node.rb#13697
+ # source://prism//lib/prism/node.rb#14472
sig { returns(Symbol) }
def name; end
# attr_reader name_loc: Location
#
- # source://prism//lib/prism/node.rb#13700
+ # source://prism//lib/prism/node.rb#14475
sig { returns(Prism::Location) }
def name_loc; end
@@ -21946,7 +24072,7 @@ class Prism::RequiredKeywordParameterNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#13768
+ # source://prism//lib/prism/node.rb#14543
def type; end
class << self
@@ -21957,7 +24083,7 @@ class Prism::RequiredKeywordParameterNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#13778
+ # source://prism//lib/prism/node.rb#14553
def type; end
end
end
@@ -21968,54 +24094,54 @@ end
# ^
# end
#
-# source://prism//lib/prism/node.rb#13788
+# source://prism//lib/prism/node.rb#14563
class Prism::RequiredParameterNode < ::Prism::Node
# def initialize: (name: Symbol, location: Location) -> void
#
# @return [RequiredParameterNode] a new instance of RequiredParameterNode
#
- # source://prism//lib/prism/node.rb#13793
+ # source://prism//lib/prism/node.rb#14568
sig { params(name: Symbol, location: Prism::Location).void }
def initialize(name, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#13799
+ # source://prism//lib/prism/node.rb#14574
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#13804
+ # source://prism//lib/prism/node.rb#14579
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#13814
+ # source://prism//lib/prism/node.rb#14589
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#13809
+ # source://prism//lib/prism/node.rb#14584
def compact_child_nodes; end
# def copy: (**params) -> RequiredParameterNode
#
- # source://prism//lib/prism/node.rb#13819
+ # source://prism//lib/prism/node.rb#14594
sig { params(params: T.untyped).returns(Prism::RequiredParameterNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#13804
+ # source://prism//lib/prism/node.rb#14579
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#13830
+ # source://prism//lib/prism/node.rb#14605
sig do
params(
keys: T::Array[Symbol]
@@ -22025,12 +24151,12 @@ class Prism::RequiredParameterNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#13835
+ # source://prism//lib/prism/node.rb#14610
def inspect(inspector = T.unsafe(nil)); end
# attr_reader name: Symbol
#
- # source://prism//lib/prism/node.rb#13790
+ # source://prism//lib/prism/node.rb#14565
sig { returns(Symbol) }
def name; end
@@ -22049,7 +24175,7 @@ class Prism::RequiredParameterNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#13855
+ # source://prism//lib/prism/node.rb#14630
def type; end
class << self
@@ -22060,7 +24186,7 @@ class Prism::RequiredParameterNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#13865
+ # source://prism//lib/prism/node.rb#14640
def type; end
end
end
@@ -22070,13 +24196,13 @@ end
# foo rescue nil
# ^^^^^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#13874
+# source://prism//lib/prism/node.rb#14649
class Prism::RescueModifierNode < ::Prism::Node
# def initialize: (expression: Node, keyword_loc: Location, rescue_expression: Node, location: Location) -> void
#
# @return [RescueModifierNode] a new instance of RescueModifierNode
#
- # source://prism//lib/prism/node.rb#13885
+ # source://prism//lib/prism/node.rb#14660
sig do
params(
expression: Prism::Node,
@@ -22089,42 +24215,42 @@ class Prism::RescueModifierNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#13893
+ # source://prism//lib/prism/node.rb#14668
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#13902
+ # source://prism//lib/prism/node.rb#14677
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#13912
+ # source://prism//lib/prism/node.rb#14687
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#13907
+ # source://prism//lib/prism/node.rb#14682
def compact_child_nodes; end
# def copy: (**params) -> RescueModifierNode
#
- # source://prism//lib/prism/node.rb#13917
+ # source://prism//lib/prism/node.rb#14692
sig { params(params: T.untyped).returns(Prism::RescueModifierNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#13902
+ # source://prism//lib/prism/node.rb#14677
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#13930
+ # source://prism//lib/prism/node.rb#14705
sig do
params(
keys: T::Array[Symbol]
@@ -22134,34 +24260,34 @@ class Prism::RescueModifierNode < ::Prism::Node
# attr_reader expression: Node
#
- # source://prism//lib/prism/node.rb#13876
+ # source://prism//lib/prism/node.rb#14651
sig { returns(Prism::Node) }
def expression; end
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#13940
+ # source://prism//lib/prism/node.rb#14715
def inspect(inspector = T.unsafe(nil)); end
# def keyword: () -> String
#
- # source://prism//lib/prism/node.rb#13935
+ # source://prism//lib/prism/node.rb#14710
sig { returns(String) }
def keyword; end
# attr_reader keyword_loc: Location
#
- # source://prism//lib/prism/node.rb#13879
+ # source://prism//lib/prism/node.rb#14654
sig { returns(Prism::Location) }
def keyword_loc; end
# attr_reader rescue_expression: Node
#
- # source://prism//lib/prism/node.rb#13882
+ # source://prism//lib/prism/node.rb#14657
sig { returns(Prism::Node) }
def rescue_expression; end
- # source://prism//lib/prism/node.rb#13897
+ # source://prism//lib/prism/node.rb#14672
def set_newline_flag(newline_marked); end
# Sometimes you want to check an instance of a node against a list of
@@ -22179,7 +24305,7 @@ class Prism::RescueModifierNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#13964
+ # source://prism//lib/prism/node.rb#14739
def type; end
class << self
@@ -22190,7 +24316,7 @@ class Prism::RescueModifierNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#13974
+ # source://prism//lib/prism/node.rb#14749
def type; end
end
end
@@ -22206,13 +24332,13 @@ end
# `Foo, *splat, Bar` are in the `exceptions` field.
# `ex` is in the `exception` field.
#
-# source://prism//lib/prism/node.rb#13989
+# source://prism//lib/prism/node.rb#14764
class Prism::RescueNode < ::Prism::Node
# def initialize: (keyword_loc: Location, exceptions: Array[Node], operator_loc: Location?, reference: Node?, statements: StatementsNode?, consequent: RescueNode?, location: Location) -> void
#
# @return [RescueNode] a new instance of RescueNode
#
- # source://prism//lib/prism/node.rb#14009
+ # source://prism//lib/prism/node.rb#14784
sig do
params(
keyword_loc: Prism::Location,
@@ -22228,48 +24354,48 @@ class Prism::RescueNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#14020
+ # source://prism//lib/prism/node.rb#14795
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#14025
+ # source://prism//lib/prism/node.rb#14800
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#14040
+ # source://prism//lib/prism/node.rb#14815
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#14030
+ # source://prism//lib/prism/node.rb#14805
def compact_child_nodes; end
# attr_reader consequent: RescueNode?
#
- # source://prism//lib/prism/node.rb#14006
+ # source://prism//lib/prism/node.rb#14781
sig { returns(T.nilable(Prism::RescueNode)) }
def consequent; end
# def copy: (**params) -> RescueNode
#
- # source://prism//lib/prism/node.rb#14045
+ # source://prism//lib/prism/node.rb#14820
sig { params(params: T.untyped).returns(Prism::RescueNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#14025
+ # source://prism//lib/prism/node.rb#14800
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#14061
+ # source://prism//lib/prism/node.rb#14836
sig do
params(
keys: T::Array[Symbol]
@@ -22279,48 +24405,48 @@ class Prism::RescueNode < ::Prism::Node
# attr_reader exceptions: Array[Node]
#
- # source://prism//lib/prism/node.rb#13994
+ # source://prism//lib/prism/node.rb#14769
sig { returns(T::Array[Prism::Node]) }
def exceptions; end
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#14076
+ # source://prism//lib/prism/node.rb#14851
def inspect(inspector = T.unsafe(nil)); end
# def keyword: () -> String
#
- # source://prism//lib/prism/node.rb#14066
+ # source://prism//lib/prism/node.rb#14841
sig { returns(String) }
def keyword; end
# attr_reader keyword_loc: Location
#
- # source://prism//lib/prism/node.rb#13991
+ # source://prism//lib/prism/node.rb#14766
sig { returns(Prism::Location) }
def keyword_loc; end
# def operator: () -> String?
#
- # source://prism//lib/prism/node.rb#14071
+ # source://prism//lib/prism/node.rb#14846
sig { returns(T.nilable(String)) }
def operator; end
# attr_reader operator_loc: Location?
#
- # source://prism//lib/prism/node.rb#13997
+ # source://prism//lib/prism/node.rb#14772
sig { returns(T.nilable(Prism::Location)) }
def operator_loc; end
# attr_reader reference: Node?
#
- # source://prism//lib/prism/node.rb#14000
+ # source://prism//lib/prism/node.rb#14775
sig { returns(T.nilable(Prism::Node)) }
def reference; end
# attr_reader statements: StatementsNode?
#
- # source://prism//lib/prism/node.rb#14003
+ # source://prism//lib/prism/node.rb#14778
sig { returns(T.nilable(Prism::StatementsNode)) }
def statements; end
@@ -22339,7 +24465,7 @@ class Prism::RescueNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#14116
+ # source://prism//lib/prism/node.rb#14891
def type; end
class << self
@@ -22350,7 +24476,7 @@ class Prism::RescueNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#14126
+ # source://prism//lib/prism/node.rb#14901
def type; end
end
end
@@ -22361,13 +24487,13 @@ end
# ^^
# end
#
-# source://prism//lib/prism/node.rb#14136
+# source://prism//lib/prism/node.rb#14911
class Prism::RestParameterNode < ::Prism::Node
# def initialize: (name: Symbol?, name_loc: Location?, operator_loc: Location, location: Location) -> void
#
# @return [RestParameterNode] a new instance of RestParameterNode
#
- # source://prism//lib/prism/node.rb#14147
+ # source://prism//lib/prism/node.rb#14922
sig do
params(
name: T.nilable(Symbol),
@@ -22380,42 +24506,42 @@ class Prism::RestParameterNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#14155
+ # source://prism//lib/prism/node.rb#14930
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#14160
+ # source://prism//lib/prism/node.rb#14935
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#14170
+ # source://prism//lib/prism/node.rb#14945
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#14165
+ # source://prism//lib/prism/node.rb#14940
def compact_child_nodes; end
# def copy: (**params) -> RestParameterNode
#
- # source://prism//lib/prism/node.rb#14175
+ # source://prism//lib/prism/node.rb#14950
sig { params(params: T.untyped).returns(Prism::RestParameterNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#14160
+ # source://prism//lib/prism/node.rb#14935
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#14188
+ # source://prism//lib/prism/node.rb#14963
sig do
params(
keys: T::Array[Symbol]
@@ -22425,30 +24551,30 @@ class Prism::RestParameterNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#14198
+ # source://prism//lib/prism/node.rb#14973
def inspect(inspector = T.unsafe(nil)); end
# attr_reader name: Symbol?
#
- # source://prism//lib/prism/node.rb#14138
+ # source://prism//lib/prism/node.rb#14913
sig { returns(T.nilable(Symbol)) }
def name; end
# attr_reader name_loc: Location?
#
- # source://prism//lib/prism/node.rb#14141
+ # source://prism//lib/prism/node.rb#14916
sig { returns(T.nilable(Prism::Location)) }
def name_loc; end
# def operator: () -> String
#
- # source://prism//lib/prism/node.rb#14193
+ # source://prism//lib/prism/node.rb#14968
sig { returns(String) }
def operator; end
# attr_reader operator_loc: Location
#
- # source://prism//lib/prism/node.rb#14144
+ # source://prism//lib/prism/node.rb#14919
sig { returns(Prism::Location) }
def operator_loc; end
@@ -22467,7 +24593,7 @@ class Prism::RestParameterNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#14224
+ # source://prism//lib/prism/node.rb#14999
def type; end
class << self
@@ -22478,7 +24604,7 @@ class Prism::RestParameterNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#14234
+ # source://prism//lib/prism/node.rb#15009
def type; end
end
end
@@ -22488,54 +24614,54 @@ end
# retry
# ^^^^^
#
-# source://prism//lib/prism/node.rb#14243
+# source://prism//lib/prism/node.rb#15018
class Prism::RetryNode < ::Prism::Node
# def initialize: (location: Location) -> void
#
# @return [RetryNode] a new instance of RetryNode
#
- # source://prism//lib/prism/node.rb#14245
+ # source://prism//lib/prism/node.rb#15020
sig { params(location: Prism::Location).void }
def initialize(location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#14250
+ # source://prism//lib/prism/node.rb#15025
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#14255
+ # source://prism//lib/prism/node.rb#15030
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#14265
+ # source://prism//lib/prism/node.rb#15040
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#14260
+ # source://prism//lib/prism/node.rb#15035
def compact_child_nodes; end
# def copy: (**params) -> RetryNode
#
- # source://prism//lib/prism/node.rb#14270
+ # source://prism//lib/prism/node.rb#15045
sig { params(params: T.untyped).returns(Prism::RetryNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#14255
+ # source://prism//lib/prism/node.rb#15030
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#14280
+ # source://prism//lib/prism/node.rb#15055
sig do
params(
keys: T::Array[Symbol]
@@ -22545,7 +24671,7 @@ class Prism::RetryNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#14285
+ # source://prism//lib/prism/node.rb#15060
def inspect(inspector = T.unsafe(nil)); end
# Sometimes you want to check an instance of a node against a list of
@@ -22563,7 +24689,7 @@ class Prism::RetryNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#14304
+ # source://prism//lib/prism/node.rb#15079
def type; end
class << self
@@ -22574,7 +24700,7 @@ class Prism::RetryNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#14314
+ # source://prism//lib/prism/node.rb#15089
def type; end
end
end
@@ -22584,13 +24710,13 @@ end
# return 1
# ^^^^^^^^
#
-# source://prism//lib/prism/node.rb#14323
+# source://prism//lib/prism/node.rb#15098
class Prism::ReturnNode < ::Prism::Node
# def initialize: (keyword_loc: Location, arguments: ArgumentsNode?, location: Location) -> void
#
# @return [ReturnNode] a new instance of ReturnNode
#
- # source://prism//lib/prism/node.rb#14331
+ # source://prism//lib/prism/node.rb#15106
sig do
params(
keyword_loc: Prism::Location,
@@ -22602,48 +24728,48 @@ class Prism::ReturnNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#14338
+ # source://prism//lib/prism/node.rb#15113
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# attr_reader arguments: ArgumentsNode?
#
- # source://prism//lib/prism/node.rb#14328
+ # source://prism//lib/prism/node.rb#15103
sig { returns(T.nilable(Prism::ArgumentsNode)) }
def arguments; end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#14343
+ # source://prism//lib/prism/node.rb#15118
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#14355
+ # source://prism//lib/prism/node.rb#15130
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#14348
+ # source://prism//lib/prism/node.rb#15123
def compact_child_nodes; end
# def copy: (**params) -> ReturnNode
#
- # source://prism//lib/prism/node.rb#14360
+ # source://prism//lib/prism/node.rb#15135
sig { params(params: T.untyped).returns(Prism::ReturnNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#14343
+ # source://prism//lib/prism/node.rb#15118
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#14372
+ # source://prism//lib/prism/node.rb#15147
sig do
params(
keys: T::Array[Symbol]
@@ -22653,18 +24779,18 @@ class Prism::ReturnNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#14382
+ # source://prism//lib/prism/node.rb#15157
def inspect(inspector = T.unsafe(nil)); end
# def keyword: () -> String
#
- # source://prism//lib/prism/node.rb#14377
+ # source://prism//lib/prism/node.rb#15152
sig { returns(String) }
def keyword; end
# attr_reader keyword_loc: Location
#
- # source://prism//lib/prism/node.rb#14325
+ # source://prism//lib/prism/node.rb#15100
sig { returns(Prism::Location) }
def keyword_loc; end
@@ -22683,7 +24809,7 @@ class Prism::ReturnNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#14408
+ # source://prism//lib/prism/node.rb#15183
def type; end
class << self
@@ -22694,11 +24820,15 @@ class Prism::ReturnNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#14418
+ # source://prism//lib/prism/node.rb#15193
def type; end
end
end
+# Note: This integration is not finished, and therefore still has many
+# inconsistencies with Ripper. If you'd like to help out, pull requests would
+# be greatly appreciated!
+#
# This class is meant to provide a compatibility layer between prism and
# Ripper. It functions by parsing the entire tree first and then walking it
# and executing each of the Ripper callbacks as it goes.
@@ -22707,94 +24837,101 @@ end
# is meant as a stopgap until developers migrate to using prism. It is also
# meant as a test harness for the prism parser.
#
-# source://prism//lib/prism/ripper_compat.rb#13
-class Prism::RipperCompat
+# To use this class, you treat `Prism::RipperCompat` effectively as you would
+# treat the `Ripper` class.
+#
+# source://prism//lib/prism/ripper_compat.rb#20
+class Prism::RipperCompat < ::Prism::Visitor
# Create a new RipperCompat object with the given source.
#
# @return [RipperCompat] a new instance of RipperCompat
#
- # source://prism//lib/prism/ripper_compat.rb#67
+ # source://prism//lib/prism/ripper_compat.rb#74
def initialize(source); end
# The current column number of the parser.
#
- # source://prism//lib/prism/ripper_compat.rb#64
+ # source://prism//lib/prism/ripper_compat.rb#71
def column; end
# True if the parser encountered an error during parsing.
#
# @return [Boolean]
#
- # source://prism//lib/prism/ripper_compat.rb#79
+ # source://prism//lib/prism/ripper_compat.rb#86
def error?; end
# The current line number of the parser.
#
- # source://prism//lib/prism/ripper_compat.rb#61
+ # source://prism//lib/prism/ripper_compat.rb#68
def lineno; end
# Parse the source and return the result.
#
- # source://prism//lib/prism/ripper_compat.rb#84
+ # source://prism//lib/prism/ripper_compat.rb#91
def parse; end
# The source that is being parsed.
#
- # source://prism//lib/prism/ripper_compat.rb#58
+ # source://prism//lib/prism/ripper_compat.rb#65
def source; end
- # This method is responsible for dispatching to the correct visitor method
- # based on the type of the node.
- #
- # source://prism//lib/prism/ripper_compat.rb#94
- def visit(node); end
-
# Visit a CallNode node.
#
- # source://prism//lib/prism/ripper_compat.rb#99
+ # source://prism//lib/prism/ripper_compat.rb#110
def visit_call_node(node); end
+ # Visit a FloatNode node.
+ #
+ # source://prism//lib/prism/ripper_compat.rb#123
+ def visit_float_node(node); end
+
+ # Visit a ImaginaryNode node.
+ #
+ # source://prism//lib/prism/ripper_compat.rb#129
+ def visit_imaginary_node(node); end
+
# Visit an IntegerNode node.
#
- # source://prism//lib/prism/ripper_compat.rb#114
+ # source://prism//lib/prism/ripper_compat.rb#135
def visit_integer_node(node); end
# Visit a ProgramNode node.
#
- # source://prism//lib/prism/ripper_compat.rb#142
+ # source://prism//lib/prism/ripper_compat.rb#155
def visit_program_node(node); end
- # Visit a StatementsNode node.
+ # Visit a RationalNode node.
#
- # source://prism//lib/prism/ripper_compat.rb#120
- def visit_statements_node(node); end
+ # source://prism//lib/prism/ripper_compat.rb#141
+ def visit_rational_node(node); end
- # Visit a token found during parsing.
+ # Visit a StatementsNode node.
#
- # source://prism//lib/prism/ripper_compat.rb#128
- def visit_token(node); end
+ # source://prism//lib/prism/ripper_compat.rb#147
+ def visit_statements_node(node); end
private
- # source://prism//lib/prism/ripper_compat.rb#180
+ # source://prism//lib/prism/ripper_compat.rb#192
def _dispatch0; end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def _dispatch1(_); end
- # source://prism//lib/prism/ripper_compat.rb#182
+ # source://prism//lib/prism/ripper_compat.rb#194
def _dispatch2(_, _); end
- # source://prism//lib/prism/ripper_compat.rb#183
+ # source://prism//lib/prism/ripper_compat.rb#195
def _dispatch3(_, _, _); end
- # source://prism//lib/prism/ripper_compat.rb#184
+ # source://prism//lib/prism/ripper_compat.rb#196
def _dispatch4(_, _, _, _); end
- # source://prism//lib/prism/ripper_compat.rb#185
+ # source://prism//lib/prism/ripper_compat.rb#197
def _dispatch5(_, _, _, _, _); end
- # source://prism//lib/prism/ripper_compat.rb#186
+ # source://prism//lib/prism/ripper_compat.rb#198
def _dispatch7(_, _, _, _, _, _, _); end
# This method is responsible for updating lineno and column information
@@ -22803,593 +24940,593 @@ class Prism::RipperCompat
# This method could be drastically improved with some caching on the start
# of every line, but for now it's good enough.
#
- # source://prism//lib/prism/ripper_compat.rb#168
+ # source://prism//lib/prism/ripper_compat.rb#182
def bounds(location); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_BEGIN(_); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_CHAR(_); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_END(_); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on___end__(_); end
- # source://prism//lib/prism/ripper_compat.rb#182
+ # source://prism//lib/prism/ripper_compat.rb#194
def on_alias(_, _); end
- # source://prism//lib/prism/ripper_compat.rb#182
+ # source://prism//lib/prism/ripper_compat.rb#194
def on_alias_error(_, _); end
- # source://prism//lib/prism/ripper_compat.rb#182
+ # source://prism//lib/prism/ripper_compat.rb#194
def on_aref(_, _); end
- # source://prism//lib/prism/ripper_compat.rb#182
+ # source://prism//lib/prism/ripper_compat.rb#194
def on_aref_field(_, _); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_arg_ambiguous(_); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_arg_paren(_); end
- # source://prism//lib/prism/ripper_compat.rb#182
+ # source://prism//lib/prism/ripper_compat.rb#194
def on_args_add(_, _); end
- # source://prism//lib/prism/ripper_compat.rb#182
+ # source://prism//lib/prism/ripper_compat.rb#194
def on_args_add_block(_, _); end
- # source://prism//lib/prism/ripper_compat.rb#182
+ # source://prism//lib/prism/ripper_compat.rb#194
def on_args_add_star(_, _); end
- # source://prism//lib/prism/ripper_compat.rb#180
+ # source://prism//lib/prism/ripper_compat.rb#192
def on_args_forward; end
- # source://prism//lib/prism/ripper_compat.rb#180
+ # source://prism//lib/prism/ripper_compat.rb#192
def on_args_new; end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_array(_); end
- # source://prism//lib/prism/ripper_compat.rb#184
+ # source://prism//lib/prism/ripper_compat.rb#196
def on_aryptn(_, _, _, _); end
- # source://prism//lib/prism/ripper_compat.rb#182
+ # source://prism//lib/prism/ripper_compat.rb#194
def on_assign(_, _); end
- # source://prism//lib/prism/ripper_compat.rb#182
+ # source://prism//lib/prism/ripper_compat.rb#194
def on_assign_error(_, _); end
- # source://prism//lib/prism/ripper_compat.rb#182
+ # source://prism//lib/prism/ripper_compat.rb#194
def on_assoc_new(_, _); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_assoc_splat(_); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_assoclist_from_args(_); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_backref(_); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_backtick(_); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_bare_assoc_hash(_); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_begin(_); end
- # source://prism//lib/prism/ripper_compat.rb#183
+ # source://prism//lib/prism/ripper_compat.rb#195
def on_binary(_, _, _); end
- # source://prism//lib/prism/ripper_compat.rb#182
+ # source://prism//lib/prism/ripper_compat.rb#194
def on_block_var(_, _); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_blockarg(_); end
- # source://prism//lib/prism/ripper_compat.rb#184
+ # source://prism//lib/prism/ripper_compat.rb#196
def on_bodystmt(_, _, _, _); end
- # source://prism//lib/prism/ripper_compat.rb#182
+ # source://prism//lib/prism/ripper_compat.rb#194
def on_brace_block(_, _); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_break(_); end
- # source://prism//lib/prism/ripper_compat.rb#183
+ # source://prism//lib/prism/ripper_compat.rb#195
def on_call(_, _, _); end
- # source://prism//lib/prism/ripper_compat.rb#182
+ # source://prism//lib/prism/ripper_compat.rb#194
def on_case(_, _); end
- # source://prism//lib/prism/ripper_compat.rb#183
+ # source://prism//lib/prism/ripper_compat.rb#195
def on_class(_, _, _); end
- # source://prism//lib/prism/ripper_compat.rb#182
+ # source://prism//lib/prism/ripper_compat.rb#194
def on_class_name_error(_, _); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_comma(_); end
- # source://prism//lib/prism/ripper_compat.rb#182
+ # source://prism//lib/prism/ripper_compat.rb#194
def on_command(_, _); end
- # source://prism//lib/prism/ripper_compat.rb#184
+ # source://prism//lib/prism/ripper_compat.rb#196
def on_command_call(_, _, _, _); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_comment(_); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_const(_); end
- # source://prism//lib/prism/ripper_compat.rb#182
+ # source://prism//lib/prism/ripper_compat.rb#194
def on_const_path_field(_, _); end
- # source://prism//lib/prism/ripper_compat.rb#182
+ # source://prism//lib/prism/ripper_compat.rb#194
def on_const_path_ref(_, _); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_const_ref(_); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_cvar(_); end
- # source://prism//lib/prism/ripper_compat.rb#183
+ # source://prism//lib/prism/ripper_compat.rb#195
def on_def(_, _, _); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_defined(_); end
- # source://prism//lib/prism/ripper_compat.rb#185
+ # source://prism//lib/prism/ripper_compat.rb#197
def on_defs(_, _, _, _, _); end
- # source://prism//lib/prism/ripper_compat.rb#182
+ # source://prism//lib/prism/ripper_compat.rb#194
def on_do_block(_, _); end
- # source://prism//lib/prism/ripper_compat.rb#182
+ # source://prism//lib/prism/ripper_compat.rb#194
def on_dot2(_, _); end
- # source://prism//lib/prism/ripper_compat.rb#182
+ # source://prism//lib/prism/ripper_compat.rb#194
def on_dot3(_, _); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_dyna_symbol(_); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_else(_); end
- # source://prism//lib/prism/ripper_compat.rb#183
+ # source://prism//lib/prism/ripper_compat.rb#195
def on_elsif(_, _, _); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_embdoc(_); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_embdoc_beg(_); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_embdoc_end(_); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_embexpr_beg(_); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_embexpr_end(_); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_embvar(_); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_ensure(_); end
- # source://prism//lib/prism/ripper_compat.rb#180
+ # source://prism//lib/prism/ripper_compat.rb#192
def on_excessed_comma; end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_fcall(_); end
- # source://prism//lib/prism/ripper_compat.rb#183
+ # source://prism//lib/prism/ripper_compat.rb#195
def on_field(_, _, _); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_float(_); end
- # source://prism//lib/prism/ripper_compat.rb#184
+ # source://prism//lib/prism/ripper_compat.rb#196
def on_fndptn(_, _, _, _); end
- # source://prism//lib/prism/ripper_compat.rb#183
+ # source://prism//lib/prism/ripper_compat.rb#195
def on_for(_, _, _); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_gvar(_); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_hash(_); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_heredoc_beg(_); end
- # source://prism//lib/prism/ripper_compat.rb#182
+ # source://prism//lib/prism/ripper_compat.rb#194
def on_heredoc_dedent(_, _); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_heredoc_end(_); end
- # source://prism//lib/prism/ripper_compat.rb#183
+ # source://prism//lib/prism/ripper_compat.rb#195
def on_hshptn(_, _, _); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_ident(_); end
- # source://prism//lib/prism/ripper_compat.rb#183
+ # source://prism//lib/prism/ripper_compat.rb#195
def on_if(_, _, _); end
- # source://prism//lib/prism/ripper_compat.rb#182
+ # source://prism//lib/prism/ripper_compat.rb#194
def on_if_mod(_, _); end
- # source://prism//lib/prism/ripper_compat.rb#183
+ # source://prism//lib/prism/ripper_compat.rb#195
def on_ifop(_, _, _); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_ignored_nl(_); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_ignored_sp(_); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_imaginary(_); end
- # source://prism//lib/prism/ripper_compat.rb#183
+ # source://prism//lib/prism/ripper_compat.rb#195
def on_in(_, _, _); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_int(_); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_ivar(_); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_kw(_); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_kwrest_param(_); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_label(_); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_label_end(_); end
- # source://prism//lib/prism/ripper_compat.rb#182
+ # source://prism//lib/prism/ripper_compat.rb#194
def on_lambda(_, _); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_lbrace(_); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_lbracket(_); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_lparen(_); end
- # source://prism//lib/prism/ripper_compat.rb#182
+ # source://prism//lib/prism/ripper_compat.rb#194
def on_magic_comment(_, _); end
- # source://prism//lib/prism/ripper_compat.rb#182
+ # source://prism//lib/prism/ripper_compat.rb#194
def on_massign(_, _); end
- # source://prism//lib/prism/ripper_compat.rb#182
+ # source://prism//lib/prism/ripper_compat.rb#194
def on_method_add_arg(_, _); end
- # source://prism//lib/prism/ripper_compat.rb#182
+ # source://prism//lib/prism/ripper_compat.rb#194
def on_method_add_block(_, _); end
- # source://prism//lib/prism/ripper_compat.rb#182
+ # source://prism//lib/prism/ripper_compat.rb#194
def on_mlhs_add(_, _); end
- # source://prism//lib/prism/ripper_compat.rb#182
+ # source://prism//lib/prism/ripper_compat.rb#194
def on_mlhs_add_post(_, _); end
- # source://prism//lib/prism/ripper_compat.rb#182
+ # source://prism//lib/prism/ripper_compat.rb#194
def on_mlhs_add_star(_, _); end
- # source://prism//lib/prism/ripper_compat.rb#180
+ # source://prism//lib/prism/ripper_compat.rb#192
def on_mlhs_new; end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_mlhs_paren(_); end
- # source://prism//lib/prism/ripper_compat.rb#182
+ # source://prism//lib/prism/ripper_compat.rb#194
def on_module(_, _); end
- # source://prism//lib/prism/ripper_compat.rb#182
+ # source://prism//lib/prism/ripper_compat.rb#194
def on_mrhs_add(_, _); end
- # source://prism//lib/prism/ripper_compat.rb#182
+ # source://prism//lib/prism/ripper_compat.rb#194
def on_mrhs_add_star(_, _); end
- # source://prism//lib/prism/ripper_compat.rb#180
+ # source://prism//lib/prism/ripper_compat.rb#192
def on_mrhs_new; end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_mrhs_new_from_args(_); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_next(_); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_nl(_); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_nokw_param(_); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_op(_); end
- # source://prism//lib/prism/ripper_compat.rb#183
+ # source://prism//lib/prism/ripper_compat.rb#195
def on_opassign(_, _, _); end
- # source://prism//lib/prism/ripper_compat.rb#182
+ # source://prism//lib/prism/ripper_compat.rb#194
def on_operator_ambiguous(_, _); end
- # source://prism//lib/prism/ripper_compat.rb#182
+ # source://prism//lib/prism/ripper_compat.rb#194
def on_param_error(_, _); end
- # source://prism//lib/prism/ripper_compat.rb#186
+ # source://prism//lib/prism/ripper_compat.rb#198
def on_params(_, _, _, _, _, _, _); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_paren(_); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_parse_error(_); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_period(_); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_program(_); end
- # source://prism//lib/prism/ripper_compat.rb#182
+ # source://prism//lib/prism/ripper_compat.rb#194
def on_qsymbols_add(_, _); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_qsymbols_beg(_); end
- # source://prism//lib/prism/ripper_compat.rb#180
+ # source://prism//lib/prism/ripper_compat.rb#192
def on_qsymbols_new; end
- # source://prism//lib/prism/ripper_compat.rb#182
+ # source://prism//lib/prism/ripper_compat.rb#194
def on_qwords_add(_, _); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_qwords_beg(_); end
- # source://prism//lib/prism/ripper_compat.rb#180
+ # source://prism//lib/prism/ripper_compat.rb#192
def on_qwords_new; end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_rational(_); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_rbrace(_); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_rbracket(_); end
- # source://prism//lib/prism/ripper_compat.rb#180
+ # source://prism//lib/prism/ripper_compat.rb#192
def on_redo; end
- # source://prism//lib/prism/ripper_compat.rb#182
+ # source://prism//lib/prism/ripper_compat.rb#194
def on_regexp_add(_, _); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_regexp_beg(_); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_regexp_end(_); end
- # source://prism//lib/prism/ripper_compat.rb#182
+ # source://prism//lib/prism/ripper_compat.rb#194
def on_regexp_literal(_, _); end
- # source://prism//lib/prism/ripper_compat.rb#180
+ # source://prism//lib/prism/ripper_compat.rb#192
def on_regexp_new; end
- # source://prism//lib/prism/ripper_compat.rb#184
+ # source://prism//lib/prism/ripper_compat.rb#196
def on_rescue(_, _, _, _); end
- # source://prism//lib/prism/ripper_compat.rb#182
+ # source://prism//lib/prism/ripper_compat.rb#194
def on_rescue_mod(_, _); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_rest_param(_); end
- # source://prism//lib/prism/ripper_compat.rb#180
+ # source://prism//lib/prism/ripper_compat.rb#192
def on_retry; end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_return(_); end
- # source://prism//lib/prism/ripper_compat.rb#180
+ # source://prism//lib/prism/ripper_compat.rb#192
def on_return0; end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_rparen(_); end
- # source://prism//lib/prism/ripper_compat.rb#182
+ # source://prism//lib/prism/ripper_compat.rb#194
def on_sclass(_, _); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_semicolon(_); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_sp(_); end
- # source://prism//lib/prism/ripper_compat.rb#182
+ # source://prism//lib/prism/ripper_compat.rb#194
def on_stmts_add(_, _); end
- # source://prism//lib/prism/ripper_compat.rb#180
+ # source://prism//lib/prism/ripper_compat.rb#192
def on_stmts_new; end
- # source://prism//lib/prism/ripper_compat.rb#182
+ # source://prism//lib/prism/ripper_compat.rb#194
def on_string_add(_, _); end
- # source://prism//lib/prism/ripper_compat.rb#182
+ # source://prism//lib/prism/ripper_compat.rb#194
def on_string_concat(_, _); end
- # source://prism//lib/prism/ripper_compat.rb#180
+ # source://prism//lib/prism/ripper_compat.rb#192
def on_string_content; end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_string_dvar(_); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_string_embexpr(_); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_string_literal(_); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_super(_); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_symbeg(_); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_symbol(_); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_symbol_literal(_); end
- # source://prism//lib/prism/ripper_compat.rb#182
+ # source://prism//lib/prism/ripper_compat.rb#194
def on_symbols_add(_, _); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_symbols_beg(_); end
- # source://prism//lib/prism/ripper_compat.rb#180
+ # source://prism//lib/prism/ripper_compat.rb#192
def on_symbols_new; end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_tlambda(_); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_tlambeg(_); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_top_const_field(_); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_top_const_ref(_); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_tstring_beg(_); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_tstring_content(_); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_tstring_end(_); end
- # source://prism//lib/prism/ripper_compat.rb#182
+ # source://prism//lib/prism/ripper_compat.rb#194
def on_unary(_, _); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_undef(_); end
- # source://prism//lib/prism/ripper_compat.rb#183
+ # source://prism//lib/prism/ripper_compat.rb#195
def on_unless(_, _, _); end
- # source://prism//lib/prism/ripper_compat.rb#182
+ # source://prism//lib/prism/ripper_compat.rb#194
def on_unless_mod(_, _); end
- # source://prism//lib/prism/ripper_compat.rb#182
+ # source://prism//lib/prism/ripper_compat.rb#194
def on_until(_, _); end
- # source://prism//lib/prism/ripper_compat.rb#182
+ # source://prism//lib/prism/ripper_compat.rb#194
def on_until_mod(_, _); end
- # source://prism//lib/prism/ripper_compat.rb#182
+ # source://prism//lib/prism/ripper_compat.rb#194
def on_var_alias(_, _); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_var_field(_); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_var_ref(_); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_vcall(_); end
- # source://prism//lib/prism/ripper_compat.rb#180
+ # source://prism//lib/prism/ripper_compat.rb#192
def on_void_stmt; end
- # source://prism//lib/prism/ripper_compat.rb#183
+ # source://prism//lib/prism/ripper_compat.rb#195
def on_when(_, _, _); end
- # source://prism//lib/prism/ripper_compat.rb#182
+ # source://prism//lib/prism/ripper_compat.rb#194
def on_while(_, _); end
- # source://prism//lib/prism/ripper_compat.rb#182
+ # source://prism//lib/prism/ripper_compat.rb#194
def on_while_mod(_, _); end
- # source://prism//lib/prism/ripper_compat.rb#182
+ # source://prism//lib/prism/ripper_compat.rb#194
def on_word_add(_, _); end
- # source://prism//lib/prism/ripper_compat.rb#180
+ # source://prism//lib/prism/ripper_compat.rb#192
def on_word_new; end
- # source://prism//lib/prism/ripper_compat.rb#182
+ # source://prism//lib/prism/ripper_compat.rb#194
def on_words_add(_, _); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_words_beg(_); end
- # source://prism//lib/prism/ripper_compat.rb#180
+ # source://prism//lib/prism/ripper_compat.rb#192
def on_words_new; end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_words_sep(_); end
- # source://prism//lib/prism/ripper_compat.rb#182
+ # source://prism//lib/prism/ripper_compat.rb#194
def on_xstring_add(_, _); end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_xstring_literal(_); end
- # source://prism//lib/prism/ripper_compat.rb#180
+ # source://prism//lib/prism/ripper_compat.rb#192
def on_xstring_new; end
- # source://prism//lib/prism/ripper_compat.rb#181
+ # source://prism//lib/prism/ripper_compat.rb#193
def on_yield(_); end
- # source://prism//lib/prism/ripper_compat.rb#180
+ # source://prism//lib/prism/ripper_compat.rb#192
def on_yield0; end
- # source://prism//lib/prism/ripper_compat.rb#180
+ # source://prism//lib/prism/ripper_compat.rb#192
def on_zsuper; end
# Lazily initialize the parse result.
#
- # source://prism//lib/prism/ripper_compat.rb#176
+ # source://prism//lib/prism/ripper_compat.rb#188
def result; end
class << self
# This is a convenience method that runs the SexpBuilderPP subclass parser.
#
- # source://prism//lib/prism/ripper_compat.rb#157
+ # source://prism//lib/prism/ripper_compat.rb#171
def sexp(source); end
# This is a convenience method that runs the SexpBuilder subclass parser.
#
- # source://prism//lib/prism/ripper_compat.rb#152
+ # source://prism//lib/prism/ripper_compat.rb#166
def sexp_raw(source); end
end
end
@@ -23397,578 +25534,578 @@ end
# This class mirrors the ::Ripper::SexpBuilder subclass of ::Ripper that
# returns the arrays of [type, *children].
#
-# source://prism//lib/prism/ripper_compat.rb#16
+# source://prism//lib/prism/ripper_compat.rb#23
class Prism::RipperCompat::SexpBuilder < ::Prism::RipperCompat
private
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_BEGIN(*args); end
- # source://prism//lib/prism/ripper_compat.rb#26
+ # source://prism//lib/prism/ripper_compat.rb#33
def on_CHAR(value); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_END(*args); end
- # source://prism//lib/prism/ripper_compat.rb#26
+ # source://prism//lib/prism/ripper_compat.rb#33
def on___end__(value); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_alias(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_alias_error(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_aref(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_aref_field(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_arg_ambiguous(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_arg_paren(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_args_add(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_args_add_block(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_args_add_star(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_args_forward(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_args_new(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_array(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_aryptn(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_assign(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_assign_error(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_assoc_new(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_assoc_splat(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_assoclist_from_args(*args); end
- # source://prism//lib/prism/ripper_compat.rb#26
+ # source://prism//lib/prism/ripper_compat.rb#33
def on_backref(value); end
- # source://prism//lib/prism/ripper_compat.rb#26
+ # source://prism//lib/prism/ripper_compat.rb#33
def on_backtick(value); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_bare_assoc_hash(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_begin(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_binary(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_block_var(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_blockarg(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_bodystmt(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_brace_block(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_break(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_call(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_case(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_class(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_class_name_error(*args); end
- # source://prism//lib/prism/ripper_compat.rb#26
+ # source://prism//lib/prism/ripper_compat.rb#33
def on_comma(value); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_command(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_command_call(*args); end
- # source://prism//lib/prism/ripper_compat.rb#26
+ # source://prism//lib/prism/ripper_compat.rb#33
def on_comment(value); end
- # source://prism//lib/prism/ripper_compat.rb#26
+ # source://prism//lib/prism/ripper_compat.rb#33
def on_const(value); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_const_path_field(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_const_path_ref(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_const_ref(*args); end
- # source://prism//lib/prism/ripper_compat.rb#26
+ # source://prism//lib/prism/ripper_compat.rb#33
def on_cvar(value); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_def(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_defined(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_defs(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_do_block(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_dot2(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_dot3(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_dyna_symbol(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_else(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_elsif(*args); end
- # source://prism//lib/prism/ripper_compat.rb#26
+ # source://prism//lib/prism/ripper_compat.rb#33
def on_embdoc(value); end
- # source://prism//lib/prism/ripper_compat.rb#26
+ # source://prism//lib/prism/ripper_compat.rb#33
def on_embdoc_beg(value); end
- # source://prism//lib/prism/ripper_compat.rb#26
+ # source://prism//lib/prism/ripper_compat.rb#33
def on_embdoc_end(value); end
- # source://prism//lib/prism/ripper_compat.rb#26
+ # source://prism//lib/prism/ripper_compat.rb#33
def on_embexpr_beg(value); end
- # source://prism//lib/prism/ripper_compat.rb#26
+ # source://prism//lib/prism/ripper_compat.rb#33
def on_embexpr_end(value); end
- # source://prism//lib/prism/ripper_compat.rb#26
+ # source://prism//lib/prism/ripper_compat.rb#33
def on_embvar(value); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_ensure(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_excessed_comma(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_fcall(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_field(*args); end
- # source://prism//lib/prism/ripper_compat.rb#26
+ # source://prism//lib/prism/ripper_compat.rb#33
def on_float(value); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_fndptn(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_for(*args); end
- # source://prism//lib/prism/ripper_compat.rb#26
+ # source://prism//lib/prism/ripper_compat.rb#33
def on_gvar(value); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_hash(*args); end
- # source://prism//lib/prism/ripper_compat.rb#26
+ # source://prism//lib/prism/ripper_compat.rb#33
def on_heredoc_beg(value); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_heredoc_dedent(*args); end
- # source://prism//lib/prism/ripper_compat.rb#26
+ # source://prism//lib/prism/ripper_compat.rb#33
def on_heredoc_end(value); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_hshptn(*args); end
- # source://prism//lib/prism/ripper_compat.rb#26
+ # source://prism//lib/prism/ripper_compat.rb#33
def on_ident(value); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_if(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_if_mod(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_ifop(*args); end
- # source://prism//lib/prism/ripper_compat.rb#26
+ # source://prism//lib/prism/ripper_compat.rb#33
def on_ignored_nl(value); end
- # source://prism//lib/prism/ripper_compat.rb#26
+ # source://prism//lib/prism/ripper_compat.rb#33
def on_ignored_sp(value); end
- # source://prism//lib/prism/ripper_compat.rb#26
+ # source://prism//lib/prism/ripper_compat.rb#33
def on_imaginary(value); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_in(*args); end
- # source://prism//lib/prism/ripper_compat.rb#26
+ # source://prism//lib/prism/ripper_compat.rb#33
def on_int(value); end
- # source://prism//lib/prism/ripper_compat.rb#26
+ # source://prism//lib/prism/ripper_compat.rb#33
def on_ivar(value); end
- # source://prism//lib/prism/ripper_compat.rb#26
+ # source://prism//lib/prism/ripper_compat.rb#33
def on_kw(value); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_kwrest_param(*args); end
- # source://prism//lib/prism/ripper_compat.rb#26
+ # source://prism//lib/prism/ripper_compat.rb#33
def on_label(value); end
- # source://prism//lib/prism/ripper_compat.rb#26
+ # source://prism//lib/prism/ripper_compat.rb#33
def on_label_end(value); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_lambda(*args); end
- # source://prism//lib/prism/ripper_compat.rb#26
+ # source://prism//lib/prism/ripper_compat.rb#33
def on_lbrace(value); end
- # source://prism//lib/prism/ripper_compat.rb#26
+ # source://prism//lib/prism/ripper_compat.rb#33
def on_lbracket(value); end
- # source://prism//lib/prism/ripper_compat.rb#26
+ # source://prism//lib/prism/ripper_compat.rb#33
def on_lparen(value); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_magic_comment(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_massign(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_method_add_arg(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_method_add_block(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_mlhs_add(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_mlhs_add_post(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_mlhs_add_star(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_mlhs_new(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_mlhs_paren(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_module(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_mrhs_add(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_mrhs_add_star(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_mrhs_new(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_mrhs_new_from_args(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_next(*args); end
- # source://prism//lib/prism/ripper_compat.rb#26
+ # source://prism//lib/prism/ripper_compat.rb#33
def on_nl(value); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_nokw_param(*args); end
- # source://prism//lib/prism/ripper_compat.rb#26
+ # source://prism//lib/prism/ripper_compat.rb#33
def on_op(value); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_opassign(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_operator_ambiguous(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_param_error(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_params(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_paren(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_parse_error(*args); end
- # source://prism//lib/prism/ripper_compat.rb#26
+ # source://prism//lib/prism/ripper_compat.rb#33
def on_period(value); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_program(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_qsymbols_add(*args); end
- # source://prism//lib/prism/ripper_compat.rb#26
+ # source://prism//lib/prism/ripper_compat.rb#33
def on_qsymbols_beg(value); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_qsymbols_new(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_qwords_add(*args); end
- # source://prism//lib/prism/ripper_compat.rb#26
+ # source://prism//lib/prism/ripper_compat.rb#33
def on_qwords_beg(value); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_qwords_new(*args); end
- # source://prism//lib/prism/ripper_compat.rb#26
+ # source://prism//lib/prism/ripper_compat.rb#33
def on_rational(value); end
- # source://prism//lib/prism/ripper_compat.rb#26
+ # source://prism//lib/prism/ripper_compat.rb#33
def on_rbrace(value); end
- # source://prism//lib/prism/ripper_compat.rb#26
+ # source://prism//lib/prism/ripper_compat.rb#33
def on_rbracket(value); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_redo(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_regexp_add(*args); end
- # source://prism//lib/prism/ripper_compat.rb#26
+ # source://prism//lib/prism/ripper_compat.rb#33
def on_regexp_beg(value); end
- # source://prism//lib/prism/ripper_compat.rb#26
+ # source://prism//lib/prism/ripper_compat.rb#33
def on_regexp_end(value); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_regexp_literal(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_regexp_new(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_rescue(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_rescue_mod(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_rest_param(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_retry(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_return(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_return0(*args); end
- # source://prism//lib/prism/ripper_compat.rb#26
+ # source://prism//lib/prism/ripper_compat.rb#33
def on_rparen(value); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_sclass(*args); end
- # source://prism//lib/prism/ripper_compat.rb#26
+ # source://prism//lib/prism/ripper_compat.rb#33
def on_semicolon(value); end
- # source://prism//lib/prism/ripper_compat.rb#26
+ # source://prism//lib/prism/ripper_compat.rb#33
def on_sp(value); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_stmts_add(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_stmts_new(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_string_add(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_string_concat(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_string_content(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_string_dvar(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_string_embexpr(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_string_literal(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_super(*args); end
- # source://prism//lib/prism/ripper_compat.rb#26
+ # source://prism//lib/prism/ripper_compat.rb#33
def on_symbeg(value); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_symbol(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_symbol_literal(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_symbols_add(*args); end
- # source://prism//lib/prism/ripper_compat.rb#26
+ # source://prism//lib/prism/ripper_compat.rb#33
def on_symbols_beg(value); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_symbols_new(*args); end
- # source://prism//lib/prism/ripper_compat.rb#26
+ # source://prism//lib/prism/ripper_compat.rb#33
def on_tlambda(value); end
- # source://prism//lib/prism/ripper_compat.rb#26
+ # source://prism//lib/prism/ripper_compat.rb#33
def on_tlambeg(value); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_top_const_field(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_top_const_ref(*args); end
- # source://prism//lib/prism/ripper_compat.rb#26
+ # source://prism//lib/prism/ripper_compat.rb#33
def on_tstring_beg(value); end
- # source://prism//lib/prism/ripper_compat.rb#26
+ # source://prism//lib/prism/ripper_compat.rb#33
def on_tstring_content(value); end
- # source://prism//lib/prism/ripper_compat.rb#26
+ # source://prism//lib/prism/ripper_compat.rb#33
def on_tstring_end(value); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_unary(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_undef(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_unless(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_unless_mod(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_until(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_until_mod(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_var_alias(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_var_field(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_var_ref(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_vcall(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_void_stmt(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_when(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_while(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_while_mod(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_word_add(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_word_new(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_words_add(*args); end
- # source://prism//lib/prism/ripper_compat.rb#26
+ # source://prism//lib/prism/ripper_compat.rb#33
def on_words_beg(value); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_words_new(*args); end
- # source://prism//lib/prism/ripper_compat.rb#26
+ # source://prism//lib/prism/ripper_compat.rb#33
def on_words_sep(value); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_xstring_add(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_xstring_literal(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_xstring_new(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_yield(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_yield0(*args); end
- # source://prism//lib/prism/ripper_compat.rb#20
+ # source://prism//lib/prism/ripper_compat.rb#27
def on_zsuper(*args); end
end
@@ -23976,83 +26113,83 @@ end
# returns the same values as ::Ripper::SexpBuilder except with a couple of
# niceties that flatten linked lists into arrays.
#
-# source://prism//lib/prism/ripper_compat.rb#35
+# source://prism//lib/prism/ripper_compat.rb#42
class Prism::RipperCompat::SexpBuilderPP < ::Prism::RipperCompat::SexpBuilder
private
- # source://prism//lib/prism/ripper_compat.rb#38
+ # source://prism//lib/prism/ripper_compat.rb#45
def _dispatch_event_new; end
- # source://prism//lib/prism/ripper_compat.rb#42
+ # source://prism//lib/prism/ripper_compat.rb#49
def _dispatch_event_push(list, item); end
- # source://prism//lib/prism/ripper_compat.rb#42
+ # source://prism//lib/prism/ripper_compat.rb#49
def on_args_add(list, item); end
- # source://prism//lib/prism/ripper_compat.rb#38
+ # source://prism//lib/prism/ripper_compat.rb#45
def on_args_new; end
- # source://prism//lib/prism/ripper_compat.rb#42
+ # source://prism//lib/prism/ripper_compat.rb#49
def on_mlhs_add(list, item); end
- # source://prism//lib/prism/ripper_compat.rb#38
+ # source://prism//lib/prism/ripper_compat.rb#45
def on_mlhs_new; end
- # source://prism//lib/prism/ripper_compat.rb#42
+ # source://prism//lib/prism/ripper_compat.rb#49
def on_mrhs_add(list, item); end
- # source://prism//lib/prism/ripper_compat.rb#38
+ # source://prism//lib/prism/ripper_compat.rb#45
def on_mrhs_new; end
- # source://prism//lib/prism/ripper_compat.rb#42
+ # source://prism//lib/prism/ripper_compat.rb#49
def on_qsymbols_add(list, item); end
- # source://prism//lib/prism/ripper_compat.rb#38
+ # source://prism//lib/prism/ripper_compat.rb#45
def on_qsymbols_new; end
- # source://prism//lib/prism/ripper_compat.rb#42
+ # source://prism//lib/prism/ripper_compat.rb#49
def on_qwords_add(list, item); end
- # source://prism//lib/prism/ripper_compat.rb#38
+ # source://prism//lib/prism/ripper_compat.rb#45
def on_qwords_new; end
- # source://prism//lib/prism/ripper_compat.rb#42
+ # source://prism//lib/prism/ripper_compat.rb#49
def on_regexp_add(list, item); end
- # source://prism//lib/prism/ripper_compat.rb#38
+ # source://prism//lib/prism/ripper_compat.rb#45
def on_regexp_new; end
- # source://prism//lib/prism/ripper_compat.rb#42
+ # source://prism//lib/prism/ripper_compat.rb#49
def on_stmts_add(list, item); end
- # source://prism//lib/prism/ripper_compat.rb#38
+ # source://prism//lib/prism/ripper_compat.rb#45
def on_stmts_new; end
- # source://prism//lib/prism/ripper_compat.rb#42
+ # source://prism//lib/prism/ripper_compat.rb#49
def on_string_add(list, item); end
- # source://prism//lib/prism/ripper_compat.rb#42
+ # source://prism//lib/prism/ripper_compat.rb#49
def on_symbols_add(list, item); end
- # source://prism//lib/prism/ripper_compat.rb#38
+ # source://prism//lib/prism/ripper_compat.rb#45
def on_symbols_new; end
- # source://prism//lib/prism/ripper_compat.rb#42
+ # source://prism//lib/prism/ripper_compat.rb#49
def on_word_add(list, item); end
- # source://prism//lib/prism/ripper_compat.rb#38
+ # source://prism//lib/prism/ripper_compat.rb#45
def on_word_new; end
- # source://prism//lib/prism/ripper_compat.rb#42
+ # source://prism//lib/prism/ripper_compat.rb#49
def on_words_add(list, item); end
- # source://prism//lib/prism/ripper_compat.rb#38
+ # source://prism//lib/prism/ripper_compat.rb#45
def on_words_new; end
- # source://prism//lib/prism/ripper_compat.rb#42
+ # source://prism//lib/prism/ripper_compat.rb#49
def on_xstring_add(list, item); end
- # source://prism//lib/prism/ripper_compat.rb#38
+ # source://prism//lib/prism/ripper_compat.rb#45
def on_xstring_new; end
end
@@ -24061,54 +26198,54 @@ end
# self
# ^^^^
#
-# source://prism//lib/prism/node.rb#14427
+# source://prism//lib/prism/node.rb#15202
class Prism::SelfNode < ::Prism::Node
# def initialize: (location: Location) -> void
#
# @return [SelfNode] a new instance of SelfNode
#
- # source://prism//lib/prism/node.rb#14429
+ # source://prism//lib/prism/node.rb#15204
sig { params(location: Prism::Location).void }
def initialize(location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#14434
+ # source://prism//lib/prism/node.rb#15209
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#14439
+ # source://prism//lib/prism/node.rb#15214
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#14449
+ # source://prism//lib/prism/node.rb#15224
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#14444
+ # source://prism//lib/prism/node.rb#15219
def compact_child_nodes; end
# def copy: (**params) -> SelfNode
#
- # source://prism//lib/prism/node.rb#14454
+ # source://prism//lib/prism/node.rb#15229
sig { params(params: T.untyped).returns(Prism::SelfNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#14439
+ # source://prism//lib/prism/node.rb#15214
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#14464
+ # source://prism//lib/prism/node.rb#15239
sig do
params(
keys: T::Array[Symbol]
@@ -24118,7 +26255,7 @@ class Prism::SelfNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#14469
+ # source://prism//lib/prism/node.rb#15244
def inspect(inspector = T.unsafe(nil)); end
# Sometimes you want to check an instance of a node against a list of
@@ -24136,7 +26273,7 @@ class Prism::SelfNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#14488
+ # source://prism//lib/prism/node.rb#15263
def type; end
class << self
@@ -24147,7 +26284,7 @@ class Prism::SelfNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#14498
+ # source://prism//lib/prism/node.rb#15273
def type; end
end
end
@@ -24202,34 +26339,31 @@ class Prism::Serialize::Loader
# source://prism//lib/prism/serialize.rb#54
def io; end
- # source://prism//lib/prism/serialize.rb#95
+ # source://prism//lib/prism/serialize.rb#92
def load_comments; end
# source://prism//lib/prism/serialize.rb#82
def load_encoding; end
- # source://prism//lib/prism/serialize.rb#86
- def load_force_encoding; end
-
# source://prism//lib/prism/serialize.rb#73
def load_header; end
- # source://prism//lib/prism/serialize.rb#105
+ # source://prism//lib/prism/serialize.rb#102
def load_metadata; end
- # source://prism//lib/prism/serialize.rb#140
+ # source://prism//lib/prism/serialize.rb#135
def load_nodes; end
- # source://prism//lib/prism/serialize.rb#153
+ # source://prism//lib/prism/serialize.rb#148
def load_result; end
- # source://prism//lib/prism/serialize.rb#91
+ # source://prism//lib/prism/serialize.rb#88
def load_start_line; end
- # source://prism//lib/prism/serialize.rb#113
+ # source://prism//lib/prism/serialize.rb#111
def load_tokens; end
- # source://prism//lib/prism/serialize.rb#126
+ # source://prism//lib/prism/serialize.rb#124
def load_tokens_result; end
# Returns the value of attribute serialized.
@@ -24279,11 +26413,14 @@ class Prism::Serialize::Loader
# source://prism//lib/prism/serialize.rb#191
def load_string; end
+ # source://prism//lib/prism/serialize.rb#171
+ def load_varsint; end
+
# variable-length integer using https://en.wikipedia.org/wiki/LEB128
# This is also what protobuf uses: https://protobuf.dev/programming-guides/encoding/#varints
#
- # source://prism//lib/prism/serialize.rb#162
- def load_varint; end
+ # source://prism//lib/prism/serialize.rb#157
+ def load_varuint; end
end
# The major version of prism that we are expecting to find in the serialized
@@ -24306,7 +26443,7 @@ Prism::Serialize::PATCH_VERSION = T.let(T.unsafe(nil), Integer)
# The token types that can be indexed by their enum values.
#
-# source://prism//lib/prism/serialize.rb#1130
+# source://prism//lib/prism/serialize.rb#1154
Prism::Serialize::TOKEN_TYPES = T.let(T.unsafe(nil), Array)
# Represents a singleton class declaration involving the `class` keyword.
@@ -24314,13 +26451,13 @@ Prism::Serialize::TOKEN_TYPES = T.let(T.unsafe(nil), Array)
# class << self end
# ^^^^^^^^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#14507
+# source://prism//lib/prism/node.rb#15282
class Prism::SingletonClassNode < ::Prism::Node
# def initialize: (locals: Array[Symbol], class_keyword_loc: Location, operator_loc: Location, expression: Node, body: Node?, end_keyword_loc: Location, location: Location) -> void
#
# @return [SingletonClassNode] a new instance of SingletonClassNode
#
- # source://prism//lib/prism/node.rb#14527
+ # source://prism//lib/prism/node.rb#15302
sig do
params(
locals: T::Array[Symbol],
@@ -24336,60 +26473,60 @@ class Prism::SingletonClassNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#14538
+ # source://prism//lib/prism/node.rb#15313
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# attr_reader body: Node?
#
- # source://prism//lib/prism/node.rb#14521
+ # source://prism//lib/prism/node.rb#15296
sig { returns(T.nilable(Prism::Node)) }
def body; end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#14543
+ # source://prism//lib/prism/node.rb#15318
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def class_keyword: () -> String
#
- # source://prism//lib/prism/node.rb#14582
+ # source://prism//lib/prism/node.rb#15357
sig { returns(String) }
def class_keyword; end
# attr_reader class_keyword_loc: Location
#
- # source://prism//lib/prism/node.rb#14512
+ # source://prism//lib/prism/node.rb#15287
sig { returns(Prism::Location) }
def class_keyword_loc; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#14556
+ # source://prism//lib/prism/node.rb#15331
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#14548
+ # source://prism//lib/prism/node.rb#15323
def compact_child_nodes; end
# def copy: (**params) -> SingletonClassNode
#
- # source://prism//lib/prism/node.rb#14561
+ # source://prism//lib/prism/node.rb#15336
sig { params(params: T.untyped).returns(Prism::SingletonClassNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#14543
+ # source://prism//lib/prism/node.rb#15318
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#14577
+ # source://prism//lib/prism/node.rb#15352
sig do
params(
keys: T::Array[Symbol]
@@ -24399,42 +26536,42 @@ class Prism::SingletonClassNode < ::Prism::Node
# def end_keyword: () -> String
#
- # source://prism//lib/prism/node.rb#14592
+ # source://prism//lib/prism/node.rb#15367
sig { returns(String) }
def end_keyword; end
# attr_reader end_keyword_loc: Location
#
- # source://prism//lib/prism/node.rb#14524
+ # source://prism//lib/prism/node.rb#15299
sig { returns(Prism::Location) }
def end_keyword_loc; end
# attr_reader expression: Node
#
- # source://prism//lib/prism/node.rb#14518
+ # source://prism//lib/prism/node.rb#15293
sig { returns(Prism::Node) }
def expression; end
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#14597
+ # source://prism//lib/prism/node.rb#15372
def inspect(inspector = T.unsafe(nil)); end
# attr_reader locals: Array[Symbol]
#
- # source://prism//lib/prism/node.rb#14509
+ # source://prism//lib/prism/node.rb#15284
sig { returns(T::Array[Symbol]) }
def locals; end
# def operator: () -> String
#
- # source://prism//lib/prism/node.rb#14587
+ # source://prism//lib/prism/node.rb#15362
sig { returns(String) }
def operator; end
# attr_reader operator_loc: Location
#
- # source://prism//lib/prism/node.rb#14515
+ # source://prism//lib/prism/node.rb#15290
sig { returns(Prism::Location) }
def operator_loc; end
@@ -24453,7 +26590,7 @@ class Prism::SingletonClassNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#14628
+ # source://prism//lib/prism/node.rb#15403
def type; end
class << self
@@ -24464,7 +26601,7 @@ class Prism::SingletonClassNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#14638
+ # source://prism//lib/prism/node.rb#15413
def type; end
end
end
@@ -24484,25 +26621,35 @@ class Prism::Source
# source://prism//lib/prism/parse_result.rb#20
def initialize(source, start_line = T.unsafe(nil), offsets = T.unsafe(nil)); end
+ # Return the column number in characters for the given byte offset.
+ #
+ # source://prism//lib/prism/parse_result.rb#55
+ def character_column(byte_offset); end
+
+ # Return the character offset for the given byte offset.
+ #
+ # source://prism//lib/prism/parse_result.rb#50
+ def character_offset(byte_offset); end
+
# Return the column number for the given byte offset.
#
# source://prism//lib/prism/parse_result.rb#45
- sig { params(value: Integer).returns(Integer) }
- def column(value); end
+ def column(byte_offset); end
# Binary search through the offsets to find the line number for the given
# byte offset.
#
# source://prism//lib/prism/parse_result.rb#34
+ def line(byte_offset); end
+
sig { params(value: Integer).returns(Integer) }
- def line(value); end
+ def line_offset(value); end
# Return the byte offset of the start of the line corresponding to the given
# byte offset.
#
# source://prism//lib/prism/parse_result.rb#40
- sig { params(value: Integer).returns(Integer) }
- def line_offset(value); end
+ def line_start(byte_offset); end
# The list of newline byte offsets in the source code.
#
@@ -24514,8 +26661,7 @@ class Prism::Source
# byte length.
#
# source://prism//lib/prism/parse_result.rb#28
- sig { params(offset: Integer, length: Integer).returns(String) }
- def slice(offset, length); end
+ def slice(byte_offset, length); end
# The source code that this source object represents.
#
@@ -24538,14 +26684,14 @@ class Prism::Source
# Find all of the newlines in the source code and return their byte offsets
# from the start of the string an array.
#
- # source://prism//lib/prism/parse_result.rb#73
+ # source://prism//lib/prism/parse_result.rb#83
def compute_offsets(code); end
# Binary search through the offsets to find the line number for the given
# byte offset.
#
- # source://prism//lib/prism/parse_result.rb#53
- def find_line(value); end
+ # source://prism//lib/prism/parse_result.rb#63
+ def find_line(byte_offset); end
end
# Represents the use of the `__ENCODING__` keyword.
@@ -24553,54 +26699,54 @@ end
# __ENCODING__
# ^^^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#14647
+# source://prism//lib/prism/node.rb#15422
class Prism::SourceEncodingNode < ::Prism::Node
# def initialize: (location: Location) -> void
#
# @return [SourceEncodingNode] a new instance of SourceEncodingNode
#
- # source://prism//lib/prism/node.rb#14649
+ # source://prism//lib/prism/node.rb#15424
sig { params(location: Prism::Location).void }
def initialize(location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#14654
+ # source://prism//lib/prism/node.rb#15429
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#14659
+ # source://prism//lib/prism/node.rb#15434
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#14669
+ # source://prism//lib/prism/node.rb#15444
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#14664
+ # source://prism//lib/prism/node.rb#15439
def compact_child_nodes; end
# def copy: (**params) -> SourceEncodingNode
#
- # source://prism//lib/prism/node.rb#14674
+ # source://prism//lib/prism/node.rb#15449
sig { params(params: T.untyped).returns(Prism::SourceEncodingNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#14659
+ # source://prism//lib/prism/node.rb#15434
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#14684
+ # source://prism//lib/prism/node.rb#15459
sig do
params(
keys: T::Array[Symbol]
@@ -24610,7 +26756,7 @@ class Prism::SourceEncodingNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#14689
+ # source://prism//lib/prism/node.rb#15464
def inspect(inspector = T.unsafe(nil)); end
# Sometimes you want to check an instance of a node against a list of
@@ -24628,7 +26774,7 @@ class Prism::SourceEncodingNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#14708
+ # source://prism//lib/prism/node.rb#15483
def type; end
class << self
@@ -24639,7 +26785,7 @@ class Prism::SourceEncodingNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#14718
+ # source://prism//lib/prism/node.rb#15493
def type; end
end
end
@@ -24649,54 +26795,54 @@ end
# __FILE__
# ^^^^^^^^
#
-# source://prism//lib/prism/node.rb#14727
+# source://prism//lib/prism/node.rb#15502
class Prism::SourceFileNode < ::Prism::Node
# def initialize: (filepath: String, location: Location) -> void
#
# @return [SourceFileNode] a new instance of SourceFileNode
#
- # source://prism//lib/prism/node.rb#14732
+ # source://prism//lib/prism/node.rb#15507
sig { params(filepath: String, location: Prism::Location).void }
def initialize(filepath, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#14738
+ # source://prism//lib/prism/node.rb#15513
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#14743
+ # source://prism//lib/prism/node.rb#15518
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#14753
+ # source://prism//lib/prism/node.rb#15528
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#14748
+ # source://prism//lib/prism/node.rb#15523
def compact_child_nodes; end
# def copy: (**params) -> SourceFileNode
#
- # source://prism//lib/prism/node.rb#14758
+ # source://prism//lib/prism/node.rb#15533
sig { params(params: T.untyped).returns(Prism::SourceFileNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#14743
+ # source://prism//lib/prism/node.rb#15518
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#14769
+ # source://prism//lib/prism/node.rb#15544
sig do
params(
keys: T::Array[Symbol]
@@ -24706,13 +26852,13 @@ class Prism::SourceFileNode < ::Prism::Node
# attr_reader filepath: String
#
- # source://prism//lib/prism/node.rb#14729
+ # source://prism//lib/prism/node.rb#15504
sig { returns(String) }
def filepath; end
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#14774
+ # source://prism//lib/prism/node.rb#15549
def inspect(inspector = T.unsafe(nil)); end
# Sometimes you want to check an instance of a node against a list of
@@ -24730,7 +26876,7 @@ class Prism::SourceFileNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#14794
+ # source://prism//lib/prism/node.rb#15569
def type; end
class << self
@@ -24741,7 +26887,7 @@ class Prism::SourceFileNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#14804
+ # source://prism//lib/prism/node.rb#15579
def type; end
end
end
@@ -24751,54 +26897,54 @@ end
# __LINE__
# ^^^^^^^^
#
-# source://prism//lib/prism/node.rb#14813
+# source://prism//lib/prism/node.rb#15588
class Prism::SourceLineNode < ::Prism::Node
# def initialize: (location: Location) -> void
#
# @return [SourceLineNode] a new instance of SourceLineNode
#
- # source://prism//lib/prism/node.rb#14815
+ # source://prism//lib/prism/node.rb#15590
sig { params(location: Prism::Location).void }
def initialize(location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#14820
+ # source://prism//lib/prism/node.rb#15595
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#14825
+ # source://prism//lib/prism/node.rb#15600
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#14835
+ # source://prism//lib/prism/node.rb#15610
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#14830
+ # source://prism//lib/prism/node.rb#15605
def compact_child_nodes; end
# def copy: (**params) -> SourceLineNode
#
- # source://prism//lib/prism/node.rb#14840
+ # source://prism//lib/prism/node.rb#15615
sig { params(params: T.untyped).returns(Prism::SourceLineNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#14825
+ # source://prism//lib/prism/node.rb#15600
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#14850
+ # source://prism//lib/prism/node.rb#15625
sig do
params(
keys: T::Array[Symbol]
@@ -24808,7 +26954,7 @@ class Prism::SourceLineNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#14855
+ # source://prism//lib/prism/node.rb#15630
def inspect(inspector = T.unsafe(nil)); end
# Sometimes you want to check an instance of a node against a list of
@@ -24826,7 +26972,7 @@ class Prism::SourceLineNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#14874
+ # source://prism//lib/prism/node.rb#15649
def type; end
class << self
@@ -24837,7 +26983,7 @@ class Prism::SourceLineNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#14884
+ # source://prism//lib/prism/node.rb#15659
def type; end
end
end
@@ -24847,54 +26993,54 @@ end
# [*a]
# ^^
#
-# source://prism//lib/prism/node.rb#14893
+# source://prism//lib/prism/node.rb#15668
class Prism::SplatNode < ::Prism::Node
# def initialize: (operator_loc: Location, expression: Node?, location: Location) -> void
#
# @return [SplatNode] a new instance of SplatNode
#
- # source://prism//lib/prism/node.rb#14901
+ # source://prism//lib/prism/node.rb#15676
sig { params(operator_loc: Prism::Location, expression: T.nilable(Prism::Node), location: Prism::Location).void }
def initialize(operator_loc, expression, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#14908
+ # source://prism//lib/prism/node.rb#15683
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#14913
+ # source://prism//lib/prism/node.rb#15688
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#14925
+ # source://prism//lib/prism/node.rb#15700
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#14918
+ # source://prism//lib/prism/node.rb#15693
def compact_child_nodes; end
# def copy: (**params) -> SplatNode
#
- # source://prism//lib/prism/node.rb#14930
+ # source://prism//lib/prism/node.rb#15705
sig { params(params: T.untyped).returns(Prism::SplatNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#14913
+ # source://prism//lib/prism/node.rb#15688
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#14942
+ # source://prism//lib/prism/node.rb#15717
sig do
params(
keys: T::Array[Symbol]
@@ -24904,24 +27050,24 @@ class Prism::SplatNode < ::Prism::Node
# attr_reader expression: Node?
#
- # source://prism//lib/prism/node.rb#14898
+ # source://prism//lib/prism/node.rb#15673
sig { returns(T.nilable(Prism::Node)) }
def expression; end
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#14952
+ # source://prism//lib/prism/node.rb#15727
def inspect(inspector = T.unsafe(nil)); end
# def operator: () -> String
#
- # source://prism//lib/prism/node.rb#14947
+ # source://prism//lib/prism/node.rb#15722
sig { returns(String) }
def operator; end
# attr_reader operator_loc: Location
#
- # source://prism//lib/prism/node.rb#14895
+ # source://prism//lib/prism/node.rb#15670
sig { returns(Prism::Location) }
def operator_loc; end
@@ -24940,7 +27086,7 @@ class Prism::SplatNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#14978
+ # source://prism//lib/prism/node.rb#15753
def type; end
class << self
@@ -24951,7 +27097,7 @@ class Prism::SplatNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#14988
+ # source://prism//lib/prism/node.rb#15763
def type; end
end
end
@@ -24961,60 +27107,60 @@ end
# foo; bar; baz
# ^^^^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#14997
+# source://prism//lib/prism/node.rb#15772
class Prism::StatementsNode < ::Prism::Node
# def initialize: (body: Array[Node], location: Location) -> void
#
# @return [StatementsNode] a new instance of StatementsNode
#
- # source://prism//lib/prism/node.rb#15002
+ # source://prism//lib/prism/node.rb#15777
sig { params(body: T::Array[Prism::Node], location: Prism::Location).void }
def initialize(body, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#15008
+ # source://prism//lib/prism/node.rb#15783
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# attr_reader body: Array[Node]
#
- # source://prism//lib/prism/node.rb#14999
+ # source://prism//lib/prism/node.rb#15774
sig { returns(T::Array[Prism::Node]) }
def body; end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#15013
+ # source://prism//lib/prism/node.rb#15788
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#15023
+ # source://prism//lib/prism/node.rb#15798
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#15018
+ # source://prism//lib/prism/node.rb#15793
def compact_child_nodes; end
# def copy: (**params) -> StatementsNode
#
- # source://prism//lib/prism/node.rb#15028
+ # source://prism//lib/prism/node.rb#15803
sig { params(params: T.untyped).returns(Prism::StatementsNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#15013
+ # source://prism//lib/prism/node.rb#15788
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#15039
+ # source://prism//lib/prism/node.rb#15814
sig do
params(
keys: T::Array[Symbol]
@@ -25024,7 +27170,7 @@ class Prism::StatementsNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#15044
+ # source://prism//lib/prism/node.rb#15819
def inspect(inspector = T.unsafe(nil)); end
# Sometimes you want to check an instance of a node against a list of
@@ -25042,7 +27188,7 @@ class Prism::StatementsNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#15064
+ # source://prism//lib/prism/node.rb#15839
def type; end
class << self
@@ -25053,127 +27199,29 @@ class Prism::StatementsNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#15074
+ # source://prism//lib/prism/node.rb#15849
def type; end
end
end
-# Represents the use of compile-time string concatenation.
-#
-# "foo" "bar"
-# ^^^^^^^^^^^
+# Flags for string nodes.
#
-# source://prism//lib/prism/node.rb#15083
-class Prism::StringConcatNode < ::Prism::Node
- # def initialize: (left: Node, right: Node, location: Location) -> void
- #
- # @return [StringConcatNode] a new instance of StringConcatNode
- #
- # source://prism//lib/prism/node.rb#15091
- sig { params(left: Prism::Node, right: Prism::Node, location: Prism::Location).void }
- def initialize(left, right, location); end
-
- # def accept: (visitor: Visitor) -> void
- #
- # source://prism//lib/prism/node.rb#15098
- sig { params(visitor: Prism::Visitor).void }
- def accept(visitor); end
-
- # def child_nodes: () -> Array[nil | Node]
- #
- # source://prism//lib/prism/node.rb#15103
- sig { returns(T::Array[T.nilable(Prism::Node)]) }
- def child_nodes; end
-
- # def comment_targets: () -> Array[Node | Location]
- #
- # source://prism//lib/prism/node.rb#15113
- def comment_targets; end
-
- # def compact_child_nodes: () -> Array[Node]
- #
- # source://prism//lib/prism/node.rb#15108
- def compact_child_nodes; end
-
- # def copy: (**params) -> StringConcatNode
- #
- # source://prism//lib/prism/node.rb#15118
- sig { params(params: T.untyped).returns(Prism::StringConcatNode) }
- def copy(**params); end
-
- # def child_nodes: () -> Array[nil | Node]
- # def deconstruct: () -> Array[nil | Node]
- #
- # source://prism//lib/prism/node.rb#15103
- sig { returns(T::Array[T.nilable(Prism::Node)]) }
- def deconstruct; end
-
- # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
- #
- # source://prism//lib/prism/node.rb#15130
- sig do
- params(
- keys: T::Array[Symbol]
- ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
- end
- def deconstruct_keys(keys); end
-
- # def inspect(inspector: NodeInspector) -> String
- #
- # source://prism//lib/prism/node.rb#15135
- def inspect(inspector = T.unsafe(nil)); end
-
- # attr_reader left: Node
- #
- # source://prism//lib/prism/node.rb#15085
- sig { returns(Prism::Node) }
- def left; end
-
- # attr_reader right: Node
- #
- # source://prism//lib/prism/node.rb#15088
- sig { returns(Prism::Node) }
- def right; end
-
- # Sometimes you want to check an instance of a node against a list of
- # classes to see what kind of behavior to perform. Usually this is done by
- # calling `[cls1, cls2].include?(node.class)` or putting the node into a
- # case statement and doing `case node; when cls1; when cls2; end`. Both of
- # these approaches are relatively slow because of the constant lookups,
- # method calls, and/or array allocations.
- #
- # Instead, you can call #type, which will return to you a symbol that you
- # can use for comparison. This is faster than the other approaches because
- # it uses a single integer comparison, but also because if you're on CRuby
- # you can take advantage of the fact that case statements with all symbol
- # keys will use a jump table.
- #
- # def type: () -> Symbol
- #
- # source://prism//lib/prism/node.rb#15158
- def type; end
+# source://prism//lib/prism/node.rb#17379
+module Prism::StringFlags; end
- class << self
- # Similar to #type, this method returns a symbol that you can use for
- # splitting on the type of the node without having to do a long === chain.
- # Note that like #type, it will still be slower than using == for a single
- # class, but should be faster in a case statement or an array comparison.
- #
- # def self.type: () -> Symbol
- #
- # source://prism//lib/prism/node.rb#15168
- def type; end
- end
-end
+# internal bytes forced the encoding to binary
+#
+# source://prism//lib/prism/node.rb#17384
+Prism::StringFlags::FORCED_BINARY_ENCODING = T.let(T.unsafe(nil), Integer)
-# Flags for string nodes.
+# internal bytes forced the encoding to UTF-8
#
-# source://prism//lib/prism/node.rb#16605
-module Prism::StringFlags; end
+# source://prism//lib/prism/node.rb#17381
+Prism::StringFlags::FORCED_UTF8_ENCODING = T.let(T.unsafe(nil), Integer)
# frozen by virtue of a `frozen_string_literal` comment
#
-# source://prism//lib/prism/node.rb#16607
+# source://prism//lib/prism/node.rb#17387
Prism::StringFlags::FROZEN = T.let(T.unsafe(nil), Integer)
# Represents a string literal, a string contained within a `%w` list, or
@@ -25188,13 +27236,15 @@ Prism::StringFlags::FROZEN = T.let(T.unsafe(nil), Integer)
# "foo #{bar} baz"
# ^^^^ ^^^^
#
-# source://prism//lib/prism/node.rb#15184
+# source://prism//lib/prism/node.rb#15865
class Prism::StringNode < ::Prism::Node
+ include ::Prism::HeredocQuery
+
# def initialize: (flags: Integer, opening_loc: Location?, content_loc: Location, closing_loc: Location?, unescaped: String, location: Location) -> void
#
# @return [StringNode] a new instance of StringNode
#
- # source://prism//lib/prism/node.rb#15201
+ # source://prism//lib/prism/node.rb#15882
sig do
params(
flags: Integer,
@@ -25209,66 +27259,66 @@ class Prism::StringNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#15211
+ # source://prism//lib/prism/node.rb#15892
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#15216
+ # source://prism//lib/prism/node.rb#15897
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def closing: () -> String?
#
- # source://prism//lib/prism/node.rb#15266
+ # source://prism//lib/prism/node.rb#15957
sig { returns(T.nilable(String)) }
def closing; end
# attr_reader closing_loc: Location?
#
- # source://prism//lib/prism/node.rb#15195
+ # source://prism//lib/prism/node.rb#15876
sig { returns(T.nilable(Prism::Location)) }
def closing_loc; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#15226
+ # source://prism//lib/prism/node.rb#15907
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#15221
+ # source://prism//lib/prism/node.rb#15902
def compact_child_nodes; end
# def content: () -> String
#
- # source://prism//lib/prism/node.rb#15261
+ # source://prism//lib/prism/node.rb#15952
sig { returns(String) }
def content; end
# attr_reader content_loc: Location
#
- # source://prism//lib/prism/node.rb#15192
+ # source://prism//lib/prism/node.rb#15873
sig { returns(Prism::Location) }
def content_loc; end
# def copy: (**params) -> StringNode
#
- # source://prism//lib/prism/node.rb#15231
+ # source://prism//lib/prism/node.rb#15912
sig { params(params: T.untyped).returns(Prism::StringNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#15216
+ # source://prism//lib/prism/node.rb#15897
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#15246
+ # source://prism//lib/prism/node.rb#15927
sig do
params(
keys: T::Array[Symbol]
@@ -25276,28 +27326,44 @@ class Prism::StringNode < ::Prism::Node
end
def deconstruct_keys(keys); end
+ # def forced_binary_encoding?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#15937
+ sig { returns(T::Boolean) }
+ def forced_binary_encoding?; end
+
+ # def forced_utf8_encoding?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#15932
+ sig { returns(T::Boolean) }
+ def forced_utf8_encoding?; end
+
# def frozen?: () -> bool
#
# @return [Boolean]
#
- # source://prism//lib/prism/node.rb#15251
+ # source://prism//lib/prism/node.rb#15942
sig { returns(T::Boolean) }
def frozen?; end
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#15271
+ # source://prism//lib/prism/node.rb#15962
def inspect(inspector = T.unsafe(nil)); end
# def opening: () -> String?
#
- # source://prism//lib/prism/node.rb#15256
+ # source://prism//lib/prism/node.rb#15947
sig { returns(T.nilable(String)) }
def opening; end
# attr_reader opening_loc: Location?
#
- # source://prism//lib/prism/node.rb#15189
+ # source://prism//lib/prism/node.rb#15870
sig { returns(T.nilable(Prism::Location)) }
def opening_loc; end
@@ -25316,12 +27382,12 @@ class Prism::StringNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#15296
+ # source://prism//lib/prism/node.rb#15987
def type; end
# attr_reader unescaped: String
#
- # source://prism//lib/prism/node.rb#15198
+ # source://prism//lib/prism/node.rb#15879
sig { returns(String) }
def unescaped; end
@@ -25329,7 +27395,7 @@ class Prism::StringNode < ::Prism::Node
# Returns the value of attribute flags.
#
- # source://prism//lib/prism/node.rb#15186
+ # source://prism//lib/prism/node.rb#15867
sig { returns(Integer) }
def flags; end
@@ -25341,7 +27407,7 @@ class Prism::StringNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#15306
+ # source://prism//lib/prism/node.rb#15997
def type; end
end
end
@@ -25354,13 +27420,13 @@ end
# super foo, bar
# ^^^^^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#15318
+# source://prism//lib/prism/node.rb#16009
class Prism::SuperNode < ::Prism::Node
# def initialize: (keyword_loc: Location, lparen_loc: Location?, arguments: ArgumentsNode?, rparen_loc: Location?, block: Node?, location: Location) -> void
#
# @return [SuperNode] a new instance of SuperNode
#
- # source://prism//lib/prism/node.rb#15335
+ # source://prism//lib/prism/node.rb#16026
sig do
params(
keyword_loc: Prism::Location,
@@ -25375,54 +27441,54 @@ class Prism::SuperNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#15345
+ # source://prism//lib/prism/node.rb#16036
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# attr_reader arguments: ArgumentsNode?
#
- # source://prism//lib/prism/node.rb#15326
+ # source://prism//lib/prism/node.rb#16017
sig { returns(T.nilable(Prism::ArgumentsNode)) }
def arguments; end
# attr_reader block: Node?
#
- # source://prism//lib/prism/node.rb#15332
+ # source://prism//lib/prism/node.rb#16023
sig { returns(T.nilable(Prism::Node)) }
def block; end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#15350
+ # source://prism//lib/prism/node.rb#16041
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#15363
+ # source://prism//lib/prism/node.rb#16054
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#15355
+ # source://prism//lib/prism/node.rb#16046
def compact_child_nodes; end
# def copy: (**params) -> SuperNode
#
- # source://prism//lib/prism/node.rb#15368
+ # source://prism//lib/prism/node.rb#16059
sig { params(params: T.untyped).returns(Prism::SuperNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#15350
+ # source://prism//lib/prism/node.rb#16041
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#15383
+ # source://prism//lib/prism/node.rb#16074
sig do
params(
keys: T::Array[Symbol]
@@ -25432,42 +27498,42 @@ class Prism::SuperNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#15403
+ # source://prism//lib/prism/node.rb#16094
def inspect(inspector = T.unsafe(nil)); end
# def keyword: () -> String
#
- # source://prism//lib/prism/node.rb#15388
+ # source://prism//lib/prism/node.rb#16079
sig { returns(String) }
def keyword; end
# attr_reader keyword_loc: Location
#
- # source://prism//lib/prism/node.rb#15320
+ # source://prism//lib/prism/node.rb#16011
sig { returns(Prism::Location) }
def keyword_loc; end
# def lparen: () -> String?
#
- # source://prism//lib/prism/node.rb#15393
+ # source://prism//lib/prism/node.rb#16084
sig { returns(T.nilable(String)) }
def lparen; end
# attr_reader lparen_loc: Location?
#
- # source://prism//lib/prism/node.rb#15323
+ # source://prism//lib/prism/node.rb#16014
sig { returns(T.nilable(Prism::Location)) }
def lparen_loc; end
# def rparen: () -> String?
#
- # source://prism//lib/prism/node.rb#15398
+ # source://prism//lib/prism/node.rb#16089
sig { returns(T.nilable(String)) }
def rparen; end
# attr_reader rparen_loc: Location?
#
- # source://prism//lib/prism/node.rb#15329
+ # source://prism//lib/prism/node.rb#16020
sig { returns(T.nilable(Prism::Location)) }
def rparen_loc; end
@@ -25486,7 +27552,7 @@ class Prism::SuperNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#15437
+ # source://prism//lib/prism/node.rb#16128
def type; end
class << self
@@ -25497,11 +27563,31 @@ class Prism::SuperNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#15447
+ # source://prism//lib/prism/node.rb#16138
def type; end
end
end
+# Flags for symbol nodes.
+#
+# source://prism//lib/prism/node.rb#17391
+module Prism::SymbolFlags; end
+
+# internal bytes forced the encoding to binary
+#
+# source://prism//lib/prism/node.rb#17396
+Prism::SymbolFlags::FORCED_BINARY_ENCODING = T.let(T.unsafe(nil), Integer)
+
+# internal bytes forced the encoding to US-ASCII
+#
+# source://prism//lib/prism/node.rb#17399
+Prism::SymbolFlags::FORCED_US_ASCII_ENCODING = T.let(T.unsafe(nil), Integer)
+
+# internal bytes forced the encoding to UTF-8
+#
+# source://prism//lib/prism/node.rb#17393
+Prism::SymbolFlags::FORCED_UTF8_ENCODING = T.let(T.unsafe(nil), Integer)
+
# Represents a symbol literal or a symbol contained within a `%i` list.
#
# :foo
@@ -25510,15 +27596,16 @@ end
# %i[foo]
# ^^^
#
-# source://prism//lib/prism/node.rb#15459
+# source://prism//lib/prism/node.rb#16150
class Prism::SymbolNode < ::Prism::Node
- # def initialize: (opening_loc: Location?, value_loc: Location?, closing_loc: Location?, unescaped: String, location: Location) -> void
+ # def initialize: (flags: Integer, opening_loc: Location?, value_loc: Location?, closing_loc: Location?, unescaped: String, location: Location) -> void
#
# @return [SymbolNode] a new instance of SymbolNode
#
- # source://prism//lib/prism/node.rb#15473
+ # source://prism//lib/prism/node.rb#16167
sig do
params(
+ flags: Integer,
opening_loc: T.nilable(Prism::Location),
value_loc: T.nilable(Prism::Location),
closing_loc: T.nilable(Prism::Location),
@@ -25526,58 +27613,58 @@ class Prism::SymbolNode < ::Prism::Node
location: Prism::Location
).void
end
- def initialize(opening_loc, value_loc, closing_loc, unescaped, location); end
+ def initialize(flags, opening_loc, value_loc, closing_loc, unescaped, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#15482
+ # source://prism//lib/prism/node.rb#16177
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#15487
+ # source://prism//lib/prism/node.rb#16182
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def closing: () -> String?
#
- # source://prism//lib/prism/node.rb#15531
+ # source://prism//lib/prism/node.rb#16242
sig { returns(T.nilable(String)) }
def closing; end
# attr_reader closing_loc: Location?
#
- # source://prism//lib/prism/node.rb#15467
+ # source://prism//lib/prism/node.rb#16161
sig { returns(T.nilable(Prism::Location)) }
def closing_loc; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#15497
+ # source://prism//lib/prism/node.rb#16192
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#15492
+ # source://prism//lib/prism/node.rb#16187
def compact_child_nodes; end
# def copy: (**params) -> SymbolNode
#
- # source://prism//lib/prism/node.rb#15502
+ # source://prism//lib/prism/node.rb#16197
sig { params(params: T.untyped).returns(Prism::SymbolNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#15487
+ # source://prism//lib/prism/node.rb#16182
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#15516
+ # source://prism//lib/prism/node.rb#16212
sig do
params(
keys: T::Array[Symbol]
@@ -25585,20 +27672,44 @@ class Prism::SymbolNode < ::Prism::Node
end
def deconstruct_keys(keys); end
+ # def forced_binary_encoding?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#16222
+ sig { returns(T::Boolean) }
+ def forced_binary_encoding?; end
+
+ # def forced_us_ascii_encoding?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#16227
+ sig { returns(T::Boolean) }
+ def forced_us_ascii_encoding?; end
+
+ # def forced_utf8_encoding?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#16217
+ sig { returns(T::Boolean) }
+ def forced_utf8_encoding?; end
+
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#15536
+ # source://prism//lib/prism/node.rb#16247
def inspect(inspector = T.unsafe(nil)); end
# def opening: () -> String?
#
- # source://prism//lib/prism/node.rb#15521
+ # source://prism//lib/prism/node.rb#16232
sig { returns(T.nilable(String)) }
def opening; end
# attr_reader opening_loc: Location?
#
- # source://prism//lib/prism/node.rb#15461
+ # source://prism//lib/prism/node.rb#16155
sig { returns(T.nilable(Prism::Location)) }
def opening_loc; end
@@ -25617,27 +27728,35 @@ class Prism::SymbolNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#15559
+ # source://prism//lib/prism/node.rb#16272
def type; end
# attr_reader unescaped: String
#
- # source://prism//lib/prism/node.rb#15470
+ # source://prism//lib/prism/node.rb#16164
sig { returns(String) }
def unescaped; end
# def value: () -> String?
#
- # source://prism//lib/prism/node.rb#15526
+ # source://prism//lib/prism/node.rb#16237
sig { returns(T.nilable(String)) }
def value; end
# attr_reader value_loc: Location?
#
- # source://prism//lib/prism/node.rb#15464
+ # source://prism//lib/prism/node.rb#16158
sig { returns(T.nilable(Prism::Location)) }
def value_loc; end
+ private
+
+ # Returns the value of attribute flags.
+ #
+ # source://prism//lib/prism/node.rb#16152
+ sig { returns(Integer) }
+ def flags; end
+
class << self
# Similar to #type, this method returns a symbol that you can use for
# splitting on the type of the node without having to do a long === chain.
@@ -25646,56 +27765,56 @@ class Prism::SymbolNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#15569
+ # source://prism//lib/prism/node.rb#16282
def type; end
end
end
# This represents a token from the Ruby source.
#
-# source://prism//lib/prism/parse_result.rb#385
+# source://prism//lib/prism/parse_result.rb#416
class Prism::Token
# Create a new token object with the given type, value, and location.
#
# @return [Token] a new instance of Token
#
- # source://prism//lib/prism/parse_result.rb#396
+ # source://prism//lib/prism/parse_result.rb#427
sig { params(type: T.untyped, value: String, location: Prism::Location).void }
def initialize(type, value, location); end
# Returns true if the given other token is equal to this token.
#
- # source://prism//lib/prism/parse_result.rb#423
+ # source://prism//lib/prism/parse_result.rb#454
sig { params(other: T.untyped).returns(T::Boolean) }
def ==(other); end
# Implement the hash pattern matching interface for Token.
#
- # source://prism//lib/prism/parse_result.rb#403
+ # source://prism//lib/prism/parse_result.rb#434
sig { params(keys: T.untyped).returns(T.untyped) }
def deconstruct_keys(keys); end
# A Location object representing the location of this token in the source.
#
- # source://prism//lib/prism/parse_result.rb#393
+ # source://prism//lib/prism/parse_result.rb#424
sig { returns(Prism::Location) }
def location; end
# Implement the pretty print interface for Token.
#
- # source://prism//lib/prism/parse_result.rb#408
+ # source://prism//lib/prism/parse_result.rb#439
sig { params(q: T.untyped).returns(T.untyped) }
def pretty_print(q); end
# The type of token that this token is.
#
- # source://prism//lib/prism/parse_result.rb#387
+ # source://prism//lib/prism/parse_result.rb#418
sig { returns(T.untyped) }
def type; end
# A byteslice of the source that this token represents.
#
- # source://prism//lib/prism/parse_result.rb#390
+ # source://prism//lib/prism/parse_result.rb#421
sig { returns(String) }
def value; end
end
@@ -25705,54 +27824,54 @@ end
# true
# ^^^^
#
-# source://prism//lib/prism/node.rb#15578
+# source://prism//lib/prism/node.rb#16291
class Prism::TrueNode < ::Prism::Node
# def initialize: (location: Location) -> void
#
# @return [TrueNode] a new instance of TrueNode
#
- # source://prism//lib/prism/node.rb#15580
+ # source://prism//lib/prism/node.rb#16293
sig { params(location: Prism::Location).void }
def initialize(location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#15585
+ # source://prism//lib/prism/node.rb#16298
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#15590
+ # source://prism//lib/prism/node.rb#16303
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#15600
+ # source://prism//lib/prism/node.rb#16313
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#15595
+ # source://prism//lib/prism/node.rb#16308
def compact_child_nodes; end
# def copy: (**params) -> TrueNode
#
- # source://prism//lib/prism/node.rb#15605
+ # source://prism//lib/prism/node.rb#16318
sig { params(params: T.untyped).returns(Prism::TrueNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#15590
+ # source://prism//lib/prism/node.rb#16303
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#15615
+ # source://prism//lib/prism/node.rb#16328
sig do
params(
keys: T::Array[Symbol]
@@ -25762,7 +27881,7 @@ class Prism::TrueNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#15620
+ # source://prism//lib/prism/node.rb#16333
def inspect(inspector = T.unsafe(nil)); end
# Sometimes you want to check an instance of a node against a list of
@@ -25780,7 +27899,7 @@ class Prism::TrueNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#15639
+ # source://prism//lib/prism/node.rb#16352
def type; end
class << self
@@ -25791,7 +27910,7 @@ class Prism::TrueNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#15649
+ # source://prism//lib/prism/node.rb#16362
def type; end
end
end
@@ -25801,54 +27920,54 @@ end
# undef :foo, :bar, :baz
# ^^^^^^^^^^^^^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#15658
+# source://prism//lib/prism/node.rb#16371
class Prism::UndefNode < ::Prism::Node
# def initialize: (names: Array[Node], keyword_loc: Location, location: Location) -> void
#
# @return [UndefNode] a new instance of UndefNode
#
- # source://prism//lib/prism/node.rb#15666
+ # source://prism//lib/prism/node.rb#16379
sig { params(names: T::Array[Prism::Node], keyword_loc: Prism::Location, location: Prism::Location).void }
def initialize(names, keyword_loc, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#15673
+ # source://prism//lib/prism/node.rb#16386
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#15678
+ # source://prism//lib/prism/node.rb#16391
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#15688
+ # source://prism//lib/prism/node.rb#16401
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#15683
+ # source://prism//lib/prism/node.rb#16396
def compact_child_nodes; end
# def copy: (**params) -> UndefNode
#
- # source://prism//lib/prism/node.rb#15693
+ # source://prism//lib/prism/node.rb#16406
sig { params(params: T.untyped).returns(Prism::UndefNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#15678
+ # source://prism//lib/prism/node.rb#16391
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#15705
+ # source://prism//lib/prism/node.rb#16418
sig do
params(
keys: T::Array[Symbol]
@@ -25858,24 +27977,24 @@ class Prism::UndefNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#15715
+ # source://prism//lib/prism/node.rb#16428
def inspect(inspector = T.unsafe(nil)); end
# def keyword: () -> String
#
- # source://prism//lib/prism/node.rb#15710
+ # source://prism//lib/prism/node.rb#16423
sig { returns(String) }
def keyword; end
# attr_reader keyword_loc: Location
#
- # source://prism//lib/prism/node.rb#15663
+ # source://prism//lib/prism/node.rb#16376
sig { returns(Prism::Location) }
def keyword_loc; end
# attr_reader names: Array[Node]
#
- # source://prism//lib/prism/node.rb#15660
+ # source://prism//lib/prism/node.rb#16373
sig { returns(T::Array[Prism::Node]) }
def names; end
@@ -25894,7 +28013,7 @@ class Prism::UndefNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#15736
+ # source://prism//lib/prism/node.rb#16449
def type; end
class << self
@@ -25905,7 +28024,7 @@ class Prism::UndefNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#15746
+ # source://prism//lib/prism/node.rb#16459
def type; end
end
end
@@ -25918,69 +28037,70 @@ end
# unless foo then bar end
# ^^^^^^^^^^^^^^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#15758
+# source://prism//lib/prism/node.rb#16471
class Prism::UnlessNode < ::Prism::Node
- # def initialize: (keyword_loc: Location, predicate: Node, statements: StatementsNode?, consequent: ElseNode?, end_keyword_loc: Location?, location: Location) -> void
+ # def initialize: (keyword_loc: Location, predicate: Node, then_keyword_loc: Location?, statements: StatementsNode?, consequent: ElseNode?, end_keyword_loc: Location?, location: Location) -> void
#
# @return [UnlessNode] a new instance of UnlessNode
#
- # source://prism//lib/prism/node.rb#15775
+ # source://prism//lib/prism/node.rb#16491
sig do
params(
keyword_loc: Prism::Location,
predicate: Prism::Node,
+ then_keyword_loc: T.nilable(Prism::Location),
statements: T.nilable(Prism::StatementsNode),
consequent: T.nilable(Prism::ElseNode),
end_keyword_loc: T.nilable(Prism::Location),
location: Prism::Location
).void
end
- def initialize(keyword_loc, predicate, statements, consequent, end_keyword_loc, location); end
+ def initialize(keyword_loc, predicate, then_keyword_loc, statements, consequent, end_keyword_loc, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#15785
+ # source://prism//lib/prism/node.rb#16502
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#15794
+ # source://prism//lib/prism/node.rb#16511
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#15808
+ # source://prism//lib/prism/node.rb#16525
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#15799
+ # source://prism//lib/prism/node.rb#16516
def compact_child_nodes; end
# attr_reader consequent: ElseNode?
#
- # source://prism//lib/prism/node.rb#15769
+ # source://prism//lib/prism/node.rb#16485
sig { returns(T.nilable(Prism::ElseNode)) }
def consequent; end
# def copy: (**params) -> UnlessNode
#
- # source://prism//lib/prism/node.rb#15813
+ # source://prism//lib/prism/node.rb#16530
sig { params(params: T.untyped).returns(Prism::UnlessNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#15794
+ # source://prism//lib/prism/node.rb#16511
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#15828
+ # source://prism//lib/prism/node.rb#16546
sig do
params(
keys: T::Array[Symbol]
@@ -25990,48 +28110,60 @@ class Prism::UnlessNode < ::Prism::Node
# def end_keyword: () -> String?
#
- # source://prism//lib/prism/node.rb#15838
+ # source://prism//lib/prism/node.rb#16561
sig { returns(T.nilable(String)) }
def end_keyword; end
# attr_reader end_keyword_loc: Location?
#
- # source://prism//lib/prism/node.rb#15772
+ # source://prism//lib/prism/node.rb#16488
sig { returns(T.nilable(Prism::Location)) }
def end_keyword_loc; end
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#15843
+ # source://prism//lib/prism/node.rb#16566
def inspect(inspector = T.unsafe(nil)); end
# def keyword: () -> String
#
- # source://prism//lib/prism/node.rb#15833
+ # source://prism//lib/prism/node.rb#16551
sig { returns(String) }
def keyword; end
# attr_reader keyword_loc: Location
#
- # source://prism//lib/prism/node.rb#15760
+ # source://prism//lib/prism/node.rb#16473
sig { returns(Prism::Location) }
def keyword_loc; end
# attr_reader predicate: Node
#
- # source://prism//lib/prism/node.rb#15763
+ # source://prism//lib/prism/node.rb#16476
sig { returns(Prism::Node) }
def predicate; end
- # source://prism//lib/prism/node.rb#15789
+ # source://prism//lib/prism/node.rb#16506
def set_newline_flag(newline_marked); end
# attr_reader statements: StatementsNode?
#
- # source://prism//lib/prism/node.rb#15766
+ # source://prism//lib/prism/node.rb#16482
sig { returns(T.nilable(Prism::StatementsNode)) }
def statements; end
+ # def then_keyword: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#16556
+ sig { returns(T.nilable(String)) }
+ def then_keyword; end
+
+ # attr_reader then_keyword_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#16479
+ sig { returns(T.nilable(Prism::Location)) }
+ def then_keyword_loc; end
+
# Sometimes you want to check an instance of a node against a list of
# classes to see what kind of behavior to perform. Usually this is done by
# calling `[cls1, cls2].include?(node.class)` or putting the node into a
@@ -26047,7 +28179,7 @@ class Prism::UnlessNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#15878
+ # source://prism//lib/prism/node.rb#16602
def type; end
class << self
@@ -26058,7 +28190,7 @@ class Prism::UnlessNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#15888
+ # source://prism//lib/prism/node.rb#16612
def type; end
end
end
@@ -26071,28 +28203,28 @@ end
# until foo do bar end
# ^^^^^^^^^^^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#15900
+# source://prism//lib/prism/node.rb#16624
class Prism::UntilNode < ::Prism::Node
- # def initialize: (keyword_loc: Location, closing_loc: Location?, predicate: Node, statements: StatementsNode?, flags: Integer, location: Location) -> void
+ # def initialize: (flags: Integer, keyword_loc: Location, closing_loc: Location?, predicate: Node, statements: StatementsNode?, location: Location) -> void
#
# @return [UntilNode] a new instance of UntilNode
#
- # source://prism//lib/prism/node.rb#15917
+ # source://prism//lib/prism/node.rb#16641
sig do
params(
+ flags: Integer,
keyword_loc: Prism::Location,
closing_loc: T.nilable(Prism::Location),
predicate: Prism::Node,
statements: T.nilable(Prism::StatementsNode),
- flags: Integer,
location: Prism::Location
).void
end
- def initialize(keyword_loc, closing_loc, predicate, statements, flags, location); end
+ def initialize(flags, keyword_loc, closing_loc, predicate, statements, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#15927
+ # source://prism//lib/prism/node.rb#16651
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
@@ -26100,54 +28232,54 @@ class Prism::UntilNode < ::Prism::Node
#
# @return [Boolean]
#
- # source://prism//lib/prism/node.rb#15984
+ # source://prism//lib/prism/node.rb#16698
sig { returns(T::Boolean) }
def begin_modifier?; end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#15936
+ # source://prism//lib/prism/node.rb#16660
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def closing: () -> String?
#
- # source://prism//lib/prism/node.rb#15979
+ # source://prism//lib/prism/node.rb#16708
sig { returns(T.nilable(String)) }
def closing; end
# attr_reader closing_loc: Location?
#
- # source://prism//lib/prism/node.rb#15905
+ # source://prism//lib/prism/node.rb#16632
sig { returns(T.nilable(Prism::Location)) }
def closing_loc; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#15949
+ # source://prism//lib/prism/node.rb#16673
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#15941
+ # source://prism//lib/prism/node.rb#16665
def compact_child_nodes; end
# def copy: (**params) -> UntilNode
#
- # source://prism//lib/prism/node.rb#15954
+ # source://prism//lib/prism/node.rb#16678
sig { params(params: T.untyped).returns(Prism::UntilNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#15936
+ # source://prism//lib/prism/node.rb#16660
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#15969
+ # source://prism//lib/prism/node.rb#16693
sig do
params(
keys: T::Array[Symbol]
@@ -26157,33 +28289,33 @@ class Prism::UntilNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#15989
+ # source://prism//lib/prism/node.rb#16713
def inspect(inspector = T.unsafe(nil)); end
# def keyword: () -> String
#
- # source://prism//lib/prism/node.rb#15974
+ # source://prism//lib/prism/node.rb#16703
sig { returns(String) }
def keyword; end
# attr_reader keyword_loc: Location
#
- # source://prism//lib/prism/node.rb#15902
+ # source://prism//lib/prism/node.rb#16629
sig { returns(Prism::Location) }
def keyword_loc; end
# attr_reader predicate: Node
#
- # source://prism//lib/prism/node.rb#15908
+ # source://prism//lib/prism/node.rb#16635
sig { returns(Prism::Node) }
def predicate; end
- # source://prism//lib/prism/node.rb#15931
+ # source://prism//lib/prism/node.rb#16655
def set_newline_flag(newline_marked); end
# attr_reader statements: StatementsNode?
#
- # source://prism//lib/prism/node.rb#15911
+ # source://prism//lib/prism/node.rb#16638
sig { returns(T.nilable(Prism::StatementsNode)) }
def statements; end
@@ -26202,14 +28334,14 @@ class Prism::UntilNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#16020
+ # source://prism//lib/prism/node.rb#16744
def type; end
private
# Returns the value of attribute flags.
#
- # source://prism//lib/prism/node.rb#15914
+ # source://prism//lib/prism/node.rb#16626
sig { returns(Integer) }
def flags; end
@@ -26221,7 +28353,7 @@ class Prism::UntilNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#16030
+ # source://prism//lib/prism/node.rb#16754
def type; end
end
end
@@ -26376,12 +28508,24 @@ class Prism::Visitor < ::Prism::BasicVisitor
sig { params(node: Prism::CallOrWriteNode).void }
def visit_call_or_write_node(node); end
+ # Visit a CallTargetNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::CallTargetNode).void }
+ def visit_call_target_node(node); end
+
# Visit a CapturePatternNode node
#
# source://prism//lib/prism/visitor.rb#26
sig { params(node: Prism::CapturePatternNode).void }
def visit_capture_pattern_node(node); end
+ # Visit a CaseMatchNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::CaseMatchNode).void }
+ def visit_case_match_node(node); end
+
# Visit a CaseNode node
#
# source://prism//lib/prism/visitor.rb#26
@@ -26652,6 +28796,12 @@ class Prism::Visitor < ::Prism::BasicVisitor
sig { params(node: Prism::ImplicitNode).void }
def visit_implicit_node(node); end
+ # Visit a ImplicitRestNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::ImplicitRestNode).void }
+ def visit_implicit_rest_node(node); end
+
# Visit a InNode node
#
# source://prism//lib/prism/visitor.rb#26
@@ -26676,6 +28826,12 @@ class Prism::Visitor < ::Prism::BasicVisitor
sig { params(node: Prism::IndexOrWriteNode).void }
def visit_index_or_write_node(node); end
+ # Visit a IndexTargetNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::IndexTargetNode).void }
+ def visit_index_target_node(node); end
+
# Visit a InstanceVariableAndWriteNode node
#
# source://prism//lib/prism/visitor.rb#26
@@ -26868,6 +29024,12 @@ class Prism::Visitor < ::Prism::BasicVisitor
sig { params(node: Prism::NoKeywordsParameterNode).void }
def visit_no_keywords_parameter_node(node); end
+ # Visit a NumberedParametersNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::NumberedParametersNode).void }
+ def visit_numbered_parameters_node(node); end
+
# Visit a NumberedReferenceReadNode node
#
# source://prism//lib/prism/visitor.rb#26
@@ -27042,12 +29204,6 @@ class Prism::Visitor < ::Prism::BasicVisitor
sig { params(node: Prism::StatementsNode).void }
def visit_statements_node(node); end
- # Visit a StringConcatNode node
- #
- # source://prism//lib/prism/visitor.rb#26
- sig { params(node: Prism::StringConcatNode).void }
- def visit_string_concat_node(node); end
-
# Visit a StringNode node
#
# source://prism//lib/prism/visitor.rb#26
@@ -27122,13 +29278,13 @@ end
# ^^^^^^^^^
# end
#
-# source://prism//lib/prism/node.rb#16041
+# source://prism//lib/prism/node.rb#16765
class Prism::WhenNode < ::Prism::Node
# def initialize: (keyword_loc: Location, conditions: Array[Node], statements: StatementsNode?, location: Location) -> void
#
# @return [WhenNode] a new instance of WhenNode
#
- # source://prism//lib/prism/node.rb#16052
+ # source://prism//lib/prism/node.rb#16776
sig do
params(
keyword_loc: Prism::Location,
@@ -27141,48 +29297,48 @@ class Prism::WhenNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#16060
+ # source://prism//lib/prism/node.rb#16784
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#16065
+ # source://prism//lib/prism/node.rb#16789
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#16078
+ # source://prism//lib/prism/node.rb#16802
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#16070
+ # source://prism//lib/prism/node.rb#16794
def compact_child_nodes; end
# attr_reader conditions: Array[Node]
#
- # source://prism//lib/prism/node.rb#16046
+ # source://prism//lib/prism/node.rb#16770
sig { returns(T::Array[Prism::Node]) }
def conditions; end
# def copy: (**params) -> WhenNode
#
- # source://prism//lib/prism/node.rb#16083
+ # source://prism//lib/prism/node.rb#16807
sig { params(params: T.untyped).returns(Prism::WhenNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#16065
+ # source://prism//lib/prism/node.rb#16789
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#16096
+ # source://prism//lib/prism/node.rb#16820
sig do
params(
keys: T::Array[Symbol]
@@ -27192,24 +29348,24 @@ class Prism::WhenNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#16106
+ # source://prism//lib/prism/node.rb#16830
def inspect(inspector = T.unsafe(nil)); end
# def keyword: () -> String
#
- # source://prism//lib/prism/node.rb#16101
+ # source://prism//lib/prism/node.rb#16825
sig { returns(String) }
def keyword; end
# attr_reader keyword_loc: Location
#
- # source://prism//lib/prism/node.rb#16043
+ # source://prism//lib/prism/node.rb#16767
sig { returns(Prism::Location) }
def keyword_loc; end
# attr_reader statements: StatementsNode?
#
- # source://prism//lib/prism/node.rb#16049
+ # source://prism//lib/prism/node.rb#16773
sig { returns(T.nilable(Prism::StatementsNode)) }
def statements; end
@@ -27228,7 +29384,7 @@ class Prism::WhenNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#16133
+ # source://prism//lib/prism/node.rb#16857
def type; end
class << self
@@ -27239,7 +29395,7 @@ class Prism::WhenNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#16143
+ # source://prism//lib/prism/node.rb#16867
def type; end
end
end
@@ -27252,28 +29408,28 @@ end
# while foo do bar end
# ^^^^^^^^^^^^^^^^^^^^
#
-# source://prism//lib/prism/node.rb#16155
+# source://prism//lib/prism/node.rb#16879
class Prism::WhileNode < ::Prism::Node
- # def initialize: (keyword_loc: Location, closing_loc: Location?, predicate: Node, statements: StatementsNode?, flags: Integer, location: Location) -> void
+ # def initialize: (flags: Integer, keyword_loc: Location, closing_loc: Location?, predicate: Node, statements: StatementsNode?, location: Location) -> void
#
# @return [WhileNode] a new instance of WhileNode
#
- # source://prism//lib/prism/node.rb#16172
+ # source://prism//lib/prism/node.rb#16896
sig do
params(
+ flags: Integer,
keyword_loc: Prism::Location,
closing_loc: T.nilable(Prism::Location),
predicate: Prism::Node,
statements: T.nilable(Prism::StatementsNode),
- flags: Integer,
location: Prism::Location
).void
end
- def initialize(keyword_loc, closing_loc, predicate, statements, flags, location); end
+ def initialize(flags, keyword_loc, closing_loc, predicate, statements, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#16182
+ # source://prism//lib/prism/node.rb#16906
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
@@ -27281,54 +29437,54 @@ class Prism::WhileNode < ::Prism::Node
#
# @return [Boolean]
#
- # source://prism//lib/prism/node.rb#16239
+ # source://prism//lib/prism/node.rb#16953
sig { returns(T::Boolean) }
def begin_modifier?; end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#16191
+ # source://prism//lib/prism/node.rb#16915
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def closing: () -> String?
#
- # source://prism//lib/prism/node.rb#16234
+ # source://prism//lib/prism/node.rb#16963
sig { returns(T.nilable(String)) }
def closing; end
# attr_reader closing_loc: Location?
#
- # source://prism//lib/prism/node.rb#16160
+ # source://prism//lib/prism/node.rb#16887
sig { returns(T.nilable(Prism::Location)) }
def closing_loc; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#16204
+ # source://prism//lib/prism/node.rb#16928
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#16196
+ # source://prism//lib/prism/node.rb#16920
def compact_child_nodes; end
# def copy: (**params) -> WhileNode
#
- # source://prism//lib/prism/node.rb#16209
+ # source://prism//lib/prism/node.rb#16933
sig { params(params: T.untyped).returns(Prism::WhileNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#16191
+ # source://prism//lib/prism/node.rb#16915
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#16224
+ # source://prism//lib/prism/node.rb#16948
sig do
params(
keys: T::Array[Symbol]
@@ -27338,33 +29494,33 @@ class Prism::WhileNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#16244
+ # source://prism//lib/prism/node.rb#16968
def inspect(inspector = T.unsafe(nil)); end
# def keyword: () -> String
#
- # source://prism//lib/prism/node.rb#16229
+ # source://prism//lib/prism/node.rb#16958
sig { returns(String) }
def keyword; end
# attr_reader keyword_loc: Location
#
- # source://prism//lib/prism/node.rb#16157
+ # source://prism//lib/prism/node.rb#16884
sig { returns(Prism::Location) }
def keyword_loc; end
# attr_reader predicate: Node
#
- # source://prism//lib/prism/node.rb#16163
+ # source://prism//lib/prism/node.rb#16890
sig { returns(Prism::Node) }
def predicate; end
- # source://prism//lib/prism/node.rb#16186
+ # source://prism//lib/prism/node.rb#16910
def set_newline_flag(newline_marked); end
# attr_reader statements: StatementsNode?
#
- # source://prism//lib/prism/node.rb#16166
+ # source://prism//lib/prism/node.rb#16893
sig { returns(T.nilable(Prism::StatementsNode)) }
def statements; end
@@ -27383,14 +29539,14 @@ class Prism::WhileNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#16275
+ # source://prism//lib/prism/node.rb#16999
def type; end
private
# Returns the value of attribute flags.
#
- # source://prism//lib/prism/node.rb#16169
+ # source://prism//lib/prism/node.rb#16881
sig { returns(Integer) }
def flags; end
@@ -27402,7 +29558,7 @@ class Prism::WhileNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#16285
+ # source://prism//lib/prism/node.rb#17009
def type; end
end
end
@@ -27412,15 +29568,18 @@ end
# `foo`
# ^^^^^
#
-# source://prism//lib/prism/node.rb#16294
+# source://prism//lib/prism/node.rb#17018
class Prism::XStringNode < ::Prism::Node
- # def initialize: (opening_loc: Location, content_loc: Location, closing_loc: Location, unescaped: String, location: Location) -> void
+ include ::Prism::HeredocQuery
+
+ # def initialize: (flags: Integer, opening_loc: Location, content_loc: Location, closing_loc: Location, unescaped: String, location: Location) -> void
#
# @return [XStringNode] a new instance of XStringNode
#
- # source://prism//lib/prism/node.rb#16308
+ # source://prism//lib/prism/node.rb#17035
sig do
params(
+ flags: Integer,
opening_loc: Prism::Location,
content_loc: Prism::Location,
closing_loc: Prism::Location,
@@ -27428,70 +29587,70 @@ class Prism::XStringNode < ::Prism::Node
location: Prism::Location
).void
end
- def initialize(opening_loc, content_loc, closing_loc, unescaped, location); end
+ def initialize(flags, opening_loc, content_loc, closing_loc, unescaped, location); end
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#16317
+ # source://prism//lib/prism/node.rb#17045
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#16322
+ # source://prism//lib/prism/node.rb#17050
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def closing: () -> String
#
- # source://prism//lib/prism/node.rb#16366
+ # source://prism//lib/prism/node.rb#17105
sig { returns(String) }
def closing; end
# attr_reader closing_loc: Location
#
- # source://prism//lib/prism/node.rb#16302
+ # source://prism//lib/prism/node.rb#17029
sig { returns(Prism::Location) }
def closing_loc; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#16332
+ # source://prism//lib/prism/node.rb#17060
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#16327
+ # source://prism//lib/prism/node.rb#17055
def compact_child_nodes; end
# def content: () -> String
#
- # source://prism//lib/prism/node.rb#16361
+ # source://prism//lib/prism/node.rb#17100
sig { returns(String) }
def content; end
# attr_reader content_loc: Location
#
- # source://prism//lib/prism/node.rb#16299
+ # source://prism//lib/prism/node.rb#17026
sig { returns(Prism::Location) }
def content_loc; end
# def copy: (**params) -> XStringNode
#
- # source://prism//lib/prism/node.rb#16337
+ # source://prism//lib/prism/node.rb#17065
sig { params(params: T.untyped).returns(Prism::XStringNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#16322
+ # source://prism//lib/prism/node.rb#17050
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#16351
+ # source://prism//lib/prism/node.rb#17080
sig do
params(
keys: T::Array[Symbol]
@@ -27499,20 +29658,36 @@ class Prism::XStringNode < ::Prism::Node
end
def deconstruct_keys(keys); end
+ # def forced_binary_encoding?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#17090
+ sig { returns(T::Boolean) }
+ def forced_binary_encoding?; end
+
+ # def forced_utf8_encoding?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#17085
+ sig { returns(T::Boolean) }
+ def forced_utf8_encoding?; end
+
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#16371
+ # source://prism//lib/prism/node.rb#17110
def inspect(inspector = T.unsafe(nil)); end
# def opening: () -> String
#
- # source://prism//lib/prism/node.rb#16356
+ # source://prism//lib/prism/node.rb#17095
sig { returns(String) }
def opening; end
# attr_reader opening_loc: Location
#
- # source://prism//lib/prism/node.rb#16296
+ # source://prism//lib/prism/node.rb#17023
sig { returns(Prism::Location) }
def opening_loc; end
@@ -27531,15 +29706,23 @@ class Prism::XStringNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#16394
+ # source://prism//lib/prism/node.rb#17135
def type; end
# attr_reader unescaped: String
#
- # source://prism//lib/prism/node.rb#16305
+ # source://prism//lib/prism/node.rb#17032
sig { returns(String) }
def unescaped; end
+ private
+
+ # Returns the value of attribute flags.
+ #
+ # source://prism//lib/prism/node.rb#17020
+ sig { returns(Integer) }
+ def flags; end
+
class << self
# Similar to #type, this method returns a symbol that you can use for
# splitting on the type of the node without having to do a long === chain.
@@ -27548,7 +29731,7 @@ class Prism::XStringNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#16404
+ # source://prism//lib/prism/node.rb#17145
def type; end
end
end
@@ -27558,13 +29741,13 @@ end
# yield 1
# ^^^^^^^
#
-# source://prism//lib/prism/node.rb#16413
+# source://prism//lib/prism/node.rb#17154
class Prism::YieldNode < ::Prism::Node
# def initialize: (keyword_loc: Location, lparen_loc: Location?, arguments: ArgumentsNode?, rparen_loc: Location?, location: Location) -> void
#
# @return [YieldNode] a new instance of YieldNode
#
- # source://prism//lib/prism/node.rb#16427
+ # source://prism//lib/prism/node.rb#17168
sig do
params(
keyword_loc: Prism::Location,
@@ -27578,48 +29761,48 @@ class Prism::YieldNode < ::Prism::Node
# def accept: (visitor: Visitor) -> void
#
- # source://prism//lib/prism/node.rb#16436
+ # source://prism//lib/prism/node.rb#17177
sig { params(visitor: Prism::Visitor).void }
def accept(visitor); end
# attr_reader arguments: ArgumentsNode?
#
- # source://prism//lib/prism/node.rb#16421
+ # source://prism//lib/prism/node.rb#17162
sig { returns(T.nilable(Prism::ArgumentsNode)) }
def arguments; end
# def child_nodes: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#16441
+ # source://prism//lib/prism/node.rb#17182
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def child_nodes; end
# def comment_targets: () -> Array[Node | Location]
#
- # source://prism//lib/prism/node.rb#16453
+ # source://prism//lib/prism/node.rb#17194
def comment_targets; end
# def compact_child_nodes: () -> Array[Node]
#
- # source://prism//lib/prism/node.rb#16446
+ # source://prism//lib/prism/node.rb#17187
def compact_child_nodes; end
# def copy: (**params) -> YieldNode
#
- # source://prism//lib/prism/node.rb#16458
+ # source://prism//lib/prism/node.rb#17199
sig { params(params: T.untyped).returns(Prism::YieldNode) }
def copy(**params); end
# def child_nodes: () -> Array[nil | Node]
# def deconstruct: () -> Array[nil | Node]
#
- # source://prism//lib/prism/node.rb#16441
+ # source://prism//lib/prism/node.rb#17182
sig { returns(T::Array[T.nilable(Prism::Node)]) }
def deconstruct; end
# def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location]
#
- # source://prism//lib/prism/node.rb#16472
+ # source://prism//lib/prism/node.rb#17213
sig do
params(
keys: T::Array[Symbol]
@@ -27629,42 +29812,42 @@ class Prism::YieldNode < ::Prism::Node
# def inspect(inspector: NodeInspector) -> String
#
- # source://prism//lib/prism/node.rb#16492
+ # source://prism//lib/prism/node.rb#17233
def inspect(inspector = T.unsafe(nil)); end
# def keyword: () -> String
#
- # source://prism//lib/prism/node.rb#16477
+ # source://prism//lib/prism/node.rb#17218
sig { returns(String) }
def keyword; end
# attr_reader keyword_loc: Location
#
- # source://prism//lib/prism/node.rb#16415
+ # source://prism//lib/prism/node.rb#17156
sig { returns(Prism::Location) }
def keyword_loc; end
# def lparen: () -> String?
#
- # source://prism//lib/prism/node.rb#16482
+ # source://prism//lib/prism/node.rb#17223
sig { returns(T.nilable(String)) }
def lparen; end
# attr_reader lparen_loc: Location?
#
- # source://prism//lib/prism/node.rb#16418
+ # source://prism//lib/prism/node.rb#17159
sig { returns(T.nilable(Prism::Location)) }
def lparen_loc; end
# def rparen: () -> String?
#
- # source://prism//lib/prism/node.rb#16487
+ # source://prism//lib/prism/node.rb#17228
sig { returns(T.nilable(String)) }
def rparen; end
# attr_reader rparen_loc: Location?
#
- # source://prism//lib/prism/node.rb#16424
+ # source://prism//lib/prism/node.rb#17165
sig { returns(T.nilable(Prism::Location)) }
def rparen_loc; end
@@ -27683,7 +29866,7 @@ class Prism::YieldNode < ::Prism::Node
#
# def type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#16520
+ # source://prism//lib/prism/node.rb#17261
def type; end
class << self
@@ -27694,7 +29877,7 @@ class Prism::YieldNode < ::Prism::Node
#
# def self.type: () -> Symbol
#
- # source://prism//lib/prism/node.rb#16530
+ # source://prism//lib/prism/node.rb#17271
def type; end
end
end
diff --git a/sorbet/rbi/gems/racc@1.7.1.rbi b/sorbet/rbi/gems/racc@1.7.3.rbi
similarity index 71%
rename from sorbet/rbi/gems/racc@1.7.1.rbi
rename to sorbet/rbi/gems/racc@1.7.3.rbi
index d01a4f51..3e58f811 100644
--- a/sorbet/rbi/gems/racc@1.7.1.rbi
+++ b/sorbet/rbi/gems/racc@1.7.3.rbi
@@ -7,32 +7,32 @@
# source://racc//lib/racc/parser.rb#23
ParseError = Racc::ParseError
-# source://racc//lib/racc/info.rb#16
+# source://racc//lib/racc/info.rb#17
Racc::Copyright = T.let(T.unsafe(nil), String)
-# source://racc//lib/racc/parser.rb#186
+# source://racc//lib/racc/parser.rb#188
class Racc::Parser
- # source://racc//lib/racc/parser.rb#281
+ # source://racc//lib/racc/parser.rb#283
def _racc_do_parse_rb(arg, in_debug); end
- # source://racc//lib/racc/parser.rb#481
+ # source://racc//lib/racc/parser.rb#483
def _racc_do_reduce(arg, act); end
# common
#
- # source://racc//lib/racc/parser.rb#384
+ # source://racc//lib/racc/parser.rb#386
def _racc_evalact(act, arg); end
- # source://racc//lib/racc/parser.rb#234
+ # source://racc//lib/racc/parser.rb#236
def _racc_init_sysvars; end
- # source://racc//lib/racc/parser.rb#222
+ # source://racc//lib/racc/parser.rb#224
def _racc_setup; end
- # source://racc//lib/racc/parser.rb#331
+ # source://racc//lib/racc/parser.rb#333
def _racc_yyparse_rb(recv, mid, arg, c_debug); end
- # source://racc//lib/racc/parser.rb#264
+ # source://racc//lib/racc/parser.rb#266
def do_parse; end
# The method to fetch next token.
@@ -46,7 +46,7 @@ class Racc::Parser
#
# @raise [NotImplementedError]
#
- # source://racc//lib/racc/parser.rb#277
+ # source://racc//lib/racc/parser.rb#279
def next_token; end
# This method is called when a parse error is found.
@@ -66,96 +66,96 @@ class Racc::Parser
#
# @raise [ParseError]
#
- # source://racc//lib/racc/parser.rb#537
+ # source://racc//lib/racc/parser.rb#539
def on_error(t, val, vstack); end
- # source://racc//lib/racc/parser.rb#586
+ # source://racc//lib/racc/parser.rb#588
def racc_accept; end
- # source://racc//lib/racc/parser.rb#591
+ # source://racc//lib/racc/parser.rb#593
def racc_e_pop(state, tstack, vstack); end
- # source://racc//lib/racc/parser.rb#598
+ # source://racc//lib/racc/parser.rb#600
def racc_next_state(curstate, state); end
- # source://racc//lib/racc/parser.rb#604
+ # source://racc//lib/racc/parser.rb#606
def racc_print_stacks(t, v); end
- # source://racc//lib/racc/parser.rb#613
+ # source://racc//lib/racc/parser.rb#615
def racc_print_states(s); end
# For debugging output
#
- # source://racc//lib/racc/parser.rb#560
+ # source://racc//lib/racc/parser.rb#562
def racc_read_token(t, tok, val); end
- # source://racc//lib/racc/parser.rb#573
+ # source://racc//lib/racc/parser.rb#575
def racc_reduce(toks, sim, tstack, vstack); end
- # source://racc//lib/racc/parser.rb#567
+ # source://racc//lib/racc/parser.rb#569
def racc_shift(tok, tstack, vstack); end
- # source://racc//lib/racc/parser.rb#620
+ # source://racc//lib/racc/parser.rb#622
def racc_token2str(tok); end
# Convert internal ID of token symbol to the string.
#
- # source://racc//lib/racc/parser.rb#626
+ # source://racc//lib/racc/parser.rb#628
def token_to_str(t); end
# Exit parser.
# Return value is +Symbol_Value_Stack[0]+.
#
- # source://racc//lib/racc/parser.rb#550
+ # source://racc//lib/racc/parser.rb#552
def yyaccept; end
# Leave error recovering mode.
#
- # source://racc//lib/racc/parser.rb#555
+ # source://racc//lib/racc/parser.rb#557
def yyerrok; end
# Enter error recovering mode.
# This method does not call #on_error.
#
- # source://racc//lib/racc/parser.rb#544
+ # source://racc//lib/racc/parser.rb#546
def yyerror; end
- # source://racc//lib/racc/parser.rb#326
+ # source://racc//lib/racc/parser.rb#328
def yyparse(recv, mid); end
class << self
- # source://racc//lib/racc/parser.rb#218
+ # source://racc//lib/racc/parser.rb#220
def racc_runtime_type; end
end
end
-# source://racc//lib/racc/parser.rb#207
+# source://racc//lib/racc/parser.rb#209
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
+# source://racc//lib/racc/parser.rb#211
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
+# source://racc//lib/racc/parser.rb#191
Racc::Parser::Racc_Runtime_Core_Version_R = T.let(T.unsafe(nil), String)
-# source://racc//lib/racc/parser.rb#210
+# source://racc//lib/racc/parser.rb#212
Racc::Parser::Racc_Runtime_Type = T.let(T.unsafe(nil), String)
-# source://racc//lib/racc/parser.rb#188
+# source://racc//lib/racc/parser.rb#190
Racc::Parser::Racc_Runtime_Version = T.let(T.unsafe(nil), String)
-# source://racc//lib/racc/parser.rb#208
+# source://racc//lib/racc/parser.rb#210
Racc::Parser::Racc_YY_Parse_Method = T.let(T.unsafe(nil), Symbol)
-# source://racc//lib/racc/parser.rb#183
+# source://racc//lib/racc/parser.rb#185
Racc::Racc_No_Extensions = T.let(T.unsafe(nil), FalseClass)
-# source://racc//lib/racc/info.rb#14
+# source://racc//lib/racc/info.rb#15
Racc::VERSION = T.let(T.unsafe(nil), String)
-# source://racc//lib/racc/info.rb#15
+# source://racc//lib/racc/info.rb#16
Racc::Version = T.let(T.unsafe(nil), String)
diff --git a/sorbet/rbi/gems/rake@13.0.6.rbi b/sorbet/rbi/gems/rake@13.1.0.rbi
similarity index 96%
rename from sorbet/rbi/gems/rake@13.0.6.rbi
rename to sorbet/rbi/gems/rake@13.1.0.rbi
index 0202f06d..f1286717 100644
--- a/sorbet/rbi/gems/rake@13.0.6.rbi
+++ b/sorbet/rbi/gems/rake@13.1.0.rbi
@@ -22,13 +22,13 @@ module FileUtils
# Example:
# ruby %{-pe '$_.upcase!' ['a', 'b', 'c']
#
- # source://rake//lib/rake/file_utils.rb#128
+ # source://rake//lib/rake/file_utils.rb#126
def split_all(path); end
private
@@ -75,14 +75,14 @@ module FileUtils
# source://rake//lib/rake/file_utils.rb#61
def create_shell_runner(cmd); end
- # source://rake//lib/rake/file_utils.rb#86
+ # source://rake//lib/rake/file_utils.rb#84
def set_verbose_option(options); end
- # source://rake//lib/rake/file_utils.rb#73
+ # source://rake//lib/rake/file_utils.rb#71
def sh_show_command(cmd); end
end
-# source://rake//lib/rake/file_utils.rb#108
+# source://rake//lib/rake/file_utils.rb#106
FileUtils::LN_SUPPORTED = T.let(T.unsafe(nil), Array)
# Path to the currently running Ruby program
@@ -195,13 +195,13 @@ class Rake::Application
# Add a file to the list of files to be imported.
#
- # source://rake//lib/rake/application.rb#777
+ # source://rake//lib/rake/application.rb#801
def add_import(fn); end
# Add a loader to handle imported files ending in the extension
# +ext+.
#
- # source://rake//lib/rake/application.rb#139
+ # source://rake//lib/rake/application.rb#161
def add_loader(ext, loader); end
# Collect the list of tasks on the command line. If no tasks are
@@ -213,13 +213,13 @@ class Rake::Application
# recognised command-line options, which OptionParser.parse will
# have taken care of already.
#
- # source://rake//lib/rake/application.rb#758
+ # source://rake//lib/rake/application.rb#782
def collect_command_line_tasks(args); end
# Default task name ("default").
# (May be overridden by subclasses)
#
- # source://rake//lib/rake/application.rb#772
+ # source://rake//lib/rake/application.rb#796
def default_task_name; end
# Warn about deprecated usage.
@@ -227,75 +227,75 @@ class Rake::Application
# Example:
# Rake.application.deprecate("import", "Rake.import", caller.first)
#
- # source://rake//lib/rake/application.rb#258
+ # source://rake//lib/rake/application.rb#282
def deprecate(old_usage, new_usage, call_site); end
- # source://rake//lib/rake/application.rb#222
+ # source://rake//lib/rake/application.rb#244
def display_cause_details(ex); end
# Display the error message that caused the exception.
#
- # source://rake//lib/rake/application.rb#206
+ # source://rake//lib/rake/application.rb#228
def display_error_message(ex); end
- # source://rake//lib/rake/application.rb#245
+ # source://rake//lib/rake/application.rb#269
def display_exception_backtrace(ex); end
- # source://rake//lib/rake/application.rb#214
+ # source://rake//lib/rake/application.rb#236
def display_exception_details(ex); end
- # source://rake//lib/rake/application.rb#229
+ # source://rake//lib/rake/application.rb#251
def display_exception_details_seen; end
- # source://rake//lib/rake/application.rb#237
+ # source://rake//lib/rake/application.rb#259
def display_exception_message_details(ex); end
# Display the tasks and prerequisites
#
- # source://rake//lib/rake/application.rb#381
+ # source://rake//lib/rake/application.rb#405
def display_prerequisites; end
# Display the tasks and comments.
#
- # source://rake//lib/rake/application.rb#298
+ # source://rake//lib/rake/application.rb#322
def display_tasks_and_comments; end
# Calculate the dynamic width of the
#
- # source://rake//lib/rake/application.rb#349
+ # source://rake//lib/rake/application.rb#373
def dynamic_width; end
- # source://rake//lib/rake/application.rb#353
+ # source://rake//lib/rake/application.rb#377
def dynamic_width_stty; end
- # source://rake//lib/rake/application.rb#357
+ # source://rake//lib/rake/application.rb#381
def dynamic_width_tput; end
# Exit the program because of an unhandled exception.
# (may be overridden by subclasses)
#
- # source://rake//lib/rake/application.rb#201
+ # source://rake//lib/rake/application.rb#223
def exit_because_of_exception(ex); end
- # source://rake//lib/rake/application.rb#678
+ # source://rake//lib/rake/application.rb#702
def find_rakefile_location; end
# Read and handle the command line options. Returns the command line
# arguments that we didn't understand, which should (in theory) be just
# task names and env vars.
#
- # source://rake//lib/rake/application.rb#644
+ # source://rake//lib/rake/application.rb#668
def handle_options(argv); end
# @return [Boolean]
#
- # source://rake//lib/rake/application.rb#233
+ # source://rake//lib/rake/application.rb#255
def has_cause?(ex); end
# True if one of the files in RAKEFILES is in the current directory.
# If a match is found, it is copied into @rakefile.
#
- # source://rake//lib/rake/application.rb#274
+ # source://rake//lib/rake/application.rb#298
def have_rakefile; end
# Initialize the command line parameters and app name.
@@ -305,17 +305,17 @@ class Rake::Application
# Invokes a task with arguments that are extracted from +task_string+
#
- # source://rake//lib/rake/application.rb#157
+ # source://rake//lib/rake/application.rb#179
def invoke_task(task_string); end
# Load the pending list of imported files.
#
- # source://rake//lib/rake/application.rb#782
+ # source://rake//lib/rake/application.rb#806
def load_imports; end
# Find the rakefile and then load it and any pending imports.
#
- # source://rake//lib/rake/application.rb#102
+ # source://rake//lib/rake/application.rb#124
def load_rakefile; end
# The name of the application (typically 'rake')
@@ -325,7 +325,7 @@ class Rake::Application
# Application options from the command line
#
- # source://rake//lib/rake/application.rb#145
+ # source://rake//lib/rake/application.rb#167
def options; end
# The original directory where rake was invoked.
@@ -333,16 +333,16 @@ class Rake::Application
# source://rake//lib/rake/application.rb#27
def original_dir; end
- # source://rake//lib/rake/application.rb#163
+ # source://rake//lib/rake/application.rb#185
def parse_task_string(string); end
- # source://rake//lib/rake/application.rb#690
+ # source://rake//lib/rake/application.rb#714
def print_rakefile_directory(location); end
# Similar to the regular Ruby +require+ command, but will check
# for *.rake files in addition to *.rb files.
#
- # source://rake//lib/rake/application.rb#664
+ # source://rake//lib/rake/application.rb#688
def rake_require(file_name, paths = T.unsafe(nil), loaded = T.unsafe(nil)); end
# Name of the actual rakefile used.
@@ -350,10 +350,10 @@ class Rake::Application
# source://rake//lib/rake/application.rb#30
def rakefile; end
- # source://rake//lib/rake/application.rb#798
+ # source://rake//lib/rake/application.rb#822
def rakefile_location(backtrace = T.unsafe(nil)); end
- # source://rake//lib/rake/application.rb#695
+ # source://rake//lib/rake/application.rb#719
def raw_load_rakefile; end
# Run the Rake application. The run method performs the following
@@ -372,26 +372,26 @@ class Rake::Application
# Run the given block with the thread startup and shutdown.
#
- # source://rake//lib/rake/application.rb#122
+ # source://rake//lib/rake/application.rb#144
def run_with_threads; end
- # source://rake//lib/rake/application.rb#807
+ # source://rake//lib/rake/application.rb#831
def set_default_options; end
# Provide standard exception handling for the given block.
#
- # source://rake//lib/rake/application.rb#185
+ # source://rake//lib/rake/application.rb#207
def standard_exception_handling; end
# A list of all the standard options used in rake, suitable for
# passing to OptionParser.
#
- # source://rake//lib/rake/application.rb#402
+ # source://rake//lib/rake/application.rb#426
def standard_rake_options; end
# The directory path containing the system wide rakefiles.
#
- # source://rake//lib/rake/application.rb#727
+ # source://rake//lib/rake/application.rb#751
def system_dir; end
# Number of columns on the terminal
@@ -404,17 +404,17 @@ class Rake::Application
# source://rake//lib/rake/application.rb#33
def terminal_columns=(_arg0); end
- # source://rake//lib/rake/application.rb#337
+ # source://rake//lib/rake/application.rb#361
def terminal_width; end
# Return the thread pool used for multithreaded processing.
#
- # source://rake//lib/rake/application.rb#150
+ # source://rake//lib/rake/application.rb#172
def thread_pool; end
# Run the top level tasks of a Rake application.
#
- # source://rake//lib/rake/application.rb#109
+ # source://rake//lib/rake/application.rb#131
def top_level; end
# List of the top level task names (task names from the command line).
@@ -422,10 +422,10 @@ class Rake::Application
# source://rake//lib/rake/application.rb#36
def top_level_tasks; end
- # source://rake//lib/rake/application.rb#388
+ # source://rake//lib/rake/application.rb#412
def trace(*strings); end
- # source://rake//lib/rake/application.rb#370
+ # source://rake//lib/rake/application.rb#394
def truncate(string, width); end
# We will truncate output if we are outputting to a TTY or if we've been
@@ -433,7 +433,7 @@ class Rake::Application
#
# @return [Boolean]
#
- # source://rake//lib/rake/application.rb#293
+ # source://rake//lib/rake/application.rb#317
def truncate_output?; end
# Override the detected TTY output state (mostly for testing)
@@ -445,41 +445,44 @@ class Rake::Application
#
# @return [Boolean]
#
- # source://rake//lib/rake/application.rb#287
+ # source://rake//lib/rake/application.rb#311
def tty_output?; end
# @return [Boolean]
#
- # source://rake//lib/rake/application.rb#361
+ # source://rake//lib/rake/application.rb#385
def unix?; end
# @return [Boolean]
#
- # source://rake//lib/rake/application.rb#366
+ # source://rake//lib/rake/application.rb#390
def windows?; end
private
- # source://rake//lib/rake/application.rb#721
+ # source://rake//lib/rake/application.rb#745
def glob(path, &block); end
# Does the exception have a task invocation chain?
#
# @return [Boolean]
#
- # source://rake//lib/rake/application.rb#267
+ # source://rake//lib/rake/application.rb#291
def has_chain?(exception); end
- # source://rake//lib/rake/application.rb#620
+ # source://rake//lib/rake/application.rb#102
+ def load_debug_at_stop_feature; end
+
+ # source://rake//lib/rake/application.rb#644
def select_tasks_to_show(options, show_tasks, value); end
- # source://rake//lib/rake/application.rb#627
+ # source://rake//lib/rake/application.rb#651
def select_trace_output(options, trace_option, value); end
- # source://rake//lib/rake/application.rb#393
+ # source://rake//lib/rake/application.rb#417
def sort_options(options); end
- # source://rake//lib/rake/application.rb#744
+ # source://rake//lib/rake/application.rb#768
def standard_system_dir; end
end
@@ -591,7 +594,7 @@ module Rake::DSL
#
# Example:
# desc "Run the Unit Tests"
- # task test: [:build]
+ # task test: [:build] do
# # ... run tests
# end
#
@@ -745,7 +748,7 @@ module Rake::DSL
# source://rake//lib/rake/file_utils_ext.rb#34
def rmtree(*args, **options, &block); end
- # source://rake//lib/rake/file_utils.rb#100
+ # source://rake//lib/rake/file_utils.rb#98
def ruby(*args, **options, &block); end
# Declare a rule for auto-tasks.
@@ -758,7 +761,7 @@ module Rake::DSL
# source://rake//lib/rake/dsl_definition.rb#151
def rule(*args, &block); end
- # source://rake//lib/rake/file_utils.rb#112
+ # source://rake//lib/rake/file_utils.rb#110
def safe_ln(*args, **options); end
# source://rake//lib/rake/file_utils_ext.rb#34
@@ -767,7 +770,7 @@ module Rake::DSL
# source://rake//lib/rake/file_utils.rb#43
def sh(*cmd, &block); end
- # source://rake//lib/rake/file_utils.rb#128
+ # source://rake//lib/rake/file_utils.rb#126
def split_all(path); end
# source://rake//lib/rake/file_utils_ext.rb#34
@@ -1580,7 +1583,7 @@ class Rake::FileTask < ::Rake::Task
# Time stamp for file task.
#
- # source://rake//lib/rake/file_task.rb#21
+ # source://rake//lib/rake/file_task.rb#25
def timestamp; end
private
@@ -1589,14 +1592,14 @@ class Rake::FileTask < ::Rake::Task
#
# @return [Boolean]
#
- # source://rake//lib/rake/file_task.rb#32
+ # source://rake//lib/rake/file_task.rb#36
def out_of_date?(stamp); end
class << self
# Apply the scope to the task name according to the rules for this kind
# of task. File based tasks ignore the scope when creating the name.
#
- # source://rake//lib/rake/file_task.rb#49
+ # source://rake//lib/rake/file_task.rb#53
def scope_name(scope, task_name); end
end
end
@@ -2854,14 +2857,14 @@ class Rake::ThreadHistoryDisplay
def threads; end
end
-# source://rake//lib/rake/thread_pool.rb#7
+# source://rake//lib/rake/thread_pool.rb#8
class Rake::ThreadPool
# Creates a ThreadPool object. The +thread_count+ parameter is the size
# of the pool.
#
# @return [ThreadPool] a new instance of ThreadPool
#
- # source://rake//lib/rake/thread_pool.rb#11
+ # source://rake//lib/rake/thread_pool.rb#12
def initialize(thread_count); end
# Creates a future executed by the +ThreadPool+.
diff --git a/sorbet/rbi/gems/regexp_parser@2.8.1.rbi b/sorbet/rbi/gems/regexp_parser@2.8.2.rbi
similarity index 98%
rename from sorbet/rbi/gems/regexp_parser@2.8.1.rbi
rename to sorbet/rbi/gems/regexp_parser@2.8.2.rbi
index e10d9b8d..80a6a1f4 100644
--- a/sorbet/rbi/gems/regexp_parser@2.8.1.rbi
+++ b/sorbet/rbi/gems/regexp_parser@2.8.2.rbi
@@ -2590,17 +2590,17 @@ Regexp::Parser::VERSION = T.let(T.unsafe(nil), String)
class Regexp::Scanner
# Emits an array with the details of the scanned pattern
#
- # source://regexp_parser//lib/regexp_parser/scanner.rb#2388
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2405
def emit(type, token, text); end
# only public for #||= to work on ruby <= 2.5
#
- # source://regexp_parser//lib/regexp_parser/scanner.rb#2413
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2430
def literal_run; end
# only public for #||= to work on ruby <= 2.5
#
- # source://regexp_parser//lib/regexp_parser/scanner.rb#2413
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2430
def literal_run=(_arg0); end
# @raise [PrematureEndError]
@@ -2613,168 +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#2450
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2467
def append_literal(data, ts, te); end
# Returns the value of attribute block.
#
- # source://regexp_parser//lib/regexp_parser/scanner.rb#2417
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2434
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#2417
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2434
def block=(_arg0); end
# Returns the value of attribute char_pos.
#
- # source://regexp_parser//lib/regexp_parser/scanner.rb#2417
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2434
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#2417
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2434
def char_pos=(_arg0); end
# Returns the value of attribute collect_tokens.
#
- # source://regexp_parser//lib/regexp_parser/scanner.rb#2417
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2434
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#2417
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2434
def collect_tokens=(_arg0); end
# Returns the value of attribute conditional_stack.
#
- # source://regexp_parser//lib/regexp_parser/scanner.rb#2417
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2434
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#2417
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2434
def conditional_stack=(_arg0); end
# Copy from ts to te from data as text
#
- # source://regexp_parser//lib/regexp_parser/scanner.rb#2444
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2461
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#2455
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2472
def emit_literal; end
- # source://regexp_parser//lib/regexp_parser/scanner.rb#2490
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2507
def emit_meta_control_sequence(data, ts, te, token); end
- # source://regexp_parser//lib/regexp_parser/scanner.rb#2461
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2478
def emit_options(text); end
# Returns the value of attribute free_spacing.
#
- # source://regexp_parser//lib/regexp_parser/scanner.rb#2417
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2434
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#2417
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2434
def free_spacing=(_arg0); end
# @return [Boolean]
#
- # source://regexp_parser//lib/regexp_parser/scanner.rb#2423
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2440
def free_spacing?(input_object, options); end
# Returns the value of attribute group_depth.
#
- # source://regexp_parser//lib/regexp_parser/scanner.rb#2417
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2434
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#2417
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2434
def group_depth=(_arg0); end
# @return [Boolean]
#
- # source://regexp_parser//lib/regexp_parser/scanner.rb#2435
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2452
def in_group?; end
# @return [Boolean]
#
- # source://regexp_parser//lib/regexp_parser/scanner.rb#2439
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2456
def in_set?; end
# Returns the value of attribute prev_token.
#
- # source://regexp_parser//lib/regexp_parser/scanner.rb#2417
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2434
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#2417
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2434
def prev_token=(_arg0); end
# Returns the value of attribute set_depth.
#
- # source://regexp_parser//lib/regexp_parser/scanner.rb#2417
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2434
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#2417
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2434
def set_depth=(_arg0); end
# Returns the value of attribute spacing_stack.
#
- # source://regexp_parser//lib/regexp_parser/scanner.rb#2417
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2434
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#2417
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2434
def spacing_stack=(_arg0); end
# Returns the value of attribute tokens.
#
- # source://regexp_parser//lib/regexp_parser/scanner.rb#2417
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2434
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#2417
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2434
def tokens=(_arg0); end
class << self
- # source://regexp_parser//lib/regexp_parser/scanner.rb#2374
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2391
def long_prop_map; end
- # source://regexp_parser//lib/regexp_parser/scanner.rb#2378
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2395
def parse_prop_map(name); end
- # source://regexp_parser//lib/regexp_parser/scanner.rb#2382
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2399
def posix_classes; end
# Scans the given regular expression text, or Regexp object and collects the
@@ -2789,7 +2789,7 @@ class Regexp::Scanner
# lazy-load property maps when first needed
#
- # source://regexp_parser//lib/regexp_parser/scanner.rb#2370
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2387
def short_prop_map; end
end
end
diff --git a/sorbet/rbi/gems/rexml@3.2.5.rbi b/sorbet/rbi/gems/rexml@3.2.6.rbi
similarity index 97%
rename from sorbet/rbi/gems/rexml@3.2.5.rbi
rename to sorbet/rbi/gems/rexml@3.2.6.rbi
index a94e5671..c8d67b58 100644
--- a/sorbet/rbi/gems/rexml@3.2.5.rbi
+++ b/sorbet/rbi/gems/rexml@3.2.6.rbi
@@ -101,18 +101,18 @@ class REXML::Attribute
#
# @return [Attribute] a new instance of Attribute
#
- # source://rexml//lib/rexml/attribute.rb#45
+ # source://rexml//lib/rexml/attribute.rb#42
def initialize(first, second = T.unsafe(nil), parent = T.unsafe(nil)); end
# Returns true if other is an Attribute and has the same name and value,
# false otherwise.
#
- # source://rexml//lib/rexml/attribute.rb#109
+ # source://rexml//lib/rexml/attribute.rb#106
def ==(other); end
# Returns a copy of this attribute
#
- # source://rexml//lib/rexml/attribute.rb#158
+ # source://rexml//lib/rexml/attribute.rb#163
def clone; end
# source://rexml//lib/rexml/attribute.rb#132
@@ -128,15 +128,15 @@ class REXML::Attribute
#
# Returns this attribute
#
- # source://rexml//lib/rexml/attribute.rb#166
+ # source://rexml//lib/rexml/attribute.rb#171
def element=(element); end
# Creates (and returns) a hash from both the name and value
#
- # source://rexml//lib/rexml/attribute.rb#114
+ # source://rexml//lib/rexml/attribute.rb#111
def hash; end
- # source://rexml//lib/rexml/attribute.rb#192
+ # source://rexml//lib/rexml/attribute.rb#197
def inspect; end
# Returns the namespace URL, if defined, or nil otherwise
@@ -161,17 +161,17 @@ class REXML::Attribute
# e.add_attribute("a", "b")
# e.attribute("a").namespace # => ""
#
- # source://rexml//lib/rexml/attribute.rb#98
+ # source://rexml//lib/rexml/attribute.rb#95
def namespace(arg = T.unsafe(nil)); end
- # source://rexml//lib/rexml/attribute.rb#188
+ # source://rexml//lib/rexml/attribute.rb#193
def node_type; end
# The normalized value of this attribute. That is, the attribute with
# entities intact.
#
- # source://rexml//lib/rexml/attribute.rb#18
- def normalized=(_arg0); end
+ # source://rexml//lib/rexml/attribute.rb#157
+ def normalized=(new_normalized); end
# Returns the namespace of the attribute.
#
@@ -183,14 +183,14 @@ class REXML::Attribute
# a = Attribute.new( "x", "y" )
# a.prefix # -> ""
#
- # source://rexml//lib/rexml/attribute.rb#73
+ # source://rexml//lib/rexml/attribute.rb#70
def prefix; end
# Removes this Attribute from the tree, and returns true if successful
#
# This method is usually not called directly.
#
- # source://rexml//lib/rexml/attribute.rb#179
+ # source://rexml//lib/rexml/attribute.rb#184
def remove; end
# Returns the attribute value, with entities replaced
@@ -205,21 +205,21 @@ class REXML::Attribute
# b = Attribute.new( "ns:x", "y" )
# b.to_string # -> "ns:x='y'"
#
- # source://rexml//lib/rexml/attribute.rb#124
+ # source://rexml//lib/rexml/attribute.rb#121
def to_string; end
# Returns the UNNORMALIZED value of this attribute. That is, entities
# have been expanded to their values
#
- # source://rexml//lib/rexml/attribute.rb#150
+ # source://rexml//lib/rexml/attribute.rb#149
def value; end
# Writes this attribute (EG, puts 'key="value"' to the output)
#
- # source://rexml//lib/rexml/attribute.rb#184
+ # source://rexml//lib/rexml/attribute.rb#189
def write(output, indent = T.unsafe(nil)); end
- # source://rexml//lib/rexml/attribute.rb#198
+ # source://rexml//lib/rexml/attribute.rb#203
def xpath; end
end
@@ -978,7 +978,7 @@ class REXML::Document < ::REXML::Element
# d.to_s # => "FooBar"
#
# When argument +document+ is given, it must be an existing
- # document object, whose context and attributes (but not chidren)
+ # document object, whose context and attributes (but not children)
# are cloned into the new document:
#
# d = REXML::Document.new(xml_string)
@@ -2225,7 +2225,7 @@ class REXML::Element < ::REXML::Parent
# :call-seq:
# has_text? -> true or false
#
- # Returns +true if the element has one or more text noded,
+ # Returns +true+ if the element has one or more text noded,
# +false+ otherwise:
#
# d = REXML::Document.new 'text'
@@ -2473,7 +2473,7 @@ class REXML::Element < ::REXML::Parent
# text(xpath = nil) -> text_string or nil
#
# Returns the text string from the first text node child
- # in a specified element, if it exists, # +nil+ otherwise.
+ # in a specified element, if it exists, +nil+ otherwise.
#
# With no argument, returns the text from the first text node in +self+:
#
@@ -2481,7 +2481,7 @@ class REXML::Element < ::REXML::Parent
# d.root.text.class # => String
# d.root.text # => "some text "
#
- # With argument +xpath+, returns text from the the first text node
+ # With argument +xpath+, returns text from the first text node
# in the element that matches +xpath+:
#
# d.root.text(1) # => "this is bold!"
@@ -3252,6 +3252,9 @@ class REXML::Entity < ::REXML::Child
# source://rexml//lib/rexml/entity.rb#85
def normalized; end
+ # source://rexml//lib/rexml/entity.rb#138
+ def parent=(other); end
+
# Returns the value of attribute pubid.
#
# source://rexml//lib/rexml/entity.rb#22
@@ -3298,6 +3301,11 @@ class REXML::Entity < ::REXML::Child
# source://rexml//lib/rexml/entity.rb#97
def write(out, indent = T.unsafe(nil)); end
+ private
+
+ # source://rexml//lib/rexml/entity.rb#144
+ def resolve_value; end
+
class << self
# Evaluates whether the given string matches an entity definition,
# returning true if so, and false otherwise.
@@ -3554,6 +3562,54 @@ class REXML::Instruction < ::REXML::Child
def write(writer, indent = T.unsafe(nil), transitive = T.unsafe(nil), ie_hack = T.unsafe(nil)); end
end
+# Adds named attributes to an object.
+#
+# source://rexml//lib/rexml/namespace.rb#7
+module REXML::Namespace
+ include ::REXML::XMLTokens
+
+ # The name of the object, valid if set
+ #
+ # source://rexml//lib/rexml/namespace.rb#9
+ def expanded_name; end
+
+ # Fully expand the name, even if the prefix wasn't specified in the
+ # source file.
+ #
+ # source://rexml//lib/rexml/namespace.rb#57
+ def fully_expanded_name; end
+
+ # Compares names optionally WITH namespaces
+ #
+ # @return [Boolean]
+ #
+ # source://rexml//lib/rexml/namespace.rb#43
+ def has_name?(other, ns = T.unsafe(nil)); end
+
+ # The name of the object, valid if set
+ #
+ # source://rexml//lib/rexml/namespace.rb#9
+ def name; end
+
+ # Sets the name and the expanded name
+ #
+ # source://rexml//lib/rexml/namespace.rb#17
+ def name=(name); end
+
+ # The expanded name of the object, valid if name is set
+ #
+ # source://rexml//lib/rexml/namespace.rb#11
+ def prefix; end
+
+ # The expanded name of the object, valid if name is set
+ #
+ # source://rexml//lib/rexml/namespace.rb#11
+ def prefix=(_arg0); end
+end
+
+# source://rexml//lib/rexml/namespace.rb#13
+REXML::Namespace::NAME_WITHOUT_NAMESPACE = T.let(T.unsafe(nil), Regexp)
+
# source://rexml//lib/rexml/doctype.rb#280
class REXML::NotationDecl < ::REXML::Child
# @return [NotationDecl] a new instance of NotationDecl
@@ -3972,57 +4028,62 @@ end
# There is strange, dark magic at work in this code. Beware. Go back! Go
# back while you still can!
#
-# source://rexml//lib/rexml/parsers/xpathparser.rb#11
+# source://rexml//lib/rexml/parsers/xpathparser.rb#12
class REXML::Parsers::XPathParser
include ::REXML::XMLTokens
- # source://rexml//lib/rexml/parsers/xpathparser.rb#41
- def abbreviate(path); end
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#42
+ def abbreviate(path_or_parsed); end
- # source://rexml//lib/rexml/parsers/xpathparser.rb#99
- def expand(path); end
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#132
+ def expand(path_or_parsed); end
- # source://rexml//lib/rexml/parsers/xpathparser.rb#15
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#16
def namespaces=(namespaces); end
- # source://rexml//lib/rexml/parsers/xpathparser.rb#20
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#21
def parse(path); end
- # source://rexml//lib/rexml/parsers/xpathparser.rb#35
+ # For backward compatibility
+ #
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#174
+ def preciate_to_string(parsed, &block); end
+
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#36
def predicate(path); end
- # source://rexml//lib/rexml/parsers/xpathparser.rb#138
- def predicate_to_string(path, &block); end
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#174
+ def predicate_to_path(parsed, &block); end
private
# | AdditiveExpr ('+' | '-') MultiplicativeExpr
# | MultiplicativeExpr
#
- # source://rexml//lib/rexml/parsers/xpathparser.rb#455
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#505
def AdditiveExpr(path, parsed); end
# | AndExpr S 'and' S EqualityExpr
# | EqualityExpr
#
- # source://rexml//lib/rexml/parsers/xpathparser.rb#388
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#438
def AndExpr(path, parsed); end
# | EqualityExpr ('=' | '!=') RelationalExpr
# | RelationalExpr
#
- # source://rexml//lib/rexml/parsers/xpathparser.rb#407
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#457
def EqualityExpr(path, parsed); end
# | FilterExpr Predicate
# | PrimaryExpr
#
- # source://rexml//lib/rexml/parsers/xpathparser.rb#558
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#608
def FilterExpr(path, parsed); end
# | FUNCTION_NAME '(' ( expr ( ',' expr )* )? ')'
#
- # source://rexml//lib/rexml/parsers/xpathparser.rb#613
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#663
def FunctionCall(rest, parsed); end
# LocationPath
@@ -4030,69 +4091,72 @@ class REXML::Parsers::XPathParser
# | '/' RelativeLocationPath?
# | '//' RelativeLocationPath
#
- # source://rexml//lib/rexml/parsers/xpathparser.rb#193
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#243
def LocationPath(path, parsed); end
# | MultiplicativeExpr ('*' | S ('div' | 'mod') S) UnaryExpr
# | UnaryExpr
#
- # source://rexml//lib/rexml/parsers/xpathparser.rb#478
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#528
def MultiplicativeExpr(path, parsed); end
- # source://rexml//lib/rexml/parsers/xpathparser.rb#293
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#343
def NodeTest(path, parsed); end
# | OrExpr S 'or' S AndExpr
# | AndExpr
#
- # source://rexml//lib/rexml/parsers/xpathparser.rb#369
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#419
def OrExpr(path, parsed); end
# | LocationPath
# | FilterExpr ('/' | '//') RelativeLocationPath
#
- # source://rexml//lib/rexml/parsers/xpathparser.rb#540
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#590
def PathExpr(path, parsed); end
# Filters the supplied nodeset on the predicate(s)
#
- # source://rexml//lib/rexml/parsers/xpathparser.rb#345
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#395
def Predicate(path, parsed); end
- # source://rexml//lib/rexml/parsers/xpathparser.rb#576
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#626
def PrimaryExpr(path, parsed); end
# | RelationalExpr ('<' | '>' | '<=' | '>=') AdditiveExpr
# | AdditiveExpr
#
- # source://rexml//lib/rexml/parsers/xpathparser.rb#430
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#480
def RelationalExpr(path, parsed); end
- # source://rexml//lib/rexml/parsers/xpathparser.rb#217
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#267
def RelativeLocationPath(path, parsed); end
# | '-' UnaryExpr
# | UnionExpr
#
- # source://rexml//lib/rexml/parsers/xpathparser.rb#503
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#553
def UnaryExpr(path, parsed); end
# | UnionExpr '|' PathExpr
# | PathExpr
#
- # source://rexml//lib/rexml/parsers/xpathparser.rb#521
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#571
def UnionExpr(path, parsed); end
# get_group( '[foo]bar' ) -> ['bar', '[foo]']
#
- # source://rexml//lib/rexml/parsers/xpathparser.rb#626
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#676
def get_group(string); end
- # source://rexml//lib/rexml/parsers/xpathparser.rb#644
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#694
def parse_args(string); end
+
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#224
+ def quote_literal(literal); end
end
-# source://rexml//lib/rexml/parsers/xpathparser.rb#289
+# source://rexml//lib/rexml/parsers/xpathparser.rb#339
REXML::Parsers::XPathParser::LOCAL_NAME_WILDCARD = T.let(T.unsafe(nil), Regexp)
# Returns a 1-1 map of the nodeset
@@ -4106,7 +4170,7 @@ REXML::Parsers::XPathParser::LOCAL_NAME_WILDCARD = T.let(T.unsafe(nil), Regexp)
# | PI '(' LITERAL ')' PI
# | '[' expr ']' Predicate
#
-# source://rexml//lib/rexml/parsers/xpathparser.rb#288
+# source://rexml//lib/rexml/parsers/xpathparser.rb#338
REXML::Parsers::XPathParser::PREFIX_WILDCARD = T.let(T.unsafe(nil), Regexp)
# source://rexml//lib/rexml/doctype.rb#10
@@ -4401,7 +4465,7 @@ class REXML::Text < ::REXML::Child
# source://rexml//lib/rexml/text.rb#131
def check(string, pattern, doctype); end
- # source://rexml//lib/rexml/text.rb#405
+ # source://rexml//lib/rexml/text.rb#407
def expand(ref, doctype, filter); end
# Escapes all possible entities
@@ -4416,7 +4480,7 @@ class REXML::Text < ::REXML::Child
# Unescapes all possible entities
#
- # source://rexml//lib/rexml/text.rb#392
+ # source://rexml//lib/rexml/text.rb#394
def unnormalize(string, doctype = T.unsafe(nil), filter = T.unsafe(nil), illegal = T.unsafe(nil)); end
end
end
diff --git a/sorbet/rbi/gems/rubocop-ast@1.29.0.rbi b/sorbet/rbi/gems/rubocop-ast@1.30.0.rbi
similarity index 98%
rename from sorbet/rbi/gems/rubocop-ast@1.29.0.rbi
rename to sorbet/rbi/gems/rubocop-ast@1.30.0.rbi
index a0dd3b27..49f280f2 100644
--- a/sorbet/rbi/gems/rubocop-ast@1.29.0.rbi
+++ b/sorbet/rbi/gems/rubocop-ast@1.30.0.rbi
@@ -275,7 +275,7 @@ class RuboCop::AST::BlockNode < ::RuboCop::AST::Node
#
# @return [Array]
#
- # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#42
+ # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#60
def argument_list; end
# The arguments of this block.
@@ -285,63 +285,81 @@ class RuboCop::AST::BlockNode < ::RuboCop::AST::Node
#
# @return [Array]
#
- # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#30
+ # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#48
def arguments; end
# Checks whether this block takes any arguments.
#
# @return [Boolean] whether this `block` node takes any arguments
#
- # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#67
+ # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#85
def arguments?; end
# The body of this block.
#
# @return [Node, nil] the body of the `block` node or `nil`
#
- # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#53
+ # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#71
def body; end
# Checks whether the `block` literal is delimited by curly braces.
#
# @return [Boolean] whether the `block` literal is enclosed in braces
#
- # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#74
+ # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#92
def braces?; end
# The closing delimiter for this `block` literal.
#
# @return [String] the closing delimiter for the `block` literal
#
- # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#102
+ # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#120
def closing_delimiter; end
# The delimiters for this `block` literal.
#
# @return [Array] the delimiters for the `block` literal
#
- # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#88
+ # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#106
def delimiters; end
+ # A shorthand for getting the first argument of this block.
+ # Equivalent to `arguments.first`.
+ #
+ # @return [Node, nil] the first argument of this block,
+ # or `nil` if there are no arguments
+ #
+ # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#29
+ def first_argument; end
+
# Checks whether the `block` literal is delimited by `do`-`end` keywords.
#
# @return [Boolean] whether the `block` literal is enclosed in `do`-`end`
#
- # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#81
+ # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#99
def keywords?; end
# Checks whether this `block` literal belongs to a lambda.
#
# @return [Boolean] whether the `block` literal belongs to a lambda
#
- # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#125
+ # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#143
def lambda?; end
+ # A shorthand for getting the last argument of this block.
+ # Equivalent to `arguments.last`.
+ #
+ # @return [Node, nil] the last argument of this block,
+ # or `nil` if there are no arguments
+ #
+ # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#38
+ def last_argument; end
+
# The name of the dispatched method as a symbol.
#
# @return [Symbol] the name of the dispatched method
#
- # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#60
+ # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#78
def method_name; end
# Checks whether this is a multiline block. This is overridden here
@@ -349,14 +367,14 @@ class RuboCop::AST::BlockNode < ::RuboCop::AST::Node
#
# @return [Boolean] whether the `block` literal is on a several lines
#
- # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#118
+ # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#136
def multiline?; end
# The opening delimiter for this `block` literal.
#
# @return [String] the opening delimiter for the `block` literal
#
- # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#95
+ # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#113
def opening_delimiter; end
# The `send` node associated with this block.
@@ -371,21 +389,21 @@ class RuboCop::AST::BlockNode < ::RuboCop::AST::Node
#
# @return [Boolean] whether the `block` literal is on a single line
#
- # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#110
+ # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#128
def single_line?; end
# Checks whether this node body is a void context.
#
# @return [Boolean] whether the `block` node body is a void context
#
- # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#132
+ # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#150
def void_context?; end
private
# Numbered arguments of this `numblock`.
#
- # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#139
+ # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#157
def numbered_arguments; end
end
@@ -1716,7 +1734,7 @@ class RuboCop::AST::IfNode < ::RuboCop::AST::Node
# source://rubocop-ast//lib/rubocop/ast/node/if_node.rb#80
def modifier_form?; end
- # Chacks whether the `if` node has nested `if` nodes in any of its
+ # Checks whether the `if` node has nested `if` nodes in any of its
# branches.
#
# @note This performs a shallow search.
@@ -4823,116 +4841,116 @@ class RuboCop::AST::NodePattern::Parser < ::Racc::Parser
# source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.rb#19
def initialize(builder = T.unsafe(nil)); end
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#333
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#335
def _reduce_10(val, _values); end
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#337
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#339
def _reduce_11(val, _values); end
# reduce 12 omitted
#
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#343
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#345
def _reduce_13(val, _values); end
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#347
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#349
def _reduce_14(val, _values); end
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#351
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#353
def _reduce_15(val, _values); end
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#355
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#357
def _reduce_16(val, _values); end
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#359
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#361
def _reduce_17(val, _values); end
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#363
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#365
def _reduce_18(val, _values); end
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#367
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#369
def _reduce_19(val, _values); end
# reduce 1 omitted
#
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#301
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#303
def _reduce_2(val, _values); end
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#371
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#373
def _reduce_20(val, _values); end
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#375
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#377
def _reduce_21(val, _values); end
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#379
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#381
def _reduce_22(val, _values); end
# reduce 24 omitted
#
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#387
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#389
def _reduce_25(val, _values); end
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#393
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#395
def _reduce_26(val, _values); end
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#305
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#307
def _reduce_3(val, _values); end
# reduce 32 omitted
#
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#413
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#415
def _reduce_33(val, _values); end
# reduce 36 omitted
#
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#423
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#425
def _reduce_37(val, _values); end
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#427
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#429
def _reduce_38(val, _values); end
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#431
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#433
def _reduce_39(val, _values); end
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#309
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#311
def _reduce_4(val, _values); end
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#435
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#437
def _reduce_40(val, _values); end
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#439
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#441
def _reduce_41(val, _values); end
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#443
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#445
def _reduce_42(val, _values); end
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#447
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#449
def _reduce_43(val, _values); end
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#451
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#453
def _reduce_44(val, _values); end
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#455
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#457
def _reduce_45(val, _values); end
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#459
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#461
def _reduce_46(val, _values); end
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#313
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#315
def _reduce_5(val, _values); end
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#317
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#319
def _reduce_6(val, _values); end
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#321
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#323
def _reduce_7(val, _values); end
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#325
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#327
def _reduce_8(val, _values); end
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#329
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#331
def _reduce_9(val, _values); end
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#463
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#465
def _reduce_none(val, _values); end
# source://forwardable/1.3.3/forwardable.rb#231
@@ -4992,10 +5010,10 @@ RuboCop::AST::NodePattern::Parser::Lexer = RuboCop::AST::NodePattern::Lexer
# source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#227
RuboCop::AST::NodePattern::Parser::Racc_arg = T.let(T.unsafe(nil), Array)
-# source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#293
+# source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#295
RuboCop::AST::NodePattern::Parser::Racc_debug_parser = T.let(T.unsafe(nil), FalseClass)
-# source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#243
+# source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#244
RuboCop::AST::NodePattern::Parser::Racc_token_to_s_table = T.let(T.unsafe(nil), Array)
# Overrides Parser to use `WithMeta` variants and provide additional methods
@@ -5111,7 +5129,7 @@ RuboCop::AST::NodePattern::Sets::SET_ABSTRACT_OVERRIDE_OVERRIDABLE_ETC = T.let(T
RuboCop::AST::NodePattern::Sets::SET_ADD_DEPENDENCY_ADD_RUNTIME_DEPENDENCY_ADD_DEVELOPMENT_DEPENDENCY = T.let(T.unsafe(nil), Set)
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
-RuboCop::AST::NodePattern::Sets::SET_ANY_ALL_NORETURN_ETC = T.let(T.unsafe(nil), Set)
+RuboCop::AST::NodePattern::Sets::SET_ALL_ANY_CLASS_OF_ETC = T.let(T.unsafe(nil), Set)
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
RuboCop::AST::NodePattern::Sets::SET_ANY_EMPTY = T.let(T.unsafe(nil), Set)
@@ -5252,7 +5270,7 @@ RuboCop::AST::NodePattern::Sets::SET_PIPELINE_PIPELINE_R_PIPELINE_RW_ETC = T.let
RuboCop::AST::NodePattern::Sets::SET_PRESENT_ANY_BLANK_EMPTY = T.let(T.unsafe(nil), Set)
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
-RuboCop::AST::NodePattern::Sets::SET_PRIVATE_PROTECTED = T.let(T.unsafe(nil), Set)
+RuboCop::AST::NodePattern::Sets::SET_PRIVATE_PROTECTED_PRIVATE_CLASS_METHOD = T.let(T.unsafe(nil), Set)
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
RuboCop::AST::NodePattern::Sets::SET_PRIVATE_PROTECTED_PUBLIC = T.let(T.unsafe(nil), Set)
@@ -5293,6 +5311,9 @@ RuboCop::AST::NodePattern::Sets::SET_SELECT_SELECT = T.let(T.unsafe(nil), Set)
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
RuboCop::AST::NodePattern::Sets::SET_SEND_PUBLIC_SEND___SEND__ = T.let(T.unsafe(nil), Set)
+# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
+RuboCop::AST::NodePattern::Sets::SET_SIG_HELPERS = T.let(T.unsafe(nil), Set)
+
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
RuboCop::AST::NodePattern::Sets::SET_SORT_BY_SORT = T.let(T.unsafe(nil), Set)
@@ -5305,6 +5326,12 @@ RuboCop::AST::NodePattern::Sets::SET_SPRINTF_FORMAT = T.let(T.unsafe(nil), Set)
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
RuboCop::AST::NodePattern::Sets::SET_STRUCT_CLASS = T.let(T.unsafe(nil), Set)
+# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
+RuboCop::AST::NodePattern::Sets::SET_STRUCT_IMMUTABLESTRUCT = T.let(T.unsafe(nil), Set)
+
+# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
+RuboCop::AST::NodePattern::Sets::SET_STRUCT_IMMUTABLESTRUCT_INEXACTSTRUCT = T.let(T.unsafe(nil), Set)
+
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
RuboCop::AST::NodePattern::Sets::SET_SUCC_PRED_NEXT = T.let(T.unsafe(nil), Set)
@@ -5320,9 +5347,6 @@ RuboCop::AST::NodePattern::Sets::SET_TO_I_TO_F_TO_C_TO_R = T.let(T.unsafe(nil),
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
RuboCop::AST::NodePattern::Sets::SET_TRUE_FALSE = T.let(T.unsafe(nil), Set)
-# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
-RuboCop::AST::NodePattern::Sets::SET_TYPE_TEMPLATE_TYPE_MEMBER = T.let(T.unsafe(nil), Set)
-
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
RuboCop::AST::NodePattern::Sets::SET_ZERO_POSITIVE_NEGATIVE = T.let(T.unsafe(nil), Set)
@@ -5365,9 +5389,6 @@ RuboCop::AST::NodePattern::Sets::SET___7 = T.let(T.unsafe(nil), Set)
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
RuboCop::AST::NodePattern::Sets::SET___8 = T.let(T.unsafe(nil), Set)
-# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
-RuboCop::AST::NodePattern::Sets::SET___9 = T.let(T.unsafe(nil), Set)
-
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
RuboCop::AST::NodePattern::Sets::SET___EQL_ETC = T.let(T.unsafe(nil), Set)
@@ -5380,6 +5401,9 @@ RuboCop::AST::NodePattern::Sets::SET___METHOD_____CALLEE__ = T.let(T.unsafe(nil)
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
RuboCop::AST::NodePattern::Sets::SET____ = T.let(T.unsafe(nil), Set)
+# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
+RuboCop::AST::NodePattern::Sets::SET____2 = T.let(T.unsafe(nil), Set)
+
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
RuboCop::AST::NodePattern::Sets::SET____ETC = T.let(T.unsafe(nil), Set)
diff --git a/sorbet/rbi/gems/rubocop-sorbet@0.7.0.rbi b/sorbet/rbi/gems/rubocop-sorbet@0.7.5.rbi
similarity index 54%
rename from sorbet/rbi/gems/rubocop-sorbet@0.7.0.rbi
rename to sorbet/rbi/gems/rubocop-sorbet@0.7.5.rbi
index 63d013ee..495e94ab 100644
--- a/sorbet/rbi/gems/rubocop-sorbet@0.7.0.rbi
+++ b/sorbet/rbi/gems/rubocop-sorbet@0.7.5.rbi
@@ -4,19 +4,19 @@
# This is an autogenerated file for types exported from the `rubocop-sorbet` gem.
# Please instead update this file by running `bin/tapioca gem rubocop-sorbet`.
-# source://rubocop-sorbet//lib/rubocop/sorbet/version.rb#2
+# source://rubocop-sorbet//lib/rubocop/sorbet/version.rb#3
module RuboCop; end
-# source://rubocop-sorbet//lib/rubocop/cop/sorbet/binding_constants_without_type_alias.rb#6
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/mixin/target_sorbet_version.rb#4
module RuboCop::Cop; end
-# source://rubocop-sorbet//lib/rubocop/cop/sorbet/binding_constants_without_type_alias.rb#7
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/mixin/target_sorbet_version.rb#5
module RuboCop::Cop::Sorbet; end
-# This cop disallows using `.override(allow_incompatible: true)`.
+# Disallows using `.override(allow_incompatible: true)`.
# Using `allow_incompatible` suggests a violation of the Liskov
# Substitution Principle, meaning that a subclass is not a valid
-# subtype of it's superclass. This Cop prevents these design smells
+# subtype of its superclass. This Cop prevents these design smells
# from occurring.
#
# @example
@@ -28,26 +28,33 @@ module RuboCop::Cop::Sorbet; end
# sig.override
#
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/allow_incompatible_override.rb#21
-class RuboCop::Cop::Sorbet::AllowIncompatibleOverride < ::RuboCop::Cop::Cop
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/allow_incompatible_override.rb#35
- def allow_incompatible?(param0); end
-
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/allow_incompatible_override.rb#39
- def allow_incompatible_override?(param0 = T.unsafe(nil)); end
+class RuboCop::Cop::Sorbet::AllowIncompatibleOverride < ::RuboCop::Cop::Base
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/allow_incompatible_override.rb#55
+ def on_block(node); end
- # @return [Boolean]
- #
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/allow_incompatible_override.rb#31
- def not_nil?(node); end
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/allow_incompatible_override.rb#55
+ def on_numblock(node); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/allow_incompatible_override.rb#48
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/allow_incompatible_override.rb#49
def on_send(node); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/allow_incompatible_override.rb#22
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/allow_incompatible_override.rb#41
+ def override?(param0 = T.unsafe(nil)); end
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/allow_incompatible_override.rb#36
def sig?(param0); end
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/allow_incompatible_override.rb#27
+ def sig_dot_override?(param0 = T.unsafe(nil)); end
end
-# This cop disallows binding the return value of `T.any`, `T.all`, `T.enum`
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/allow_incompatible_override.rb#22
+RuboCop::Cop::Sorbet::AllowIncompatibleOverride::MSG = T.let(T.unsafe(nil), String)
+
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/allow_incompatible_override.rb#24
+RuboCop::Cop::Sorbet::AllowIncompatibleOverride::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
+
+# Disallows binding the return value of `T.any`, `T.all`, `T.enum`
# to a constant directly. To bind the value, one must use `T.type_alias`.
#
# @example
@@ -58,60 +65,101 @@ end
# # good
# FooOrBar = T.type_alias { T.any(Foo, Bar) }
#
-# source://rubocop-sorbet//lib/rubocop/cop/sorbet/binding_constants_without_type_alias.rb#18
-class RuboCop::Cop::Sorbet::BindingConstantWithoutTypeAlias < ::RuboCop::Cop::Cop
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/binding_constants_without_type_alias.rb#116
- def autocorrect(node); end
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/binding_constant_without_type_alias.rb#18
+class RuboCop::Cop::Sorbet::BindingConstantWithoutTypeAlias < ::RuboCop::Cop::Base
+ extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/binding_constants_without_type_alias.rb#19
- def binding_unaliased_type?(param0 = T.unsafe(nil)); end
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/binding_constant_without_type_alias.rb#65
+ def on_casgn(node); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/binding_constants_without_type_alias.rb#51
- def dynamic_type_creation_with_block?(param0 = T.unsafe(nil)); end
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/binding_constant_without_type_alias.rb#48
+ def requires_type_alias?(param0 = T.unsafe(nil)); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/binding_constants_without_type_alias.rb#66
- def generic_parameter_decl_block_call?(param0 = T.unsafe(nil)); end
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/binding_constant_without_type_alias.rb#38
+ def type_alias_with_block?(param0 = T.unsafe(nil)); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/binding_constants_without_type_alias.rb#60
- def generic_parameter_decl_call?(param0 = T.unsafe(nil)); end
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/binding_constant_without_type_alias.rb#29
+ def type_alias_without_block(param0 = T.unsafe(nil)); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/binding_constants_without_type_alias.rb#72
- def method_needing_aliasing_on_t?(param0); end
+ private
- # @return [Boolean]
+ # Given nested send nodes, returns the leaf with explicit receiver.
#
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/binding_constants_without_type_alias.rb#85
- def not_dynamic_type_creation_with_block?(node); end
-
- # @return [Boolean]
+ # i.e. in Ruby
#
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/binding_constants_without_type_alias.rb#89
- def not_generic_parameter_decl?(node); end
-
- # @return [Boolean]
+ # a.b.c.d.e.f
+ # ^^^
#
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/binding_constants_without_type_alias.rb#93
- def not_nil?(node); end
-
- # @return [Boolean]
+ # i.e. in AST
+ #
+ # (send (send (send (send (send (send nil :a) :b) :c) :d) :e) :f)
+ # ^^^^^^^^^^^^^^^^^^^^^^^
#
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/binding_constants_without_type_alias.rb#81
- def not_t_let?(node); end
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/binding_constant_without_type_alias.rb#98
+ def send_leaf(node); end
+end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/binding_constants_without_type_alias.rb#97
- def on_casgn(node); end
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/binding_constant_without_type_alias.rb#21
+RuboCop::Cop::Sorbet::BindingConstantWithoutTypeAlias::MSG = T.let(T.unsafe(nil), String)
+
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/binding_constant_without_type_alias.rb#23
+RuboCop::Cop::Sorbet::BindingConstantWithoutTypeAlias::WITHOUT_BLOCK_MSG = T.let(T.unsafe(nil), String)
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/binding_constants_without_type_alias.rb#41
- def t_let?(param0 = T.unsafe(nil)); end
+# Checks for the a mistaken variant of the "obsolete memoization pattern" that used to be required
+# on every call, causing the memoized value to be discarded and recomputed on every call.
+#
+# This cop will correct it to read from the ivar instead of `nil`, which will memoize it correctly.
+#
+# The result of this correction will be the "obsolete memoization pattern", which can further be corrected by
+# the `Sorbet/ObsoleteStrictMemoization` cop.
+#
+# See `Sorbet/ObsoleteStrictMemoization` for more details.
+#
+# @example
+# # bad
+# sig { returns(Foo) }
+# def foo
+# # This `nil` is likely a mistake, causing the memoized value to be discarded and recomputed on every call.
+# @foo = T.let(nil, T.nilable(Foo))
+# @foo ||= some_computation
+# end
+#
+# # good
+# sig { returns(Foo) }
+# def foo
+# # This will now memoize the value as was likely intended, so `some_computation` is only ever called once.
+# # ⚠️If `some_computation` has side effects, this might be a breaking change!
+# @foo = T.let(@foo, T.nilable(Foo))
+# @foo ||= some_computation
+# end
+# @see Sorbet/ObsoleteStrictMemoization
+#
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/buggy_obsolete_strict_memoization.rb#42
+class RuboCop::Cop::Sorbet::BuggyObsoleteStrictMemoization < ::RuboCop::Cop::Base
+ include ::RuboCop::Cop::RangeHelp
+ include ::RuboCop::Cop::MatchRange
+ include ::RuboCop::Cop::Alignment
+ include ::RuboCop::Cop::LineLengthHelp
+ include ::RuboCop::Cop::Sorbet::TargetSorbetVersion
+ extend ::RuboCop::Cop::AutoCorrector
+ extend ::RuboCop::Cop::Sorbet::TargetSorbetVersion::ClassMethods
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/binding_constants_without_type_alias.rb#32
- def using_deprecated_type_alias_syntax?(param0 = T.unsafe(nil)); end
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/buggy_obsolete_strict_memoization.rb#55
+ def buggy_legacy_memoization_pattern?(param0 = T.unsafe(nil)); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/binding_constants_without_type_alias.rb#23
- def using_type_alias?(param0 = T.unsafe(nil)); end
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/buggy_obsolete_strict_memoization.rb#66
+ def on_begin(node); end
+
+ # @return [Boolean]
+ #
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/buggy_obsolete_strict_memoization.rb#77
+ def relevant_file?(file); end
end
-# This cop ensures that callback conditionals are bound to the right type
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/buggy_obsolete_strict_memoization.rb#51
+RuboCop::Cop::Sorbet::BuggyObsoleteStrictMemoization::MSG = T.let(T.unsafe(nil), String)
+
+# Ensures that callback conditionals are bound to the right type
# so that they are type checked properly.
#
# Auto-correction is unsafe because other libraries define similar style callbacks as Rails, but don't always need
@@ -143,17 +191,17 @@ end
#
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/callback_conditionals_binding.rb#35
class RuboCop::Cop::Sorbet::CallbackConditionalsBinding < ::RuboCop::Cop::Cop
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/callback_conditionals_binding.rb#47
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/callback_conditionals_binding.rb#75
def autocorrect(node); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/callback_conditionals_binding.rb#99
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/callback_conditionals_binding.rb#127
def on_send(node); end
end
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/callback_conditionals_binding.rb#36
RuboCop::Cop::Sorbet::CallbackConditionalsBinding::CALLBACKS = T.let(T.unsafe(nil), Array)
-# This cop disallows the usage of `checked(true)`. This usage could cause
+# Disallows the usage of `checked(true)`. This usage could cause
# confusion; it could lead some people to believe that a method would be checked
# even if runtime checks have not been enabled on the class or globally.
# Additionally, in the event where checks are enabled, `checked(true)` would
@@ -167,21 +215,22 @@ RuboCop::Cop::Sorbet::CallbackConditionalsBinding::CALLBACKS = T.let(T.unsafe(ni
# # good
# sig { void }
#
-# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/checked_true_in_signature.rb#22
-class RuboCop::Cop::Sorbet::CheckedTrueInSignature < ::RuboCop::Cop::Sorbet::SignatureCop
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/checked_true_in_signature.rb#19
+class RuboCop::Cop::Sorbet::CheckedTrueInSignature < ::RuboCop::Cop::Cop
include ::RuboCop::Cop::RangeHelp
+ include ::RuboCop::Cop::Sorbet::SignatureHelp
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/checked_true_in_signature.rb#25
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/checked_true_in_signature.rb#24
def offending_node(param0); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/checked_true_in_signature.rb#36
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/checked_true_in_signature.rb#35
def on_signature(node); end
end
-# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/checked_true_in_signature.rb#29
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/checked_true_in_signature.rb#28
RuboCop::Cop::Sorbet::CheckedTrueInSignature::MESSAGE = T.let(T.unsafe(nil), String)
-# This cop disallows the calls that are used to get constants fom Strings
+# Disallows the calls that are used to get constants fom Strings
# such as +constantize+, +const_get+, and +constants+.
#
# The goal of this cop is to make the code easier to statically analyze,
@@ -210,21 +259,18 @@ RuboCop::Cop::Sorbet::CheckedTrueInSignature::MESSAGE = T.let(T.unsafe(nil), Str
# # good
# { "User" => User }.fetch(class_name)
#
-# source://rubocop-sorbet//lib/rubocop/cop/sorbet/constants_from_strings.rb#36
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/constants_from_strings.rb#37
class RuboCop::Cop::Sorbet::ConstantsFromStrings < ::RuboCop::Cop::Cop
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/constants_from_strings.rb#37
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/constants_from_strings.rb#38
def constant_from_string?(param0 = T.unsafe(nil)); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/constants_from_strings.rb#41
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/constants_from_strings.rb#42
def on_send(node); end
end
-# This cop checks for blank lines after signatures.
-#
-# It also suggests an autocorrect
+# Checks for blank lines after signatures.
#
# @example
-#
# # bad
# sig { void }
#
@@ -234,23 +280,31 @@ end
# sig { void }
# def foo; end
#
-# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/empty_line_after_sig.rb#23
-class RuboCop::Cop::Sorbet::EmptyLineAfterSig < ::RuboCop::Cop::Sorbet::SignatureCop
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/empty_line_after_sig.rb#17
+class RuboCop::Cop::Sorbet::EmptyLineAfterSig < ::RuboCop::Cop::Base
include ::RuboCop::Cop::RangeHelp
+ include ::RuboCop::Cop::Sorbet::SignatureHelp
+ extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/empty_line_after_sig.rb#33
- def autocorrect(node); end
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/empty_line_after_sig.rb#34
+ def on_signature(sig); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/empty_line_after_sig.rb#26
- def on_signature(node); end
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/empty_line_after_sig.rb#25
+ def sig_or_signable_method_definition?(param0 = T.unsafe(nil)); end
private
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/empty_line_after_sig.rb#48
- def next_method(node); end
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/empty_line_after_sig.rb#57
+ def lines_between(node1, node2, buffer: T.unsafe(nil)); end
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/empty_line_after_sig.rb#53
+ def next_sibling(node); end
end
-# This cop checks that the Sorbet sigil comes as the first magic comment in the file.
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/empty_line_after_sig.rb#22
+RuboCop::Cop::Sorbet::EmptyLineAfterSig::MSG = T.let(T.unsafe(nil), String)
+
+# Checks that the Sorbet sigil comes as the first magic comment in the file.
#
# The expected order for magic comments is: (en)?coding, typed, warn_indent then frozen_string_literal.
#
@@ -283,31 +337,31 @@ class RuboCop::Cop::Sorbet::EnforceSigilOrder < ::RuboCop::Cop::Sorbet::ValidSig
# checks
#
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/enforce_sigil_order.rb#91
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/enforce_sigil_order.rb#92
def check_magic_comments_order(tokens); end
# Get all the tokens in `processed_source` that match `MAGIC_REGEX`
#
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/enforce_sigil_order.rb#83
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/enforce_sigil_order.rb#84
def extract_magic_comments(processed_source); end
end
-# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/enforce_sigil_order.rb#67
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/enforce_sigil_order.rb#68
RuboCop::Cop::Sorbet::EnforceSigilOrder::CODING_REGEX = T.let(T.unsafe(nil), Regexp)
-# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/enforce_sigil_order.rb#69
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/enforce_sigil_order.rb#70
RuboCop::Cop::Sorbet::EnforceSigilOrder::FROZEN_REGEX = T.let(T.unsafe(nil), Regexp)
-# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/enforce_sigil_order.rb#68
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/enforce_sigil_order.rb#69
RuboCop::Cop::Sorbet::EnforceSigilOrder::INDENT_REGEX = T.let(T.unsafe(nil), Regexp)
-# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/enforce_sigil_order.rb#78
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/enforce_sigil_order.rb#79
RuboCop::Cop::Sorbet::EnforceSigilOrder::MAGIC_REGEX = T.let(T.unsafe(nil), Regexp)
-# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/enforce_sigil_order.rb#71
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/enforce_sigil_order.rb#72
RuboCop::Cop::Sorbet::EnforceSigilOrder::PREFERRED_ORDER = T.let(T.unsafe(nil), Hash)
-# This cop checks that every method definition and attribute accessor has a Sorbet signature.
+# Checks that every method definition and attribute accessor has a Sorbet signature.
#
# It also suggest an autocorrect with placeholders so the following code:
#
@@ -327,90 +381,92 @@ RuboCop::Cop::Sorbet::EnforceSigilOrder::PREFERRED_ORDER = T.let(T.unsafe(nil),
# * `ParameterTypePlaceholder`: placeholders used for parameter types (default: 'T.untyped')
# * `ReturnTypePlaceholder`: placeholders used for return types (default: 'T.untyped')
#
-# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#29
-class RuboCop::Cop::Sorbet::EnforceSignatures < ::RuboCop::Cop::Sorbet::SignatureCop
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#27
+class RuboCop::Cop::Sorbet::EnforceSignatures < ::RuboCop::Cop::Cop
+ include ::RuboCop::Cop::Sorbet::SignatureHelp
+
# @return [EnforceSignatures] a new instance of EnforceSignatures
#
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#30
def initialize(config = T.unsafe(nil), options = T.unsafe(nil)); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#35
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#36
def accessor?(param0 = T.unsafe(nil)); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#55
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#56
def autocorrect(node); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#39
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#40
def on_def(node); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#43
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#44
def on_defs(node); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#47
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#48
def on_send(node); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#51
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#52
def on_signature(node); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#74
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#75
def scope(node); end
private
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#82
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#84
def check_node(node); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#93
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#95
def param_type_placeholder; end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#97
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#99
def return_type_placeholder; end
end
-# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#101
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#103
class RuboCop::Cop::Sorbet::EnforceSignatures::SigSuggestion
# @return [SigSuggestion] a new instance of SigSuggestion
#
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#104
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#106
def initialize(indent, param_placeholder, return_placeholder); end
# Returns the value of attribute params.
#
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#102
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#104
def params; end
# Sets the attribute params
#
# @param value the value to set the attribute params to.
#
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#102
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#104
def params=(_arg0); end
# Returns the value of attribute returns.
#
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#102
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#104
def returns; end
# Sets the attribute returns
#
# @param value the value to set the attribute returns to.
#
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#102
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#104
def returns=(_arg0); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#112
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#114
def to_autocorrect; end
private
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#124
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#126
def generate_params; end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#135
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#138
def generate_return; end
end
-# This cop checks that there is only one Sorbet sigil in a given file
+# Checks that there is only one Sorbet sigil in a given file
#
# For example, the following class with two sigils
#
@@ -430,7 +486,7 @@ end
class RuboCop::Cop::Sorbet::EnforceSingleSigil < ::RuboCop::Cop::Sorbet::ValidSigil
include ::RuboCop::Cop::RangeHelp
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/enforce_single_sigil.rb#39
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/enforce_single_sigil.rb#40
def autocorrect(_node); end
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/enforce_single_sigil.rb#29
@@ -438,11 +494,11 @@ class RuboCop::Cop::Sorbet::EnforceSingleSigil < ::RuboCop::Cop::Sorbet::ValidSi
protected
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/enforce_single_sigil.rb#55
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/enforce_single_sigil.rb#56
def extract_all_sigils(processed_source); end
end
-# This cop makes the Sorbet `false` sigil mandatory in all files.
+# Makes the Sorbet `false` sigil mandatory in all files.
#
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/false_sigil.rb#10
class RuboCop::Cop::Sorbet::FalseSigil < ::RuboCop::Cop::Sorbet::HasSigil
@@ -450,7 +506,7 @@ class RuboCop::Cop::Sorbet::FalseSigil < ::RuboCop::Cop::Sorbet::HasSigil
def minimum_strictness; end
end
-# This cop ensures RBI shims do not include a call to extend T::Sig
+# Ensures RBI shims do not include a call to extend T::Sig
# or to extend T::Helpers
#
# @example
@@ -471,61 +527,76 @@ end
# end
#
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/forbid_extend_t_sig_helpers_in_shims.rb#25
-class RuboCop::Cop::Sorbet::ForbidExtendTSigHelpersInShims < ::RuboCop::Cop::Cop
+class RuboCop::Cop::Sorbet::ForbidExtendTSigHelpersInShims < ::RuboCop::Cop::Base
include ::RuboCop::Cop::RangeHelp
+ extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/forbid_extend_t_sig_helpers_in_shims.rb#39
- def autocorrect(node); end
-
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/forbid_extend_t_sig_helpers_in_shims.rb#35
- def extend_t_helpers?(param0 = T.unsafe(nil)); end
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/forbid_extend_t_sig_helpers_in_shims.rb#33
+ def extend_t_sig_or_helpers?(param0 = T.unsafe(nil)); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/forbid_extend_t_sig_helpers_in_shims.rb#31
- def extend_t_sig?(param0 = T.unsafe(nil)); end
-
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/forbid_extend_t_sig_helpers_in_shims.rb#47
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/forbid_extend_t_sig_helpers_in_shims.rb#37
def on_send(node); end
end
-# source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/forbid_extend_t_sig_helpers_in_shims.rb#28
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/forbid_extend_t_sig_helpers_in_shims.rb#29
RuboCop::Cop::Sorbet::ForbidExtendTSigHelpersInShims::MSG = T.let(T.unsafe(nil), String)
-# source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/forbid_extend_t_sig_helpers_in_shims.rb#29
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/forbid_extend_t_sig_helpers_in_shims.rb#30
RuboCop::Cop::Sorbet::ForbidExtendTSigHelpersInShims::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
+# Correct `send` expressions in include statements by constant literals.
+#
+# Sorbet, the static checker, is not (yet) able to support constructs on the
+# following form:
+#
+# ```ruby
+# class MyClass
+# include send_expr
+# end
+# ```
+#
+# Multiple occurences of this can be found in Shopify's code base like:
+#
+# ```ruby
+# include Rails.application.routes.url_helpers
+# ```
+# or
+# ```ruby
+# include Polaris::Engine.helpers
+# ```
+#
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_include_const_literal.rb#29
-class RuboCop::Cop::Sorbet::ForbidIncludeConstLiteral < ::RuboCop::Cop::Cop
- # @return [ForbidIncludeConstLiteral] a new instance of ForbidIncludeConstLiteral
- #
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_include_const_literal.rb#40
- def initialize(*_arg0); end
+class RuboCop::Cop::Sorbet::ForbidIncludeConstLiteral < ::RuboCop::Cop::Base
+ extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_include_const_literal.rb#56
- def autocorrect(node); end
-
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_include_const_literal.rb#34
- def not_lit_const_include?(param0 = T.unsafe(nil)); end
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_include_const_literal.rb#36
+ def dynamic_inclusion?(param0 = T.unsafe(nil)); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_include_const_literal.rb#45
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_include_const_literal.rb#40
def on_send(node); end
- # Returns the value of attribute used_names.
+ private
+
+ # @return [Boolean]
#
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_include_const_literal.rb#32
- def used_names; end
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_include_const_literal.rb#52
+ def neither_const_nor_self?(node); end
- # Sets the attribute used_names
+ # Returns true if the node is within a module declaration that is not anonymous.
#
- # @param value the value to set the attribute used_names to.
+ # @return [Boolean]
#
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_include_const_literal.rb#32
- def used_names=(_arg0); end
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_include_const_literal.rb#57
+ def within_onymous_module?(node); end
end
-# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_include_const_literal.rb#30
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_include_const_literal.rb#32
RuboCop::Cop::Sorbet::ForbidIncludeConstLiteral::MSG = T.let(T.unsafe(nil), String)
-# This cop makes sure that RBI files are always located under the defined allowed paths.
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_include_const_literal.rb#33
+RuboCop::Cop::Sorbet::ForbidIncludeConstLiteral::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
+
+# Makes sure that RBI files are always located under the defined allowed paths.
#
# Options:
#
@@ -554,19 +625,199 @@ class RuboCop::Cop::Sorbet::ForbidRBIOutsideOfAllowedPaths < ::RuboCop::Cop::Cop
def allowed_paths; end
end
-# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_superclass_const_literal.rb#27
-class RuboCop::Cop::Sorbet::ForbidSuperclassConstLiteral < ::RuboCop::Cop::Cop
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_superclass_const_literal.rb#30
- def not_lit_const_superclass?(param0 = T.unsafe(nil)); end
+# Correct superclass `send` expressions by constant literals.
+#
+# Sorbet, the static checker, is not (yet) able to support constructs on the
+# following form:
+#
+# ```ruby
+# class Foo < send_expr; end
+# ```
+#
+# Multiple occurences of this can be found in Shopify's code base like:
+#
+# ```ruby
+# class ShopScope < Component::TrustedIdScope[ShopIdentity::ShopId]
+# ```
+# or
+# ```ruby
+# class ApiClientEligibility < Struct.new(:api_client, :match_results, :shop)
+# ```
+#
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_superclass_const_literal.rb#28
+class RuboCop::Cop::Sorbet::ForbidSuperclassConstLiteral < ::RuboCop::Cop::Base
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_superclass_const_literal.rb#32
+ def dynamic_superclass?(param0 = T.unsafe(nil)); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_superclass_const_literal.rb#38
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_superclass_const_literal.rb#36
def on_class(node); end
end
-# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_superclass_const_literal.rb#28
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_superclass_const_literal.rb#29
RuboCop::Cop::Sorbet::ForbidSuperclassConstLiteral::MSG = T.let(T.unsafe(nil), String)
-# This cop disallows using `T.unsafe` anywhere.
+# Disallow using `T::Struct` and `T::Props`.
+#
+# @example
+#
+# # bad
+# class MyStruct < T::Struct
+# const :foo, String
+# prop :bar, Integer, default: 0
+#
+# def some_method; end
+# end
+#
+# # good
+# class MyStruct
+# extend T::Sig
+#
+# sig { returns(String) }
+# attr_reader :foo
+#
+# sig { returns(Integer) }
+# attr_accessor :bar
+#
+# sig { params(foo: String, bar: Integer) }
+# def initialize(foo:, bar: 0)
+# @foo = foo
+# @bar = bar
+# end
+#
+# def some_method; end
+# end
+#
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#38
+class RuboCop::Cop::Sorbet::ForbidTStruct < ::RuboCop::Cop::Base
+ include ::RuboCop::Cop::Alignment
+ include ::RuboCop::Cop::RangeHelp
+ include ::RuboCop::Cop::CommentsHelp
+ extend ::RuboCop::Cop::AutoCorrector
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#164
+ def on_class(node); end
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#205
+ def on_send(node); end
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#162
+ def t_props?(param0 = T.unsafe(nil)); end
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#157
+ def t_struct?(param0 = T.unsafe(nil)); end
+
+ private
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#213
+ def initialize_method(indent, props); end
+
+ # @return [Boolean]
+ #
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#226
+ def previous_line_blank?(node); end
+end
+
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#47
+RuboCop::Cop::Sorbet::ForbidTStruct::MSG_PROPS = T.let(T.unsafe(nil), String)
+
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#46
+RuboCop::Cop::Sorbet::ForbidTStruct::MSG_STRUCT = T.let(T.unsafe(nil), String)
+
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#104
+class RuboCop::Cop::Sorbet::ForbidTStruct::Property
+ # @return [Property] a new instance of Property
+ #
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#107
+ def initialize(node, kind, name, type, default:, factory:); end
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#123
+ def attr_accessor; end
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#119
+ def attr_sig; end
+
+ # Returns the value of attribute default.
+ #
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#105
+ def default; end
+
+ # Returns the value of attribute factory.
+ #
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#105
+ def factory; end
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#144
+ def initialize_assign; end
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#131
+ def initialize_param; end
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#127
+ def initialize_sig_param; end
+
+ # Returns the value of attribute kind.
+ #
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#105
+ def kind; end
+
+ # Returns the value of attribute name.
+ #
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#105
+ def name; end
+
+ # @return [Boolean]
+ #
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#151
+ def nilable?; end
+
+ # Returns the value of attribute node.
+ #
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#105
+ def node; end
+
+ # Returns the value of attribute type.
+ #
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#105
+ def type; end
+end
+
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#44
+RuboCop::Cop::Sorbet::ForbidTStruct::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
+
+# This class walks down the class body of a T::Struct and collects all the properties that will need to be
+# translated into `attr_reader` and `attr_accessor` methods.
+#
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#51
+class RuboCop::Cop::Sorbet::ForbidTStruct::TStructWalker
+ include ::RuboCop::AST::Traversal
+ extend ::RuboCop::AST::NodePattern::Macros
+
+ # @return [TStructWalker] a new instance of TStructWalker
+ #
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#57
+ def initialize; end
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#63
+ def extend_t_sig?(param0 = T.unsafe(nil)); end
+
+ # Returns the value of attribute has_extend_t_sig.
+ #
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#55
+ def has_extend_t_sig; end
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#72
+ def on_send(node); end
+
+ # Returns the value of attribute props.
+ #
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#55
+ def props; end
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#68
+ def t_struct_prop?(param0 = T.unsafe(nil)); end
+end
+
+# Disallows using `T.unsafe` anywhere.
#
# @example
#
@@ -577,15 +828,21 @@ RuboCop::Cop::Sorbet::ForbidSuperclassConstLiteral::MSG = T.let(T.unsafe(nil), S
# foo
#
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_unsafe.rb#17
-class RuboCop::Cop::Sorbet::ForbidTUnsafe < ::RuboCop::Cop::Cop
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_unsafe.rb#20
+class RuboCop::Cop::Sorbet::ForbidTUnsafe < ::RuboCop::Cop::Base
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_unsafe.rb#24
def on_send(node); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_unsafe.rb#18
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_unsafe.rb#22
def t_unsafe?(param0 = T.unsafe(nil)); end
end
-# This cop disallows using `T.untyped` anywhere.
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_unsafe.rb#18
+RuboCop::Cop::Sorbet::ForbidTUnsafe::MSG = T.let(T.unsafe(nil), String)
+
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_unsafe.rb#19
+RuboCop::Cop::Sorbet::ForbidTUnsafe::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
+
+# Disallows using `T.untyped` anywhere.
#
# @example
#
@@ -598,15 +855,21 @@ end
# def foo(my_argument); end
#
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_untyped.rb#20
-class RuboCop::Cop::Sorbet::ForbidTUntyped < ::RuboCop::Cop::Cop
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_untyped.rb#23
+class RuboCop::Cop::Sorbet::ForbidTUntyped < ::RuboCop::Cop::Base
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_untyped.rb#27
def on_send(node); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_untyped.rb#21
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_untyped.rb#25
def t_untyped?(param0 = T.unsafe(nil)); end
end
-# This cop disallows use of `T.untyped` or `T.nilable(T.untyped)`
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_untyped.rb#21
+RuboCop::Cop::Sorbet::ForbidTUntyped::MSG = T.let(T.unsafe(nil), String)
+
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_untyped.rb#22
+RuboCop::Cop::Sorbet::ForbidTUntyped::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
+
+# Disallows use of `T.untyped` or `T.nilable(T.untyped)`
# as a prop type for `T::Struct` or `T::ImmutableStruct`.
#
# @example
@@ -624,33 +887,32 @@ end
# end
#
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_untyped_struct_props.rb#25
-class RuboCop::Cop::Sorbet::ForbidUntypedStructProps < ::RuboCop::Cop::Cop
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_untyped_struct_props.rb#52
+class RuboCop::Cop::Sorbet::ForbidUntypedStructProps < ::RuboCop::Cop::Base
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_untyped_struct_props.rb#54
def on_class(node); end
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_untyped_struct_props.rb#44
def subclass_of_t_struct?(param0 = T.unsafe(nil)); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_untyped_struct_props.rb#32
- def t_immutable_struct(param0 = T.unsafe(nil)); end
-
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_untyped_struct_props.rb#40
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_untyped_struct_props.rb#39
def t_nilable_untyped(param0 = T.unsafe(nil)); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_untyped_struct_props.rb#28
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_untyped_struct_props.rb#29
def t_struct(param0 = T.unsafe(nil)); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_untyped_struct_props.rb#36
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_untyped_struct_props.rb#34
def t_untyped(param0 = T.unsafe(nil)); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_untyped_struct_props.rb#48
+ # Search for untyped prop/const declarations and capture their types
+ #
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_untyped_struct_props.rb#50
def untyped_props(param0); end
end
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_untyped_struct_props.rb#26
RuboCop::Cop::Sorbet::ForbidUntypedStructProps::MSG = T.let(T.unsafe(nil), String)
-# This cop makes the Sorbet typed sigil mandatory in all files.
+# Makes the Sorbet typed sigil mandatory in all files.
#
# Options:
#
@@ -667,7 +929,7 @@ class RuboCop::Cop::Sorbet::HasSigil < ::RuboCop::Cop::Sorbet::ValidSigil
def require_sigil_on_all_files?; end
end
-# This cop makes the Sorbet `ignore` sigil mandatory in all files.
+# Makes the Sorbet `ignore` sigil mandatory in all files.
#
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/ignore_sigil.rb#10
class RuboCop::Cop::Sorbet::IgnoreSigil < ::RuboCop::Cop::Sorbet::HasSigil
@@ -675,7 +937,54 @@ class RuboCop::Cop::Sorbet::IgnoreSigil < ::RuboCop::Cop::Sorbet::HasSigil
def minimum_strictness; end
end
-# This cop checks for the ordering of keyword arguments required by
+# Disallows declaring implicit conversion methods.
+# Since Sorbet is a nominal (not structural) type system,
+# implicit conversion is currently unsupported.
+#
+# @example
+#
+# # bad
+# def to_str; end
+#
+# # good
+# def to_str(x); end
+#
+# # bad
+# def self.to_str; end
+#
+# # good
+# def self.to_str(x); end
+#
+# # bad
+# alias to_str to_s
+# @note Since the arity of aliased methods is not checked, false positives may result.
+# @see https://docs.ruby-lang.org/en/master/implicit_conversion_rdoc.html
+#
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/implicit_conversion_method.rb#31
+class RuboCop::Cop::Sorbet::ImplicitConversionMethod < ::RuboCop::Cop::Base
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/implicit_conversion_method.rb#37
+ def on_alias(node); end
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/implicit_conversion_method.rb#42
+ def on_def(node); end
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/implicit_conversion_method.rb#42
+ def on_defs(node); end
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/implicit_conversion_method.rb#50
+ def on_send(node); end
+end
+
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/implicit_conversion_method.rb#32
+RuboCop::Cop::Sorbet::ImplicitConversionMethod::IMPLICIT_CONVERSION_METHODS = T.let(T.unsafe(nil), Array)
+
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/implicit_conversion_method.rb#33
+RuboCop::Cop::Sorbet::ImplicitConversionMethod::MSG = T.let(T.unsafe(nil), String)
+
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/implicit_conversion_method.rb#35
+RuboCop::Cop::Sorbet::ImplicitConversionMethod::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
+
+# Checks for the ordering of keyword arguments required by
# sorbet-runtime. The ordering requires that all keyword arguments
# are at the end of the parameters list, and all keyword arguments
# with a default value must be after those without default values.
@@ -690,9 +999,11 @@ end
# sig { params(b: String, a: Integer).void }
# def foo(b:, a: 1); end
#
-# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/keyword_argument_ordering.rb#23
-class RuboCop::Cop::Sorbet::KeywordArgumentOrdering < ::RuboCop::Cop::Sorbet::SignatureCop
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/keyword_argument_ordering.rb#24
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/keyword_argument_ordering.rb#20
+class RuboCop::Cop::Sorbet::KeywordArgumentOrdering < ::RuboCop::Cop::Cop
+ include ::RuboCop::Cop::Sorbet::SignatureHelp
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/keyword_argument_ordering.rb#23
def on_signature(node); end
private
@@ -703,16 +1014,69 @@ end
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/mutable_constant_sorbet_aware_behaviour.rb#8
module RuboCop::Cop::Sorbet::MutableConstantSorbetAwareBehaviour
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/mutable_constant_sorbet_aware_behaviour.rb#15
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/mutable_constant_sorbet_aware_behaviour.rb#18
def on_assignment(value); end
class << self
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/mutable_constant_sorbet_aware_behaviour.rb#9
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/mutable_constant_sorbet_aware_behaviour.rb#10
def prepended(base); end
end
end
-# This cop ensures one ancestor per requires_ancestor line
+# Checks for the obsolete pattern for initializing instance variables that was required for older Sorbet
+#
+# It's no longer required, as of Sorbet 0.5.10210
+# See https://sorbet.org/docs/type-assertions#put-type-assertions-behind-memoization
+#
+# @example
+#
+# # bad
+# sig { returns(Foo) }
+# def foo
+# @foo = T.let(@foo, T.nilable(Foo))
+# @foo ||= Foo.new
+# end
+#
+# # bad
+# sig { returns(Foo) }
+# def foo
+# # This would have been a mistake, causing the memoized value to be discarded and recomputed on every call.
+# @foo = T.let(nil, T.nilable(Foo))
+# @foo ||= Foo.new
+# end
+#
+# # good
+# sig { returns(Foo) }
+# def foo
+# @foo ||= T.let(Foo.new, T.nilable(Foo))
+# end
+#
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/obsolete_strict_memoization.rb#37
+class RuboCop::Cop::Sorbet::ObsoleteStrictMemoization < ::RuboCop::Cop::Base
+ include ::RuboCop::Cop::RangeHelp
+ include ::RuboCop::Cop::MatchRange
+ include ::RuboCop::Cop::Alignment
+ include ::RuboCop::Cop::LineLengthHelp
+ include ::RuboCop::Cop::Sorbet::TargetSorbetVersion
+ extend ::RuboCop::Cop::AutoCorrector
+ extend ::RuboCop::Cop::Sorbet::TargetSorbetVersion::ClassMethods
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/obsolete_strict_memoization.rb#51
+ def legacy_memoization_pattern?(param0 = T.unsafe(nil)); end
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/obsolete_strict_memoization.rb#62
+ def on_begin(node); end
+
+ # @return [Boolean]
+ #
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/obsolete_strict_memoization.rb#86
+ def relevant_file?(file); end
+end
+
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/obsolete_strict_memoization.rb#47
+RuboCop::Cop::Sorbet::ObsoleteStrictMemoization::MSG = T.let(T.unsafe(nil), String)
+
+# Ensures one ancestor per requires_ancestor line
# rather than chaining them as a comma-separated list.
#
# @example
@@ -730,30 +1094,30 @@ end
#
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/one_ancestor_per_line.rb#24
class RuboCop::Cop::Sorbet::OneAncestorPerLine < ::RuboCop::Cop::Cop
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/one_ancestor_per_line.rb#35
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/one_ancestor_per_line.rb#38
def abstract?(param0); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/one_ancestor_per_line.rb#51
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/one_ancestor_per_line.rb#56
def autocorrect(node); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/one_ancestor_per_line.rb#31
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/one_ancestor_per_line.rb#33
def more_than_one_ancestor(param0 = T.unsafe(nil)); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/one_ancestor_per_line.rb#45
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/one_ancestor_per_line.rb#49
def on_class(node); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/one_ancestor_per_line.rb#39
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/one_ancestor_per_line.rb#42
def on_module(node); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/one_ancestor_per_line.rb#27
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/one_ancestor_per_line.rb#28
def requires_ancestors(param0); end
private
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/one_ancestor_per_line.rb#67
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/one_ancestor_per_line.rb#72
def new_ra_line(indent_count); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/one_ancestor_per_line.rb#61
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/one_ancestor_per_line.rb#66
def process_node(node); end
end
@@ -779,42 +1143,64 @@ RuboCop::Cop::Sorbet::OneAncestorPerLine::MSG = T.let(T.unsafe(nil), String)
# end
#
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/redundant_extend_t_sig.rb#28
-class RuboCop::Cop::Sorbet::RedundantExtendTSig < ::RuboCop::Cop::Cop
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/redundant_extend_t_sig.rb#42
- def autocorrect(node); end
+class RuboCop::Cop::Sorbet::RedundantExtendTSig < ::RuboCop::Cop::Base
+ include ::RuboCop::Cop::RangeHelp
+ extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/redundant_extend_t_sig.rb#32
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/redundant_extend_t_sig.rb#36
def extend_t_sig?(param0 = T.unsafe(nil)); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/redundant_extend_t_sig.rb#36
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/redundant_extend_t_sig.rb#40
def on_send(node); end
end
-# source://rubocop-sorbet//lib/rubocop/cop/sorbet/redundant_extend_t_sig.rb#29
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/redundant_extend_t_sig.rb#32
RuboCop::Cop::Sorbet::RedundantExtendTSig::MSG = T.let(T.unsafe(nil), String)
-# source://rubocop-sorbet//lib/rubocop/cop/sorbet/redundant_extend_t_sig.rb#30
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/redundant_extend_t_sig.rb#33
RuboCop::Cop::Sorbet::RedundantExtendTSig::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
-# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_build_order.rb#15
-class RuboCop::Cop::Sorbet::SignatureBuildOrder < ::RuboCop::Cop::Sorbet::SignatureCop
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_build_order.rb#54
+# Checks for the correct order of sig builder methods:
+# - abstract, override, or overridable
+# - type_parameters
+# - params
+# - returns, or void
+# - soft, checked, or on_failure
+#
+# # bad
+# sig { returns(Integer).params(x: Integer) }
+#
+# # good
+# sig { params(x: Integer).returns(Integer) }
+#
+# @example
+# # bad
+# sig { void.abstract }
+#
+# # good
+# sig { abstract.void }
+#
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_build_order.rb#31
+class RuboCop::Cop::Sorbet::SignatureBuildOrder < ::RuboCop::Cop::Cop
+ include ::RuboCop::Cop::Sorbet::SignatureHelp
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_build_order.rb#77
def autocorrect(node); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_build_order.rb#34
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_build_order.rb#53
def on_signature(node); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_build_order.rb#30
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_build_order.rb#49
def root_call(param0); end
private
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_build_order.rb#96
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_build_order.rb#119
def call_chain(sig_child_node); end
# @return [Boolean]
#
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_build_order.rb#92
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_build_order.rb#115
def can_autocorrect?; end
# This method exists to reparse the current node with modern features enabled.
@@ -822,41 +1208,44 @@ class RuboCop::Cop::Sorbet::SignatureBuildOrder < ::RuboCop::Cop::Sorbet::Signat
# "index sends" (i.e. `[]` calls) back to index accessors (i.e. as `foo[bar]``).
# Otherwise, we would get the unparsed node as `foo.[](bar)`.
#
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_build_order.rb#83
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_build_order.rb#106
def node_reparsed_with_modern_features(node); end
end
# Create a subclass of AST Builder that has modern features turned on
#
-# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_build_order.rb#72
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_build_order.rb#95
class RuboCop::Cop::Sorbet::SignatureBuildOrder::ModernBuilder < ::RuboCop::AST::Builder; end
-# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_build_order.rb#16
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_build_order.rb#34
RuboCop::Cop::Sorbet::SignatureBuildOrder::ORDER = T.let(T.unsafe(nil), Hash)
-# Abstract cop specific to Sorbet signatures
-#
-# You can subclass it to use the `on_signature` trigger and the `signature?` node matcher.
+# Mixin for writing cops for signatures, providing a `signature?` node matcher and an `on_signature` trigger.
#
-# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_cop.rb#11
-class RuboCop::Cop::Sorbet::SignatureCop < ::RuboCop::Cop::Cop
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_cop.rb#30
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/mixin/signature_help.rb#7
+module RuboCop::Cop::Sorbet::SignatureHelp
+ extend ::RuboCop::AST::NodePattern::Macros
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/mixin/signature_help.rb#29
def on_block(node); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_cop.rb#34
- def on_signature(_); end
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/mixin/signature_help.rb#29
+ def on_numblock(node); end
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/mixin/signature_help.rb#35
+ def on_signature(_node); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_cop.rb#14
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/mixin/signature_help.rb#11
def signature?(param0 = T.unsafe(nil)); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_cop.rb#22
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/mixin/signature_help.rb#20
def with_runtime?(param0 = T.unsafe(nil)); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_cop.rb#26
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/mixin/signature_help.rb#25
def without_runtime?(param0 = T.unsafe(nil)); end
end
-# This cop ensures empty class/module definitions in RBI files are
+# Ensures empty class/module definitions in RBI files are
# done on a single line rather than being split across multiple lines.
#
# @example
@@ -869,29 +1258,25 @@ end
# module SomeModule; end
#
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/single_line_rbi_class_module_definitions.rb#17
-class RuboCop::Cop::Sorbet::SingleLineRbiClassModuleDefinitions < ::RuboCop::Cop::Cop
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/single_line_rbi_class_module_definitions.rb#28
- def autocorrect(node); end
+class RuboCop::Cop::Sorbet::SingleLineRbiClassModuleDefinitions < ::RuboCop::Cop::Base
+ extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/single_line_rbi_class_module_definitions.rb#24
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/single_line_rbi_class_module_definitions.rb#22
def on_class(node); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/single_line_rbi_class_module_definitions.rb#20
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/single_line_rbi_class_module_definitions.rb#22
def on_module(node); end
- protected
+ private
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/single_line_rbi_class_module_definitions.rb#34
- def convert_newlines(source); end
-
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/single_line_rbi_class_module_definitions.rb#38
- def process_node(node); end
+ def convert_newlines_to_semicolons(source); end
end
-# source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/single_line_rbi_class_module_definitions.rb#18
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/single_line_rbi_class_module_definitions.rb#20
RuboCop::Cop::Sorbet::SingleLineRbiClassModuleDefinitions::MSG = T.let(T.unsafe(nil), String)
-# This cop makes the Sorbet `strict` sigil mandatory in all files.
+# Makes the Sorbet `strict` sigil mandatory in all files.
#
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/strict_sigil.rb#10
class RuboCop::Cop::Sorbet::StrictSigil < ::RuboCop::Cop::Sorbet::HasSigil
@@ -899,7 +1284,7 @@ class RuboCop::Cop::Sorbet::StrictSigil < ::RuboCop::Cop::Sorbet::HasSigil
def minimum_strictness; end
end
-# This cop makes the Sorbet `strong` sigil mandatory in all files.
+# Makes the Sorbet `strong` sigil mandatory in all files.
#
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/strong_sigil.rb#10
class RuboCop::Cop::Sorbet::StrongSigil < ::RuboCop::Cop::Sorbet::HasSigil
@@ -907,7 +1292,48 @@ class RuboCop::Cop::Sorbet::StrongSigil < ::RuboCop::Cop::Sorbet::HasSigil
def minimum_strictness; end
end
-# This cop makes the Sorbet `true` sigil mandatory in all files.
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/mixin/target_sorbet_version.rb#6
+module RuboCop::Cop::Sorbet::TargetSorbetVersion
+ mixes_in_class_methods ::RuboCop::Cop::Sorbet::TargetSorbetVersion::ClassMethods
+
+ # @return [Boolean]
+ #
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/mixin/target_sorbet_version.rb#28
+ def enabled_for_sorbet_static_version?; end
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/mixin/target_sorbet_version.rb#44
+ def read_sorbet_static_version_from_bundler_lock_file; end
+
+ # @return [Boolean]
+ #
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/mixin/target_sorbet_version.rb#24
+ def sorbet_enabled?; end
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/mixin/target_sorbet_version.rb#35
+ def target_sorbet_static_version_from_bundler_lock_file; end
+
+ class << self
+ # @private
+ #
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/mixin/target_sorbet_version.rb#8
+ def included(target); end
+ end
+end
+
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/mixin/target_sorbet_version.rb#13
+module RuboCop::Cop::Sorbet::TargetSorbetVersion::ClassMethods
+ # Sets the version of the Sorbet static type checker required by this cop
+ #
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/mixin/target_sorbet_version.rb#15
+ def minimum_target_sorbet_static_version(version); end
+
+ # @return [Boolean]
+ #
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/mixin/target_sorbet_version.rb#19
+ def supports_target_sorbet_static_version?(version); end
+end
+
+# Makes the Sorbet `true` sigil mandatory in all files.
#
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/true_sigil.rb#10
class RuboCop::Cop::Sorbet::TrueSigil < ::RuboCop::Cop::Sorbet::HasSigil
@@ -915,7 +1341,7 @@ class RuboCop::Cop::Sorbet::TrueSigil < ::RuboCop::Cop::Sorbet::HasSigil
def minimum_strictness; end
end
-# This cop ensures all constants used as `T.type_alias` are using CamelCase.
+# Ensures all constants used as `T.type_alias` are using CamelCase.
#
# @example
#
@@ -926,18 +1352,18 @@ end
# FooOrBar = T.type_alias { T.any(Foo, Bar) }
#
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/type_alias_name.rb#17
-class RuboCop::Cop::Sorbet::TypeAliasName < ::RuboCop::Cop::Cop
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/type_alias_name.rb#20
- def casgn_type_alias?(param0 = T.unsafe(nil)); end
-
+class RuboCop::Cop::Sorbet::TypeAliasName < ::RuboCop::Cop::Base
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/type_alias_name.rb#32
def on_casgn(node); end
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/type_alias_name.rb#21
+ def underscored_type_alias?(param0 = T.unsafe(nil)); end
end
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/type_alias_name.rb#18
RuboCop::Cop::Sorbet::TypeAliasName::MSG = T.let(T.unsafe(nil), String)
-# This cop checks that every Ruby file contains a valid Sorbet sigil.
+# Checks that every Ruby file contains a valid Sorbet sigil.
# Adapted from: https://gist.github.com/clarkdave/85aca4e16f33fd52aceb6a0a29936e52
#
# Options:
@@ -945,66 +1371,75 @@ RuboCop::Cop::Sorbet::TypeAliasName::MSG = T.let(T.unsafe(nil), String)
# * `RequireSigilOnAllFiles`: make offense if the Sorbet typed is not found in the file (default: false)
# * `SuggestedStrictness`: Sorbet strictness level suggested in offense messages (default: 'false')
# * `MinimumStrictness`: If set, make offense if the strictness level in the file is below this one
+# * `ExactStrictness`: If set, make offense if the strictness level in the file is different than this one
#
-# If a `MinimumStrictness` level is specified, it will be used in offense messages and autocorrect.
+# If an `ExactStrictness` level is specified, it will be used in offense messages and autocorrect.
+# Otherwise, if a `MinimumStrictness` level is specified, it will be used in offense messages and autocorrect.
#
-# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#18
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#20
class RuboCop::Cop::Sorbet::ValidSigil < ::RuboCop::Cop::Cop
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#33
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#35
def autocorrect(_node); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#21
+ # So we can properly subclass this cop
+ #
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#23
def investigate(processed_source); end
protected
# checks
#
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#68
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#70
def check_sigil_present(sigil); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#125
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#130
def check_strictness_level(sigil, strictness); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#103
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#108
def check_strictness_not_empty(sigil, strictness); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#114
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#119
def check_strictness_valid(sigil, strictness); end
+ # Default is `nil`
+ #
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#180
+ def exact_strictness; end
+
# extraction
#
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#56
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#58
def extract_sigil(processed_source); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#62
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#64
def extract_strictness(sigil); end
# Default is `nil`
#
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#155
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#174
def minimum_strictness; end
# Default is `false`
#
# @return [Boolean]
#
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#144
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#163
def require_sigil_on_all_files?; end
# Default is `'false'`
#
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#149
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#168
def suggested_strictness; end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#84
- def suggested_strictness_level(minimum_strictness, suggested_strictness); end
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#86
+ def suggested_strictness_level; end
end
-# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#52
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#54
RuboCop::Cop::Sorbet::ValidSigil::SIGIL_REGEX = T.let(T.unsafe(nil), Regexp)
-# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#51
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#53
RuboCop::Cop::Sorbet::ValidSigil::STRICTNESS_LEVELS = T.let(T.unsafe(nil), Array)
module RuboCop::Cop::Style; end
@@ -1013,16 +1448,16 @@ class RuboCop::Cop::Style::MutableConstant < ::RuboCop::Cop::Base
include ::RuboCop::Cop::Sorbet::MutableConstantSorbetAwareBehaviour
end
-# source://rubocop-sorbet//lib/rubocop/sorbet/version.rb#3
+# source://rubocop-sorbet//lib/rubocop/sorbet/version.rb#4
module RuboCop::Sorbet; end
-# source://rubocop-sorbet//lib/rubocop/sorbet.rb#11
+# source://rubocop-sorbet//lib/rubocop/sorbet.rb#12
RuboCop::Sorbet::CONFIG = T.let(T.unsafe(nil), Hash)
-# source://rubocop-sorbet//lib/rubocop/sorbet.rb#10
+# source://rubocop-sorbet//lib/rubocop/sorbet.rb#11
RuboCop::Sorbet::CONFIG_DEFAULT = T.let(T.unsafe(nil), Pathname)
-# source://rubocop-sorbet//lib/rubocop/sorbet.rb#7
+# source://rubocop-sorbet//lib/rubocop/sorbet.rb#8
class RuboCop::Sorbet::Error < ::StandardError; end
# Because RuboCop doesn't yet support plugins, we have to monkey patch in a
@@ -1031,13 +1466,13 @@ class RuboCop::Sorbet::Error < ::StandardError; end
# source://rubocop-sorbet//lib/rubocop/sorbet/inject.rb#9
module RuboCop::Sorbet::Inject
class << self
- # source://rubocop-sorbet//lib/rubocop/sorbet/inject.rb#10
+ # source://rubocop-sorbet//lib/rubocop/sorbet/inject.rb#11
def defaults!; end
end
end
-# source://rubocop-sorbet//lib/rubocop/sorbet.rb#9
+# source://rubocop-sorbet//lib/rubocop/sorbet.rb#10
RuboCop::Sorbet::PROJECT_ROOT = T.let(T.unsafe(nil), Pathname)
-# source://rubocop-sorbet//lib/rubocop/sorbet/version.rb#4
+# source://rubocop-sorbet//lib/rubocop/sorbet/version.rb#5
RuboCop::Sorbet::VERSION = T.let(T.unsafe(nil), String)
diff --git a/sorbet/rbi/gems/rubocop@1.54.1.rbi b/sorbet/rbi/gems/rubocop@1.57.2.rbi
similarity index 97%
rename from sorbet/rbi/gems/rubocop@1.54.1.rbi
rename to sorbet/rbi/gems/rubocop@1.57.2.rbi
index 8b47b384..9128e026 100644
--- a/sorbet/rbi/gems/rubocop@1.54.1.rbi
+++ b/sorbet/rbi/gems/rubocop@1.57.2.rbi
@@ -166,77 +166,77 @@ end
class RuboCop::CLI::Command::AutoGenerateConfig < ::RuboCop::CLI::Command::Base
# @api private
#
- # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#21
+ # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#22
def run; end
private
# @api private
#
- # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#97
+ # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#98
def add_formatter; end
# @api private
#
- # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#105
+ # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#106
def add_inheritance_from_auto_generated_file(config_file); end
# @api private
#
- # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#101
+ # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#102
def execute_runner; end
# @api private
#
- # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#126
+ # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#127
def existing_configuration(config_file); end
# @api private
#
- # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#59
+ # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#60
def line_length_cop(config); end
# @api private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#47
+ # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#48
def line_length_enabled?(config); end
# @api private
#
- # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#55
+ # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#56
def max_line_length(config); end
# @api private
#
- # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#30
+ # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#31
def maybe_run_line_length_cop; end
# @api private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#148
+ # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#153
def options_config_in_root?; end
# @api private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#63
+ # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#64
def options_has_only_flag?; end
# @api private
#
- # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#139
+ # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#144
def relative_path_to_todo_from_options_config; end
# @api private
#
- # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#90
+ # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#91
def reset_config_and_auto_gen_file; end
# @api private
#
- # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#81
+ # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#82
def run_all_cops(line_length_contents); end
# Do an initial run with only Layout/LineLength so that cops that
@@ -245,23 +245,23 @@ class RuboCop::CLI::Command::AutoGenerateConfig < ::RuboCop::CLI::Command::Base
#
# @api private
#
- # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#70
+ # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#71
def run_line_length_cop; end
# @api private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#51
+ # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#52
def same_max_line_length?(config1, config2); end
# @api private
#
- # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#42
+ # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#43
def skip_line_length_cop(reason); end
# @api private
#
- # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#132
+ # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#133
def write_config_file(file_name, file_string, rubocop_yml_contents); end
end
@@ -272,29 +272,34 @@ RuboCop::CLI::Command::AutoGenerateConfig::AUTO_GENERATED_FILE = T.let(T.unsafe(
# @api private
#
-# source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#14
+# source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#15
RuboCop::CLI::Command::AutoGenerateConfig::PHASE_1 = T.let(T.unsafe(nil), String)
# @api private
#
-# source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#18
+# source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#19
RuboCop::CLI::Command::AutoGenerateConfig::PHASE_1_DISABLED = T.let(T.unsafe(nil), String)
# @api private
#
-# source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#17
+# source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#18
RuboCop::CLI::Command::AutoGenerateConfig::PHASE_1_OVERRIDDEN = T.let(T.unsafe(nil), String)
# @api private
#
-# source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#19
+# source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#20
RuboCop::CLI::Command::AutoGenerateConfig::PHASE_1_SKIPPED = T.let(T.unsafe(nil), String)
# @api private
#
-# source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#15
+# source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#16
RuboCop::CLI::Command::AutoGenerateConfig::PHASE_2 = T.let(T.unsafe(nil), String)
+# @api private
+#
+# source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#13
+RuboCop::CLI::Command::AutoGenerateConfig::PLACEHOLDER = T.let(T.unsafe(nil), String)
+
# @api private
#
# source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#12
@@ -1915,22 +1920,28 @@ class RuboCop::ConfigObsoletion::ParameterRule < ::RuboCop::ConfigObsoletion::Ru
# @api private
#
- # source://rubocop//lib/rubocop/config_obsoletion/parameter_rule.rb#31
+ # source://rubocop//lib/rubocop/config_obsoletion/parameter_rule.rb#39
def alternative; end
# @api private
#
- # source://rubocop//lib/rubocop/config_obsoletion/parameter_rule.rb#35
+ # source://rubocop//lib/rubocop/config_obsoletion/parameter_rule.rb#43
def alternatives; end
# @api private
+ # @return [Boolean]
#
- # source://rubocop//lib/rubocop/config_obsoletion/parameter_rule.rb#39
+ # source://rubocop//lib/rubocop/config_obsoletion/parameter_rule.rb#31
+ def applies_to_current_ruby_version?; end
+
+ # @api private
+ #
+ # source://rubocop//lib/rubocop/config_obsoletion/parameter_rule.rb#47
def reason; end
# @api private
#
- # source://rubocop//lib/rubocop/config_obsoletion/parameter_rule.rb#43
+ # source://rubocop//lib/rubocop/config_obsoletion/parameter_rule.rb#51
def severity; end
end
@@ -2735,25 +2746,25 @@ module RuboCop::Cop::AutocorrectLogic
# source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#46
def disable_offense(offense_range); end
- # source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#111
+ # source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#113
def disable_offense_at_end_of_line(range, eol_comment); end
- # source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#115
+ # source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#117
def disable_offense_before_and_after(range_by_lines); end
# source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#56
def disable_offense_with_eol_or_surround_comment(range); end
- # source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#107
+ # source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#109
def max_line_length; end
# Expand the given range to include all of any lines it covers. Does not
# include newline at end of the last line.
#
- # source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#97
+ # source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#99
def range_by_lines(range); end
- # source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#88
+ # source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#90
def range_of_first_line(range); end
# source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#67
@@ -3099,7 +3110,7 @@ class RuboCop::Cop::Base
# time as this cop
#
# @api public
- # @return [Array]
+ # @return [Array]
#
# source://rubocop//lib/rubocop/cop/base.rb#59
def autocorrect_incompatible_with; end
@@ -3292,38 +3303,121 @@ module RuboCop::Cop::Bundler; end
# gem 'rubocop', '~> 0.90.0'
# end
#
-# source://rubocop//lib/rubocop/cop/bundler/duplicated_gem.rb#38
+# source://rubocop//lib/rubocop/cop/bundler/duplicated_gem.rb#39
class RuboCop::Cop::Bundler::DuplicatedGem < ::RuboCop::Cop::Base
include ::RuboCop::Cop::RangeHelp
- # source://rubocop//lib/rubocop/cop/bundler/duplicated_gem.rb#57
+ # source://rubocop//lib/rubocop/cop/bundler/duplicated_gem.rb#58
def gem_declarations(param0); end
- # source://rubocop//lib/rubocop/cop/bundler/duplicated_gem.rb#44
+ # source://rubocop//lib/rubocop/cop/bundler/duplicated_gem.rb#45
def on_new_investigation; end
private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/bundler/duplicated_gem.rb#66
+ # source://rubocop//lib/rubocop/cop/bundler/duplicated_gem.rb#67
def conditional_declaration?(nodes); end
- # source://rubocop//lib/rubocop/cop/bundler/duplicated_gem.rb#59
+ # source://rubocop//lib/rubocop/cop/bundler/duplicated_gem.rb#60
def duplicated_gem_nodes; end
- # source://rubocop//lib/rubocop/cop/bundler/duplicated_gem.rb#80
+ # source://rubocop//lib/rubocop/cop/bundler/duplicated_gem.rb#81
def register_offense(node, gem_name, line_of_first_occurrence); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/bundler/duplicated_gem.rb#74
+ # source://rubocop//lib/rubocop/cop/bundler/duplicated_gem.rb#75
def within_conditional?(node, conditional_node); end
end
-# source://rubocop//lib/rubocop/cop/bundler/duplicated_gem.rb#41
+# source://rubocop//lib/rubocop/cop/bundler/duplicated_gem.rb#42
RuboCop::Cop::Bundler::DuplicatedGem::MSG = T.let(T.unsafe(nil), String)
+# A Gem group, or a set of groups, should be listed only once in a Gemfile.
+#
+# For example, if the values of `source`, `git`, `platforms`, or `path`
+# surrounding `group` are different, no offense will be registered:
+#
+# [source,ruby]
+# -----
+# platforms :ruby do
+# group :default do
+# gem 'openssl'
+# end
+# end
+#
+# platforms :jruby do
+# group :default do
+# gem 'jruby-openssl'
+# end
+# end
+# -----
+#
+# @example
+# # bad
+# group :development do
+# gem 'rubocop'
+# end
+#
+# group :development do
+# gem 'rubocop-rails'
+# end
+#
+# # bad (same set of groups declared twice)
+# group :development, :test do
+# gem 'rubocop'
+# end
+#
+# group :test, :development do
+# gem 'rspec'
+# end
+#
+# # good
+# group :development do
+# gem 'rubocop'
+# end
+#
+# group :development, :test do
+# gem 'rspec'
+# end
+#
+# # good
+# gem 'rubocop', groups: [:development, :test]
+# gem 'rspec', groups: [:development, :test]
+#
+# source://rubocop//lib/rubocop/cop/bundler/duplicated_group.rb#58
+class RuboCop::Cop::Bundler::DuplicatedGroup < ::RuboCop::Cop::Base
+ include ::RuboCop::Cop::RangeHelp
+
+ # source://rubocop//lib/rubocop/cop/bundler/duplicated_group.rb#66
+ def group_declarations(param0); end
+
+ # source://rubocop//lib/rubocop/cop/bundler/duplicated_group.rb#68
+ def on_new_investigation; end
+
+ private
+
+ # source://rubocop//lib/rubocop/cop/bundler/duplicated_group.rb#82
+ def duplicated_group_nodes; end
+
+ # source://rubocop//lib/rubocop/cop/bundler/duplicated_group.rb#105
+ def find_source_key(node); end
+
+ # source://rubocop//lib/rubocop/cop/bundler/duplicated_group.rb#115
+ def group_attributes(node); end
+
+ # source://rubocop//lib/rubocop/cop/bundler/duplicated_group.rb#94
+ def register_offense(node, group_name, line_of_first_occurrence); end
+end
+
+# source://rubocop//lib/rubocop/cop/bundler/duplicated_group.rb#61
+RuboCop::Cop::Bundler::DuplicatedGroup::MSG = T.let(T.unsafe(nil), String)
+
+# source://rubocop//lib/rubocop/cop/bundler/duplicated_group.rb#63
+RuboCop::Cop::Bundler::DuplicatedGroup::SOURCE_BLOCK_NAMES = T.let(T.unsafe(nil), Array)
+
# Each gem in the Gemfile should have a comment explaining
# its purpose in the project, or the reason for its version
# or source.
@@ -3762,31 +3856,37 @@ RuboCop::Cop::Bundler::InsecureProtocolSource::RESTRICT_ON_SEND = T.let(T.unsafe
# gem 'rubocop'
#
# gem 'rspec'
-#
-# # good only if TreatCommentsAsGroupSeparators is true
+# @example TreatCommentsAsGroupSeparators: true (default)
+# # good
+# # For code quality
+# gem 'rubocop'
+# # For tests
+# gem 'rspec'
+# @example TreatCommentsAsGroupSeparators: false
+# # bad
# # For code quality
# gem 'rubocop'
# # For tests
# gem 'rspec'
#
-# source://rubocop//lib/rubocop/cop/bundler/ordered_gems.rb#27
+# source://rubocop//lib/rubocop/cop/bundler/ordered_gems.rb#35
class RuboCop::Cop::Bundler::OrderedGems < ::RuboCop::Cop::Base
include ::RuboCop::Cop::OrderedGemNode
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/bundler/ordered_gems.rb#56
+ # source://rubocop//lib/rubocop/cop/bundler/ordered_gems.rb#64
def gem_declarations(param0); end
- # source://rubocop//lib/rubocop/cop/bundler/ordered_gems.rb#35
+ # source://rubocop//lib/rubocop/cop/bundler/ordered_gems.rb#43
def on_new_investigation; end
private
- # source://rubocop//lib/rubocop/cop/bundler/ordered_gems.rb#49
+ # source://rubocop//lib/rubocop/cop/bundler/ordered_gems.rb#57
def previous_declaration(node); end
end
-# source://rubocop//lib/rubocop/cop/bundler/ordered_gems.rb#31
+# source://rubocop//lib/rubocop/cop/bundler/ordered_gems.rb#39
RuboCop::Cop::Bundler::OrderedGems::MSG = T.let(T.unsafe(nil), String)
# Common functionality for checking assignment nodes.
@@ -4894,7 +4994,7 @@ class RuboCop::Cop::Corrector < ::Parser::Source::TreeRewriter
# Legacy
#
- # source://parser/3.2.2.3/lib/parser/source/tree_rewriter.rb#252
+ # source://parser/3.2.2.4/lib/parser/source/tree_rewriter.rb#252
def rewrite; end
# Swaps sources at the given ranges.
@@ -5804,34 +5904,40 @@ RuboCop::Cop::Gemspec::DuplicatedAssignment::MSG = T.let(T.unsafe(nil), String)
# spec.add_runtime_dependency 'rubocop'
#
# spec.add_runtime_dependency 'rspec'
-#
-# # good only if TreatCommentsAsGroupSeparators is true
+# @example TreatCommentsAsGroupSeparators: true (default)
+# # good
+# # For code quality
+# spec.add_dependency 'rubocop'
+# # For tests
+# spec.add_dependency 'rspec'
+# @example TreatCommentsAsGroupSeparators: false
+# # bad
# # For code quality
# spec.add_dependency 'rubocop'
# # For tests
# spec.add_dependency 'rspec'
#
-# source://rubocop//lib/rubocop/cop/gemspec/ordered_dependencies.rb#53
+# source://rubocop//lib/rubocop/cop/gemspec/ordered_dependencies.rb#61
class RuboCop::Cop::Gemspec::OrderedDependencies < ::RuboCop::Cop::Base
include ::RuboCop::Cop::OrderedGemNode
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/gemspec/ordered_dependencies.rb#87
+ # source://rubocop//lib/rubocop/cop/gemspec/ordered_dependencies.rb#95
def dependency_declarations(param0); end
- # source://rubocop//lib/rubocop/cop/gemspec/ordered_dependencies.rb#61
+ # source://rubocop//lib/rubocop/cop/gemspec/ordered_dependencies.rb#69
def on_new_investigation; end
private
- # source://rubocop//lib/rubocop/cop/gemspec/ordered_dependencies.rb#82
+ # source://rubocop//lib/rubocop/cop/gemspec/ordered_dependencies.rb#90
def get_dependency_name(node); end
- # source://rubocop//lib/rubocop/cop/gemspec/ordered_dependencies.rb#76
+ # source://rubocop//lib/rubocop/cop/gemspec/ordered_dependencies.rb#84
def previous_declaration(node); end
end
-# source://rubocop//lib/rubocop/cop/gemspec/ordered_dependencies.rb#57
+# source://rubocop//lib/rubocop/cop/gemspec/ordered_dependencies.rb#65
RuboCop::Cop::Gemspec::OrderedDependencies::MSG = T.let(T.unsafe(nil), String)
# Requires a gemspec to have `rubygems_mfa_required` metadata set.
@@ -6422,61 +6528,61 @@ module RuboCop::Cop::HashShorthandSyntax
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#122
+ # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#125
def brackets?(method_dispatch_node); end
- # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#152
+ # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#155
def breakdown_value_types_of_hash(hash_node); end
- # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#99
+ # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#102
def def_node_that_require_parentheses(node); end
- # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#176
+ # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#179
def each_omittable_value_pair(hash_value_type_breakdown, &block); end
- # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#172
+ # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#175
def each_omitted_value_pair(hash_value_type_breakdown, &block); end
- # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#77
+ # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#80
def enforced_shorthand_syntax; end
- # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#114
+ # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#117
def find_ancestor_method_dispatch_node(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#164
+ # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#167
def hash_with_mixed_shorthand_syntax?(hash_value_type_breakdown); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#168
+ # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#171
def hash_with_values_that_cant_be_omitted?(hash_value_type_breakdown); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#71
+ # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#74
def ignore_hash_shorthand_syntax?(pair_node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#66
+ # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#69
def ignore_mixed_hash_shorthand_syntax?(hash_node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#137
+ # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#140
def last_expression?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#145
+ # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#148
def method_dispatch_as_argument?(method_dispatch_node); end
- # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#180
+ # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#183
def mixed_shorthand_syntax_check(hash_value_type_breakdown); end
- # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#196
+ # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#199
def no_mixed_shorthand_syntax_check(hash_value_type_breakdown); end
# source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#49
@@ -6484,22 +6590,22 @@ module RuboCop::Cop::HashShorthandSyntax
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#81
+ # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#84
def require_hash_value?(hash_key_source, node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#90
+ # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#93
def require_hash_value_for_around_hash_literal?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#126
+ # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#129
def use_element_of_hash_literal_as_receiver?(ancestor, parent); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#131
+ # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#134
def use_modifier_form_without_parenthesized_method_call?(ancestor); end
end
@@ -6512,12 +6618,12 @@ RuboCop::Cop::HashShorthandSyntax::DO_NOT_MIX_MSG_PREFIX = T.let(T.unsafe(nil),
# source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#11
RuboCop::Cop::HashShorthandSyntax::DO_NOT_MIX_OMIT_VALUE_MSG = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#206
+# source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#209
class RuboCop::Cop::HashShorthandSyntax::DefNode < ::Struct
- # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#215
+ # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#218
def first_argument; end
- # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#219
+ # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#222
def last_argument; end
# Returns the value of attribute node
@@ -6531,7 +6637,7 @@ class RuboCop::Cop::HashShorthandSyntax::DefNode < ::Struct
# @return [Object] the newly set value
def node=(_); end
- # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#207
+ # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#210
def selector; end
class << self
@@ -6915,74 +7021,74 @@ class RuboCop::Cop::LambdaLiteralToMethodCorrector
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#115
+ # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#118
def arg_to_unparenthesized_call?; end
# Returns the value of attribute arguments.
#
- # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#31
+ # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#34
def arguments; end
- # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#99
+ # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#102
def arguments_begin_pos; end
- # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#95
+ # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#98
def arguments_end_pos; end
- # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#107
+ # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#110
def block_begin; end
- # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#103
+ # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#106
def block_end; end
# Returns the value of attribute block_node.
#
- # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#31
+ # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#34
def block_node; end
- # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#56
+ # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#59
def insert_arguments(corrector); end
- # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#40
+ # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#43
def insert_separating_space(corrector); end
- # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#85
+ # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#88
def lambda_arg_string; end
# Returns the value of attribute method.
#
- # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#31
+ # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#34
def method; end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#89
+ # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#92
def needs_separating_space?; end
- # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#50
+ # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#53
def remove_arguments(corrector); end
- # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#63
+ # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#66
def remove_leading_whitespace(corrector); end
- # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#71
+ # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#74
def remove_trailing_whitespace(corrector); end
- # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#33
+ # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#36
def remove_unparenthesized_whitespace(corrector); end
- # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#76
+ # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#79
def replace_delimiters(corrector); end
- # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#46
+ # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#49
def replace_selector(corrector); end
- # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#111
+ # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#114
def selector_end; end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#131
+ # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#134
def separating_space?; end
end
@@ -8389,11 +8495,6 @@ class RuboCop::Cop::Layout::DotPosition < ::RuboCop::Cop::Base
private
- # @return [Boolean]
- #
- # source://rubocop//lib/rubocop/cop/layout/dot_position.rb#137
- def ampersand_dot?(node); end
-
# source://rubocop//lib/rubocop/cop/layout/dot_position.rb#49
def autocorrect(corrector, dot, node); end
@@ -8616,7 +8717,23 @@ end
# source://rubocop//lib/rubocop/cop/layout/empty_comment.rb#67
RuboCop::Cop::Layout::EmptyComment::MSG = T.let(T.unsafe(nil), String)
-# Enforces empty line after guard clause
+# Enforces empty line after guard clause.
+#
+# This cop allows `# :nocov:` directive after guard clause because
+# SimpleCov excludes code from the coverage report by wrapping it in `# :nocov:`:
+#
+# [source,ruby]
+# ----
+# def foo
+# # :nocov:
+# return if condition
+# # :nocov:
+# bar
+# end
+# ----
+#
+# Refer to SimpleCov's documentation for more details:
+# https://github.com/simplecov-ruby/simplecov#ignoringskipping-code
#
# @example
#
@@ -8649,90 +8766,106 @@ RuboCop::Cop::Layout::EmptyComment::MSG = T.let(T.unsafe(nil), String)
# end
# end
#
-# source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#38
+# source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#54
class RuboCop::Cop::Layout::EmptyLineAfterGuardClause < ::RuboCop::Cop::Base
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector
extend ::RuboCop::PathUtil
extend ::RuboCop::Cop::Util
- # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#46
+ # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#63
def on_if(node); end
private
- # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#65
+ # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#84
def autocorrect(corrector, node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#87
+ # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#106
def contains_guard_clause?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#80
+ # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#99
def correct_style?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#160
+ # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#181
def heredoc?(node); end
- # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#153
+ # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#174
def heredoc_line(node, heredoc_node); end
- # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#129
+ # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#148
def last_heredoc_argument(node); end
- # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#143
+ # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#162
def last_heredoc_argument_node(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#172
+ # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#199
def multiple_statements_on_line?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#98
- def next_line_empty?(line); end
+ # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#121
+ def next_line_allowed_directive_comment?(line); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#91
- def next_line_empty_or_enable_directive_comment?(line); end
+ # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#117
+ def next_line_empty?(line); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#102
- def next_line_enable_directive_comment?(line); end
+ # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#110
+ def next_line_empty_or_allowed_directive_comment?(line); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#108
+ # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#127
def next_line_rescue_or_ensure?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#122
+ # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#141
def next_sibling_empty_or_guard_clause?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#113
+ # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#132
def next_sibling_parent_empty_or_else?(node); end
- # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#164
+ # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#191
def offense_location(node); end
+
+ # SimpleCov excludes code from the coverage report by wrapping it in `# :nocov:`:
+ # https://github.com/simplecov-ruby/simplecov#ignoringskipping-code
+ #
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#208
+ def simplecov_directive_comment?(comment); end
+
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#185
+ def use_heredoc_in_condition?(condition); end
end
-# source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#44
+# source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#60
RuboCop::Cop::Layout::EmptyLineAfterGuardClause::END_OF_HEREDOC_LINE = T.let(T.unsafe(nil), Integer)
-# source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#43
+# source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#59
RuboCop::Cop::Layout::EmptyLineAfterGuardClause::MSG = T.let(T.unsafe(nil), String)
+# source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#61
+RuboCop::Cop::Layout::EmptyLineAfterGuardClause::SIMPLE_DIRECTIVE_COMMENT_PATTERN = T.let(T.unsafe(nil), Regexp)
+
# Checks for a newline after the final magic comment.
#
# @example
@@ -9990,13 +10123,13 @@ class RuboCop::Cop::Layout::EndAlignment < ::RuboCop::Cop::Base
# source://rubocop//lib/rubocop/cop/layout/end_alignment.rb#161
def alignment_node(node); end
- # source://rubocop//lib/rubocop/cop/layout/end_alignment.rb#172
+ # source://rubocop//lib/rubocop/cop/layout/end_alignment.rb#178
def alignment_node_for_variable_style(node); end
# source://rubocop//lib/rubocop/cop/layout/end_alignment.rb#142
def asgn_variable_align_with(outer_node, inner_node); end
- # source://rubocop//lib/rubocop/cop/layout/end_alignment.rb#190
+ # source://rubocop//lib/rubocop/cop/layout/end_alignment.rb#196
def assignment_or_operator_method(node); end
# source://rubocop//lib/rubocop/cop/layout/end_alignment.rb#116
@@ -11531,71 +11664,72 @@ class RuboCop::Cop::Layout::HeredocIndentation < ::RuboCop::Cop::Base
include ::RuboCop::Cop::Alignment
include ::RuboCop::Cop::Heredoc
extend ::RuboCop::Cop::AutoCorrector
+ extend ::RuboCop::Cop::TargetRubyVersion
- # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#33
+ # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#36
def on_heredoc(node); end
private
- # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#117
+ # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#120
def adjust_minus(corrector, node); end
- # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#112
+ # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#115
def adjust_squiggly(corrector, node); end
- # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#141
+ # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#144
def base_indent_level(node); end
- # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#152
+ # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#155
def heredoc_body(node); end
- # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#156
+ # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#159
def heredoc_end(node); end
# Returns '~', '-' or nil
#
- # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#148
+ # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#151
def heredoc_indent_type(node); end
- # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#123
+ # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#126
def indented_body(node); end
- # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#130
+ # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#133
def indented_end(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#88
+ # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#91
def line_too_long?(node); end
- # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#100
+ # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#103
def longest_line(lines); end
- # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#108
+ # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#111
def max_line_length; end
- # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#66
+ # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#69
def message(heredoc_indent_type); end
- # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#54
+ # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#57
def register_offense(node, heredoc_indent_type); end
- # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#76
+ # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#79
def type_message(indentation_width, current_indent_type); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#104
+ # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#107
def unlimited_heredoc_length?; end
- # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#84
+ # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#87
def width_message(indentation_width); end
end
-# source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#29
+# source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#32
RuboCop::Cop::Layout::HeredocIndentation::TYPE_MSG = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#31
+# source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#34
RuboCop::Cop::Layout::HeredocIndentation::WIDTH_MSG = T.let(T.unsafe(nil), String)
# Checks for inconsistent indentation.
@@ -12255,35 +12389,38 @@ class RuboCop::Cop::Layout::LineContinuationLeadingSpace < ::RuboCop::Cop::Base
private
- # source://rubocop//lib/rubocop/cop/layout/line_continuation_leading_space.rb#105
+ # source://rubocop//lib/rubocop/cop/layout/line_continuation_leading_space.rb#113
def autocorrect(corrector, offense_range, insert_pos, spaces); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/line_continuation_leading_space.rb#101
- def continuation?(line); end
+ # source://rubocop//lib/rubocop/cop/layout/line_continuation_leading_space.rb#106
+ def continuation?(line, line_num, node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/line_continuation_leading_space.rb#130
+ # source://rubocop//lib/rubocop/cop/layout/line_continuation_leading_space.rb#138
def enforced_style_leading?; end
- # source://rubocop//lib/rubocop/cop/layout/line_continuation_leading_space.rb#79
+ # source://rubocop//lib/rubocop/cop/layout/line_continuation_leading_space.rb#76
+ def investigate(first_line, second_line, end_of_first_line); end
+
+ # source://rubocop//lib/rubocop/cop/layout/line_continuation_leading_space.rb#84
def investigate_leading_style(first_line, second_line, end_of_first_line); end
- # source://rubocop//lib/rubocop/cop/layout/line_continuation_leading_space.rb#90
+ # source://rubocop//lib/rubocop/cop/layout/line_continuation_leading_space.rb#95
def investigate_trailing_style(first_line, second_line, end_of_first_line); end
- # source://rubocop//lib/rubocop/cop/layout/line_continuation_leading_space.rb#110
+ # source://rubocop//lib/rubocop/cop/layout/line_continuation_leading_space.rb#118
def leading_offense_range(end_of_first_line, matches); end
- # source://rubocop//lib/rubocop/cop/layout/line_continuation_leading_space.rb#122
+ # source://rubocop//lib/rubocop/cop/layout/line_continuation_leading_space.rb#130
def message(_range); end
- # source://rubocop//lib/rubocop/cop/layout/line_continuation_leading_space.rb#75
+ # source://rubocop//lib/rubocop/cop/layout/line_continuation_leading_space.rb#72
def raw_lines(node); end
- # source://rubocop//lib/rubocop/cop/layout/line_continuation_leading_space.rb#116
+ # source://rubocop//lib/rubocop/cop/layout/line_continuation_leading_space.rb#124
def trailing_offense_range(end_of_first_line, matches); end
end
@@ -13449,10 +13586,13 @@ class RuboCop::Cop::Layout::MultilineMethodCallIndentation < ::RuboCop::Cop::Bas
# source://rubocop//lib/rubocop/cop/layout/multiline_method_call_indentation.rb#101
def extra_indentation(given_style, parent); end
- # source://rubocop//lib/rubocop/cop/layout/multiline_method_call_indentation.rb#222
+ # source://rubocop//lib/rubocop/cop/layout/multiline_method_call_indentation.rb#226
+ def find_multiline_block_chain_node(node); end
+
+ # source://rubocop//lib/rubocop/cop/layout/multiline_method_call_indentation.rb#237
def first_call_has_a_dot(node); end
- # source://rubocop//lib/rubocop/cop/layout/multiline_method_call_indentation.rb#213
+ # source://rubocop//lib/rubocop/cop/layout/multiline_method_call_indentation.rb#217
def get_dot_right_above(node); end
# source://rubocop//lib/rubocop/cop/layout/multiline_method_call_indentation.rb#113
@@ -13466,12 +13606,12 @@ class RuboCop::Cop::Layout::MultilineMethodCallIndentation < ::RuboCop::Cop::Bas
# @yield [operation_rhs.first_argument]
#
- # source://rubocop//lib/rubocop/cop/layout/multiline_method_call_indentation.rb#232
+ # source://rubocop//lib/rubocop/cop/layout/multiline_method_call_indentation.rb#247
def operation_rhs(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/multiline_method_call_indentation.rb#242
+ # source://rubocop//lib/rubocop/cop/layout/multiline_method_call_indentation.rb#257
def operator_rhs?(node, receiver); end
# a
@@ -13931,60 +14071,68 @@ class RuboCop::Cop::Layout::RedundantLineBreak < ::RuboCop::Cop::Base
extend ::RuboCop::Cop::AutoCorrector
# source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#51
+ def on_lvasgn(node); end
+
+ # source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#55
def on_send(node); end
private
- # source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#64
+ # source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#72
def check_assignment(node, _rhs); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#112
+ # source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#120
def comment_within?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#82
+ # source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#90
def configured_to_not_be_inspected?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#106
+ # source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#114
def convertible_block?(node); end
- # source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#132
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#68
+ def end_with_percent_blank_string?(processed_source); end
+
+ # source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#142
def max_line_length; end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#77
+ # source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#85
def offense?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#89
+ # source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#97
def other_cop_takes_precedence?(node); end
- # source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#70
+ # source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#78
def register_offense(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#95
+ # source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#103
def single_line_block_chain_enabled?; end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#99
+ # source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#107
def suitable_as_single_line?(node); end
- # source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#123
+ # source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#133
def to_single_line(source); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#118
+ # source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#128
def too_long?(node); end
end
@@ -14647,7 +14795,7 @@ RuboCop::Cop::Layout::SpaceAroundKeyword::SAFE_NAVIGATION = T.let(T.unsafe(nil),
# foo &. bar
# foo &. bar&. buzz
# RuboCop:: Cop
-# RuboCop:: Cop:: Cop
+# RuboCop:: Cop:: Base
# :: RuboCop::Cop
#
# # good
@@ -14659,7 +14807,7 @@ RuboCop::Cop::Layout::SpaceAroundKeyword::SAFE_NAVIGATION = T.let(T.unsafe(nil),
# foo&.bar
# foo&.bar&.buzz
# RuboCop::Cop
-# RuboCop::Cop::Cop
+# RuboCop::Cop::Base
# ::RuboCop::Cop
#
# source://rubocop//lib/rubocop/cop/layout/space_around_method_call_operator.rb#37
@@ -16019,13 +16167,18 @@ class RuboCop::Cop::Layout::TrailingEmptyLines < ::RuboCop::Cop::Base
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/trailing_empty_lines.rb#79
+ # source://rubocop//lib/rubocop/cop/layout/trailing_empty_lines.rb#90
+ def end_with_percent_blank_string?(processed_source); end
+
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/layout/trailing_empty_lines.rb#80
def ends_in_end?(processed_source); end
- # source://rubocop//lib/rubocop/cop/layout/trailing_empty_lines.rb#89
+ # source://rubocop//lib/rubocop/cop/layout/trailing_empty_lines.rb#94
def message(wanted_blank_lines, blank_lines); end
- # source://rubocop//lib/rubocop/cop/layout/trailing_empty_lines.rb#66
+ # source://rubocop//lib/rubocop/cop/layout/trailing_empty_lines.rb#67
def offense_detected(buffer, wanted_blank_lines, blank_lines, whitespace_at_end); end
end
@@ -17160,12 +17313,17 @@ class RuboCop::Cop::Lint::Debugger < ::RuboCop::Cop::Base
private
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/lint/debugger.rb#116
+ def assumed_argument?(node); end
+
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/debugger.rb#95
def assumed_usage_context?(node); end
- # source://rubocop//lib/rubocop/cop/lint/debugger.rb#102
+ # source://rubocop//lib/rubocop/cop/lint/debugger.rb#105
def chained_method_name(send_node); end
# @return [Boolean]
@@ -18179,7 +18337,7 @@ RuboCop::Cop::Lint::ElseLayout::MSG = T.let(T.unsafe(nil), String)
# Checks for blocks without a body.
# Such empty blocks are typically an oversight or we should provide a comment
-# be clearer what we're aiming for.
+# to clarify what we're aiming for.
#
# Empty lambdas and procs are ignored by default.
#
@@ -20501,89 +20659,91 @@ RuboCop::Cop::Lint::NoReturnInBeginEndBlocks::MSG = T.let(T.unsafe(nil), String)
#
# source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#44
class RuboCop::Cop::Lint::NonAtomicFileOperation < ::RuboCop::Cop::Base
- include ::RuboCop::Cop::Alignment
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#75
+ # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#76
def explicit_not_force?(param0); end
- # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#70
+ # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#71
def force?(param0); end
- # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#79
+ # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#80
def on_send(node); end
- # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#65
+ # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#66
def receiver_and_method_name(param0 = T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#60
+ # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#61
def send_exist_node(param0); end
private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#96
+ # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#97
def allowable_use_with_if?(if_node); end
- # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#120
+ # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#121
def autocorrect(corrector, node, range); end
- # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#131
+ # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#132
def autocorrect_replace_method(corrector, node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#148
+ # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#151
def force_method?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#156
+ # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#159
def force_method_name?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#152
+ # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#155
def force_option?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#90
+ # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#91
def if_node_child?(node); end
- # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#111
+ # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#112
def message_change_force_method(node); end
- # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#115
+ # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#116
def message_remove_file_exist_check(node); end
- # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#100
+ # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#101
def register_offense(node, exist_node); end
- # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#138
+ # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#139
def replacement_method(node); end
end
-# source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#51
+# source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#50
RuboCop::Cop::Lint::NonAtomicFileOperation::MAKE_FORCE_METHODS = T.let(T.unsafe(nil), Array)
-# source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#52
+# source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#51
RuboCop::Cop::Lint::NonAtomicFileOperation::MAKE_METHODS = T.let(T.unsafe(nil), Array)
-# source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#50
+# source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#49
RuboCop::Cop::Lint::NonAtomicFileOperation::MSG_CHANGE_FORCE_METHOD = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#48
+# source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#47
RuboCop::Cop::Lint::NonAtomicFileOperation::MSG_REMOVE_FILE_EXIST_CHECK = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#53
+# source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#54
+RuboCop::Cop::Lint::NonAtomicFileOperation::RECURSIVE_REMOVE_METHODS = T.let(T.unsafe(nil), Array)
+
+# source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#52
RuboCop::Cop::Lint::NonAtomicFileOperation::REMOVE_FORCE_METHODS = T.let(T.unsafe(nil), Array)
-# source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#54
+# source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#53
RuboCop::Cop::Lint::NonAtomicFileOperation::REMOVE_METHODS = T.let(T.unsafe(nil), Array)
-# source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#56
+# source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#55
RuboCop::Cop::Lint::NonAtomicFileOperation::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
# `Dir[...]` and `Dir.glob(...)` do not make any guarantees about
@@ -21722,48 +21882,52 @@ RuboCop::Cop::Lint::RedundantRegexpQuantifiers::MSG_REDUNDANT_QUANTIFIER = T.let
# # good
# require 'unloaded_feature'
#
-# source://rubocop//lib/rubocop/cop/lint/redundant_require_statement.rb#34
+# source://rubocop//lib/rubocop/cop/lint/redundant_require_statement.rb#38
class RuboCop::Cop::Lint::RedundantRequireStatement < ::RuboCop::Cop::Base
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/lint/redundant_require_statement.rb#57
+ # source://rubocop//lib/rubocop/cop/lint/redundant_require_statement.rb#61
def on_send(node); end
- # source://rubocop//lib/rubocop/cop/lint/redundant_require_statement.rb#53
+ # source://rubocop//lib/rubocop/cop/lint/redundant_require_statement.rb#57
def pp_const?(param0 = T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/cop/lint/redundant_require_statement.rb#47
+ # source://rubocop//lib/rubocop/cop/lint/redundant_require_statement.rb#51
def redundant_require_statement?(param0 = T.unsafe(nil)); end
private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/lint/redundant_require_statement.rb#87
+ # source://rubocop//lib/rubocop/cop/lint/redundant_require_statement.rb#91
def need_to_require_pp?; end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/lint/redundant_require_statement.rb#76
+ # source://rubocop//lib/rubocop/cop/lint/redundant_require_statement.rb#80
def redundant_feature?(feature_name); end
end
-# source://rubocop//lib/rubocop/cop/lint/redundant_require_statement.rb#38
+# source://rubocop//lib/rubocop/cop/lint/redundant_require_statement.rb#42
RuboCop::Cop::Lint::RedundantRequireStatement::MSG = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/lint/redundant_require_statement.rb#41
+# source://rubocop//lib/rubocop/cop/lint/redundant_require_statement.rb#45
RuboCop::Cop::Lint::RedundantRequireStatement::PRETTY_PRINT_METHODS = T.let(T.unsafe(nil), Array)
-# source://rubocop//lib/rubocop/cop/lint/redundant_require_statement.rb#39
+# source://rubocop//lib/rubocop/cop/lint/redundant_require_statement.rb#43
RuboCop::Cop::Lint::RedundantRequireStatement::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
-# source://rubocop//lib/rubocop/cop/lint/redundant_require_statement.rb#40
+# source://rubocop//lib/rubocop/cop/lint/redundant_require_statement.rb#44
RuboCop::Cop::Lint::RedundantRequireStatement::RUBY_22_LOADED_FEATURES = T.let(T.unsafe(nil), Array)
# Checks for redundant safe navigation calls.
-# `instance_of?`, `kind_of?`, `is_a?`, `eql?`, `respond_to?`, and `equal?` methods
-# are checked by default. These are customizable with `AllowedMethods` option.
+# Use cases where a constant, named in camel case for classes and modules is `nil` are rare,
+# and an offense is not detected when the receiver is a snake case constant.
+#
+# For all receivers, the `instance_of?`, `kind_of?`, `is_a?`, `eql?`, `respond_to?`,
+# and `equal?` methods are checked by default.
+# These are customizable with `AllowedMethods` option.
#
# The `AllowedMethods` option specifies nil-safe methods,
# in other words, it is a method that is allowed to skip safe navigation.
@@ -21775,6 +21939,9 @@ RuboCop::Cop::Lint::RedundantRequireStatement::RUBY_22_LOADED_FEATURES = T.let(T
#
# @example
# # bad
+# CamelCaseConst&.do_something
+#
+# # bad
# do_something if attrs&.respond_to?(:[])
#
# # good
@@ -21786,6 +21953,9 @@ RuboCop::Cop::Lint::RedundantRequireStatement::RUBY_22_LOADED_FEATURES = T.let(T
# end
#
# # good
+# CamelCaseConst.do_something
+#
+# # good
# while node.is_a?(BeginNode)
# node = node.parent
# end
@@ -21800,37 +21970,40 @@ RuboCop::Cop::Lint::RedundantRequireStatement::RUBY_22_LOADED_FEATURES = T.let(T
# do_something if attrs.nil_safe_method(:[])
# do_something if attrs&.not_nil_safe_method(:[])
#
-# source://rubocop//lib/rubocop/cop/lint/redundant_safe_navigation.rb#51
+# source://rubocop//lib/rubocop/cop/lint/redundant_safe_navigation.rb#61
class RuboCop::Cop::Lint::RedundantSafeNavigation < ::RuboCop::Cop::Base
include ::RuboCop::Cop::AllowedMethods
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/lint/redundant_safe_navigation.rb#65
+ # source://rubocop//lib/rubocop/cop/lint/redundant_safe_navigation.rb#78
def on_csend(node); end
- # source://rubocop//lib/rubocop/cop/lint/redundant_safe_navigation.rb#61
+ # source://rubocop//lib/rubocop/cop/lint/redundant_safe_navigation.rb#73
def respond_to_nil_specific_method?(param0 = T.unsafe(nil)); end
private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/lint/redundant_safe_navigation.rb#75
+ # source://rubocop//lib/rubocop/cop/lint/redundant_safe_navigation.rb#91
def check?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/lint/redundant_safe_navigation.rb#85
+ # source://rubocop//lib/rubocop/cop/lint/redundant_safe_navigation.rb#101
def condition?(parent, node); end
end
-# source://rubocop//lib/rubocop/cop/lint/redundant_safe_navigation.rb#56
+# source://rubocop//lib/rubocop/cop/lint/redundant_safe_navigation.rb#66
RuboCop::Cop::Lint::RedundantSafeNavigation::MSG = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/lint/redundant_safe_navigation.rb#58
+# source://rubocop//lib/rubocop/cop/lint/redundant_safe_navigation.rb#68
RuboCop::Cop::Lint::RedundantSafeNavigation::NIL_SPECIFIC_METHODS = T.let(T.unsafe(nil), Set)
+# source://rubocop//lib/rubocop/cop/lint/redundant_safe_navigation.rb#70
+RuboCop::Cop::Lint::RedundantSafeNavigation::SNAKE_CASE = T.let(T.unsafe(nil), Regexp)
+
# Checks for unneeded usages of splat expansion
#
# @example
@@ -22512,8 +22685,13 @@ class RuboCop::Cop::Lint::SafeNavigationChain < ::RuboCop::Cop::Base
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/lint/safe_navigation_chain.rb#92
+ # source://rubocop//lib/rubocop/cop/lint/safe_navigation_chain.rb#91
def brackets?(send_node); end
+
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/lint/safe_navigation_chain.rb#95
+ def require_parentheses?(send_node); end
end
# source://rubocop//lib/rubocop/cop/lint/safe_navigation_chain.rb#33
@@ -23041,6 +23219,11 @@ class RuboCop::Cop::Lint::ShadowingOuterLocalVariable < ::RuboCop::Cop::Base
# source://rubocop//lib/rubocop/cop/lint/shadowing_outer_local_variable.rb#93
def find_conditional_node_from_ascendant(node); end
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/lint/shadowing_outer_local_variable.rb#100
+ def node_or_its_ascendant_conditional?(node); end
+
# source://rubocop//lib/rubocop/cop/lint/shadowing_outer_local_variable.rb#49
def ractor_block?(param0 = T.unsafe(nil)); end
@@ -24584,12 +24767,18 @@ RuboCop::Cop::Lint::UselessAccessModifier::MSG = T.let(T.unsafe(nil), String)
# scope.
# The basic idea for this cop was from the warning of `ruby -cw`:
#
-# assigned but unused variable - foo
+# [source,console]
+# ----
+# assigned but unused variable - foo
+# ----
#
# Currently this cop has advanced logic that detects unreferenced
# reassignments and properly handles varied cases such as branch, loop,
# rescue, ensure, etc.
#
+# NOTE: Given the assignment `foo = 1, bar = 2`, removing unused variables
+# can lead to a syntax error, so this case is not autocorrected.
+#
# @example
#
# # bad
@@ -24607,70 +24796,83 @@ RuboCop::Cop::Lint::UselessAccessModifier::MSG = T.let(T.unsafe(nil), String)
# do_something(some_var)
# end
#
-# source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#39
+# source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#45
class RuboCop::Cop::Lint::UselessAssignment < ::RuboCop::Cop::Base
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#50
+ # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#56
def after_leaving_scope(scope, _variable_table); end
- # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#136
+ # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#162
def autocorrect(corrector, assignment); end
- # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#54
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#103
+ def chained_assignment?(node); end
+
+ # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#61
def check_for_unused_assignments(variable); end
- # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#120
+ # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#146
def collect_variable_like_names(scope); end
- # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#74
+ # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#79
def message_for_useless_assignment(assignment); end
- # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#80
+ # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#107
def message_specification(assignment, variable); end
- # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#90
+ # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#117
def multiple_assignment_message(variable_name); end
- # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#95
+ # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#85
+ def offense_range(assignment); end
+
+ # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#122
def operator_assignment_message(scope, assignment); end
- # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#153
+ # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#179
def remove_exception_assignment_part(corrector, node); end
- # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#177
+ # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#203
def remove_local_variable_assignment_part(corrector, node); end
- # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#166
+ # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#192
def remove_trailing_character_from_operator(corrector, node); end
- # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#162
+ # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#188
def rename_variable_with_underscore(corrector, node); end
- # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#170
+ # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#196
def replace_named_capture_group_with_non_capturing_group(corrector, node, variable_name); end
# TODO: More precise handling (rescue, ensure, nested begin, etc.)
#
- # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#110
+ # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#136
def return_value_node_of_scope(scope); end
- # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#103
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#93
+ def sequential_assignment?(node); end
+
+ # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#129
def similar_name_message(variable); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#129
+ # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#155
def variable_like_method_invocation?(node); end
class << self
- # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#46
+ # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#52
def joining_forces; end
end
end
-# source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#44
+# source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#50
RuboCop::Cop::Lint::UselessAssignment::MSG = T.let(T.unsafe(nil), String)
# Checks for useless `else` in `begin..end` without `rescue`.
@@ -25081,6 +25283,16 @@ RuboCop::Cop::Lint::UselessTimes::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
# Checks for operators, variables, literals, lambda, proc and nonmutating
# methods used in void context.
#
+# `each` blocks are allowed to prevent false positives.
+# For example, the expression inside the `each` block below.
+# It's not void, especially when the receiver is an `Enumerator`:
+#
+# [source,ruby]
+# ----
+# enumerator = [1, 2, 3].filter
+# enumerator.each { |item| item >= 2 } #=> [2, 3]
+# ----
+#
# @example CheckForMethodsWithNoSideEffects: false (default)
# # bad
# def some_method
@@ -25115,101 +25327,104 @@ RuboCop::Cop::Lint::UselessTimes::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
# do_something(some_array)
# end
#
-# source://rubocop//lib/rubocop/cop/lint/void.rb#43
+# source://rubocop//lib/rubocop/cop/lint/void.rb#53
class RuboCop::Cop::Lint::Void < ::RuboCop::Cop::Base
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/lint/void.rb#80
+ # source://rubocop//lib/rubocop/cop/lint/void.rb#92
def on_begin(node); end
- # source://rubocop//lib/rubocop/cop/lint/void.rb#71
+ # source://rubocop//lib/rubocop/cop/lint/void.rb#82
def on_block(node); end
- # source://rubocop//lib/rubocop/cop/lint/void.rb#80
+ # source://rubocop//lib/rubocop/cop/lint/void.rb#92
def on_kwbegin(node); end
- # source://rubocop//lib/rubocop/cop/lint/void.rb#71
+ # source://rubocop//lib/rubocop/cop/lint/void.rb#82
def on_numblock(node); end
private
- # source://rubocop//lib/rubocop/cop/lint/void.rb#194
+ # source://rubocop//lib/rubocop/cop/lint/void.rb#212
def autocorrect_nonmutating_send(corrector, node, suggestion); end
- # source://rubocop//lib/rubocop/cop/lint/void.rb#190
+ # source://rubocop//lib/rubocop/cop/lint/void.rb#208
def autocorrect_void_expression(corrector, node); end
- # source://rubocop//lib/rubocop/cop/lint/void.rb#178
+ # source://rubocop//lib/rubocop/cop/lint/void.rb#196
def autocorrect_void_op(corrector, node); end
- # source://rubocop//lib/rubocop/cop/lint/void.rb#87
+ # source://rubocop//lib/rubocop/cop/lint/void.rb#99
def check_begin(node); end
- # source://rubocop//lib/rubocop/cop/lint/void.rb#93
+ # source://rubocop//lib/rubocop/cop/lint/void.rb#108
def check_expression(expr); end
- # source://rubocop//lib/rubocop/cop/lint/void.rb#128
+ # source://rubocop//lib/rubocop/cop/lint/void.rb#146
def check_literal(node); end
- # source://rubocop//lib/rubocop/cop/lint/void.rb#152
+ # source://rubocop//lib/rubocop/cop/lint/void.rb#170
def check_nonmutating(node); end
- # source://rubocop//lib/rubocop/cop/lint/void.rb#136
+ # source://rubocop//lib/rubocop/cop/lint/void.rb#154
def check_self(node); end
- # source://rubocop//lib/rubocop/cop/lint/void.rb#113
+ # source://rubocop//lib/rubocop/cop/lint/void.rb#128
def check_var(node); end
- # source://rubocop//lib/rubocop/cop/lint/void.rb#144
+ # source://rubocop//lib/rubocop/cop/lint/void.rb#162
def check_void_expression(node); end
- # source://rubocop//lib/rubocop/cop/lint/void.rb#104
- def check_void_op(node); end
+ # source://rubocop//lib/rubocop/cop/lint/void.rb#118
+ def check_void_op(node, &block); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/lint/void.rb#170
+ # source://rubocop//lib/rubocop/cop/lint/void.rb#188
def in_void_context?(node); end
end
-# source://rubocop//lib/rubocop/cop/lint/void.rb#55
+# source://rubocop//lib/rubocop/cop/lint/void.rb#66
RuboCop::Cop::Lint::Void::BINARY_OPERATORS = T.let(T.unsafe(nil), Array)
-# source://rubocop//lib/rubocop/cop/lint/void.rb#52
+# source://rubocop//lib/rubocop/cop/lint/void.rb#60
+RuboCop::Cop::Lint::Void::CONST_MSG = T.let(T.unsafe(nil), String)
+
+# source://rubocop//lib/rubocop/cop/lint/void.rb#63
RuboCop::Cop::Lint::Void::EXPRESSION_MSG = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/lint/void.rb#50
+# source://rubocop//lib/rubocop/cop/lint/void.rb#61
RuboCop::Cop::Lint::Void::LIT_MSG = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/lint/void.rb#66
+# source://rubocop//lib/rubocop/cop/lint/void.rb#77
RuboCop::Cop::Lint::Void::METHODS_REPLACEABLE_BY_EACH = T.let(T.unsafe(nil), Array)
-# source://rubocop//lib/rubocop/cop/lint/void.rb#68
+# source://rubocop//lib/rubocop/cop/lint/void.rb#79
RuboCop::Cop::Lint::Void::NONMUTATING_METHODS = T.let(T.unsafe(nil), Array)
-# source://rubocop//lib/rubocop/cop/lint/void.rb#59
+# source://rubocop//lib/rubocop/cop/lint/void.rb#70
RuboCop::Cop::Lint::Void::NONMUTATING_METHODS_WITH_BANG_VERSION = T.let(T.unsafe(nil), Array)
-# source://rubocop//lib/rubocop/cop/lint/void.rb#53
+# source://rubocop//lib/rubocop/cop/lint/void.rb#64
RuboCop::Cop::Lint::Void::NONMUTATING_MSG = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/lint/void.rb#57
+# source://rubocop//lib/rubocop/cop/lint/void.rb#68
RuboCop::Cop::Lint::Void::OPERATORS = T.let(T.unsafe(nil), Array)
-# source://rubocop//lib/rubocop/cop/lint/void.rb#48
+# source://rubocop//lib/rubocop/cop/lint/void.rb#58
RuboCop::Cop::Lint::Void::OP_MSG = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/lint/void.rb#51
+# source://rubocop//lib/rubocop/cop/lint/void.rb#62
RuboCop::Cop::Lint::Void::SELF_MSG = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/lint/void.rb#56
+# source://rubocop//lib/rubocop/cop/lint/void.rb#67
RuboCop::Cop::Lint::Void::UNARY_OPERATORS = T.let(T.unsafe(nil), Array)
-# source://rubocop//lib/rubocop/cop/lint/void.rb#49
+# source://rubocop//lib/rubocop/cop/lint/void.rb#59
RuboCop::Cop::Lint::Void::VAR_MSG = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/lint/void.rb#58
+# source://rubocop//lib/rubocop/cop/lint/void.rb#69
RuboCop::Cop::Lint::Void::VOID_CONTEXT_TYPES = T.let(T.unsafe(nil), Array)
# Common functionality for obtaining source ranges from regexp matches
@@ -25472,13 +25687,12 @@ RuboCop::Cop::Metrics::AbcSize::MSG = T.let(T.unsafe(nil), String)
# Available are: 'array', 'hash', 'heredoc', and 'method_call'. Each construct
# will be counted as one line regardless of its actual size.
#
+# NOTE: This cop does not apply for `Struct` definitions.
#
# NOTE: The `ExcludedMethods` configuration is deprecated and only kept
# for backwards compatibility. Please use `AllowedMethods` and `AllowedPatterns`
# instead. By default, there are no methods to allowed.
#
-# NOTE: This cop does not apply for `Struct` definitions.
-#
# @example CountAsOne: ['array', 'heredoc', 'method_call']
#
# something do
@@ -25604,18 +25818,18 @@ RuboCop::Cop::Metrics::BlockNesting::NESTING_BLOCKS = T.let(T.unsafe(nil), Array
class RuboCop::Cop::Metrics::ClassLength < ::RuboCop::Cop::Base
include ::RuboCop::Cop::CodeLength
- # source://rubocop//lib/rubocop/cop/metrics/class_length.rb#47
+ # source://rubocop//lib/rubocop/cop/metrics/class_length.rb#52
def on_casgn(node); end
# source://rubocop//lib/rubocop/cop/metrics/class_length.rb#42
def on_class(node); end
- # source://rubocop//lib/rubocop/cop/metrics/class_length.rb#42
+ # source://rubocop//lib/rubocop/cop/metrics/class_length.rb#46
def on_sclass(node); end
private
- # source://rubocop//lib/rubocop/cop/metrics/class_length.rb#65
+ # source://rubocop//lib/rubocop/cop/metrics/class_length.rb#70
def message(length, max_length); end
end
@@ -26490,18 +26704,21 @@ end
#
# source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#7
module RuboCop::Cop::MultilineExpressionIndentation
+ # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#14
+ def on_csend(node); end
+
# source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#14
def on_send(node); end
private
- # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#131
+ # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#132
def argument_in_method_call(node, kind); end
- # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#187
+ # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#188
def assignment_rhs(node); end
- # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#64
+ # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#65
def check(range, node, lhs, rhs); end
# The correct indentation of `node` is usually `IndentationWidth`, with
@@ -26521,62 +26738,62 @@ module RuboCop::Cop::MultilineExpressionIndentation
# bar # normal indentation, not special
# ```
#
- # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#54
+ # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#55
def correct_indentation(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#159
+ # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#160
def disqualified_rhs?(candidate, ancestor); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#203
+ # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#204
def grouped_expression?(node); end
- # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#72
+ # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#73
def incorrect_style_detected(range, node, lhs, rhs); end
- # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#84
+ # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#85
def indentation(node); end
- # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#121
+ # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#122
def indented_keyword_expression(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#207
+ # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#208
def inside_arg_list_parentheses?(node, ancestor); end
- # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#98
+ # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#99
def keyword_message_tail(node); end
- # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#106
+ # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#107
def kw_node_with_special_indentation(node); end
- # In a chain of method calls, we regard the top send node as the base
+ # In a chain of method calls, we regard the top call node as the base
# for indentation of all lines following the first. For example:
# a.
# b c { block }. <-- b is indented relative to a
# d <-- d is indented relative to a
#
- # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#31
+ # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#32
def left_hand_side(lhs); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#197
+ # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#198
def not_for_this_cop?(node); end
- # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#88
+ # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#89
def operation_description(node, rhs); end
- # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#145
+ # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#146
def part_of_assignment_rhs(node, candidate); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#183
+ # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#184
def part_of_block_body?(candidate, block_node); end
# Returns true if `node` is a conditional whose `body` and `condition`
@@ -26584,29 +26801,29 @@ module RuboCop::Cop::MultilineExpressionIndentation
#
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#216
+ # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#217
def postfix_conditional?(node); end
# The []= operator and setters (a.b = c) are parsed as :send nodes.
#
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#175
+ # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#176
def valid_method_rhs_candidate?(candidate, node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#164
+ # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#165
def valid_rhs?(candidate, ancestor); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#179
+ # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#180
def valid_rhs_candidate?(candidate, node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#220
+ # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#221
def within_node?(inner, outer); end
end
@@ -27418,12 +27635,12 @@ class RuboCop::Cop::Naming::HeredocDelimiterNaming < ::RuboCop::Cop::Base
private
- # source://rubocop//lib/rubocop/cop/naming/heredoc_delimiter_naming.rb#49
+ # source://rubocop//lib/rubocop/cop/naming/heredoc_delimiter_naming.rb#51
def forbidden_delimiters; end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/naming/heredoc_delimiter_naming.rb#39
+ # source://rubocop//lib/rubocop/cop/naming/heredoc_delimiter_naming.rb#41
def meaningful_delimiters?(node); end
end
@@ -28953,25 +29170,20 @@ module RuboCop::Cop::PrecedingFollowingAlignment
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#95
+ # source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#93
def aligned_assignment?(range, line); end
- # @return [Boolean]
- #
- # source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#91
- def aligned_char?(range, line); end
-
# source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#70
def aligned_comment_lines; end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#107
+ # source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#105
def aligned_identical?(range, line); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#83
+ # source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#81
def aligned_operator?(range, line); end
# @return [Boolean]
@@ -28996,10 +29208,10 @@ module RuboCop::Cop::PrecedingFollowingAlignment
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#100
+ # source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#98
def aligned_with_append_operator?(range, line); end
- # source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#111
+ # source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#109
def aligned_with_assignment(token, line_range); end
# @return [Boolean]
@@ -29025,7 +29237,7 @@ module RuboCop::Cop::PrecedingFollowingAlignment
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#87
+ # source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#85
def aligned_words?(range, line); end
# @return [Boolean]
@@ -29033,16 +29245,16 @@ module RuboCop::Cop::PrecedingFollowingAlignment
# source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#10
def allow_for_alignment?; end
- # source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#129
+ # source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#127
def assignment_lines; end
- # source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#133
+ # source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#131
def assignment_tokens; end
- # source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#149
+ # source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#147
def relevant_assignment_lines(line_range); end
- # source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#176
+ # source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#174
def remove_optarg_equals(asgn_tokens, processed_source); end
end
@@ -30321,9 +30533,6 @@ class RuboCop::Cop::Style::Alias < ::RuboCop::Cop::Base
include ::RuboCop::Cop::ConfigurableEnforcedStyle
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/style/alias.rb#150
- def identifier(param0 = T.unsafe(nil)); end
-
# source://rubocop//lib/rubocop/cop/style/alias.rb#51
def on_alias(node); end
@@ -30359,9 +30568,12 @@ class RuboCop::Cop::Style::Alias < ::RuboCop::Cop::Base
# source://rubocop//lib/rubocop/cop/style/alias.rb#135
def correct_alias_to_alias_method(corrector, node); end
- # source://rubocop//lib/rubocop/cop/style/alias.rb#144
+ # source://rubocop//lib/rubocop/cop/style/alias.rb#142
def correct_alias_with_symbol_args(corrector, node); end
+ # source://rubocop//lib/rubocop/cop/style/alias.rb#147
+ def identifier(node); end
+
# source://rubocop//lib/rubocop/cop/style/alias.rb#113
def lexical_scope_type(node); end
@@ -30493,6 +30705,12 @@ RuboCop::Cop::Style::AndOr::MSG = T.let(T.unsafe(nil), String)
# This cop identifies places where `do_something(*args, &block)`
# can be replaced by `do_something(...)`.
#
+# In Ruby 3.2, anonymous args/kwargs forwarding has been added.
+#
+# This cop also identifies places where `use_args(*args)`/`use_kwargs(**kwargs)` can be
+# replaced by `use_args(*)`/`use_kwargs(**)`; if desired, this functionality can be disabled
+# by setting UseAnonymousForwarding: false.
+#
# @example
# # bad
# def foo(*args, &block)
@@ -30508,7 +30726,25 @@ RuboCop::Cop::Style::AndOr::MSG = T.let(T.unsafe(nil), String)
# def foo(...)
# bar(...)
# end
-# @example AllowOnlyRestArgument: true (default)
+# @example UseAnonymousForwarding: true (default, only relevant for Ruby >= 3.2)
+# # bad
+# def foo(*args, **kwargs)
+# args_only(*args)
+# kwargs_only(**kwargs)
+# end
+#
+# # good
+# def foo(*, **)
+# args_only(*)
+# kwargs_only(**)
+# end
+# @example UseAnonymousForwarding: false (only relevant for Ruby >= 3.2)
+# # good
+# def foo(*args, **kwargs)
+# args_only(*args)
+# kwargs_only(**kwargs)
+# end
+# @example AllowOnlyRestArgument: true (default, only relevant for Ruby < 3.2)
# # good
# def foo(*args)
# bar(*args)
@@ -30517,7 +30753,7 @@ RuboCop::Cop::Style::AndOr::MSG = T.let(T.unsafe(nil), String)
# def foo(**kwargs)
# bar(**kwargs)
# end
-# @example AllowOnlyRestArgument: false
+# @example AllowOnlyRestArgument: false (only relevant for Ruby < 3.2)
# # bad
# # The following code can replace the arguments with `...`,
# # but it will change the behavior. Because `...` forwards block also.
@@ -30529,59 +30765,192 @@ RuboCop::Cop::Style::AndOr::MSG = T.let(T.unsafe(nil), String)
# bar(**kwargs)
# end
#
-# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#49
+# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#75
class RuboCop::Cop::Style::ArgumentsForwarding < ::RuboCop::Cop::Base
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector
extend ::RuboCop::Cop::TargetRubyVersion
- # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#72
- def forwarding_method_arguments?(param0 = T.unsafe(nil), param1, param2, param3); end
-
- # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#84
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#89
def on_def(node); end
- # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#84
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#89
def on_defs(node); end
- # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#64
- def only_rest_arguments?(param0 = T.unsafe(nil), param1); end
+ private
+
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#122
+ def add_forward_all_offenses(node, send_classifications, forwardable_args); end
+
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#233
+ def add_parens_if_missing(node, corrector); end
- # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#59
- def use_rest_arguments?(param0 = T.unsafe(nil)); end
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#131
+ def add_post_ruby_32_offenses(def_node, send_classifications, forwardable_args); end
+
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#225
+ def allow_only_rest_arguments?; end
+
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#217
+ def arguments_range(node, first_node); end
+
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#174
+ def classification_and_forwards(def_node, send_node, referenced_lvars, forwardable_args); end
+
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#159
+ def classify_send_nodes(def_node, send_nodes, referenced_lvars, forwardable_args); end
+
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#114
+ def extract_forwardable_args(args); end
+
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#149
+ def non_splat_or_block_pass_lvar_references(body); end
+
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#118
+ def only_forwards_all?(send_classifications); end
+
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#207
+ def register_forward_all_offense(def_or_send, send_or_arguments, rest_or_splat); end
+
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#191
+ def register_forward_args_offense(def_arguments_or_send, rest_arg_or_splat); end
+
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#199
+ def register_forward_kwargs_offense(add_parens, def_arguments_or_send, kwrest_arg_or_splat); end
+
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#229
+ def use_anonymous_forwarding?; end
+end
+
+# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#83
+RuboCop::Cop::Style::ArgumentsForwarding::ADDITIONAL_ARG_TYPES = T.let(T.unsafe(nil), Array)
+
+# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#86
+RuboCop::Cop::Style::ArgumentsForwarding::ARGS_MSG = T.let(T.unsafe(nil), String)
+
+# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#82
+RuboCop::Cop::Style::ArgumentsForwarding::FORWARDING_LVAR_TYPES = T.let(T.unsafe(nil), Array)
+
+# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#85
+RuboCop::Cop::Style::ArgumentsForwarding::FORWARDING_MSG = T.let(T.unsafe(nil), String)
+
+# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#87
+RuboCop::Cop::Style::ArgumentsForwarding::KWARGS_MSG = T.let(T.unsafe(nil), String)
+
+# Classifies send nodes for possible rest/kwrest/all (including block) forwarding.
+#
+# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#240
+class RuboCop::Cop::Style::ArgumentsForwarding::SendNodeClassifier
+ extend ::RuboCop::AST::NodePattern::Macros
+
+ # @return [SendNodeClassifier] a new instance of SendNodeClassifier
+ #
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#252
+ def initialize(def_node, send_node, referenced_lvars, forwardable_args, **config); end
+
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#280
+ def classification; end
+
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#247
+ def extract_forwarded_kwrest_arg(param0 = T.unsafe(nil), param1); end
+
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#274
+ def forwarded_block_arg; end
+
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#250
+ def forwarded_block_arg?(param0 = T.unsafe(nil), param1); end
+
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#268
+ def forwarded_kwrest_arg; end
+
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#262
+ def forwarded_rest_arg; end
+
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#244
+ def forwarded_rest_arg?(param0 = T.unsafe(nil), param1); end
private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#116
- def all_lvars_as_forwarding_method_arguments?(def_node, forwarding_method); end
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#348
+ def additional_kwargs?; end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#149
- def allow_only_rest_arguments?; end
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#344
+ def additional_kwargs_or_forwarded_kwargs?; end
- # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#143
- def arguments_range(node); end
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#358
+ def allow_offense_for_no_block?; end
+
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#329
+ def any_arg_referenced?; end
- # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#103
- def extract_argument_names_from(args); end
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#313
+ def arguments; end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#110
- def forwarding_method?(node, rest_arg, kwargs, block_arg); end
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#292
+ def can_forward_all?; end
- # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#125
- def register_offense_to_forwarding_method_arguments(forwarding_method); end
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#352
+ def forward_additional_kwargs?; end
- # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#134
- def register_offense_to_method_definition_arguments(method_definition); end
-end
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#309
+ def forwarded_rest_and_kwrest_args; end
+
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#362
+ def no_additional_args?; end
+
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#337
+ def no_post_splat_args?; end
+
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#305
+ def offensive_block_forwarding?; end
+
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#325
+ def referenced_block_arg?; end
+
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#321
+ def referenced_kwrest_arg?; end
-# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#56
-RuboCop::Cop::Style::ArgumentsForwarding::MSG = T.let(T.unsafe(nil), String)
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#317
+ def referenced_rest_arg?; end
+
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#301
+ def ruby_32_missing_rest_or_kwest?; end
+
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#333
+ def target_ruby_version; end
+end
# Enforces the use of `Array()` instead of explicit `Array` check or `[*var]`.
#
@@ -30629,6 +30998,15 @@ RuboCop::Cop::Style::ArrayCoercion::SPLAT_MSG = T.let(T.unsafe(nil), String)
# The `array1.intersect?(array2)` method is faster than
# `(array1 & array2).any?` and is more readable.
#
+# In cases like the following, compatibility is not ensured,
+# so it will not be detected when using block argument.
+#
+# [source,ruby]
+# ----
+# ([1] & [1,2]).any? { |x| false } # => false
+# [1].intersect?([1,2]) { |x| false } # => true
+# ----
+#
# @example
# # bad
# (array1 & array2).any?
@@ -30650,46 +31028,46 @@ RuboCop::Cop::Style::ArrayCoercion::SPLAT_MSG = T.let(T.unsafe(nil), String)
# array1.intersect?(array2)
# !array1.intersect?(array2)
#
-# source://rubocop//lib/rubocop/cop/style/array_intersect.rb#40
+# source://rubocop//lib/rubocop/cop/style/array_intersect.rb#49
class RuboCop::Cop::Style::ArrayIntersect < ::RuboCop::Cop::Base
extend ::RuboCop::Cop::AutoCorrector
extend ::RuboCop::Cop::TargetRubyVersion
- # source://rubocop//lib/rubocop/cop/style/array_intersect.rb#56
+ # source://rubocop//lib/rubocop/cop/style/array_intersect.rb#65
def active_support_bad_intersection_check?(param0 = T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/cop/style/array_intersect.rb#70
+ # source://rubocop//lib/rubocop/cop/style/array_intersect.rb#79
def on_send(node); end
- # source://rubocop//lib/rubocop/cop/style/array_intersect.rb#47
+ # source://rubocop//lib/rubocop/cop/style/array_intersect.rb#56
def regular_bad_intersection_check?(param0 = T.unsafe(nil)); end
private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/array_intersect.rb#86
+ # source://rubocop//lib/rubocop/cop/style/array_intersect.rb#94
def bad_intersection_check?(node); end
- # source://rubocop//lib/rubocop/cop/style/array_intersect.rb#98
+ # source://rubocop//lib/rubocop/cop/style/array_intersect.rb#106
def message(receiver, argument, method_name); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/array_intersect.rb#94
+ # source://rubocop//lib/rubocop/cop/style/array_intersect.rb#102
def straight?(method_name); end
end
-# source://rubocop//lib/rubocop/cop/style/array_intersect.rb#64
+# source://rubocop//lib/rubocop/cop/style/array_intersect.rb#73
RuboCop::Cop::Style::ArrayIntersect::MSG = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/style/array_intersect.rb#67
+# source://rubocop//lib/rubocop/cop/style/array_intersect.rb#76
RuboCop::Cop::Style::ArrayIntersect::NEGATED_METHODS = T.let(T.unsafe(nil), Array)
-# source://rubocop//lib/rubocop/cop/style/array_intersect.rb#68
+# source://rubocop//lib/rubocop/cop/style/array_intersect.rb#77
RuboCop::Cop::Style::ArrayIntersect::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
-# source://rubocop//lib/rubocop/cop/style/array_intersect.rb#66
+# source://rubocop//lib/rubocop/cop/style/array_intersect.rb#75
RuboCop::Cop::Style::ArrayIntersect::STRAIGHT_METHODS = T.let(T.unsafe(nil), Array)
# Checks for uses of "*" as a substitute for _join_.
@@ -31273,7 +31651,7 @@ class RuboCop::Cop::Style::BlockDelimiters < ::RuboCop::Cop::Base
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#458
+ # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#459
def array_or_range?(node); end
# source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#208
@@ -31281,7 +31659,7 @@ class RuboCop::Cop::Style::BlockDelimiters < ::RuboCop::Cop::Base
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#462
+ # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#463
def begin_required?(block_node); end
# source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#236
@@ -31289,7 +31667,7 @@ class RuboCop::Cop::Style::BlockDelimiters < ::RuboCop::Cop::Base
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#399
+ # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#400
def braces_for_chaining_style?(node); end
# source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#248
@@ -31297,25 +31675,25 @@ class RuboCop::Cop::Style::BlockDelimiters < ::RuboCop::Cop::Base
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#376
+ # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#377
def braces_required_method?(method_name); end
- # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#380
+ # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#381
def braces_required_methods; end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#409
+ # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#410
def braces_style?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#454
+ # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#455
def conditional?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#413
+ # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#414
def correction_would_break_code?(node); end
# source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#309
@@ -31323,12 +31701,12 @@ class RuboCop::Cop::Style::BlockDelimiters < ::RuboCop::Cop::Base
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#423
+ # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#424
def functional_block?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#419
+ # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#420
def functional_method?(method_name); end
# source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#326
@@ -31336,7 +31714,7 @@ class RuboCop::Cop::Style::BlockDelimiters < ::RuboCop::Cop::Base
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#384
+ # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#385
def line_count_based_block_style?(node); end
# source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#218
@@ -31350,12 +31728,12 @@ class RuboCop::Cop::Style::BlockDelimiters < ::RuboCop::Cop::Base
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#431
+ # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#432
def procedural_method?(method_name); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#427
+ # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#428
def procedural_oneliners_may_have_braces?; end
# @return [Boolean]
@@ -31379,17 +31757,17 @@ class RuboCop::Cop::Style::BlockDelimiters < ::RuboCop::Cop::Base
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#447
+ # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#448
def return_value_of_scope?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#435
+ # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#436
def return_value_used?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#388
+ # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#389
def semantic_block_style?(node); end
# source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#226
@@ -31864,53 +32242,53 @@ RuboCop::Cop::Style::ClassCheck::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
# self.class.eq(other.class) && name.eq(other.name)
# end
#
-# source://rubocop//lib/rubocop/cop/style/class_equality_comparison.rb#47
+# source://rubocop//lib/rubocop/cop/style/class_equality_comparison.rb#52
class RuboCop::Cop::Style::ClassEqualityComparison < ::RuboCop::Cop::Base
include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::AllowedMethods
include ::RuboCop::Cop::AllowedPattern
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/style/class_equality_comparison.rb#59
+ # source://rubocop//lib/rubocop/cop/style/class_equality_comparison.rb#64
def class_comparison_candidate?(param0 = T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/cop/style/class_equality_comparison.rb#65
+ # source://rubocop//lib/rubocop/cop/style/class_equality_comparison.rb#70
def on_send(node); end
private
- # source://rubocop//lib/rubocop/cop/style/class_equality_comparison.rb#85
+ # source://rubocop//lib/rubocop/cop/style/class_equality_comparison.rb#92
def class_name(class_node, node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/class_equality_comparison.rb#105
+ # source://rubocop//lib/rubocop/cop/style/class_equality_comparison.rb#112
def class_name_method?(method_name); end
- # source://rubocop//lib/rubocop/cop/style/class_equality_comparison.rb#121
+ # source://rubocop//lib/rubocop/cop/style/class_equality_comparison.rb#128
def offense_range(receiver_node, node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/class_equality_comparison.rb#109
+ # source://rubocop//lib/rubocop/cop/style/class_equality_comparison.rb#116
def require_cbase?(class_node); end
- # source://rubocop//lib/rubocop/cop/style/class_equality_comparison.rb#117
+ # source://rubocop//lib/rubocop/cop/style/class_equality_comparison.rb#124
def trim_string_quotes(class_node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/class_equality_comparison.rb#113
+ # source://rubocop//lib/rubocop/cop/style/class_equality_comparison.rb#120
def unable_to_determine_type?(class_node); end
end
-# source://rubocop//lib/rubocop/cop/style/class_equality_comparison.rb#56
+# source://rubocop//lib/rubocop/cop/style/class_equality_comparison.rb#61
RuboCop::Cop::Style::ClassEqualityComparison::CLASS_NAME_METHODS = T.let(T.unsafe(nil), Array)
-# source://rubocop//lib/rubocop/cop/style/class_equality_comparison.rb#53
+# source://rubocop//lib/rubocop/cop/style/class_equality_comparison.rb#58
RuboCop::Cop::Style::ClassEqualityComparison::MSG = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/style/class_equality_comparison.rb#55
+# source://rubocop//lib/rubocop/cop/style/class_equality_comparison.rb#60
RuboCop::Cop::Style::ClassEqualityComparison::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
# Checks for uses of the class/module name instead of
@@ -32198,6 +32576,7 @@ RuboCop::Cop::Style::CollectionCompact::TO_ENUM_METHODS = T.let(T.unsafe(nil), A
# # bad
# items.collect
# items.collect!
+# items.collect_concat
# items.inject
# items.detect
# items.find_all
@@ -32206,46 +32585,47 @@ RuboCop::Cop::Style::CollectionCompact::TO_ENUM_METHODS = T.let(T.unsafe(nil), A
# # good
# items.map
# items.map!
+# items.flat_map
# items.reduce
# items.find
# items.select
# items.include?
#
-# source://rubocop//lib/rubocop/cop/style/collection_methods.rb#41
+# source://rubocop//lib/rubocop/cop/style/collection_methods.rb#43
class RuboCop::Cop::Style::CollectionMethods < ::RuboCop::Cop::Base
include ::RuboCop::Cop::MethodPreference
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/style/collection_methods.rb#47
+ # source://rubocop//lib/rubocop/cop/style/collection_methods.rb#49
def on_block(node); end
- # source://rubocop//lib/rubocop/cop/style/collection_methods.rb#47
+ # source://rubocop//lib/rubocop/cop/style/collection_methods.rb#49
def on_numblock(node); end
- # source://rubocop//lib/rubocop/cop/style/collection_methods.rb#53
+ # source://rubocop//lib/rubocop/cop/style/collection_methods.rb#55
def on_send(node); end
private
- # source://rubocop//lib/rubocop/cop/style/collection_methods.rb#61
+ # source://rubocop//lib/rubocop/cop/style/collection_methods.rb#63
def check_method_node(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/collection_methods.rb#70
+ # source://rubocop//lib/rubocop/cop/style/collection_methods.rb#72
def implicit_block?(node); end
- # source://rubocop//lib/rubocop/cop/style/collection_methods.rb#78
+ # source://rubocop//lib/rubocop/cop/style/collection_methods.rb#80
def message(node); end
# Some enumerable methods accept a bare symbol (ie. _not_ Symbol#to_proc) instead
# of a block.
#
- # source://rubocop//lib/rubocop/cop/style/collection_methods.rb#84
+ # source://rubocop//lib/rubocop/cop/style/collection_methods.rb#86
def methods_accepting_symbol; end
end
-# source://rubocop//lib/rubocop/cop/style/collection_methods.rb#45
+# source://rubocop//lib/rubocop/cop/style/collection_methods.rb#47
RuboCop::Cop::Style::CollectionMethods::MSG = T.let(T.unsafe(nil), String)
# Checks for methods invoked via the `::` operator instead
@@ -32365,7 +32745,7 @@ class RuboCop::Cop::Style::CombinableLoops < ::RuboCop::Cop::Base
# source://rubocop//lib/rubocop/cop/style/combinable_loops.rb#66
def on_block(node); end
- # source://rubocop//lib/rubocop/cop/style/combinable_loops.rb#78
+ # source://rubocop//lib/rubocop/cop/style/combinable_loops.rb#79
def on_for(node); end
# source://rubocop//lib/rubocop/cop/style/combinable_loops.rb#66
@@ -32375,20 +32755,20 @@ class RuboCop::Cop::Style::CombinableLoops < ::RuboCop::Cop::Base
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/combinable_loops.rb#89
+ # source://rubocop//lib/rubocop/cop/style/combinable_loops.rb#90
def collection_looping_method?(node); end
- # source://rubocop//lib/rubocop/cop/style/combinable_loops.rb#105
+ # source://rubocop//lib/rubocop/cop/style/combinable_loops.rb#107
def combine_with_left_sibling(corrector, node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/combinable_loops.rb#94
+ # source://rubocop//lib/rubocop/cop/style/combinable_loops.rb#95
def same_collection_looping_block?(node, sibling); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/combinable_loops.rb#101
+ # source://rubocop//lib/rubocop/cop/style/combinable_loops.rb#103
def same_collection_looping_for?(node, sibling); end
end
@@ -34312,30 +34692,33 @@ class RuboCop::Cop::Style::EmptyCaseCondition < ::RuboCop::Cop::Base
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/style/empty_case_condition.rb#44
+ # source://rubocop//lib/rubocop/cop/style/empty_case_condition.rb#46
def on_case(case_node); end
private
- # source://rubocop//lib/rubocop/cop/style/empty_case_condition.rb#58
+ # source://rubocop//lib/rubocop/cop/style/empty_case_condition.rb#63
def autocorrect(corrector, case_node); end
- # source://rubocop//lib/rubocop/cop/style/empty_case_condition.rb#65
+ # source://rubocop//lib/rubocop/cop/style/empty_case_condition.rb#70
def correct_case_when(corrector, case_node, when_nodes); end
- # source://rubocop//lib/rubocop/cop/style/empty_case_condition.rb#77
+ # source://rubocop//lib/rubocop/cop/style/empty_case_condition.rb#82
def correct_when_conditions(corrector, when_nodes); end
- # source://rubocop//lib/rubocop/cop/style/empty_case_condition.rb#92
+ # source://rubocop//lib/rubocop/cop/style/empty_case_condition.rb#97
def keep_first_when_comment(case_range, corrector); end
- # source://rubocop//lib/rubocop/cop/style/empty_case_condition.rb#102
+ # source://rubocop//lib/rubocop/cop/style/empty_case_condition.rb#107
def replace_then_with_line_break(corrector, conditions, when_node); end
end
# source://rubocop//lib/rubocop/cop/style/empty_case_condition.rb#42
RuboCop::Cop::Style::EmptyCaseCondition::MSG = T.let(T.unsafe(nil), String)
+# source://rubocop//lib/rubocop/cop/style/empty_case_condition.rb#43
+RuboCop::Cop::Style::EmptyCaseCondition::NOT_SUPPORTED_PARENT_TYPES = T.let(T.unsafe(nil), Array)
+
# Checks for empty else-clauses, possibly including comments and/or an
# explicit `nil` depending on the EnforcedStyle.
#
@@ -35910,13 +36293,25 @@ RuboCop::Cop::Style::For::PREFER_EACH = T.let(T.unsafe(nil), String)
RuboCop::Cop::Style::For::PREFER_FOR = T.let(T.unsafe(nil), String)
# Enforces the use of a single string formatting utility.
-# Valid options include Kernel#format, Kernel#sprintf and String#%.
+# Valid options include `Kernel#format`, `Kernel#sprintf`, and `String#%`.
#
-# The detection of String#% cannot be implemented in a reliable
+# The detection of `String#%` cannot be implemented in a reliable
# manner for all cases, so only two scenarios are considered -
# if the first argument is a string literal and if the second
# argument is an array literal.
#
+# Autocorrection will be applied when using argument is a literal or known built-in conversion
+# methods such as `to_d`, `to_f`, `to_h`, `to_i`, `to_r`, `to_s`, and `to_sym` on variables,
+# provided that their return value is not an array. For example, when using `to_s`,
+# `'%s' % [1, 2, 3].to_s` can be autocorrected without any incompatibility:
+#
+# [source,ruby]
+# ----
+# '%s' % [1, 2, 3] #=> '1'
+# format('%s', [1, 2, 3]) #=> '[1, 2, 3]'
+# '%s' % [1, 2, 3].to_s #=> '[1, 2, 3]'
+# ----
+#
# @example EnforcedStyle: format (default)
# # bad
# puts sprintf('%10s', 'hoge')
@@ -35939,45 +36334,55 @@ RuboCop::Cop::Style::For::PREFER_FOR = T.let(T.unsafe(nil), String)
# # good
# puts '%10s' % 'hoge'
#
-# source://rubocop//lib/rubocop/cop/style/format_string.rb#38
+# source://rubocop//lib/rubocop/cop/style/format_string.rb#50
class RuboCop::Cop::Style::FormatString < ::RuboCop::Cop::Base
include ::RuboCop::Cop::ConfigurableEnforcedStyle
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/style/format_string.rb#46
+ # source://rubocop//lib/rubocop/cop/style/format_string.rb#61
def formatter(param0 = T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/cop/style/format_string.rb#59
+ # source://rubocop//lib/rubocop/cop/style/format_string.rb#74
def on_send(node); end
- # source://rubocop//lib/rubocop/cop/style/format_string.rb#55
+ # source://rubocop//lib/rubocop/cop/style/format_string.rb#70
def variable_argument?(param0 = T.unsafe(nil)); end
private
- # source://rubocop//lib/rubocop/cop/style/format_string.rb#81
+ # source://rubocop//lib/rubocop/cop/style/format_string.rb#102
def autocorrect(corrector, node); end
- # source://rubocop//lib/rubocop/cop/style/format_string.rb#97
+ # source://rubocop//lib/rubocop/cop/style/format_string.rb#118
def autocorrect_from_percent(corrector, node); end
- # source://rubocop//lib/rubocop/cop/style/format_string.rb#111
+ # source://rubocop//lib/rubocop/cop/style/format_string.rb#132
def autocorrect_to_percent(corrector, node); end
- # source://rubocop//lib/rubocop/cop/style/format_string.rb#124
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/style/format_string.rb#88
+ def autocorrectable?(node); end
+
+ # source://rubocop//lib/rubocop/cop/style/format_string.rb#145
def format_single_parameter(arg); end
- # source://rubocop//lib/rubocop/cop/style/format_string.rb#73
+ # source://rubocop//lib/rubocop/cop/style/format_string.rb#94
def message(detected_style); end
- # source://rubocop//lib/rubocop/cop/style/format_string.rb#77
+ # source://rubocop//lib/rubocop/cop/style/format_string.rb#98
def method_name(style_name); end
end
-# source://rubocop//lib/rubocop/cop/style/format_string.rb#42
+# Known conversion methods whose return value is not an array.
+#
+# source://rubocop//lib/rubocop/cop/style/format_string.rb#58
+RuboCop::Cop::Style::FormatString::AUTOCORRECTABLE_METHODS = T.let(T.unsafe(nil), Array)
+
+# source://rubocop//lib/rubocop/cop/style/format_string.rb#54
RuboCop::Cop::Style::FormatString::MSG = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/style/format_string.rb#43
+# source://rubocop//lib/rubocop/cop/style/format_string.rb#55
RuboCop::Cop::Style::FormatString::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
# Use a consistent style for named format string tokens.
@@ -36203,10 +36608,10 @@ class RuboCop::Cop::Style::FrozenStringLiteralComment < ::RuboCop::Cop::Base
private
- # source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#176
+ # source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#178
def disabled_offense(processed_source); end
- # source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#188
+ # source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#190
def enable_comment(corrector); end
# source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#120
@@ -36218,34 +36623,34 @@ class RuboCop::Cop::Style::FrozenStringLiteralComment < ::RuboCop::Cop::Base
# source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#114
def ensure_no_comment(processed_source); end
- # source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#212
+ # source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#214
def following_comment; end
- # source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#150
+ # source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#152
def frozen_string_literal_comment(processed_source); end
- # source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#194
+ # source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#196
def insert_comment(corrector); end
# source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#137
def last_special_comment(processed_source); end
- # source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#204
+ # source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#206
def line_range(line); end
- # source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#156
+ # source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#158
def missing_offense(processed_source); end
- # source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#162
+ # source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#164
def missing_true_offense(processed_source); end
- # source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#208
+ # source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#210
def preceding_comment; end
- # source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#184
+ # source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#186
def remove_comment(corrector, node); end
- # source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#168
+ # source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#170
def unnecessary_comment_offense(processed_source); end
end
@@ -36410,6 +36815,25 @@ RuboCop::Cop::Style::GlobalVars::MSG = T.let(T.unsafe(nil), String)
# # good
# foo || raise('exception') if something
# ok
+#
+# # bad
+# define_method(:test) do
+# if something
+# work
+# end
+# end
+#
+# # good
+# define_method(:test) do
+# return unless something
+#
+# work
+# end
+#
+# # also good
+# define_method(:test) do
+# work if something
+# end
# @example AllowConsecutiveConditionals: false (default)
# # bad
# def test
@@ -36446,7 +36870,7 @@ RuboCop::Cop::Style::GlobalVars::MSG = T.let(T.unsafe(nil), String)
# end
# end
#
-# source://rubocop//lib/rubocop/cop/style/guard_clause.rb#95
+# source://rubocop//lib/rubocop/cop/style/guard_clause.rb#114
class RuboCop::Cop::Style::GuardClause < ::RuboCop::Cop::Base
include ::RuboCop::Cop::Alignment
include ::RuboCop::Cop::LineLengthHelp
@@ -36455,83 +36879,89 @@ class RuboCop::Cop::Style::GuardClause < ::RuboCop::Cop::Base
include ::RuboCop::Cop::StatementModifier
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#104
+ # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#132
+ def on_block(node); end
+
+ # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#123
def on_def(node); end
- # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#104
+ # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#123
def on_defs(node); end
- # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#113
+ # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#139
def on_if(node); end
+ # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#132
+ def on_numblock(node); end
+
private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#249
+ # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#275
def accepted_form?(node, ending: T.unsafe(nil)); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#257
+ # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#283
def accepted_if?(node, ending); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#271
+ # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#297
def allowed_consecutive_conditionals?; end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#239
+ # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#265
def and_or_guard_clause?(guard_clause); end
- # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#184
+ # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#210
def autocorrect(corrector, node, condition, replacement, guard); end
- # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#210
+ # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#236
def autocorrect_heredoc_argument(corrector, node, heredoc_branch, leave_branch, guard); end
- # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#133
+ # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#159
def check_ending_body(body); end
- # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#144
+ # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#170
def check_ending_if(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#154
+ # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#180
def consecutive_conditionals?(parent, node); end
- # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#231
+ # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#257
def guard_clause_source(guard_clause); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#206
+ # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#232
def heredoc?(argument); end
- # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#222
+ # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#248
def range_of_branch_to_remove(node, guard); end
- # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#162
+ # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#188
def register_offense(node, scope_exiting_keyword, conditional_keyword, guard = T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#267
+ # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#293
def remove_whole_lines(corrector, range); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#244
+ # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#270
def too_long_for_single_line?(node, example); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#253
+ # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#279
def trivial?(node); end
end
-# source://rubocop//lib/rubocop/cop/style/guard_clause.rb#101
+# source://rubocop//lib/rubocop/cop/style/guard_clause.rb#120
RuboCop::Cop::Style::GuardClause::MSG = T.let(T.unsafe(nil), String)
# Checks for presence or absence of braces around hash literal as a last
@@ -36624,62 +37054,62 @@ end
# # bad
# Hash[*ary]
#
-# source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#34
+# source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#44
class RuboCop::Cop::Style::HashConversion < ::RuboCop::Cop::Base
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#44
+ # source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#54
def hash_from_array?(param0 = T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#46
+ # source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#56
def on_send(node); end
private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#128
+ # source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#138
def allowed_splat_argument?; end
- # source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#121
+ # source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#131
def args_to_hash(args); end
- # source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#108
+ # source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#118
def multi_argument(node); end
- # source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#84
+ # source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#94
def register_offense_for_hash(node, hash_argument); end
- # source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#93
+ # source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#103
def register_offense_for_zip_method(node, zip_method); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#103
+ # source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#113
def requires_parens?(node); end
- # source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#61
+ # source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#71
def single_argument(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#78
+ # source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#88
def use_zip_method_without_argument?(first_argument); end
end
-# source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#39
+# source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#49
RuboCop::Cop::Style::HashConversion::MSG_LITERAL_HASH_ARG = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#38
+# source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#48
RuboCop::Cop::Style::HashConversion::MSG_LITERAL_MULTI_ARG = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#40
+# source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#50
RuboCop::Cop::Style::HashConversion::MSG_SPLAT = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#37
+# source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#47
RuboCop::Cop::Style::HashConversion::MSG_TO_H = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#41
+# source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#51
RuboCop::Cop::Style::HashConversion::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
# Checks for uses of `each_key` and `each_value` Hash methods.
@@ -37268,40 +37698,43 @@ class RuboCop::Cop::Style::IdenticalConditionalBranches < ::RuboCop::Cop::Base
private
+ # source://rubocop//lib/rubocop/cop/style/identical_conditional_branches.rb#181
+ def assignable_condition_value(node); end
+
# source://rubocop//lib/rubocop/cop/style/identical_conditional_branches.rb#140
def check_branches(node, branches); end
- # source://rubocop//lib/rubocop/cop/style/identical_conditional_branches.rb#168
+ # source://rubocop//lib/rubocop/cop/style/identical_conditional_branches.rb#190
def check_expressions(node, expressions, insert_position); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/identical_conditional_branches.rb#156
+ # source://rubocop//lib/rubocop/cop/style/identical_conditional_branches.rb#170
def duplicated_expressions?(node, expressions); end
# `elsif` branches show up in the if node as nested `else` branches. We
# need to recursively iterate over all `else` branches.
#
- # source://rubocop//lib/rubocop/cop/style/identical_conditional_branches.rb#208
+ # source://rubocop//lib/rubocop/cop/style/identical_conditional_branches.rb#230
def expand_elses(branch); end
- # source://rubocop//lib/rubocop/cop/style/identical_conditional_branches.rb#223
+ # source://rubocop//lib/rubocop/cop/style/identical_conditional_branches.rb#245
def head(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/identical_conditional_branches.rb#192
+ # source://rubocop//lib/rubocop/cop/style/identical_conditional_branches.rb#214
def last_child_of_parent?(node); end
- # source://rubocop//lib/rubocop/cop/style/identical_conditional_branches.rb#202
+ # source://rubocop//lib/rubocop/cop/style/identical_conditional_branches.rb#224
def message(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/identical_conditional_branches.rb#198
+ # source://rubocop//lib/rubocop/cop/style/identical_conditional_branches.rb#220
def single_child_branch?(branch_node); end
- # source://rubocop//lib/rubocop/cop/style/identical_conditional_branches.rb#219
+ # source://rubocop//lib/rubocop/cop/style/identical_conditional_branches.rb#241
def tail(node); end
end
@@ -38370,34 +38803,34 @@ class RuboCop::Cop::Style::LambdaCall < ::RuboCop::Cop::Base
include ::RuboCop::Cop::ConfigurableEnforcedStyle
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/style/lambda_call.rb#28
+ # source://rubocop//lib/rubocop/cop/style/lambda_call.rb#29
def on_send(node); end
private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/lambda_call.rb#62
+ # source://rubocop//lib/rubocop/cop/style/lambda_call.rb#67
def explicit_style?; end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/lambda_call.rb#58
+ # source://rubocop//lib/rubocop/cop/style/lambda_call.rb#63
def implicit_style?; end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/lambda_call.rb#46
+ # source://rubocop//lib/rubocop/cop/style/lambda_call.rb#51
def offense?(node); end
- # source://rubocop//lib/rubocop/cop/style/lambda_call.rb#50
+ # source://rubocop//lib/rubocop/cop/style/lambda_call.rb#55
def prefer(node); end
end
-# source://rubocop//lib/rubocop/cop/style/lambda_call.rb#25
+# source://rubocop//lib/rubocop/cop/style/lambda_call.rb#26
RuboCop::Cop::Style::LambdaCall::MSG = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/style/lambda_call.rb#26
+# source://rubocop//lib/rubocop/cop/style/lambda_call.rb#27
RuboCop::Cop::Style::LambdaCall::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
# Checks for string literal concatenation at
@@ -39100,12 +39533,12 @@ module RuboCop::Cop::Style::MethodCallWithArgsParentheses::OmitParentheses
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#158
+ # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#165
def allowed_chained_call_with_parentheses?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#154
+ # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#161
def allowed_multiline_call_with_parentheses?(node); end
# @return [Boolean]
@@ -39115,17 +39548,17 @@ module RuboCop::Cop::Style::MethodCallWithArgsParentheses::OmitParentheses
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#167
+ # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#174
def ambiguous_literal?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#196
+ # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#203
def assigned_before?(node, target); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#204
+ # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#211
def assignment_in_condition?(node); end
# source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#31
@@ -39133,7 +39566,7 @@ module RuboCop::Cop::Style::MethodCallWithArgsParentheses::OmitParentheses
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#141
+ # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#142
def call_as_argument_or_chain?(node); end
# @return [Boolean]
@@ -39146,6 +39579,11 @@ module RuboCop::Cop::Style::MethodCallWithArgsParentheses::OmitParentheses
# source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#110
def call_in_logical_operators?(node); end
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#148
+ def call_in_match_pattern?(node); end
+
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#119
@@ -39163,22 +39601,22 @@ module RuboCop::Cop::Style::MethodCallWithArgsParentheses::OmitParentheses
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#137
+ # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#138
def call_with_braced_block?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#214
+ # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#221
def forwards_anonymous_rest_arguments?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#183
+ # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#190
def hash_literal?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#147
+ # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#154
def hash_literal_in_arguments?(node); end
# @return [Boolean]
@@ -39188,7 +39626,7 @@ module RuboCop::Cop::Style::MethodCallWithArgsParentheses::OmitParentheses
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#200
+ # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#207
def inside_string_interpolation?(node); end
# Require hash value omission be enclosed in parentheses to prevent the following issue:
@@ -39206,7 +39644,7 @@ module RuboCop::Cop::Style::MethodCallWithArgsParentheses::OmitParentheses
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#179
+ # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#186
def logical_operator?(node); end
# source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#40
@@ -39222,7 +39660,7 @@ module RuboCop::Cop::Style::MethodCallWithArgsParentheses::OmitParentheses
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#187
+ # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#194
def regexp_slash_literal?(node); end
# @return [Boolean]
@@ -39232,7 +39670,7 @@ module RuboCop::Cop::Style::MethodCallWithArgsParentheses::OmitParentheses
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#171
+ # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#178
def splat?(node); end
# @return [Boolean]
@@ -39247,12 +39685,12 @@ module RuboCop::Cop::Style::MethodCallWithArgsParentheses::OmitParentheses
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#175
+ # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#182
def ternary_if?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#191
+ # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#198
def unary_literal?(node); end
end
@@ -40679,7 +41117,7 @@ class RuboCop::Cop::Style::MutableConstant < ::RuboCop::Cop::Base
include ::RuboCop::Cop::ConfigurableEnforcedStyle
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop-sorbet/0.7.0/lib/rubocop/cop/sorbet/mutable_constant_sorbet_aware_behaviour.rb#15
+ # source://rubocop-sorbet/0.7.5/lib/rubocop/cop/sorbet/mutable_constant_sorbet_aware_behaviour.rb#18
def on_assignment(value); end
# source://rubocop//lib/rubocop/cop/style/mutable_constant.rb#127
@@ -40697,7 +41135,7 @@ class RuboCop::Cop::Style::MutableConstant < ::RuboCop::Cop::Base
# source://rubocop//lib/rubocop/cop/style/mutable_constant.rb#217
def splat_value(param0 = T.unsafe(nil)); end
- # source://rubocop-sorbet/0.7.0/lib/rubocop/cop/sorbet/mutable_constant_sorbet_aware_behaviour.rb#10
+ # source://rubocop-sorbet/0.7.5/lib/rubocop/cop/sorbet/mutable_constant_sorbet_aware_behaviour.rb#12
def t_let(param0 = T.unsafe(nil)); end
private
@@ -41236,16 +41674,13 @@ class RuboCop::Cop::Style::NestedTernaryOperator < ::RuboCop::Cop::Base
private
- # source://rubocop//lib/rubocop/cop/style/nested_ternary_operator.rb#48
+ # source://rubocop//lib/rubocop/cop/style/nested_ternary_operator.rb#40
def autocorrect(corrector, if_node); end
- # source://rubocop//lib/rubocop/cop/style/nested_ternary_operator.rb#41
- def if_node(node); end
-
- # source://rubocop//lib/rubocop/cop/style/nested_ternary_operator.rb#55
+ # source://rubocop//lib/rubocop/cop/style/nested_ternary_operator.rb#47
def remove_parentheses(source); end
- # source://rubocop//lib/rubocop/cop/style/nested_ternary_operator.rb#61
+ # source://rubocop//lib/rubocop/cop/style/nested_ternary_operator.rb#53
def replace_loc_and_whitespace(corrector, range, replacement); end
end
@@ -42250,24 +42685,24 @@ RuboCop::Cop::Style::OpenStructUse::MSG = T.let(T.unsafe(nil), String)
class RuboCop::Cop::Style::OperatorMethodCall < ::RuboCop::Cop::Base
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/style/operator_method_call.rb#26
+ # source://rubocop//lib/rubocop/cop/style/operator_method_call.rb#27
def on_send(node); end
private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/operator_method_call.rb#48
+ # source://rubocop//lib/rubocop/cop/style/operator_method_call.rb#53
def anonymous_forwarding?(argument); end
# Checks for an acceptable case of `foo.+(bar).baz`.
#
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/operator_method_call.rb#42
+ # source://rubocop//lib/rubocop/cop/style/operator_method_call.rb#47
def method_call_with_parenthesized_arg?(argument); end
- # source://rubocop//lib/rubocop/cop/style/operator_method_call.rb#55
+ # source://rubocop//lib/rubocop/cop/style/operator_method_call.rb#60
def wrap_in_parentheses_if_chained(corrector, node); end
end
@@ -43325,6 +43760,8 @@ RuboCop::Cop::Style::RandomWithOffset::RESTRICT_ON_SEND = T.let(T.unsafe(nil), A
# array.join('')
# [1, 2, 3].join("")
# array.sum(0)
+# exit(true)
+# exit!(false)
# string.split(" ")
# "first\nsecond".split(" ")
# string.chomp("\n")
@@ -43335,37 +43772,42 @@ RuboCop::Cop::Style::RandomWithOffset::RESTRICT_ON_SEND = T.let(T.unsafe(nil), A
# array.join
# [1, 2, 3].join
# array.sum
+# exit
+# exit!
# string.split
# "first second".split
# string.chomp
# string.chomp!
# A.foo
#
-# source://rubocop//lib/rubocop/cop/style/redundant_argument.rb#53
+# source://rubocop//lib/rubocop/cop/style/redundant_argument.rb#57
class RuboCop::Cop::Style::RedundantArgument < ::RuboCop::Cop::Base
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/style/redundant_argument.rb#59
+ # source://rubocop//lib/rubocop/cop/style/redundant_argument.rb#64
def on_send(node); end
private
- # source://rubocop//lib/rubocop/cop/style/redundant_argument.rb#88
+ # source://rubocop//lib/rubocop/cop/style/redundant_argument.rb#93
def argument_range(node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_argument.rb#81
+ # source://rubocop//lib/rubocop/cop/style/redundant_argument.rb#86
def redundant_arg_for_method(method_name); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_argument.rb#74
+ # source://rubocop//lib/rubocop/cop/style/redundant_argument.rb#79
def redundant_argument?(node); end
end
-# source://rubocop//lib/rubocop/cop/style/redundant_argument.rb#57
+# source://rubocop//lib/rubocop/cop/style/redundant_argument.rb#61
RuboCop::Cop::Style::RedundantArgument::MSG = T.let(T.unsafe(nil), String)
+# source://rubocop//lib/rubocop/cop/style/redundant_argument.rb#62
+RuboCop::Cop::Style::RedundantArgument::NO_RECEIVER_METHODS = T.let(T.unsafe(nil), Array)
+
# Checks for the instantiation of array using redundant `Array` constructor.
# Autocorrect replaces to array literal which is the simplest and fastest.
#
@@ -43570,50 +44012,53 @@ class RuboCop::Cop::Style::RedundantBegin < ::RuboCop::Cop::Base
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#169
+ # source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#177
def begin_block_has_multiline_statements?(node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#161
+ # source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#169
def condition_range(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#173
+ # source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#181
def contain_rescue_or_ensure?(node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#154
+ # source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#162
def correct_modifier_form_after_multiline_begin_block(corrector, node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#165
+ # source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#173
def empty_begin?(node); end
# source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#110
def register_offense(node); end
+ # source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#139
+ def remove_begin(corrector, offense_range, node); end
+
# source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#127
def replace_begin_with_statement(corrector, offense_range, node); end
# Restore comments that occur between "begin" and "first_child".
# These comments will be moved to above the assignment line.
#
- # source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#141
+ # source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#149
def restore_removed_comments(corrector, offense_range, node, first_child); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#148
+ # source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#156
def use_modifier_form_after_multiline_begin_block?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#186
+ # source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#194
def valid_begin_assignment?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#179
+ # source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#187
def valid_context_using_only_begin?(node); end
end
@@ -43846,13 +44291,8 @@ class RuboCop::Cop::Style::RedundantConditional < ::RuboCop::Cop::Base
private
- # source://rubocop//lib/rubocop/cop/style/redundant_conditional.rb#86
- def indented_else_node(expression, node); end
-
- # @return [Boolean]
- #
# source://rubocop//lib/rubocop/cop/style/redundant_conditional.rb#78
- def invert_expression?(node); end
+ def indented_else_node(expression, node); end
# source://rubocop//lib/rubocop/cop/style/redundant_conditional.rb#48
def message(node); end
@@ -43979,23 +44419,63 @@ RuboCop::Cop::Style::RedundantCurrentDirectoryInPath::MSG = T.let(T.unsafe(nil),
# # good
# do_something(foo: bar, baz: qux)
#
-# source://rubocop//lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb#16
+# # bad
+# do_something(**{foo: bar, baz: qux}.merge(options))
+#
+# # good
+# do_something(foo: bar, baz: qux, **options)
+#
+# source://rubocop//lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb#22
class RuboCop::Cop::Style::RedundantDoubleSplatHashBraces < ::RuboCop::Cop::Base
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb#21
+ # source://rubocop//lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb#29
def on_hash(node); end
private
- # source://rubocop//lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb#39
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb#45
+ def allowed_double_splat_receiver?(kwsplat); end
+
+ # source://rubocop//lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb#55
+ def autocorrect(corrector, node, kwsplat); end
+
+ # source://rubocop//lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb#89
+ def autocorrect_merge_methods(corrector, merge_methods, kwsplat); end
+
+ # source://rubocop//lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb#85
def closing_brace(node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb#35
+ # source://rubocop//lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb#111
+ def convert_to_new_arguments(node); end
+
+ # source://rubocop//lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb#107
+ def extract_send_methods(kwsplat); end
+
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb#123
+ def mergeable?(node); end
+
+ # source://rubocop//lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb#81
def opening_brace(node); end
+
+ # source://rubocop//lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb#100
+ def range_of_merge_methods(merge_methods); end
+
+ # source://rubocop//lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb#66
+ def root_receiver(node); end
+
+ # source://rubocop//lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb#75
+ def select_merge_method_nodes(kwsplat); end
end
-# source://rubocop//lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb#19
+# source://rubocop//lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb#26
+RuboCop::Cop::Style::RedundantDoubleSplatHashBraces::MERGE_METHODS = T.let(T.unsafe(nil), Array)
+
+# source://rubocop//lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb#25
RuboCop::Cop::Style::RedundantDoubleSplatHashBraces::MSG = T.let(T.unsafe(nil), String)
# Checks for redundant `each`.
@@ -44058,48 +44538,64 @@ RuboCop::Cop::Style::RedundantEach::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Arra
# Checks for RuntimeError as the argument of raise/fail.
#
-# It checks for code like this:
-#
# @example
-# # Bad
+# # bad
# raise RuntimeError, 'message'
-#
-# # Bad
# raise RuntimeError.new('message')
#
-# # Good
+# # good
# raise 'message'
#
-# source://rubocop//lib/rubocop/cop/style/redundant_exception.rb#19
+# # bad - message is not a string
+# raise RuntimeError, Object.new
+# raise RuntimeError.new(Object.new)
+#
+# # good
+# raise Object.new.to_s
+#
+# source://rubocop//lib/rubocop/cop/style/redundant_exception.rb#23
class RuboCop::Cop::Style::RedundantException < ::RuboCop::Cop::Base
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/style/redundant_exception.rb#59
+ # source://rubocop//lib/rubocop/cop/style/redundant_exception.rb#79
def compact?(param0 = T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/cop/style/redundant_exception.rb#54
+ # source://rubocop//lib/rubocop/cop/style/redundant_exception.rb#74
def exploded?(param0 = T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/cop/style/redundant_exception.rb#45
+ # Switch `raise RuntimeError, 'message'` to `raise 'message'`, and
+ # `raise RuntimeError.new('message')` to `raise 'message'`.
+ #
+ # source://rubocop//lib/rubocop/cop/style/redundant_exception.rb#33
+ def on_send(node); end
+
+ private
+
+ # source://rubocop//lib/rubocop/cop/style/redundant_exception.rb#57
def fix_compact(node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_exception.rb#33
+ # source://rubocop//lib/rubocop/cop/style/redundant_exception.rb#39
def fix_exploded(node); end
- # Switch `raise RuntimeError, 'message'` to `raise 'message'`, and
- # `raise RuntimeError.new('message')` to `raise 'message'`.
+ # source://rubocop//lib/rubocop/cop/style/redundant_exception.rb#65
+ def replaced_compact(message); end
+
+ # source://rubocop//lib/rubocop/cop/style/redundant_exception.rb#47
+ def replaced_exploded(node, command, message); end
+
+ # @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_exception.rb#29
- def on_send(node); end
+ # source://rubocop//lib/rubocop/cop/style/redundant_exception.rb#53
+ def string_message?(message); end
end
-# source://rubocop//lib/rubocop/cop/style/redundant_exception.rb#22
+# source://rubocop//lib/rubocop/cop/style/redundant_exception.rb#26
RuboCop::Cop::Style::RedundantException::MSG_1 = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/style/redundant_exception.rb#23
+# source://rubocop//lib/rubocop/cop/style/redundant_exception.rb#27
RuboCop::Cop::Style::RedundantException::MSG_2 = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/style/redundant_exception.rb#25
+# source://rubocop//lib/rubocop/cop/style/redundant_exception.rb#29
RuboCop::Cop::Style::RedundantException::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
# Identifies places where `fetch(key) { value }` can be replaced by `fetch(key, value)`.
@@ -44252,6 +44748,9 @@ RuboCop::Cop::Style::RedundantFileExtensionInRequire::RESTRICT_ON_SEND = T.let(T
# @example AllCops:ActiveSupportExtensionsEnabled: false (default)
# # good
# arr.select { |x| x > 1 }.many?
+#
+# # good
+# arr.select { |x| x > 1 }.present?
# @example AllCops:ActiveSupportExtensionsEnabled: true
# # bad
# arr.select { |x| x > 1 }.many?
@@ -44259,38 +44758,47 @@ RuboCop::Cop::Style::RedundantFileExtensionInRequire::RESTRICT_ON_SEND = T.let(T
# # good
# arr.many? { |x| x > 1 }
#
-# source://rubocop//lib/rubocop/cop/style/redundant_filter_chain.rb#38
+# # bad
+# arr.select { |x| x > 1 }.present?
+#
+# # good
+# arr.any? { |x| x > 1 }
+#
+# source://rubocop//lib/rubocop/cop/style/redundant_filter_chain.rb#53
class RuboCop::Cop::Style::RedundantFilterChain < ::RuboCop::Cop::Base
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/style/redundant_filter_chain.rb#65
+ # source://rubocop//lib/rubocop/cop/style/redundant_filter_chain.rb#81
+ def on_csend(node); end
+
+ # source://rubocop//lib/rubocop/cop/style/redundant_filter_chain.rb#81
def on_send(node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_filter_chain.rb#47
+ # source://rubocop//lib/rubocop/cop/style/redundant_filter_chain.rb#62
def select_predicate?(param0 = T.unsafe(nil)); end
private
- # source://rubocop//lib/rubocop/cop/style/redundant_filter_chain.rb#91
+ # source://rubocop//lib/rubocop/cop/style/redundant_filter_chain.rb#108
def offense_range(select_node, predicate_node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_filter_chain.rb#95
+ # source://rubocop//lib/rubocop/cop/style/redundant_filter_chain.rb#112
def predicate_range(predicate_node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_filter_chain.rb#77
+ # source://rubocop//lib/rubocop/cop/style/redundant_filter_chain.rb#94
def register_offense(select_node, predicate_node); end
end
-# source://rubocop//lib/rubocop/cop/style/redundant_filter_chain.rb#41
+# source://rubocop//lib/rubocop/cop/style/redundant_filter_chain.rb#56
RuboCop::Cop::Style::RedundantFilterChain::MSG = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/style/redundant_filter_chain.rb#43
+# source://rubocop//lib/rubocop/cop/style/redundant_filter_chain.rb#58
RuboCop::Cop::Style::RedundantFilterChain::RAILS_METHODS = T.let(T.unsafe(nil), Array)
-# source://rubocop//lib/rubocop/cop/style/redundant_filter_chain.rb#56
+# source://rubocop//lib/rubocop/cop/style/redundant_filter_chain.rb#71
RuboCop::Cop::Style::RedundantFilterChain::REPLACEMENT_METHODS = T.let(T.unsafe(nil), Hash)
-# source://rubocop//lib/rubocop/cop/style/redundant_filter_chain.rb#44
+# source://rubocop//lib/rubocop/cop/style/redundant_filter_chain.rb#59
RuboCop::Cop::Style::RedundantFilterChain::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
# Check for uses of `Object#freeze` on immutable objects.
@@ -44757,16 +45265,16 @@ class RuboCop::Cop::Style::RedundantParentheses < ::RuboCop::Cop::Base
# source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#36
def arg_in_call_with_block?(param0 = T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#220
+ # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#246
def first_send_argument?(param0 = T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#225
+ # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#251
def first_super_argument?(param0 = T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#230
+ # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#256
def first_yield_argument?(param0 = T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#138
+ # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#158
def interpolation?(param0 = T.unsafe(nil)); end
# source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#27
@@ -44813,36 +45321,39 @@ class RuboCop::Cop::Style::RedundantParentheses < ::RuboCop::Cop::Base
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#234
+ # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#260
def call_chain_starts_with_int?(begin_node, send_node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#125
+ # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#129
def check(begin_node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#140
+ # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#160
def check_send(begin_node, node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#149
+ # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#169
def check_unary(begin_node, node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#173
+ # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#193
def disallowed_literal?(begin_node, node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#105
+ # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#107
def empty_parentheses?(node); end
+ # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#140
+ def find_offense_message(begin_node, node); end
+
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#110
+ # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#112
def first_arg_begins_with_hash_literal?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#215
+ # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#235
def first_argument?(node); end
# @return [Boolean]
@@ -44852,12 +45363,12 @@ class RuboCop::Cop::Style::RedundantParentheses < ::RuboCop::Cop::Base
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#169
+ # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#189
def keyword_ancestor?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#188
+ # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#208
def keyword_with_redundant_parentheses?(node); end
# @return [Boolean]
@@ -44867,20 +45378,18 @@ class RuboCop::Cop::Style::RedundantParentheses < ::RuboCop::Cop::Base
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#201
+ # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#221
def method_call_with_redundant_parentheses?(node); end
- # @return [Boolean]
- #
- # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#117
- def method_chain_begins_with_hash_literal?(node); end
+ # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#121
+ def method_chain_begins_with_hash_literal(node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#159
+ # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#179
def offense(node, msg); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#211
+ # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#231
def only_begin_arg?(args); end
# @return [Boolean]
@@ -44890,12 +45399,12 @@ class RuboCop::Cop::Style::RedundantParentheses < ::RuboCop::Cop::Base
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#177
+ # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#197
def raised_to_power_negative_numeric?(begin_node, node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#165
+ # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#185
def suspect_unary?(node); end
# @return [Boolean]
@@ -45267,13 +45776,18 @@ RuboCop::Cop::Style::RedundantRegexpEscape::MSG_REDUNDANT_ESCAPE = T.let(T.unsaf
# return something
# end
#
-# # good
+# # bad
# def test
# return something if something_else
# end
#
# # good
# def test
+# something if something_else
+# end
+#
+# # good
+# def test
# if x
# elsif y
# else
@@ -45290,79 +45804,79 @@ RuboCop::Cop::Style::RedundantRegexpEscape::MSG_REDUNDANT_ESCAPE = T.let(T.unsaf
# return x, y
# end
#
-# source://rubocop//lib/rubocop/cop/style/redundant_return.rb#50
+# source://rubocop//lib/rubocop/cop/style/redundant_return.rb#55
class RuboCop::Cop::Style::RedundantReturn < ::RuboCop::Cop::Base
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#64
+ # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#69
def on_def(node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#64
+ # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#69
def on_defs(node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#58
+ # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#63
def on_send(node); end
private
- # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#99
+ # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#104
def add_braces(corrector, node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#94
+ # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#99
def add_brackets(corrector, node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#164
+ # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#169
def allow_multiple_return_values?; end
- # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#159
+ # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#164
def check_begin_node(node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#105
+ # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#110
def check_branch(node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#133
+ # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#138
def check_case_node(node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#154
+ # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#159
def check_ensure_node(node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#138
+ # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#143
def check_if_node(node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#150
+ # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#155
def check_resbody_node(node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#145
+ # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#150
def check_rescue_node(node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#121
+ # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#126
def check_return_node(node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#75
+ # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#80
def correct_with_arguments(return_node, corrector); end
- # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#71
+ # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#76
def correct_without_arguments(return_node, corrector); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#90
+ # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#95
def hash_without_braces?(node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#168
+ # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#173
def message(node); end
end
-# source://rubocop//lib/rubocop/cop/style/redundant_return.rb#54
+# source://rubocop//lib/rubocop/cop/style/redundant_return.rb#59
RuboCop::Cop::Style::RedundantReturn::MSG = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/style/redundant_return.rb#55
+# source://rubocop//lib/rubocop/cop/style/redundant_return.rb#60
RuboCop::Cop::Style::RedundantReturn::MULTI_RETURN_MSG = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/style/redundant_return.rb#56
+# source://rubocop//lib/rubocop/cop/style/redundant_return.rb#61
RuboCop::Cop::Style::RedundantReturn::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
# Checks for redundant uses of `self`.
@@ -46357,9 +46871,13 @@ RuboCop::Cop::Style::RescueStandardError::MSG_EXPLICIT = T.let(T.unsafe(nil), St
# source://rubocop//lib/rubocop/cop/style/rescue_standard_error.rb#79
RuboCop::Cop::Style::RescueStandardError::MSG_IMPLICIT = T.let(T.unsafe(nil), String)
-# Enforces consistency between 'return nil' and 'return'.
+# Enforces consistency between `return nil` and `return`.
+#
+# This cop is disabled by default. Because there seems to be a perceived semantic difference
+# between `return` and `return nil`. The former can be seen as just halting evaluation,
+# while the latter might be used when the return value is of specific concern.
#
-# Supported styles are: return, return_nil.
+# Supported styles are `return` and `return_nil`.
#
# @example EnforcedStyle: return (default)
# # bad
@@ -46382,46 +46900,46 @@ RuboCop::Cop::Style::RescueStandardError::MSG_IMPLICIT = T.let(T.unsafe(nil), St
# return nil if arg
# end
#
-# source://rubocop//lib/rubocop/cop/style/return_nil.rb#31
+# source://rubocop//lib/rubocop/cop/style/return_nil.rb#35
class RuboCop::Cop::Style::ReturnNil < ::RuboCop::Cop::Base
include ::RuboCop::Cop::ConfigurableEnforcedStyle
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/style/return_nil.rb#86
+ # source://rubocop//lib/rubocop/cop/style/return_nil.rb#90
def chained_send?(param0 = T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/cop/style/return_nil.rb#89
+ # source://rubocop//lib/rubocop/cop/style/return_nil.rb#93
def define_method?(param0 = T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/cop/style/return_nil.rb#44
+ # source://rubocop//lib/rubocop/cop/style/return_nil.rb#48
def on_return(node); end
- # source://rubocop//lib/rubocop/cop/style/return_nil.rb#42
+ # source://rubocop//lib/rubocop/cop/style/return_nil.rb#46
def return_nil_node?(param0 = T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/cop/style/return_nil.rb#39
+ # source://rubocop//lib/rubocop/cop/style/return_nil.rb#43
def return_node?(param0 = T.unsafe(nil)); end
private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/return_nil.rb#76
+ # source://rubocop//lib/rubocop/cop/style/return_nil.rb#80
def correct_style?(node); end
- # source://rubocop//lib/rubocop/cop/style/return_nil.rb#72
+ # source://rubocop//lib/rubocop/cop/style/return_nil.rb#76
def message(_node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/return_nil.rb#81
+ # source://rubocop//lib/rubocop/cop/style/return_nil.rb#85
def scoped_node?(node); end
end
-# source://rubocop//lib/rubocop/cop/style/return_nil.rb#35
+# source://rubocop//lib/rubocop/cop/style/return_nil.rb#39
RuboCop::Cop::Style::ReturnNil::RETURN_MSG = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/style/return_nil.rb#36
+# source://rubocop//lib/rubocop/cop/style/return_nil.rb#40
RuboCop::Cop::Style::ReturnNil::RETURN_NIL_MSG = T.let(T.unsafe(nil), String)
# Checks if `return` or `return nil` is used in predicate method definitions.
@@ -46447,14 +46965,14 @@ RuboCop::Cop::Style::ReturnNil::RETURN_NIL_MSG = T.let(T.unsafe(nil), String)
#
# do_something?
# end
-# @example AllowedMethod: ['foo?']
+# @example AllowedMethods: ['foo?']
# # good
# def foo?
# return if condition
#
# do_something?
# end
-# @example AllowedPattern: [/foo/]
+# @example AllowedPatterns: [/foo/]
# # good
# def foo?
# return if condition
@@ -46476,6 +46994,14 @@ class RuboCop::Cop::Style::ReturnNilInPredicateMethodDefinition < ::RuboCop::Cop
# source://rubocop//lib/rubocop/cop/style/return_nil_in_predicate_method_definition.rb#58
def return_nil?(param0 = T.unsafe(nil)); end
+
+ private
+
+ # source://rubocop//lib/rubocop/cop/style/return_nil_in_predicate_method_definition.rb#79
+ def nil_node_at_the_end_of_method_body(body); end
+
+ # source://rubocop//lib/rubocop/cop/style/return_nil_in_predicate_method_definition.rb#87
+ def register_offense(offense_node, replacement); end
end
# source://rubocop//lib/rubocop/cop/style/return_nil_in_predicate_method_definition.rb#55
@@ -46935,48 +47461,48 @@ class RuboCop::Cop::Style::Semicolon < ::RuboCop::Cop::Base
# source://rubocop//lib/rubocop/cop/style/semicolon.rb#64
def check_for_line_terminator_or_opener; end
- # source://rubocop//lib/rubocop/cop/style/semicolon.rb#73
+ # source://rubocop//lib/rubocop/cop/style/semicolon.rb#70
def each_semicolon; end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/semicolon.rb#105
+ # source://rubocop//lib/rubocop/cop/style/semicolon.rb#102
def exist_semicolon_after_left_curly_brace?(tokens); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/semicolon.rb#113
+ # source://rubocop//lib/rubocop/cop/style/semicolon.rb#110
def exist_semicolon_after_left_string_interpolation_brace?(tokens); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/semicolon.rb#101
+ # source://rubocop//lib/rubocop/cop/style/semicolon.rb#98
def exist_semicolon_before_right_curly_brace?(tokens); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/semicolon.rb#109
+ # source://rubocop//lib/rubocop/cop/style/semicolon.rb#106
def exist_semicolon_before_right_string_interpolation_brace?(tokens); end
- # source://rubocop//lib/rubocop/cop/style/semicolon.rb#137
+ # source://rubocop//lib/rubocop/cop/style/semicolon.rb#134
def expressions_per_line(exprs); end
- # source://rubocop//lib/rubocop/cop/style/semicolon.rb#151
+ # source://rubocop//lib/rubocop/cop/style/semicolon.rb#148
def find_range_node(token_before_semicolon); end
- # source://rubocop//lib/rubocop/cop/style/semicolon.rb#143
+ # source://rubocop//lib/rubocop/cop/style/semicolon.rb#140
def find_semicolon_positions(line); end
- # source://rubocop//lib/rubocop/cop/style/semicolon.rb#157
+ # source://rubocop//lib/rubocop/cop/style/semicolon.rb#154
def range_nodes; end
- # source://rubocop//lib/rubocop/cop/style/semicolon.rb#117
+ # source://rubocop//lib/rubocop/cop/style/semicolon.rb#114
def register_semicolon(line, column, after_expression, token_before_semicolon = T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/cop/style/semicolon.rb#86
+ # source://rubocop//lib/rubocop/cop/style/semicolon.rb#83
def semicolon_position(tokens); end
- # source://rubocop//lib/rubocop/cop/style/semicolon.rb#82
+ # source://rubocop//lib/rubocop/cop/style/semicolon.rb#79
def tokens_for_lines; end
class << self
@@ -47195,13 +47721,16 @@ RuboCop::Cop::Style::SignalException::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Ar
class RuboCop::Cop::Style::SingleArgumentDig < ::RuboCop::Cop::Base
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/style/single_argument_dig.rb#42
+ # source://rubocop//lib/rubocop/cop/style/single_argument_dig.rb#43
def on_send(node); end
- # source://rubocop//lib/rubocop/cop/style/single_argument_dig.rb#38
+ # source://rubocop//lib/rubocop/cop/style/single_argument_dig.rb#39
def single_argument_dig?(param0 = T.unsafe(nil)); end
end
+# source://rubocop//lib/rubocop/cop/style/single_argument_dig.rb#36
+RuboCop::Cop::Style::SingleArgumentDig::IGNORED_ARGUMENT_TYPES = T.let(T.unsafe(nil), Array)
+
# source://rubocop//lib/rubocop/cop/style/single_argument_dig.rb#34
RuboCop::Cop::Style::SingleArgumentDig::MSG = T.let(T.unsafe(nil), String)
@@ -47280,6 +47809,50 @@ end
# source://rubocop//lib/rubocop/cop/style/single_line_block_params.rb#34
RuboCop::Cop::Style::SingleLineBlockParams::MSG = T.let(T.unsafe(nil), String)
+# Checks for single-line `do`...`end` block.
+#
+# In practice a single line `do`...`end` is autocorrected when `EnforcedStyle: semantic`
+# in `Style/BlockDelimiters`. The autocorrection maintains the `do` ... `end` syntax to
+# preserve semantics and does not change it to `{`...`}` block.
+#
+# @example
+#
+# # bad
+# foo do |arg| bar(arg) end
+#
+# # good
+# foo do |arg|
+# bar(arg)
+# end
+#
+# # bad
+# ->(arg) do bar(arg) end
+#
+# # good
+# ->(arg) { bar(arg) }
+#
+# source://rubocop//lib/rubocop/cop/style/single_line_do_end_block.rb#28
+class RuboCop::Cop::Style::SingleLineDoEndBlock < ::RuboCop::Cop::Base
+ extend ::RuboCop::Cop::AutoCorrector
+
+ # source://rubocop//lib/rubocop/cop/style/single_line_do_end_block.rb#34
+ def on_block(node); end
+
+ # source://rubocop//lib/rubocop/cop/style/single_line_do_end_block.rb#34
+ def on_numblock(node); end
+
+ private
+
+ # source://rubocop//lib/rubocop/cop/style/single_line_do_end_block.rb#55
+ def do_line(node); end
+
+ # source://rubocop//lib/rubocop/cop/style/single_line_do_end_block.rb#63
+ def x(corrector, node); end
+end
+
+# source://rubocop//lib/rubocop/cop/style/single_line_do_end_block.rb#31
+RuboCop::Cop::Style::SingleLineDoEndBlock::MSG = T.let(T.unsafe(nil), String)
+
# Checks for single-line method definitions that contain a body.
# It will accept single-line methods with no body.
#
@@ -47449,10 +48022,10 @@ class RuboCop::Cop::Style::SoleNestedConditional < ::RuboCop::Cop::Base
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#240
+ # source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#242
def allow_modifier?; end
- # source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#225
+ # source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#227
def arguments_range(node); end
# source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#81
@@ -47482,13 +48055,13 @@ class RuboCop::Cop::Style::SoleNestedConditional < ::RuboCop::Cop::Base
# source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#130
def correct_from_unless_to_if(corrector, node, is_modify_form: T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#182
+ # source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#184
def correct_outer_condition(corrector, condition); end
- # source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#195
+ # source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#197
def insert_bang(corrector, node, is_modify_form); end
- # source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#208
+ # source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#210
def insert_bang_for_and(corrector, node); end
# @return [Boolean]
@@ -47498,15 +48071,15 @@ class RuboCop::Cop::Style::SoleNestedConditional < ::RuboCop::Cop::Base
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#244
+ # source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#246
def outer_condition_modify_form?(node, if_branch); end
- # source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#236
+ # source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#238
def replace_condition(condition); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#220
+ # source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#222
def require_parentheses?(condition); end
# @return [Boolean]
@@ -47519,7 +48092,7 @@ class RuboCop::Cop::Style::SoleNestedConditional < ::RuboCop::Cop::Base
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#231
+ # source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#233
def wrap_condition?(node); end
class << self
@@ -48123,40 +48696,67 @@ end
# source://rubocop//lib/rubocop/cop/style/string_literals.rb#35
RuboCop::Cop::Style::StringLiterals::MSG_INCONSISTENT = T.let(T.unsafe(nil), String)
-# Checks that quotes inside the string interpolation
+# Checks that quotes inside string, symbol, and regexp interpolations
# match the configured preference.
#
# @example EnforcedStyle: single_quotes (default)
# # bad
-# result = "Tests #{success ? "PASS" : "FAIL"}"
+# string = "Tests #{success ? "PASS" : "FAIL"}"
+# symbol = :"Tests #{success ? "PASS" : "FAIL"}"
+# heredoc = <<~TEXT
+# Tests #{success ? "PASS" : "FAIL"}
+# TEXT
+# regexp = /Tests #{success ? "PASS" : "FAIL"}/
#
# # good
-# result = "Tests #{success ? 'PASS' : 'FAIL'}"
+# string = "Tests #{success ? 'PASS' : 'FAIL'}"
+# symbol = :"Tests #{success ? 'PASS' : 'FAIL'}"
+# heredoc = <<~TEXT
+# Tests #{success ? 'PASS' : 'FAIL'}
+# TEXT
+# regexp = /Tests #{success ? 'PASS' : 'FAIL'}/
# @example EnforcedStyle: double_quotes
# # bad
-# result = "Tests #{success ? 'PASS' : 'FAIL'}"
+# string = "Tests #{success ? 'PASS' : 'FAIL'}"
+# symbol = :"Tests #{success ? 'PASS' : 'FAIL'}"
+# heredoc = <<~TEXT
+# Tests #{success ? 'PASS' : 'FAIL'}
+# TEXT
+# regexp = /Tests #{success ? 'PASS' : 'FAIL'}/
#
# # good
-# result = "Tests #{success ? "PASS" : "FAIL"}"
+# string = "Tests #{success ? "PASS" : "FAIL"}"
+# symbol = :"Tests #{success ? "PASS" : "FAIL"}"
+# heredoc = <<~TEXT
+# Tests #{success ? "PASS" : "FAIL"}
+# TEXT
+# regexp = /Tests #{success ? "PASS" : "FAIL"}/
#
-# source://rubocop//lib/rubocop/cop/style/string_literals_in_interpolation.rb#22
+# source://rubocop//lib/rubocop/cop/style/string_literals_in_interpolation.rb#42
class RuboCop::Cop::Style::StringLiteralsInInterpolation < ::RuboCop::Cop::Base
include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::StringLiteralsHelp
include ::RuboCop::Cop::StringHelp
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/style/string_literals_in_interpolation.rb#28
+ # source://rubocop//lib/rubocop/cop/style/string_literals_in_interpolation.rb#48
def autocorrect(corrector, node); end
+ # Cop classes that include the StringHelp module usually ignore regexp
+ # nodes. Not so for this cop, which is why we override the on_regexp
+ # definition with an empty one.
+ #
+ # source://rubocop//lib/rubocop/cop/style/string_literals_in_interpolation.rb#55
+ def on_regexp(node); end
+
private
- # source://rubocop//lib/rubocop/cop/style/string_literals_in_interpolation.rb#34
+ # source://rubocop//lib/rubocop/cop/style/string_literals_in_interpolation.rb#59
def message(_node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/string_literals_in_interpolation.rb#41
+ # source://rubocop//lib/rubocop/cop/style/string_literals_in_interpolation.rb#66
def offense?(node); end
end
@@ -48347,6 +48947,15 @@ RuboCop::Cop::Style::SwapValues::SIMPLE_ASSIGNMENT_TYPES = T.let(T.unsafe(nil),
#
# # bad
# [:foo, :bar, :baz]
+#
+# # bad (contains spaces)
+# %i[foo\ bar baz\ quux]
+#
+# # bad (contains [] with spaces)
+# %i[foo \[ \]]
+#
+# # bad (contains () with spaces)
+# %i(foo \( \))
# @example EnforcedStyle: brackets
# # good
# [:foo, :bar, :baz]
@@ -48354,7 +48963,7 @@ RuboCop::Cop::Style::SwapValues::SIMPLE_ASSIGNMENT_TYPES = T.let(T.unsafe(nil),
# # bad
# %i[foo bar baz]
#
-# source://rubocop//lib/rubocop/cop/style/symbol_array.rb#31
+# source://rubocop//lib/rubocop/cop/style/symbol_array.rb#40
class RuboCop::Cop::Style::SymbolArray < ::RuboCop::Cop::Base
include ::RuboCop::Cop::ArrayMinSize
include ::RuboCop::Cop::ArraySyntax
@@ -48363,48 +48972,62 @@ class RuboCop::Cop::Style::SymbolArray < ::RuboCop::Cop::Base
extend ::RuboCop::Cop::AutoCorrector
extend ::RuboCop::Cop::TargetRubyVersion
- # source://rubocop//lib/rubocop/cop/style/symbol_array.rb#48
+ # source://rubocop//lib/rubocop/cop/style/symbol_array.rb#66
def on_array(node); end
private
- # source://rubocop//lib/rubocop/cop/style/symbol_array.rb#67
+ # source://rubocop//lib/rubocop/cop/style/symbol_array.rb#96
def build_bracketed_array(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/symbol_array.rb#90
- def symbol_without_quote?(string); end
+ # source://rubocop//lib/rubocop/cop/style/symbol_array.rb#78
+ def complex_content?(node); end
+
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/style/symbol_array.rb#92
+ def invalid_percent_array_contents?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/symbol_array.rb#60
- def symbols_contain_spaces?(node); end
+ # source://rubocop//lib/rubocop/cop/style/symbol_array.rb#119
+ def symbol_without_quote?(string); end
- # source://rubocop//lib/rubocop/cop/style/symbol_array.rb#82
+ # source://rubocop//lib/rubocop/cop/style/symbol_array.rb#111
def to_symbol_literal(string); end
class << self
# Returns the value of attribute largest_brackets.
#
- # source://rubocop//lib/rubocop/cop/style/symbol_array.rb#45
+ # source://rubocop//lib/rubocop/cop/style/symbol_array.rb#63
def largest_brackets; end
# Sets the attribute largest_brackets
#
# @param value the value to set the attribute largest_brackets to.
#
- # source://rubocop//lib/rubocop/cop/style/symbol_array.rb#45
+ # source://rubocop//lib/rubocop/cop/style/symbol_array.rb#63
def largest_brackets=(_arg0); end
end
end
-# source://rubocop//lib/rubocop/cop/style/symbol_array.rb#42
+# source://rubocop//lib/rubocop/cop/style/symbol_array.rb#51
RuboCop::Cop::Style::SymbolArray::ARRAY_MSG = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/style/symbol_array.rb#41
+# source://rubocop//lib/rubocop/cop/style/symbol_array.rb#52
+RuboCop::Cop::Style::SymbolArray::DELIMITERS = T.let(T.unsafe(nil), Array)
+
+# source://rubocop//lib/rubocop/cop/style/symbol_array.rb#50
RuboCop::Cop::Style::SymbolArray::PERCENT_MSG = T.let(T.unsafe(nil), String)
+# source://rubocop//lib/rubocop/cop/style/symbol_array.rb#57
+RuboCop::Cop::Style::SymbolArray::REDEFINABLE_OPERATORS = T.let(T.unsafe(nil), Array)
+
+# source://rubocop//lib/rubocop/cop/style/symbol_array.rb#53
+RuboCop::Cop::Style::SymbolArray::SPECIAL_GVARS = T.let(T.unsafe(nil), Array)
+
# Checks symbol literal syntax.
#
# @example
@@ -50230,61 +50853,62 @@ RuboCop::Cop::Style::YodaCondition::REVERSE_COMPARISON = T.let(T.unsafe(nil), Ha
# config.server_port = 9000 + ENV["TEST_ENV_NUMBER"].to_i
# ----
#
-# @example SupportedOperators: ['*', '+', '&'']
+# @example SupportedOperators: ['*', '+', '&', '|', '^'] (default)
# # bad
-# 1 + x
# 10 * y
+# 1 + x
# 1 & z
+# 1 | x
+# 1 ^ x
# 1 + CONST
#
# # good
-# 60 * 24
-# x + 1
# y * 10
+# x + 1
# z & 1
+# x | 1
+# x ^ 1
# CONST + 1
+# 60 * 24
#
-# # good
-# 1 | x
-#
-# source://rubocop//lib/rubocop/cop/style/yoda_expression.rb#39
+# source://rubocop//lib/rubocop/cop/style/yoda_expression.rb#40
class RuboCop::Cop::Style::YodaExpression < ::RuboCop::Cop::Base
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/style/yoda_expression.rb#46
+ # source://rubocop//lib/rubocop/cop/style/yoda_expression.rb#47
def on_new_investigation; end
- # source://rubocop//lib/rubocop/cop/style/yoda_expression.rb#50
+ # source://rubocop//lib/rubocop/cop/style/yoda_expression.rb#51
def on_send(node); end
private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/yoda_expression.rb#72
+ # source://rubocop//lib/rubocop/cop/style/yoda_expression.rb#73
def constant_portion?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/yoda_expression.rb#80
+ # source://rubocop//lib/rubocop/cop/style/yoda_expression.rb#81
def offended_ancestor?(node); end
- # source://rubocop//lib/rubocop/cop/style/yoda_expression.rb#84
+ # source://rubocop//lib/rubocop/cop/style/yoda_expression.rb#85
def offended_nodes; end
- # source://rubocop//lib/rubocop/cop/style/yoda_expression.rb#76
+ # source://rubocop//lib/rubocop/cop/style/yoda_expression.rb#77
def supported_operators; end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/yoda_expression.rb#68
+ # source://rubocop//lib/rubocop/cop/style/yoda_expression.rb#69
def yoda_expression_constant?(lhs, rhs); end
end
-# source://rubocop//lib/rubocop/cop/style/yoda_expression.rb#42
+# source://rubocop//lib/rubocop/cop/style/yoda_expression.rb#43
RuboCop::Cop::Style::YodaExpression::MSG = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/style/yoda_expression.rb#44
+# source://rubocop//lib/rubocop/cop/style/yoda_expression.rb#45
RuboCop::Cop::Style::YodaExpression::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
# Checks for numeric comparisons that can be replaced
@@ -51183,12 +51807,10 @@ class RuboCop::Cop::Utils::RegexpRanges
# source://rubocop//lib/rubocop/cop/utils/regexp_ranges.rb#11
def initialize(root); end
- # Returns the value of attribute compound_token.
- #
- # source://rubocop//lib/rubocop/cop/utils/regexp_ranges.rb#9
+ # source://rubocop//lib/rubocop/cop/utils/regexp_ranges.rb#18
def compound_token; end
- # source://rubocop//lib/rubocop/cop/utils/regexp_ranges.rb#16
+ # source://rubocop//lib/rubocop/cop/utils/regexp_ranges.rb#24
def pairs; end
# Returns the value of attribute root.
@@ -51198,26 +51820,29 @@ class RuboCop::Cop::Utils::RegexpRanges
private
- # source://rubocop//lib/rubocop/cop/utils/regexp_ranges.rb#65
+ # source://rubocop//lib/rubocop/cop/utils/regexp_ranges.rb#78
def compose_range(expressions, current); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/utils/regexp_ranges.rb#77
+ # source://rubocop//lib/rubocop/cop/utils/regexp_ranges.rb#90
def escaped_octal?(expr); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/utils/regexp_ranges.rb#81
+ # source://rubocop//lib/rubocop/cop/utils/regexp_ranges.rb#94
def octal_digit?(char); end
- # source://rubocop//lib/rubocop/cop/utils/regexp_ranges.rb#85
+ # source://rubocop//lib/rubocop/cop/utils/regexp_ranges.rb#98
def pop_octal_digits(expressions); end
- # source://rubocop//lib/rubocop/cop/utils/regexp_ranges.rb#31
+ # source://rubocop//lib/rubocop/cop/utils/regexp_ranges.rb#44
def populate(expr); end
- # source://rubocop//lib/rubocop/cop/utils/regexp_ranges.rb#50
+ # source://rubocop//lib/rubocop/cop/utils/regexp_ranges.rb#32
+ def populate_all; end
+
+ # source://rubocop//lib/rubocop/cop/utils/regexp_ranges.rb#63
def process_set(expressions, current); end
end
@@ -51499,7 +52124,7 @@ class RuboCop::Cop::VariableForce::Assignment
private
- # source://rubocop//lib/rubocop/cop/variable_force/assignment.rb#127
+ # source://rubocop//lib/rubocop/cop/variable_force/assignment.rb#125
def find_multiple_assignment_node(grandparent_node); end
# source://rubocop//lib/rubocop/cop/variable_force/assignment.rb#121
@@ -52901,32 +53526,31 @@ end
module RuboCop::FileFinder
# @api private
#
- # source://rubocop//lib/rubocop/file_finder.rb#17
+ # source://rubocop//lib/rubocop/file_finder.rb#13
def find_file_upwards(filename, start_dir, stop_dir = T.unsafe(nil)); end
# @api private
#
- # source://rubocop//lib/rubocop/file_finder.rb#24
+ # source://rubocop//lib/rubocop/file_finder.rb#20
def find_last_file_upwards(filename, start_dir, stop_dir = T.unsafe(nil)); end
private
# @api private
#
- # source://rubocop//lib/rubocop/file_finder.rb#32
+ # source://rubocop//lib/rubocop/file_finder.rb#28
def traverse_files_upwards(filename, start_dir, stop_dir); end
class << self
# @api private
#
- # source://rubocop//lib/rubocop/file_finder.rb#9
- def root_level=(level); end
+ # source://rubocop//lib/rubocop/file_finder.rb#10
+ def root_level; end
# @api private
- # @return [Boolean]
#
- # source://rubocop//lib/rubocop/file_finder.rb#13
- def root_level?(path, stop_dir); end
+ # source://rubocop//lib/rubocop/file_finder.rb#10
+ def root_level=(_arg0); end
end
end
@@ -53429,37 +54053,37 @@ RuboCop::Formatter::GitHubActionsFormatter::ESCAPE_MAP = T.let(T.unsafe(nil), Ha
# This formatter saves the output as an html file.
#
-# source://rubocop//lib/rubocop/formatter/html_formatter.rb#11
+# source://rubocop//lib/rubocop/formatter/html_formatter.rb#10
class RuboCop::Formatter::HTMLFormatter < ::RuboCop::Formatter::BaseFormatter
# @return [HTMLFormatter] a new instance of HTMLFormatter
#
- # source://rubocop//lib/rubocop/formatter/html_formatter.rb#30
+ # source://rubocop//lib/rubocop/formatter/html_formatter.rb#29
def initialize(output, options = T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/formatter/html_formatter.rb#40
+ # source://rubocop//lib/rubocop/formatter/html_formatter.rb#39
def file_finished(file, offenses); end
# Returns the value of attribute files.
#
- # source://rubocop//lib/rubocop/formatter/html_formatter.rb#28
+ # source://rubocop//lib/rubocop/formatter/html_formatter.rb#27
def files; end
- # source://rubocop//lib/rubocop/formatter/html_formatter.rb#45
+ # source://rubocop//lib/rubocop/formatter/html_formatter.rb#44
def finished(inspected_files); end
- # source://rubocop//lib/rubocop/formatter/html_formatter.rb#51
+ # source://rubocop//lib/rubocop/formatter/html_formatter.rb#50
def render_html; end
- # source://rubocop//lib/rubocop/formatter/html_formatter.rb#36
+ # source://rubocop//lib/rubocop/formatter/html_formatter.rb#35
def started(target_files); end
# Returns the value of attribute summary.
#
- # source://rubocop//lib/rubocop/formatter/html_formatter.rb#28
+ # source://rubocop//lib/rubocop/formatter/html_formatter.rb#27
def summary; end
end
-# source://rubocop//lib/rubocop/formatter/html_formatter.rb#15
+# source://rubocop//lib/rubocop/formatter/html_formatter.rb#14
class RuboCop::Formatter::HTMLFormatter::Color < ::Struct
# Returns the value of attribute alpha
#
@@ -53483,7 +54107,7 @@ class RuboCop::Formatter::HTMLFormatter::Color < ::Struct
# @return [Object] the newly set value
def blue=(_); end
- # source://rubocop//lib/rubocop/formatter/html_formatter.rb#20
+ # source://rubocop//lib/rubocop/formatter/html_formatter.rb#19
def fade_out(amount); end
# Returns the value of attribute green
@@ -53508,7 +54132,7 @@ class RuboCop::Formatter::HTMLFormatter::Color < ::Struct
# @return [Object] the newly set value
def red=(_); end
- # source://rubocop//lib/rubocop/formatter/html_formatter.rb#16
+ # source://rubocop//lib/rubocop/formatter/html_formatter.rb#15
def to_s; end
class << self
@@ -53520,68 +54144,68 @@ class RuboCop::Formatter::HTMLFormatter::Color < ::Struct
end
end
-# source://rubocop//lib/rubocop/formatter/html_formatter.rb#12
+# source://rubocop//lib/rubocop/formatter/html_formatter.rb#11
RuboCop::Formatter::HTMLFormatter::ELLIPSES = T.let(T.unsafe(nil), String)
# This class provides helper methods used in the ERB template.
#
-# source://rubocop//lib/rubocop/formatter/html_formatter.rb#62
+# source://rubocop//lib/rubocop/formatter/html_formatter.rb#61
class RuboCop::Formatter::HTMLFormatter::ERBContext
include ::RuboCop::PathUtil
include ::RuboCop::Formatter::TextUtil
# @return [ERBContext] a new instance of ERBContext
#
- # source://rubocop//lib/rubocop/formatter/html_formatter.rb#78
+ # source://rubocop//lib/rubocop/formatter/html_formatter.rb#77
def initialize(files, summary); end
- # source://rubocop//lib/rubocop/formatter/html_formatter.rb#125
+ # source://rubocop//lib/rubocop/formatter/html_formatter.rb#124
def base64_encoded_logo_image; end
# Make Kernel#binding public.
#
- # source://rubocop//lib/rubocop/formatter/html_formatter.rb#85
+ # source://rubocop//lib/rubocop/formatter/html_formatter.rb#84
def binding; end
- # source://rubocop//lib/rubocop/formatter/html_formatter.rb#90
+ # source://rubocop//lib/rubocop/formatter/html_formatter.rb#89
def decorated_message(offense); end
- # source://rubocop//lib/rubocop/formatter/html_formatter.rb#121
+ # source://rubocop//lib/rubocop/formatter/html_formatter.rb#120
def escape(string); end
# Returns the value of attribute files.
#
- # source://rubocop//lib/rubocop/formatter/html_formatter.rb#76
+ # source://rubocop//lib/rubocop/formatter/html_formatter.rb#75
def files; end
- # source://rubocop//lib/rubocop/formatter/html_formatter.rb#101
+ # source://rubocop//lib/rubocop/formatter/html_formatter.rb#100
def highlight_source_tag(offense); end
- # source://rubocop//lib/rubocop/formatter/html_formatter.rb#94
+ # source://rubocop//lib/rubocop/formatter/html_formatter.rb#93
def highlighted_source_line(offense); end
- # source://rubocop//lib/rubocop/formatter/html_formatter.rb#117
+ # source://rubocop//lib/rubocop/formatter/html_formatter.rb#116
def possible_ellipses(location); end
- # source://rubocop//lib/rubocop/formatter/html_formatter.rb#112
+ # source://rubocop//lib/rubocop/formatter/html_formatter.rb#111
def source_after_highlight(offense); end
- # source://rubocop//lib/rubocop/formatter/html_formatter.rb#107
+ # source://rubocop//lib/rubocop/formatter/html_formatter.rb#106
def source_before_highlight(offense); end
# Returns the value of attribute summary.
#
- # source://rubocop//lib/rubocop/formatter/html_formatter.rb#76
+ # source://rubocop//lib/rubocop/formatter/html_formatter.rb#75
def summary; end
end
-# source://rubocop//lib/rubocop/formatter/html_formatter.rb#74
+# source://rubocop//lib/rubocop/formatter/html_formatter.rb#73
RuboCop::Formatter::HTMLFormatter::ERBContext::LOGO_IMAGE_PATH = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/formatter/html_formatter.rb#66
+# source://rubocop//lib/rubocop/formatter/html_formatter.rb#65
RuboCop::Formatter::HTMLFormatter::ERBContext::SEVERITY_COLORS = T.let(T.unsafe(nil), Hash)
-# source://rubocop//lib/rubocop/formatter/html_formatter.rb#26
+# source://rubocop//lib/rubocop/formatter/html_formatter.rb#25
class RuboCop::Formatter::HTMLFormatter::FileOffenses < ::Struct
# Returns the value of attribute offenses
#
@@ -53614,7 +54238,7 @@ class RuboCop::Formatter::HTMLFormatter::FileOffenses < ::Struct
end
end
-# source://rubocop//lib/rubocop/formatter/html_formatter.rb#25
+# source://rubocop//lib/rubocop/formatter/html_formatter.rb#24
class RuboCop::Formatter::HTMLFormatter::Summary < ::Struct
# Returns the value of attribute inspected_files
#
@@ -53658,7 +54282,7 @@ class RuboCop::Formatter::HTMLFormatter::Summary < ::Struct
end
end
-# source://rubocop//lib/rubocop/formatter/html_formatter.rb#13
+# source://rubocop//lib/rubocop/formatter/html_formatter.rb#12
RuboCop::Formatter::HTMLFormatter::TEMPLATE_PATH = T.let(T.unsafe(nil), String)
# This formatter formats the report data in JSON format.
@@ -54164,53 +54788,52 @@ class RuboCop::Lsp::Routes
# source://rubocop//lib/rubocop/lsp/routes.rb#38
def handle_initialize(request); end
- # source://rubocop//lib/rubocop/lsp/routes.rb#56
+ # source://rubocop//lib/rubocop/lsp/routes.rb#61
def handle_initialized(_request); end
# @api private
#
- # source://rubocop//lib/rubocop/lsp/routes.rb#159
+ # source://rubocop//lib/rubocop/lsp/routes.rb#170
def handle_method_missing(request); end
- # source://rubocop//lib/rubocop/lsp/routes.rb#62
+ # source://rubocop//lib/rubocop/lsp/routes.rb#67
def handle_shutdown(request); end
# @api private
#
- # source://rubocop//lib/rubocop/lsp/routes.rb#148
+ # source://rubocop//lib/rubocop/lsp/routes.rb#159
def handle_unsupported_method(request, method = T.unsafe(nil)); end
private
# @api private
#
- # source://rubocop//lib/rubocop/lsp/routes.rb#193
+ # source://rubocop//lib/rubocop/lsp/routes.rb#208
def diagnostic(file_uri, text); end
# @api private
#
- # source://rubocop//lib/rubocop/lsp/routes.rb#173
- def format_file(file_uri); end
+ # source://rubocop//lib/rubocop/lsp/routes.rb#178
+ def extract_initialization_options_from(request); end
# @api private
#
- # source://rubocop//lib/rubocop/lsp/routes.rb#207
- def remove_file_protocol_from(uri); end
+ # source://rubocop//lib/rubocop/lsp/routes.rb#188
+ def format_file(file_uri, command: T.unsafe(nil)); end
# @api private
- # @return [Boolean]
#
- # source://rubocop//lib/rubocop/lsp/routes.rb#167
- def safe_autocorrect?(request); end
+ # source://rubocop//lib/rubocop/lsp/routes.rb#222
+ def remove_file_protocol_from(uri); end
# @api private
#
- # source://rubocop//lib/rubocop/lsp/routes.rb#211
+ # source://rubocop//lib/rubocop/lsp/routes.rb#226
def to_diagnostic(offense); end
# @api private
#
- # source://rubocop//lib/rubocop/lsp/routes.rb#223
+ # source://rubocop//lib/rubocop/lsp/routes.rb#238
def to_range(location); end
class << self
@@ -54249,12 +54872,22 @@ class RuboCop::Lsp::Runtime
#
# @api private
#
- # source://rubocop//lib/rubocop/lsp/runtime.rb#36
- def format(path, text); end
+ # source://rubocop//lib/rubocop/lsp/runtime.rb#38
+ def format(path, text, command:); end
+
+ # @api private
+ #
+ # source://rubocop//lib/rubocop/lsp/runtime.rb#17
+ def layout_mode=(_arg0); end
# @api private
#
- # source://rubocop//lib/rubocop/lsp/runtime.rb#46
+ # source://rubocop//lib/rubocop/lsp/runtime.rb#17
+ def lint_mode=(_arg0); end
+
+ # @api private
+ #
+ # source://rubocop//lib/rubocop/lsp/runtime.rb#55
def offenses(path, text); end
# @api private
@@ -54266,12 +54899,17 @@ class RuboCop::Lsp::Runtime
# @api private
#
- # source://rubocop//lib/rubocop/lsp/runtime.rb#67
+ # source://rubocop//lib/rubocop/lsp/runtime.rb#77
+ def config_only_options; end
+
+ # @api private
+ #
+ # source://rubocop//lib/rubocop/lsp/runtime.rb#84
def redirect_stdout(&block); end
# @api private
#
- # source://rubocop//lib/rubocop/lsp/runtime.rb#75
+ # source://rubocop//lib/rubocop/lsp/runtime.rb#92
def run_rubocop(options, path); end
end
@@ -54290,12 +54928,12 @@ class RuboCop::Lsp::Server
# @api private
#
# source://rubocop//lib/rubocop/lsp/server.rb#56
- def configure(safe_autocorrect: T.unsafe(nil)); end
+ def configure(options); end
# @api private
#
# source://rubocop//lib/rubocop/lsp/server.rb#48
- def format(path, text); end
+ def format(path, text, command:); end
# @api private
#
@@ -54309,7 +54947,7 @@ class RuboCop::Lsp::Server
# @api private
#
- # source://rubocop//lib/rubocop/lsp/server.rb#60
+ # source://rubocop//lib/rubocop/lsp/server.rb#62
def stop(&block); end
# @api private
@@ -54543,12 +55181,12 @@ RuboCop::MagicComment::KEYWORDS = T.let(T.unsafe(nil), Hash)
class RuboCop::MagicComment::SimpleComment < ::RuboCop::MagicComment
# Match `encoding` or `coding`
#
- # source://rubocop//lib/rubocop/magic_comment.rb#263
+ # source://rubocop//lib/rubocop/magic_comment.rb#265
def encoding; end
# Rewrite the comment without a given token type
#
- # source://rubocop//lib/rubocop/magic_comment.rb#268
+ # source://rubocop//lib/rubocop/magic_comment.rb#270
def without(type); end
private
@@ -54562,22 +55200,25 @@ class RuboCop::MagicComment::SimpleComment < ::RuboCop::MagicComment
#
# @see https://github.com/ruby/ruby/blob/78b95b4/parse.y#L7134-L7138
#
- # source://rubocop//lib/rubocop/magic_comment.rb#285
+ # source://rubocop//lib/rubocop/magic_comment.rb#287
def extract_frozen_string_literal; end
- # source://rubocop//lib/rubocop/magic_comment.rb#289
+ # source://rubocop//lib/rubocop/magic_comment.rb#291
def extract_shareable_constant_value; end
- # source://rubocop//lib/rubocop/magic_comment.rb#293
+ # source://rubocop//lib/rubocop/magic_comment.rb#295
def extract_typed; end
end
+# source://rubocop//lib/rubocop/magic_comment.rb#262
+RuboCop::MagicComment::SimpleComment::FSTRING_LITERAL_COMMENT = T.let(T.unsafe(nil), String)
+
# IRB's pattern for matching magic comment tokens.
#
# @see https://github.com/ruby/ruby/blob/b4a55c1/lib/irb/magic-file.rb#L5
#
# source://rubocop//lib/rubocop/magic_comment.rb#10
-RuboCop::MagicComment::TOKEN = T.let(T.unsafe(nil), Regexp)
+RuboCop::MagicComment::TOKEN = T.let(T.unsafe(nil), String)
# Wrapper for Vim style magic comments.
#
@@ -55215,7 +55856,7 @@ class RuboCop::ResultCache
#
# @api private
#
- # source://rubocop//lib/rubocop/result_cache.rb#233
+ # source://rubocop//lib/rubocop/result_cache.rb#237
def context_checksum(team, options); end
# @api private
@@ -55234,7 +55875,7 @@ class RuboCop::ResultCache
#
# @api private
#
- # source://rubocop//lib/rubocop/result_cache.rb#217
+ # source://rubocop//lib/rubocop/result_cache.rb#221
def relevant_options_digest(options); end
# The checksum of the RuboCop program running the inspection.
@@ -55260,7 +55901,7 @@ class RuboCop::ResultCache
#
# @api private
#
- # source://rubocop//lib/rubocop/result_cache.rb#224
+ # source://rubocop//lib/rubocop/result_cache.rb#228
def team_checksum(team); end
class << self
@@ -55449,7 +56090,7 @@ class RuboCop::Runner
# source://rubocop//lib/rubocop/runner.rb#414
def formatter_set; end
- # source://rubocop//lib/rubocop/runner.rb#468
+ # source://rubocop//lib/rubocop/runner.rb#470
def get_processed_source(file); end
# source://rubocop//lib/rubocop/runner.rb#342
@@ -55500,7 +56141,7 @@ class RuboCop::Runner
# otherwise dormant team that can be used for config- and option-
# level caching in ResultCache.
#
- # source://rubocop//lib/rubocop/runner.rb#490
+ # source://rubocop//lib/rubocop/runner.rb#492
def standby_team(config); end
# @return [Boolean]
@@ -55612,18 +56253,18 @@ class RuboCop::TargetFinder
# @api private
#
- # source://rubocop//lib/rubocop/target_finder.rb#145
+ # source://rubocop//lib/rubocop/target_finder.rb#149
def all_cops_include; end
# @api private
#
- # source://rubocop//lib/rubocop/target_finder.rb#116
+ # source://rubocop//lib/rubocop/target_finder.rb#120
def combined_exclude_glob_patterns(base_dir); end
# @api private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/target_finder.rb#172
+ # source://rubocop//lib/rubocop/target_finder.rb#176
def configured_include?(file); end
# @api private
@@ -55668,63 +56309,63 @@ class RuboCop::TargetFinder
# @api private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/target_finder.rb#176
+ # source://rubocop//lib/rubocop/target_finder.rb#180
def included_file?(file); end
# @api private
#
- # source://rubocop//lib/rubocop/target_finder.rb#180
+ # source://rubocop//lib/rubocop/target_finder.rb#184
def process_explicit_path(path, mode); end
# @api private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/target_finder.rb#149
+ # source://rubocop//lib/rubocop/target_finder.rb#153
def ruby_executable?(file); end
# @api private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/target_finder.rb#123
+ # source://rubocop//lib/rubocop/target_finder.rb#127
def ruby_extension?(file); end
# @api private
#
- # source://rubocop//lib/rubocop/target_finder.rb#127
+ # source://rubocop//lib/rubocop/target_finder.rb#131
def ruby_extensions; end
# @api private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/target_finder.rb#168
+ # source://rubocop//lib/rubocop/target_finder.rb#172
def ruby_file?(file); end
# @api private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/target_finder.rb#134
+ # source://rubocop//lib/rubocop/target_finder.rb#138
def ruby_filename?(file); end
# @api private
#
- # source://rubocop//lib/rubocop/target_finder.rb#138
+ # source://rubocop//lib/rubocop/target_finder.rb#142
def ruby_filenames; end
# @api private
#
- # source://rubocop//lib/rubocop/target_finder.rb#160
+ # source://rubocop//lib/rubocop/target_finder.rb#164
def ruby_interpreters(file); end
# @api private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/target_finder.rb#164
+ # source://rubocop//lib/rubocop/target_finder.rb#168
def stdin?; end
# @api private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/target_finder.rb#108
+ # source://rubocop//lib/rubocop/target_finder.rb#112
def symlink_excluded_or_infinite_loop?(base_dir, current_dir, exclude_pattern, flags); end
# Finds all Ruby source files under the current or other supplied
@@ -55757,7 +56398,7 @@ class RuboCop::TargetFinder
# @api private
#
- # source://rubocop//lib/rubocop/target_finder.rb#197
+ # source://rubocop//lib/rubocop/target_finder.rb#201
def order; end
end
@@ -55775,34 +56416,34 @@ class RuboCop::TargetRuby
# @api private
# @return [TargetRuby] a new instance of TargetRuby
#
- # source://rubocop//lib/rubocop/target_ruby.rb#248
+ # source://rubocop//lib/rubocop/target_ruby.rb#252
def initialize(config); end
# @api private
#
- # source://rubocop//lib/rubocop/target_ruby.rb#264
+ # source://rubocop//lib/rubocop/target_ruby.rb#268
def rubocop_version_with_support; end
# @api private
#
- # source://rubocop//lib/rubocop/target_ruby.rb#252
+ # source://rubocop//lib/rubocop/target_ruby.rb#256
def source; end
# @api private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/target_ruby.rb#260
+ # source://rubocop//lib/rubocop/target_ruby.rb#264
def supported?; end
# @api private
#
- # source://rubocop//lib/rubocop/target_ruby.rb#256
+ # source://rubocop//lib/rubocop/target_ruby.rb#260
def version; end
class << self
# @api private
#
- # source://rubocop//lib/rubocop/target_ruby.rb#234
+ # source://rubocop//lib/rubocop/target_ruby.rb#238
def supported_versions; end
end
end
@@ -55840,18 +56481,18 @@ RuboCop::TargetRuby::DEFAULT_VERSION = T.let(T.unsafe(nil), Float)
#
# @api private
#
-# source://rubocop//lib/rubocop/target_ruby.rb#222
+# source://rubocop//lib/rubocop/target_ruby.rb#226
class RuboCop::TargetRuby::Default < ::RuboCop::TargetRuby::Source
# @api private
#
- # source://rubocop//lib/rubocop/target_ruby.rb#223
+ # source://rubocop//lib/rubocop/target_ruby.rb#227
def name; end
private
# @api private
#
- # source://rubocop//lib/rubocop/target_ruby.rb#229
+ # source://rubocop//lib/rubocop/target_ruby.rb#233
def find_version; end
end
@@ -55864,11 +56505,11 @@ class RuboCop::TargetRuby::GemspecFile < ::RuboCop::TargetRuby::Source
extend ::RuboCop::AST::NodePattern::Macros
# source://rubocop//lib/rubocop/target_ruby.rb#159
- def gem_requirement?(param0 = T.unsafe(nil)); end
+ def gem_requirement_versions(param0 = T.unsafe(nil)); end
# @api private
#
- # source://rubocop//lib/rubocop/target_ruby.rb#163
+ # source://rubocop//lib/rubocop/target_ruby.rb#165
def name; end
# source://rubocop//lib/rubocop/target_ruby.rb#154
@@ -55878,37 +56519,37 @@ class RuboCop::TargetRuby::GemspecFile < ::RuboCop::TargetRuby::Source
# @api private
#
- # source://rubocop//lib/rubocop/target_ruby.rb#210
+ # source://rubocop//lib/rubocop/target_ruby.rb#214
def find_default_minimal_known_ruby(right_hand_side); end
# @api private
#
- # source://rubocop//lib/rubocop/target_ruby.rb#169
+ # source://rubocop//lib/rubocop/target_ruby.rb#171
def find_version; end
# @api private
#
- # source://rubocop//lib/rubocop/target_ruby.rb#179
+ # source://rubocop//lib/rubocop/target_ruby.rb#181
def gemspec_filename; end
# @api private
#
- # source://rubocop//lib/rubocop/target_ruby.rb#186
+ # source://rubocop//lib/rubocop/target_ruby.rb#188
def gemspec_filepath; end
# @api private
#
- # source://rubocop//lib/rubocop/target_ruby.rb#206
+ # source://rubocop//lib/rubocop/target_ruby.rb#210
def version_from_array(array); end
# @api private
#
- # source://rubocop//lib/rubocop/target_ruby.rb#191
+ # source://rubocop//lib/rubocop/target_ruby.rb#193
def version_from_gemspec_file(file); end
# @api private
#
- # source://rubocop//lib/rubocop/target_ruby.rb#196
+ # source://rubocop//lib/rubocop/target_ruby.rb#198
def version_from_right_hand_side(right_hand_side); end
end
@@ -55992,7 +56633,7 @@ RuboCop::TargetRuby::RubyVersionFile::RUBY_VERSION_PATTERN = T.let(T.unsafe(nil)
# @api private
#
-# source://rubocop//lib/rubocop/target_ruby.rb#238
+# source://rubocop//lib/rubocop/target_ruby.rb#242
RuboCop::TargetRuby::SOURCES = T.let(T.unsafe(nil), Array)
# A place where information about a target ruby version is found.
diff --git a/sorbet/rbi/gems/spoom@1.2.1.rbi b/sorbet/rbi/gems/spoom@1.2.4.rbi
similarity index 61%
rename from sorbet/rbi/gems/spoom@1.2.1.rbi
rename to sorbet/rbi/gems/spoom@1.2.4.rbi
index 9393e9b4..e3bba97e 100644
--- a/sorbet/rbi/gems/spoom@1.2.1.rbi
+++ b/sorbet/rbi/gems/spoom@1.2.4.rbi
@@ -221,22 +221,22 @@ class Spoom::Cli::Main < ::Thor
# source://spoom//lib/spoom/cli.rb#61
def __print_version; end
- # source://thor/1.2.2/lib/thor.rb#239
+ # source://thor/1.3.0/lib/thor.rb#334
def bump(*args); end
- # source://thor/1.2.2/lib/thor.rb#239
+ # source://thor/1.3.0/lib/thor.rb#334
def config(*args); end
- # source://thor/1.2.2/lib/thor.rb#239
+ # source://thor/1.3.0/lib/thor.rb#334
def coverage(*args); end
# source://spoom//lib/spoom/cli.rb#43
def files; end
- # source://thor/1.2.2/lib/thor.rb#239
+ # source://thor/1.3.0/lib/thor.rb#334
def lsp(*args); end
- # source://thor/1.2.2/lib/thor.rb#239
+ # source://thor/1.3.0/lib/thor.rb#334
def tc(*args); end
class << self
@@ -359,19 +359,19 @@ module Spoom::Context::Bundle
# Run a command with `bundle` in this context directory
#
- # source://spoom//lib/spoom/context/bundle.rb#27
+ # source://spoom//lib/spoom/context/bundle.rb#33
sig { params(command: ::String, version: T.nilable(::String), capture_err: T::Boolean).returns(::Spoom::ExecResult) }
def bundle(command, version: T.unsafe(nil), capture_err: T.unsafe(nil)); end
# Run a command `bundle exec` in this context directory
#
- # source://spoom//lib/spoom/context/bundle.rb#40
+ # source://spoom//lib/spoom/context/bundle.rb#46
sig { params(command: ::String, version: T.nilable(::String), capture_err: T::Boolean).returns(::Spoom::ExecResult) }
def bundle_exec(command, version: T.unsafe(nil), capture_err: T.unsafe(nil)); end
# Run `bundle install` in this context directory
#
- # source://spoom//lib/spoom/context/bundle.rb#34
+ # source://spoom//lib/spoom/context/bundle.rb#40
sig { params(version: T.nilable(::String), capture_err: T::Boolean).returns(::Spoom::ExecResult) }
def bundle_install!(version: T.unsafe(nil), capture_err: T.unsafe(nil)); end
@@ -379,19 +379,29 @@ module Spoom::Context::Bundle
#
# Returns `nil` if `gem` cannot be found in the Gemfile.
#
- # source://spoom//lib/spoom/context/bundle.rb#48
+ # source://spoom//lib/spoom/context/bundle.rb#62
sig { params(gem: ::String).returns(T.nilable(::String)) }
def gem_version_from_gemfile_lock(gem); end
- # Read the `contents` of the Gemfile in this context directory
+ # source://spoom//lib/spoom/context/bundle.rb#51
+ sig { returns(T::Hash[::String, ::Bundler::LazySpecification]) }
+ def gemfile_lock_specs; end
+
+ # Read the contents of the Gemfile in this context directory
#
# source://spoom//lib/spoom/context/bundle.rb#15
sig { returns(T.nilable(::String)) }
def read_gemfile; end
- # Set the `contents` of the Gemfile in this context directory
+ # Read the contents of the Gemfile.lock in this context directory
#
# source://spoom//lib/spoom/context/bundle.rb#21
+ sig { returns(T.nilable(::String)) }
+ def read_gemfile_lock; end
+
+ # Set the `contents` of the Gemfile in this context directory
+ #
+ # source://spoom//lib/spoom/context/bundle.rb#27
sig { params(contents: ::String, append: T::Boolean).void }
def write_gemfile!(contents, append: T.unsafe(nil)); end
end
@@ -421,11 +431,21 @@ module Spoom::Context::FileSystem
sig { params(relative_path: ::String).returns(::String) }
def absolute_path_to(relative_path); end
+ # source://spoom//lib/spoom/context/file_system.rb#53
+ sig do
+ params(
+ allow_extensions: T::Array[::String],
+ allow_mime_types: T::Array[::String],
+ exclude_patterns: T::Array[::String]
+ ).returns(T::Array[::String])
+ end
+ def collect_files(allow_extensions: T.unsafe(nil), allow_mime_types: T.unsafe(nil), exclude_patterns: T.unsafe(nil)); end
+
# Delete this context and its content
#
# Warning: it will `rm -rf` the context directory on the file system.
#
- # source://spoom//lib/spoom/context/file_system.rb#88
+ # source://spoom//lib/spoom/context/file_system.rb#105
sig { void }
def destroy!; end
@@ -437,7 +457,7 @@ module Spoom::Context::FileSystem
# Does `relative_path` point to an existing file in this context directory?
#
- # source://spoom//lib/spoom/context/file_system.rb#48
+ # source://spoom//lib/spoom/context/file_system.rb#65
sig { params(relative_path: ::String).returns(T::Boolean) }
def file?(relative_path); end
@@ -461,7 +481,7 @@ module Spoom::Context::FileSystem
# Move the file or directory from `from_relative_path` to `to_relative_path`
#
- # source://spoom//lib/spoom/context/file_system.rb#78
+ # source://spoom//lib/spoom/context/file_system.rb#95
sig { params(from_relative_path: ::String, to_relative_path: ::String).void }
def move!(from_relative_path, to_relative_path); end
@@ -469,13 +489,13 @@ module Spoom::Context::FileSystem
#
# Will raise if the file doesn't exist.
#
- # source://spoom//lib/spoom/context/file_system.rb#56
+ # source://spoom//lib/spoom/context/file_system.rb#73
sig { params(relative_path: ::String).returns(::String) }
def read(relative_path); end
# Remove the path at `relative_path` (recursive + force) in this context directory
#
- # source://spoom//lib/spoom/context/file_system.rb#72
+ # source://spoom//lib/spoom/context/file_system.rb#89
sig { params(relative_path: ::String).void }
def remove!(relative_path); end
@@ -483,7 +503,7 @@ module Spoom::Context::FileSystem
#
# Append to the file if `append` is true.
#
- # source://spoom//lib/spoom/context/file_system.rb#64
+ # source://spoom//lib/spoom/context/file_system.rb#81
sig { params(relative_path: ::String, contents: ::String, append: T::Boolean).void }
def write!(relative_path, contents = T.unsafe(nil), append: T.unsafe(nil)); end
end
@@ -506,21 +526,27 @@ module Spoom::Context::Git
sig { params(ref: ::String).returns(::Spoom::ExecResult) }
def git_checkout!(ref: T.unsafe(nil)); end
- # Run `git add . && git commit` in this context directory
+ # Run `git checkout -b [` in this context directory
#
# source://spoom//lib/spoom/context/git.rb#68
- sig { params(message: ::String, time: ::Time, allow_empty: T::Boolean).void }
+ sig { params(branch_name: ::String, ref: T.nilable(::String)).returns(::Spoom::ExecResult) }
+ def git_checkout_new_branch!(branch_name, ref: T.unsafe(nil)); end
+
+ # Run `git add . && git commit` in this context directory
+ #
+ # source://spoom//lib/spoom/context/git.rb#78
+ sig { params(message: ::String, time: ::Time, allow_empty: T::Boolean).returns(::Spoom::ExecResult) }
def git_commit!(message: T.unsafe(nil), time: T.unsafe(nil), allow_empty: T.unsafe(nil)); end
# Get the current git branch in this context directory
#
- # source://spoom//lib/spoom/context/git.rb#79
+ # source://spoom//lib/spoom/context/git.rb#89
sig { returns(T.nilable(::String)) }
def git_current_branch; end
# Run `git diff` in this context directory
#
- # source://spoom//lib/spoom/context/git.rb#88
+ # source://spoom//lib/spoom/context/git.rb#98
sig { params(arg: ::String).returns(::Spoom::ExecResult) }
def git_diff(*arg); end
@@ -535,21 +561,27 @@ module Spoom::Context::Git
# Get the last commit in the currently checked out branch
#
- # source://spoom//lib/spoom/context/git.rb#94
+ # source://spoom//lib/spoom/context/git.rb#104
sig { params(short_sha: T::Boolean).returns(T.nilable(::Spoom::Git::Commit)) }
def git_last_commit(short_sha: T.unsafe(nil)); end
- # source://spoom//lib/spoom/context/git.rb#105
+ # source://spoom//lib/spoom/context/git.rb#115
sig { params(arg: ::String).returns(::Spoom::ExecResult) }
def git_log(*arg); end
- # source://spoom//lib/spoom/context/git.rb#110
+ # Run `git push ][` in this context directory
+ #
+ # source://spoom//lib/spoom/context/git.rb#121
+ sig { params(remote: ::String, ref: ::String, force: T::Boolean).returns(::Spoom::ExecResult) }
+ def git_push!(remote, ref, force: T.unsafe(nil)); end
+
+ # source://spoom//lib/spoom/context/git.rb#126
sig { params(arg: ::String).returns(::Spoom::ExecResult) }
def git_show(*arg); end
# Is there uncommited changes in this context directory?
#
- # source://spoom//lib/spoom/context/git.rb#116
+ # source://spoom//lib/spoom/context/git.rb#132
sig { params(path: ::String).returns(T::Boolean) }
def git_workdir_clean?(path: T.unsafe(nil)); end
end
@@ -562,35 +594,35 @@ module Spoom::Context::Sorbet
# Does this context has a `sorbet/config` file?
#
- # source://spoom//lib/spoom/context/sorbet.rb#102
+ # source://spoom//lib/spoom/context/sorbet.rb#119
sig { returns(T::Boolean) }
def has_sorbet_config?; end
# Read the strictness sigil from the file at `relative_path` (returns `nil` if no sigil)
#
- # source://spoom//lib/spoom/context/sorbet.rb#125
+ # source://spoom//lib/spoom/context/sorbet.rb#142
sig { params(relative_path: ::String).returns(T.nilable(::String)) }
def read_file_strictness(relative_path); end
# Read the contents of `sorbet/config` in this context directory
#
- # source://spoom//lib/spoom/context/sorbet.rb#113
+ # source://spoom//lib/spoom/context/sorbet.rb#130
sig { returns(::String) }
def read_sorbet_config; end
- # source://spoom//lib/spoom/context/sorbet.rb#107
+ # source://spoom//lib/spoom/context/sorbet.rb#124
sig { returns(::Spoom::Sorbet::Config) }
def sorbet_config; end
# Get the commit introducing the `sorbet/config` file
#
- # source://spoom//lib/spoom/context/sorbet.rb#131
+ # source://spoom//lib/spoom/context/sorbet.rb#148
sig { returns(T.nilable(::Spoom::Git::Commit)) }
def sorbet_intro_commit; end
# Get the commit removing the `sorbet/config` file
#
- # source://spoom//lib/spoom/context/sorbet.rb#143
+ # source://spoom//lib/spoom/context/sorbet.rb#160
sig { returns(T.nilable(::Spoom::Git::Commit)) }
def sorbet_removal_commit; end
@@ -608,7 +640,7 @@ module Spoom::Context::Sorbet
# List all files typechecked by Sorbet from its `config` that matches `strictness`
#
- # source://spoom//lib/spoom/context/sorbet.rb#87
+ # source://spoom//lib/spoom/context/sorbet.rb#104
sig do
params(
strictness: ::String,
@@ -632,13 +664,13 @@ module Spoom::Context::Sorbet
sig { params(arg: ::String, sorbet_bin: T.nilable(::String), capture_err: T::Boolean).returns(::Spoom::ExecResult) }
def srb_tc(*arg, sorbet_bin: T.unsafe(nil), capture_err: T.unsafe(nil)); end
- # source://spoom//lib/spoom/context/sorbet.rb#93
+ # source://spoom//lib/spoom/context/sorbet.rb#110
sig { params(arg: ::String, sorbet_bin: T.nilable(::String), capture_err: T::Boolean).returns(T.nilable(::String)) }
def srb_version(*arg, sorbet_bin: T.unsafe(nil), capture_err: T.unsafe(nil)); end
# Set the `contents` of `sorbet/config` in this context directory
#
- # source://spoom//lib/spoom/context/sorbet.rb#119
+ # source://spoom//lib/spoom/context/sorbet.rb#136
sig { params(contents: ::String, append: T::Boolean).void }
def write_sorbet_config!(contents, append: T.unsafe(nil)); end
end
@@ -713,11 +745,6 @@ class Spoom::Coverage::Cards::Erb < ::Spoom::Coverage::Cards::Card
# source://spoom//lib/spoom/coverage/report.rb#115
sig { override.returns(::String) }
def html; end
-
- class << self
- # source://sorbet-runtime/0.5.10875/lib/types/private/abstract/declare.rb#37
- def new(*args, **_arg1, &blk); end
- end
end
# source://spoom//lib/spoom/coverage/report.rb#153
@@ -869,9 +896,6 @@ class Spoom::Coverage::D3::Base
# source://spoom//lib/spoom/coverage/d3/base.rb#26
sig { returns(::String) }
def header_style; end
-
- # source://sorbet-runtime/0.5.10875/lib/types/private/abstract/declare.rb#37
- def new(*args, **_arg1, &blk); end
end
end
@@ -934,7 +958,7 @@ class Spoom::Coverage::D3::ColorPalette < ::T::Struct
prop :strong, ::String
class << self
- # source://sorbet-runtime/0.5.10875/lib/types/struct.rb#13
+ # source://sorbet-runtime/0.5.11143/lib/types/struct.rb#13
def inherited(s); end
end
end
@@ -961,9 +985,6 @@ class Spoom::Coverage::D3::Pie < ::Spoom::Coverage::D3::Base
# source://spoom//lib/spoom/coverage/d3/pie.rb#25
sig { returns(::String) }
def header_style; end
-
- # source://sorbet-runtime/0.5.10875/lib/types/private/abstract/declare.rb#37
- def new(*args, **_arg1, &blk); end
end
end
@@ -1056,9 +1077,6 @@ class Spoom::Coverage::D3::Timeline < ::Spoom::Coverage::D3::Base
# source://spoom//lib/spoom/coverage/d3/timeline.rb#25
sig { returns(::String) }
def header_style; end
-
- # source://sorbet-runtime/0.5.10875/lib/types/private/abstract/declare.rb#37
- def new(*args, **_arg1, &blk); end
end
end
@@ -1150,11 +1168,6 @@ class Spoom::Coverage::D3::Timeline::Stacked < ::Spoom::Coverage::D3::Timeline
# source://spoom//lib/spoom/coverage/d3/timeline.rb#336
sig { override.returns(::String) }
def script; end
-
- class << self
- # source://sorbet-runtime/0.5.10875/lib/types/private/abstract/declare.rb#37
- def new(*args, **_arg1, &blk); end
- end
end
# source://spoom//lib/spoom/coverage/d3/timeline.rb#232
@@ -1215,11 +1228,6 @@ class Spoom::Coverage::Page < ::Spoom::Coverage::Template
# source://spoom//lib/spoom/coverage/report.rb#47
sig { returns(::String) }
def title; end
-
- class << self
- # source://sorbet-runtime/0.5.10875/lib/types/private/abstract/declare.rb#37
- def new(*args, **_arg1, &blk); end
- end
end
# source://spoom//lib/spoom/coverage/report.rb#44
@@ -1290,7 +1298,7 @@ class Spoom::Coverage::Snapshot < ::T::Struct
sig { params(obj: T::Hash[::String, T.untyped]).returns(::Spoom::Coverage::Snapshot) }
def from_obj(obj); end
- # source://sorbet-runtime/0.5.10875/lib/types/struct.rb#13
+ # source://sorbet-runtime/0.5.11143/lib/types/struct.rb#13
def inherited(s); end
end
end
@@ -1340,10 +1348,1253 @@ class Spoom::Coverage::Template
# source://spoom//lib/spoom/coverage/report.rb#28
sig { returns(::String) }
def html; end
+end
+
+# source://spoom//lib/spoom/deadcode/erb.rb#27
+module Spoom::Deadcode
+ class << self
+ # source://spoom//lib/spoom/deadcode.rb#51
+ sig do
+ params(
+ index: ::Spoom::Deadcode::Index,
+ erb: ::String,
+ file: ::String,
+ plugins: T::Array[::Spoom::Deadcode::Plugins::Base]
+ ).void
+ end
+ def index_erb(index, erb, file:, plugins: T.unsafe(nil)); end
+
+ # source://spoom//lib/spoom/deadcode.rb#40
+ sig do
+ params(
+ index: ::Spoom::Deadcode::Index,
+ ruby: ::String,
+ file: ::String,
+ plugins: T::Array[::Spoom::Deadcode::Plugins::Base]
+ ).void
+ end
+ def index_ruby(index, ruby, file:, plugins: T.unsafe(nil)); end
+
+ # source://spoom//lib/spoom/deadcode/plugins.rb#74
+ sig { params(context: ::Spoom::Context).returns(T::Array[::Spoom::Deadcode::Plugins::Base]) }
+ def load_custom_plugins(context); end
+
+ # source://spoom//lib/spoom/deadcode/plugins.rb#60
+ sig { params(context: ::Spoom::Context).returns(T::Array[::Spoom::Deadcode::Plugins::Base]) }
+ def plugins_from_gemfile_lock(context); end
+ end
+end
+
+# source://spoom//lib/spoom/deadcode/plugins.rb#25
+Spoom::Deadcode::DEFAULT_CUSTOM_PLUGINS_PATH = T.let(T.unsafe(nil), String)
+
+# source://spoom//lib/spoom/deadcode/plugins.rb#27
+Spoom::Deadcode::DEFAULT_PLUGINS = T.let(T.unsafe(nil), Set)
+
+# A definition is a class, module, method, constant, etc. being defined in the code
+#
+# source://spoom//lib/spoom/deadcode/definition.rb#7
+class Spoom::Deadcode::Definition < ::T::Struct
+ const :kind, ::Spoom::Deadcode::Definition::Kind
+ const :name, ::String
+ const :full_name, ::String
+ const :location, ::Spoom::Deadcode::Location
+ const :status, ::Spoom::Deadcode::Definition::Status, default: T.unsafe(nil)
+
+ # source://spoom//lib/spoom/deadcode/definition.rb#78
+ sig { void }
+ def alive!; end
+
+ # Status
+ #
+ # source://spoom//lib/spoom/deadcode/definition.rb#73
+ sig { returns(T::Boolean) }
+ def alive?; end
+
+ # Kind
+ #
+ # source://spoom//lib/spoom/deadcode/definition.rb#41
+ sig { returns(T::Boolean) }
+ def attr_reader?; end
+
+ # source://spoom//lib/spoom/deadcode/definition.rb#46
+ sig { returns(T::Boolean) }
+ def attr_writer?; end
+
+ # source://spoom//lib/spoom/deadcode/definition.rb#51
+ sig { returns(T::Boolean) }
+ def class?; end
+
+ # source://spoom//lib/spoom/deadcode/definition.rb#56
+ sig { returns(T::Boolean) }
+ def constant?; end
+
+ # source://spoom//lib/spoom/deadcode/definition.rb#83
+ sig { returns(T::Boolean) }
+ def dead?; end
+
+ # source://spoom//lib/spoom/deadcode/definition.rb#93
+ sig { void }
+ def ignored!; end
+
+ # source://spoom//lib/spoom/deadcode/definition.rb#88
+ sig { returns(T::Boolean) }
+ def ignored?; end
+
+ # source://spoom//lib/spoom/deadcode/definition.rb#61
+ sig { returns(T::Boolean) }
+ def method?; end
+
+ # source://spoom//lib/spoom/deadcode/definition.rb#66
+ sig { returns(T::Boolean) }
+ def module?; end
+
+ class << self
+ # source://sorbet-runtime/0.5.11143/lib/types/struct.rb#13
+ def inherited(s); end
+ end
+end
+
+# source://spoom//lib/spoom/deadcode/definition.rb#10
+class Spoom::Deadcode::Definition::Kind < ::T::Enum
+ enums do
+ AttrReader = new
+ AttrWriter = new
+ Class = new
+ Constant = new
+ Method = new
+ Module = new
+ end
+end
+
+# source://spoom//lib/spoom/deadcode/definition.rb#21
+class Spoom::Deadcode::Definition::Status < ::T::Enum
+ enums do
+ ALIVE = new
+ DEAD = new
+ IGNORED = new
+ end
+end
+
+# Custom engine to handle ERB templates as used by Rails
+#
+# source://spoom//lib/spoom/deadcode/erb.rb#29
+class Spoom::Deadcode::ERB < ::Erubi::Engine
+ # source://spoom//lib/spoom/deadcode/erb.rb#33
+ sig { params(input: T.untyped, properties: T.untyped).void }
+ def initialize(input, properties = T.unsafe(nil)); end
+
+ private
+
+ # source://spoom//lib/spoom/deadcode/erb.rb#83
+ sig { override.params(code: T.untyped).void }
+ def add_code(code); end
+
+ # source://spoom//lib/spoom/deadcode/erb.rb#66
+ sig { override.params(indicator: T.untyped, code: T.untyped).void }
+ def add_expression(indicator, code); end
+
+ # source://spoom//lib/spoom/deadcode/erb.rb#89
+ sig { override.params(_: T.untyped).void }
+ def add_postamble(_); end
+
+ # source://spoom//lib/spoom/deadcode/erb.rb#48
+ sig { override.params(text: T.untyped).void }
+ def add_text(text); end
+
+ # source://spoom//lib/spoom/deadcode/erb.rb#95
+ sig { params(src: T.untyped).void }
+ def flush_newline_if_pending(src); end
+end
+
+# source://spoom//lib/spoom/deadcode/erb.rb#63
+Spoom::Deadcode::ERB::BLOCK_EXPR = T.let(T.unsafe(nil), Regexp)
+
+# @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
+#
+# source://spoom//lib/spoom/deadcode.rb#20
+class Spoom::Deadcode::Error < ::Spoom::Error
+ abstract!
+
+ # source://spoom//lib/spoom/deadcode.rb#27
+ sig { params(message: ::String, parent: ::Exception).void }
+ def initialize(message, parent:); end
+end
+
+# source://spoom//lib/spoom/deadcode/index.rb#6
+class Spoom::Deadcode::Index
+ # source://spoom//lib/spoom/deadcode/index.rb#16
+ sig { void }
+ def initialize; end
+
+ # source://spoom//lib/spoom/deadcode/index.rb#51
+ sig { returns(T::Array[::Spoom::Deadcode::Definition]) }
+ def all_definitions; end
+
+ # source://spoom//lib/spoom/deadcode/index.rb#56
+ sig { returns(T::Array[::Spoom::Deadcode::Reference]) }
+ def all_references; end
+
+ # Indexing
+ #
+ # source://spoom//lib/spoom/deadcode/index.rb#24
+ sig { params(definition: ::Spoom::Deadcode::Definition).void }
+ def define(definition); end
+
+ # source://spoom//lib/spoom/deadcode/index.rb#10
+ sig { returns(T::Hash[::String, T::Array[::Spoom::Deadcode::Definition]]) }
+ def definitions; end
+
+ # Utils
+ #
+ # source://spoom//lib/spoom/deadcode/index.rb#46
+ sig { params(name: ::String).returns(T::Array[::Spoom::Deadcode::Definition]) }
+ def definitions_for_name(name); end
+
+ # Mark all definitions having a reference of the same name as `alive`
+ #
+ # To be called once all the files have been indexed and all the definitions and references discovered.
+ #
+ # source://spoom//lib/spoom/deadcode/index.rb#37
+ sig { void }
+ def finalize!; end
+
+ # source://spoom//lib/spoom/deadcode/index.rb#29
+ sig { params(reference: ::Spoom::Deadcode::Reference).void }
+ def reference(reference); end
+
+ # source://spoom//lib/spoom/deadcode/index.rb#13
+ sig { returns(T::Hash[::String, T::Array[::Spoom::Deadcode::Reference]]) }
+ def references; end
+end
+
+# source://spoom//lib/spoom/deadcode/indexer.rb#6
+class Spoom::Deadcode::Indexer < ::SyntaxTree::Visitor
+ # source://spoom//lib/spoom/deadcode/indexer.rb#16
+ sig do
+ params(
+ path: ::String,
+ source: ::String,
+ index: ::Spoom::Deadcode::Index,
+ plugins: T::Array[::Spoom::Deadcode::Plugins::Base]
+ ).void
+ end
+ def initialize(path, source, index, plugins: T.unsafe(nil)); end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#459
+ sig do
+ params(
+ node: T.nilable(T.any(::SyntaxTree::ArgParen, ::SyntaxTree::Args, ::SyntaxTree::ArgsForward))
+ ).returns(T::Array[::SyntaxTree::Node])
+ end
+ def call_args(node); end
+
+ # Context
+ #
+ # source://spoom//lib/spoom/deadcode/indexer.rb#367
+ sig { returns(::SyntaxTree::Node) }
+ def current_node; end
+
+ # Definition indexing
+ #
+ # source://spoom//lib/spoom/deadcode/indexer.rb#281
+ sig { params(name: ::String, full_name: ::String, node: ::SyntaxTree::Node).void }
+ def define_attr_reader(name, full_name, node); end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#293
+ sig { params(name: ::String, full_name: ::String, node: ::SyntaxTree::Node).void }
+ def define_attr_writer(name, full_name, node); end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#305
+ sig { params(name: ::String, full_name: ::String, node: ::SyntaxTree::Node).void }
+ def define_class(name, full_name, node); end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#317
+ sig { params(name: ::String, full_name: ::String, node: ::SyntaxTree::Node).void }
+ def define_constant(name, full_name, node); end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#329
+ sig { params(name: ::String, full_name: ::String, node: ::SyntaxTree::Node).void }
+ def define_method(name, full_name, node); end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#341
+ sig { params(name: ::String, full_name: ::String, node: ::SyntaxTree::Node).void }
+ def define_module(name, full_name, node); end
+
+ # @return [String]
+ #
+ # source://spoom//lib/spoom/deadcode/indexer.rb#10
+ def file_name; end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#13
+ sig { returns(::Spoom::Deadcode::Index) }
+ def index; end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#426
+ sig { returns(T.nilable(::String)) }
+ def last_sig; end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#386
+ sig { returns(T.nilable(::SyntaxTree::BlockNode)) }
+ def nesting_block; end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#391
+ sig { returns(T.nilable(::SyntaxTree::MethodAddBlock)) }
+ def nesting_block_call; end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#396
+ sig { returns(T.nilable(::String)) }
+ def nesting_block_call_name; end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#381
+ sig { returns(T.nilable(::SyntaxTree::ClassDeclaration)) }
+ def nesting_class; end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#410
+ sig { returns(T.nilable(::String)) }
+ def nesting_class_name; end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#418
+ sig { returns(T.nilable(::String)) }
+ def nesting_class_superclass_name; end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#372
+ sig { type_parameters(:N).params(type: T::Class[T.type_parameter(:N)]).returns(T.nilable(T.type_parameter(:N))) }
+ def nesting_node(type); end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#445
+ sig { params(node: ::SyntaxTree::Node).returns(::Spoom::Deadcode::Location) }
+ def node_location(node); end
+
+ # Node utils
+ #
+ # source://spoom//lib/spoom/deadcode/indexer.rb#435
+ sig { params(node: T.any(::Symbol, ::SyntaxTree::Node)).returns(::String) }
+ def node_string(node); end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#10
+ sig { returns(::String) }
+ def path; end
+
+ # Reference indexing
+ #
+ # source://spoom//lib/spoom/deadcode/indexer.rb#355
+ sig { params(name: ::String, node: ::SyntaxTree::Node).void }
+ def reference_constant(name, node); end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#360
+ sig { params(name: ::String, node: ::SyntaxTree::Node).void }
+ def reference_method(name, node); end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#450
+ sig { params(node: ::SyntaxTree::Node).returns(::String) }
+ def symbol_string(node); end
+
+ # Visit
+ #
+ # source://spoom//lib/spoom/deadcode/indexer.rb#35
+ sig { override.params(node: T.nilable(::SyntaxTree::Node)).void }
+ def visit(node); end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#45
+ sig { override.params(node: ::SyntaxTree::AliasNode).void }
+ def visit_alias(node); end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#50
+ sig { override.params(node: ::SyntaxTree::ARef).void }
+ def visit_aref(node); end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#57
+ sig { override.params(node: ::SyntaxTree::ARefField).void }
+ def visit_aref_field(node); end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#64
+ sig { override.params(node: ::SyntaxTree::ArgBlock).void }
+ def visit_arg_block(node); end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#78
+ sig { override.params(node: ::SyntaxTree::Binary).void }
+ def visit_binary(node); end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#94
+ sig { override.params(node: ::SyntaxTree::CallNode).void }
+ def visit_call(node); end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#106
+ sig { override.params(node: ::SyntaxTree::ClassDeclaration).void }
+ def visit_class(node); end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#119
+ sig { override.params(node: ::SyntaxTree::Command).void }
+ def visit_command(node); end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#131
+ sig { override.params(node: ::SyntaxTree::CommandCall).void }
+ def visit_command_call(node); end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#144
+ sig { override.params(node: ::SyntaxTree::Const).void }
+ def visit_const(node); end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#149
+ sig { override.params(node: ::SyntaxTree::ConstPathField).void }
+ def visit_const_path_field(node); end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#159
+ sig { override.params(node: ::SyntaxTree::DefNode).void }
+ def visit_def(node); end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#167
+ sig { override.params(node: ::SyntaxTree::Field).void }
+ def visit_field(node); end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#183
+ sig { override.params(node: ::SyntaxTree::ModuleDeclaration).void }
+ def visit_module(node); end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#195
+ sig { override.params(node: ::SyntaxTree::OpAssign).void }
+ def visit_opassign(node); end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#204
+ sig { params(send: ::Spoom::Deadcode::Send).void }
+ def visit_send(send); end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#243
+ sig { override.params(node: ::SyntaxTree::SymbolLiteral).void }
+ def visit_symbol_literal(node); end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#252
+ sig { override.params(node: ::SyntaxTree::TopConstField).void }
+ def visit_top_const_field(node); end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#257
+ sig { override.params(node: ::SyntaxTree::VarField).void }
+ def visit_var_field(node); end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#274
+ sig { override.params(node: ::SyntaxTree::VCall).void }
+ def visit_vcall(node); end
+end
+
+# source://spoom//lib/spoom/deadcode.rb#34
+class Spoom::Deadcode::IndexerError < ::Spoom::Deadcode::Error; end
+
+# source://spoom//lib/spoom/deadcode/location.rb#6
+class Spoom::Deadcode::Location
+ include ::Comparable
+
+ # source://spoom//lib/spoom/deadcode/location.rb#54
+ sig do
+ params(
+ file: ::String,
+ start_line: ::Integer,
+ start_column: ::Integer,
+ end_line: ::Integer,
+ end_column: ::Integer
+ ).void
+ end
+ def initialize(file, start_line, start_column, end_line, end_column); end
+
+ # source://spoom//lib/spoom/deadcode/location.rb#74
+ sig { override.params(other: ::BasicObject).returns(T.nilable(::Integer)) }
+ def <=>(other); end
+
+ # @return [Integer]
+ #
+ # source://spoom//lib/spoom/deadcode/location.rb#43
+ def end_column; end
+
+ # @return [Integer]
+ #
+ # source://spoom//lib/spoom/deadcode/location.rb#43
+ def end_line; end
+
+ # source://spoom//lib/spoom/deadcode/location.rb#40
+ sig { returns(::String) }
+ def file; end
+
+ # source://spoom//lib/spoom/deadcode/location.rb#63
+ sig { params(other: ::Spoom::Deadcode::Location).returns(T::Boolean) }
+ def include?(other); end
+
+ # @return [Integer]
+ #
+ # source://spoom//lib/spoom/deadcode/location.rb#43
+ def start_column; end
+
+ # source://spoom//lib/spoom/deadcode/location.rb#43
+ sig { returns(::Integer) }
+ def start_line; end
+
+ # source://spoom//lib/spoom/deadcode/location.rb#81
+ sig { returns(::String) }
+ def to_s; end
+
+ class << self
+ # @raise [LocationError]
+ #
+ # source://spoom//lib/spoom/deadcode/location.rb#17
+ sig { params(location_string: ::String).returns(::Spoom::Deadcode::Location) }
+ def from_string(location_string); end
+
+ # source://spoom//lib/spoom/deadcode/location.rb#34
+ sig { params(file: ::String, location: ::SyntaxTree::Location).returns(::Spoom::Deadcode::Location) }
+ def from_syntax_tree(file, location); end
+ end
+end
+
+# source://spoom//lib/spoom/deadcode/location.rb#11
+class Spoom::Deadcode::Location::LocationError < ::Spoom::Error; end
+
+# source://spoom//lib/spoom/deadcode/plugins.rb#35
+Spoom::Deadcode::PLUGINS_FOR_GEM = T.let(T.unsafe(nil), Hash)
+
+# source://spoom//lib/spoom/deadcode.rb#33
+class Spoom::Deadcode::ParserError < ::Spoom::Deadcode::Error; end
+
+# source://spoom//lib/spoom/deadcode/plugins/base.rb#8
+module Spoom::Deadcode::Plugins; end
+
+# source://spoom//lib/spoom/deadcode/plugins/action_mailer.rb#7
+class Spoom::Deadcode::Plugins::ActionMailer < ::Spoom::Deadcode::Plugins::Base
+ # source://spoom//lib/spoom/deadcode/plugins/action_mailer.rb#11
+ sig { override.params(indexer: ::Spoom::Deadcode::Indexer, send: ::Spoom::Deadcode::Send).void }
+ def on_send(indexer, send); end
+end
+
+# source://spoom//lib/spoom/deadcode/plugins/actionpack.rb#7
+class Spoom::Deadcode::Plugins::ActionPack < ::Spoom::Deadcode::Plugins::Base
+ # source://spoom//lib/spoom/deadcode/plugins/actionpack.rb#31
+ sig { override.params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
+ def on_define_method(indexer, definition); end
+
+ # source://spoom//lib/spoom/deadcode/plugins/actionpack.rb#36
+ sig { override.params(indexer: ::Spoom::Deadcode::Indexer, send: ::Spoom::Deadcode::Send).void }
+ def on_send(indexer, send); end
+end
+
+# source://spoom//lib/spoom/deadcode/plugins/actionpack.rb#10
+Spoom::Deadcode::Plugins::ActionPack::CALLBACKS = T.let(T.unsafe(nil), Array)
+
+# source://spoom//lib/spoom/deadcode/plugins/active_job.rb#7
+class Spoom::Deadcode::Plugins::ActiveJob < ::Spoom::Deadcode::Plugins::Base; end
+
+# source://spoom//lib/spoom/deadcode/plugins/active_model.rb#7
+class Spoom::Deadcode::Plugins::ActiveModel < ::Spoom::Deadcode::Plugins::Base
+ # source://spoom//lib/spoom/deadcode/plugins/active_model.rb#14
+ sig { override.params(indexer: ::Spoom::Deadcode::Indexer, send: ::Spoom::Deadcode::Send).void }
+ def on_send(indexer, send); end
+end
+
+# source://spoom//lib/spoom/deadcode/plugins/active_record.rb#7
+class Spoom::Deadcode::Plugins::ActiveRecord < ::Spoom::Deadcode::Plugins::Base
+ # source://spoom//lib/spoom/deadcode/plugins/active_record.rb#74
+ sig { override.params(indexer: ::Spoom::Deadcode::Indexer, send: ::Spoom::Deadcode::Send).void }
+ def on_send(indexer, send); end
+end
+
+# source://spoom//lib/spoom/deadcode/plugins/active_record.rb#64
+Spoom::Deadcode::Plugins::ActiveRecord::ARRAY_METHODS = T.let(T.unsafe(nil), Array)
+
+# source://spoom//lib/spoom/deadcode/plugins/active_record.rb#20
+Spoom::Deadcode::Plugins::ActiveRecord::CALLBACKS = T.let(T.unsafe(nil), Array)
+
+# source://spoom//lib/spoom/deadcode/plugins/active_record.rb#49
+Spoom::Deadcode::Plugins::ActiveRecord::CRUD_METHODS = T.let(T.unsafe(nil), Array)
+
+# source://spoom//lib/spoom/deadcode/plugins/active_support.rb#7
+class Spoom::Deadcode::Plugins::ActiveSupport < ::Spoom::Deadcode::Plugins::Base; end
+
+# @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
+#
+# source://spoom//lib/spoom/deadcode/plugins/base.rb#9
+class Spoom::Deadcode::Plugins::Base
+ abstract!
+
+ # Do not override this method, use `on_define_accessor` instead.
+ #
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#150
+ sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
+ def internal_on_define_accessor(indexer, definition); end
+
+ # Do not override this method, use `on_define_class` instead.
+ #
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#174
+ sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
+ def internal_on_define_class(indexer, definition); end
+
+ # Do not override this method, use `on_define_constant` instead.
+ #
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#204
+ sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
+ def internal_on_define_constant(indexer, definition); end
+
+ # Do not override this method, use `on_define_method` instead.
+ #
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#232
+ sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
+ def internal_on_define_method(indexer, definition); end
+
+ # Do not override this method, use `on_define_module` instead.
+ #
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#258
+ sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
+ def internal_on_define_module(indexer, definition); end
+
+ # Do not override this method, use `on_send` instead.
+ #
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#284
+ sig { params(indexer: ::Spoom::Deadcode::Indexer, send: ::Spoom::Deadcode::Send).void }
+ def internal_on_send(indexer, send); end
+
+ # Called when an accessor is defined.
+ #
+ # Will be called when the indexer processes a `attr_reader`, `attr_writer` or `attr_accessor` node.
+ # Note that when this method is called, the definition for the node has already been added to the index.
+ # It is still possible to ignore it from the plugin:
+ #
+ # ~~~rb
+ # class MyPlugin < Spoom::Deadcode::Plugins::Base
+ # def on_define_accessor(indexer, definition)
+ # definition.ignored! if definition.name == "foo"
+ # end
+ # end
+ # ~~~
+ #
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#144
+ sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
+ def on_define_accessor(indexer, definition); end
+
+ # Called when a class is defined.
+ #
+ # Will be called when the indexer processes a `class` node.
+ # Note that when this method is called, the definition for the node has already been added to the index.
+ # It is still possible to ignore it from the plugin:
+ #
+ # ~~~rb
+ # class MyPlugin < Spoom::Deadcode::Plugins::Base
+ # def on_define_class(indexer, definition)
+ # definition.ignored! if definition.name == "Foo"
+ # end
+ # end
+ # ~~~
+ #
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#168
+ sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
+ def on_define_class(indexer, definition); end
+
+ # Called when a constant is defined.
+ #
+ # Will be called when the indexer processes a `CONST =` node.
+ # Note that when this method is called, the definition for the node has already been added to the index.
+ # It is still possible to ignore it from the plugin:
+ #
+ # ~~~rb
+ # class MyPlugin < Spoom::Deadcode::Plugins::Base
+ # def on_define_constant(indexer, definition)
+ # definition.ignored! if definition.name == "FOO"
+ # end
+ # end
+ # ~~~
+ #
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#198
+ sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
+ def on_define_constant(indexer, definition); end
+
+ # Called when a method is defined.
+ #
+ # Will be called when the indexer processes a `def` or `defs` node.
+ # Note that when this method is called, the definition for the node has already been added to the index.
+ # It is still possible to ignore it from the plugin:
+ #
+ # ~~~rb
+ # class MyPlugin < Spoom::Deadcode::Plugins::Base
+ # def on_define_method(indexer, definition)
+ # super # So the `ignore_method_names` DSL is still applied
+ #
+ # definition.ignored! if definition.name == "foo"
+ # end
+ # end
+ # ~~~
+ #
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#226
+ sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
+ def on_define_method(indexer, definition); end
+
+ # Called when a module is defined.
+ #
+ # Will be called when the indexer processes a `module` node.
+ # Note that when this method is called, the definition for the node has already been added to the index.
+ # It is still possible to ignore it from the plugin:
+ #
+ # ~~~rb
+ # class MyPlugin < Spoom::Deadcode::Plugins::Base
+ # def on_define_module(indexer, definition)
+ # definition.ignored! if definition.name == "Foo"
+ # end
+ # end
+ # ~~~
+ #
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#252
+ sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
+ def on_define_module(indexer, definition); end
+
+ # Called when a send is being processed
+ #
+ # ~~~rb
+ # class MyPlugin < Spoom::Deadcode::Plugins::Base
+ # def on_send(indexer, send)
+ # return unless send.name == "dsl_method"
+ # return if send.args.empty?
+ #
+ # method_name = indexer.node_string(send.args.first).delete_prefix(":")
+ # indexer.reference_method(method_name, send.node)
+ # end
+ # end
+ # ~~~
+ #
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#278
+ sig { params(indexer: ::Spoom::Deadcode::Indexer, send: ::Spoom::Deadcode::Send).void }
+ def on_send(indexer, send); end
+
+ private
+
+ # Plugin utils
+ #
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#339
+ sig { params(name: ::String).returns(::String) }
+ def camelize(name); end
+
+ # DSL support
+ #
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#293
+ sig { params(name: T.nilable(::String)).returns(T::Boolean) }
+ def ignored_class_name?(name); end
+
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#307
+ sig { params(name: ::String).returns(T::Boolean) }
+ def ignored_constant_name?(name); end
+
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#312
+ sig { params(name: ::String).returns(T::Boolean) }
+ def ignored_method_name?(name); end
+
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#317
+ sig { params(name: ::String).returns(T::Boolean) }
+ def ignored_module_name?(name); end
+
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#322
+ sig { params(name: ::String, names_variable: ::Symbol, patterns_variable: ::Symbol).returns(T::Boolean) }
+ def ignored_name?(name, names_variable, patterns_variable); end
+
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#300
+ sig { params(superclass_name: T.nilable(::String)).returns(T::Boolean) }
+ def ignored_subclass?(superclass_name); end
+
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#327
+ sig { params(const: ::Symbol).returns(T::Set[::String]) }
+ def names(const); end
+
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#332
+ sig { params(const: ::Symbol).returns(T::Array[::Regexp]) }
+ def patterns(const); end
class << self
- # source://sorbet-runtime/0.5.10875/lib/types/private/abstract/declare.rb#37
- def new(*args, **_arg1, &blk); end
+ # Mark classes directly subclassing a class matching `names` as ignored.
+ #
+ # Names can be either strings or regexps:
+ #
+ # ~~~rb
+ # class MyPlugin < Spoom::Deadcode::Plugins::Base
+ # ignore_classes_inheriting_from(
+ # "Foo",
+ # "Bar",
+ # /Baz.*/,
+ # )
+ # end
+ # ~~~
+ #
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#52
+ sig { params(names: T.any(::Regexp, ::String)).void }
+ def ignore_classes_inheriting_from(*names); end
+
+ # Mark classes matching `names` as ignored.
+ #
+ # Names can be either strings or regexps:
+ #
+ # ~~~rb
+ # class MyPlugin < Spoom::Deadcode::Plugins::Base
+ # ignore_class_names(
+ # "Foo",
+ # "Bar",
+ # /Baz.*/,
+ # )
+ # end
+ # ~~~
+ #
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#34
+ sig { params(names: T.any(::Regexp, ::String)).void }
+ def ignore_classes_named(*names); end
+
+ # Mark constants matching `names` as ignored.
+ #
+ # Names can be either strings or regexps:
+ #
+ # ~~~rb
+ # class MyPlugin < Spoom::Deadcode::Plugins::Base
+ # ignore_class_names(
+ # "FOO",
+ # "BAR",
+ # /BAZ.*/,
+ # )
+ # end
+ # ~~~
+ #
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#70
+ sig { params(names: T.any(::Regexp, ::String)).void }
+ def ignore_constants_named(*names); end
+
+ # Mark methods matching `names` as ignored.
+ #
+ # Names can be either strings or regexps:
+ #
+ # ~~~rb
+ # class MyPlugin < Spoom::Deadcode::Plugins::Base
+ # ignore_method_names(
+ # "foo",
+ # "bar",
+ # /baz.*/,
+ # )
+ # end
+ # ~~~
+ #
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#88
+ sig { params(names: T.any(::Regexp, ::String)).void }
+ def ignore_methods_named(*names); end
+
+ # Mark modules matching `names` as ignored.
+ #
+ # Names can be either strings or regexps:
+ #
+ # ~~~rb
+ # class MyPlugin < Spoom::Deadcode::Plugins::Base
+ # ignore_class_names(
+ # "Foo",
+ # "Bar",
+ # /Baz.*/,
+ # )
+ # end
+ # ~~~
+ #
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#106
+ sig { params(names: T.any(::Regexp, ::String)).void }
+ def ignore_modules_named(*names); end
+
+ private
+
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#113
+ sig do
+ params(
+ names: T::Array[T.any(::Regexp, ::String)],
+ names_variable: ::Symbol,
+ patterns_variable: ::Symbol
+ ).void
+ end
+ def save_names_and_patterns(names, names_variable, patterns_variable); end
+ end
+end
+
+# source://spoom//lib/spoom/deadcode/plugins/graphql.rb#7
+class Spoom::Deadcode::Plugins::GraphQL < ::Spoom::Deadcode::Plugins::Base
+ # source://spoom//lib/spoom/deadcode/plugins/graphql.rb#28
+ sig { override.params(indexer: ::Spoom::Deadcode::Indexer, send: ::Spoom::Deadcode::Send).void }
+ def on_send(indexer, send); end
+end
+
+# source://spoom//lib/spoom/deadcode/plugins/minitest.rb#7
+class Spoom::Deadcode::Plugins::Minitest < ::Spoom::Deadcode::Plugins::Base
+ # source://spoom//lib/spoom/deadcode/plugins/minitest.rb#22
+ sig { override.params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
+ def on_define_method(indexer, definition); end
+end
+
+# source://spoom//lib/spoom/deadcode/plugins/namespaces.rb#7
+class Spoom::Deadcode::Plugins::Namespaces < ::Spoom::Deadcode::Plugins::Base
+ # source://spoom//lib/spoom/deadcode/plugins/namespaces.rb#11
+ sig { override.params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
+ def on_define_class(indexer, definition); end
+
+ # source://spoom//lib/spoom/deadcode/plugins/namespaces.rb#16
+ sig { override.params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
+ def on_define_module(indexer, definition); end
+
+ private
+
+ # source://spoom//lib/spoom/deadcode/plugins/namespaces.rb#23
+ sig { params(indexer: ::Spoom::Deadcode::Indexer).returns(T::Boolean) }
+ def used_as_namespace?(indexer); end
+end
+
+# source://spoom//lib/spoom/deadcode/plugins/rspec.rb#7
+class Spoom::Deadcode::Plugins::RSpec < ::Spoom::Deadcode::Plugins::Base; end
+
+# source://spoom//lib/spoom/deadcode/plugins/rails.rb#7
+class Spoom::Deadcode::Plugins::Rails < ::Spoom::Deadcode::Plugins::Base
+ # source://spoom//lib/spoom/deadcode/plugins/rails.rb#13
+ sig { override.params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
+ def on_define_class(indexer, definition); end
+
+ # source://spoom//lib/spoom/deadcode/plugins/rails.rb#18
+ sig { override.params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
+ def on_define_module(indexer, definition); end
+
+ private
+
+ # source://spoom//lib/spoom/deadcode/plugins/rails.rb#25
+ sig { params(indexer: ::Spoom::Deadcode::Indexer).returns(T::Boolean) }
+ def file_is_helper?(indexer); end
+end
+
+# source://spoom//lib/spoom/deadcode/plugins/rake.rb#7
+class Spoom::Deadcode::Plugins::Rake < ::Spoom::Deadcode::Plugins::Base; end
+
+# source://spoom//lib/spoom/deadcode/plugins/rubocop.rb#7
+class Spoom::Deadcode::Plugins::Rubocop < ::Spoom::Deadcode::Plugins::Base
+ # source://spoom//lib/spoom/deadcode/plugins/rubocop.rb#18
+ sig { override.params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
+ def on_define_constant(indexer, definition); end
+
+ # source://spoom//lib/spoom/deadcode/plugins/rubocop.rb#23
+ sig { override.params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
+ def on_define_method(indexer, definition); end
+
+ private
+
+ # source://spoom//lib/spoom/deadcode/plugins/rubocop.rb#30
+ sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).returns(T::Boolean) }
+ def rubocop_constant?(indexer, definition); end
+
+ # source://spoom//lib/spoom/deadcode/plugins/rubocop.rb#35
+ sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).returns(T::Boolean) }
+ def rubocop_method?(indexer, definition); end
+end
+
+# source://spoom//lib/spoom/deadcode/plugins/rubocop.rb#10
+Spoom::Deadcode::Plugins::Rubocop::RUBOCOP_CONSTANTS = T.let(T.unsafe(nil), Set)
+
+# source://spoom//lib/spoom/deadcode/plugins/ruby.rb#7
+class Spoom::Deadcode::Plugins::Ruby < ::Spoom::Deadcode::Plugins::Base
+ # source://spoom//lib/spoom/deadcode/plugins/ruby.rb#24
+ sig { override.params(indexer: ::Spoom::Deadcode::Indexer, send: ::Spoom::Deadcode::Send).void }
+ def on_send(indexer, send); end
+
+ private
+
+ # source://spoom//lib/spoom/deadcode/plugins/ruby.rb#50
+ sig { params(indexer: ::Spoom::Deadcode::Indexer, send: ::Spoom::Deadcode::Send, node: ::SyntaxTree::Node).void }
+ def reference_symbol_as_constant(indexer, send, node); end
+end
+
+# source://spoom//lib/spoom/deadcode/plugins/sorbet.rb#7
+class Spoom::Deadcode::Plugins::Sorbet < ::Spoom::Deadcode::Plugins::Base
+ # source://spoom//lib/spoom/deadcode/plugins/sorbet.rb#11
+ sig { override.params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
+ def on_define_constant(indexer, definition); end
+
+ # source://spoom//lib/spoom/deadcode/plugins/sorbet.rb#16
+ sig { override.params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
+ def on_define_method(indexer, definition); end
+
+ private
+
+ # source://spoom//lib/spoom/deadcode/plugins/sorbet.rb#40
+ sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).returns(T::Boolean) }
+ def sorbet_enum_constant?(indexer, definition); end
+
+ # source://spoom//lib/spoom/deadcode/plugins/sorbet.rb#23
+ sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).returns(T::Boolean) }
+ def sorbet_type_member?(indexer, definition); end
+end
+
+# source://spoom//lib/spoom/deadcode/plugins/thor.rb#7
+class Spoom::Deadcode::Plugins::Thor < ::Spoom::Deadcode::Plugins::Base
+ # source://spoom//lib/spoom/deadcode/plugins/thor.rb#13
+ sig { override.params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
+ def on_define_method(indexer, definition); end
+end
+
+# A reference is a call to a method or a constant
+#
+# source://spoom//lib/spoom/deadcode/reference.rb#7
+class Spoom::Deadcode::Reference < ::T::Struct
+ const :kind, ::Spoom::Deadcode::Reference::Kind
+ const :name, ::String
+ const :location, ::Spoom::Deadcode::Location
+
+ # Kind
+ #
+ # source://spoom//lib/spoom/deadcode/reference.rb#24
+ sig { returns(T::Boolean) }
+ def constant?; end
+
+ # source://spoom//lib/spoom/deadcode/reference.rb#29
+ sig { returns(T::Boolean) }
+ def method?; end
+
+ class << self
+ # source://sorbet-runtime/0.5.11143/lib/types/struct.rb#13
+ def inherited(s); end
+ end
+end
+
+# source://spoom//lib/spoom/deadcode/reference.rb#10
+class Spoom::Deadcode::Reference::Kind < ::T::Enum
+ enums do
+ Constant = new
+ Method = new
+ end
+end
+
+# source://spoom//lib/spoom/deadcode/remover.rb#6
+class Spoom::Deadcode::Remover
+ # source://spoom//lib/spoom/deadcode/remover.rb#12
+ sig { params(context: ::Spoom::Context).void }
+ def initialize(context); end
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#17
+ sig { params(kind: ::Spoom::Deadcode::Definition::Kind, location: ::Spoom::Deadcode::Location).void }
+ def remove_location(kind, location); end
+end
+
+# source://spoom//lib/spoom/deadcode/remover.rb#9
+class Spoom::Deadcode::Remover::Error < ::Spoom::Error; end
+
+# source://spoom//lib/spoom/deadcode/remover.rb#348
+class Spoom::Deadcode::Remover::NodeContext
+ # source://spoom//lib/spoom/deadcode/remover.rb#358
+ sig { params(source: ::String, node: ::SyntaxTree::Node, nesting: T::Array[::SyntaxTree::Node]).void }
+ def initialize(source, node, nesting); end
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#467
+ sig { returns(T::Array[::SyntaxTree::Node]) }
+ def attached_comments_and_sigs; end
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#480
+ sig { returns(T.nilable(::SyntaxTree::MethodAddBlock)) }
+ def attached_sig; end
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#460
+ sig { params(comment: ::SyntaxTree::Node, node: ::SyntaxTree::Node).returns(T::Boolean) }
+ def comment_for_node?(comment, node); end
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#355
+ sig { returns(T::Array[::SyntaxTree::Node]) }
+ def nesting; end
+
+ # @return [Array]
+ #
+ # source://spoom//lib/spoom/deadcode/remover.rb#355
+ def nesting=(_arg0); end
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#407
+ sig { returns(T.nilable(::SyntaxTree::Node)) }
+ def next_node; end
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#397
+ sig { returns(T::Array[::SyntaxTree::Node]) }
+ def next_nodes; end
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#352
+ sig { returns(::SyntaxTree::Node) }
+ def node; end
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#495
+ sig { params(node: T.any(::Symbol, ::SyntaxTree::Node)).returns(::String) }
+ def node_string(node); end
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#373
+ sig { returns(::Spoom::Deadcode::Remover::NodeContext) }
+ def parent_context; end
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#365
+ sig { returns(::SyntaxTree::Node) }
+ def parent_node; end
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#392
+ sig { returns(T.nilable(::SyntaxTree::Node)) }
+ def previous_node; end
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#382
+ sig { returns(T::Array[::SyntaxTree::Node]) }
+ def previous_nodes; end
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#412
+ sig { returns(T.nilable(::Spoom::Deadcode::Remover::NodeContext)) }
+ def sclass_context; end
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#451
+ sig { params(node: T.nilable(::SyntaxTree::Node)).returns(T::Boolean) }
+ def sorbet_extend_sig?(node); end
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#438
+ sig { params(node: T.nilable(::SyntaxTree::Node)).returns(T::Boolean) }
+ def sorbet_signature?(node); end
+end
+
+# source://spoom//lib/spoom/deadcode/remover.rb#505
+class Spoom::Deadcode::Remover::NodeFinder < ::SyntaxTree::Visitor
+ # source://spoom//lib/spoom/deadcode/remover.rb#554
+ sig { params(location: ::Spoom::Deadcode::Location).void }
+ def initialize(location); end
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#548
+ sig { returns(T.nilable(::SyntaxTree::Node)) }
+ def node; end
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#551
+ sig { returns(T::Array[::SyntaxTree::Node]) }
+ def nodes_nesting; end
+
+ # @return [Array]
+ #
+ # source://spoom//lib/spoom/deadcode/remover.rb#551
+ def nodes_nesting=(_arg0); end
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#562
+ sig { override.params(node: T.nilable(::SyntaxTree::Node)).void }
+ def visit(node); end
+
+ private
+
+ # TODO: remove once SyntaxTree location are fixed
+ #
+ # source://spoom//lib/spoom/deadcode/remover.rb#601
+ sig { params(node: ::SyntaxTree::Node, nodes: T::Array[::SyntaxTree::Node]).returns(::Spoom::Deadcode::Location) }
+ def location_from_children(node, nodes); end
+
+ # TODO: remove once SyntaxTree location are fixed
+ #
+ # source://spoom//lib/spoom/deadcode/remover.rb#586
+ sig { params(node: ::SyntaxTree::Node).returns(::Spoom::Deadcode::Location) }
+ def location_from_node(node); end
+
+ class << self
+ # source://spoom//lib/spoom/deadcode/remover.rb#512
+ sig do
+ params(
+ source: ::String,
+ location: ::Spoom::Deadcode::Location,
+ kind: ::Spoom::Deadcode::Definition::Kind
+ ).returns(::Spoom::Deadcode::Remover::NodeContext)
+ end
+ def find(source, location, kind); end
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#531
+ sig { params(node: ::SyntaxTree::Node, kind: ::Spoom::Deadcode::Definition::Kind).returns(T::Boolean) }
+ def node_match_kind?(node, kind); end
+ end
+end
+
+# source://spoom//lib/spoom/deadcode/remover.rb#29
+class Spoom::Deadcode::Remover::NodeRemover
+ # source://spoom//lib/spoom/deadcode/remover.rb#36
+ sig do
+ params(
+ source: ::String,
+ kind: ::Spoom::Deadcode::Definition::Kind,
+ location: ::Spoom::Deadcode::Location
+ ).void
+ end
+ def initialize(source, kind, location); end
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#46
+ sig { void }
+ def apply_edit; end
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#33
+ sig { returns(::String) }
+ def new_source; end
+
+ private
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#142
+ sig { params(context: ::Spoom::Deadcode::Remover::NodeContext).void }
+ def delete_attr_accessor(context); end
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#290
+ sig { params(start_char: ::Integer, end_char: ::Integer).void }
+ def delete_chars(start_char, end_char); end
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#69
+ sig { params(context: ::Spoom::Deadcode::Remover::NodeContext).void }
+ def delete_constant_assignment(context); end
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#300
+ sig { params(line_number: ::Integer, start_column: ::Integer, end_column: ::Integer).void }
+ def delete_line_part(line_number, start_column, end_column); end
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#283
+ sig { params(start_line: ::Integer, end_line: ::Integer).void }
+ def delete_lines(start_line, end_line); end
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#250
+ sig { params(context: ::Spoom::Deadcode::Remover::NodeContext).void }
+ def delete_node_and_comments_and_sigs(context); end
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#207
+ sig do
+ params(
+ node: ::SyntaxTree::Node,
+ send_context: ::Spoom::Deadcode::Remover::NodeContext,
+ was_removed: T::Boolean
+ ).void
+ end
+ def insert_accessor(node, send_context, was_removed:); end
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#295
+ sig { params(start_char: ::Integer, end_char: ::Integer, replacement: ::String).void }
+ def replace_chars(start_char, end_char, replacement); end
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#315
+ sig do
+ params(
+ node: ::SyntaxTree::MethodAddBlock,
+ name: ::String,
+ kind: ::Spoom::Deadcode::Definition::Kind
+ ).returns(::String)
+ end
+ def transform_sig(node, name:, kind:); end
+end
+
+# An abstraction to simplify handling of SyntaxTree::CallNode, SyntaxTree::Command, SyntaxTree::CommandCall and
+# SyntaxTree::VCall nodes.
+#
+# source://spoom//lib/spoom/deadcode/send.rb#8
+class Spoom::Deadcode::Send < ::T::Struct
+ const :node, ::SyntaxTree::Node
+ const :name, ::String
+ const :recv, T.nilable(::SyntaxTree::Node), default: T.unsafe(nil)
+ const :args, T::Array[::SyntaxTree::Node], default: T.unsafe(nil)
+ const :block, T.nilable(::SyntaxTree::Node), default: T.unsafe(nil)
+
+ # source://spoom//lib/spoom/deadcode/send.rb#22
+ sig do
+ type_parameters(:T)
+ .params(
+ arg_type: T::Class[T.type_parameter(:T)],
+ block: T.proc.params(arg: T.type_parameter(:T)).void
+ ).void
+ end
+ def each_arg(arg_type, &block); end
+
+ # source://spoom//lib/spoom/deadcode/send.rb#29
+ sig { params(block: T.proc.params(key: ::SyntaxTree::Node, value: T.nilable(::SyntaxTree::Node)).void).void }
+ def each_arg_assoc(&block); end
+
+ class << self
+ # source://sorbet-runtime/0.5.11143/lib/types/struct.rb#13
+ def inherited(s); end
end
end
@@ -1362,7 +2613,7 @@ class Spoom::ExecResult < ::T::Struct
def to_s; end
class << self
- # source://sorbet-runtime/0.5.10875/lib/types/struct.rb#13
+ # source://sorbet-runtime/0.5.11143/lib/types/struct.rb#13
def inherited(s); end
end
end
@@ -1374,41 +2625,55 @@ class Spoom::FileCollector
# If `allow_extensions` is empty, all files are collected.
# If `allow_extensions` is an array of extensions, only files with one of these extensions are collected.
#
- # source://spoom//lib/spoom/file_collector.rb#21
- sig { params(allow_extensions: T::Array[::String], exclude_patterns: T::Array[::String]).void }
- def initialize(allow_extensions: T.unsafe(nil), exclude_patterns: T.unsafe(nil)); end
+ # If `allow_mime_types` is empty, all files are collected.
+ # If `allow_mime_types` is an array of mimetypes, files without an extension are collected if their mimetype is in
+ # the list.
+ #
+ # source://spoom//lib/spoom/file_collector.rb#26
+ sig do
+ params(
+ allow_extensions: T::Array[::String],
+ allow_mime_types: T::Array[::String],
+ exclude_patterns: T::Array[::String]
+ ).void
+ end
+ def initialize(allow_extensions: T.unsafe(nil), allow_mime_types: T.unsafe(nil), exclude_patterns: T.unsafe(nil)); end
# source://spoom//lib/spoom/file_collector.rb#9
sig { returns(T::Array[::String]) }
def files; end
- # source://spoom//lib/spoom/file_collector.rb#33
+ # source://spoom//lib/spoom/file_collector.rb#39
sig { params(path: ::String).void }
def visit_path(path); end
- # source://spoom//lib/spoom/file_collector.rb#28
+ # source://spoom//lib/spoom/file_collector.rb#34
sig { params(paths: T::Array[::String]).void }
def visit_paths(paths); end
private
- # source://spoom//lib/spoom/file_collector.rb#50
+ # source://spoom//lib/spoom/file_collector.rb#56
sig { params(path: ::String).returns(::String) }
def clean_path(path); end
- # source://spoom//lib/spoom/file_collector.rb#67
+ # source://spoom//lib/spoom/file_collector.rb#73
sig { params(path: ::String).returns(T::Boolean) }
def excluded_file?(path); end
- # source://spoom//lib/spoom/file_collector.rb#75
+ # source://spoom//lib/spoom/file_collector.rb#88
sig { params(path: ::String).returns(T::Boolean) }
def excluded_path?(path); end
- # source://spoom//lib/spoom/file_collector.rb#62
+ # source://spoom//lib/spoom/file_collector.rb#97
+ sig { params(path: ::String).returns(T.nilable(::String)) }
+ def mime_type_for(path); end
+
+ # source://spoom//lib/spoom/file_collector.rb#68
sig { params(path: ::String).void }
def visit_directory(path); end
- # source://spoom//lib/spoom/file_collector.rb#55
+ # source://spoom//lib/spoom/file_collector.rb#61
sig { params(path: ::String).void }
def visit_file(path); end
end
@@ -1556,7 +2821,7 @@ class Spoom::FileTree::Node < ::T::Struct
def path; end
class << self
- # source://sorbet-runtime/0.5.10875/lib/types/struct.rb#13
+ # source://sorbet-runtime/0.5.11143/lib/types/struct.rb#13
def inherited(s); end
end
end
@@ -1607,11 +2872,6 @@ class Spoom::FileTree::Visitor
# source://spoom//lib/spoom/file_tree.rb#124
sig { params(tree: ::Spoom::FileTree).void }
def visit_tree(tree); end
-
- class << self
- # source://sorbet-runtime/0.5.10875/lib/types/private/abstract/declare.rb#37
- def new(*args, **_arg1, &blk); end
- end
end
# source://spoom//lib/spoom/context/git.rb#5
@@ -1627,7 +2887,7 @@ class Spoom::Git::Commit < ::T::Struct
def timestamp; end
class << self
- # source://sorbet-runtime/0.5.10875/lib/types/struct.rb#13
+ # source://sorbet-runtime/0.5.11143/lib/types/struct.rb#13
def inherited(s); end
# Parse a line formated as `%h %at` into a `Commit`
@@ -1739,7 +2999,7 @@ class Spoom::LSP::Diagnostic < ::T::Struct
sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Diagnostic) }
def from_json(json); end
- # source://sorbet-runtime/0.5.10875/lib/types/struct.rb#13
+ # source://sorbet-runtime/0.5.11143/lib/types/struct.rb#13
def inherited(s); end
end
end
@@ -1772,7 +3032,7 @@ class Spoom::LSP::DocumentSymbol < ::T::Struct
sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::DocumentSymbol) }
def from_json(json); end
- # source://sorbet-runtime/0.5.10875/lib/types/struct.rb#13
+ # source://sorbet-runtime/0.5.11143/lib/types/struct.rb#13
def inherited(s); end
end
end
@@ -1830,7 +3090,7 @@ class Spoom::LSP::Hover < ::T::Struct
sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Hover) }
def from_json(json); end
- # source://sorbet-runtime/0.5.10875/lib/types/struct.rb#13
+ # source://sorbet-runtime/0.5.11143/lib/types/struct.rb#13
def inherited(s); end
end
end
@@ -1855,7 +3115,7 @@ class Spoom::LSP::Location < ::T::Struct
sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Location) }
def from_json(json); end
- # source://sorbet-runtime/0.5.10875/lib/types/struct.rb#13
+ # source://sorbet-runtime/0.5.11143/lib/types/struct.rb#13
def inherited(s); end
end
end
@@ -1866,19 +3126,15 @@ end
#
# source://spoom//lib/spoom/sorbet/lsp/base.rb#12
class Spoom::LSP::Message
- # source://spoom//lib/spoom/sorbet/lsp/base.rb#19
+ # source://spoom//lib/spoom/sorbet/lsp/base.rb#16
sig { void }
def initialize; end
- # source://spoom//lib/spoom/sorbet/lsp/base.rb#24
+ # source://spoom//lib/spoom/sorbet/lsp/base.rb#21
sig { returns(T::Hash[T.untyped, T.untyped]) }
def as_json; end
- # source://spoom//lib/spoom/sorbet/lsp/base.rb#16
- sig { returns(::String) }
- def jsonrpc; end
-
- # source://spoom//lib/spoom/sorbet/lsp/base.rb#32
+ # source://spoom//lib/spoom/sorbet/lsp/base.rb#29
sig { params(args: T.untyped).returns(::String) }
def to_json(*args); end
end
@@ -1887,17 +3143,17 @@ end
#
# A processed notification message must not send a response back. They work like events.
#
-# source://spoom//lib/spoom/sorbet/lsp/base.rb#64
+# source://spoom//lib/spoom/sorbet/lsp/base.rb#58
class Spoom::LSP::Notification < ::Spoom::LSP::Message
- # source://spoom//lib/spoom/sorbet/lsp/base.rb#74
+ # source://spoom//lib/spoom/sorbet/lsp/base.rb#68
sig { params(method: ::String, params: T::Hash[T.untyped, T.untyped]).void }
def initialize(method, params); end
- # source://spoom//lib/spoom/sorbet/lsp/base.rb#68
+ # source://spoom//lib/spoom/sorbet/lsp/base.rb#62
sig { returns(::String) }
def method; end
- # source://spoom//lib/spoom/sorbet/lsp/base.rb#71
+ # source://spoom//lib/spoom/sorbet/lsp/base.rb#65
sig { returns(T::Hash[T.untyped, T.untyped]) }
def params; end
end
@@ -1922,7 +3178,7 @@ class Spoom::LSP::Position < ::T::Struct
sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Position) }
def from_json(json); end
- # source://sorbet-runtime/0.5.10875/lib/types/struct.rb#13
+ # source://sorbet-runtime/0.5.11143/lib/types/struct.rb#13
def inherited(s); end
end
end
@@ -1960,7 +3216,7 @@ class Spoom::LSP::Range < ::T::Struct
sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Range) }
def from_json(json); end
- # source://sorbet-runtime/0.5.10875/lib/types/struct.rb#13
+ # source://sorbet-runtime/0.5.11143/lib/types/struct.rb#13
def inherited(s); end
end
end
@@ -1969,21 +3225,17 @@ end
#
# Every processed request must send a response back to the sender of the request.
#
-# source://spoom//lib/spoom/sorbet/lsp/base.rb#40
+# source://spoom//lib/spoom/sorbet/lsp/base.rb#37
class Spoom::LSP::Request < ::Spoom::LSP::Message
- # source://spoom//lib/spoom/sorbet/lsp/base.rb#53
+ # source://spoom//lib/spoom/sorbet/lsp/base.rb#47
sig { params(id: ::Integer, method: ::String, params: T::Hash[T.untyped, T.untyped]).void }
def initialize(id, method, params); end
- # source://spoom//lib/spoom/sorbet/lsp/base.rb#44
+ # source://spoom//lib/spoom/sorbet/lsp/base.rb#41
sig { returns(::Integer) }
def id; end
- # source://spoom//lib/spoom/sorbet/lsp/base.rb#47
- sig { returns(::String) }
- def method; end
-
- # source://spoom//lib/spoom/sorbet/lsp/base.rb#50
+ # source://spoom//lib/spoom/sorbet/lsp/base.rb#44
sig { returns(T::Hash[T.untyped, T.untyped]) }
def params; end
end
@@ -2030,7 +3282,7 @@ class Spoom::LSP::SignatureHelp < ::T::Struct
sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::SignatureHelp) }
def from_json(json); end
- # source://sorbet-runtime/0.5.10875/lib/types/struct.rb#13
+ # source://sorbet-runtime/0.5.11143/lib/types/struct.rb#13
def inherited(s); end
end
end
@@ -2076,55 +3328,46 @@ class Spoom::LSP::SymbolPrinter < ::Spoom::Printer
# source://spoom//lib/spoom/sorbet/lsp/structures.rb#313
sig { returns(T::Set[::Integer]) }
def seen; end
-
- # @return [Set]
- #
- # source://spoom//lib/spoom/sorbet/lsp/structures.rb#313
- def seen=(_arg0); end
end
-# @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
-#
# source://spoom//lib/spoom/printer.rb#7
class Spoom::Printer
include ::Spoom::Colorize
- abstract!
-
- # source://spoom//lib/spoom/printer.rb#19
+ # source://spoom//lib/spoom/printer.rb#17
sig { params(out: T.any(::IO, ::StringIO), colors: T::Boolean, indent_level: ::Integer).void }
def initialize(out: T.unsafe(nil), colors: T.unsafe(nil), indent_level: T.unsafe(nil)); end
# Colorize `string` with color if `@colors`
#
- # source://spoom//lib/spoom/printer.rb#80
+ # source://spoom//lib/spoom/printer.rb#78
sig { params(string: ::String, color: ::Spoom::Color).returns(::String) }
def colorize(string, *color); end
# Decrease indent level
#
- # source://spoom//lib/spoom/printer.rb#33
+ # source://spoom//lib/spoom/printer.rb#31
sig { void }
def dedent; end
# Increase indent level
#
- # source://spoom//lib/spoom/printer.rb#27
+ # source://spoom//lib/spoom/printer.rb#25
sig { void }
def indent; end
- # source://spoom//lib/spoom/printer.rb#16
+ # source://spoom//lib/spoom/printer.rb#14
sig { returns(T.any(::IO, ::StringIO)) }
def out; end
# @return [IO, StringIO]
#
- # source://spoom//lib/spoom/printer.rb#16
+ # source://spoom//lib/spoom/printer.rb#14
def out=(_arg0); end
# Print `string` into `out`
#
- # source://spoom//lib/spoom/printer.rb#39
+ # source://spoom//lib/spoom/printer.rb#37
sig { params(string: T.nilable(::String)).void }
def print(string); end
@@ -2132,32 +3375,27 @@ class Spoom::Printer
#
# Does not use colors unless `@colors`.
#
- # source://spoom//lib/spoom/printer.rb#49
+ # source://spoom//lib/spoom/printer.rb#47
sig { params(string: T.nilable(::String), color: ::Spoom::Color).void }
def print_colored(string, *color); end
# Print `string` with indent and newline
#
- # source://spoom//lib/spoom/printer.rb#64
+ # source://spoom//lib/spoom/printer.rb#62
sig { params(string: T.nilable(::String)).void }
def printl(string); end
# Print a new line into `out`
#
- # source://spoom//lib/spoom/printer.rb#58
+ # source://spoom//lib/spoom/printer.rb#56
sig { void }
def printn; end
# Print an indent space into `out`
#
- # source://spoom//lib/spoom/printer.rb#74
+ # source://spoom//lib/spoom/printer.rb#72
sig { void }
def printt; end
-
- class << self
- # source://sorbet-runtime/0.5.10875/lib/types/private/abstract/declare.rb#37
- def new(*args, **_arg1, &blk); end
- end
end
# source://spoom//lib/spoom.rb#10
@@ -2166,7 +3404,7 @@ Spoom::SPOOM_PATH = T.let(T.unsafe(nil), String)
# source://spoom//lib/spoom/sorbet/config.rb#5
module Spoom::Sorbet; end
-# source://spoom//lib/spoom/sorbet.rb#38
+# source://spoom//lib/spoom/sorbet.rb#39
Spoom::Sorbet::BIN_PATH = T.let(T.unsafe(nil), String)
# source://spoom//lib/spoom/sorbet.rb#36
@@ -2409,7 +3647,10 @@ Spoom::Sorbet::Errors::Parser::HEADER = T.let(T.unsafe(nil), Array)
# source://spoom//lib/spoom/sorbet.rb#37
Spoom::Sorbet::GEM_PATH = T.let(T.unsafe(nil), String)
-# source://spoom//lib/spoom/sorbet.rb#40
+# source://spoom//lib/spoom/sorbet.rb#38
+Spoom::Sorbet::GEM_VERSION = T.let(T.unsafe(nil), String)
+
+# source://spoom//lib/spoom/sorbet.rb#41
Spoom::Sorbet::KILLED_CODE = T.let(T.unsafe(nil), Integer)
# source://spoom//lib/spoom/sorbet/metrics.rb#8
@@ -2432,7 +3673,7 @@ end
# source://spoom//lib/spoom/sorbet/metrics.rb#9
Spoom::Sorbet::MetricsParser::DEFAULT_PREFIX = T.let(T.unsafe(nil), String)
-# source://spoom//lib/spoom/sorbet.rb#41
+# source://spoom//lib/spoom/sorbet.rb#42
Spoom::Sorbet::SEGFAULT_CODE = T.let(T.unsafe(nil), Integer)
# source://spoom//lib/spoom/sorbet/sigils.rb#9
diff --git a/sorbet/rbi/gems/syntax_tree@6.2.0.rbi b/sorbet/rbi/gems/syntax_tree@6.2.0.rbi
new file mode 100644
index 00000000..0ecc1a41
--- /dev/null
+++ b/sorbet/rbi/gems/syntax_tree@6.2.0.rbi
@@ -0,0 +1,23136 @@
+# 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#60
+ 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#76
+ 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#86
+ 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#103
+ 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#110
+ def index_file(filepath); end
+
+ # A convenience method for creating a new mutation visitor.
+ #
+ # @yield [visitor]
+ #
+ # source://syntax_tree//lib/syntax_tree.rb#115
+ def mutation; end
+
+ # Parses the given source and returns the syntax tree.
+ #
+ # source://syntax_tree//lib/syntax_tree.rb#122
+ def parse(source); end
+
+ # Parses the given file and returns the syntax tree.
+ #
+ # source://syntax_tree//lib/syntax_tree.rb#129
+ 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#135
+ 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#150
+ 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#156
+ 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#165
+ 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 | ConstPathRef] 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#4312
+class SyntaxTree::BlockNode < ::SyntaxTree::Node
+ # @return [BlockNode] a new instance of BlockNode
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#4347
+ def initialize(opening:, block_var:, bodystmt:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4420
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4355
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4429
+ def arity; end
+
+ # [nil | BlockVar] the optional variable declaration within this block
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#4339
+ def block_var; end
+
+ # [BodyStmt | Statements] the expressions to be executed within this block
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#4342
+ def bodystmt; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4359
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#4345
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4363
+ 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#4359
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4378
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4388
+ def format(q); end
+
+ # @return [Boolean]
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#4425
+ def keywords?; end
+
+ # [LBrace | Kw] the left brace or the do keyword that opens this block
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#4336
+ 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#4471
+ 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#4460
+ def forced_do_end_bounds?(q); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4487
+ def format_break(q, break_opening, break_closing); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4507
+ 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#4442
+ def unchangeable_bounds?(q); end
+end
+
+# Formats the opening brace or keyword of a block.
+#
+# source://syntax_tree//lib/syntax_tree/node.rb#4314
+class SyntaxTree::BlockNode::BlockOpenFormatter
+ # @return [BlockOpenFormatter] a new instance of BlockOpenFormatter
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#4321
+ def initialize(text, node); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4326
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4330
+ def format(q); end
+
+ # [LBrace | Keyword] the node that is being represented
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#4319
+ def node; end
+
+ # [String] the actual output that should be printed
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#4316
+ 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#4046
+class SyntaxTree::CVar < ::SyntaxTree::Node
+ # @return [CVar] a new instance of CVar
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#4053
+ def initialize(value:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4088
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4059
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4063
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#4051
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4067
+ def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4063
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4080
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4084
+ def format(q); end
+
+ # [String] the name of the class variable
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#4048
+ 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#2898
+ def attach_directly?(node); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#2908
+ 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#2879
+ def chained?(node); end
+ end
+end
+
+# CallNode represents a method call.
+#
+# receiver.message
+#
+# source://syntax_tree//lib/syntax_tree/node.rb#2946
+class SyntaxTree::CallNode < ::SyntaxTree::Node
+ # @return [CallNode] a new instance of CallNode
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#2962
+ def initialize(receiver:, operator:, message:, arguments:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3057
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#2971
+ def accept(visitor); end
+
+ # [nil | ArgParen | Args] the arguments to the method call
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#2957
+ def arguments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3103
+ def arity; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#2975
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#2960
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#2984
+ 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#2975
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3006
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3017
+ 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#3065
+ def format_arguments(q); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3075
+ def format_contents(q); end
+
+ # [:call | Backtick | Const | Ident | Op] the message being sent
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#2954
+ def message; end
+
+ # [nil | :"::" | Op | Period] the operator being used to send the message
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#2951
+ def operator; end
+
+ # [nil | Node] the receiver of the method call
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#2948
+ 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#3119
+class SyntaxTree::Case < ::SyntaxTree::Node
+ # @return [Case] a new instance of Case
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#3132
+ def initialize(keyword:, value:, consequent:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3190
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3140
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3144
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#3130
+ def comments; end
+
+ # [In | When] the next clause in the chain
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#3127
+ def consequent; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3148
+ 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#3144
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3163
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3173
+ def format(q); end
+
+ # [Kw] the keyword that opens this expression
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#3121
+ def keyword; end
+
+ # [nil | Node] optional value being switched on
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#3124
+ 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#3315
+class SyntaxTree::ClassDeclaration < ::SyntaxTree::Node
+ # @return [ClassDeclaration] a new instance of ClassDeclaration
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#3329
+ def initialize(constant:, superclass:, bodystmt:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3392
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3337
+ def accept(visitor); end
+
+ # [BodyStmt] the expressions to execute within the context of the class
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#3324
+ def bodystmt; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3341
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#3327
+ def comments; end
+
+ # [ConstPathRef | ConstRef | TopConstRef] the name of the class being
+ # defined
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#3318
+ def constant; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3345
+ 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#3341
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3360
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3370
+ def format(q); end
+
+ # [nil | Node] the optional superclass declaration
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#3321
+ def superclass; end
+
+ private
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3399
+ def format_declaration(q); end
+end
+
+# Comma represents the use of the , operator.
+#
+# source://syntax_tree//lib/syntax_tree/node.rb#3413
+class SyntaxTree::Comma < ::SyntaxTree::Node
+ # @return [Comma] a new instance of Comma
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#3417
+ def initialize(value:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3440
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3422
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3426
+ def child_nodes; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3430
+ def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3426
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3436
+ def deconstruct_keys(_keys); end
+
+ # [String] the comma in the string
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#3415
+ 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#3451
+class SyntaxTree::Command < ::SyntaxTree::Node
+ # @return [Command] a new instance of Command
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#3464
+ def initialize(message:, arguments:, block:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3514
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3472
+ def accept(visitor); end
+
+ # [Args] the arguments being sent with the message
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#3456
+ def arguments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3519
+ def arity; end
+
+ # [nil | BlockNode] the optional block being passed to the method
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#3459
+ def block; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3476
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#3462
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3480
+ 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#3476
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3495
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3505
+ def format(q); end
+
+ # [Const | Ident] the message being sent to the implicit receiver
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#3453
+ def message; end
+
+ private
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3525
+ 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#3563
+class SyntaxTree::CommandCall < ::SyntaxTree::Node
+ # @return [CommandCall] a new instance of CommandCall
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#3582
+ def initialize(receiver:, operator:, message:, arguments:, block:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3686
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3599
+ def accept(visitor); end
+
+ # [nil | Args | ArgParen] the arguments going along with the message
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#3574
+ def arguments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3692
+ def arity; end
+
+ # [nil | BlockNode] the block associated with this method call
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#3577
+ def block; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3603
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#3580
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3607
+ 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#3603
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3631
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3643
+ def format(q); end
+
+ # [:call | Const | Ident | Op] the message being send
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#3571
+ def message; end
+
+ # [nil | :"::" | Op | Period] the operator used to send the message
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#3568
+ def operator; end
+
+ # [nil | Node] the receiver of the message
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#3565
+ def receiver; end
+
+ private
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3698
+ def argument_alignment(q, doc); end
+end
+
+# Comment represents a comment in the source.
+#
+# # comment
+#
+# source://syntax_tree//lib/syntax_tree/node.rb#3725
+class SyntaxTree::Comment < ::SyntaxTree::Node
+ # @return [Comment] a new instance of Comment
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#3734
+ def initialize(value:, inline:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3793
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3767
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3771
+ def child_nodes; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3763
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3775
+ def copy(value: T.unsafe(nil), inline: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3771
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3785
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3789
+ def format(q); end
+
+ # @return [Boolean]
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#3759
+ 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#3731
+ 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#3731
+ def inline?; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3743
+ def leading!; end
+
+ # @return [Boolean]
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#3747
+ def leading?; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3751
+ def trailing!; end
+
+ # @return [Boolean]
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#3755
+ def trailing?; end
+
+ # [String] the contents of the comment
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#3727
+ def value; end
+end
+
+# Formats an If or Unless node.
+#
+# source://syntax_tree//lib/syntax_tree/node.rb#6317
+class SyntaxTree::ConditionalFormatter
+ # @return [ConditionalFormatter] a new instance of ConditionalFormatter
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#6324
+ def initialize(keyword, node); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6329
+ def format(q); end
+
+ # [String] the keyword associated with this conditional
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#6319
+ def keyword; end
+
+ # [If | Unless] the node that is being formatted
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#6322
+ def node; end
+
+ private
+
+ # @return [Boolean]
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#6453
+ def contains_conditional?; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6388
+ def format_break(q, force:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6380
+ def format_flat(q); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6408
+ 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#3812
+class SyntaxTree::Const < ::SyntaxTree::Node
+ # @return [Const] a new instance of Const
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#3819
+ def initialize(value:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3854
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3825
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3829
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#3817
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3833
+ def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3829
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3846
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3850
+ def format(q); end
+
+ # [String] the name of the constant
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#3814
+ 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#3865
+class SyntaxTree::ConstPathField < ::SyntaxTree::Node
+ # @return [ConstPathField] a new instance of ConstPathField
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#3875
+ def initialize(parent:, constant:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3919
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3882
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3886
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#3873
+ def comments; end
+
+ # [Const] the constant itself
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#3870
+ def constant; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3890
+ def copy(parent: T.unsafe(nil), constant: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3886
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3904
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3913
+ def format(q); end
+
+ # [Node] the source of the constant
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#3867
+ def parent; end
+end
+
+# ConstPathRef represents referencing a constant by a path.
+#
+# object::Const
+#
+# source://syntax_tree//lib/syntax_tree/node.rb#3929
+class SyntaxTree::ConstPathRef < ::SyntaxTree::Node
+ # @return [ConstPathRef] a new instance of ConstPathRef
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#3939
+ def initialize(parent:, constant:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3983
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3946
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3950
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#3937
+ def comments; end
+
+ # [Const] the constant itself
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#3934
+ def constant; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3954
+ def copy(parent: T.unsafe(nil), constant: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3950
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3968
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3977
+ def format(q); end
+
+ # [Node] the source of the constant
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#3931
+ 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#3995
+class SyntaxTree::ConstRef < ::SyntaxTree::Node
+ # @return [ConstRef] a new instance of ConstRef
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#4002
+ def initialize(constant:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4037
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4008
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4012
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#4000
+ def comments; end
+
+ # [Const] the constant itself
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#3997
+ def constant; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4016
+ def copy(constant: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4012
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4029
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4033
+ 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#6232
+module SyntaxTree::ContainsAssignment
+ class << self
+ # source://syntax_tree//lib/syntax_tree/node.rb#6233
+ 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#57
+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#49
+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#53
+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
+
+# Provides the ability to index source files into a database, then query for
+# the nodes.
+#
+# source://syntax_tree//lib/syntax_tree/database.rb#6
+module SyntaxTree::Database; end
+
+# Query for the attributes of a node, optionally also filtering by type.
+#
+# source://syntax_tree//lib/syntax_tree/database.rb#99
+class SyntaxTree::Database::AttrQuery
+ # @return [AttrQuery] a new instance of AttrQuery
+ #
+ # source://syntax_tree//lib/syntax_tree/database.rb#102
+ def initialize(type, attrs); end
+
+ # Returns the value of attribute attrs.
+ #
+ # source://syntax_tree//lib/syntax_tree/database.rb#100
+ def attrs; end
+
+ # source://syntax_tree//lib/syntax_tree/database.rb#107
+ def each(database, &block); end
+
+ # Returns the value of attribute type.
+ #
+ # source://syntax_tree//lib/syntax_tree/database.rb#100
+ def type; end
+end
+
+# source://syntax_tree//lib/syntax_tree/database.rb#276
+class SyntaxTree::Database::Connection
+ # @return [Connection] a new instance of Connection
+ #
+ # source://syntax_tree//lib/syntax_tree/database.rb#279
+ def initialize(raw_connection); end
+
+ # source://syntax_tree//lib/syntax_tree/database.rb#283
+ def execute(query, binds = T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/database.rb#287
+ def index_file(filepath); end
+
+ # source://syntax_tree//lib/syntax_tree/database.rb#292
+ def last_insert_row_id; end
+
+ # source://syntax_tree//lib/syntax_tree/database.rb#296
+ def prepare; end
+
+ # Returns the value of attribute raw_connection.
+ #
+ # source://syntax_tree//lib/syntax_tree/database.rb#277
+ def raw_connection; end
+
+ # source://syntax_tree//lib/syntax_tree/database.rb#326
+ def search(query); end
+end
+
+# source://syntax_tree//lib/syntax_tree/database.rb#7
+class SyntaxTree::Database::IndexingVisitor < ::SyntaxTree::FieldVisitor
+ # @return [IndexingVisitor] a new instance of IndexingVisitor
+ #
+ # source://syntax_tree//lib/syntax_tree/database.rb#10
+ def initialize(database, filepath); end
+
+ # Returns the value of attribute database.
+ #
+ # source://syntax_tree//lib/syntax_tree/database.rb#8
+ def database; end
+
+ # Returns the value of attribute filepath.
+ #
+ # source://syntax_tree//lib/syntax_tree/database.rb#8
+ def filepath; end
+
+ # Returns the value of attribute node_id.
+ #
+ # source://syntax_tree//lib/syntax_tree/database.rb#8
+ def node_id; end
+
+ private
+
+ # source://syntax_tree//lib/syntax_tree/database.rb#18
+ def comments(node); end
+
+ # source://syntax_tree//lib/syntax_tree/database.rb#21
+ def field(name, value); end
+
+ # source://syntax_tree//lib/syntax_tree/database.rb#31
+ def list(name, values); end
+
+ # source://syntax_tree//lib/syntax_tree/database.rb#41
+ def node(node, _name); end
+
+ # source://syntax_tree//lib/syntax_tree/database.rb#67
+ def pairs(name, values); end
+
+ # source://syntax_tree//lib/syntax_tree/database.rb#64
+ def text(name, value); end
+end
+
+# Query for the results of either query.
+#
+# source://syntax_tree//lib/syntax_tree/database.rb#136
+class SyntaxTree::Database::OrQuery
+ # @return [OrQuery] a new instance of OrQuery
+ #
+ # source://syntax_tree//lib/syntax_tree/database.rb#139
+ def initialize(left, right); end
+
+ # source://syntax_tree//lib/syntax_tree/database.rb#144
+ def each(database, &block); end
+
+ # Returns the value of attribute left.
+ #
+ # source://syntax_tree//lib/syntax_tree/database.rb#137
+ def left; end
+
+ # Returns the value of attribute right.
+ #
+ # source://syntax_tree//lib/syntax_tree/database.rb#137
+ def right; end
+end
+
+# A pattern matching expression that will be compiled into a query.
+#
+# source://syntax_tree//lib/syntax_tree/database.rb#166
+class SyntaxTree::Database::Pattern
+ # @return [Pattern] a new instance of Pattern
+ #
+ # source://syntax_tree//lib/syntax_tree/database.rb#172
+ def initialize(query); end
+
+ # source://syntax_tree//lib/syntax_tree/database.rb#176
+ def compile; end
+
+ # Returns the value of attribute query.
+ #
+ # source://syntax_tree//lib/syntax_tree/database.rb#170
+ def query; end
+
+ private
+
+ # Shortcut for combining two queries into one that returns the results of
+ # if either query matches.
+ #
+ # source://syntax_tree//lib/syntax_tree/database.rb#195
+ def combine_or(left, right); end
+
+ # in foo | bar
+ #
+ # source://syntax_tree//lib/syntax_tree/database.rb#200
+ def compile_binary(node); end
+
+ # in Ident
+ #
+ # source://syntax_tree//lib/syntax_tree/database.rb#207
+ def compile_const(node); end
+
+ # in SyntaxTree::Ident
+ #
+ # source://syntax_tree//lib/syntax_tree/database.rb#219
+ def compile_const_path_ref(node); end
+
+ # @raise [CompilationError]
+ #
+ # source://syntax_tree//lib/syntax_tree/database.rb#189
+ def compile_error(node); end
+
+ # in Ident[value: String]
+ #
+ # source://syntax_tree//lib/syntax_tree/database.rb#234
+ def compile_hshptn(node); end
+
+ # source://syntax_tree//lib/syntax_tree/database.rb#258
+ def compile_node(node); end
+
+ # in Foo
+ #
+ # source://syntax_tree//lib/syntax_tree/database.rb#248
+ def compile_var_ref(node); end
+end
+
+# source://syntax_tree//lib/syntax_tree/database.rb#167
+class SyntaxTree::Database::Pattern::CompilationError < ::StandardError; end
+
+# A lazy query result.
+#
+# source://syntax_tree//lib/syntax_tree/database.rb#151
+class SyntaxTree::Database::QueryResult
+ # @return [QueryResult] a new instance of QueryResult
+ #
+ # source://syntax_tree//lib/syntax_tree/database.rb#154
+ def initialize(database, query); end
+
+ # Returns the value of attribute database.
+ #
+ # source://syntax_tree//lib/syntax_tree/database.rb#152
+ def database; end
+
+ # source://syntax_tree//lib/syntax_tree/database.rb#159
+ def each(&block); end
+
+ # Returns the value of attribute query.
+ #
+ # source://syntax_tree//lib/syntax_tree/database.rb#152
+ def query; end
+end
+
+# Query for a specific type of node.
+#
+# source://syntax_tree//lib/syntax_tree/database.rb#85
+class SyntaxTree::Database::TypeQuery
+ # @return [TypeQuery] a new instance of TypeQuery
+ #
+ # source://syntax_tree//lib/syntax_tree/database.rb#88
+ def initialize(type); end
+
+ # source://syntax_tree//lib/syntax_tree/database.rb#92
+ def each(database, &block); end
+
+ # Returns the value of attribute type.
+ #
+ # source://syntax_tree//lib/syntax_tree/database.rb#86
+ def type; 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#4098
+class SyntaxTree::DefNode < ::SyntaxTree::Node
+ # @return [DefNode] a new instance of DefNode
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#4117
+ def initialize(target:, operator:, name:, params:, bodystmt:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4217
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4127
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4230
+ def arity; end
+
+ # [BodyStmt | Node] the expressions to be executed by the method
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#4112
+ def bodystmt; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4131
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#4115
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4135
+ 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#4131
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4159
+ 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#4226
+ def endless?; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4171
+ def format(q); end
+
+ # [Backtick | Const | Ident | Kw | Op] the name of the method
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#4106
+ def name; end
+
+ # [nil | Op | Period] the operator being used to declare the method
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#4103
+ def operator; end
+
+ # [nil | Params | Paren] the parameter declaration for the method
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#4109
+ def params; end
+
+ # [nil | Node] the target where the method is being defined
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#4100
+ 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#4249
+class SyntaxTree::Defined < ::SyntaxTree::Node
+ # @return [Defined] a new instance of Defined
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#4256
+ def initialize(value:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4299
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4262
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4266
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#4254
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4270
+ def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4266
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4283
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4287
+ def format(q); end
+
+ # [Node] the value being sent to the keyword
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#4251
+ 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#4663
+class SyntaxTree::DynaSymbol < ::SyntaxTree::Node
+ # @return [DynaSymbol] a new instance of DynaSymbol
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#4674
+ def initialize(parts:, quote:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4736
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4681
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4685
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#4672
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4689
+ def copy(parts: T.unsafe(nil), quote: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4685
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4703
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4707
+ def format(q); end
+
+ # [Array[ StringDVar | StringEmbExpr | TStringContent ]] the parts of the
+ # dynamic symbol
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#4666
+ def parts; end
+
+ # [nil | String] the quote used to delimit the dynamic symbol
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#4669
+ 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#4746
+ 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#4792
+class SyntaxTree::Else < ::SyntaxTree::Node
+ # @return [Else] a new instance of Else
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#4802
+ def initialize(keyword:, statements:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4853
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4809
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4813
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#4800
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4817
+ def copy(keyword: T.unsafe(nil), statements: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4813
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4831
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4840
+ def format(q); end
+
+ # [Kw] the else keyword
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#4794
+ def keyword; end
+
+ # [Statements] the expressions to be executed
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#4797
+ 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#4865
+class SyntaxTree::Elsif < ::SyntaxTree::Node
+ # @return [Elsif] a new instance of Elsif
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#4878
+ def initialize(predicate:, statements:, consequent:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4942
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4886
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4890
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#4876
+ def comments; end
+
+ # [nil | Elsif | Else] the next clause in the chain
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#4873
+ def consequent; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4894
+ 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#4890
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4909
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4919
+ def format(q); end
+
+ # [Node] the expression to be checked
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#4867
+ def predicate; end
+
+ # [Statements] the expressions to be executed
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#4870
+ def statements; end
+end
+
+# EmbDoc represents a multi-line comment.
+#
+# =begin
+# first line
+# second line
+# =end
+#
+# source://syntax_tree//lib/syntax_tree/node.rb#4955
+class SyntaxTree::EmbDoc < ::SyntaxTree::Node
+ # @return [EmbDoc] a new instance of EmbDoc
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#4959
+ def initialize(value:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5027
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4995
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4999
+ def child_nodes; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4991
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5003
+ def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4999
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5012
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5016
+ def format(q); end
+
+ # @return [Boolean]
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#4987
+ def ignore?; end
+
+ # @return [Boolean]
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#4983
+ def inline?; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4967
+ def leading!; end
+
+ # @return [Boolean]
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#4971
+ def leading?; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4975
+ def trailing!; end
+
+ # @return [Boolean]
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#4979
+ def trailing?; end
+
+ # [String] the contents of the comment
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#4957
+ 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#5038
+class SyntaxTree::EmbExprBeg < ::SyntaxTree::Node
+ # @return [EmbExprBeg] a new instance of EmbExprBeg
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#5042
+ def initialize(value:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5068
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5047
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5051
+ def child_nodes; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5055
+ def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5051
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5064
+ def deconstruct_keys(_keys); end
+
+ # [String] the #{ used in the string
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#5040
+ 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#5079
+class SyntaxTree::EmbExprEnd < ::SyntaxTree::Node
+ # @return [EmbExprEnd] a new instance of EmbExprEnd
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#5083
+ def initialize(value:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5109
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5088
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5092
+ def child_nodes; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5096
+ def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5092
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5105
+ def deconstruct_keys(_keys); end
+
+ # [String] the } used in the string
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#5081
+ 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#5122
+class SyntaxTree::EmbVar < ::SyntaxTree::Node
+ # @return [EmbVar] a new instance of EmbVar
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#5126
+ def initialize(value:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5152
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5131
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5135
+ def child_nodes; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5139
+ def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5135
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5148
+ def deconstruct_keys(_keys); end
+
+ # [String] the # used in the string
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#5124
+ 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#5164
+class SyntaxTree::Ensure < ::SyntaxTree::Node
+ # @return [Ensure] a new instance of Ensure
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#5174
+ def initialize(keyword:, statements:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5223
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5181
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5185
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#5172
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5189
+ def copy(keyword: T.unsafe(nil), statements: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5185
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5203
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5212
+ def format(q); end
+
+ # [Kw] the ensure keyword that began this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#5166
+ def keyword; end
+
+ # [Statements] the expressions to be executed
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#5169
+ 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#5239
+class SyntaxTree::ExcessedComma < ::SyntaxTree::Node
+ # @return [ExcessedComma] a new instance of ExcessedComma
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#5246
+ def initialize(value:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5281
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5252
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5256
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#5244
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5260
+ def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5256
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5273
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5277
+ def format(q); end
+
+ # [String] the comma
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#5241
+ 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#5291
+class SyntaxTree::Field < ::SyntaxTree::Node
+ # @return [Field] a new instance of Field
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#5304
+ def initialize(parent:, operator:, name:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5354
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5312
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5316
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#5302
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5321
+ 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#5316
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5336
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5346
+ def format(q); end
+
+ # [Const | Ident] the name of the field being assigned
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#5299
+ def name; end
+
+ # [:"::" | Op | Period] the operator being used for the assignment
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#5296
+ def operator; end
+
+ # [Node] the parent object that owns the field being assigned
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#5293
+ 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#5364
+class SyntaxTree::FloatLiteral < ::SyntaxTree::Node
+ # @return [FloatLiteral] a new instance of FloatLiteral
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#5371
+ def initialize(value:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5406
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5377
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5381
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#5369
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5385
+ def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5381
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5398
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5402
+ def format(q); end
+
+ # [String] the value of the floating point number literal
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#5366
+ 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#5418
+class SyntaxTree::FndPtn < ::SyntaxTree::Node
+ # @return [FndPtn] a new instance of FndPtn
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#5435
+ def initialize(constant:, left:, values:, right:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5504
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5444
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5448
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#5433
+ def comments; end
+
+ # [nil | VarRef | ConstPathRef] the optional constant wrapper
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#5420
+ def constant; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5452
+ 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#5448
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5468
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5479
+ def format(q); end
+
+ # [VarField] the splat on the left-hand side
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#5423
+ def left; end
+
+ # [VarField] the splat on the right-hand side
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#5430
+ 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#5427
+ def values; end
+end
+
+# For represents using a +for+ loop.
+#
+# for value in list do
+# end
+#
+# source://syntax_tree//lib/syntax_tree/node.rb#5516
+class SyntaxTree::For < ::SyntaxTree::Node
+ # @return [For] a new instance of For
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#5530
+ def initialize(index:, collection:, statements:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5590
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5538
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5542
+ def child_nodes; end
+
+ # [Node] the object being enumerated in the loop
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#5522
+ def collection; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#5528
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5546
+ 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#5542
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5561
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5571
+ 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#5519
+ def index; end
+
+ # [Statements] the statements to be executed
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#5525
+ 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#5600
+class SyntaxTree::GVar < ::SyntaxTree::Node
+ # @return [GVar] a new instance of GVar
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#5607
+ def initialize(value:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5642
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5613
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5617
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#5605
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5621
+ def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5617
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5634
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5638
+ def format(q); end
+
+ # [String] the name of the global variable
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#5602
+ 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#43
+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#5651
+class SyntaxTree::HashLiteral < ::SyntaxTree::Node
+ # @return [HashLiteral] a new instance of HashLiteral
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#5687
+ def initialize(lbrace:, assocs:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5728
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5694
+ def accept(visitor); end
+
+ # [Array[ Assoc | AssocSplat ]] the optional contents of the hash
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#5682
+ def assocs; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5698
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#5685
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5702
+ def copy(lbrace: T.unsafe(nil), assocs: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5698
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5716
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5720
+ def format(q); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5733
+ def format_key(q, key); end
+
+ # [LBrace] the left brace that opens this hash
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#5679
+ 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#5741
+ def empty_with_comments?; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5745
+ 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#5655
+class SyntaxTree::HashLiteral::EmptyWithCommentsFormatter
+ # @return [EmptyWithCommentsFormatter] a new instance of EmptyWithCommentsFormatter
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#5659
+ def initialize(lbrace); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5663
+ def format(q); end
+
+ # [LBrace] the opening brace
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#5657
+ def lbrace; end
+end
+
+# Heredoc represents a heredoc string literal.
+#
+# <<~DOC
+# contents
+# DOC
+#
+# source://syntax_tree//lib/syntax_tree/node.rb#5774
+class SyntaxTree::Heredoc < ::SyntaxTree::Node
+ # @return [Heredoc] a new instance of Heredoc
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#5791
+ 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#5873
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5800
+ def accept(visitor); end
+
+ # [HeredocBeg] the opening of the heredoc
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#5776
+ def beginning; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5804
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#5789
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5808
+ 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#5804
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5823
+ def deconstruct_keys(_keys); end
+
+ # [Integer] how far to dedent the heredoc
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#5782
+ def dedent; end
+
+ # [HeredocEnd] the ending of the heredoc
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#5779
+ def ending; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5838
+ def format(q); end
+
+ # [Array[ StringEmbExpr | StringDVar | TStringContent ]] the parts of the
+ # heredoc string literal
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#5786
+ 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#5835
+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#5886
+class SyntaxTree::HeredocBeg < ::SyntaxTree::Node
+ # @return [HeredocBeg] a new instance of HeredocBeg
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#5893
+ def initialize(value:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5928
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5899
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5903
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#5891
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5907
+ def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5903
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5920
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5924
+ def format(q); end
+
+ # [String] the opening declaration of the heredoc
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#5888
+ 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#5940
+class SyntaxTree::HeredocEnd < ::SyntaxTree::Node
+ # @return [HeredocEnd] a new instance of HeredocEnd
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#5947
+ def initialize(value:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5982
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5953
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5957
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#5945
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5961
+ def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5957
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5974
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#5978
+ def format(q); end
+
+ # [String] the closing declaration of the heredoc
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#5942
+ 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#5994
+class SyntaxTree::HshPtn < ::SyntaxTree::Node
+ # @return [HshPtn] a new instance of HshPtn
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#6054
+ def initialize(constant:, keywords:, keyword_rest:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6147
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6062
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6066
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#6052
+ def comments; end
+
+ # [nil | VarRef | ConstPathRef] the optional constant wrapper
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#6042
+ def constant; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6070
+ 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#6066
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6085
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6095
+ def format(q); end
+
+ # [nil | VarField] an optional parameter to gather up all remaining keywords
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#6049
+ 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#6046
+ def keywords; end
+
+ private
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6158
+ 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#5996
+class SyntaxTree::HshPtn::KeywordFormatter
+ # @return [KeywordFormatter] a new instance of KeywordFormatter
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#6003
+ def initialize(key, value); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6008
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6012
+ def format(q); end
+
+ # [Label] the keyword being used
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#5998
+ def key; end
+
+ # [Node] the optional value for the keyword
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#6001
+ def value; end
+end
+
+# Formats the optional double-splat from the pattern.
+#
+# source://syntax_tree//lib/syntax_tree/node.rb#6023
+class SyntaxTree::HshPtn::KeywordRestFormatter
+ # @return [KeywordRestFormatter] a new instance of KeywordRestFormatter
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#6027
+ def initialize(keyword_rest); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6031
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6035
+ def format(q); end
+
+ # [VarField] the parameter that matches the remaining keywords
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#6025
+ def keyword_rest; end
+end
+
+# IVar represents an instance variable literal.
+#
+# @variable
+#
+# source://syntax_tree//lib/syntax_tree/node.rb#6878
+class SyntaxTree::IVar < ::SyntaxTree::Node
+ # @return [IVar] a new instance of IVar
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#6885
+ def initialize(value:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6920
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6891
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6895
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#6883
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6899
+ def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6895
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6912
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6916
+ def format(q); end
+
+ # [String] the name of the instance variable
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#6880
+ 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#6181
+class SyntaxTree::Ident < ::SyntaxTree::Node
+ # @return [Ident] a new instance of Ident
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#6188
+ def initialize(value:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6223
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6194
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6198
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#6186
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6202
+ def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6198
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6215
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6219
+ def format(q); end
+
+ # [String] the value of the identifier
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#6183
+ def value; end
+end
+
+# If represents the first clause in an +if+ chain.
+#
+# if predicate
+# end
+#
+# source://syntax_tree//lib/syntax_tree/node.rb#6471
+class SyntaxTree::IfNode < ::SyntaxTree::Node
+ # @return [IfNode] a new instance of IfNode
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#6484
+ def initialize(predicate:, statements:, consequent:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6529
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6492
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6496
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#6482
+ def comments; end
+
+ # [nil | Elsif | Else] the next clause in the chain
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#6479
+ def consequent; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6500
+ 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#6496
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6515
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6525
+ 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#6535
+ def modifier?; end
+
+ # [Node] the expression to be checked
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#6473
+ def predicate; end
+
+ # [Statements] the expressions to be executed
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#6476
+ def statements; end
+end
+
+# IfOp represents a ternary clause.
+#
+# predicate ? truthy : falsy
+#
+# source://syntax_tree//lib/syntax_tree/node.rb#6544
+class SyntaxTree::IfOp < ::SyntaxTree::Node
+ # @return [IfOp] a new instance of IfOp
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#6557
+ def initialize(predicate:, truthy:, falsy:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6631
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6565
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6569
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#6555
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6573
+ 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#6569
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6588
+ def deconstruct_keys(_keys); end
+
+ # [Node] the expression to be executed if the predicate is falsy
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#6552
+ def falsy; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6598
+ def format(q); end
+
+ # [Node] the expression to be checked
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#6546
+ def predicate; end
+
+ # [Node] the expression to be executed if the predicate is truthy
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#6549
+ def truthy; end
+
+ private
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6638
+ def format_break(q); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6661
+ def format_flat(q); end
+end
+
+# Imaginary represents an imaginary number literal.
+#
+# 1i
+#
+# source://syntax_tree//lib/syntax_tree/node.rb#6680
+class SyntaxTree::Imaginary < ::SyntaxTree::Node
+ # @return [Imaginary] a new instance of Imaginary
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#6687
+ def initialize(value:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6722
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6693
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6697
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#6685
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6701
+ def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6697
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6714
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6718
+ def format(q); end
+
+ # [String] the value of the imaginary number literal
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#6682
+ 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#6734
+class SyntaxTree::In < ::SyntaxTree::Node
+ # @return [In] a new instance of In
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#6747
+ def initialize(pattern:, statements:, consequent:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6812
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6755
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6759
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#6745
+ def comments; end
+
+ # [nil | In | Else] the next clause in the chain
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#6742
+ def consequent; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6763
+ 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#6759
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6778
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6788
+ def format(q); end
+
+ # [Node] the pattern to check against
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#6736
+ def pattern; end
+
+ # [Statements] the expressions to execute if the pattern matched
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#6739
+ 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#6822
+class SyntaxTree::Int < ::SyntaxTree::Node
+ # @return [Int] a new instance of Int
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#6829
+ def initialize(value:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6869
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6835
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6839
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#6827
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6843
+ def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6839
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6853
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6857
+ def format(q); end
+
+ # [String] the value of the integer
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#6824
+ 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#6938
+class SyntaxTree::Kw < ::SyntaxTree::Node
+ # @return [Kw] a new instance of Kw
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#6948
+ def initialize(value:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6981
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6955
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6959
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#6946
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6963
+ def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6959
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6973
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#6977
+ def format(q); end
+
+ # [Symbol] the symbol version of the value
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#6943
+ def name; end
+
+ # [String] the value of the keyword
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#6940
+ 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#6991
+class SyntaxTree::KwRestParam < ::SyntaxTree::Node
+ # @return [KwRestParam] a new instance of KwRestParam
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#6998
+ def initialize(name:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7034
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7004
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7008
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#6996
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7012
+ def copy(name: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7008
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7025
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7029
+ def format(q); end
+
+ # [nil | Ident] the name of the parameter
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#6993
+ def name; end
+end
+
+# LBrace represents the use of a left brace, i.e., {.
+#
+# source://syntax_tree//lib/syntax_tree/node.rb#7316
+class SyntaxTree::LBrace < ::SyntaxTree::Node
+ # @return [LBrace] a new instance of LBrace
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#7323
+ def initialize(value:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7358
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7329
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7333
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#7321
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7337
+ def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7333
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7350
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7354
+ def format(q); end
+
+ # [String] the left brace
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#7318
+ 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#7367
+ def default; end
+ end
+end
+
+# LBracket represents the use of a left bracket, i.e., [.
+#
+# source://syntax_tree//lib/syntax_tree/node.rb#7373
+class SyntaxTree::LBracket < ::SyntaxTree::Node
+ # @return [LBracket] a new instance of LBracket
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#7380
+ def initialize(value:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7415
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7386
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7390
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#7378
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7394
+ def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7390
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7407
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7411
+ def format(q); end
+
+ # [String] the left bracket
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#7375
+ 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#7424
+ def default; end
+ end
+end
+
+# LParen represents the use of a left parenthesis, i.e., (.
+#
+# source://syntax_tree//lib/syntax_tree/node.rb#7430
+class SyntaxTree::LParen < ::SyntaxTree::Node
+ # @return [LParen] a new instance of LParen
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#7437
+ def initialize(value:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7472
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7443
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7447
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#7435
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7451
+ def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7447
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7464
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7468
+ def format(q); end
+
+ # [String] the left parenthesis
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#7432
+ 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#7481
+ 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#7052
+class SyntaxTree::Label < ::SyntaxTree::Node
+ # @return [Label] a new instance of Label
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#7059
+ def initialize(value:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7094
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7065
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7069
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#7057
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7073
+ def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7069
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7086
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7090
+ def format(q); end
+
+ # [String] the value of the label
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#7054
+ 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#7106
+class SyntaxTree::LabelEnd < ::SyntaxTree::Node
+ # @return [LabelEnd] a new instance of LabelEnd
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#7110
+ def initialize(value:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7136
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7115
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7119
+ def child_nodes; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7123
+ def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7119
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7132
+ def deconstruct_keys(_keys); end
+
+ # [String] the end of the label
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#7108
+ 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#7145
+class SyntaxTree::Lambda < ::SyntaxTree::Node
+ # @return [Lambda] a new instance of Lambda
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#7155
+ def initialize(params:, statements:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7239
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7162
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7166
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#7153
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7170
+ def copy(params: T.unsafe(nil), statements: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7166
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7184
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7193
+ def format(q); end
+
+ # [LambdaVar | Paren] the parameter declaration for this lambda
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#7147
+ def params; end
+
+ # [BodyStmt | Statements] the expressions to be executed in this lambda
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#7150
+ 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#7253
+class SyntaxTree::LambdaVar < ::SyntaxTree::Node
+ # @return [LambdaVar] a new instance of LambdaVar
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#7263
+ def initialize(params:, locals:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7309
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7270
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7274
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#7261
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7278
+ def copy(params: T.unsafe(nil), locals: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7274
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7292
+ def deconstruct_keys(_keys); end
+
+ # @return [Boolean]
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#7296
+ def empty?; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7300
+ def format(q); end
+
+ # [Array[ Ident ]] the list of block-local variable declarations
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#7258
+ def locals; end
+
+ # [Params] the parameters being declared with the block
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#7255
+ 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#11378
+class SyntaxTree::LoopFormatter
+ # @return [LoopFormatter] a new instance of LoopFormatter
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#11385
+ def initialize(keyword, node); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11390
+ def format(q); end
+
+ # [String] the name of the keyword used for this loop
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#11380
+ def keyword; end
+
+ # [Until | While] the node that is being formatted
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#11383
+ def node; end
+
+ private
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11437
+ 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#7500
+class SyntaxTree::MAssign < ::SyntaxTree::Node
+ # @return [MAssign] a new instance of MAssign
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#7510
+ def initialize(target:, value:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7554
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7517
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7521
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#7508
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7525
+ def copy(target: T.unsafe(nil), value: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7521
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7539
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7543
+ def format(q); end
+
+ # [MLHS | MLHSParen] the target of the multiple assignment
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#7502
+ def target; end
+
+ # [Node] the value being assigned
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#7505
+ 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#7638
+class SyntaxTree::MLHS < ::SyntaxTree::Node
+ # @return [MLHS] a new instance of MLHS
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#7655
+ def initialize(parts:, location:, comma: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7693
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7662
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7666
+ 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#7650
+ 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#7650
+ def comma=(_arg0); end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#7653
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7670
+ def copy(parts: T.unsafe(nil), location: T.unsafe(nil), comma: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7666
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7684
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7688
+ 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#7645
+ 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#7704
+class SyntaxTree::MLHSParen < ::SyntaxTree::Node
+ # @return [MLHSParen] a new instance of MLHSParen
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#7716
+ def initialize(contents:, location:, comma: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7769
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7723
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7727
+ 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#7711
+ 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#7711
+ def comma=(_arg0); end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#7714
+ def comments; end
+
+ # [MLHS | MLHSParen] the contents inside of the parentheses
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#7706
+ def contents; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7731
+ def copy(contents: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7727
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7744
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7748
+ 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#7869
+class SyntaxTree::MRHS < ::SyntaxTree::Node
+ # @return [MRHS] a new instance of MRHS
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#7876
+ def initialize(parts:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7911
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7882
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7886
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#7874
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7890
+ def copy(parts: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7886
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7903
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7907
+ def format(q); end
+
+ # [Array[Node]] the parts that are being assigned
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#7871
+ 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#7563
+class SyntaxTree::MethodAddBlock < ::SyntaxTree::Node
+ # @return [MethodAddBlock] a new instance of MethodAddBlock
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#7573
+ def initialize(call:, block:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7622
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7580
+ def accept(visitor); end
+
+ # [BlockNode] the block being sent with the method call
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#7568
+ def block; end
+
+ # [ARef | CallNode | Command | CommandCall | Super | ZSuper] the method call
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#7565
+ def call; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7584
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#7571
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7588
+ def copy(call: T.unsafe(nil), block: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7584
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7602
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7606
+ def format(q); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7627
+ 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#7779
+class SyntaxTree::ModuleDeclaration < ::SyntaxTree::Node
+ # @return [ModuleDeclaration] a new instance of ModuleDeclaration
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#7789
+ def initialize(constant:, bodystmt:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7849
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7796
+ def accept(visitor); end
+
+ # [BodyStmt] the expressions to be executed in the context of the module
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#7784
+ def bodystmt; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7800
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#7787
+ def comments; end
+
+ # [ConstPathRef | ConstRef | TopConstRef] the name of the module
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#7781
+ def constant; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7804
+ def copy(constant: T.unsafe(nil), bodystmt: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7800
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7818
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7827
+ def format(q); end
+
+ private
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7856
+ 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#7933
+class SyntaxTree::Next < ::SyntaxTree::Node
+ # @return [Next] a new instance of Next
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#7940
+ def initialize(arguments:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7975
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7946
+ def accept(visitor); end
+
+ # [Args] the arguments passed to the next keyword
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#7935
+ def arguments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7950
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#7938
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7954
+ def copy(arguments: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7950
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7967
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#7971
+ 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#11077
+class SyntaxTree::Not < ::SyntaxTree::Node
+ # @return [Not] a new instance of Not
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#11088
+ def initialize(statement:, parentheses:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11150
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11095
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11099
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#11086
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11103
+ def copy(statement: T.unsafe(nil), parentheses: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11099
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11117
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11126
+ def format(q); end
+
+ # [boolean] whether or not parentheses were used
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#11082
+ def parentheses; end
+
+ # [boolean] whether or not parentheses were used
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#11082
+ def parentheses?; end
+
+ # [nil | Node] the statement on which to operate
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#11079
+ 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#7985
+class SyntaxTree::Op < ::SyntaxTree::Node
+ # @return [Op] a new instance of Op
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#7995
+ def initialize(value:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8028
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8002
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8006
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#7993
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8010
+ def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8006
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8020
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8024
+ def format(q); end
+
+ # [Symbol] the symbol version of the value
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#7990
+ def name; end
+
+ # [String] the operator
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#7987
+ 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#8038
+class SyntaxTree::OpAssign < ::SyntaxTree::Node
+ # @return [OpAssign] a new instance of OpAssign
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#8052
+ def initialize(target:, operator:, value:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8111
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8060
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8064
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#8050
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8068
+ 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#8064
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8083
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8093
+ def format(q); end
+
+ # [Op] the operator being used for the assignment
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#8044
+ 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#8041
+ def target; end
+
+ # [Node] the expression to be assigned
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#8047
+ def value; end
+
+ private
+
+ # @return [Boolean]
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#8118
+ 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#6174
+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#8196
+class SyntaxTree::Params < ::SyntaxTree::Node
+ # @return [Params] a new instance of Params
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#8298
+ 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#8428
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8328
+ 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#8451
+ def arity; end
+
+ # [nil | BlockArg] the optional block parameter
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#8293
+ def block; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8332
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#8296
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8346
+ 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#8332
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8374
+ 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#8323
+ def empty?; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8388
+ def format(q); end
+
+ # [nil | :nil | ArgsForward | KwRestParam] the optional keyword rest
+ # parameter
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#8290
+ def keyword_rest; end
+
+ # [Array[ [ Label, nil | Node ] ]] any keyword parameters and their
+ # optional default values
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#8286
+ def keywords; end
+
+ # [Array[ [ Ident, Node ] ]] any optional parameters and their default
+ # values
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#8274
+ def optionals; end
+
+ # [Array[ Ident | MLHSParen ]] any positional parameters that exist after a
+ # rest parameter
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#8282
+ def posts; end
+
+ # [Array[ Ident | MLHSParen ]] any required parameters
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#8270
+ def requireds; end
+
+ # [nil | ArgsForward | ExcessedComma | RestParam] the optional rest
+ # parameter
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#8278
+ def rest; end
+
+ private
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8467
+ 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#8224
+class SyntaxTree::Params::KeywordFormatter
+ # @return [KeywordFormatter] a new instance of KeywordFormatter
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#8231
+ def initialize(name, value); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8236
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8240
+ def format(q); end
+
+ # [Ident] the name of the parameter
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#8226
+ def name; end
+
+ # [nil | Node] the value of the parameter
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#8229
+ 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#8252
+class SyntaxTree::Params::KeywordRestFormatter
+ # @return [KeywordRestFormatter] a new instance of KeywordRestFormatter
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#8256
+ def initialize(value); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8260
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8264
+ def format(q); end
+
+ # [:nil | ArgsForward | KwRestParam] the value of the parameter
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#8254
+ 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#8199
+class SyntaxTree::Params::OptionalFormatter
+ # @return [OptionalFormatter] a new instance of OptionalFormatter
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#8206
+ def initialize(name, value); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8211
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8215
+ def format(q); end
+
+ # [Ident] the name of the parameter
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#8201
+ def name; end
+
+ # [Node] the value of the parameter
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#8204
+ 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#8479
+class SyntaxTree::Paren < ::SyntaxTree::Node
+ # @return [Paren] a new instance of Paren
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#8489
+ def initialize(lparen:, contents:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8545
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8496
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8500
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#8487
+ def comments; end
+
+ # [nil | Node] the expression inside the parentheses
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#8484
+ def contents; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8504
+ def copy(lparen: T.unsafe(nil), contents: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8500
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8518
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8527
+ def format(q); end
+
+ # [LParen] the left parenthesis that opened this statement
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#8481
+ 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#8155
+module SyntaxTree::Parentheses
+ class << self
+ # source://syntax_tree//lib/syntax_tree/node.rb#8175
+ def break(q); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8167
+ def flat(q); end
+ end
+end
+
+# source://syntax_tree//lib/syntax_tree/node.rb#8156
+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#8553
+class SyntaxTree::Period < ::SyntaxTree::Node
+ # @return [Period] a new instance of Period
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#8560
+ def initialize(value:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8595
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8566
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8570
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#8558
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8574
+ def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8570
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8587
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8591
+ def format(q); end
+
+ # [String] the period
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#8555
+ 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#11661
+class SyntaxTree::PinnedVarRef < ::SyntaxTree::Node
+ # @return [PinnedVarRef] a new instance of PinnedVarRef
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#11668
+ def initialize(value:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11706
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11674
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11678
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#11666
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11682
+ def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11678
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11695
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11699
+ def format(q); end
+
+ # [Const | CVar | GVar | Ident | IVar] the value of this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#11663
+ 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#8601
+class SyntaxTree::Program < ::SyntaxTree::Node
+ # @return [Program] a new instance of Program
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#8608
+ def initialize(statements:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8648
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8614
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8618
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#8606
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8622
+ def copy(statements: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8618
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8635
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8639
+ def format(q); end
+
+ # [Statements] the top-level expressions of the program
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#8603
+ def statements; end
+end
+
+# QSymbols represents a symbol literal array without interpolation.
+#
+# %i[one two three]
+#
+# source://syntax_tree//lib/syntax_tree/node.rb#8657
+class SyntaxTree::QSymbols < ::SyntaxTree::Node
+ # @return [QSymbols] a new instance of QSymbols
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#8667
+ def initialize(beginning:, elements:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8727
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8674
+ def accept(visitor); end
+
+ # [QSymbolsBeg] the token that opens this array literal
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#8659
+ def beginning; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8678
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#8665
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8682
+ def copy(beginning: T.unsafe(nil), elements: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8678
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8696
+ def deconstruct_keys(_keys); end
+
+ # [Array[ TStringContent ]] the elements of the array
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#8662
+ def elements; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8705
+ 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#8740
+class SyntaxTree::QSymbolsBeg < ::SyntaxTree::Node
+ # @return [QSymbolsBeg] a new instance of QSymbolsBeg
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#8744
+ def initialize(value:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8770
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8749
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8753
+ def child_nodes; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8757
+ def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8753
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8766
+ def deconstruct_keys(_keys); end
+
+ # [String] the beginning of the array literal
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#8742
+ def value; end
+end
+
+# QWords represents a string literal array without interpolation.
+#
+# %w[one two three]
+#
+# source://syntax_tree//lib/syntax_tree/node.rb#8779
+class SyntaxTree::QWords < ::SyntaxTree::Node
+ # @return [QWords] a new instance of QWords
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#8789
+ def initialize(beginning:, elements:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8845
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8796
+ def accept(visitor); end
+
+ # [QWordsBeg] the token that opens this array literal
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#8781
+ def beginning; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8800
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#8787
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8804
+ def copy(beginning: T.unsafe(nil), elements: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8800
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8814
+ def deconstruct_keys(_keys); end
+
+ # [Array[ TStringContent ]] the elements of the array
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#8784
+ def elements; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8823
+ 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#8858
+class SyntaxTree::QWordsBeg < ::SyntaxTree::Node
+ # @return [QWordsBeg] a new instance of QWordsBeg
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#8862
+ def initialize(value:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8888
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8867
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8871
+ def child_nodes; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8875
+ def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8871
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8884
+ def deconstruct_keys(_keys); end
+
+ # [String] the beginning of the array literal
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#8860
+ 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#4615
+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#4624
+ def locked?(node, quote); end
+
+ # Find the matching closing quote for the given opening quote.
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#4631
+ 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#4637
+ 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#4617
+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#3201
+class SyntaxTree::RAssign < ::SyntaxTree::Node
+ # @return [RAssign] a new instance of RAssign
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#3215
+ def initialize(value:, operator:, pattern:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3277
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3223
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3227
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#3213
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3231
+ 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#3227
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3246
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#3256
+ 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#3207
+ def operator; end
+
+ # [Node] the pattern on the right-hand side of the expression
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#3210
+ def pattern; end
+
+ # [Node] the left-hand expression
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#3203
+ def value; end
+end
+
+# RBrace represents the use of a right brace, i.e., +++.
+#
+# source://syntax_tree//lib/syntax_tree/node.rb#8945
+class SyntaxTree::RBrace < ::SyntaxTree::Node
+ # @return [RBrace] a new instance of RBrace
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#8949
+ def initialize(value:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8975
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8954
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8958
+ def child_nodes; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8962
+ def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8958
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8971
+ def deconstruct_keys(_keys); end
+
+ # [String] the right brace
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#8947
+ def value; end
+end
+
+# RBracket represents the use of a right bracket, i.e., +]+.
+#
+# source://syntax_tree//lib/syntax_tree/node.rb#8981
+class SyntaxTree::RBracket < ::SyntaxTree::Node
+ # @return [RBracket] a new instance of RBracket
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#8985
+ def initialize(value:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9011
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8990
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8994
+ def child_nodes; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8998
+ def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8994
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9007
+ def deconstruct_keys(_keys); end
+
+ # [String] the right bracket
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#8983
+ def value; end
+end
+
+# RParen represents the use of a right parenthesis, i.e., +)+.
+#
+# source://syntax_tree//lib/syntax_tree/node.rb#9751
+class SyntaxTree::RParen < ::SyntaxTree::Node
+ # @return [RParen] a new instance of RParen
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#9755
+ def initialize(value:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9781
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9760
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9764
+ def child_nodes; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9768
+ def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9764
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9777
+ def deconstruct_keys(_keys); end
+
+ # [String] the parenthesis
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#9753
+ 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#4540
+class SyntaxTree::RangeNode < ::SyntaxTree::Node
+ # @return [RangeNode] a new instance of RangeNode
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#4553
+ def initialize(left:, operator:, right:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4607
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4561
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4565
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#4551
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4569
+ 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#4565
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4584
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#4594
+ def format(q); end
+
+ # [nil | Node] the left side of the expression
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#4542
+ def left; end
+
+ # [Op] the operator used for this range
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#4545
+ def operator; end
+
+ # [nil | Node] the right side of the expression
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#4548
+ def right; end
+end
+
+# RationalLiteral represents the use of a rational number literal.
+#
+# 1r
+#
+# source://syntax_tree//lib/syntax_tree/node.rb#8897
+class SyntaxTree::RationalLiteral < ::SyntaxTree::Node
+ # @return [RationalLiteral] a new instance of RationalLiteral
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#8904
+ def initialize(value:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8939
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8910
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8914
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#8902
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8918
+ def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8914
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8931
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#8935
+ def format(q); end
+
+ # [String] the rational number literal
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#8899
+ def value; end
+end
+
+# Redo represents the use of the +redo+ keyword.
+#
+# redo
+#
+# source://syntax_tree//lib/syntax_tree/node.rb#9020
+class SyntaxTree::Redo < ::SyntaxTree::Node
+ # @return [Redo] a new instance of Redo
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#9024
+ def initialize(location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9054
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9029
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9033
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#9022
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9037
+ def copy(location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9033
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9046
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9050
+ 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#9116
+class SyntaxTree::RegexpBeg < ::SyntaxTree::Node
+ # @return [RegexpBeg] a new instance of RegexpBeg
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#9120
+ def initialize(value:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9146
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9125
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9129
+ def child_nodes; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9133
+ def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9129
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9142
+ def deconstruct_keys(_keys); end
+
+ # [String] the beginning of the regular expression
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#9118
+ 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#9065
+class SyntaxTree::RegexpContent < ::SyntaxTree::Node
+ # @return [RegexpContent] a new instance of RegexpContent
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#9073
+ def initialize(beginning:, parts:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9101
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9079
+ def accept(visitor); end
+
+ # [String] the opening of the regular expression
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#9067
+ def beginning; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9083
+ def child_nodes; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9087
+ def copy(beginning: T.unsafe(nil), parts: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9083
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9097
+ def deconstruct_keys(_keys); end
+
+ # [Array[ StringDVar | StringEmbExpr | TStringContent ]] the parts of the
+ # regular expression
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#9071
+ 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#9161
+class SyntaxTree::RegexpEnd < ::SyntaxTree::Node
+ # @return [RegexpEnd] a new instance of RegexpEnd
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#9165
+ def initialize(value:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9191
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9170
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9174
+ def child_nodes; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9178
+ def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9174
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9187
+ def deconstruct_keys(_keys); end
+
+ # [String] the end of the regular expression
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#9163
+ def value; end
+end
+
+# RegexpLiteral represents a regular expression literal.
+#
+# /.+/
+#
+# source://syntax_tree//lib/syntax_tree/node.rb#9200
+class SyntaxTree::RegexpLiteral < ::SyntaxTree::Node
+ # @return [RegexpLiteral] a new instance of RegexpLiteral
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#9214
+ def initialize(beginning:, ending:, parts:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9296
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9222
+ def accept(visitor); end
+
+ # [String] the beginning of the regular expression literal
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#9202
+ def beginning; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9226
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#9212
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9230
+ 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#9226
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9245
+ def deconstruct_keys(_keys); end
+
+ # [String] the ending of the regular expression literal
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#9205
+ def ending; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9256
+ def format(q); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9302
+ def options; end
+
+ # [Array[ StringEmbExpr | StringDVar | TStringContent ]] the parts of the
+ # regular expression literal
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#9209
+ 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#9318
+ def ambiguous?(q); end
+
+ # @return [Boolean]
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#9308
+ 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#9408
+class SyntaxTree::Rescue < ::SyntaxTree::Node
+ # @return [Rescue] a new instance of Rescue
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#9424
+ def initialize(keyword:, exception:, statements:, consequent:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9520
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9455
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9433
+ def bind_end(end_char, end_column); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9459
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#9422
+ def comments; end
+
+ # [nil | Rescue] the optional next clause in the chain
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#9419
+ def consequent; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9463
+ 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#9459
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9485
+ def deconstruct_keys(_keys); end
+
+ # [nil | RescueEx] the exceptions being rescued
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#9413
+ def exception; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9496
+ def format(q); end
+
+ # [Kw] the rescue keyword
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#9410
+ def keyword; end
+
+ # [Statements] the expressions to evaluate when an error is rescued
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#9416
+ 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#9333
+class SyntaxTree::RescueEx < ::SyntaxTree::Node
+ # @return [RescueEx] a new instance of RescueEx
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#9344
+ def initialize(exceptions:, variable:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9396
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9351
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9355
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#9342
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9359
+ def copy(exceptions: T.unsafe(nil), variable: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9355
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9373
+ def deconstruct_keys(_keys); end
+
+ # [nil | Node] the list of exceptions being rescued
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#9335
+ def exceptions; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9382
+ def format(q); end
+
+ # [nil | Field | VarField] the expression being used to capture the raised
+ # exception
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#9339
+ 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#9531
+class SyntaxTree::RescueMod < ::SyntaxTree::Node
+ # @return [RescueMod] a new instance of RescueMod
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#9541
+ def initialize(statement:, value:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9597
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9548
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9552
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#9539
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9556
+ def copy(statement: T.unsafe(nil), value: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9552
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9570
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9579
+ def format(q); end
+
+ # [Node] the expression to execute
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#9533
+ def statement; end
+
+ # [Node] the value to use if the executed expression raises an error
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#9536
+ 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#9608
+class SyntaxTree::RestParam < ::SyntaxTree::Node
+ # @return [RestParam] a new instance of RestParam
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#9615
+ def initialize(name:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9651
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9621
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9625
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#9613
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9629
+ def copy(name: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9625
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9642
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9646
+ def format(q); end
+
+ # [nil | Ident] the name of the parameter
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#9610
+ def name; end
+end
+
+# Retry represents the use of the +retry+ keyword.
+#
+# retry
+#
+# source://syntax_tree//lib/syntax_tree/node.rb#9660
+class SyntaxTree::Retry < ::SyntaxTree::Node
+ # @return [Retry] a new instance of Retry
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#9664
+ def initialize(location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9694
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9669
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9673
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#9662
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9677
+ def copy(location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9673
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9686
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9690
+ def format(q); end
+end
+
+# Return represents using the +return+ keyword with arguments.
+#
+# return value
+#
+# source://syntax_tree//lib/syntax_tree/node.rb#9703
+class SyntaxTree::ReturnNode < ::SyntaxTree::Node
+ # @return [ReturnNode] a new instance of ReturnNode
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#9710
+ def initialize(arguments:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9745
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9716
+ def accept(visitor); end
+
+ # [nil | Args] the arguments being passed to the keyword
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#9705
+ def arguments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9720
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#9708
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9724
+ def copy(arguments: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9720
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9737
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9741
+ 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#9793
+class SyntaxTree::SClass < ::SyntaxTree::Node
+ # @return [SClass] a new instance of SClass
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#9803
+ def initialize(target:, bodystmt:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9854
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9810
+ def accept(visitor); end
+
+ # [BodyStmt] the expressions to be executed
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#9798
+ def bodystmt; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9814
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#9801
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9818
+ def copy(target: T.unsafe(nil), bodystmt: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9814
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9832
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9841
+ def format(q); end
+
+ # [Node] the target of the singleton class to enter
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#9795
+ 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#9867
+class SyntaxTree::Statements < ::SyntaxTree::Node
+ # @return [Statements] a new instance of Statements
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#9874
+ def initialize(body:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10000
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9927
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9880
+ def bind(parser, start_char, start_column, end_char, end_column); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9909
+ 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#9869
+ def body; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9931
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#9872
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9935
+ def copy(body: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9931
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9948
+ def deconstruct_keys(_keys); end
+
+ # @return [Boolean]
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#9921
+ def empty?; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#9952
+ 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#10009
+ 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#10124
+class SyntaxTree::StringConcat < ::SyntaxTree::Node
+ # @return [StringConcat] a new instance of StringConcat
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#10135
+ def initialize(left:, right:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10179
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10142
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10146
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#10133
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10150
+ def copy(left: T.unsafe(nil), right: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10146
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10164
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10168
+ def format(q); end
+
+ # [Heredoc | StringConcat | StringLiteral] the left side of the
+ # concatenation
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#10127
+ def left; end
+
+ # [StringLiteral] the right side of the concatenation
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#10130
+ def right; end
+end
+
+# StringContent represents the contents of a string-like value.
+#
+# "string"
+#
+# source://syntax_tree//lib/syntax_tree/node.rb#10051
+class SyntaxTree::StringContent < ::SyntaxTree::Node
+ # @return [StringContent] a new instance of StringContent
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#10059
+ def initialize(parts:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10086
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10065
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10069
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#10057
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10073
+ def copy(parts: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10069
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10082
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10090
+ def format(q); end
+
+ # [Array[ StringEmbExpr | StringDVar | TStringContent ]] the parts of the
+ # string
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#10054
+ 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#10190
+class SyntaxTree::StringDVar < ::SyntaxTree::Node
+ # @return [StringDVar] a new instance of StringDVar
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#10197
+ def initialize(variable:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10234
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10203
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10207
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#10195
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10211
+ def copy(variable: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10207
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10224
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10228
+ def format(q); end
+
+ # [Backref | VarRef] the variable being interpolated
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#10192
+ 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#10245
+class SyntaxTree::StringEmbExpr < ::SyntaxTree::Node
+ # @return [StringEmbExpr] a new instance of StringEmbExpr
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#10252
+ def initialize(statements:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10309
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10258
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10262
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#10250
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10266
+ def copy(statements: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10262
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10279
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10283
+ def format(q); end
+
+ # [Statements] the expressions to be interpolated
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#10247
+ def statements; end
+end
+
+# StringLiteral represents a string literal.
+#
+# "string"
+#
+# source://syntax_tree//lib/syntax_tree/node.rb#10318
+class SyntaxTree::StringLiteral < ::SyntaxTree::Node
+ # @return [StringLiteral] a new instance of StringLiteral
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#10329
+ def initialize(parts:, quote:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10403
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10336
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10340
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#10327
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10344
+ def copy(parts: T.unsafe(nil), quote: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10340
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10358
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10362
+ def format(q); end
+
+ # [Array[ StringEmbExpr | StringDVar | TStringContent ]] the parts of the
+ # string literal
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#10321
+ def parts; end
+
+ # [nil | String] which quote was used by the string literal
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#10324
+ 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#10414
+class SyntaxTree::Super < ::SyntaxTree::Node
+ # @return [Super] a new instance of Super
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#10421
+ def initialize(arguments:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10465
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10427
+ def accept(visitor); end
+
+ # [ArgParen | Args] the arguments to the keyword
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#10416
+ def arguments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10431
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#10419
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10435
+ def copy(arguments: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10431
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10448
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10452
+ 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#10486
+class SyntaxTree::SymBeg < ::SyntaxTree::Node
+ # @return [SymBeg] a new instance of SymBeg
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#10490
+ def initialize(value:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10516
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10495
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10499
+ def child_nodes; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10503
+ def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10499
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10512
+ def deconstruct_keys(_keys); end
+
+ # [String] the beginning of the symbol
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#10488
+ 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#10526
+class SyntaxTree::SymbolContent < ::SyntaxTree::Node
+ # @return [SymbolContent] a new instance of SymbolContent
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#10531
+ def initialize(value:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10557
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10536
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10540
+ def child_nodes; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10544
+ def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10540
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10553
+ 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#10529
+ 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#10567
+class SyntaxTree::SymbolLiteral < ::SyntaxTree::Node
+ # @return [SymbolLiteral] a new instance of SymbolLiteral
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#10575
+ def initialize(value:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10612
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10581
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10585
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#10573
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10589
+ def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10585
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10602
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10606
+ 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#10570
+ def value; end
+end
+
+# Symbols represents a symbol array literal with interpolation.
+#
+# %I[one two three]
+#
+# source://syntax_tree//lib/syntax_tree/node.rb#10621
+class SyntaxTree::Symbols < ::SyntaxTree::Node
+ # @return [Symbols] a new instance of Symbols
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#10631
+ def initialize(beginning:, elements:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10687
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10638
+ def accept(visitor); end
+
+ # [SymbolsBeg] the token that opens this array literal
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#10623
+ def beginning; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10642
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#10629
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10646
+ def copy(beginning: T.unsafe(nil), elements: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10642
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10656
+ def deconstruct_keys(_keys); end
+
+ # [Array[ Word ]] the words in the symbol array literal
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#10626
+ def elements; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10665
+ 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#10701
+class SyntaxTree::SymbolsBeg < ::SyntaxTree::Node
+ # @return [SymbolsBeg] a new instance of SymbolsBeg
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#10705
+ def initialize(value:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10731
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10710
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10714
+ def child_nodes; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10718
+ def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10714
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10727
+ def deconstruct_keys(_keys); end
+
+ # [String] the beginning of the symbol literal array
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#10703
+ 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#10782
+class SyntaxTree::TLamBeg < ::SyntaxTree::Node
+ # @return [TLamBeg] a new instance of TLamBeg
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#10786
+ def initialize(value:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10812
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10791
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10795
+ def child_nodes; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10799
+ def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10795
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10808
+ def deconstruct_keys(_keys); end
+
+ # [String] the beginning of the body of the lambda literal
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#10784
+ 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#10741
+class SyntaxTree::TLambda < ::SyntaxTree::Node
+ # @return [TLambda] a new instance of TLambda
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#10745
+ def initialize(value:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10771
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10750
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10754
+ def child_nodes; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10758
+ def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10754
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10767
+ def deconstruct_keys(_keys); end
+
+ # [String] the beginning of the lambda literal
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#10743
+ 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#10934
+class SyntaxTree::TStringBeg < ::SyntaxTree::Node
+ # @return [TStringBeg] a new instance of TStringBeg
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#10938
+ def initialize(value:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10964
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10943
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10947
+ def child_nodes; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10951
+ def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10947
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10960
+ def deconstruct_keys(_keys); end
+
+ # [String] the beginning of the string
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#10936
+ 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#10977
+class SyntaxTree::TStringContent < ::SyntaxTree::Node
+ # @return [TStringContent] a new instance of TStringContent
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#10984
+ def initialize(value:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11023
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10994
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10998
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#10982
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11002
+ def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10998
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11015
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11019
+ def format(q); end
+
+ # @return [Boolean]
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#10990
+ def match?(pattern); end
+
+ # [String] the content of the string
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#10979
+ 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#11038
+class SyntaxTree::TStringEnd < ::SyntaxTree::Node
+ # @return [TStringEnd] a new instance of TStringEnd
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#11042
+ def initialize(value:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11068
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11047
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11051
+ def child_nodes; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11055
+ def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11051
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11064
+ def deconstruct_keys(_keys); end
+
+ # [String] the end of the string
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#11040
+ 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#6254
+module SyntaxTree::Ternaryable
+ class << self
+ # source://syntax_tree//lib/syntax_tree/node.rb#6256
+ 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#6294
+ 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#10823
+class SyntaxTree::TopConstField < ::SyntaxTree::Node
+ # @return [TopConstField] a new instance of TopConstField
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#10830
+ def initialize(constant:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10866
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10836
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10840
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#10828
+ def comments; end
+
+ # [Const] the constant being assigned
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#10825
+ def constant; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10844
+ def copy(constant: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10840
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10857
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10861
+ 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#10876
+class SyntaxTree::TopConstRef < ::SyntaxTree::Node
+ # @return [TopConstRef] a new instance of TopConstRef
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#10883
+ def initialize(constant:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10919
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10889
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10893
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#10881
+ def comments; end
+
+ # [Const] the constant being referenced
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#10878
+ def constant; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10897
+ def copy(constant: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10893
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10910
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#10914
+ 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#11161
+class SyntaxTree::Unary < ::SyntaxTree::Node
+ # @return [Unary] a new instance of Unary
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#11171
+ def initialize(operator:, statement:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11214
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11178
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11182
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#11169
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11186
+ def copy(operator: T.unsafe(nil), statement: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11182
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11200
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11209
+ def format(q); end
+
+ # [String] the operator being used
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#11163
+ def operator; end
+
+ # [Node] the statement on which to operate
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#11166
+ def statement; end
+end
+
+# Undef represents the use of the +undef+ keyword.
+#
+# undef method
+#
+# source://syntax_tree//lib/syntax_tree/node.rb#11224
+class SyntaxTree::Undef < ::SyntaxTree::Node
+ # @return [Undef] a new instance of Undef
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#11255
+ def initialize(symbols:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11298
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11261
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11265
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#11253
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11269
+ def copy(symbols: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11265
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11282
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11286
+ def format(q); end
+
+ # [Array[ DynaSymbol | SymbolLiteral ]] the symbols to undefine
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#11250
+ 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#11228
+class SyntaxTree::Undef::UndefArgumentFormatter
+ # @return [UndefArgumentFormatter] a new instance of UndefArgumentFormatter
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#11232
+ def initialize(node); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11236
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11244
+ def format(q); end
+
+ # [DynaSymbol | SymbolLiteral] the symbol to undefine
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#11230
+ def node; end
+end
+
+# Unless represents the first clause in an +unless+ chain.
+#
+# unless predicate
+# end
+#
+# source://syntax_tree//lib/syntax_tree/node.rb#11308
+class SyntaxTree::UnlessNode < ::SyntaxTree::Node
+ # @return [UnlessNode] a new instance of UnlessNode
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#11321
+ def initialize(predicate:, statements:, consequent:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11366
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11329
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11333
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#11319
+ def comments; end
+
+ # [nil | Elsif | Else] the next clause in the chain
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#11316
+ def consequent; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11337
+ 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#11333
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11352
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11362
+ 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#11372
+ def modifier?; end
+
+ # [Node] the expression to be checked
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#11310
+ def predicate; end
+
+ # [Statements] the expressions to be executed
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#11313
+ def statements; end
+end
+
+# Until represents an +until+ loop.
+#
+# until predicate
+# end
+#
+# source://syntax_tree//lib/syntax_tree/node.rb#11454
+class SyntaxTree::UntilNode < ::SyntaxTree::Node
+ # @return [UntilNode] a new instance of UntilNode
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#11464
+ def initialize(predicate:, statements:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11506
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11471
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11475
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#11462
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11479
+ def copy(predicate: T.unsafe(nil), statements: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11475
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11493
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11502
+ def format(q); end
+
+ # @return [Boolean]
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#11511
+ def modifier?; end
+
+ # [Node] the expression to be checked
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#11456
+ def predicate; end
+
+ # [Statements] the expressions to be executed
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#11459
+ 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#11716
+class SyntaxTree::VCall < ::SyntaxTree::Node
+ # @return [VCall] a new instance of VCall
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#11723
+ def initialize(value:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11758
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11729
+ def accept(visitor); end
+
+ # @return [Boolean]
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#11762
+ def access_control?; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11766
+ def arity; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11733
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#11721
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11737
+ def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11733
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11750
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11754
+ def format(q); end
+
+ # [Ident] the value of this expression
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#11718
+ 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#11522
+class SyntaxTree::VarField < ::SyntaxTree::Node
+ # @return [VarField] a new instance of VarField
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#11529
+ def initialize(value:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11568
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11535
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11539
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#11527
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11543
+ def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11539
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11556
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11560
+ def format(q); end
+
+ # [nil | :nil | Const | CVar | GVar | Ident | IVar] the target of this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#11524
+ 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#11581
+class SyntaxTree::VarRef < ::SyntaxTree::Node
+ # @return [VarRef] a new instance of VarRef
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#11588
+ def initialize(value:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11623
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11594
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11598
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#11586
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11602
+ def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11598
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11615
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11619
+ 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#11634
+ def pin(parent, pin); end
+
+ # [Const | CVar | GVar | Ident | IVar | Kw] the value of this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#11583
+ 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#11775
+class SyntaxTree::VoidStmt < ::SyntaxTree::Node
+ # @return [VoidStmt] a new instance of VoidStmt
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#11779
+ def initialize(location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11808
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11784
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11788
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#11777
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11792
+ def copy(location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11788
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11801
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11805
+ 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#11819
+class SyntaxTree::When < ::SyntaxTree::Node
+ # @return [When] a new instance of When
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#11832
+ def initialize(arguments:, statements:, consequent:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11924
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11840
+ def accept(visitor); end
+
+ # [Args] the arguments to the when clause
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#11821
+ def arguments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11844
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#11830
+ def comments; end
+
+ # [nil | Else | When] the next clause in the chain
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#11827
+ def consequent; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11848
+ 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#11844
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11863
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11889
+ def format(q); end
+
+ # [Statements] the expressions to be executed
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#11824
+ 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#11887
+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#11876
+class SyntaxTree::When::Separator
+ # source://syntax_tree//lib/syntax_tree/node.rb#11877
+ def call(q); end
+end
+
+# While represents a +while+ loop.
+#
+# while predicate
+# end
+#
+# source://syntax_tree//lib/syntax_tree/node.rb#11935
+class SyntaxTree::WhileNode < ::SyntaxTree::Node
+ # @return [WhileNode] a new instance of WhileNode
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#11945
+ def initialize(predicate:, statements:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11987
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11952
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11956
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#11943
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11960
+ def copy(predicate: T.unsafe(nil), statements: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11956
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11974
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#11983
+ def format(q); end
+
+ # @return [Boolean]
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#11992
+ def modifier?; end
+
+ # [Node] the expression to be checked
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#11937
+ def predicate; end
+
+ # [Statements] the expressions to be executed
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#11940
+ 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#236
+ def visit_binary(node); end
+
+ # source://syntax_tree//lib/syntax_tree/with_scope.rb#189
+ def visit_block_var(node); end
+
+ # source://syntax_tree//lib/syntax_tree/with_scope.rb#182
+ 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#175
+ def visit_kwrest_param(node); end
+
+ # source://syntax_tree//lib/syntax_tree/with_scope.rb#189
+ 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#207
+ def visit_pinned_var_ref(node); end
+
+ # source://syntax_tree//lib/syntax_tree/with_scope.rb#168
+ def visit_rest_param(node); end
+
+ # Visit for keeping track of local variable definitions
+ #
+ # source://syntax_tree//lib/syntax_tree/with_scope.rb#199
+ def visit_var_field(node); end
+
+ # Visits for keeping track of variable and argument usages
+ #
+ # source://syntax_tree//lib/syntax_tree/with_scope.rb#215
+ 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#227
+ def visit_vcall(node); end
+
+ private
+
+ # source://syntax_tree//lib/syntax_tree/with_scope.rb#285
+ def add_argument_definitions(list); end
+
+ # source://syntax_tree//lib/syntax_tree/with_scope.rb#299
+ def next_scope_id; end
+
+ # source://syntax_tree//lib/syntax_tree/with_scope.rb#303
+ 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#12004
+class SyntaxTree::Word < ::SyntaxTree::Node
+ # @return [Word] a new instance of Word
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#12012
+ def initialize(parts:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#12051
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#12022
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#12026
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#12010
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#12030
+ def copy(parts: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#12026
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#12043
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#12047
+ def format(q); end
+
+ # @return [Boolean]
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#12018
+ def match?(pattern); end
+
+ # [Array[ StringEmbExpr | StringDVar | TStringContent ]] the parts of the
+ # word
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#12007
+ def parts; end
+end
+
+# Words represents a string literal array with interpolation.
+#
+# %W[one two three]
+#
+# source://syntax_tree//lib/syntax_tree/node.rb#12060
+class SyntaxTree::Words < ::SyntaxTree::Node
+ # @return [Words] a new instance of Words
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#12070
+ def initialize(beginning:, elements:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#12126
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#12077
+ def accept(visitor); end
+
+ # [WordsBeg] the token that opens this array literal
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#12062
+ def beginning; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#12081
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#12068
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#12085
+ def copy(beginning: T.unsafe(nil), elements: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#12081
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#12095
+ def deconstruct_keys(_keys); end
+
+ # [Array[ Word ]] the elements of this array
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#12065
+ def elements; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#12104
+ 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#12140
+class SyntaxTree::WordsBeg < ::SyntaxTree::Node
+ # @return [WordsBeg] a new instance of WordsBeg
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#12144
+ def initialize(value:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#12170
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#12149
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#12153
+ def child_nodes; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#12157
+ def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#12153
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#12166
+ def deconstruct_keys(_keys); end
+
+ # [String] the start of the word literal array
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#12142
+ def value; end
+end
+
+# XString represents the contents of an XStringLiteral.
+#
+# `ls`
+#
+# source://syntax_tree//lib/syntax_tree/node.rb#12179
+class SyntaxTree::XString < ::SyntaxTree::Node
+ # @return [XString] a new instance of XString
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#12184
+ def initialize(parts:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#12210
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#12189
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#12193
+ def child_nodes; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#12197
+ def copy(parts: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#12193
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#12206
+ def deconstruct_keys(_keys); end
+
+ # [Array[ StringEmbExpr | StringDVar | TStringContent ]] the parts of the
+ # xstring
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#12182
+ def parts; end
+end
+
+# XStringLiteral represents a string that gets executed.
+#
+# `ls`
+#
+# source://syntax_tree//lib/syntax_tree/node.rb#12219
+class SyntaxTree::XStringLiteral < ::SyntaxTree::Node
+ # @return [XStringLiteral] a new instance of XStringLiteral
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#12227
+ def initialize(parts:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#12264
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#12233
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#12237
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#12225
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#12241
+ def copy(parts: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#12237
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#12254
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#12258
+ def format(q); end
+
+ # [Array[ StringEmbExpr | StringDVar | TStringContent ]] the parts of the
+ # xstring
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#12222
+ 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#88
+ 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#66
+ def initialize(lines); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#70
+ def assemble; end
+
+ # Returns the value of attribute lines.
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#64
+ def lines; end
+
+ private
+
+ # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#88
+ def assemble_iseq(iseq, lines); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#408
+ def find_local(iseq, operands); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#417
+ def parse(value); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#449
+ def parse_calldata(value); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#444
+ def parse_nested(lines); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#432
+ def parse_number(value); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#424
+ def parse_options(value, options); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#436
+ def parse_string(value); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#440
+ def parse_symbol(value); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#428
+ def parse_type(value, type); end
+
+ class << self
+ # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#78
+ def assemble(source); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#82
+ 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#43
+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#31
+ 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#29
+ def argc; end
+
+ # @return [Boolean]
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#43
+ def flag?(mask); end
+
+ # Returns the value of attribute flags.
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#29
+ def flags; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#53
+ def inspect; end
+
+ # Returns the value of attribute kw_arg.
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#29
+ def kw_arg; end
+
+ # Returns the value of attribute method.
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#29
+ def method; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#47
+ def to_h; end
+
+ class << self
+ # source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#77
+ def from(serialized); end
+ end
+end
+
+# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#27
+SyntaxTree::YARV::CallData::CALL_ARGS_BLOCKARG = T.let(T.unsafe(nil), Integer)
+
+# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#27
+SyntaxTree::YARV::CallData::CALL_ARGS_SIMPLE = T.let(T.unsafe(nil), Integer)
+
+# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#27
+SyntaxTree::YARV::CallData::CALL_ARGS_SPLAT = T.let(T.unsafe(nil), Integer)
+
+# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#27
+SyntaxTree::YARV::CallData::CALL_BLOCKISEQ = T.let(T.unsafe(nil), Integer)
+
+# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#27
+SyntaxTree::YARV::CallData::CALL_FCALL = T.let(T.unsafe(nil), Integer)
+
+# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#27
+SyntaxTree::YARV::CallData::CALL_KWARG = T.let(T.unsafe(nil), Integer)
+
+# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#27
+SyntaxTree::YARV::CallData::CALL_KW_SPLAT = T.let(T.unsafe(nil), Integer)
+
+# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#27
+SyntaxTree::YARV::CallData::CALL_KW_SPLAT_MUT = T.let(T.unsafe(nil), Integer)
+
+# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#27
+SyntaxTree::YARV::CallData::CALL_OPT_SEND = T.let(T.unsafe(nil), Integer)
+
+# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#27
+SyntaxTree::YARV::CallData::CALL_SUPER = T.let(T.unsafe(nil), Integer)
+
+# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#27
+SyntaxTree::YARV::CallData::CALL_TAILCALL = T.let(T.unsafe(nil), Integer)
+
+# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#27
+SyntaxTree::YARV::CallData::CALL_VCALL = T.let(T.unsafe(nil), Integer)
+
+# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#27
+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#652
+ def adjuststack(number); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#656
+ 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#472
+ def block_child_iseq(line); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#660
+ def branchif(label); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#664
+ def branchnil(label); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#668
+ def branchunless(label); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#565
+ def catch_break(iseq, begin_label, end_label, exit_label, restore_sp); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#575
+ def catch_ensure(iseq, begin_label, end_label, exit_label, restore_sp); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#585
+ def catch_next(begin_label, end_label, exit_label, restore_sp); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#595
+ def catch_redo(begin_label, end_label, exit_label, restore_sp); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#605
+ def catch_rescue(iseq, begin_label, end_label, exit_label, restore_sp); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#615
+ 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#672
+ def checkkeyword(keyword_bits_index, keyword_index); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#676
+ def checkmatch(type); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#680
+ def checktype(type); end
+
+ # Child instruction sequence methods
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#468
+ def child_iseq(name, line, type); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#478
+ 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#684
+ def concatarray; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#688
+ def concatstrings(number); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#692
+ def defineclass(name, class_iseq, flags); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#696
+ def defined(type, name, message); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#700
+ def definedivar(name, cache, message); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#709
+ def definemethod(name, method_iseq); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#713
+ 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#717
+ def dup; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#721
+ def duparray(object); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#725
+ def duphash(object); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#729
+ 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#648
+ def event(name); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#733
+ 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#737
+ def getblockparam(index, level); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#741
+ def getblockparamproxy(index, level); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#745
+ def getclassvariable(name); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#753
+ def getconstant(name); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#757
+ def getglobal(name); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#761
+ def getinstancevariable(name); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#769
+ def getlocal(index, level); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#788
+ 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#792
+ def intern; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#796
+ def invokeblock(calldata); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#800
+ def invokesuper(calldata, block_iseq); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#804
+ def jump(label); end
+
+ # Instruction push methods
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#629
+ def label; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#808
+ 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#482
+ def method_child_iseq(name, line); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#486
+ 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#812
+ def newarray(number); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#816
+ def newarraykwsplat(number); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#820
+ def newhash(number); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#824
+ def newrange(exclude_end); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#828
+ def nop; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#832
+ def objtostring(calldata); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#836
+ def once(iseq, cache); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#840
+ def opt_aref_with(object, calldata); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#844
+ def opt_aset_with(object, calldata); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#848
+ def opt_case_dispatch(case_dispatch_hash, else_label); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#852
+ def opt_getconstant_path(names); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#888
+ def opt_getinlinecache(label, cache); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#892
+ 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#896
+ def pop; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#633
+ def push(value); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#900
+ def putnil; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#904
+ def putobject(object); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#922
+ def putself; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#926
+ def putspecialobject(object); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#930
+ def putstring(object); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#934
+ def send(calldata, block_iseq = T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#938
+ def setblockparam(index, level); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#942
+ def setclassvariable(name); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#950
+ def setconstant(name); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#954
+ def setglobal(name); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#958
+ def setinstancevariable(name); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#966
+ def setlocal(index, level); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#985
+ def setn(number); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#989
+ def setspecial(key); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#490
+ 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#993
+ 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#997
+ def swap; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#1001
+ 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#1005
+ def topn(number); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#1009
+ 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#1015
+ 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#510
+class SyntaxTree::YARV::InstructionSequence::CatchBreak < ::SyntaxTree::YARV::InstructionSequence::CatchEntry
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#511
+ def to_a; end
+end
+
+# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#523
+class SyntaxTree::YARV::InstructionSequence::CatchEnsure < ::SyntaxTree::YARV::InstructionSequence::CatchEntry
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#524
+ def to_a; end
+end
+
+# Catch table methods
+#
+# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#498
+class SyntaxTree::YARV::InstructionSequence::CatchEntry
+ # @return [CatchEntry] a new instance of CatchEntry
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#501
+ 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#499
+ def begin_label; end
+
+ # Returns the value of attribute end_label.
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#499
+ def end_label; end
+
+ # Returns the value of attribute exit_label.
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#499
+ def exit_label; end
+
+ # Returns the value of attribute iseq.
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#499
+ def iseq; end
+
+ # Returns the value of attribute restore_sp.
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#499
+ def restore_sp; end
+end
+
+# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#535
+class SyntaxTree::YARV::InstructionSequence::CatchNext < ::SyntaxTree::YARV::InstructionSequence::CatchEntry
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#536
+ def to_a; end
+end
+
+# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#541
+class SyntaxTree::YARV::InstructionSequence::CatchRedo < ::SyntaxTree::YARV::InstructionSequence::CatchEntry
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#542
+ def to_a; end
+end
+
+# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#547
+class SyntaxTree::YARV::InstructionSequence::CatchRescue < ::SyntaxTree::YARV::InstructionSequence::CatchEntry
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#548
+ def to_a; end
+end
+
+# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#559
+class SyntaxTree::YARV::InstructionSequence::CatchRetry < ::SyntaxTree::YARV::InstructionSequence::CatchEntry
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#560
+ 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_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/legacy.rb#139
+class SyntaxTree::YARV::Legacy::OptNewArrayMax < ::SyntaxTree::YARV::Instruction
+ # @return [OptNewArrayMax] a new instance of OptNewArrayMax
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#142
+ def initialize(number); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#158
+ def ==(other); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#174
+ def call(vm); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#154
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#146
+ def disasm(fmt); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#162
+ def length; end
+
+ # Returns the value of attribute number.
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#140
+ def number; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#166
+ def pops; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#170
+ def pushes; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#150
+ 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/legacy.rb#191
+class SyntaxTree::YARV::Legacy::OptNewArrayMin < ::SyntaxTree::YARV::Instruction
+ # @return [OptNewArrayMin] a new instance of OptNewArrayMin
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#194
+ def initialize(number); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#210
+ def ==(other); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#226
+ def call(vm); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#206
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#198
+ def disasm(fmt); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#214
+ def length; end
+
+ # Returns the value of attribute number.
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#192
+ def number; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#218
+ def pops; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#222
+ def pushes; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#202
+ 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#246
+class SyntaxTree::YARV::Legacy::OptSetInlineCache < ::SyntaxTree::YARV::Instruction
+ # @return [OptSetInlineCache] a new instance of OptSetInlineCache
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#249
+ def initialize(cache); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#265
+ def ==(other); end
+
+ # Returns the value of attribute cache.
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#247
+ def cache; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#281
+ def call(vm); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#261
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#253
+ def disasm(fmt); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#269
+ def length; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#273
+ def pops; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#277
+ def pushes; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#257
+ 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#299
+class SyntaxTree::YARV::Legacy::SetClassVariable < ::SyntaxTree::YARV::Instruction
+ # @return [SetClassVariable] a new instance of SetClassVariable
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#302
+ def initialize(name); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#318
+ def ==(other); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#334
+ def call(vm); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#330
+ def canonical; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#314
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#306
+ def disasm(fmt); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#322
+ def length; end
+
+ # Returns the value of attribute name.
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#300
+ def name; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#326
+ def pops; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#310
+ 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_send` is a specialization that occurs when a dynamic array
+# literal is created and immediately sent the `min`, `max`, or `hash`
+# methods. It pops the values of the array off the stack and pushes on the
+# result of the method call.
+#
+# ### Usage
+#
+# ~~~ruby
+# [a, b, c].max
+# ~~~
+#
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3832
+class SyntaxTree::YARV::OptNewArraySend < ::SyntaxTree::YARV::Instruction
+ # @return [OptNewArraySend] a new instance of OptNewArraySend
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3835
+ def initialize(number, method); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3855
+ def ==(other); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3872
+ def call(vm); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3851
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3840
+ def disasm(fmt); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3860
+ def length; end
+
+ # Returns the value of attribute method.
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3833
+ def method; end
+
+ # Returns the value of attribute number.
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3833
+ def number; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3864
+ def pops; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3868
+ def pushes; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3847
+ 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#3890
+class SyntaxTree::YARV::OptNilP < ::SyntaxTree::YARV::Instruction
+ # @return [OptNilP] a new instance of OptNilP
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3893
+ def initialize(calldata); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3909
+ def ==(other); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3929
+ def call(vm); end
+
+ # Returns the value of attribute calldata.
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3891
+ def calldata; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3925
+ def canonical; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3905
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3897
+ def disasm(fmt); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3913
+ def length; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3917
+ def pops; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3921
+ def pushes; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3901
+ 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#3945
+class SyntaxTree::YARV::OptNot < ::SyntaxTree::YARV::Instruction
+ # @return [OptNot] a new instance of OptNot
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3948
+ def initialize(calldata); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3964
+ def ==(other); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3984
+ def call(vm); end
+
+ # Returns the value of attribute calldata.
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3946
+ def calldata; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3980
+ def canonical; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3960
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3952
+ def disasm(fmt); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3968
+ def length; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3972
+ def pops; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3976
+ def pushes; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3956
+ 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#4002
+class SyntaxTree::YARV::OptOr < ::SyntaxTree::YARV::Instruction
+ # @return [OptOr] a new instance of OptOr
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4005
+ def initialize(calldata); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4021
+ def ==(other); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4041
+ def call(vm); end
+
+ # Returns the value of attribute calldata.
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4003
+ def calldata; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4037
+ def canonical; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4017
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4009
+ def disasm(fmt); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4025
+ def length; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4029
+ def pops; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4033
+ def pushes; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4013
+ 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#4059
+class SyntaxTree::YARV::OptPlus < ::SyntaxTree::YARV::Instruction
+ # @return [OptPlus] a new instance of OptPlus
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4062
+ def initialize(calldata); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4078
+ def ==(other); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4098
+ def call(vm); end
+
+ # Returns the value of attribute calldata.
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4060
+ def calldata; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4094
+ def canonical; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4074
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4066
+ def disasm(fmt); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4082
+ def length; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4086
+ def pops; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4090
+ def pushes; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4070
+ 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#4115
+class SyntaxTree::YARV::OptRegExpMatch2 < ::SyntaxTree::YARV::Instruction
+ # @return [OptRegExpMatch2] a new instance of OptRegExpMatch2
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4118
+ def initialize(calldata); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4134
+ def ==(other); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4154
+ def call(vm); end
+
+ # Returns the value of attribute calldata.
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4116
+ def calldata; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4150
+ def canonical; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4130
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4122
+ def disasm(fmt); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4138
+ def length; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4142
+ def pops; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4146
+ def pushes; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4126
+ 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#4171
+class SyntaxTree::YARV::OptSendWithoutBlock < ::SyntaxTree::YARV::Instruction
+ # @return [OptSendWithoutBlock] a new instance of OptSendWithoutBlock
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4174
+ def initialize(calldata); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4190
+ def ==(other); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4210
+ def call(vm); end
+
+ # Returns the value of attribute calldata.
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4172
+ def calldata; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4206
+ def canonical; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4186
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4178
+ def disasm(fmt); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4194
+ def length; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4198
+ def pops; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4202
+ def pushes; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4182
+ 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#4228
+class SyntaxTree::YARV::OptSize < ::SyntaxTree::YARV::Instruction
+ # @return [OptSize] a new instance of OptSize
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4231
+ def initialize(calldata); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4247
+ def ==(other); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4267
+ def call(vm); end
+
+ # Returns the value of attribute calldata.
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4229
+ def calldata; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4263
+ def canonical; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4243
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4235
+ def disasm(fmt); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4251
+ def length; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4255
+ def pops; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4259
+ def pushes; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4239
+ 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#4284
+class SyntaxTree::YARV::OptStrFreeze < ::SyntaxTree::YARV::Instruction
+ # @return [OptStrFreeze] a new instance of OptStrFreeze
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4287
+ def initialize(object, calldata); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4307
+ def ==(other); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4320
+ def call(vm); end
+
+ # Returns the value of attribute calldata.
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4285
+ def calldata; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4303
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4292
+ def disasm(fmt); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4312
+ def length; end
+
+ # Returns the value of attribute object.
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4285
+ def object; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4316
+ def pushes; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4299
+ 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#4337
+class SyntaxTree::YARV::OptStrUMinus < ::SyntaxTree::YARV::Instruction
+ # @return [OptStrUMinus] a new instance of OptStrUMinus
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4340
+ def initialize(object, calldata); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4360
+ def ==(other); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4373
+ def call(vm); end
+
+ # Returns the value of attribute calldata.
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4338
+ def calldata; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4356
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4345
+ def disasm(fmt); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4365
+ def length; end
+
+ # Returns the value of attribute object.
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4338
+ def object; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4369
+ def pushes; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4352
+ 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#4391
+class SyntaxTree::YARV::OptSucc < ::SyntaxTree::YARV::Instruction
+ # @return [OptSucc] a new instance of OptSucc
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4394
+ def initialize(calldata); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4410
+ def ==(other); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4430
+ def call(vm); end
+
+ # Returns the value of attribute calldata.
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4392
+ def calldata; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4426
+ def canonical; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4406
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4398
+ def disasm(fmt); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4414
+ def length; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4418
+ def pops; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4422
+ def pushes; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4402
+ 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#4445
+class SyntaxTree::YARV::Pop < ::SyntaxTree::YARV::Instruction
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4458
+ def ==(other); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4466
+ def call(vm); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4454
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4446
+ def disasm(fmt); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4462
+ def pops; end
+
+ # @return [Boolean]
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4470
+ def side_effects?; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4450
+ 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#4485
+class SyntaxTree::YARV::PutNil < ::SyntaxTree::YARV::Instruction
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4498
+ def ==(other); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4510
+ def call(vm); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4506
+ def canonical; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4494
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4486
+ def disasm(fmt); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4502
+ def pushes; end
+
+ # @return [Boolean]
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4514
+ def side_effects?; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4490
+ 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#4529
+class SyntaxTree::YARV::PutObject < ::SyntaxTree::YARV::Instruction
+ # @return [PutObject] a new instance of PutObject
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4532
+ def initialize(object); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4548
+ def ==(other); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4560
+ def call(vm); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4544
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4536
+ def disasm(fmt); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4552
+ def length; end
+
+ # Returns the value of attribute object.
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4530
+ def object; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4556
+ def pushes; end
+
+ # @return [Boolean]
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4564
+ def side_effects?; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4540
+ 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#4581
+class SyntaxTree::YARV::PutObjectInt2Fix0 < ::SyntaxTree::YARV::Instruction
+ # 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#4602
+ def canonical; 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 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_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#4627
+class SyntaxTree::YARV::PutObjectInt2Fix1 < ::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
+#
+# `putself` pushes the current value of self onto the stack.
+#
+# ### Usage
+#
+# ~~~ruby
+# puts "Hello, world!"
+# ~~~
+#
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4671
+class SyntaxTree::YARV::PutSelf < ::SyntaxTree::YARV::Instruction
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4684
+ def ==(other); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4692
+ def call(vm); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4680
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4672
+ def disasm(fmt); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4688
+ def pushes; end
+
+ # @return [Boolean]
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4696
+ def side_effects?; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4676
+ 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#4713
+class SyntaxTree::YARV::PutSpecialObject < ::SyntaxTree::YARV::Instruction
+ # @return [PutSpecialObject] a new instance of PutSpecialObject
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4720
+ def initialize(object); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4736
+ def ==(other); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4748
+ def call(vm); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4732
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4724
+ def disasm(fmt); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4740
+ def length; end
+
+ # Returns the value of attribute object.
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4718
+ def object; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4744
+ def pushes; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4728
+ def to_a(_iseq); end
+end
+
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4715
+SyntaxTree::YARV::PutSpecialObject::OBJECT_CBASE = T.let(T.unsafe(nil), Integer)
+
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4716
+SyntaxTree::YARV::PutSpecialObject::OBJECT_CONST_BASE = T.let(T.unsafe(nil), Integer)
+
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4714
+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#4772
+class SyntaxTree::YARV::PutString < ::SyntaxTree::YARV::Instruction
+ # @return [PutString] a new instance of PutString
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4775
+ def initialize(object); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4791
+ def ==(other); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4803
+ def call(vm); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4787
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4779
+ def disasm(fmt); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4795
+ def length; end
+
+ # Returns the value of attribute object.
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4773
+ def object; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4799
+ def pushes; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4783
+ 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#4821
+class SyntaxTree::YARV::Send < ::SyntaxTree::YARV::Instruction
+ # @return [Send] a new instance of Send
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4824
+ def initialize(calldata, block_iseq); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4845
+ def ==(other); end
+
+ # Returns the value of attribute block_iseq.
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4822
+ def block_iseq; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4863
+ def call(vm); end
+
+ # Returns the value of attribute calldata.
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4822
+ def calldata; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4841
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4829
+ def disasm(fmt); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4850
+ def length; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4854
+ def pops; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4859
+ def pushes; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4837
+ 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#4905
+class SyntaxTree::YARV::SetBlockParam < ::SyntaxTree::YARV::Instruction
+ # @return [SetBlockParam] a new instance of SetBlockParam
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4908
+ def initialize(index, level); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4927
+ def ==(other); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4940
+ def call(vm); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4923
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4913
+ def disasm(fmt); end
+
+ # Returns the value of attribute index.
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4906
+ def index; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4932
+ def length; end
+
+ # Returns the value of attribute level.
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4906
+ def level; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4936
+ def pops; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4917
+ 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#4958
+class SyntaxTree::YARV::SetClassVariable < ::SyntaxTree::YARV::Instruction
+ # @return [SetClassVariable] a new instance of SetClassVariable
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4961
+ def initialize(name, cache); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4981
+ def ==(other); end
+
+ # Returns the value of attribute cache.
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4959
+ def cache; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4994
+ def call(vm); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4977
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4966
+ def disasm(fmt); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4986
+ def length; end
+
+ # Returns the value of attribute name.
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4959
+ def name; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4990
+ def pops; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4973
+ 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#5012
+class SyntaxTree::YARV::SetConstant < ::SyntaxTree::YARV::Instruction
+ # @return [SetConstant] a new instance of SetConstant
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5015
+ def initialize(name); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5031
+ def ==(other); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5043
+ def call(vm); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5027
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5019
+ def disasm(fmt); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5035
+ def length; end
+
+ # Returns the value of attribute name.
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5013
+ def name; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5039
+ def pops; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5023
+ 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#5060
+class SyntaxTree::YARV::SetGlobal < ::SyntaxTree::YARV::Instruction
+ # @return [SetGlobal] a new instance of SetGlobal
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5063
+ def initialize(name); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5079
+ def ==(other); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5091
+ def call(vm); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5075
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5067
+ def disasm(fmt); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5083
+ def length; end
+
+ # Returns the value of attribute name.
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5061
+ def name; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5087
+ def pops; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5071
+ 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#5114
+class SyntaxTree::YARV::SetInstanceVariable < ::SyntaxTree::YARV::Instruction
+ # @return [SetInstanceVariable] a new instance of SetInstanceVariable
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5117
+ def initialize(name, cache); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5137
+ def ==(other); end
+
+ # Returns the value of attribute cache.
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5115
+ def cache; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5150
+ def call(vm); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5133
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5122
+ def disasm(fmt); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5142
+ def length; end
+
+ # Returns the value of attribute name.
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5115
+ def name; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5146
+ def pops; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5129
+ 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#5170
+class SyntaxTree::YARV::SetLocal < ::SyntaxTree::YARV::Instruction
+ # @return [SetLocal] a new instance of SetLocal
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5173
+ def initialize(index, level); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5192
+ def ==(other); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5204
+ def call(vm); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5188
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5178
+ def disasm(fmt); end
+
+ # Returns the value of attribute index.
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5171
+ def index; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5196
+ def length; end
+
+ # Returns the value of attribute level.
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5171
+ def level; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5200
+ def pops; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5182
+ 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#5222
+class SyntaxTree::YARV::SetLocalWC0 < ::SyntaxTree::YARV::Instruction
+ # @return [SetLocalWC0] a new instance of SetLocalWC0
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5225
+ def initialize(index); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5241
+ def ==(other); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5257
+ def call(vm); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5253
+ def canonical; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5237
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5229
+ def disasm(fmt); end
+
+ # Returns the value of attribute index.
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5223
+ def index; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5245
+ def length; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5249
+ def pops; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5233
+ 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#5275
+class SyntaxTree::YARV::SetLocalWC1 < ::SyntaxTree::YARV::Instruction
+ # @return [SetLocalWC1] a new instance of SetLocalWC1
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5278
+ def initialize(index); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5294
+ def ==(other); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5310
+ def call(vm); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5306
+ def canonical; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5290
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5282
+ def disasm(fmt); end
+
+ # Returns the value of attribute index.
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5276
+ def index; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5298
+ def length; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5302
+ def pops; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5286
+ 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#5326
+class SyntaxTree::YARV::SetN < ::SyntaxTree::YARV::Instruction
+ # @return [SetN] a new instance of SetN
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5329
+ def initialize(number); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5345
+ def ==(other); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5361
+ def call(vm); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5341
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5333
+ def disasm(fmt); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5349
+ def length; end
+
+ # Returns the value of attribute number.
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5327
+ def number; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5353
+ def pops; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5357
+ def pushes; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5337
+ 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#5378
+class SyntaxTree::YARV::SetSpecial < ::SyntaxTree::YARV::Instruction
+ # @return [SetSpecial] a new instance of SetSpecial
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5381
+ def initialize(key); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5397
+ def ==(other); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5409
+ def call(vm); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5393
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5385
+ def disasm(fmt); end
+
+ # Returns the value of attribute key.
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5379
+ def key; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5401
+ def length; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5405
+ def pops; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5389
+ 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#5433
+class SyntaxTree::YARV::SplatArray < ::SyntaxTree::YARV::Instruction
+ # @return [SplatArray] a new instance of SplatArray
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5436
+ def initialize(flag); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5452
+ def ==(other); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5468
+ def call(vm); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5448
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5440
+ def disasm(fmt); end
+
+ # Returns the value of attribute flag.
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5434
+ def flag; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5456
+ def length; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5460
+ def pops; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5464
+ def pushes; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5444
+ 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#5507
+class SyntaxTree::YARV::Swap < ::SyntaxTree::YARV::Instruction
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5520
+ def ==(other); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5532
+ def call(vm); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5516
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5508
+ def disasm(fmt); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5524
+ def pops; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5528
+ def pushes; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5512
+ 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#5550
+class SyntaxTree::YARV::Throw < ::SyntaxTree::YARV::Instruction
+ # @return [Throw] a new instance of Throw
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5566
+ def initialize(type); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5582
+ def ==(other); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5598
+ def call(vm); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5578
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5570
+ def disasm(fmt); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5586
+ def length; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5590
+ def pops; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5594
+ def pushes; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5574
+ def to_a(_iseq); end
+
+ # Returns the value of attribute type.
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5564
+ def type; end
+
+ private
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5625
+ def error_backtrace(vm); end
+end
+
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5553
+SyntaxTree::YARV::Throw::RUBY_TAG_BREAK = T.let(T.unsafe(nil), Integer)
+
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5559
+SyntaxTree::YARV::Throw::RUBY_TAG_FATAL = T.let(T.unsafe(nil), Integer)
+
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5554
+SyntaxTree::YARV::Throw::RUBY_TAG_NEXT = T.let(T.unsafe(nil), Integer)
+
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5551
+SyntaxTree::YARV::Throw::RUBY_TAG_NONE = T.let(T.unsafe(nil), Integer)
+
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5557
+SyntaxTree::YARV::Throw::RUBY_TAG_RAISE = T.let(T.unsafe(nil), Integer)
+
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5556
+SyntaxTree::YARV::Throw::RUBY_TAG_REDO = T.let(T.unsafe(nil), Integer)
+
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5555
+SyntaxTree::YARV::Throw::RUBY_TAG_RETRY = T.let(T.unsafe(nil), Integer)
+
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5552
+SyntaxTree::YARV::Throw::RUBY_TAG_RETURN = T.let(T.unsafe(nil), Integer)
+
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5558
+SyntaxTree::YARV::Throw::RUBY_TAG_THROW = T.let(T.unsafe(nil), Integer)
+
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5561
+SyntaxTree::YARV::Throw::VM_THROW_NO_ESCAPE_FLAG = T.let(T.unsafe(nil), Integer)
+
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5562
+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#5700
+class SyntaxTree::YARV::ToRegExp < ::SyntaxTree::YARV::Instruction
+ # @return [ToRegExp] a new instance of ToRegExp
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5703
+ def initialize(options, length); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5720
+ def ==(other); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5733
+ def call(vm); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5716
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5708
+ def disasm(fmt); end
+
+ # Returns the value of attribute length.
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5701
+ def length; end
+
+ # Returns the value of attribute options.
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5701
+ def options; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5725
+ def pops; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5729
+ def pushes; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5712
+ 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#5653
+class SyntaxTree::YARV::TopN < ::SyntaxTree::YARV::Instruction
+ # @return [TopN] a new instance of TopN
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5656
+ def initialize(number); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5672
+ def ==(other); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5684
+ def call(vm); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5668
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5660
+ def disasm(fmt); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5676
+ def length; end
+
+ # Returns the value of attribute number.
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5654
+ def number; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5680
+ def pushes; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5664
+ 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#12273
+class SyntaxTree::YieldNode < ::SyntaxTree::Node
+ # @return [YieldNode] a new instance of YieldNode
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#12280
+ def initialize(arguments:, location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#12334
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#12286
+ def accept(visitor); end
+
+ # [nil | Args | Paren] the arguments passed to the yield
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#12275
+ def arguments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#12290
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#12278
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#12294
+ def copy(arguments: T.unsafe(nil), location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#12290
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#12307
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#12311
+ def format(q); end
+end
+
+# ZSuper represents the bare +super+ keyword with no arguments.
+#
+# super
+#
+# source://syntax_tree//lib/syntax_tree/node.rb#12343
+class SyntaxTree::ZSuper < ::SyntaxTree::Node
+ # @return [ZSuper] a new instance of ZSuper
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#12347
+ def initialize(location:); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#12377
+ def ===(other); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#12352
+ def accept(visitor); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#12356
+ def child_nodes; end
+
+ # [Array[ Comment | EmbDoc ]] the comments attached to this node
+ #
+ # source://syntax_tree//lib/syntax_tree/node.rb#12345
+ def comments; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#12360
+ def copy(location: T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#12356
+ def deconstruct; end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#12369
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/node.rb#12373
+ def format(q); end
+end
diff --git a/sorbet/rbi/gems/tapioca@0.11.7.rbi b/sorbet/rbi/gems/tapioca@0.11.12.rbi
similarity index 87%
rename from sorbet/rbi/gems/tapioca@0.11.7.rbi
rename to sorbet/rbi/gems/tapioca@0.11.12.rbi
index 1b1a0ffc..10f95b83 100644
--- a/sorbet/rbi/gems/tapioca@0.11.7.rbi
+++ b/sorbet/rbi/gems/tapioca@0.11.12.rbi
@@ -8,6 +8,25 @@ class Bundler::Dependency < ::Gem::Dependency
include ::Tapioca::BundlerExt::AutoRequireHook
end
+# source://tapioca//lib/tapioca/helpers/git_attributes.rb#4
+class GitAttributes
+ class << self
+ # source://tapioca//lib/tapioca/helpers/git_attributes.rb#9
+ sig { params(path: ::Pathname).void }
+ def create_generated_attribute_file(path); end
+
+ # source://tapioca//lib/tapioca/helpers/git_attributes.rb#16
+ sig { params(path: ::Pathname).void }
+ def create_vendored_attribute_file(path); end
+
+ private
+
+ # source://tapioca//lib/tapioca/helpers/git_attributes.rb#25
+ sig { params(path: ::Pathname, content: ::String).void }
+ def create_gitattributes_file(path, content); end
+ end
+end
+
# We need to do the alias-method-chain dance since Bootsnap does the same,
# and prepended modules and alias-method-chain don't play well together.
#
@@ -35,7 +54,7 @@ module RBI; end
# source://tapioca//lib/tapioca/rbi_ext/model.rb#5
class RBI::Tree < ::RBI::NodeWithComments
- # source://rbi/0.0.17/lib/rbi/model.rb#119
+ # source://rbi/0.1.5/lib/rbi/model.rb#119
sig do
params(
loc: T.nilable(::RBI::Loc),
@@ -45,19 +64,19 @@ class RBI::Tree < ::RBI::NodeWithComments
end
def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
- # source://rbi/0.0.17/lib/rbi/model.rb#126
+ # source://rbi/0.1.5/lib/rbi/model.rb#126
sig { params(node: ::RBI::Node).void }
def <<(node); end
- # source://rbi/0.0.17/lib/rbi/printer.rb#226
+ # source://rbi/0.1.5/lib/rbi/printer.rb#226
sig { override.params(v: ::RBI::Printer).void }
def accept_printer(v); end
- # source://rbi/0.0.17/lib/rbi/rewriters/add_sig_templates.rb#66
+ # source://rbi/0.1.5/lib/rbi/rewriters/add_sig_templates.rb#66
sig { params(with_todo_comment: T::Boolean).void }
def add_sig_templates!(with_todo_comment: T.unsafe(nil)); end
- # source://rbi/0.0.17/lib/rbi/rewriters/annotate.rb#49
+ # source://rbi/0.1.5/lib/rbi/rewriters/annotate.rb#49
sig { params(annotation: ::String, annotate_scopes: T::Boolean, annotate_properties: T::Boolean).void }
def annotate!(annotation, annotate_scopes: T.unsafe(nil), annotate_properties: T.unsafe(nil)); end
@@ -121,23 +140,23 @@ class RBI::Tree < ::RBI::NodeWithComments
end
def create_type_variable(name, type:, variance: T.unsafe(nil), fixed: T.unsafe(nil), upper: T.unsafe(nil), lower: T.unsafe(nil)); end
- # source://rbi/0.0.17/lib/rbi/rewriters/deannotate.rb#41
+ # source://rbi/0.1.5/lib/rbi/rewriters/deannotate.rb#41
sig { params(annotation: ::String).void }
def deannotate!(annotation); end
- # source://rbi/0.0.17/lib/rbi/model.rb#132
+ # source://rbi/0.1.5/lib/rbi/model.rb#132
sig { returns(T::Boolean) }
def empty?; end
- # source://rbi/0.0.17/lib/rbi/rewriters/group_nodes.rb#38
+ # source://rbi/0.1.5/lib/rbi/rewriters/group_nodes.rb#38
sig { void }
def group_nodes!; end
- # source://rbi/0.0.17/lib/rbi/index.rb#68
+ # source://rbi/0.1.5/lib/rbi/index.rb#68
sig { returns(::RBI::Index) }
def index; end
- # source://rbi/0.0.17/lib/rbi/rewriters/merge_trees.rb#324
+ # source://rbi/0.1.5/lib/rbi/rewriters/merge_trees.rb#324
sig do
params(
other: ::RBI::Tree,
@@ -148,23 +167,23 @@ class RBI::Tree < ::RBI::NodeWithComments
end
def merge(other, left_name: T.unsafe(nil), right_name: T.unsafe(nil), keep: T.unsafe(nil)); end
- # source://rbi/0.0.17/lib/rbi/rewriters/nest_non_public_methods.rb#46
+ # source://rbi/0.1.5/lib/rbi/rewriters/nest_non_public_methods.rb#46
sig { void }
def nest_non_public_methods!; end
- # source://rbi/0.0.17/lib/rbi/rewriters/nest_singleton_methods.rb#36
+ # source://rbi/0.1.5/lib/rbi/rewriters/nest_singleton_methods.rb#36
sig { void }
def nest_singleton_methods!; end
- # source://rbi/0.0.17/lib/rbi/model.rb#110
+ # source://rbi/0.1.5/lib/rbi/model.rb#110
sig { returns(T::Array[::RBI::Node]) }
def nodes; end
- # source://rbi/0.0.17/lib/rbi/printer.rb#233
+ # source://rbi/0.1.5/lib/rbi/printer.rb#233
sig { override.returns(T::Boolean) }
def oneline?; end
- # source://rbi/0.0.17/lib/rbi/rewriters/sort_nodes.rb#119
+ # source://rbi/0.1.5/lib/rbi/rewriters/sort_nodes.rb#119
sig { void }
def sort_nodes!; end
@@ -185,7 +204,7 @@ class RBI::TypedParam < ::T::Struct
const :type, ::String
class << self
- # source://sorbet-runtime/0.5.10908/lib/types/struct.rb#13
+ # source://sorbet-runtime/0.5.11143/lib/types/struct.rb#13
def inherited(s); end
end
end
@@ -420,40 +439,42 @@ class Tapioca::Cli < ::Thor
include ::Tapioca::ConfigHelper
include ::Tapioca::EnvHelper
- # source://tapioca//lib/tapioca/cli.rb#346
+ # source://tapioca//lib/tapioca/cli.rb#355
def __print_version; end
- # source://tapioca//lib/tapioca/cli.rb#326
+ # source://tapioca//lib/tapioca/cli.rb#337
def annotations; end
- # source://tapioca//lib/tapioca/cli.rb#296
+ # source://tapioca//lib/tapioca/cli.rb#309
def check_shims; end
- # source://tapioca//lib/tapioca/cli.rb#41
+ # source://tapioca//lib/tapioca/cli.rb#46
def configure; end
- # source://tapioca//lib/tapioca/cli.rb#137
+ # source://tapioca//lib/tapioca/cli.rb#138
def dsl(*constant_or_paths); end
- # source://tapioca//lib/tapioca/cli.rb#247
+ # @raise [MalformattedArgumentError]
+ #
+ # source://tapioca//lib/tapioca/cli.rb#253
def gem(*gems); end
# source://tapioca//lib/tapioca/cli.rb#27
def init; end
- # source://tapioca//lib/tapioca/cli.rb#52
+ # source://tapioca//lib/tapioca/cli.rb#57
def require; end
- # source://tapioca//lib/tapioca/cli.rb#71
+ # source://tapioca//lib/tapioca/cli.rb#74
def todo; end
private
- # source://tapioca//lib/tapioca/cli.rb#360
+ # source://tapioca//lib/tapioca/cli.rb#369
def print_init_next_steps; end
class << self
- # source://tapioca//lib/tapioca/cli.rb#352
+ # source://tapioca//lib/tapioca/cli.rb#361
def exit_on_failure?; end
end
end
@@ -481,6 +502,239 @@ end
# source://tapioca//lib/tapioca/commands.rb#5
module Tapioca::Commands; end
+# @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
+#
+# source://tapioca//lib/tapioca/commands/abstract_dsl.rb#6
+class Tapioca::Commands::AbstractDsl < ::Tapioca::Commands::CommandWithoutTracker
+ include ::Tapioca::SorbetHelper
+ include ::Tapioca::RBIFilesHelper
+
+ abstract!
+
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#31
+ sig do
+ params(
+ requested_constants: T::Array[::String],
+ requested_paths: T::Array[::Pathname],
+ outpath: ::Pathname,
+ only: T::Array[::String],
+ exclude: T::Array[::String],
+ file_header: T::Boolean,
+ tapioca_path: ::String,
+ quiet: T::Boolean,
+ verbose: T::Boolean,
+ number_of_workers: T.nilable(::Integer),
+ auto_strictness: T::Boolean,
+ gem_dir: ::String,
+ rbi_formatter: ::Tapioca::RBIFormatter,
+ app_root: ::String,
+ halt_upon_load_error: T::Boolean
+ ).void
+ end
+ def initialize(requested_constants:, requested_paths:, outpath:, only:, exclude:, file_header:, tapioca_path:, quiet: T.unsafe(nil), verbose: T.unsafe(nil), number_of_workers: T.unsafe(nil), auto_strictness: T.unsafe(nil), gem_dir: T.unsafe(nil), rbi_formatter: T.unsafe(nil), app_root: T.unsafe(nil), halt_upon_load_error: T.unsafe(nil)); end
+
+ private
+
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#94
+ sig { returns(T::Array[::String]) }
+ def all_requested_constants; end
+
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#284
+ sig { params(cause: ::Symbol, files: T::Array[::String]).returns(::String) }
+ def build_error_for_files(cause, files); end
+
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#208
+ sig do
+ params(
+ constant_name: ::String,
+ rbi: ::RBI::File,
+ outpath: ::Pathname,
+ quiet: T::Boolean
+ ).returns(T.nilable(::Pathname))
+ end
+ def compile_dsl_rbi(constant_name, rbi, outpath: T.unsafe(nil), quiet: T.unsafe(nil)); end
+
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#146
+ sig { params(constant_names: T::Array[::String], ignore_missing: T::Boolean).returns(T::Array[::Module]) }
+ def constantize(constant_names, ignore_missing: T.unsafe(nil)); end
+
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#169
+ sig { params(compiler_names: T::Array[::String]).returns(T::Array[T.class_of(Tapioca::Dsl::Compiler)]) }
+ def constantize_compilers(compiler_names); end
+
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#344
+ sig { returns(T::Array[::String]) }
+ def constants_from_requested_paths; end
+
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#117
+ sig { returns(::Tapioca::Dsl::Pipeline) }
+ def create_pipeline; end
+
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#247
+ sig { params(constant_name: ::String).returns(::Pathname) }
+ def dsl_rbi_filename(constant_name); end
+
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#132
+ sig { params(requested_constants: T::Array[::String], path: ::Pathname).returns(T::Set[::Pathname]) }
+ def existing_rbi_filenames(requested_constants, path: T.unsafe(nil)); end
+
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#339
+ sig { params(constant: ::String).returns(::String) }
+ def generate_command_for(constant); end
+
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#70
+ sig { params(outpath: ::Pathname, quiet: T::Boolean).returns(T::Set[::Pathname]) }
+ def generate_dsl_rbi_files(outpath, quiet:); end
+
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#107
+ sig { void }
+ def load_application; end
+
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#226
+ sig { params(dir: ::Pathname).void }
+ def perform_dsl_verification(dir); end
+
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#102
+ sig { returns(::Tapioca::Dsl::Pipeline) }
+ def pipeline; end
+
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#235
+ sig { params(files: T::Set[::Pathname]).void }
+ def purge_stale_dsl_rbi_files(files); end
+
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#334
+ sig { params(constant: ::String).returns(::String) }
+ def rbi_filename_for(constant); end
+
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#315
+ sig { params(path: ::Pathname).returns(T::Array[::Pathname]) }
+ def rbi_files_in(path); end
+
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#293
+ sig { params(diff: T::Hash[::String, ::Symbol], command: ::Symbol).void }
+ def report_diff_and_exit_if_out_of_date(diff, command); end
+
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#188
+ sig { params(name: ::String).returns(T.nilable(T.class_of(Tapioca::Dsl::Compiler))) }
+ def resolve(name); end
+
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#322
+ sig { params(class_name: ::String).returns(::String) }
+ def underscore(class_name); end
+
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#252
+ sig { params(tmp_dir: ::Pathname).returns(T::Hash[::String, ::Symbol]) }
+ def verify_dsl_rbi(tmp_dir:); end
+end
+
+# @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
+#
+# source://tapioca//lib/tapioca/commands/abstract_gem.rb#6
+class Tapioca::Commands::AbstractGem < ::Tapioca::Commands::Command
+ include ::Tapioca::SorbetHelper
+ include ::Tapioca::RBIFilesHelper
+
+ abstract!
+
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#32
+ sig do
+ params(
+ gem_names: T::Array[::String],
+ exclude: T::Array[::String],
+ include_dependencies: T::Boolean,
+ prerequire: T.nilable(::String),
+ postrequire: ::String,
+ typed_overrides: T::Hash[::String, ::String],
+ outpath: ::Pathname,
+ file_header: T::Boolean,
+ include_doc: T::Boolean,
+ include_loc: T::Boolean,
+ include_exported_rbis: T::Boolean,
+ number_of_workers: T.nilable(::Integer),
+ auto_strictness: T::Boolean,
+ dsl_dir: ::String,
+ rbi_formatter: ::Tapioca::RBIFormatter,
+ halt_upon_load_error: T::Boolean
+ ).void
+ end
+ def initialize(gem_names:, exclude:, include_dependencies:, prerequire:, postrequire:, typed_overrides:, outpath:, file_header:, include_doc:, include_loc:, include_exported_rbis:, number_of_workers: T.unsafe(nil), auto_strictness: T.unsafe(nil), dsl_dir: T.unsafe(nil), rbi_formatter: T.unsafe(nil), halt_upon_load_error: T.unsafe(nil)); end
+
+ private
+
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#221
+ sig { returns(T::Array[::String]) }
+ def added_rbis; end
+
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#282
+ sig { params(cause: ::Symbol, files: T::Array[::String]).returns(::String) }
+ def build_error_for_files(cause, files); end
+
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#110
+ sig { params(gem: ::Tapioca::Gemfile::GemSpec).void }
+ def compile_gem_rbi(gem); end
+
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#216
+ sig { params(gem_name: ::String).returns(::Pathname) }
+ def existing_rbi(gem_name); end
+
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#264
+ sig { returns(T::Hash[::String, ::String]) }
+ def existing_rbis; end
+
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#228
+ sig { params(gem_name: ::String).returns(::Pathname) }
+ def expected_rbi(gem_name); end
+
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#270
+ sig { returns(T::Hash[::String, ::String]) }
+ def expected_rbis; end
+
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#98
+ sig do
+ params(
+ gem: ::Tapioca::Gemfile::GemSpec,
+ dependencies: T::Array[::Tapioca::Gemfile::GemSpec]
+ ).returns(T::Array[::Tapioca::Gemfile::GemSpec])
+ end
+ def gem_dependencies(gem, dependencies = T.unsafe(nil)); end
+
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#233
+ sig { params(gem_name: ::String).returns(T::Boolean) }
+ def gem_rbi_exists?(gem_name); end
+
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#277
+ sig { params(gem_name: ::String, version: ::String).returns(::Pathname) }
+ def gem_rbi_filename(gem_name, version); end
+
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#77
+ sig { params(gem_names: T::Array[::String]).returns(T::Array[::Tapioca::Gemfile::GemSpec]) }
+ def gems_to_generate(gem_names); end
+
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#287
+ sig { params(gem: ::Tapioca::Gemfile::GemSpec, file: ::RBI::File).void }
+ def merge_with_exported_rbi(gem, file); end
+
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#258
+ sig { params(old_filename: ::Pathname, new_filename: ::Pathname).void }
+ def move(old_filename, new_filename); end
+
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#168
+ sig { void }
+ def perform_additions; end
+
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#141
+ sig { void }
+ def perform_removals; end
+
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#211
+ sig { returns(T::Array[::String]) }
+ def removed_rbis; end
+
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#238
+ sig { params(diff: T::Hash[::String, ::Symbol], command: ::Symbol).void }
+ def report_diff_and_exit_if_out_of_date(diff, command); end
+end
+
# source://tapioca//lib/tapioca/commands/annotations.rb#6
class Tapioca::Commands::Annotations < ::Tapioca::Commands::CommandWithoutTracker
# source://tapioca//lib/tapioca/commands/annotations.rb#18
@@ -495,69 +749,69 @@ class Tapioca::Commands::Annotations < ::Tapioca::Commands::CommandWithoutTracke
end
def initialize(central_repo_root_uris:, auth: T.unsafe(nil), netrc_file: T.unsafe(nil), central_repo_index_path: T.unsafe(nil), typed_overrides: T.unsafe(nil)); end
- # source://tapioca//lib/tapioca/commands/annotations.rb#36
- sig { override.void }
- def execute; end
-
private
- # source://tapioca//lib/tapioca/commands/annotations.rb#191
+ # source://tapioca//lib/tapioca/commands/annotations.rb#193
sig { params(name: ::String, content: ::String).returns(::String) }
def add_header(name, content); end
- # source://tapioca//lib/tapioca/commands/annotations.rb#211
+ # source://tapioca//lib/tapioca/commands/annotations.rb#213
sig { params(name: ::String, content: ::String).returns(::String) }
def apply_typed_override(name, content); end
- # source://tapioca//lib/tapioca/commands/annotations.rb#132
+ # source://tapioca//lib/tapioca/commands/annotations.rb#39
+ sig { override.void }
+ def execute; end
+
+ # source://tapioca//lib/tapioca/commands/annotations.rb#136
sig { params(repo_uris: T::Array[::String], gem_name: ::String).void }
def fetch_annotation(repo_uris, gem_name); end
- # source://tapioca//lib/tapioca/commands/annotations.rb#109
+ # source://tapioca//lib/tapioca/commands/annotations.rb#113
sig { params(gem_names: T::Array[::String]).returns(T::Array[::String]) }
def fetch_annotations(gem_names); end
- # source://tapioca//lib/tapioca/commands/annotations.rb#150
+ # source://tapioca//lib/tapioca/commands/annotations.rb#152
sig { params(repo_uri: ::String, path: ::String).returns(T.nilable(::String)) }
def fetch_file(repo_uri, path); end
- # source://tapioca//lib/tapioca/commands/annotations.rb#167
+ # source://tapioca//lib/tapioca/commands/annotations.rb#169
sig { params(repo_uri: ::String, path: ::String).returns(T.nilable(::String)) }
def fetch_http_file(repo_uri, path); end
- # source://tapioca//lib/tapioca/commands/annotations.rb#98
+ # source://tapioca//lib/tapioca/commands/annotations.rb#102
sig { params(repo_uri: ::String, repo_number: T.nilable(::Integer)).returns(T.nilable(Tapioca::RepoIndex)) }
def fetch_index(repo_uri, repo_number:); end
- # source://tapioca//lib/tapioca/commands/annotations.rb#77
+ # source://tapioca//lib/tapioca/commands/annotations.rb#81
sig { returns(T::Hash[::String, Tapioca::RepoIndex]) }
def fetch_indexes; end
- # source://tapioca//lib/tapioca/commands/annotations.rb#159
+ # source://tapioca//lib/tapioca/commands/annotations.rb#161
sig { params(repo_uri: ::String, path: ::String).returns(T.nilable(::String)) }
def fetch_local_file(repo_uri, path); end
- # source://tapioca//lib/tapioca/commands/annotations.rb#46
+ # source://tapioca//lib/tapioca/commands/annotations.rb#50
sig { returns(T::Array[::String]) }
def list_gemfile_gems; end
- # source://tapioca//lib/tapioca/commands/annotations.rb#223
+ # source://tapioca//lib/tapioca/commands/annotations.rb#225
sig { params(gem_name: ::String, contents: T::Array[::String]).returns(T.nilable(::String)) }
def merge_files(gem_name, contents); end
- # source://tapioca//lib/tapioca/commands/annotations.rb#56
+ # source://tapioca//lib/tapioca/commands/annotations.rb#60
sig { params(project_gems: T::Array[::String]).void }
def remove_expired_annotations(project_gems); end
- # source://tapioca//lib/tapioca/commands/annotations.rb#250
+ # source://tapioca//lib/tapioca/commands/annotations.rb#252
sig { returns(T::Hash[::String, T.nilable(::String)]) }
def repo_tokens; end
- # source://tapioca//lib/tapioca/commands/annotations.rb#278
+ # source://tapioca//lib/tapioca/commands/annotations.rb#280
sig { params(path: ::String, repo_uri: ::String, message: ::String).void }
def say_http_error(path, repo_uri, message:); end
- # source://tapioca//lib/tapioca/commands/annotations.rb#262
+ # source://tapioca//lib/tapioca/commands/annotations.rb#264
sig { params(repo_uri: ::String).returns(T.nilable(::String)) }
def token_for(repo_uri); end
end
@@ -581,7 +835,9 @@ class Tapioca::Commands::CheckShims < ::Tapioca::Commands::CommandWithoutTracker
end
def initialize(gem_rbi_dir:, dsl_rbi_dir:, annotations_rbi_dir:, shim_rbi_dir:, todo_rbi_file:, payload:, number_of_workers:); end
- # source://tapioca//lib/tapioca/commands/check_shims.rb#42
+ private
+
+ # source://tapioca//lib/tapioca/commands/check_shims.rb#44
sig { override.void }
def execute; end
end
@@ -603,19 +859,17 @@ class Tapioca::Commands::Command
sig { void }
def initialize; end
- # @abstract
- #
- # source://tapioca//lib/tapioca/commands/command.rb#25
- sig { abstract.void }
- def execute; end
-
- # source://thor/1.2.2/lib/thor/base.rb#139
+ # source://thor/1.3.0/lib/thor/base.rb#155
sig { returns(::Thor::Actions) }
def file_writer; end
+ # source://tapioca//lib/tapioca/commands/command.rb#25
+ sig(:final) { void }
+ def run; end
+
private
- # source://tapioca//lib/tapioca/commands/command.rb#46
+ # source://tapioca//lib/tapioca/commands/command.rb#53
sig do
params(
path: T.any(::Pathname, ::String),
@@ -627,11 +881,17 @@ class Tapioca::Commands::Command
end
def create_file(path, content, force: T.unsafe(nil), skip: T.unsafe(nil), verbose: T.unsafe(nil)); end
- # source://tapioca//lib/tapioca/commands/command.rb#30
+ # source://tapioca//lib/tapioca/commands/command.rb#37
sig { params(command: ::Symbol, args: ::String).returns(::String) }
def default_command(command, *args); end
- # source://tapioca//lib/tapioca/commands/command.rb#56
+ # @abstract
+ #
+ # source://tapioca//lib/tapioca/commands/command.rb#34
+ sig { abstract.void }
+ def execute; end
+
+ # source://tapioca//lib/tapioca/commands/command.rb#63
sig { params(path: T.any(::Pathname, ::String), verbose: T::Boolean).void }
def remove_file(path, verbose: T.unsafe(nil)); end
end
@@ -659,10 +919,6 @@ class Tapioca::Commands::Configure < ::Tapioca::Commands::CommandWithoutTracker
sig { params(sorbet_config: ::String, tapioca_config: ::String, default_postrequire: ::String).void }
def initialize(sorbet_config:, tapioca_config:, default_postrequire:); end
- # source://tapioca//lib/tapioca/commands/configure.rb#30
- sig { override.void }
- def execute; end
-
private
# source://tapioca//lib/tapioca/commands/configure.rb#79
@@ -681,6 +937,10 @@ class Tapioca::Commands::Configure < ::Tapioca::Commands::CommandWithoutTracker
sig { void }
def create_tapioca_config; end
+ # source://tapioca//lib/tapioca/commands/configure.rb#32
+ sig { override.void }
+ def execute; end
+
# source://tapioca//lib/tapioca/commands/configure.rb#92
sig { returns(::Bundler::Installer) }
def installer; end
@@ -690,224 +950,62 @@ class Tapioca::Commands::Configure < ::Tapioca::Commands::CommandWithoutTracker
def spec; end
end
-# source://tapioca//lib/tapioca/commands/dsl.rb#6
-class Tapioca::Commands::Dsl < ::Tapioca::Commands::CommandWithoutTracker
- include ::Tapioca::SorbetHelper
- include ::Tapioca::RBIFilesHelper
-
- # source://tapioca//lib/tapioca/commands/dsl.rb#30
- sig do
- params(
- requested_constants: T::Array[::String],
- requested_paths: T::Array[::Pathname],
- outpath: ::Pathname,
- only: T::Array[::String],
- exclude: T::Array[::String],
- file_header: T::Boolean,
- tapioca_path: ::String,
- should_verify: T::Boolean,
- quiet: T::Boolean,
- verbose: T::Boolean,
- number_of_workers: T.nilable(::Integer),
- auto_strictness: T::Boolean,
- gem_dir: ::String,
- rbi_formatter: ::Tapioca::RBIFormatter,
- app_root: ::String,
- halt_upon_load_error: T::Boolean
- ).void
- end
- def initialize(requested_constants:, requested_paths:, outpath:, only:, exclude:, file_header:, tapioca_path:, should_verify: T.unsafe(nil), quiet: T.unsafe(nil), verbose: T.unsafe(nil), number_of_workers: T.unsafe(nil), auto_strictness: T.unsafe(nil), gem_dir: T.unsafe(nil), rbi_formatter: T.unsafe(nil), app_root: T.unsafe(nil), halt_upon_load_error: T.unsafe(nil)); end
+# source://tapioca//lib/tapioca/commands/dsl_compiler_list.rb#6
+class Tapioca::Commands::DslCompilerList < ::Tapioca::Commands::AbstractDsl
+ private
- # source://tapioca//lib/tapioca/commands/dsl.rb#97
+ # source://tapioca//lib/tapioca/commands/dsl_compiler_list.rb#10
sig { override.void }
def execute; end
+end
- # source://tapioca//lib/tapioca/commands/dsl.rb#69
- sig { void }
- def list_compilers; end
-
+# source://tapioca//lib/tapioca/commands/dsl_generate.rb#6
+class Tapioca::Commands::DslGenerate < ::Tapioca::Commands::AbstractDsl
private
- # source://tapioca//lib/tapioca/commands/dsl.rb#330
- sig { params(cause: ::Symbol, files: T::Array[::String]).returns(::String) }
- def build_error_for_files(cause, files); end
-
- # source://tapioca//lib/tapioca/commands/dsl.rb#254
- sig do
- params(
- constant_name: ::String,
- rbi: ::RBI::File,
- outpath: ::Pathname,
- quiet: T::Boolean
- ).returns(T.nilable(::Pathname))
- end
- def compile_dsl_rbi(constant_name, rbi, outpath: T.unsafe(nil), quiet: T.unsafe(nil)); end
-
- # source://tapioca//lib/tapioca/commands/dsl.rb#192
- sig { params(constant_names: T::Array[::String], ignore_missing: T::Boolean).returns(T::Array[::Module]) }
- def constantize(constant_names, ignore_missing: T.unsafe(nil)); end
-
- # source://tapioca//lib/tapioca/commands/dsl.rb#215
- sig { params(compiler_names: T::Array[::String]).returns(T::Array[T.class_of(Tapioca::Dsl::Compiler)]) }
- def constantize_compilers(compiler_names); end
-
- # source://tapioca//lib/tapioca/commands/dsl.rb#390
- sig { returns(T::Array[::String]) }
- def constants_from_requested_paths; end
-
- # source://tapioca//lib/tapioca/commands/dsl.rb#163
- sig { returns(::Tapioca::Dsl::Pipeline) }
- def create_pipeline; end
-
- # source://tapioca//lib/tapioca/commands/dsl.rb#293
- sig { params(constant_name: ::String).returns(::Pathname) }
- def dsl_rbi_filename(constant_name); end
-
- # source://tapioca//lib/tapioca/commands/dsl.rb#178
- sig { params(requested_constants: T::Array[::String], path: ::Pathname).returns(T::Set[::Pathname]) }
- def existing_rbi_filenames(requested_constants, path: T.unsafe(nil)); end
-
- # source://tapioca//lib/tapioca/commands/dsl.rb#385
- sig { params(constant: ::String).returns(::String) }
- def generate_command_for(constant); end
-
- # source://tapioca//lib/tapioca/commands/dsl.rb#272
- sig { params(dir: ::Pathname).void }
- def perform_dsl_verification(dir); end
-
- # source://tapioca//lib/tapioca/commands/dsl.rb#281
- sig { params(files: T::Set[::Pathname]).void }
- def purge_stale_dsl_rbi_files(files); end
-
- # source://tapioca//lib/tapioca/commands/dsl.rb#380
- sig { params(constant: ::String).returns(::String) }
- def rbi_filename_for(constant); end
-
- # source://tapioca//lib/tapioca/commands/dsl.rb#361
- sig { params(path: ::Pathname).returns(T::Array[::Pathname]) }
- def rbi_files_in(path); end
-
- # source://tapioca//lib/tapioca/commands/dsl.rb#339
- sig { params(diff: T::Hash[::String, ::Symbol], command: ::Symbol).void }
- def report_diff_and_exit_if_out_of_date(diff, command); end
-
- # source://tapioca//lib/tapioca/commands/dsl.rb#234
- sig { params(name: ::String).returns(T.nilable(T.class_of(Tapioca::Dsl::Compiler))) }
- def resolve(name); end
-
- # source://tapioca//lib/tapioca/commands/dsl.rb#368
- sig { params(class_name: ::String).returns(::String) }
- def underscore(class_name); end
-
- # source://tapioca//lib/tapioca/commands/dsl.rb#298
- sig { params(tmp_dir: ::Pathname).returns(T::Hash[::String, ::Symbol]) }
- def verify_dsl_rbi(tmp_dir:); end
+ # source://tapioca//lib/tapioca/commands/dsl_generate.rb#10
+ sig { override.void }
+ def execute; end
end
-# source://tapioca//lib/tapioca/commands/gem.rb#6
-class Tapioca::Commands::Gem < ::Tapioca::Commands::Command
- include ::Tapioca::SorbetHelper
- include ::Tapioca::RBIFilesHelper
-
- # source://tapioca//lib/tapioca/commands/gem.rb#29
- sig do
- params(
- gem_names: T::Array[::String],
- exclude: T::Array[::String],
- prerequire: T.nilable(::String),
- postrequire: ::String,
- typed_overrides: T::Hash[::String, ::String],
- outpath: ::Pathname,
- file_header: T::Boolean,
- include_doc: T::Boolean,
- include_loc: T::Boolean,
- include_exported_rbis: T::Boolean,
- number_of_workers: T.nilable(::Integer),
- auto_strictness: T::Boolean,
- dsl_dir: ::String,
- rbi_formatter: ::Tapioca::RBIFormatter,
- halt_upon_load_error: T::Boolean
- ).void
- end
- def initialize(gem_names:, exclude:, prerequire:, postrequire:, typed_overrides:, outpath:, file_header:, include_doc:, include_loc:, include_exported_rbis:, number_of_workers: T.unsafe(nil), auto_strictness: T.unsafe(nil), dsl_dir: T.unsafe(nil), rbi_formatter: T.unsafe(nil), halt_upon_load_error: T.unsafe(nil)); end
+# source://tapioca//lib/tapioca/commands/dsl_verify.rb#6
+class Tapioca::Commands::DslVerify < ::Tapioca::Commands::AbstractDsl
+ private
- # source://tapioca//lib/tapioca/commands/gem.rb#70
+ # source://tapioca//lib/tapioca/commands/dsl_verify.rb#10
sig { override.void }
def execute; end
+end
- # source://tapioca//lib/tapioca/commands/gem.rb#109
- sig { params(should_verify: T::Boolean, exclude: T::Array[::String]).void }
- def sync(should_verify: T.unsafe(nil), exclude: T.unsafe(nil)); end
-
+# source://tapioca//lib/tapioca/commands/gem_generate.rb#6
+class Tapioca::Commands::GemGenerate < ::Tapioca::Commands::AbstractGem
private
- # source://tapioca//lib/tapioca/commands/gem.rb#288
- sig { returns(T::Array[::String]) }
- def added_rbis; end
-
- # source://tapioca//lib/tapioca/commands/gem.rb#349
- sig { params(cause: ::Symbol, files: T::Array[::String]).returns(::String) }
- def build_error_for_files(cause, files); end
-
- # source://tapioca//lib/tapioca/commands/gem.rb#158
- sig { params(gem: ::Tapioca::Gemfile::GemSpec).void }
- def compile_gem_rbi(gem); end
-
- # source://tapioca//lib/tapioca/commands/gem.rb#283
- sig { params(gem_name: ::String).returns(::Pathname) }
- def existing_rbi(gem_name); end
-
- # source://tapioca//lib/tapioca/commands/gem.rb#331
- sig { returns(T::Hash[::String, ::String]) }
- def existing_rbis; end
-
- # source://tapioca//lib/tapioca/commands/gem.rb#295
- sig { params(gem_name: ::String).returns(::Pathname) }
- def expected_rbi(gem_name); end
-
- # source://tapioca//lib/tapioca/commands/gem.rb#337
- sig { returns(T::Hash[::String, ::String]) }
- def expected_rbis; end
-
- # source://tapioca//lib/tapioca/commands/gem.rb#300
- sig { params(gem_name: ::String).returns(T::Boolean) }
- def gem_rbi_exists?(gem_name); end
-
- # source://tapioca//lib/tapioca/commands/gem.rb#344
- sig { params(gem_name: ::String, version: ::String).returns(::Pathname) }
- def gem_rbi_filename(gem_name, version); end
+ # source://tapioca//lib/tapioca/commands/gem_generate.rb#10
+ sig { override.void }
+ def execute; end
+end
- # source://tapioca//lib/tapioca/commands/gem.rb#143
- sig { params(gem_names: T::Array[::String]).returns(T::Array[::Tapioca::Gemfile::GemSpec]) }
- def gems_to_generate(gem_names); end
+# source://tapioca//lib/tapioca/commands/gem_sync.rb#6
+class Tapioca::Commands::GemSync < ::Tapioca::Commands::AbstractGem
+ private
- # source://tapioca//lib/tapioca/commands/gem.rb#354
- sig { params(gem: ::Tapioca::Gemfile::GemSpec, file: ::RBI::File).void }
- def merge_with_exported_rbi(gem, file); end
+ # source://tapioca//lib/tapioca/commands/gem_sync.rb#10
+ sig { override.void }
+ def execute; end
+end
- # source://tapioca//lib/tapioca/commands/gem.rb#325
- sig { params(old_filename: ::Pathname, new_filename: ::Pathname).void }
- def move(old_filename, new_filename); end
+# source://tapioca//lib/tapioca/commands/gem_verify.rb#6
+class Tapioca::Commands::GemVerify < ::Tapioca::Commands::AbstractGem
+ private
- # source://tapioca//lib/tapioca/commands/gem.rb#235
- sig { void }
- def perform_additions; end
+ # source://tapioca//lib/tapioca/commands/gem_verify.rb#10
+ sig { override.void }
+ def execute; end
- # source://tapioca//lib/tapioca/commands/gem.rb#208
+ # source://tapioca//lib/tapioca/commands/gem_verify.rb#17
sig { void }
- def perform_removals; end
-
- # source://tapioca//lib/tapioca/commands/gem.rb#189
- sig { params(exclude: T::Array[::String]).void }
- def perform_sync_verification(exclude: T.unsafe(nil)); end
-
- # source://tapioca//lib/tapioca/commands/gem.rb#278
- sig { returns(T::Array[::String]) }
- def removed_rbis; end
-
- # source://tapioca//lib/tapioca/commands/gem.rb#305
- sig { params(diff: T::Hash[::String, ::Symbol], command: ::Symbol).void }
- def report_diff_and_exit_if_out_of_date(diff, command); end
+ def perform_sync_verification; end
end
# source://tapioca//lib/tapioca/commands/require.rb#6
@@ -916,7 +1014,9 @@ class Tapioca::Commands::Require < ::Tapioca::Commands::CommandWithoutTracker
sig { params(requires_path: ::String, sorbet_config_path: ::String).void }
def initialize(requires_path:, sorbet_config_path:); end
- # source://tapioca//lib/tapioca/commands/require.rb#21
+ private
+
+ # source://tapioca//lib/tapioca/commands/require.rb#23
sig { override.void }
def execute; end
end
@@ -925,25 +1025,32 @@ end
class Tapioca::Commands::Todo < ::Tapioca::Commands::CommandWithoutTracker
include ::Tapioca::SorbetHelper
- # source://tapioca//lib/tapioca/commands/todo.rb#15
+ # source://tapioca//lib/tapioca/commands/todo.rb#26
sig { params(todo_file: ::String, file_header: T::Boolean).void }
def initialize(todo_file:, file_header:); end
- # source://tapioca//lib/tapioca/commands/todo.rb#23
- sig { override.void }
- def execute; end
+ # source://tapioca//lib/tapioca/commands/todo.rb#34
+ sig { void }
+ def run_with_deprecation; end
private
- # source://tapioca//lib/tapioca/commands/todo.rb#49
+ # source://tapioca//lib/tapioca/commands/todo.rb#44
+ sig { override.void }
+ def execute; end
+
+ # source://tapioca//lib/tapioca/commands/todo.rb#68
sig { params(constants: T::Array[::String], command: ::String).returns(::RBI::File) }
def rbi(constants, command:); end
- # source://tapioca//lib/tapioca/commands/todo.rb#69
+ # source://tapioca//lib/tapioca/commands/todo.rb#88
sig { returns(T::Array[::String]) }
def unresolved_constants; end
end
+# source://tapioca//lib/tapioca/commands/todo.rb#9
+Tapioca::Commands::Todo::DEPRECATION_MESSAGE = T.let(T.unsafe(nil), String)
+
# source://tapioca//lib/tapioca/helpers/config_helper.rb#5
module Tapioca::ConfigHelper
requires_ancestor { Thor }
@@ -1014,7 +1121,7 @@ class Tapioca::ConfigHelper::ConfigError < ::T::Struct
const :message_parts, T::Array[::Tapioca::ConfigHelper::ConfigErrorMessagePart]
class << self
- # source://sorbet-runtime/0.5.10908/lib/types/struct.rb#13
+ # source://sorbet-runtime/0.5.11143/lib/types/struct.rb#13
def inherited(s); end
end
end
@@ -1025,7 +1132,7 @@ class Tapioca::ConfigHelper::ConfigErrorMessagePart < ::T::Struct
const :colors, T::Array[::Symbol]
class << self
- # source://sorbet-runtime/0.5.10908/lib/types/struct.rb#13
+ # source://sorbet-runtime/0.5.11143/lib/types/struct.rb#13
def inherited(s); end
end
end
@@ -1082,17 +1189,17 @@ class Tapioca::Dsl::Compiler
ConstantType = type_member { { upper: Module } }
- # source://tapioca//lib/tapioca/dsl/compiler.rb#60
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#64
sig { params(pipeline: ::Tapioca::Dsl::Pipeline, root: ::RBI::Tree, constant: ConstantType).void }
def initialize(pipeline, root, constant); end
# NOTE: This should eventually accept an `Error` object or `Exception` rather than simply a `String`.
#
- # source://tapioca//lib/tapioca/dsl/compiler.rb#77
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#81
sig { params(error: ::String).void }
def add_error(error); end
- # source://tapioca//lib/tapioca/dsl/compiler.rb#68
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#72
sig { params(compiler_name: ::String).returns(T::Boolean) }
def compiler_enabled?(compiler_name); end
@@ -1102,7 +1209,7 @@ class Tapioca::Dsl::Compiler
# @abstract
#
- # source://tapioca//lib/tapioca/dsl/compiler.rb#73
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#77
sig { abstract.void }
def decorate; end
@@ -1112,21 +1219,21 @@ class Tapioca::Dsl::Compiler
private
- # source://tapioca//lib/tapioca/dsl/compiler.rb#126
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#130
sig { params(method_def: T.any(::Method, ::UnboundMethod)).returns(T::Array[::RBI::TypedParam]) }
def compile_method_parameters_to_rbi(method_def); end
- # source://tapioca//lib/tapioca/dsl/compiler.rb#162
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#166
sig { params(method_def: T.any(::Method, ::UnboundMethod)).returns(::String) }
def compile_method_return_type_to_rbi(method_def); end
- # source://tapioca//lib/tapioca/dsl/compiler.rb#116
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#120
sig { params(scope: ::RBI::Scope, method_def: T.any(::Method, ::UnboundMethod), class_method: T::Boolean).void }
def create_method_from_def(scope, method_def, class_method: T.unsafe(nil)); end
# Get the types of each parameter from a method signature
#
- # source://tapioca//lib/tapioca/dsl/compiler.rb#90
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#94
sig { params(method_def: T.any(::Method, ::UnboundMethod), signature: T.untyped).returns(T::Array[::String]) }
def parameters_types_from_signature(method_def, signature); end
@@ -1151,7 +1258,7 @@ class Tapioca::Dsl::Compiler
sig { returns(T::Enumerable[T::Class[T.anything]]) }
def all_classes; end
- # source://tapioca//lib/tapioca/dsl/compiler.rb#53
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#55
sig { returns(T::Enumerable[::Module]) }
def all_modules; end
end
@@ -1228,15 +1335,15 @@ class Tapioca::Dsl::Pipeline
private
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#193
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#195
sig { void }
def abort_if_pending_migrations!; end
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#139
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#141
sig { params(constants: T::Set[::Module]).returns(T::Set[::Module]) }
def filter_anonymous_and_reloaded_constants(constants); end
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#122
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#124
sig do
params(
requested_compilers: T::Array[T.class_of(Tapioca::Dsl::Compiler)],
@@ -1245,7 +1352,7 @@ class Tapioca::Dsl::Pipeline
end
def gather_active_compilers(requested_compilers, excluded_compilers); end
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#130
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#132
sig do
params(
requested_constants: T::Array[::Module],
@@ -1254,11 +1361,11 @@ class Tapioca::Dsl::Pipeline
end
def gather_constants(requested_constants, requested_paths); end
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#167
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#169
sig { params(constant: ::Module).returns(T.nilable(::RBI::File)) }
def rbi_for_constant(constant); end
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#186
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#188
sig { params(error: ::String).returns(T.noreturn) }
def report_error(error); end
end
@@ -1796,7 +1903,7 @@ class Tapioca::Gem::Pipeline
sig { returns(::RBI::Tree) }
def compile; end
- # source://tapioca//lib/tapioca/gem/pipeline.rb#110
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#119
sig { params(name: T.any(::String, ::Symbol)).returns(T::Boolean) }
def constant_in_gem?(name); end
@@ -1804,31 +1911,33 @@ class Tapioca::Gem::Pipeline
sig { returns(::Tapioca::Gemfile::GemSpec) }
def gem; end
- # source://tapioca//lib/tapioca/gem/pipeline.rb#122
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#137
sig { params(method: ::UnboundMethod).returns(T::Boolean) }
def method_in_gem?(method); end
- # source://tapioca//lib/tapioca/gem/pipeline.rb#130
+ # Helpers
+ #
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#147
sig { params(constant: ::Module).returns(T.nilable(::String)) }
def name_of(constant); end
- # source://tapioca//lib/tapioca/gem/pipeline.rb#69
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#71
sig { params(symbol: ::String, constant: ::Module, node: ::RBI::Const).void }
def push_const(symbol, constant, node); end
- # source://tapioca//lib/tapioca/gem/pipeline.rb#59
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#61
sig { params(symbol: ::String, constant: ::BasicObject).void }
def push_constant(symbol, constant); end
- # source://tapioca//lib/tapioca/gem/pipeline.rb#64
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#66
sig { params(symbol: ::String, constant: ::Module).void }
def push_foreign_constant(symbol, constant); end
- # source://tapioca//lib/tapioca/gem/pipeline.rb#83
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#85
sig { params(symbol: ::String, constant: ::Module, node: ::RBI::Scope).void }
def push_foreign_scope(symbol, constant, node); end
- # source://tapioca//lib/tapioca/gem/pipeline.rb#97
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#99
sig do
params(
symbol: ::String,
@@ -1841,103 +1950,148 @@ class Tapioca::Gem::Pipeline
end
def push_method(symbol, constant, method, node, signature, parameters); end
- # source://tapioca//lib/tapioca/gem/pipeline.rb#76
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#78
sig { params(symbol: ::String, constant: ::Module, node: ::RBI::Scope).void }
def push_scope(symbol, constant, node); end
- # source://tapioca//lib/tapioca/gem/pipeline.rb#54
+ # Events handling
+ #
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#56
sig { params(symbol: ::String).void }
def push_symbol(symbol); end
- # source://tapioca//lib/tapioca/gem/pipeline.rb#102
+ # Constants and properties filtering
+ #
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#106
sig { params(symbol_name: ::String).returns(T::Boolean) }
def symbol_in_payload?(symbol_name); end
private
- # source://tapioca//lib/tapioca/gem/pipeline.rb#376
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#441
sig { params(name: ::String).void }
def add_to_alias_namespace(name); end
- # source://tapioca//lib/tapioca/gem/pipeline.rb#381
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#446
sig { params(name: ::String).returns(T::Boolean) }
def alias_namespaced?(name); end
- # source://tapioca//lib/tapioca/gem/pipeline.rb#225
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#244
sig { params(name: ::String, constant: ::Module).void }
def compile_alias(name, constant); end
- # source://tapioca//lib/tapioca/gem/pipeline.rb#211
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#230
sig { params(symbol: ::String, constant: ::BasicObject).void }
def compile_constant(symbol, constant); end
- # Compile
+ # Compiling
#
- # source://tapioca//lib/tapioca/gem/pipeline.rb#206
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#219
sig { params(symbol: ::String, constant: ::Module).void }
def compile_foreign_constant(symbol, constant); end
- # source://tapioca//lib/tapioca/gem/pipeline.rb#283
- sig { params(name: ::String, constant: ::Module, foreign_constant: T::Boolean).void }
- def compile_module(name, constant, foreign_constant: T.unsafe(nil)); end
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#300
+ sig { params(name: ::String, constant: ::Module).void }
+ def compile_module(name, constant); end
- # source://tapioca//lib/tapioca/gem/pipeline.rb#247
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#265
sig { params(name: ::String, value: ::BasicObject).void }
def compile_object(name, value); end
- # source://tapioca//lib/tapioca/gem/pipeline.rb#308
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#311
+ sig { params(name: ::String, constant: ::Module).returns(::RBI::Scope) }
+ def compile_scope(name, constant); end
+
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#325
sig { params(constant: T::Class[T.anything]).returns(T.nilable(::String)) }
def compile_superclass(constant); end
- # source://tapioca//lib/tapioca/gem/pipeline.rb#357
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#422
sig { params(constant: ::Module, strict: T::Boolean).returns(T::Boolean) }
def defined_in_gem?(constant, strict: T.unsafe(nil)); end
- # source://tapioca//lib/tapioca/gem/pipeline.rb#158
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#177
sig { params(event: ::Tapioca::Gem::Event).void }
def dispatch(event); end
- # source://tapioca//lib/tapioca/gem/pipeline.rb#398
+ # Helpers
+ #
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#465
sig { params(constant: T.all(::Module, ::T::Generic)).returns(::String) }
def generic_name_of(constant); end
- # source://tapioca//lib/tapioca/gem/pipeline.rb#369
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#434
sig { params(constant: ::Module).returns(T::Set[::String]) }
def get_file_candidates(constant); end
- # source://tapioca//lib/tapioca/gem/pipeline.rb#145
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#162
sig { params(gem: ::Tapioca::Gemfile::GemSpec).returns(T::Set[::String]) }
def load_bootstrap_symbols(gem); end
- # source://tapioca//lib/tapioca/gem/pipeline.rb#388
- sig { params(name: ::String).void }
- def mark_seen(name); end
-
- # source://tapioca//lib/tapioca/gem/pipeline.rb#414
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#481
sig { params(constant: ::Module, class_name: T.nilable(::String)).returns(T.nilable(::String)) }
def name_of_proxy_target(constant, class_name); end
- # source://tapioca//lib/tapioca/gem/pipeline.rb#153
+ # Events handling
+ #
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#172
sig { returns(::Tapioca::Gem::Event) }
def next_event; end
- # source://tapioca//lib/tapioca/gem/pipeline.rb#181
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#200
sig { params(event: ::Tapioca::Gem::ConstantFound).void }
def on_constant(event); end
- # source://tapioca//lib/tapioca/gem/pipeline.rb#199
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#212
sig { params(event: ::Tapioca::Gem::NodeAdded).void }
def on_node(event); end
- # source://tapioca//lib/tapioca/gem/pipeline.rb#172
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#191
sig { params(event: ::Tapioca::Gem::SymbolFound).void }
def on_symbol(event); end
- # source://tapioca//lib/tapioca/gem/pipeline.rb#393
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#453
+ sig { params(name: ::String).void }
+ def seen!(name); end
+
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#458
sig { params(name: ::String).returns(T::Boolean) }
def seen?(name); end
+
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#393
+ sig { params(name: ::String, constant: ::Module).returns(T::Boolean) }
+ def skip_alias?(name, constant); end
+
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#381
+ sig { params(name: ::String, constant: T.anything).returns(T::Boolean) }
+ def skip_constant?(name, constant); end
+
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#409
+ sig { params(name: ::String, constant: ::Module).returns(T::Boolean) }
+ def skip_foreign_constant?(name, constant); end
+
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#414
+ sig { params(name: ::String, constant: ::Module).returns(T::Boolean) }
+ def skip_module?(name, constant); end
+
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#401
+ sig { params(name: ::String, constant: ::BasicObject).returns(T::Boolean) }
+ def skip_object?(name, constant); end
+
+ # Constants and properties filtering
+ #
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#376
+ sig { params(name: ::String).returns(T::Boolean) }
+ def skip_symbol?(name); end
end
+# this looks something like:
+# "(eval at /path/to/file.rb:123)"
+# and we are just interested in the "/path/to/file.rb" part
+#
+# source://tapioca//lib/tapioca/gem/pipeline.rb#116
+Tapioca::Gem::Pipeline::EVAL_SOURCE_FILE_PATTERN = T.let(T.unsafe(nil), Regexp)
+
# source://tapioca//lib/tapioca/gem/pipeline.rb#11
Tapioca::Gem::Pipeline::IGNORED_SYMBOLS = T.let(T.unsafe(nil), Array)
@@ -2050,90 +2204,94 @@ end
class Tapioca::Gemfile::GemSpec
include ::Tapioca::GemHelper
- # source://tapioca//lib/tapioca/gemfile.rb#135
+ # source://tapioca//lib/tapioca/gemfile.rb#136
sig { params(spec: T.any(::Bundler::StubSpecification, ::Gem::Specification)).void }
def initialize(spec); end
- # source://tapioca//lib/tapioca/gemfile.rb#145
+ # source://tapioca//lib/tapioca/gemfile.rb#146
sig { params(other: ::BasicObject).returns(T::Boolean) }
def ==(other); end
- # source://tapioca//lib/tapioca/gemfile.rb#165
+ # source://tapioca//lib/tapioca/gemfile.rb#171
sig { params(path: ::String).returns(T::Boolean) }
def contains_path?(path); end
- # source://tapioca//lib/tapioca/gemfile.rb#184
+ # source://tapioca//lib/tapioca/gemfile.rb#161
+ sig { returns(T::Array[::Gem::Dependency]) }
+ def dependencies; end
+
+ # source://tapioca//lib/tapioca/gemfile.rb#190
sig { returns(T::Boolean) }
def export_rbi_files?; end
- # source://tapioca//lib/tapioca/gemfile.rb#179
+ # source://tapioca//lib/tapioca/gemfile.rb#185
sig { returns(T::Array[::String]) }
def exported_rbi_files; end
- # source://tapioca//lib/tapioca/gemfile.rb#189
+ # source://tapioca//lib/tapioca/gemfile.rb#195
sig { returns(::RBI::MergeTree) }
def exported_rbi_tree; end
- # source://tapioca//lib/tapioca/gemfile.rb#132
+ # source://tapioca//lib/tapioca/gemfile.rb#133
sig { returns(T::Array[::Pathname]) }
def files; end
- # source://tapioca//lib/tapioca/gemfile.rb#129
+ # source://tapioca//lib/tapioca/gemfile.rb#130
sig { returns(::String) }
def full_gem_path; end
- # source://tapioca//lib/tapioca/gemfile.rb#150
+ # source://tapioca//lib/tapioca/gemfile.rb#151
sig { params(gemfile_dir: ::String).returns(T::Boolean) }
def ignore?(gemfile_dir); end
- # source://tapioca//lib/tapioca/gemfile.rb#155
+ # source://tapioca//lib/tapioca/gemfile.rb#156
sig { returns(::String) }
def name; end
- # source://tapioca//lib/tapioca/gemfile.rb#174
+ # source://tapioca//lib/tapioca/gemfile.rb#180
sig { void }
def parse_yard_docs; end
- # source://tapioca//lib/tapioca/gemfile.rb#160
+ # source://tapioca//lib/tapioca/gemfile.rb#166
sig { returns(::String) }
def rbi_file_name; end
- # source://tapioca//lib/tapioca/gemfile.rb#201
+ # source://tapioca//lib/tapioca/gemfile.rb#207
sig { params(file: ::Pathname).returns(::Pathname) }
def relative_path_for(file); end
# @return [String]
#
- # source://tapioca//lib/tapioca/gemfile.rb#129
+ # source://tapioca//lib/tapioca/gemfile.rb#130
def version; end
private
- # source://tapioca//lib/tapioca/gemfile.rb#212
+ # source://tapioca//lib/tapioca/gemfile.rb#218
sig { returns(T::Array[::Pathname]) }
def collect_files; end
- # source://tapioca//lib/tapioca/gemfile.rb#227
+ # source://tapioca//lib/tapioca/gemfile.rb#233
sig { returns(T.nilable(T::Boolean)) }
def default_gem?; end
- # source://tapioca//lib/tapioca/gemfile.rb#285
+ # source://tapioca//lib/tapioca/gemfile.rb#292
sig { returns(T::Boolean) }
def gem_ignored?; end
- # source://tapioca//lib/tapioca/gemfile.rb#264
+ # source://tapioca//lib/tapioca/gemfile.rb#271
sig { params(path: ::String).returns(T::Boolean) }
def has_parent_gemspec?(path); end
- # source://tapioca//lib/tapioca/gemfile.rb#232
+ # source://tapioca//lib/tapioca/gemfile.rb#238
sig { returns(::Regexp) }
def require_paths_prefix_matcher; end
- # source://tapioca//lib/tapioca/gemfile.rb#243
+ # source://tapioca//lib/tapioca/gemfile.rb#250
sig { params(file: ::String).returns(::Pathname) }
def resolve_to_ruby_lib_dir(file); end
- # source://tapioca//lib/tapioca/gemfile.rb#257
+ # source://tapioca//lib/tapioca/gemfile.rb#264
sig { returns(::String) }
def version_string; end
@@ -2172,11 +2330,11 @@ class Tapioca::Loaders::Dsl < ::Tapioca::Loaders::Loader
protected
- # source://tapioca//lib/tapioca/loaders/dsl.rb#71
+ # source://tapioca//lib/tapioca/loaders/dsl.rb#81
sig { void }
def load_application; end
- # source://tapioca//lib/tapioca/loaders/dsl.rb#53
+ # source://tapioca//lib/tapioca/loaders/dsl.rb#63
sig { void }
def load_dsl_compilers; end
@@ -2263,6 +2421,17 @@ class Tapioca::Loaders::Loader
private
+ # Rails 7.2 renamed `eager_load_paths` to `all_eager_load_paths`, which maintains the same original functionality.
+ # The `eager_load_paths` method still exists, but doesn't return all paths anymore and causes Tapioca to miss some
+ # engine paths. The following commit is the change:
+ # https://github.com/rails/rails/commit/ebfca905db14020589c22e6937382e6f8f687664
+ #
+ # @param engine [T.class_of(Rails::Engine)]
+ # @return [Array]
+ #
+ # source://sorbet-runtime/0.5.11143/lib/types/private/methods/_methods.rb#255
+ def eager_load_paths(*args, **_arg1, &blk); end
+
# source://tapioca//lib/tapioca/loaders/loader.rb#198
sig { void }
def eager_load_rails_app; end
@@ -3148,7 +3317,7 @@ module Tapioca::Static::SymbolLoader
sig { params(gem: ::Tapioca::Gemfile::GemSpec).returns(T::Set[::String]) }
def engine_symbols(gem); end
- # source://tapioca//lib/tapioca/static/symbol_loader.rb#40
+ # source://tapioca//lib/tapioca/static/symbol_loader.rb#48
sig { params(gem: ::Tapioca::Gemfile::GemSpec).returns(T::Set[::String]) }
def gem_symbols(gem); end
@@ -3156,7 +3325,7 @@ module Tapioca::Static::SymbolLoader
sig { returns(T::Set[::String]) }
def payload_symbols; end
- # source://tapioca//lib/tapioca/static/symbol_loader.rb#45
+ # source://tapioca//lib/tapioca/static/symbol_loader.rb#53
sig { params(paths: T::Array[::Pathname]).returns(T::Set[::String]) }
def symbols_from_paths(paths); end
@@ -3164,10 +3333,10 @@ module Tapioca::Static::SymbolLoader
# @return [Array]
#
- # source://sorbet-runtime/0.5.10908/lib/types/private/methods/_methods.rb#255
+ # source://sorbet-runtime/0.5.11143/lib/types/private/methods/_methods.rb#255
def engines(*args, **_arg1, &blk); end
- # source://tapioca//lib/tapioca/static/symbol_loader.rb#73
+ # source://tapioca//lib/tapioca/static/symbol_loader.rb#82
sig { params(input: ::String, table_type: ::String).returns(::String) }
def symbol_table_json_from(input, table_type: T.unsafe(nil)); end
end
@@ -3242,11 +3411,11 @@ class Tapioca::TypeVariableModule < ::Module
end
def initialize(context, type, variance, fixed, lower, upper, bounds_proc); end
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#231
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#218
sig { returns(::Tapioca::TypeVariable) }
def coerce_to_type_variable; end
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#211
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#198
sig { returns(T::Boolean) }
def fixed?; end
@@ -3254,7 +3423,7 @@ class Tapioca::TypeVariableModule < ::Module
sig { returns(T.nilable(::String)) }
def name; end
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#216
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#203
sig { returns(::String) }
def serialize; end
@@ -3264,11 +3433,11 @@ class Tapioca::TypeVariableModule < ::Module
private
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#265
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#238
sig { returns(T::Hash[::Symbol, T.untyped]) }
def bounds; end
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#241
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#228
sig do
params(
fixed: T.untyped,
@@ -3277,15 +3446,6 @@ class Tapioca::TypeVariableModule < ::Module
).returns(T.proc.returns(T::Hash[::Symbol, T.untyped]))
end
def build_bounds_proc(fixed, lower, upper); end
-
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#255
- sig do
- type_parameters(:Result)
- .params(
- block: T.proc.returns(T.type_parameter(:Result))
- ).returns(T.type_parameter(:Result))
- end
- def with_bound_name_pre_3_0(&block); end
end
# source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#154
diff --git a/sorbet/rbi/gems/thor@1.2.2.rbi b/sorbet/rbi/gems/thor@1.3.0.rbi
similarity index 80%
rename from sorbet/rbi/gems/thor@1.2.2.rbi
rename to sorbet/rbi/gems/thor@1.3.0.rbi
index dcb11ee2..9ed8f62f 100644
--- a/sorbet/rbi/gems/thor@1.2.2.rbi
+++ b/sorbet/rbi/gems/thor@1.3.0.rbi
@@ -4,6 +4,30 @@
# This is an autogenerated file for types exported from the `thor` gem.
# Please instead update this file by running `bin/tapioca gem thor`.
+# source://thor//lib/thor/shell/lcs_diff.rb#1
+module LCSDiff
+ protected
+
+ # Overwrite show_diff to show diff with colors if Diff::LCS is
+ # available.
+ #
+ # source://thor//lib/thor/shell/lcs_diff.rb#6
+ def show_diff(destination, content); end
+
+ private
+
+ # Check if Diff::LCS is loaded. If it is, use it to create pretty output
+ # for diff.
+ #
+ # @return [Boolean]
+ #
+ # source://thor//lib/thor/shell/lcs_diff.rb#37
+ def diff_lcs_loaded?; end
+
+ # source://thor//lib/thor/shell/lcs_diff.rb#21
+ def output_diff_line(diff); end
+end
+
# source://thor//lib/thor/command.rb#1
class Thor
include ::Thor::Base
@@ -12,23 +36,63 @@ class Thor
extend ::Thor::Base::ClassMethods
extend ::Thor::Invocation::ClassMethods
- # source://thor//lib/thor.rb#505
+ # source://thor//lib/thor.rb#652
def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end
class << self
+ # Adds and declares option group for required at least one of options in the
+ # block of arguments. You can declare options as the outside of the block.
+ #
+ # If :for is given as option, it allows you to change the options from
+ # a previous defined command.
+ #
+ # ==== Parameters
+ # Array[Thor::Option.name]
+ # options:: :for is applied for previous defined command.
+ #
+ # ==== Examples
+ #
+ # at_least_one do
+ # option :one
+ # option :two
+ # end
+ #
+ # Or
+ #
+ # option :one
+ # option :two
+ # at_least_one :one, :two
+ #
+ # If you do not give "--one" and "--two" AtLeastOneRequiredArgumentError
+ # will be raised.
+ #
+ # You can use at_least_one and exclusive at the same time.
+ #
+ # exclusive do
+ # at_least_one do
+ # option :one
+ # option :two
+ # end
+ # end
+ #
+ # Then it is required either only one of "--one" or "--two".
+ #
+ # source://thor//lib/thor.rb#246
+ def at_least_one(*args, &block); end
+
# Extend check unknown options to accept a hash of conditions.
#
# === Parameters
# options: A hash containing :only and/or :except keys
#
- # source://thor//lib/thor.rb#255
+ # source://thor//lib/thor.rb#350
def check_unknown_options!(options = T.unsafe(nil)); end
# Overwrite check_unknown_options? to take subcommands and options into account.
#
# @return [Boolean]
#
- # source://thor//lib/thor.rb#268
+ # source://thor//lib/thor.rb#363
def check_unknown_options?(config); end
# Prints help information for the given command.
@@ -37,7 +101,7 @@ class Thor
# shell
# command_name
#
- # source://thor//lib/thor.rb#172
+ # source://thor//lib/thor.rb#258
def command_help(shell, command_name); end
# Sets the default command when thor is executed without an explicit command to be called.
@@ -76,28 +140,64 @@ class Thor
# ==== Parameters
# Symbol ...:: A list of commands that should be affected.
#
- # source://thor//lib/thor.rb#339
+ # source://thor//lib/thor.rb#434
def disable_required_check!(*command_names); end
# @return [Boolean]
#
- # source://thor//lib/thor.rb#343
+ # source://thor//lib/thor.rb#438
def disable_required_check?(command); end
+ # Adds and declares option group for exclusive options in the
+ # block and arguments. You can declare options as the outside of the block.
+ #
+ # If :for is given as option, it allows you to change the options from
+ # a previous defined command.
+ #
+ # ==== Parameters
+ # Array[Thor::Option.name]
+ # options:: :for is applied for previous defined command.
+ #
+ # ==== Examples
+ #
+ # exclusive do
+ # option :one
+ # option :two
+ # end
+ #
+ # Or
+ #
+ # option :one
+ # option :two
+ # exclusive :one, :two
+ #
+ # If you give "--one" and "--two" at the same time ExclusiveArgumentsError
+ # will be raised.
+ #
+ # source://thor//lib/thor.rb#203
+ def exclusive(*args, &block); end
+
# Prints help information for this class.
#
# ==== Parameters
# shell
#
- # source://thor//lib/thor.rb#195
+ # source://thor//lib/thor.rb#288
def help(shell, subcommand = T.unsafe(nil)); end
# Defines the long description of the next command.
#
+ # Long description is by default indented, line-wrapped and repeated whitespace merged.
+ # In order to print long description verbatim, with indentation and spacing exactly
+ # as found in the code, use the +wrap+ option
+ #
+ # long_desc 'your very long description', wrap: false
+ #
# ==== Parameters
# long description
+ # options
#
- # source://thor//lib/thor.rb#71
+ # source://thor//lib/thor.rb#78
def long_desc(long_description, options = T.unsafe(nil)); end
# Maps an input to a command. If you define:
@@ -113,9 +213,78 @@ class Thor
# ==== Parameters
# Hash[String|Array => Symbol]:: Maps the string or the strings in the array to the given command.
#
- # source://thor//lib/thor.rb#93
+ # source://thor//lib/thor.rb#101
def map(mappings = T.unsafe(nil), **kw); end
+ # Adds and declares option group for required at least one of options in the
+ # block of arguments. You can declare options as the outside of the block.
+ #
+ # If :for is given as option, it allows you to change the options from
+ # a previous defined command.
+ #
+ # ==== Parameters
+ # Array[Thor::Option.name]
+ # options:: :for is applied for previous defined command.
+ #
+ # ==== Examples
+ #
+ # at_least_one do
+ # option :one
+ # option :two
+ # end
+ #
+ # Or
+ #
+ # option :one
+ # option :two
+ # at_least_one :one, :two
+ #
+ # If you do not give "--one" and "--two" AtLeastOneRequiredArgumentError
+ # will be raised.
+ #
+ # You can use at_least_one and exclusive at the same time.
+ #
+ # exclusive do
+ # at_least_one do
+ # option :one
+ # option :two
+ # end
+ # end
+ #
+ # Then it is required either only one of "--one" or "--two".
+ #
+ # source://thor//lib/thor.rb#246
+ def method_at_least_one(*args, &block); end
+
+ # Adds and declares option group for exclusive options in the
+ # block and arguments. You can declare options as the outside of the block.
+ #
+ # If :for is given as option, it allows you to change the options from
+ # a previous defined command.
+ #
+ # ==== Parameters
+ # Array[Thor::Option.name]
+ # options:: :for is applied for previous defined command.
+ #
+ # ==== Examples
+ #
+ # exclusive do
+ # option :one
+ # option :two
+ # end
+ #
+ # Or
+ #
+ # option :one
+ # option :two
+ # exclusive :one, :two
+ #
+ # If you give "--one" and "--two" at the same time ExclusiveArgumentsError
+ # will be raised.
+ #
+ # source://thor//lib/thor.rb#203
+ def method_exclusive(*args, &block); end
+
# Adds an option to the set of method options. If :for is given as option,
# it allows you to change the options from a previous defined command.
#
@@ -123,7 +292,7 @@ class Thor
# # magic
# end
#
- # method_option :foo => :bar, :for => :previous_command
+ # method_option :foo, :for => :previous_command
#
# def next_command
# # magic
@@ -142,7 +311,7 @@ class Thor
# :banner - String to show on usage notes.
# :hide - If you want to hide this option from the help.
#
- # source://thor//lib/thor.rb#155
+ # source://thor//lib/thor.rb#163
def method_option(name, options = T.unsafe(nil)); end
# Declares the options for the next command to be declared.
@@ -152,7 +321,7 @@ class Thor
# is the type of the option. Can be :string, :array, :hash, :boolean, :numeric
# or :required (string). If you give a value, the type of the value is used.
#
- # source://thor//lib/thor.rb#121
+ # source://thor//lib/thor.rb#129
def method_options(options = T.unsafe(nil)); end
# Adds an option to the set of method options. If :for is given as option,
@@ -162,7 +331,7 @@ class Thor
# # magic
# end
#
- # method_option :foo => :bar, :for => :previous_command
+ # method_option :foo, :for => :previous_command
#
# def next_command
# # magic
@@ -181,7 +350,7 @@ class Thor
# :banner - String to show on usage notes.
# :hide - If you want to hide this option from the help.
#
- # source://thor//lib/thor.rb#155
+ # source://thor//lib/thor.rb#163
def option(name, options = T.unsafe(nil)); end
# Declares the options for the next command to be declared.
@@ -191,7 +360,7 @@ class Thor
# is the type of the option. Can be :string, :array, :hash, :boolean, :numeric
# or :required (string). If you give a value, the type of the value is used.
#
- # source://thor//lib/thor.rb#121
+ # source://thor//lib/thor.rb#129
def options(options = T.unsafe(nil)); end
# Allows for custom "Command" package naming.
@@ -205,12 +374,12 @@ class Thor
# Returns commands ready to be printed.
#
- # source://thor//lib/thor.rb#214
+ # source://thor//lib/thor.rb#309
def printable_commands(all = T.unsafe(nil), subcommand = T.unsafe(nil)); end
# Returns commands ready to be printed.
#
- # source://thor//lib/thor.rb#214
+ # source://thor//lib/thor.rb#309
def printable_tasks(all = T.unsafe(nil), subcommand = T.unsafe(nil)); end
# Registers another Thor subclass as a command.
@@ -262,27 +431,27 @@ class Thor
# ==== Parameters
# Symbol ...:: A list of commands that should be affected.
#
- # source://thor//lib/thor.rb#325
+ # source://thor//lib/thor.rb#420
def stop_on_unknown_option!(*command_names); end
# @return [Boolean]
#
- # source://thor//lib/thor.rb#329
+ # source://thor//lib/thor.rb#424
def stop_on_unknown_option?(command); end
- # source://thor//lib/thor.rb#234
+ # source://thor//lib/thor.rb#329
def subcommand(subcommand, subcommand_class); end
- # source://thor//lib/thor.rb#230
+ # source://thor//lib/thor.rb#325
def subcommand_classes; end
- # source://thor//lib/thor.rb#225
+ # source://thor//lib/thor.rb#320
def subcommands; end
- # source://thor//lib/thor.rb#234
+ # source://thor//lib/thor.rb#329
def subtask(subcommand, subcommand_class); end
- # source://thor//lib/thor.rb#225
+ # source://thor//lib/thor.rb#320
def subtasks; end
# Prints help information for the given command.
@@ -291,7 +460,7 @@ class Thor
# shell
# command_name
#
- # source://thor//lib/thor.rb#172
+ # source://thor//lib/thor.rb#258
def task_help(shell, command_name); end
protected
@@ -301,50 +470,66 @@ class Thor
# the command that is going to be invoked and a boolean which indicates if
# the namespace should be displayed as arguments.
#
- # source://thor//lib/thor.rb#400
+ # source://thor//lib/thor.rb#535
def banner(command, namespace = T.unsafe(nil), subcommand = T.unsafe(nil)); end
- # source://thor//lib/thor.rb#406
+ # source://thor//lib/thor.rb#541
def baseclass; end
- # source://thor//lib/thor.rb#414
+ # source://thor//lib/thor.rb#549
def create_command(meth); end
- # source://thor//lib/thor.rb#414
+ # source://thor//lib/thor.rb#549
def create_task(meth); end
# help command has the required check disabled by default.
#
- # source://thor//lib/thor.rb#354
+ # source://thor//lib/thor.rb#467
def disable_required_check; end
# The method responsible for dispatching given the args.
#
# @yield [instance]
#
- # source://thor//lib/thor.rb#359
+ # source://thor//lib/thor.rb#494
def dispatch(meth, given_args, given_opts, config); end
- # source://thor//lib/thor.rb#410
+ # source://thor//lib/thor.rb#545
def dynamic_command_class; end
# this is the logic that takes the command name passed in by the user
# and determines whether it is an unambiguous substrings of a command or
# alias name.
#
- # source://thor//lib/thor.rb#476
+ # source://thor//lib/thor.rb#615
def find_command_possibilities(meth); end
# this is the logic that takes the command name passed in by the user
# and determines whether it is an unambiguous substrings of a command or
# alias name.
#
- # source://thor//lib/thor.rb#476
+ # source://thor//lib/thor.rb#615
def find_task_possibilities(meth); end
- # source://thor//lib/thor.rb#436
+ # source://thor//lib/thor.rb#575
def initialize_added; end
+ # Returns this class at least one of required options array set.
+ #
+ # ==== Returns
+ # Array[Array[Thor::Option.name]]
+ #
+ # source://thor//lib/thor.rb#458
+ def method_at_least_one_option_names; end
+
+ # Returns this class exclusive options array set.
+ #
+ # ==== Returns
+ # Array[Array[Thor::Option.name]]
+ #
+ # source://thor//lib/thor.rb#449
+ def method_exclusive_option_names; end
+
# receives a (possibly nil) command name and returns a name that is in
# the commands hash. In addition to normalizing aliases, this logic
# will determine if a shortened command is an unambiguous substring of
@@ -355,7 +540,7 @@ class Thor
#
# @raise [AmbiguousTaskError]
#
- # source://thor//lib/thor.rb#455
+ # source://thor//lib/thor.rb#594
def normalize_command_name(meth); end
# receives a (possibly nil) command name and returns a name that is in
@@ -368,26 +553,40 @@ class Thor
#
# @raise [AmbiguousTaskError]
#
- # source://thor//lib/thor.rb#455
+ # source://thor//lib/thor.rb#594
def normalize_task_name(meth); end
+ # source://thor//lib/thor.rb#482
+ def print_at_least_one_required_options(shell, command = T.unsafe(nil)); end
+
+ # source://thor//lib/thor.rb#471
+ def print_exclusive_options(shell, command = T.unsafe(nil)); end
+
# Retrieve the command name from given args.
#
- # source://thor//lib/thor.rb#442
+ # source://thor//lib/thor.rb#581
def retrieve_command_name(args); end
# Retrieve the command name from given args.
#
- # source://thor//lib/thor.rb#442
+ # source://thor//lib/thor.rb#581
def retrieve_task_name(args); end
- # source://thor//lib/thor.rb#349
+ # Sort the commands, lexicographically by default.
+ #
+ # Can be overridden in the subclass to change the display order of the
+ # commands.
+ #
+ # source://thor//lib/thor.rb#642
+ def sort_commands!(list); end
+
+ # source://thor//lib/thor.rb#462
def stop_on_unknown_option; end
- # source://thor//lib/thor.rb#491
+ # source://thor//lib/thor.rb#630
def subcommand_help(cmd); end
- # source://thor//lib/thor.rb#491
+ # source://thor//lib/thor.rb#630
def subtask_help(cmd); end
end
end
@@ -463,7 +662,7 @@ module Thor::Actions
# 'config.gem "rspec"'
# end
#
- # source://thor//lib/thor/actions/file_manipulation.rb#195
+ # source://thor//lib/thor/actions/file_manipulation.rb#193
def append_file(path, *args, &block); end
# Append text to a file. Since it depends on insert_into_file, it's reversible.
@@ -481,7 +680,7 @@ module Thor::Actions
# 'config.gem "rspec"'
# end
#
- # source://thor//lib/thor/actions/file_manipulation.rb#195
+ # source://thor//lib/thor/actions/file_manipulation.rb#193
def append_to_file(path, *args, &block); end
# Loads an external file and execute it in the instance binding.
@@ -522,7 +721,7 @@ module Thor::Actions
#
# chmod "script/server", 0755
#
- # source://thor//lib/thor/actions/file_manipulation.rb#148
+ # source://thor//lib/thor/actions/file_manipulation.rb#146
def chmod(path, mode, config = T.unsafe(nil)); end
# Comment all lines matching a given regex. It will leave the space
@@ -538,7 +737,7 @@ module Thor::Actions
#
# comment_lines 'config/initializers/session_store.rb', /cookie_store/
#
- # source://thor//lib/thor/actions/file_manipulation.rb#312
+ # source://thor//lib/thor/actions/file_manipulation.rb#310
def comment_lines(path, flag, *args); end
# ==== Examples
@@ -673,17 +872,20 @@ module Thor::Actions
# ==== Parameters
# source:: the address of the given content.
# destination:: the relative path to the destination root.
- # config:: give :verbose => false to not log the status.
+ # config:: give :verbose => false to not log the status, and
+ # :http_headers => to add headers to an http request.
#
# ==== Examples
#
# get "http://gist.github.com/103208", "doc/README"
#
+ # get "http://gist.github.com/103208", "doc/README", :http_headers => {"Content-Type" => "application/json"}
+ #
# get "http://gist.github.com/103208" do |content|
# content.split("\n").first
# end
#
- # source://thor//lib/thor/actions/file_manipulation.rb#79
+ # source://thor//lib/thor/actions/file_manipulation.rb#82
def get(source, *args, &block); end
# Run a regular expression replacement on a file.
@@ -703,7 +905,7 @@ module Thor::Actions
# match << " no more. Use thor!"
# end
#
- # source://thor//lib/thor/actions/file_manipulation.rb#265
+ # source://thor//lib/thor/actions/file_manipulation.rb#263
def gsub_file(path, flag, *args, &block); end
# Goes to the root and execute the given block.
@@ -728,7 +930,7 @@ module Thor::Actions
# " filter_parameter :password\n"
# end
#
- # source://thor//lib/thor/actions/file_manipulation.rb#219
+ # source://thor//lib/thor/actions/file_manipulation.rb#217
def inject_into_class(path, klass, *args, &block); end
# source://thor//lib/thor/actions/inject_into_file.rb#26
@@ -751,7 +953,7 @@ module Thor::Actions
# " def help; 'help'; end\n"
# end
#
- # source://thor//lib/thor/actions/file_manipulation.rb#242
+ # source://thor//lib/thor/actions/file_manipulation.rb#240
def inject_into_module(path, module_name, *args, &block); end
# source://thor//lib/thor/actions/inject_into_file.rb#26
@@ -803,7 +1005,7 @@ module Thor::Actions
# 'config.gem "rspec"'
# end
#
- # source://thor//lib/thor/actions/file_manipulation.rb#173
+ # source://thor//lib/thor/actions/file_manipulation.rb#171
def prepend_file(path, *args, &block); end
# Prepend text to a file. Since it depends on insert_into_file, it's reversible.
@@ -821,7 +1023,7 @@ module Thor::Actions
# 'config.gem "rspec"'
# end
#
- # source://thor//lib/thor/actions/file_manipulation.rb#173
+ # source://thor//lib/thor/actions/file_manipulation.rb#171
def prepend_to_file(path, *args, &block); end
# Returns the given path relative to the absolute root (ie, root where
@@ -841,7 +1043,7 @@ module Thor::Actions
# remove_file 'README'
# remove_file 'app/controllers/application_controller.rb'
#
- # source://thor//lib/thor/actions/file_manipulation.rb#329
+ # source://thor//lib/thor/actions/file_manipulation.rb#327
def remove_dir(path, config = T.unsafe(nil)); end
# Removes a file at the given location.
@@ -855,7 +1057,7 @@ module Thor::Actions
# remove_file 'README'
# remove_file 'app/controllers/application_controller.rb'
#
- # source://thor//lib/thor/actions/file_manipulation.rb#329
+ # source://thor//lib/thor/actions/file_manipulation.rb#327
def remove_file(path, config = T.unsafe(nil)); end
# Executes a command returning the contents of the command.
@@ -871,7 +1073,7 @@ module Thor::Actions
# run('ln -s ~/edge rails')
# end
#
- # source://thor//lib/thor/actions.rb#249
+ # source://thor//lib/thor/actions.rb#248
def run(command, config = T.unsafe(nil)); end
# Executes a ruby script (taking into account WIN32 platform quirks).
@@ -880,7 +1082,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#286
+ # source://thor//lib/thor/actions.rb#285
def run_ruby_script(command, config = T.unsafe(nil)); end
# Holds source paths in instance so they can be manipulated.
@@ -903,7 +1105,7 @@ module Thor::Actions
#
# template "doc/README"
#
- # source://thor//lib/thor/actions/file_manipulation.rb#115
+ # source://thor//lib/thor/actions/file_manipulation.rb#118
def template(source, *args, &block); end
# Run a thor command. A hash of options can be given and it's converted to
@@ -924,7 +1126,7 @@ module Thor::Actions
# thor :list, :all => true, :substring => 'rails'
# #=> thor list --all --substring=rails
#
- # source://thor//lib/thor/actions.rb#309
+ # source://thor//lib/thor/actions.rb#308
def thor(command, *args); end
# Uncomment all lines matching a given regex. It will leave the space
@@ -940,40 +1142,40 @@ module Thor::Actions
#
# uncomment_lines 'config/initializers/session_store.rb', /active_record/
#
- # source://thor//lib/thor/actions/file_manipulation.rb#293
+ # source://thor//lib/thor/actions/file_manipulation.rb#291
def uncomment_lines(path, flag, *args); end
protected
- # source://thor//lib/thor/actions.rb#330
+ # source://thor//lib/thor/actions.rb#329
def _cleanup_options_and_set(options, key); end
# Allow current root to be shared between invocations.
#
- # source://thor//lib/thor/actions.rb#326
+ # source://thor//lib/thor/actions.rb#325
def _shared_configuration; end
private
- # source://thor//lib/thor/actions/file_manipulation.rb#350
+ # source://thor//lib/thor/actions/file_manipulation.rb#348
def capture(*args); end
- # source://thor//lib/thor/actions/file_manipulation.rb#346
+ # source://thor//lib/thor/actions/file_manipulation.rb#344
def concat(string); end
# Returns the value of attribute output_buffer.
#
- # source://thor//lib/thor/actions/file_manipulation.rb#341
+ # source://thor//lib/thor/actions/file_manipulation.rb#339
def output_buffer; end
# Sets the attribute output_buffer
#
# @param value the value to set the attribute output_buffer to.
#
- # source://thor//lib/thor/actions/file_manipulation.rb#341
+ # source://thor//lib/thor/actions/file_manipulation.rb#339
def output_buffer=(_arg0); end
- # source://thor//lib/thor/actions/file_manipulation.rb#354
+ # source://thor//lib/thor/actions/file_manipulation.rb#352
def with_output_buffer(buf = T.unsafe(nil)); end
class << self
@@ -985,9 +1187,9 @@ end
# Thor::Actions#capture depends on what kind of buffer is used in ERB.
# Thus CapturableERB fixes ERB to use String buffer.
#
-# source://thor//lib/thor/actions/file_manipulation.rb#366
+# source://thor//lib/thor/actions/file_manipulation.rb#364
class Thor::Actions::CapturableERB < ::ERB
- # source://thor//lib/thor/actions/file_manipulation.rb#367
+ # source://thor//lib/thor/actions/file_manipulation.rb#365
def set_eoutvar(compiler, eoutvar = T.unsafe(nil)); end
end
@@ -1043,12 +1245,12 @@ class Thor::Actions::CreateFile < ::Thor::Actions::EmptyDirectory
# source://thor//lib/thor/actions/create_file.rb#45
def identical?; end
- # source://thor//lib/thor/actions/create_file.rb#59
+ # source://thor//lib/thor/actions/create_file.rb#60
def invoke!; end
# Holds the content to be added to the file.
#
- # source://thor//lib/thor/actions/create_file.rb#51
+ # source://thor//lib/thor/actions/create_file.rb#52
def render; end
protected
@@ -1057,19 +1259,19 @@ class Thor::Actions::CreateFile < ::Thor::Actions::EmptyDirectory
#
# @return [Boolean]
#
- # source://thor//lib/thor/actions/create_file.rb#99
+ # source://thor//lib/thor/actions/create_file.rb#100
def force_on_collision?; end
# If force is true, run the action, otherwise check if it's not being
# skipped. If both are false, show the file_collision menu, if the menu
# returns true, force it, otherwise skip.
#
- # source://thor//lib/thor/actions/create_file.rb#85
+ # source://thor//lib/thor/actions/create_file.rb#86
def force_or_skip_or_conflict(force, skip, &block); end
# Now on conflict we check if the file is identical or not.
#
- # source://thor//lib/thor/actions/create_file.rb#72
+ # source://thor//lib/thor/actions/create_file.rb#73
def on_conflict_behavior(&block); end
end
@@ -1261,17 +1463,25 @@ class Thor::Actions::InjectIntoFile < ::Thor::Actions::EmptyDirectory
# source://thor//lib/thor/actions/inject_into_file.rb#37
def replacement; end
- # source://thor//lib/thor/actions/inject_into_file.rb#72
+ # source://thor//lib/thor/actions/inject_into_file.rb#74
def revoke!; end
protected
+ # source://thor//lib/thor/actions/inject_into_file.rb#110
+ def content; end
+
# Adds the content to the file.
#
- # source://thor//lib/thor/actions/inject_into_file.rb#108
+ # source://thor//lib/thor/actions/inject_into_file.rb#120
def replace!(regexp, string, force); end
- # source://thor//lib/thor/actions/inject_into_file.rb#88
+ # @return [Boolean]
+ #
+ # source://thor//lib/thor/actions/inject_into_file.rb#114
+ def replacement_present?; end
+
+ # source://thor//lib/thor/actions/inject_into_file.rb#90
def say_status(behavior, warning: T.unsafe(nil), color: T.unsafe(nil)); end
end
@@ -1297,10 +1507,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#68
+# source://thor//lib/thor/error.rb#57
class Thor::AmbiguousCommandError < ::Thor::Error; end
-# source://thor//lib/thor/error.rb#70
+# source://thor//lib/thor/error.rb#59
Thor::AmbiguousTaskError = Thor::AmbiguousCommandError
# source://thor//lib/thor/parser/argument.rb#2
@@ -1331,6 +1541,9 @@ class Thor::Argument
# source://thor//lib/thor/parser/argument.rb#5
def enum; end
+ # source://thor//lib/thor/parser/argument.rb#55
+ def enum_to_s; end
+
# Returns the value of attribute name.
#
# source://thor//lib/thor/parser/argument.rb#5
@@ -1341,6 +1554,9 @@ class Thor::Argument
# source://thor//lib/thor/parser/argument.rb#5
def name; end
+ # source://thor//lib/thor/parser/argument.rb#27
+ def print_default; end
+
# Returns the value of attribute required.
#
# source://thor//lib/thor/parser/argument.rb#5
@@ -1348,12 +1564,12 @@ class Thor::Argument
# @return [Boolean]
#
- # source://thor//lib/thor/parser/argument.rb#31
+ # source://thor//lib/thor/parser/argument.rb#42
def required?; end
# @return [Boolean]
#
- # source://thor//lib/thor/parser/argument.rb#35
+ # source://thor//lib/thor/parser/argument.rb#46
def show_default?; end
# Returns the value of attribute type.
@@ -1361,22 +1577,22 @@ class Thor::Argument
# source://thor//lib/thor/parser/argument.rb#5
def type; end
- # source://thor//lib/thor/parser/argument.rb#27
+ # source://thor//lib/thor/parser/argument.rb#38
def usage; end
protected
- # source://thor//lib/thor/parser/argument.rb#55
+ # source://thor//lib/thor/parser/argument.rb#74
def default_banner; end
# @return [Boolean]
#
- # source://thor//lib/thor/parser/argument.rb#51
+ # source://thor//lib/thor/parser/argument.rb#70
def valid_type?(type); end
# @raise [ArgumentError]
#
- # source://thor//lib/thor/parser/argument.rb#46
+ # source://thor//lib/thor/parser/argument.rb#65
def validate!; end
end
@@ -1392,10 +1608,10 @@ class Thor::Arguments
# source://thor//lib/thor/parser/arguments.rb#26
def initialize(arguments = T.unsafe(nil)); end
- # source://thor//lib/thor/parser/arguments.rb#44
+ # source://thor//lib/thor/parser/arguments.rb#40
def parse(args); end
- # source://thor//lib/thor/parser/arguments.rb#57
+ # source://thor//lib/thor/parser/arguments.rb#53
def remaining; end
private
@@ -1404,22 +1620,22 @@ class Thor::Arguments
#
# @raise [RequiredArgumentMissingError]
#
- # source://thor//lib/thor/parser/arguments.rb#170
+ # source://thor//lib/thor/parser/arguments.rb#186
def check_requirement!; end
# @return [Boolean]
#
- # source://thor//lib/thor/parser/arguments.rb#88
+ # source://thor//lib/thor/parser/arguments.rb#84
def current_is_value?; end
# @return [Boolean]
#
- # source://thor//lib/thor/parser/arguments.rb#68
+ # source://thor//lib/thor/parser/arguments.rb#64
def last?; end
# @return [Boolean]
#
- # source://thor//lib/thor/parser/arguments.rb#63
+ # source://thor//lib/thor/parser/arguments.rb#59
def no_or_skip?(arg); end
# Runs through the argument array getting all strings until no string is
@@ -1431,7 +1647,7 @@ class Thor::Arguments
#
# ["a", "b", "c"]
#
- # source://thor//lib/thor/parser/arguments.rb#122
+ # source://thor//lib/thor/parser/arguments.rb#118
def parse_array(name); end
# Runs through the argument array getting strings that contains ":" and
@@ -1443,14 +1659,14 @@ class Thor::Arguments
#
# { "name" => "string", "age" => "integer" }
#
- # source://thor//lib/thor/parser/arguments.rb#101
+ # source://thor//lib/thor/parser/arguments.rb#97
def parse_hash(name); end
# Check if the peek is numeric format and return a Float or Integer.
# Check if the peek is included in enum if enum is provided.
# Otherwise raises an error.
#
- # source://thor//lib/thor/parser/arguments.rb#133
+ # source://thor//lib/thor/parser/arguments.rb#139
def parse_numeric(name); end
# Parse string:
@@ -1458,18 +1674,23 @@ class Thor::Arguments
# for --no-string-arg, nil
# Check if the peek is included in enum if enum is provided. Otherwise raises an error.
#
- # source://thor//lib/thor/parser/arguments.rb#154
+ # source://thor//lib/thor/parser/arguments.rb#158
def parse_string(name); end
- # source://thor//lib/thor/parser/arguments.rb#72
+ # source://thor//lib/thor/parser/arguments.rb#68
def peek; end
- # source://thor//lib/thor/parser/arguments.rb#76
+ # source://thor//lib/thor/parser/arguments.rb#72
def shift; end
- # source://thor//lib/thor/parser/arguments.rb#80
+ # source://thor//lib/thor/parser/arguments.rb#76
def unshift(arg); end
+ # Raises an error if the switch is an enum and the values aren't included on it.
+ #
+ # source://thor//lib/thor/parser/arguments.rb#172
+ def validate_enum_value!(name, value, message); end
+
class << self
# source://thor//lib/thor/parser/arguments.rb#19
def parse(*args); end
@@ -1485,6 +1706,9 @@ end
# source://thor//lib/thor/parser/arguments.rb#3
Thor::Arguments::NUMERIC = T.let(T.unsafe(nil), Regexp)
+# source://thor//lib/thor/error.rb#104
+class Thor::AtLeastOneRequiredArgumentError < ::Thor::InvocationError; end
+
# source://thor//lib/thor/shell.rb#4
module Thor::Base
include ::Thor::Invocation
@@ -1549,13 +1773,13 @@ module Thor::Base
def parent_options=(_arg0); end
class << self
- # source://thor//lib/thor/base.rb#100
+ # source://thor//lib/thor/base.rb#116
def included(base); end
# Whenever a class inherits from Thor or Thor::Group, we should track the
# class and the file on Thor::Base. This is the method responsible for it.
#
- # source://thor//lib/thor/base.rb#128
+ # source://thor//lib/thor/base.rb#144
def register_klass_file(klass); end
# Returns the shell used in all Thor classes. If you are in a Unix platform
@@ -1576,7 +1800,7 @@ module Thor::Base
# ==== Returns
# Hash[path => Class]
#
- # source://thor//lib/thor/base.rb#121
+ # source://thor//lib/thor/base.rb#137
def subclass_files; end
# Returns the classes that inherits from Thor or Thor::Group.
@@ -1584,12 +1808,12 @@ module Thor::Base
# ==== Returns
# Array[Class]
#
- # source://thor//lib/thor/base.rb#112
+ # source://thor//lib/thor/base.rb#128
def subclasses; end
end
end
-# source://thor//lib/thor/base.rb#137
+# source://thor//lib/thor/base.rb#153
module Thor::Base::ClassMethods
# Returns the commands for this Thor class and all subclasses.
#
@@ -1597,7 +1821,7 @@ module Thor::Base::ClassMethods
# Hash:: An ordered hash with commands names as keys and Thor::Command
# objects as values.
#
- # source://thor//lib/thor/base.rb#383
+ # source://thor//lib/thor/base.rb#482
def all_commands; end
# Returns the commands for this Thor class and all subclasses.
@@ -1606,13 +1830,13 @@ module Thor::Base::ClassMethods
# Hash:: An ordered hash with commands names as keys and Thor::Command
# objects as values.
#
- # source://thor//lib/thor/base.rb#383
+ # source://thor//lib/thor/base.rb#482
def all_tasks; end
# If you want to use defaults that don't match the type of an option,
# either specify `check_default_type: false` or call `allow_incompatible_default_type!`
#
- # source://thor//lib/thor/base.rb#173
+ # source://thor//lib/thor/base.rb#189
def allow_incompatible_default_type!; end
# Adds an argument to the class and creates an attr_accessor for it.
@@ -1650,7 +1874,7 @@ module Thor::Base::ClassMethods
# ==== Errors
# ArgumentError:: Raised if you supply a required argument after a non required one.
#
- # source://thor//lib/thor/base.rb#245
+ # source://thor//lib/thor/base.rb#261
def argument(name, options = T.unsafe(nil)); end
# Returns this class arguments, looking up in the ancestors chain.
@@ -1658,42 +1882,116 @@ module Thor::Base::ClassMethods
# ==== Returns
# Array[Thor::Argument]
#
- # source://thor//lib/thor/base.rb#277
+ # source://thor//lib/thor/base.rb#293
def arguments; end
- # source://thor//lib/thor/base.rb#146
+ # source://thor//lib/thor/base.rb#162
def attr_accessor(*_arg0); end
- # source://thor//lib/thor/base.rb#138
+ # source://thor//lib/thor/base.rb#154
def attr_reader(*_arg0); end
- # source://thor//lib/thor/base.rb#142
+ # source://thor//lib/thor/base.rb#158
def attr_writer(*_arg0); end
- # source://thor//lib/thor/base.rb#177
+ # source://thor//lib/thor/base.rb#193
def check_default_type; end
# If you want to raise an error when the default value of an option does not match
# the type call check_default_type!
# This will be the default; for compatibility a deprecation warning is issued if necessary.
#
- # source://thor//lib/thor/base.rb#167
+ # source://thor//lib/thor/base.rb#183
def check_default_type!; end
- # source://thor//lib/thor/base.rb#156
+ # source://thor//lib/thor/base.rb#172
def check_unknown_options; end
# If you want to raise an error for unknown options, call check_unknown_options!
# This is disabled by default to allow dynamic invocations.
#
- # source://thor//lib/thor/base.rb#152
+ # source://thor//lib/thor/base.rb#168
def check_unknown_options!; end
# @return [Boolean]
#
- # source://thor//lib/thor/base.rb#160
+ # source://thor//lib/thor/base.rb#176
def check_unknown_options?(config); end
+ # Adds and declares option group for required at least one of options in the
+ # block and arguments. You can declare options as the outside of the block.
+ #
+ # ==== Examples
+ #
+ # class_at_least_one do
+ # class_option :one
+ # class_option :two
+ # end
+ #
+ # Or
+ #
+ # class_option :one
+ # class_option :two
+ # class_at_least_one :one, :two
+ #
+ # If you do not give "--one" and "--two" AtLeastOneRequiredArgumentError
+ # will be raised.
+ #
+ # You can use class_at_least_one and class_exclusive at the same time.
+ #
+ # class_exclusive do
+ # class_at_least_one do
+ # class_option :one
+ # class_option :two
+ # end
+ # end
+ #
+ # Then it is required either only one of "--one" or "--two".
+ #
+ # source://thor//lib/thor/base.rb#392
+ def class_at_least_one(*args, &block); end
+
+ # Returns this class at least one of required options array set, looking up in the ancestors chain.
+ #
+ # ==== Returns
+ # Array[Array[Thor::Option.name]]
+ #
+ # source://thor//lib/thor/base.rb#411
+ def class_at_least_one_option_names; end
+
+ # Adds and declares option group for exclusive options in the
+ # block and arguments. You can declare options as the outside of the block.
+ #
+ # ==== Parameters
+ # Array[Thor::Option.name]
+ #
+ # ==== Examples
+ #
+ # class_exclusive do
+ # class_option :one
+ # class_option :two
+ # end
+ #
+ # Or
+ #
+ # class_option :one
+ # class_option :two
+ # class_exclusive :one, :two
+ #
+ # If you give "--one" and "--two" at the same time ExclusiveArgumentsError
+ # will be raised.
+ #
+ # source://thor//lib/thor/base.rb#357
+ def class_exclusive(*args, &block); end
+
+ # Returns this class exclusive options array set, looking up in the ancestors chain.
+ #
+ # ==== Returns
+ # Array[Array[Thor::Option.name]]
+ #
+ # source://thor//lib/thor/base.rb#402
+ def class_exclusive_option_names; end
+
# Adds an option to the set of class options
#
# ==== Parameters
@@ -1710,7 +2008,7 @@ module Thor::Base::ClassMethods
# :banner:: -- String to show on usage notes.
# :hide:: -- If you want to hide this option from the help.
#
- # source://thor//lib/thor/base.rb#312
+ # source://thor//lib/thor/base.rb#328
def class_option(name, options = T.unsafe(nil)); end
# Adds a bunch of options to the set of class options.
@@ -1722,7 +2020,7 @@ module Thor::Base::ClassMethods
# ==== Parameters
# Hash[Symbol => Object]
#
- # source://thor//lib/thor/base.rb#290
+ # source://thor//lib/thor/base.rb#306
def class_options(options = T.unsafe(nil)); end
# Returns the commands for this Thor class.
@@ -1731,7 +2029,7 @@ module Thor::Base::ClassMethods
# Hash:: An ordered hash with commands names as keys and Thor::Command
# objects as values.
#
- # source://thor//lib/thor/base.rb#372
+ # source://thor//lib/thor/base.rb#471
def commands; end
# If true, option set will not suspend the execution of the command when
@@ -1739,14 +2037,14 @@ module Thor::Base::ClassMethods
#
# @return [Boolean]
#
- # source://thor//lib/thor/base.rb#191
+ # source://thor//lib/thor/base.rb#207
def disable_required_check?(command_name); end
# A flag that makes the process exit with status 1 if any error happens.
#
# @return [Boolean]
#
- # source://thor//lib/thor/base.rb#529
+ # source://thor//lib/thor/base.rb#628
def exit_on_failure?; end
# Defines the group. This is used when thor list is invoked so you can specify
@@ -1755,22 +2053,22 @@ module Thor::Base::ClassMethods
# ==== Parameters
# name
#
- # source://thor//lib/thor/base.rb#358
+ # source://thor//lib/thor/base.rb#457
def group(name = T.unsafe(nil)); end
# @raise [InvocationError]
#
- # source://thor//lib/thor/base.rb#519
+ # source://thor//lib/thor/base.rb#618
def handle_argument_error(command, error, args, arity); end
# @raise [UndefinedCommandError]
#
- # source://thor//lib/thor/base.rb#514
+ # source://thor//lib/thor/base.rb#613
def handle_no_command_error(command, has_namespace = T.unsafe(nil)); end
# @raise [UndefinedCommandError]
#
- # source://thor//lib/thor/base.rb#514
+ # source://thor//lib/thor/base.rb#613
def handle_no_task_error(command, has_namespace = T.unsafe(nil)); end
# Sets the namespace for the Thor or Thor::Group class. By default the
@@ -1795,7 +2093,7 @@ module Thor::Base::ClassMethods
#
# thor :my_command
#
- # source://thor//lib/thor/base.rb#467
+ # source://thor//lib/thor/base.rb#566
def namespace(name = T.unsafe(nil)); end
# All methods defined inside the given block are not added as commands.
@@ -1817,15 +2115,15 @@ module Thor::Base::ClassMethods
# remove_command :this_is_not_a_command
# end
#
- # source://thor//lib/thor/base.rb#431
+ # source://thor//lib/thor/base.rb#530
def no_commands(&block); end
# @return [Boolean]
#
- # source://thor//lib/thor/base.rb#441
+ # source://thor//lib/thor/base.rb#540
def no_commands?; end
- # source://thor//lib/thor/base.rb#437
+ # source://thor//lib/thor/base.rb#536
def no_commands_context; end
# All methods defined inside the given block are not added as commands.
@@ -1847,7 +2145,7 @@ module Thor::Base::ClassMethods
# remove_command :this_is_not_a_command
# end
#
- # source://thor//lib/thor/base.rb#431
+ # source://thor//lib/thor/base.rb#530
def no_tasks(&block); end
# Allows to use private methods from parent in child classes as commands.
@@ -1860,7 +2158,7 @@ module Thor::Base::ClassMethods
# public_command :foo
# public_command :foo, :bar, :baz
#
- # source://thor//lib/thor/base.rb#507
+ # source://thor//lib/thor/base.rb#606
def public_command(*names); end
# Allows to use private methods from parent in child classes as commands.
@@ -1873,7 +2171,7 @@ module Thor::Base::ClassMethods
# public_command :foo
# public_command :foo, :bar, :baz
#
- # source://thor//lib/thor/base.rb#507
+ # source://thor//lib/thor/base.rb#606
def public_task(*names); end
# Removes a previous defined argument. If :undefine is given, undefine
@@ -1887,7 +2185,7 @@ module Thor::Base::ClassMethods
# remove_argument :foo
# remove_argument :foo, :bar, :baz, :undefine => true
#
- # source://thor//lib/thor/base.rb#327
+ # source://thor//lib/thor/base.rb#426
def remove_argument(*names); end
# Removes a previous defined class option.
@@ -1900,7 +2198,7 @@ module Thor::Base::ClassMethods
# remove_class_option :foo
# remove_class_option :foo, :bar, :baz
#
- # source://thor//lib/thor/base.rb#346
+ # source://thor//lib/thor/base.rb#445
def remove_class_option(*names); end
# Removes a given command from this Thor class. This is usually done if you
@@ -1915,7 +2213,7 @@ module Thor::Base::ClassMethods
# options:: You can give :undefine => true if you want commands the method
# to be undefined from the class as well.
#
- # source://thor//lib/thor/base.rb#401
+ # source://thor//lib/thor/base.rb#500
def remove_command(*names); end
# Removes a given command from this Thor class. This is usually done if you
@@ -1930,7 +2228,7 @@ module Thor::Base::ClassMethods
# options:: You can give :undefine => true if you want commands the method
# to be undefined from the class as well.
#
- # source://thor//lib/thor/base.rb#401
+ # source://thor//lib/thor/base.rb#500
def remove_task(*names); end
# Parses the command and options from the given args, instantiate the class
@@ -1941,7 +2239,7 @@ module Thor::Base::ClassMethods
# script = MyScript.new(args, options, config)
# script.invoke(:command, first_arg, second_arg, third_arg)
#
- # source://thor//lib/thor/base.rb#483
+ # source://thor//lib/thor/base.rb#582
def start(given_args = T.unsafe(nil), config = T.unsafe(nil)); end
# If true, option parsing is suspended as soon as an unknown option or a
@@ -1950,22 +2248,22 @@ module Thor::Base::ClassMethods
#
# @return [Boolean]
#
- # source://thor//lib/thor/base.rb#185
+ # source://thor//lib/thor/base.rb#201
def stop_on_unknown_option?(command_name); end
- # source://thor//lib/thor/base.rb#202
+ # source://thor//lib/thor/base.rb#218
def strict_args_position; end
# If you want only strict string args (useful when cascading thor classes),
# call strict_args_position! This is disabled by default to allow dynamic
# invocations.
#
- # source://thor//lib/thor/base.rb#198
+ # source://thor//lib/thor/base.rb#214
def strict_args_position!; end
# @return [Boolean]
#
- # source://thor//lib/thor/base.rb#206
+ # source://thor//lib/thor/base.rb#222
def strict_args_position?(config); end
# Returns the commands for this Thor class.
@@ -1974,7 +2272,7 @@ module Thor::Base::ClassMethods
# Hash:: An ordered hash with commands names as keys and Thor::Command
# objects as values.
#
- # source://thor//lib/thor/base.rb#372
+ # source://thor//lib/thor/base.rb#471
def tasks; end
protected
@@ -1982,12 +2280,12 @@ module Thor::Base::ClassMethods
# SIGNATURE: Sets the baseclass. This is where the superclass lookup
# finishes.
#
- # source://thor//lib/thor/base.rb#678
+ # source://thor//lib/thor/base.rb#777
def baseclass; end
# The basename of the program invoking the thor class.
#
- # source://thor//lib/thor/base.rb#672
+ # source://thor//lib/thor/base.rb#771
def basename; end
# Build an option and adds it to the given scope.
@@ -1997,7 +2295,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#589
+ # source://thor//lib/thor/base.rb#688
def build_option(name, options, scope); end
# Receives a hash of options, parse them and add to the scope. This is a
@@ -2008,83 +2306,100 @@ module Thor::Base::ClassMethods
# ==== Parameters
# Hash[Symbol => Object]
#
- # source://thor//lib/thor/base.rb#600
+ # source://thor//lib/thor/base.rb#699
def build_options(options, scope); end
+ # Get target(method_options or class_options) options
+ # of before and after by block evaluation.
+ #
+ # source://thor//lib/thor/base.rb#808
+ def built_option_names(target, opt = T.unsafe(nil), &block); end
+
# Prints the class options per group. If an option does not belong to
# any group, it's printed as Class option.
#
- # source://thor//lib/thor/base.rb#539
+ # source://thor//lib/thor/base.rb#638
def class_options_help(shell, groups = T.unsafe(nil)); end
+ # Get command scope member by name.
+ #
+ # source://thor//lib/thor/base.rb#816
+ def command_scope_member(name, options = T.unsafe(nil)); 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#683
+ # source://thor//lib/thor/base.rb#782
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#683
+ # source://thor//lib/thor/base.rb#782
def create_task(meth); end
# SIGNATURE: The hook invoked by start.
#
# @raise [NotImplementedError]
#
- # source://thor//lib/thor/base.rb#693
+ # source://thor//lib/thor/base.rb#792
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#609
+ # source://thor//lib/thor/base.rb#708
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#609
+ # source://thor//lib/thor/base.rb#708
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#650
+ # source://thor//lib/thor/base.rb#749
def from_superclass(method, default = T.unsafe(nil)); end
# Every time someone inherits from a Thor class, register the klass
# and file into baseclass.
#
- # source://thor//lib/thor/base.rb#622
+ # source://thor//lib/thor/base.rb#721
def inherited(klass); end
# SIGNATURE: Defines behavior when the initialize method is added to the
# class.
#
- # source://thor//lib/thor/base.rb#689
+ # source://thor//lib/thor/base.rb#788
def initialize_added; end
# Raises an error if the word given is a Thor reserved word.
#
# @return [Boolean]
#
- # source://thor//lib/thor/base.rb#578
+ # source://thor//lib/thor/base.rb#677
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#630
+ # source://thor//lib/thor/base.rb#729
def method_added(meth); end
# Receives a set of options and print them.
#
- # source://thor//lib/thor/base.rb#557
+ # source://thor//lib/thor/base.rb#656
def print_options(shell, options, group_name = T.unsafe(nil)); end
+
+ # Register a relation of options for target(method_option/class_option)
+ # by args and block.
+ #
+ # source://thor//lib/thor/base.rb#798
+ def register_options_relation_for(target, relation, *args, &block); end
end
# source://thor//lib/thor/command.rb#2
@@ -2092,68 +2407,74 @@ class Thor::Command < ::Struct
# @return [Command] a new instance of Command
#
# source://thor//lib/thor/command.rb#5
- def initialize(name, description, long_description, usage, options = T.unsafe(nil)); end
+ def initialize(name, description, long_description, wrap_long_description, usage, options = T.unsafe(nil), options_relation = T.unsafe(nil)); end
# Returns the formatted usage by injecting given required arguments
# and required options into the given usage.
#
- # source://thor//lib/thor/command.rb#41
+ # source://thor//lib/thor/command.rb#42
def formatted_usage(klass, namespace = T.unsafe(nil), subcommand = T.unsafe(nil)); end
# @return [Boolean]
#
- # source://thor//lib/thor/command.rb#14
+ # source://thor//lib/thor/command.rb#15
def hidden?; end
+ # source://thor//lib/thor/command.rb#70
+ def method_at_least_one_option_names; end
+
+ # source://thor//lib/thor/command.rb#66
+ def method_exclusive_option_names; end
+
# By default, a command invokes a method in the thor class. You can change this
# implementation to create custom commands.
#
- # source://thor//lib/thor/command.rb#20
+ # source://thor//lib/thor/command.rb#21
def run(instance, args = T.unsafe(nil)); end
protected
# @return [Boolean]
#
- # source://thor//lib/thor/command.rb#105
+ # source://thor//lib/thor/command.rb#114
def handle_argument_error?(instance, error, caller); end
# @return [Boolean]
#
- # source://thor//lib/thor/command.rb#112
+ # source://thor//lib/thor/command.rb#121
def handle_no_method_error?(instance, error, caller); end
# @return [Boolean]
#
- # source://thor//lib/thor/command.rb#95
+ # source://thor//lib/thor/command.rb#104
def local_method?(instance, name); end
# @return [Boolean]
#
- # source://thor//lib/thor/command.rb#78
+ # source://thor//lib/thor/command.rb#87
def not_debugging?(instance); end
# @return [Boolean]
#
- # source://thor//lib/thor/command.rb#91
+ # source://thor//lib/thor/command.rb#100
def private_method?(instance); end
# Given a target, checks if this class name is a public method.
#
# @return [Boolean]
#
- # source://thor//lib/thor/command.rb#87
+ # source://thor//lib/thor/command.rb#96
def public_method?(instance); end
# Add usage with required arguments
#
- # source://thor//lib/thor/command.rb#68
+ # source://thor//lib/thor/command.rb#77
def required_arguments_for(klass, usage); end
- # source://thor//lib/thor/command.rb#82
+ # source://thor//lib/thor/command.rb#91
def required_options; end
- # source://thor//lib/thor/command.rb#100
+ # source://thor//lib/thor/command.rb#109
def sans_backtrace(backtrace, caller); end
private
@@ -2200,35 +2521,38 @@ class Thor::CoreExt::HashWithIndifferentAccess < ::Hash
# @return [Boolean]
#
- # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#41
+ # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#45
def key?(key); end
- # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#49
+ # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#53
def merge(other); end
- # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#53
+ # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#57
def merge!(other); end
- # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#68
+ # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#72
def replace(other_hash); end
- # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#60
+ # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#64
def reverse_merge(other); end
- # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#64
+ # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#68
def reverse_merge!(other_hash); end
+ # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#41
+ def slice(*keys); end
+
# Convert to a Hash with String keys.
#
- # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#73
+ # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#77
def to_hash; end
- # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#45
+ # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#49
def values_at(*indices); end
protected
- # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#79
+ # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#83
def convert_key(key); end
# Magic predicates. For instance:
@@ -2237,33 +2561,33 @@ class Thor::CoreExt::HashWithIndifferentAccess < ::Hash
# options.shebang # => "/usr/lib/local/ruby"
# options.test_framework?(:rspec) # => options[:test_framework] == :rspec
#
- # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#89
+ # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#93
def method_missing(method, *args); end
end
-# source://thor//lib/thor/error.rb#14
+# source://thor//lib/thor/error.rb#3
module Thor::Correctable
- # source://thor//lib/thor/error.rb#19
+ # source://thor//lib/thor/error.rb#8
def corrections; end
- # source://thor//lib/thor/error.rb#15
+ # source://thor//lib/thor/error.rb#4
def to_s; end
end
# A dynamic command that handles method missing scenarios.
#
-# source://thor//lib/thor/command.rb#128
+# source://thor//lib/thor/command.rb#137
class Thor::DynamicCommand < ::Thor::Command
# @return [DynamicCommand] a new instance of DynamicCommand
#
- # source://thor//lib/thor/command.rb#129
+ # source://thor//lib/thor/command.rb#138
def initialize(name, options = T.unsafe(nil)); end
- # source://thor//lib/thor/command.rb#133
+ # source://thor//lib/thor/command.rb#142
def run(instance, args = T.unsafe(nil)); end
end
-# source://thor//lib/thor/command.rb#141
+# source://thor//lib/thor/command.rb#150
Thor::DynamicTask = Thor::DynamicCommand
# Thor::Error is raised when it's caused by wrong usage of thor classes. Those
@@ -2273,9 +2597,12 @@ 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#31
+# source://thor//lib/thor/error.rb#20
class Thor::Error < ::StandardError; end
+# source://thor//lib/thor/error.rb#101
+class Thor::ExclusiveArgumentError < ::Thor::InvocationError; end
+
# Thor has a special class called Thor::Group. The main difference to Thor class
# is that it invokes all commands at once. It also include some methods that allows
# invocations to be done at the class method, which are not available to Thor
@@ -2449,15 +2776,15 @@ Thor::HELP_MAPPINGS = T.let(T.unsafe(nil), Array)
# A command that is hidden in help messages but still invocable.
#
-# source://thor//lib/thor/command.rb#120
+# source://thor//lib/thor/command.rb#129
class Thor::HiddenCommand < ::Thor::Command
# @return [Boolean]
#
- # source://thor//lib/thor/command.rb#121
+ # source://thor//lib/thor/command.rb#130
def hidden?; end
end
-# source://thor//lib/thor/command.rb#125
+# source://thor//lib/thor/command.rb#134
Thor::HiddenTask = Thor::HiddenCommand
# source://thor//lib/thor/invocation.rb#2
@@ -2611,7 +2938,7 @@ end
# Raised when a command was found, but not invoked properly.
#
-# source://thor//lib/thor/error.rb#73
+# source://thor//lib/thor/error.rb#62
class Thor::InvocationError < ::Thor::Error; end
# source://thor//lib/thor/line_editor/basic.rb#2
@@ -2724,7 +3051,7 @@ class Thor::LineEditor::Readline::PathCompletion
def text; end
end
-# source://thor//lib/thor/error.rb#109
+# source://thor//lib/thor/error.rb#98
class Thor::MalformattedArgumentError < ::Thor::InvocationError; end
# source://thor//lib/thor/nested_context.rb#2
@@ -2751,12 +3078,6 @@ class Thor::NestedContext
def push; end
end
-# source://thor//lib/thor/error.rb#8
-class Thor::NoKwargSpellChecker < ::DidYouMean::SpellChecker
- # source://thor//lib/thor/error.rb#9
- def initialize(dictionary); end
-end
-
# source://thor//lib/thor/parser/option.rb#2
class Thor::Option < ::Thor::Argument
# @return [Option] a new instance of Option
@@ -2772,10 +3093,10 @@ class Thor::Option < ::Thor::Argument
# source://thor//lib/thor/parser/option.rb#99
def aliases_for_usage; end
- # source://thor//lib/thor/parser/option.rb#109
+ # source://thor//lib/thor/parser/option.rb#118
def array?; end
- # source://thor//lib/thor/parser/option.rb#109
+ # source://thor//lib/thor/parser/option.rb#118
def boolean?; end
# Returns the value of attribute group.
@@ -2783,7 +3104,7 @@ class Thor::Option < ::Thor::Argument
# source://thor//lib/thor/parser/option.rb#3
def group; end
- # source://thor//lib/thor/parser/option.rb#109
+ # source://thor//lib/thor/parser/option.rb#118
def hash?; end
# Returns the value of attribute hide.
@@ -2799,7 +3120,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#109
+ # source://thor//lib/thor/parser/option.rb#118
def numeric?; end
# Returns the value of attribute repeatable.
@@ -2807,7 +3128,12 @@ class Thor::Option < ::Thor::Argument
# source://thor//lib/thor/parser/option.rb#3
def repeatable; end
- # source://thor//lib/thor/parser/option.rb#109
+ # @return [Boolean]
+ #
+ # source://thor//lib/thor/parser/option.rb#107
+ def show_default?; end
+
+ # source://thor//lib/thor/parser/option.rb#118
def string?; end
# source://thor//lib/thor/parser/option.rb#75
@@ -2818,25 +3144,30 @@ class Thor::Option < ::Thor::Argument
protected
- # source://thor//lib/thor/parser/option.rb#159
+ # source://thor//lib/thor/parser/option.rb#168
def dasherize(str); end
# @return [Boolean]
#
- # source://thor//lib/thor/parser/option.rb#151
+ # source://thor//lib/thor/parser/option.rb#160
def dasherized?; end
- # source://thor//lib/thor/parser/option.rb#155
+ # source://thor//lib/thor/parser/option.rb#164
def undasherize(str); end
# @raise [ArgumentError]
#
- # source://thor//lib/thor/parser/option.rb#117
+ # source://thor//lib/thor/parser/option.rb#126
def validate!; end
- # source://thor//lib/thor/parser/option.rb#122
+ # source://thor//lib/thor/parser/option.rb#131
def validate_default_type!; end
+ private
+
+ # source://thor//lib/thor/parser/option.rb#174
+ def normalize_aliases(aliases); end
+
class << self
# This parse quick options given as method_options. It makes several
# assumptions, but you can be more specific using the option method.
@@ -2883,31 +3214,37 @@ class Thor::Options < ::Thor::Arguments
# @return [Options] a new instance of Options
#
# source://thor//lib/thor/parser/options.rb#32
- def initialize(hash_options = T.unsafe(nil), defaults = T.unsafe(nil), stop_on_unknown = T.unsafe(nil), disable_required_check = T.unsafe(nil)); end
+ def initialize(hash_options = T.unsafe(nil), defaults = T.unsafe(nil), stop_on_unknown = T.unsafe(nil), disable_required_check = T.unsafe(nil), relations = T.unsafe(nil)); end
+
+ # source://thor//lib/thor/parser/options.rb#156
+ def check_at_least_one!; end
+
+ # source://thor//lib/thor/parser/options.rb#144
+ def check_exclusive!; end
# @raise [UnknownArgumentError]
#
- # source://thor//lib/thor/parser/options.rb#141
+ # source://thor//lib/thor/parser/options.rb#168
def check_unknown!; end
- # source://thor//lib/thor/parser/options.rb#88
+ # source://thor//lib/thor/parser/options.rb#89
def parse(args); end
- # source://thor//lib/thor/parser/options.rb#64
+ # source://thor//lib/thor/parser/options.rb#65
def peek; end
- # source://thor//lib/thor/parser/options.rb#60
+ # source://thor//lib/thor/parser/options.rb#61
def remaining; end
- # source://thor//lib/thor/parser/options.rb#78
+ # source://thor//lib/thor/parser/options.rb#79
def shift; end
- # source://thor//lib/thor/parser/options.rb#83
+ # source://thor//lib/thor/parser/options.rb#84
def unshift(arg, is_value: T.unsafe(nil)); end
protected
- # source://thor//lib/thor/parser/options.rb#151
+ # source://thor//lib/thor/parser/options.rb#189
def assign_result!(option, result); end
# Check if the current value in peek is a registered switch.
@@ -2917,45 +3254,50 @@ class Thor::Options < ::Thor::Arguments
#
# @return [Boolean]
#
- # source://thor//lib/thor/parser/options.rb#165
+ # source://thor//lib/thor/parser/options.rb#203
def current_is_switch?; end
# @return [Boolean]
#
- # source://thor//lib/thor/parser/options.rb#177
+ # source://thor//lib/thor/parser/options.rb#215
def current_is_switch_formatted?; end
# @return [Boolean]
#
- # source://thor//lib/thor/parser/options.rb#187
+ # source://thor//lib/thor/parser/options.rb#225
def current_is_value?; end
+ # Option names changes to swith name or human name
+ #
+ # source://thor//lib/thor/parser/options.rb#179
+ def names_to_switch_names(names = T.unsafe(nil)); end
+
# Check if the given argument is actually a shortcut.
#
- # source://thor//lib/thor/parser/options.rb#206
+ # source://thor//lib/thor/parser/options.rb#244
def normalize_switch(arg); end
# Parse boolean values which can be given as --foo=true, --foo or --no-foo.
#
- # source://thor//lib/thor/parser/options.rb#217
+ # source://thor//lib/thor/parser/options.rb#255
def parse_boolean(switch); end
# Parse the value at the peek analyzing if it requires an input or not.
#
- # source://thor//lib/thor/parser/options.rb#235
+ # source://thor//lib/thor/parser/options.rb#273
def parse_peek(switch, option); end
# @return [Boolean]
#
- # source://thor//lib/thor/parser/options.rb#210
+ # source://thor//lib/thor/parser/options.rb#248
def parsing_options?; end
# @return [Boolean]
#
- # source://thor//lib/thor/parser/options.rb#192
+ # source://thor//lib/thor/parser/options.rb#230
def switch?(arg); end
- # source://thor//lib/thor/parser/options.rb#196
+ # source://thor//lib/thor/parser/options.rb#234
def switch_option(arg); end
class << self
@@ -3019,7 +3361,7 @@ module Thor::RakeCompat
end
end
-# source://thor//lib/thor/error.rb#106
+# source://thor//lib/thor/error.rb#95
class Thor::RequiredArgumentMissingError < ::Thor::InvocationError; end
# source://thor//lib/thor/util.rb#4
@@ -3108,13 +3450,13 @@ module Thor::Shell
def _shared_configuration; end
end
-# source://thor//lib/thor/shell/basic.rb#3
+# source://thor//lib/thor/shell/basic.rb#7
class Thor::Shell::Basic
# Initialize base, mute and padding to nil.
#
# @return [Basic] a new instance of Basic
#
- # source://thor//lib/thor/shell/basic.rb#11
+ # source://thor//lib/thor/shell/basic.rb#13
def initialize; end
# Asks something to the user and receives a response.
@@ -3147,19 +3489,19 @@ class Thor::Shell::Basic
#
# ask("Where should the file be saved?", :path => true)
#
- # source://thor//lib/thor/shell/basic.rb#78
+ # source://thor//lib/thor/shell/basic.rb#80
def ask(statement, *args); end
# Returns the value of attribute base.
#
- # source://thor//lib/thor/shell/basic.rb#6
+ # source://thor//lib/thor/shell/basic.rb#8
def base; end
# Sets the attribute base
#
# @param value the value to set the attribute base to.
#
- # source://thor//lib/thor/shell/basic.rb#6
+ # source://thor//lib/thor/shell/basic.rb#8
def base=(_arg0); end
# Called if something goes wrong during the execution. This is used by Thor
@@ -3167,7 +3509,7 @@ class Thor::Shell::Basic
# wrong, you can always raise an exception. If you raise a Thor::Error, it
# will be rescued and wrapped in the method below.
#
- # source://thor//lib/thor/shell/basic.rb#342
+ # source://thor//lib/thor/shell/basic.rb#251
def error(statement); end
# Deals with file collision and returns true if the file should be
@@ -3178,24 +3520,24 @@ class Thor::Shell::Basic
# destination:: the destination file to solve conflicts
# block:: an optional block that returns the value to be used in diff and merge
#
- # source://thor//lib/thor/shell/basic.rb#285
+ # source://thor//lib/thor/shell/basic.rb#207
def file_collision(destination); end
# Sets the output padding while executing a block and resets it.
#
- # source://thor//lib/thor/shell/basic.rb#41
+ # source://thor//lib/thor/shell/basic.rb#43
def indent(count = T.unsafe(nil)); end
# Mute everything that's inside given block
#
- # source://thor//lib/thor/shell/basic.rb#20
+ # source://thor//lib/thor/shell/basic.rb#22
def mute; end
# Check if base is muted
#
# @return [Boolean]
#
- # source://thor//lib/thor/shell/basic.rb#29
+ # source://thor//lib/thor/shell/basic.rb#31
def mute?; end
# Make a question the to user and returns true if the user replies "n" or
@@ -3203,17 +3545,17 @@ class Thor::Shell::Basic
#
# @return [Boolean]
#
- # source://thor//lib/thor/shell/basic.rb#154
+ # source://thor//lib/thor/shell/basic.rb#156
def no?(statement, color = T.unsafe(nil)); end
# Returns the value of attribute padding.
#
- # source://thor//lib/thor/shell/basic.rb#7
+ # source://thor//lib/thor/shell/basic.rb#9
def padding; end
# Sets the output padding, not allowing less than zero values.
#
- # source://thor//lib/thor/shell/basic.rb#35
+ # source://thor//lib/thor/shell/basic.rb#37
def padding=(value); end
# Prints values in columns
@@ -3221,7 +3563,7 @@ class Thor::Shell::Basic
# ==== Parameters
# Array[String, String, ...]
#
- # source://thor//lib/thor/shell/basic.rb#163
+ # source://thor//lib/thor/shell/basic.rb#165
def print_in_columns(array); end
# Prints a table.
@@ -3232,8 +3574,9 @@ class Thor::Shell::Basic
# ==== Options
# indent:: Indent the first column by indent value.
# colwidth:: Force the first column to colwidth spaces wide.
+ # borders:: Adds ascii borders.
#
- # source://thor//lib/thor/shell/basic.rb#185
+ # source://thor//lib/thor/shell/basic.rb#180
def print_table(array, options = T.unsafe(nil)); end
# Prints a long string, word-wrapping the text to the current width of the
@@ -3245,7 +3588,7 @@ class Thor::Shell::Basic
# ==== Options
# indent:: Indent each line of the printed paragraph by indent value.
#
- # source://thor//lib/thor/shell/basic.rb#247
+ # source://thor//lib/thor/shell/basic.rb#194
def print_wrapped(message, options = T.unsafe(nil)); end
# Say (print) something to the user. If the sentence ends with a whitespace
@@ -3255,7 +3598,7 @@ class Thor::Shell::Basic
# ==== Example
# say("I know you knew that.")
#
- # source://thor//lib/thor/shell/basic.rb#96
+ # source://thor//lib/thor/shell/basic.rb#98
def say(message = T.unsafe(nil), color = T.unsafe(nil), force_new_line = T.unsafe(nil)); end
# Say (print) an error to the user. If the sentence ends with a whitespace
@@ -3265,7 +3608,7 @@ class Thor::Shell::Basic
# ==== Example
# say_error("error: something went wrong")
#
- # source://thor//lib/thor/shell/basic.rb#113
+ # source://thor//lib/thor/shell/basic.rb#115
def say_error(message = T.unsafe(nil), color = T.unsafe(nil), force_new_line = T.unsafe(nil)); end
# Say a status with the given color and appends the message. Since this
@@ -3273,110 +3616,89 @@ class Thor::Shell::Basic
# in log_status, avoiding the message from being shown. If a Symbol is
# given in log_status, it's used as the color.
#
- # source://thor//lib/thor/shell/basic.rb#128
+ # source://thor//lib/thor/shell/basic.rb#130
def say_status(status, message, log_status = T.unsafe(nil)); end
# Apply color to the given string with optional bold. Disabled in the
# Thor::Shell::Basic class.
#
- # source://thor//lib/thor/shell/basic.rb#349
+ # source://thor//lib/thor/shell/basic.rb#258
def set_color(string, *_arg1); end
- # source://thor//lib/thor/shell/basic.rb#326
- def terminal_width; end
-
# Make a question the to user and returns true if the user replies "y" or
# "yes".
#
# @return [Boolean]
#
- # source://thor//lib/thor/shell/basic.rb#147
+ # source://thor//lib/thor/shell/basic.rb#149
def yes?(statement, color = T.unsafe(nil)); end
protected
- # source://thor//lib/thor/shell/basic.rb#486
+ # source://thor//lib/thor/shell/basic.rb#362
def answer_match(possibilities, answer, case_insensitive); end
- # source://thor//lib/thor/shell/basic.rb#443
- def as_unicode; end
-
- # source://thor//lib/thor/shell/basic.rb#473
+ # source://thor//lib/thor/shell/basic.rb#349
def ask_filtered(statement, color, options); end
- # source://thor//lib/thor/shell/basic.rb#456
+ # source://thor//lib/thor/shell/basic.rb#332
def ask_simply(statement, color, options); end
# @return [Boolean]
#
- # source://thor//lib/thor/shell/basic.rb#360
+ # source://thor//lib/thor/shell/basic.rb#269
def can_display_colors?; end
- # Calculate the dynamic width of the terminal
- #
- # source://thor//lib/thor/shell/basic.rb#415
- def dynamic_width; end
-
- # source://thor//lib/thor/shell/basic.rb#419
- def dynamic_width_stty; end
-
- # source://thor//lib/thor/shell/basic.rb#423
- def dynamic_width_tput; end
-
- # source://thor//lib/thor/shell/basic.rb#387
- def file_collision_help; end
+ # source://thor//lib/thor/shell/basic.rb#296
+ def file_collision_help(block_given); end
- # source://thor//lib/thor/shell/basic.rb#507
+ # source://thor//lib/thor/shell/basic.rb#383
def git_merge_tool; end
# @return [Boolean]
#
- # source://thor//lib/thor/shell/basic.rb#377
+ # source://thor//lib/thor/shell/basic.rb#286
def is?(value); end
- # source://thor//lib/thor/shell/basic.rb#364
+ # source://thor//lib/thor/shell/basic.rb#273
def lookup_color(color); end
- # source://thor//lib/thor/shell/basic.rb#494
+ # source://thor//lib/thor/shell/basic.rb#370
def merge(destination, content); end
- # source://thor//lib/thor/shell/basic.rb#503
+ # source://thor//lib/thor/shell/basic.rb#379
def merge_tool; end
- # source://thor//lib/thor/shell/basic.rb#355
+ # source://thor//lib/thor/shell/basic.rb#264
def prepare_message(message, *color); end
# @return [Boolean]
#
- # source://thor//lib/thor/shell/basic.rb#410
+ # source://thor//lib/thor/shell/basic.rb#324
def quiet?; end
- # source://thor//lib/thor/shell/basic.rb#399
+ # source://thor//lib/thor/shell/basic.rb#313
def show_diff(destination, content); end
- # source://thor//lib/thor/shell/basic.rb#373
+ # source://thor//lib/thor/shell/basic.rb#282
def stderr; end
- # source://thor//lib/thor/shell/basic.rb#369
+ # source://thor//lib/thor/shell/basic.rb#278
def stdout; end
- # source://thor//lib/thor/shell/basic.rb#431
- def truncate(string, width); end
-
# @return [Boolean]
#
- # source://thor//lib/thor/shell/basic.rb#427
+ # source://thor//lib/thor/shell/basic.rb#328
def unix?; end
end
-# source://thor//lib/thor/shell/basic.rb#4
-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#8
+# source://thor//lib/thor/shell/color.rb#9
class Thor::Shell::Color < ::Thor::Shell::Basic
+ include ::LCSDiff
+
# 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
# on Highline implementation and it automatically appends CLEAR to the end
@@ -3409,139 +3731,145 @@ class Thor::Shell::Color < ::Thor::Shell::Basic
# :on_cyan
# :on_white
#
- # source://thor//lib/thor/shell/color.rb#79
+ # source://thor//lib/thor/shell/color.rb#82
def set_color(string, *colors); end
protected
# @return [Boolean]
#
- # source://thor//lib/thor/shell/color.rb#107
+ # source://thor//lib/thor/shell/color.rb#110
def are_colors_disabled?; end
# @return [Boolean]
#
- # source://thor//lib/thor/shell/color.rb#103
+ # source://thor//lib/thor/shell/color.rb#106
def are_colors_supported?; end
# @return [Boolean]
#
- # source://thor//lib/thor/shell/color.rb#99
+ # source://thor//lib/thor/shell/color.rb#102
def can_display_colors?; end
-
- # Check if Diff::LCS is loaded. If it is, use it to create pretty output
- # for diff.
- #
- # @return [Boolean]
- #
- # source://thor//lib/thor/shell/color.rb#144
- def diff_lcs_loaded?; end
-
- # source://thor//lib/thor/shell/color.rb#127
- def output_diff_line(diff); end
-
- # Overwrite show_diff to show diff with colors if Diff::LCS is
- # available.
- #
- # source://thor//lib/thor/shell/color.rb#114
- def show_diff(destination, content); end
end
# Set the terminal's foreground ANSI color to black.
#
-# source://thor//lib/thor/shell/color.rb#15
+# source://thor//lib/thor/shell/color.rb#18
Thor::Shell::Color::BLACK = T.let(T.unsafe(nil), String)
# Set the terminal's foreground ANSI color to blue.
#
-# source://thor//lib/thor/shell/color.rb#23
+# source://thor//lib/thor/shell/color.rb#26
Thor::Shell::Color::BLUE = T.let(T.unsafe(nil), String)
# The start of an ANSI bold sequence.
#
-# source://thor//lib/thor/shell/color.rb#12
+# source://thor//lib/thor/shell/color.rb#15
Thor::Shell::Color::BOLD = T.let(T.unsafe(nil), String)
# Embed in a String to clear all previous ANSI sequences.
#
-# source://thor//lib/thor/shell/color.rb#10
+# source://thor//lib/thor/shell/color.rb#13
Thor::Shell::Color::CLEAR = T.let(T.unsafe(nil), String)
# Set the terminal's foreground ANSI color to cyan.
#
-# source://thor//lib/thor/shell/color.rb#27
+# source://thor//lib/thor/shell/color.rb#30
Thor::Shell::Color::CYAN = T.let(T.unsafe(nil), String)
# Set the terminal's foreground ANSI color to green.
#
-# source://thor//lib/thor/shell/color.rb#19
+# source://thor//lib/thor/shell/color.rb#22
Thor::Shell::Color::GREEN = T.let(T.unsafe(nil), String)
# Set the terminal's foreground ANSI color to magenta.
#
-# source://thor//lib/thor/shell/color.rb#25
+# source://thor//lib/thor/shell/color.rb#28
Thor::Shell::Color::MAGENTA = T.let(T.unsafe(nil), String)
# Set the terminal's background ANSI color to black.
#
-# source://thor//lib/thor/shell/color.rb#32
+# source://thor//lib/thor/shell/color.rb#35
Thor::Shell::Color::ON_BLACK = T.let(T.unsafe(nil), String)
# Set the terminal's background ANSI color to blue.
#
-# source://thor//lib/thor/shell/color.rb#40
+# source://thor//lib/thor/shell/color.rb#43
Thor::Shell::Color::ON_BLUE = T.let(T.unsafe(nil), String)
# Set the terminal's background ANSI color to cyan.
#
-# source://thor//lib/thor/shell/color.rb#44
+# source://thor//lib/thor/shell/color.rb#47
Thor::Shell::Color::ON_CYAN = T.let(T.unsafe(nil), String)
# Set the terminal's background ANSI color to green.
#
-# source://thor//lib/thor/shell/color.rb#36
+# source://thor//lib/thor/shell/color.rb#39
Thor::Shell::Color::ON_GREEN = T.let(T.unsafe(nil), String)
# Set the terminal's background ANSI color to magenta.
#
-# source://thor//lib/thor/shell/color.rb#42
+# source://thor//lib/thor/shell/color.rb#45
Thor::Shell::Color::ON_MAGENTA = T.let(T.unsafe(nil), String)
# Set the terminal's background ANSI color to red.
#
-# source://thor//lib/thor/shell/color.rb#34
+# source://thor//lib/thor/shell/color.rb#37
Thor::Shell::Color::ON_RED = T.let(T.unsafe(nil), String)
# Set the terminal's background ANSI color to white.
#
-# source://thor//lib/thor/shell/color.rb#46
+# source://thor//lib/thor/shell/color.rb#49
Thor::Shell::Color::ON_WHITE = T.let(T.unsafe(nil), String)
# Set the terminal's background ANSI color to yellow.
#
-# source://thor//lib/thor/shell/color.rb#38
+# source://thor//lib/thor/shell/color.rb#41
Thor::Shell::Color::ON_YELLOW = T.let(T.unsafe(nil), String)
# Set the terminal's foreground ANSI color to red.
#
-# source://thor//lib/thor/shell/color.rb#17
+# source://thor//lib/thor/shell/color.rb#20
Thor::Shell::Color::RED = T.let(T.unsafe(nil), String)
# Set the terminal's foreground ANSI color to white.
#
-# source://thor//lib/thor/shell/color.rb#29
+# source://thor//lib/thor/shell/color.rb#32
Thor::Shell::Color::WHITE = T.let(T.unsafe(nil), String)
# Set the terminal's foreground ANSI color to yellow.
#
-# source://thor//lib/thor/shell/color.rb#21
+# source://thor//lib/thor/shell/color.rb#24
Thor::Shell::Color::YELLOW = T.let(T.unsafe(nil), String)
+# source://thor//lib/thor/shell/column_printer.rb#5
+class Thor::Shell::ColumnPrinter
+ # @return [ColumnPrinter] a new instance of ColumnPrinter
+ #
+ # source://thor//lib/thor/shell/column_printer.rb#8
+ def initialize(stdout, options = T.unsafe(nil)); end
+
+ # Returns the value of attribute options.
+ #
+ # source://thor//lib/thor/shell/column_printer.rb#6
+ def options; end
+
+ # source://thor//lib/thor/shell/column_printer.rb#14
+ def print(array); end
+
+ # Returns the value of attribute stdout.
+ #
+ # source://thor//lib/thor/shell/column_printer.rb#6
+ def stdout; end
+end
+
# 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#8
+# source://thor//lib/thor/shell/html.rb#9
class Thor::Shell::HTML < ::Thor::Shell::Basic
+ include ::LCSDiff
+
# Ask something to the user and receives a response.
#
# ==== Example
@@ -3551,7 +3879,7 @@ class Thor::Shell::HTML < ::Thor::Shell::Basic
#
# @raise [NotImplementedError]
#
- # source://thor//lib/thor/shell/html.rb#70
+ # source://thor//lib/thor/shell/html.rb#73
def ask(statement, color = T.unsafe(nil)); end
# Set color by using a string or one of the defined constants. If a third
@@ -3559,122 +3887,174 @@ class Thor::Shell::HTML < ::Thor::Shell::Basic
# on Highline implementation and it automatically appends CLEAR to the end
# of the returned String.
#
- # source://thor//lib/thor/shell/html.rb#51
+ # source://thor//lib/thor/shell/html.rb#54
def set_color(string, *colors); end
protected
# @return [Boolean]
#
- # source://thor//lib/thor/shell/html.rb#76
+ # source://thor//lib/thor/shell/html.rb#79
def can_display_colors?; end
-
- # Check if Diff::LCS is loaded. If it is, use it to create pretty output
- # for diff.
- #
- # @return [Boolean]
- #
- # source://thor//lib/thor/shell/html.rb#113
- def diff_lcs_loaded?; end
-
- # source://thor//lib/thor/shell/html.rb#96
- def output_diff_line(diff); end
-
- # Overwrite show_diff to show diff with colors if Diff::LCS is
- # available.
- #
- # source://thor//lib/thor/shell/html.rb#83
- def show_diff(destination, content); end
end
# Set the terminal's foreground HTML color to black.
#
-# source://thor//lib/thor/shell/html.rb#13
+# source://thor//lib/thor/shell/html.rb#16
Thor::Shell::HTML::BLACK = T.let(T.unsafe(nil), String)
# Set the terminal's foreground HTML color to blue.
#
-# source://thor//lib/thor/shell/html.rb#21
+# source://thor//lib/thor/shell/html.rb#24
Thor::Shell::HTML::BLUE = T.let(T.unsafe(nil), String)
# The start of an HTML bold sequence.
#
-# source://thor//lib/thor/shell/html.rb#10
+# source://thor//lib/thor/shell/html.rb#13
Thor::Shell::HTML::BOLD = T.let(T.unsafe(nil), String)
# Set the terminal's foreground HTML color to cyan.
#
-# source://thor//lib/thor/shell/html.rb#25
+# source://thor//lib/thor/shell/html.rb#28
Thor::Shell::HTML::CYAN = T.let(T.unsafe(nil), String)
# Set the terminal's foreground HTML color to green.
#
-# source://thor//lib/thor/shell/html.rb#17
+# source://thor//lib/thor/shell/html.rb#20
Thor::Shell::HTML::GREEN = T.let(T.unsafe(nil), String)
# Set the terminal's foreground HTML color to magenta.
#
-# source://thor//lib/thor/shell/html.rb#23
+# source://thor//lib/thor/shell/html.rb#26
Thor::Shell::HTML::MAGENTA = T.let(T.unsafe(nil), String)
# Set the terminal's background HTML color to black.
#
-# source://thor//lib/thor/shell/html.rb#30
+# source://thor//lib/thor/shell/html.rb#33
Thor::Shell::HTML::ON_BLACK = T.let(T.unsafe(nil), String)
# Set the terminal's background HTML color to blue.
#
-# source://thor//lib/thor/shell/html.rb#38
+# source://thor//lib/thor/shell/html.rb#41
Thor::Shell::HTML::ON_BLUE = T.let(T.unsafe(nil), String)
# Set the terminal's background HTML color to cyan.
#
-# source://thor//lib/thor/shell/html.rb#42
+# source://thor//lib/thor/shell/html.rb#45
Thor::Shell::HTML::ON_CYAN = T.let(T.unsafe(nil), String)
# Set the terminal's background HTML color to green.
#
-# source://thor//lib/thor/shell/html.rb#34
+# source://thor//lib/thor/shell/html.rb#37
Thor::Shell::HTML::ON_GREEN = T.let(T.unsafe(nil), String)
# Set the terminal's background HTML color to magenta.
#
-# source://thor//lib/thor/shell/html.rb#40
+# source://thor//lib/thor/shell/html.rb#43
Thor::Shell::HTML::ON_MAGENTA = T.let(T.unsafe(nil), String)
# Set the terminal's background HTML color to red.
#
-# source://thor//lib/thor/shell/html.rb#32
+# source://thor//lib/thor/shell/html.rb#35
Thor::Shell::HTML::ON_RED = T.let(T.unsafe(nil), String)
# Set the terminal's background HTML color to white.
#
-# source://thor//lib/thor/shell/html.rb#44
+# source://thor//lib/thor/shell/html.rb#47
Thor::Shell::HTML::ON_WHITE = T.let(T.unsafe(nil), String)
# Set the terminal's background HTML color to yellow.
#
-# source://thor//lib/thor/shell/html.rb#36
+# source://thor//lib/thor/shell/html.rb#39
Thor::Shell::HTML::ON_YELLOW = T.let(T.unsafe(nil), String)
# Set the terminal's foreground HTML color to red.
#
-# source://thor//lib/thor/shell/html.rb#15
+# source://thor//lib/thor/shell/html.rb#18
Thor::Shell::HTML::RED = T.let(T.unsafe(nil), String)
# Set the terminal's foreground HTML color to white.
#
-# source://thor//lib/thor/shell/html.rb#27
+# source://thor//lib/thor/shell/html.rb#30
Thor::Shell::HTML::WHITE = T.let(T.unsafe(nil), String)
# Set the terminal's foreground HTML color to yellow.
#
-# source://thor//lib/thor/shell/html.rb#19
+# source://thor//lib/thor/shell/html.rb#22
Thor::Shell::HTML::YELLOW = T.let(T.unsafe(nil), String)
# source://thor//lib/thor/shell.rb#24
Thor::Shell::SHELL_DELEGATED_METHODS = T.let(T.unsafe(nil), Array)
+# source://thor//lib/thor/shell/table_printer.rb#6
+class Thor::Shell::TablePrinter < ::Thor::Shell::ColumnPrinter
+ # @return [TablePrinter] a new instance of TablePrinter
+ #
+ # source://thor//lib/thor/shell/table_printer.rb#9
+ def initialize(stdout, options = T.unsafe(nil)); end
+
+ # source://thor//lib/thor/shell/table_printer.rb#18
+ def print(array); end
+
+ private
+
+ # source://thor//lib/thor/shell/table_printer.rb#120
+ def as_unicode; end
+
+ # source://thor//lib/thor/shell/table_printer.rb#72
+ def format_cell(column, row_size, index); end
+
+ # source://thor//lib/thor/shell/table_printer.rb#115
+ def indentation; end
+
+ # source://thor//lib/thor/shell/table_printer.rb#47
+ def prepare(array); end
+
+ # source://thor//lib/thor/shell/table_printer.rb#96
+ def print_border_separator; end
+
+ # source://thor//lib/thor/shell/table_printer.rb#103
+ def truncate(string); end
+end
+
+# source://thor//lib/thor/shell/table_printer.rb#7
+Thor::Shell::TablePrinter::BORDER_SEPARATOR = T.let(T.unsafe(nil), Symbol)
+
+# source://thor//lib/thor/shell/terminal.rb#3
+module Thor::Shell::Terminal
+ class << self
+ # source://thor//lib/thor/shell/terminal.rb#9
+ def terminal_width; end
+
+ # @return [Boolean]
+ #
+ # source://thor//lib/thor/shell/terminal.rb#20
+ def unix?; end
+
+ private
+
+ # Calculate the dynamic width of the terminal
+ #
+ # source://thor//lib/thor/shell/terminal.rb#27
+ def dynamic_width; end
+
+ # source://thor//lib/thor/shell/terminal.rb#31
+ def dynamic_width_stty; end
+
+ # source://thor//lib/thor/shell/terminal.rb#35
+ def dynamic_width_tput; end
+ end
+end
+
+# source://thor//lib/thor/shell/terminal.rb#4
+Thor::Shell::Terminal::DEFAULT_TERMINAL_WIDTH = T.let(T.unsafe(nil), Integer)
+
+# source://thor//lib/thor/shell/wrapped_printer.rb#6
+class Thor::Shell::WrappedPrinter < ::Thor::Shell::ColumnPrinter
+ # source://thor//lib/thor/shell/wrapped_printer.rb#7
+ def print(message); end
+end
+
# source://thor//lib/thor/base.rb#23
Thor::TEMPLATE_EXTNAME = T.let(T.unsafe(nil), String)
@@ -3683,89 +4063,89 @@ Thor::TEMPLATE_EXTNAME = T.let(T.unsafe(nil), String)
# source://thor//lib/thor/base.rb#20
Thor::THOR_RESERVED_WORDS = T.let(T.unsafe(nil), Array)
-# source://thor//lib/thor/command.rb#117
+# source://thor//lib/thor/command.rb#126
Thor::Task = Thor::Command
# Raised when a command was not found.
#
-# source://thor//lib/thor/error.rb#35
+# source://thor//lib/thor/error.rb#24
class Thor::UndefinedCommandError < ::Thor::Error
include ::Thor::Correctable
# @return [UndefinedCommandError] a new instance of UndefinedCommandError
#
- # source://thor//lib/thor/error.rb#54
+ # source://thor//lib/thor/error.rb#43
def initialize(command, all_commands, namespace); end
# Returns the value of attribute all_commands.
#
- # source://thor//lib/thor/error.rb#52
+ # source://thor//lib/thor/error.rb#41
def all_commands; end
# Returns the value of attribute command.
#
- # source://thor//lib/thor/error.rb#52
+ # source://thor//lib/thor/error.rb#41
def command; end
end
-# source://thor//lib/thor/error.rb#36
+# source://thor//lib/thor/error.rb#25
class Thor::UndefinedCommandError::SpellChecker
# @return [SpellChecker] a new instance of SpellChecker
#
- # source://thor//lib/thor/error.rb#39
+ # source://thor//lib/thor/error.rb#28
def initialize(error); end
- # source://thor//lib/thor/error.rb#43
+ # source://thor//lib/thor/error.rb#32
def corrections; end
# Returns the value of attribute error.
#
- # source://thor//lib/thor/error.rb#37
+ # source://thor//lib/thor/error.rb#26
def error; end
- # source://thor//lib/thor/error.rb#47
+ # source://thor//lib/thor/error.rb#36
def spell_checker; end
end
-# source://thor//lib/thor/error.rb#66
+# source://thor//lib/thor/error.rb#55
Thor::UndefinedTaskError = Thor::UndefinedCommandError
-# source://thor//lib/thor/error.rb#76
+# source://thor//lib/thor/error.rb#65
class Thor::UnknownArgumentError < ::Thor::Error
include ::Thor::Correctable
# @return [UnknownArgumentError] a new instance of UnknownArgumentError
#
- # source://thor//lib/thor/error.rb#96
+ # source://thor//lib/thor/error.rb#85
def initialize(switches, unknown); end
# Returns the value of attribute switches.
#
- # source://thor//lib/thor/error.rb#94
+ # source://thor//lib/thor/error.rb#83
def switches; end
# Returns the value of attribute unknown.
#
- # source://thor//lib/thor/error.rb#94
+ # source://thor//lib/thor/error.rb#83
def unknown; end
end
-# source://thor//lib/thor/error.rb#77
+# source://thor//lib/thor/error.rb#66
class Thor::UnknownArgumentError::SpellChecker
# @return [SpellChecker] a new instance of SpellChecker
#
- # source://thor//lib/thor/error.rb#80
+ # source://thor//lib/thor/error.rb#69
def initialize(error); end
- # source://thor//lib/thor/error.rb#84
+ # source://thor//lib/thor/error.rb#73
def corrections; end
# Returns the value of attribute error.
#
- # source://thor//lib/thor/error.rb#78
+ # source://thor//lib/thor/error.rb#67
def error; end
- # source://thor//lib/thor/error.rb#89
+ # source://thor//lib/thor/error.rb#78
def spell_checker; end
end
@@ -3806,7 +4186,7 @@ module Thor::Util
# ==== Returns
# String
#
- # source://thor//lib/thor/util.rb#263
+ # source://thor//lib/thor/util.rb#264
def escape_globs(path); end
# Returns a string that has had any HTML characters escaped.
@@ -3821,7 +4201,7 @@ module Thor::Util
# ==== Returns
# String
#
- # source://thor//lib/thor/util.rb#279
+ # source://thor//lib/thor/util.rb#280
def escape_html(string); end
# Receives a namespace and search for it in the Thor::Base subclasses.
@@ -3884,13 +4264,13 @@ module Thor::Util
# Where to look for Thor files.
#
- # source://thor//lib/thor/util.rb#212
+ # source://thor//lib/thor/util.rb#213
def globs_for(path); end
# Receives a path and load the thor file in the path. The file is evaluated
# inside the sandbox to avoid namespacing conflicts.
#
- # source://thor//lib/thor/util.rb#152
+ # source://thor//lib/thor/util.rb#153
def load_thorfile(path, content = T.unsafe(nil), debug = T.unsafe(nil)); end
# Receives a constant and converts it to a Thor namespace. Since Thor
@@ -3925,7 +4305,7 @@ module Thor::Util
# Return the path to the ruby interpreter taking into account multiple
# installations and windows extensions.
#
- # source://thor//lib/thor/util.rb#220
+ # source://thor//lib/thor/util.rb#221
def ruby_command; end
# Receives a string and convert it to snake case. SnakeCase returns snake_case.
@@ -3946,7 +4326,7 @@ module Thor::Util
# Returns the root where thor files are located, depending on the OS.
#
- # source://thor//lib/thor/util.rb#191
+ # source://thor//lib/thor/util.rb#192
def thor_root; end
# Returns the files in the thor root. On Windows thor_root will be something
@@ -3956,10 +4336,10 @@ module Thor::Util
#
# If we don't #gsub the \ character, Dir.glob will fail.
#
- # source://thor//lib/thor/util.rb#202
+ # source://thor//lib/thor/util.rb#203
def thor_root_glob; end
- # source://thor//lib/thor/util.rb#167
+ # source://thor//lib/thor/util.rb#168
def user_home; end
end
end
diff --git a/sorbet/rbi/gems/unicode-display_width@2.4.2.rbi b/sorbet/rbi/gems/unicode-display_width@2.5.0.rbi
similarity index 100%
rename from sorbet/rbi/gems/unicode-display_width@2.4.2.rbi
rename to sorbet/rbi/gems/unicode-display_width@2.5.0.rbi
diff --git a/test/rbi/parser_test.rb b/test/rbi/parser_test.rb
index c9fb5c72..457d9e8d 100644
--- a/test/rbi/parser_test.rb
+++ b/test/rbi/parser_test.rb
@@ -869,7 +869,7 @@ def test_parse_errors
def bar
RBI
end
- assert_equal("Cannot parse the expression. Expected an `end` to close the `def` statement.", e.message)
+ assert_equal("cannot parse the expression. expected an `end` to close the `def` statement.", e.message)
assert_equal("-:2:0", e.location.to_s)
e = assert_raises(ParseError) do
@@ -942,7 +942,7 @@ class Foo
e = assert_raises(ParseError) do
Parser.parse_file(path)
end
- assert_equal("Cannot parse the expression. Expected an `end` to close the `class` statement.", e.message)
+ assert_equal("cannot parse the expression. expected an `end` to close the `class` statement.", e.message)
assert_equal("test_parse_real_file_with_error.rbi:2:0", e.location.to_s)
FileUtils.rm_rf(path)
]