diff --git a/Gemfile.lock b/Gemfile.lock
index 5d9f313..4ae2058 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -9,9 +9,9 @@ PATH
GEM
remote: https://rubygems.org/
specs:
- actionpack (8.1.3)
- actionview (= 8.1.3)
- activesupport (= 8.1.3)
+ actionpack (8.1.3.1)
+ actionview (= 8.1.3.1)
+ activesupport (= 8.1.3.1)
nokogiri (>= 1.8.5)
rack (>= 2.2.4)
rack-session (>= 1.0.1)
@@ -19,13 +19,13 @@ GEM
rails-dom-testing (~> 2.2)
rails-html-sanitizer (~> 1.6)
useragent (~> 0.16)
- actionview (8.1.3)
- activesupport (= 8.1.3)
+ actionview (8.1.3.1)
+ activesupport (= 8.1.3.1)
builder (~> 3.1)
erubi (~> 1.11)
rails-dom-testing (~> 2.2)
rails-html-sanitizer (~> 1.6)
- activesupport (8.1.3)
+ activesupport (8.1.3.1)
base64
bigdecimal
concurrent-ruby (~> 1.0, >= 1.3.1)
@@ -53,24 +53,23 @@ GEM
code_teams (1.3.0)
sorbet-runtime
coderay (1.1.3)
- concurrent-ruby (1.3.7)
+ concurrent-ruby (1.3.8)
connection_pool (3.0.2)
constant_resolver (0.3.0)
crass (1.0.7)
- date (3.5.1)
drb (2.2.3)
- erb (6.0.4)
+ erb (6.0.7)
erubi (1.13.1)
- i18n (1.14.8)
+ i18n (1.15.2)
concurrent-ruby (~> 1.0)
- io-console (0.8.2)
- irb (1.17.0)
+ io-console (0.9.2)
+ irb (1.18.0)
pp (>= 0.6.0)
prism (>= 1.3.0)
rdoc (>= 4.0.0)
reline (>= 0.4.2)
json (2.21.2)
- language_server-protocol (3.17.0.5)
+ language_server-protocol (3.17.0.6)
lint_roller (1.1.0)
logger (1.7.0)
loofah (2.25.2)
@@ -101,10 +100,10 @@ GEM
prism (>= 1.4.0)
zeitwerk (>= 2.6.1)
parallel (1.28.0)
- parser (3.3.11.1)
+ parser (3.3.12.0)
ast (~> 2.4.1)
racc
- pp (0.6.3)
+ pp (0.6.4)
prettyprint
prettyprint (0.2.0)
prism (1.9.0)
@@ -112,9 +111,6 @@ GEM
coderay (~> 1.1)
method_source (~> 1.0)
reline (>= 0.6.0)
- psych (5.3.1)
- date
- stringio
racc (1.8.1)
rack (3.2.6)
rack-session (2.1.2)
@@ -131,9 +127,9 @@ GEM
rails-html-sanitizer (1.7.1)
loofah (~> 2.25, >= 2.25.2)
nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0)
- railties (8.1.3)
- actionpack (= 8.1.3)
- activesupport (= 8.1.3)
+ railties (8.1.3.1)
+ actionpack (= 8.1.3.1)
+ activesupport (= 8.1.3.1)
irb (~> 1.13)
rackup (>= 1.0.0)
rake (>= 12.2)
@@ -149,16 +145,17 @@ GEM
logger
prism (>= 1.6.0)
tsort
- rdoc (7.2.0)
+ rdoc (8.0.0)
erb
- psych (>= 4.0.0)
+ prism (>= 1.6.0)
+ rbs (>= 4.0.0)
tsort
regexp_parser (2.12.0)
- reline (0.6.3)
+ reline (0.7.0)
io-console (~> 0.5)
require-hooks (0.4.0)
rexml (3.4.4)
- rubocop (1.88.1)
+ rubocop (1.89.0)
json (~> 2.3)
language_server-protocol (~> 3.17.0.2)
lint_roller (~> 1.1.0)
@@ -169,7 +166,7 @@ GEM
rubocop-ast (>= 1.49.0, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 2.4.0, < 4.0)
- rubocop-ast (1.49.1)
+ rubocop-ast (1.50.0)
parser (>= 3.3.7.2)
prism (~> 1.7)
rubocop-gusto (11.3.0)
@@ -205,14 +202,14 @@ GEM
smart_properties (1.17.0)
smart_todo (1.11.0)
prism (~> 1.0)
- sorbet (0.6.13321)
- sorbet-static (= 0.6.13321)
- sorbet-runtime (0.6.13321)
- sorbet-static (0.6.13321-universal-darwin)
- sorbet-static (0.6.13321-x86_64-linux)
- sorbet-static-and-runtime (0.6.13321)
- sorbet (= 0.6.13321)
- sorbet-runtime (= 0.6.13321)
+ sorbet (0.6.13420)
+ sorbet-static (= 0.6.13420)
+ sorbet-runtime (0.6.13420)
+ sorbet-static (0.6.13420-universal-darwin)
+ sorbet-static (0.6.13420-x86_64-linux)
+ sorbet-static-and-runtime (0.6.13420)
+ sorbet (= 0.6.13420)
+ sorbet-runtime (= 0.6.13420)
spoom (1.8.2)
erubi (>= 1.10.0)
prism (>= 0.28.0)
@@ -221,7 +218,6 @@ GEM
rexml (>= 3.2.6)
sorbet-static-and-runtime (>= 0.5.10187)
thor (>= 0.19.2)
- stringio (3.2.0)
tapioca (0.19.2)
benchmark
bundler (>= 2.2.25)
@@ -243,7 +239,7 @@ GEM
unicode-emoji (4.2.0)
uri (1.1.1)
useragent (0.16.11)
- zeitwerk (2.8.2)
+ zeitwerk (2.8.3)
PLATFORMS
arm64-darwin
diff --git a/sorbet/rbi/gems/actionpack@8.1.3.rbi b/sorbet/rbi/gems/actionpack@8.1.3.1.rbi
similarity index 99%
rename from sorbet/rbi/gems/actionpack@8.1.3.rbi
rename to sorbet/rbi/gems/actionpack@8.1.3.1.rbi
index c1570a1..0830deb 100644
--- a/sorbet/rbi/gems/actionpack@8.1.3.rbi
+++ b/sorbet/rbi/gems/actionpack@8.1.3.1.rbi
@@ -20185,7 +20185,7 @@ ActionPack::VERSION::MAJOR = T.let(T.unsafe(nil), Integer)
ActionPack::VERSION::MINOR = T.let(T.unsafe(nil), Integer)
# pkg:gem/actionpack#lib/action_pack/gem_version.rb:15
-ActionPack::VERSION::PRE = T.let(T.unsafe(nil), T.untyped)
+ActionPack::VERSION::PRE = T.let(T.unsafe(nil), String)
# pkg:gem/actionpack#lib/action_pack/gem_version.rb:17
ActionPack::VERSION::STRING = T.let(T.unsafe(nil), String)
diff --git a/sorbet/rbi/gems/actionview@8.1.3.rbi b/sorbet/rbi/gems/actionview@8.1.3.1.rbi
similarity index 99%
rename from sorbet/rbi/gems/actionview@8.1.3.rbi
rename to sorbet/rbi/gems/actionview@8.1.3.1.rbi
index 286eb13..f15c80d 100644
--- a/sorbet/rbi/gems/actionview@8.1.3.rbi
+++ b/sorbet/rbi/gems/actionview@8.1.3.1.rbi
@@ -14593,7 +14593,7 @@ ActionView::VERSION::MAJOR = T.let(T.unsafe(nil), Integer)
ActionView::VERSION::MINOR = T.let(T.unsafe(nil), Integer)
# pkg:gem/actionview#lib/action_view/gem_version.rb:13
-ActionView::VERSION::PRE = T.let(T.unsafe(nil), T.untyped)
+ActionView::VERSION::PRE = T.let(T.unsafe(nil), String)
# pkg:gem/actionview#lib/action_view/gem_version.rb:15
ActionView::VERSION::STRING = T.let(T.unsafe(nil), String)
diff --git a/sorbet/rbi/gems/activesupport@8.1.3.rbi b/sorbet/rbi/gems/activesupport@8.1.3.1.rbi
similarity index 99%
rename from sorbet/rbi/gems/activesupport@8.1.3.rbi
rename to sorbet/rbi/gems/activesupport@8.1.3.1.rbi
index 63e74e1..91ad4cc 100644
--- a/sorbet/rbi/gems/activesupport@8.1.3.rbi
+++ b/sorbet/rbi/gems/activesupport@8.1.3.1.rbi
@@ -14851,7 +14851,7 @@ ActiveSupport::VERSION::MAJOR = T.let(T.unsafe(nil), Integer)
ActiveSupport::VERSION::MINOR = T.let(T.unsafe(nil), Integer)
# pkg:gem/activesupport#lib/active_support/gem_version.rb:13
-ActiveSupport::VERSION::PRE = T.let(T.unsafe(nil), T.untyped)
+ActiveSupport::VERSION::PRE = T.let(T.unsafe(nil), String)
# pkg:gem/activesupport#lib/active_support/gem_version.rb:15
ActiveSupport::VERSION::STRING = T.let(T.unsafe(nil), String)
diff --git a/sorbet/rbi/gems/concurrent-ruby@1.3.7.rbi b/sorbet/rbi/gems/concurrent-ruby@1.3.8.rbi
similarity index 99%
rename from sorbet/rbi/gems/concurrent-ruby@1.3.7.rbi
rename to sorbet/rbi/gems/concurrent-ruby@1.3.8.rbi
index 22021a4..574ba93 100644
--- a/sorbet/rbi/gems/concurrent-ruby@1.3.7.rbi
+++ b/sorbet/rbi/gems/concurrent-ruby@1.3.8.rbi
@@ -5912,7 +5912,7 @@ end
# @abstract
#
-# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:2047
+# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:2053
class Concurrent::Promises::AbstractAnyPromise < ::Concurrent::Promises::BlockedPromise; end
# Common ancestor of {Event} and {Future} classes, many shared methods are defined here.
@@ -6172,196 +6172,196 @@ class Concurrent::Promises::AbstractEventFuture < ::Concurrent::Synchronization:
def with_async(executor, *args, &block); end
end
-# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1796
+# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1802
class Concurrent::Promises::AbstractFlatPromise < ::Concurrent::Promises::BlockedPromise
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1798
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1804
def initialize(delayed_because, blockers_count, event_or_future); end
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1808
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1814
def touch; end
private
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1828
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1834
def add_delayed_of(future); end
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1820
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1826
def on_resolvable(resolved_future, index); end
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1824
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1830
def resolvable?(countdown, future, index); end
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1816
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1822
def touched?; end
end
# @abstract
# @private
#
-# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1549
+# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1555
class Concurrent::Promises::AbstractPromise < ::Concurrent::Synchronization::Object
include ::Concurrent::Promises::InternalStates
extend ::Concurrent::Synchronization::SafeInitialization
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1553
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1559
def initialize(future); end
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1564
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1570
def default_executor; end
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1581
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1587
def delayed_because; end
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1562
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1568
def event; end
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1558
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1564
def future; end
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1579
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1585
def inspect; end
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1568
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1574
def state; end
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1575
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1581
def to_s; end
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1572
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1578
def touch; end
private
# @return [Future]
#
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1592
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1598
def evaluate_to(*args, block); end
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1587
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1593
def resolve_with(new_state, raise_on_reassign = T.unsafe(nil)); end
end
-# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:2084
+# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:2090
class Concurrent::Promises::AnyFulfilledFuturePromise < ::Concurrent::Promises::AnyResolvedFuturePromise
private
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:2088
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:2094
def resolvable?(countdown, event_or_future, index); end
end
-# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:2050
+# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:2056
class Concurrent::Promises::AnyResolvedEventPromise < ::Concurrent::Promises::AbstractAnyPromise
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:2054
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:2060
def initialize(delayed, blockers_count, default_executor); end
private
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:2062
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:2068
def on_resolvable(resolved_future, index); end
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:2058
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:2064
def resolvable?(countdown, future, index); end
end
-# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:2067
+# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:2073
class Concurrent::Promises::AnyResolvedFuturePromise < ::Concurrent::Promises::AbstractAnyPromise
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:2071
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:2077
def initialize(delayed, blockers_count, default_executor); end
private
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:2079
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:2085
def on_resolvable(resolved_future, index); end
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:2075
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:2081
def resolvable?(countdown, future, index); end
end
# @abstract
#
-# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1619
+# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1625
class Concurrent::Promises::BlockedPromise < ::Concurrent::Promises::InnerPromise
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1661
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1667
def initialize(delayed, blockers_count, future); end
# for inspection only
#
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1683
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1689
def blocked_by; end
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1674
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1680
def delayed_because; end
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1667
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1673
def on_blocker_resolution(future, index); end
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1678
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1684
def touch; end
private
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1691
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1697
def clear_and_propagate_touch(stack_or_element = T.unsafe(nil)); end
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1710
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1716
def on_resolvable(resolved_future, index); end
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1706
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1712
def process_on_blocker_resolution(future, index); end
# @return [true,false] if resolvable
#
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1702
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1708
def resolvable?(countdown, future, index); end
class << self
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1652
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1658
def add_delayed(delayed1, delayed2); end
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1645
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1651
def new_blocked_by(blockers, *args, &block); end
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1623
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1629
def new_blocked_by1(blocker, *args, &block); end
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1630
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1636
def new_blocked_by2(blocker1, blocker2, *args, &block); end
private
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1621
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1627
def new(*args, &block); end
end
end
# @abstract
#
-# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1716
+# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1722
class Concurrent::Promises::BlockedTaskPromise < ::Concurrent::Promises::BlockedPromise
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1717
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1723
def initialize(delayed, blockers_count, default_executor, executor, args, &task); end
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1725
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1731
def executor; end
end
-# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1766
+# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1772
class Concurrent::Promises::ChainPromise < ::Concurrent::Promises::BlockedTaskPromise
private
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1769
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1775
def on_resolvable(resolved_future, index); end
end
-# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:2095
+# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:2101
class Concurrent::Promises::DelayPromise < ::Concurrent::Promises::InnerPromise
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:2097
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:2103
def initialize(default_executor); end
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:2108
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:2114
def delayed_because; end
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:2104
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:2110
def touch; end
end
@@ -6447,14 +6447,14 @@ class Concurrent::Promises::Event < ::Concurrent::Promises::AbstractEventFuture
def rejected_resolution(raise_on_reassign, state); end
end
-# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1972
+# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1978
class Concurrent::Promises::EventWrapperPromise < ::Concurrent::Promises::BlockedPromise
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1973
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1979
def initialize(delayed, blockers_count, default_executor); end
private
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1979
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1985
def on_resolvable(resolved_future, index); end
end
@@ -6741,25 +6741,25 @@ module Concurrent::Promises::FactoryMethods::Configuration
def default_executor; end
end
-# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1840
+# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1846
class Concurrent::Promises::FlatEventPromise < ::Concurrent::Promises::AbstractFlatPromise
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1844
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1850
def initialize(delayed, blockers_count, default_executor); end
private
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1848
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1854
def process_on_blocker_resolution(future, index); end
end
-# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1873
+# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1879
class Concurrent::Promises::FlatFuturePromise < ::Concurrent::Promises::AbstractFlatPromise
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1877
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1883
def initialize(delayed, blockers_count, levels, default_executor); end
private
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1884
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1890
def process_on_blocker_resolution(future, index); end
end
@@ -6768,7 +6768,7 @@ end
#
# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:917
class Concurrent::Promises::Future < ::Concurrent::Promises::AbstractEventFuture
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1078
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1084
def &(other); end
# Creates a new event which will be resolved when the first of receiver, `event_or_future`
@@ -6777,12 +6777,12 @@ class Concurrent::Promises::Future < ::Concurrent::Promises::AbstractEventFuture
#
# @return [Future]
#
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1085
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1091
def any(event_or_future); end
# @!visibility private
#
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1215
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1221
def apply(args, block); end
# Creates new future dependent on receiver which will not evaluate until touched, see {#touch}.
@@ -6790,7 +6790,7 @@ class Concurrent::Promises::Future < ::Concurrent::Promises::AbstractEventFuture
#
# @return [Future]
#
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1095
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1101
def delay; end
# Allows rejected Future to be risen with `raise` method.
@@ -6802,10 +6802,10 @@ class Concurrent::Promises::Future < ::Concurrent::Promises::AbstractEventFuture
# @raise [Concurrent::Error] when raising not rejected future
# @return [Exception]
#
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1013
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1014
def exception(*args); end
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1124
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1130
def flat(level = T.unsafe(nil)); end
# Creates new event which will be resolved when the returned event by receiver is.
@@ -6813,7 +6813,7 @@ class Concurrent::Promises::Future < ::Concurrent::Promises::AbstractEventFuture
#
# @return [Event]
#
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1130
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1136
def flat_event; end
# Creates new future which will have result of the future returned by receiver. If receiver
@@ -6822,22 +6822,22 @@ class Concurrent::Promises::Future < ::Concurrent::Promises::AbstractEventFuture
# @param [Integer] level how many levels of futures should flatten
# @return [Future]
#
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1120
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1126
def flat_future(level = T.unsafe(nil)); end
# Is it in fulfilled state?
# @return [Boolean]
#
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:921
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:922
def fulfilled?; end
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1243
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1249
def inspect; end
# @!macro promises.shortcut.using
# @return [self]
#
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1136
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1142
def on_fulfillment(*args, &callback); end
# Stores the callback to be executed synchronously on resolving thread after it is
@@ -6848,7 +6848,7 @@ class Concurrent::Promises::Future < ::Concurrent::Promises::AbstractEventFuture
# @return [self]
# @yield [value, *args] to the callback.
#
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1147
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1153
def on_fulfillment!(*args, &callback); end
# Stores the callback to be executed asynchronously on executor after it is
@@ -6860,13 +6860,13 @@ class Concurrent::Promises::Future < ::Concurrent::Promises::AbstractEventFuture
# @return [self]
# @yield [value, *args] to the callback.
#
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1159
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1165
def on_fulfillment_using(executor, *args, &callback); end
# @!macro promises.shortcut.using
# @return [self]
#
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1165
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1171
def on_rejection(*args, &callback); end
# Stores the callback to be executed synchronously on resolving thread after it is
@@ -6877,7 +6877,7 @@ class Concurrent::Promises::Future < ::Concurrent::Promises::AbstractEventFuture
# @return [self]
# @yield [reason, *args] to the callback.
#
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1176
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1182
def on_rejection!(*args, &callback); end
# Stores the callback to be executed asynchronously on executor after it is
@@ -6889,7 +6889,7 @@ class Concurrent::Promises::Future < ::Concurrent::Promises::AbstractEventFuture
# @return [self]
# @yield [reason, *args] to the callback.
#
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1188
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1194
def on_rejection_using(executor, *args, &callback); end
# Returns reason of future's rejection.
@@ -6901,19 +6901,19 @@ class Concurrent::Promises::Future < ::Concurrent::Promises::AbstractEventFuture
# @!macro promises.param.timeout_value
# @return [Object, timeout_value] the reason, or timeout_value on timeout, or nil on fulfillment.
#
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:966
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:967
def reason(timeout = T.unsafe(nil), timeout_value = T.unsafe(nil)); end
# Is it in rejected state?
# @return [Boolean]
#
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:928
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:929
def rejected?; end
# @!macro promises.shortcut.on
# @return [Future]
#
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1052
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1058
def rescue(*args, &task); end
# Chains the task to be executed asynchronously on executor after it rejects. Does not run
@@ -6925,7 +6925,7 @@ class Concurrent::Promises::Future < ::Concurrent::Promises::AbstractEventFuture
# @return [Future]
# @yield [reason, *args] to the task.
#
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1064
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1070
def rescue_on(executor, *args, &task); end
# Returns triplet fulfilled?, value, reason.
@@ -6936,7 +6936,7 @@ class Concurrent::Promises::Future < ::Concurrent::Promises::AbstractEventFuture
# @return [Array(Boolean, Object, Object), nil] triplet of fulfilled?, value, reason, or nil
# on timeout.
#
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:981
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:982
def result(timeout = T.unsafe(nil)); end
# Allows to use futures as green threads. The receiver has to evaluate to a future which
@@ -6958,19 +6958,19 @@ class Concurrent::Promises::Future < ::Concurrent::Promises::AbstractEventFuture
# end
# Promises.future(0, &body).run.value! # => 5
#
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1210
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1216
def run(run_test = T.unsafe(nil)); end
# @!macro promise.method.schedule
# @return [Future]
#
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1102
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1108
def schedule(intended_time); end
# @!macro promises.shortcut.on
# @return [Future]
#
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1034
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1040
def then(*args, &task); end
# Chains the task to be executed asynchronously on executor after it fulfills. Does not run
@@ -6982,25 +6982,25 @@ class Concurrent::Promises::Future < ::Concurrent::Promises::AbstractEventFuture
# @return [Future]
# @yield [value, *args] to the task.
#
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1046
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1052
def then_on(executor, *args, &task); end
# Converts future to event which is resolved when future is resolved by fulfillment or rejection.
#
# @return [Event]
#
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1222
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1228
def to_event; end
# Returns self, since this is a future
# @return [Future]
#
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1230
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1236
def to_future; end
# @return [String] Short string representation.
#
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1235
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1241
def to_s; end
# @!macro promises.method.value
@@ -7016,7 +7016,7 @@ class Concurrent::Promises::Future < ::Concurrent::Promises::AbstractEventFuture
# timeout_value on timeout,
# nil on rejection.
#
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:950
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:951
def value(timeout = T.unsafe(nil), timeout_value = T.unsafe(nil)); end
# @!macro promises.method.value
@@ -7025,85 +7025,88 @@ class Concurrent::Promises::Future < ::Concurrent::Promises::AbstractEventFuture
# or timeout_value on timeout.
# @raise [Exception] {#reason} on rejection
#
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:997
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:998
def value!(timeout = T.unsafe(nil), timeout_value = T.unsafe(nil)); end
# @!macro promises.method.wait
# @raise [Exception] {#reason} on rejection
#
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:987
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:988
def wait!(timeout = T.unsafe(nil)); end
# @!macro promises.method.with_default_executor
# @return [Future]
#
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1111
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1117
def with_default_executor(executor); end
# @!macro promises.method.zip
# @return [Future]
#
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1070
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1076
def zip(other); end
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1089
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1095
def |(event_or_future); end
private
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1272
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1278
def async_callback_on_fulfillment(state, executor, args, callback); end
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1278
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1284
def async_callback_on_rejection(state, executor, args, callback); end
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1284
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1290
def callback_on_fulfillment(state, args, callback); end
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1288
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1294
def callback_on_rejection(state, args, callback); end
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1292
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1298
def callback_on_resolution(state, args, callback); end
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1251
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1257
def rejected_resolution(raise_on_reassign, state); end
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1247
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1253
def run_test(v); end
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1266
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1272
def wait_until_resolved!(timeout = T.unsafe(nil)); end
end
-# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1984
+# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:918
+Concurrent::Promises::Future::SET_BACKTRACE_LOCATIONS_SUPPORTED = T.let(T.unsafe(nil), TrueClass)
+
+# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1990
class Concurrent::Promises::FutureWrapperPromise < ::Concurrent::Promises::BlockedPromise
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1985
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1991
def initialize(delayed, blockers_count, default_executor); end
private
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1991
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1997
def on_resolvable(resolved_future, index); end
end
# will be immediately resolved
#
-# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1783
+# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1789
class Concurrent::Promises::ImmediateEventPromise < ::Concurrent::Promises::InnerPromise
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1784
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1790
def initialize(default_executor); end
end
-# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1789
+# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1795
class Concurrent::Promises::ImmediateFuturePromise < ::Concurrent::Promises::InnerPromise
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1790
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1796
def initialize(default_executor, fulfilled, value, reason); end
end
# @abstract
#
-# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1615
+# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1621
class Concurrent::Promises::InnerPromise < ::Concurrent::Promises::AbstractPromise; end
# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:338
@@ -7254,27 +7257,27 @@ class Concurrent::Promises::InternalStates::State
def to_sym; end
end
-# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1748
+# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1754
class Concurrent::Promises::RescuePromise < ::Concurrent::Promises::BlockedTaskPromise
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1751
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1757
def initialize(delayed, blockers_count, default_executor, executor, args, &task); end
private
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1755
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1761
def on_resolvable(resolved_future, index); end
end
# Marker module of Future, Event resolved manually.
#
-# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1299
+# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1305
module Concurrent::Promises::Resolvable
include ::Concurrent::Promises::InternalStates
end
# A Event which can be resolved by user.
#
-# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1304
+# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1310
class Concurrent::Promises::ResolvableEvent < ::Concurrent::Promises::Event
include ::Concurrent::Promises::Resolvable
@@ -7287,7 +7290,7 @@ class Concurrent::Promises::ResolvableEvent < ::Concurrent::Promises::Event
# marks resolution of reserved resolvable events and futures explicitly.
# Advanced feature, ignore unless you use {Resolvable#reserve} from edge.
#
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1324
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1330
def resolve(raise_on_reassign = T.unsafe(nil), reserved = T.unsafe(nil)); end
# Behaves as {AbstractEventFuture#wait} but has one additional optional argument
@@ -7298,26 +7301,26 @@ class Concurrent::Promises::ResolvableEvent < ::Concurrent::Promises::Event
# @return [self, true, false]
# @see AbstractEventFuture#wait
#
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1342
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1348
def wait(timeout = T.unsafe(nil), resolve_on_timeout = T.unsafe(nil)); end
# Creates new event wrapping receiver, effectively hiding the resolve method.
#
# @return [Event]
#
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1331
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1337
def with_hidden_resolvable; end
end
-# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1600
+# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1606
class Concurrent::Promises::ResolvableEventPromise < ::Concurrent::Promises::AbstractPromise
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1601
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1607
def initialize(default_executor); end
end
# A Future which can be resolved by user.
#
-# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1354
+# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1360
class Concurrent::Promises::ResolvableFuture < ::Concurrent::Promises::Future
include ::Concurrent::Promises::Resolvable
@@ -7328,7 +7331,7 @@ class Concurrent::Promises::ResolvableFuture < ::Concurrent::Promises::Future
# @yieldreturn [Object] value
# @return [self]
#
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1395
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1401
def evaluate_to(*args, &block); end
# Evaluates the block and sets its result as future's value fulfilling, if the block raises
@@ -7339,7 +7342,7 @@ class Concurrent::Promises::ResolvableFuture < ::Concurrent::Promises::Future
# @return [self]
# @raise [Exception] also raise reason on rejection.
#
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1406
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1412
def evaluate_to!(*args, &block); end
# Makes the future fulfilled with `value`,
@@ -7349,7 +7352,7 @@ class Concurrent::Promises::ResolvableFuture < ::Concurrent::Promises::Future
# @!macro promise.param.raise_on_reassign
# @!macro promise.param.reserved
#
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1375
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1381
def fulfill(value, raise_on_reassign = T.unsafe(nil), reserved = T.unsafe(nil)); end
# Behaves as {Future#reason} but has one additional optional argument
@@ -7359,7 +7362,7 @@ class Concurrent::Promises::ResolvableFuture < ::Concurrent::Promises::Future
# @return [Exception, timeout_value, nil]
# @see Future#reason
#
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1503
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1509
def reason(timeout = T.unsafe(nil), timeout_value = T.unsafe(nil), resolve_on_timeout = T.unsafe(nil)); end
# Makes the future rejected with `reason`,
@@ -7369,7 +7372,7 @@ class Concurrent::Promises::ResolvableFuture < ::Concurrent::Promises::Future
# @!macro promise.param.raise_on_reassign
# @!macro promise.param.reserved
#
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1385
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1391
def reject(reason, raise_on_reassign = T.unsafe(nil), reserved = T.unsafe(nil)); end
# Makes the future resolved with result of triplet `fulfilled?`, `value`, `reason`,
@@ -7381,7 +7384,7 @@ class Concurrent::Promises::ResolvableFuture < ::Concurrent::Promises::Future
# @!macro promise.param.raise_on_reassign
# @!macro promise.param.reserved
#
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1365
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1371
def resolve(fulfilled = T.unsafe(nil), value = T.unsafe(nil), reason = T.unsafe(nil), raise_on_reassign = T.unsafe(nil), reserved = T.unsafe(nil)); end
# Behaves as {Future#result} but has one additional optional argument
@@ -7391,7 +7394,7 @@ class Concurrent::Promises::ResolvableFuture < ::Concurrent::Promises::Future
# @return [::Array(Boolean, Object, Exception), nil]
# @see Future#result
#
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1524
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1530
def result(timeout = T.unsafe(nil), resolve_on_timeout = T.unsafe(nil)); end
# Behaves as {Future#value} but has one additional optional argument
@@ -7401,7 +7404,7 @@ class Concurrent::Promises::ResolvableFuture < ::Concurrent::Promises::Future
# @return [Object, timeout_value, nil]
# @see Future#value
#
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1459
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1465
def value(timeout = T.unsafe(nil), timeout_value = T.unsafe(nil), resolve_on_timeout = T.unsafe(nil)); end
# Behaves as {Future#value!} but has one additional optional argument
@@ -7412,7 +7415,7 @@ class Concurrent::Promises::ResolvableFuture < ::Concurrent::Promises::Future
# @raise [Exception] {#reason} on rejection
# @see Future#value!
#
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1481
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1487
def value!(timeout = T.unsafe(nil), timeout_value = T.unsafe(nil), resolve_on_timeout = T.unsafe(nil)); end
# Behaves as {AbstractEventFuture#wait} but has one additional optional argument
@@ -7422,7 +7425,7 @@ class Concurrent::Promises::ResolvableFuture < ::Concurrent::Promises::Future
# @return [self, true, false]
# @see AbstractEventFuture#wait
#
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1421
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1427
def wait(timeout = T.unsafe(nil), resolve_on_timeout = T.unsafe(nil)); end
# Behaves as {Future#wait!} but has one additional optional argument
@@ -7433,107 +7436,107 @@ class Concurrent::Promises::ResolvableFuture < ::Concurrent::Promises::Future
# @raise [Exception] {#reason} on rejection
# @see Future#wait!
#
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1438
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1444
def wait!(timeout = T.unsafe(nil), resolve_on_timeout = T.unsafe(nil)); end
# Creates new future wrapping receiver, effectively hiding the resolve method and similar.
#
# @return [Future]
#
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1542
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1548
def with_hidden_resolvable; end
end
-# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1606
+# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1612
class Concurrent::Promises::ResolvableFuturePromise < ::Concurrent::Promises::AbstractPromise
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1607
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1613
def initialize(default_executor); end
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1611
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1617
def evaluate_to(*args, block); end
end
-# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1909
+# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1915
class Concurrent::Promises::RunFuturePromise < ::Concurrent::Promises::AbstractFlatPromise
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1913
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1919
def initialize(delayed, blockers_count, default_executor, run_test); end
private
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1918
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1924
def process_on_blocker_resolution(future, index); end
end
-# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:2114
+# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:2120
class Concurrent::Promises::ScheduledPromise < ::Concurrent::Promises::InnerPromise
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:2125
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:2131
def initialize(default_executor, intended_time); end
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:2119
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:2125
def inspect; end
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:2115
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:2121
def intended_time; end
end
-# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1730
+# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1736
class Concurrent::Promises::ThenPromise < ::Concurrent::Promises::BlockedTaskPromise
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1733
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1739
def initialize(delayed, blockers_count, default_executor, executor, args, &task); end
private
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1737
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1743
def on_resolvable(resolved_future, index); end
end
-# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1940
+# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1946
class Concurrent::Promises::ZipEventEventPromise < ::Concurrent::Promises::BlockedPromise
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1941
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1947
def initialize(delayed, blockers_count, default_executor); end
private
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1947
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1953
def on_resolvable(resolved_future, index); end
end
-# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:2031
+# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:2037
class Concurrent::Promises::ZipEventsPromise < ::Concurrent::Promises::BlockedPromise
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:2035
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:2041
def initialize(delayed, blockers_count, default_executor); end
private
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:2041
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:2047
def on_resolvable(resolved_future, index); end
end
-# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1952
+# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1958
class Concurrent::Promises::ZipFutureEventPromise < ::Concurrent::Promises::BlockedPromise
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1953
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1959
def initialize(delayed, blockers_count, default_executor); end
private
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1967
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1973
def on_resolvable(resolved_future, index); end
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1960
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1966
def process_on_blocker_resolution(future, index); end
end
-# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:1996
+# pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:2002
class Concurrent::Promises::ZipFuturesPromise < ::Concurrent::Promises::BlockedPromise
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:2000
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:2006
def initialize(delayed, blockers_count, default_executor); end
private
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:2013
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:2019
def on_resolvable(resolved_future, index); end
- # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:2007
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/promises.rb:2013
def process_on_blocker_resolution(future, index); end
end
diff --git a/sorbet/rbi/gems/i18n@1.14.8.rbi b/sorbet/rbi/gems/i18n@1.15.2.rbi
similarity index 95%
rename from sorbet/rbi/gems/i18n@1.14.8.rbi
rename to sorbet/rbi/gems/i18n@1.15.2.rbi
index 2fd9c08..b5ab2cc 100644
--- a/sorbet/rbi/gems/i18n@1.14.8.rbi
+++ b/sorbet/rbi/gems/i18n@1.15.2.rbi
@@ -278,7 +278,7 @@ module I18n
# Sets the current fallbacks implementation. Use this to set a different fallbacks implementation.
#
- # pkg:gem/i18n#lib/i18n/backend/fallbacks.rb:23
+ # pkg:gem/i18n#lib/i18n/backend/fallbacks.rb:27
def fallbacks=(fallbacks); end
# Return String or raises MissingInterpolationArgument exception.
@@ -604,15 +604,15 @@ module I18n::Backend::Chain::Implementation
def _deep_merge(hash, other_hash); end
end
-# pkg:gem/i18n#lib/i18n/backend/fallbacks.rb:30
+# pkg:gem/i18n#lib/i18n/backend/fallbacks.rb:38
module I18n::Backend::Fallbacks
- # pkg:gem/i18n#lib/i18n/backend/fallbacks.rb:98
+ # pkg:gem/i18n#lib/i18n/backend/fallbacks.rb:106
def exists?(locale, key, options = T.unsafe(nil)); end
- # pkg:gem/i18n#lib/i18n/backend/fallbacks.rb:89
+ # pkg:gem/i18n#lib/i18n/backend/fallbacks.rb:97
def extract_non_symbol_default!(options); end
- # pkg:gem/i18n#lib/i18n/backend/fallbacks.rb:67
+ # pkg:gem/i18n#lib/i18n/backend/fallbacks.rb:75
def resolve_entry(locale, object, subject, options = T.unsafe(nil)); end
# Overwrites the Base backend translate method so that it will try each
@@ -626,14 +626,14 @@ module I18n::Backend::Fallbacks
# it's a Symbol. When the default contains a String, Proc or Hash
# it is evaluated last after all the fallback locales have been tried.
#
- # pkg:gem/i18n#lib/i18n/backend/fallbacks.rb:41
+ # pkg:gem/i18n#lib/i18n/backend/fallbacks.rb:49
def translate(locale, key, options = T.unsafe(nil)); end
private
# Overwrite on_fallback to add specified logic when the fallback succeeds.
#
- # pkg:gem/i18n#lib/i18n/backend/fallbacks.rb:114
+ # pkg:gem/i18n#lib/i18n/backend/fallbacks.rb:122
def on_fallback(_original_locale, _fallback_locale, _key, _options); end
end
@@ -1273,23 +1273,23 @@ I18n::Backend::Transliterator::DEFAULT_REPLACEMENT_CHAR = T.let(T.unsafe(nil), S
#
# pkg:gem/i18n#lib/i18n/backend/transliterator.rb:42
class I18n::Backend::Transliterator::HashTransliterator
- # pkg:gem/i18n#lib/i18n/backend/transliterator.rb:74
+ # pkg:gem/i18n#lib/i18n/backend/transliterator.rb:75
def initialize(rule = T.unsafe(nil)); end
- # pkg:gem/i18n#lib/i18n/backend/transliterator.rb:80
+ # pkg:gem/i18n#lib/i18n/backend/transliterator.rb:81
def transliterate(string, replacement = T.unsafe(nil)); end
private
# Add transliteration rules to the approximations hash.
#
- # pkg:gem/i18n#lib/i18n/backend/transliterator.rb:100
+ # pkg:gem/i18n#lib/i18n/backend/transliterator.rb:101
def add(hash); end
- # pkg:gem/i18n#lib/i18n/backend/transliterator.rb:93
+ # pkg:gem/i18n#lib/i18n/backend/transliterator.rb:94
def add_default_approximations; end
- # pkg:gem/i18n#lib/i18n/backend/transliterator.rb:89
+ # pkg:gem/i18n#lib/i18n/backend/transliterator.rb:90
def approximations; end
end
@@ -1309,19 +1309,19 @@ end
# pkg:gem/i18n#lib/i18n.rb:55
module I18n::Base
- # pkg:gem/i18n#lib/i18n.rb:70
+ # pkg:gem/i18n#lib/i18n.rb:99
def available_locales; end
- # pkg:gem/i18n#lib/i18n.rb:70
+ # pkg:gem/i18n#lib/i18n.rb:99
def available_locales=(value); end
- # pkg:gem/i18n#lib/i18n.rb:387
+ # pkg:gem/i18n#lib/i18n.rb:416
def available_locales_initialized?; end
- # pkg:gem/i18n#lib/i18n.rb:70
+ # pkg:gem/i18n#lib/i18n.rb:99
def backend; end
- # pkg:gem/i18n#lib/i18n.rb:70
+ # pkg:gem/i18n#lib/i18n.rb:99
def backend=(value); end
# Gets I18n configuration object.
@@ -1331,48 +1331,48 @@ module I18n::Base
# Sets I18n configuration object.
#
- # pkg:gem/i18n#lib/i18n.rb:63
+ # pkg:gem/i18n#lib/i18n.rb:87
def config=(value); end
- # pkg:gem/i18n#lib/i18n.rb:70
+ # pkg:gem/i18n#lib/i18n.rb:99
def default_locale; end
- # pkg:gem/i18n#lib/i18n.rb:70
+ # pkg:gem/i18n#lib/i18n.rb:99
def default_locale=(value); end
- # pkg:gem/i18n#lib/i18n.rb:70
+ # pkg:gem/i18n#lib/i18n.rb:99
def default_separator; end
- # pkg:gem/i18n#lib/i18n.rb:70
+ # pkg:gem/i18n#lib/i18n.rb:99
def default_separator=(value); end
# Tells the backend to load translations now. Used in situations like the
# Rails production environment. Backends can implement whatever strategy
# is useful.
#
- # pkg:gem/i18n#lib/i18n.rb:92
+ # pkg:gem/i18n#lib/i18n.rb:121
def eager_load!; end
- # pkg:gem/i18n#lib/i18n.rb:70
+ # pkg:gem/i18n#lib/i18n.rb:99
def enforce_available_locales; end
# Raises an InvalidLocale exception when the passed locale is not available.
#
- # pkg:gem/i18n#lib/i18n.rb:381
+ # pkg:gem/i18n#lib/i18n.rb:410
def enforce_available_locales!(locale); end
- # pkg:gem/i18n#lib/i18n.rb:70
+ # pkg:gem/i18n#lib/i18n.rb:99
def enforce_available_locales=(value); end
- # pkg:gem/i18n#lib/i18n.rb:70
+ # pkg:gem/i18n#lib/i18n.rb:99
def exception_handler; end
- # pkg:gem/i18n#lib/i18n.rb:70
+ # pkg:gem/i18n#lib/i18n.rb:99
def exception_handler=(value); end
# Returns true if a translation exists for a given key, otherwise returns false.
#
- # pkg:gem/i18n#lib/i18n.rb:266
+ # pkg:gem/i18n#lib/i18n.rb:295
def exists?(key, _locale = T.unsafe(nil), locale: T.unsafe(nil), **options); end
# Returns an array of interpolation keys for the given translation key
@@ -1395,53 +1395,53 @@ module I18n::Base
# I18n.interpolation_keys('does-not-exist') #=> []
# I18n.interpolation_keys('example') #=> []
#
- # pkg:gem/i18n#lib/i18n.rb:255
+ # pkg:gem/i18n#lib/i18n.rb:284
def interpolation_keys(key, **options); end
- # pkg:gem/i18n#lib/i18n.rb:344
+ # pkg:gem/i18n#lib/i18n.rb:373
def l(object, locale: T.unsafe(nil), format: T.unsafe(nil), **options); end
- # pkg:gem/i18n#lib/i18n.rb:70
+ # pkg:gem/i18n#lib/i18n.rb:99
def load_path; end
- # pkg:gem/i18n#lib/i18n.rb:70
+ # pkg:gem/i18n#lib/i18n.rb:99
def load_path=(value); end
- # pkg:gem/i18n#lib/i18n.rb:70
+ # pkg:gem/i18n#lib/i18n.rb:99
def locale; end
- # pkg:gem/i18n#lib/i18n.rb:70
+ # pkg:gem/i18n#lib/i18n.rb:99
def locale=(value); end
# Returns true when the passed locale, which can be either a String or a
# Symbol, is in the list of available locales. Returns false otherwise.
#
- # pkg:gem/i18n#lib/i18n.rb:376
+ # pkg:gem/i18n#lib/i18n.rb:405
def locale_available?(locale); end
# Localizes certain objects, such as dates and numbers to local formatting.
#
- # pkg:gem/i18n#lib/i18n.rb:336
+ # pkg:gem/i18n#lib/i18n.rb:365
def localize(object, locale: T.unsafe(nil), format: T.unsafe(nil), **options); end
# Merges the given locale, key and scope into a single array of keys.
# Splits keys that contain dots into multiple keys. Makes sure all
# keys are Symbols.
#
- # pkg:gem/i18n#lib/i18n.rb:364
+ # pkg:gem/i18n#lib/i18n.rb:393
def normalize_keys(locale, key, scope, separator = T.unsafe(nil)); end
# Tells the backend to reload translations. Used in situations like the
# Rails development environment. Backends can implement whatever strategy
# is useful.
#
- # pkg:gem/i18n#lib/i18n.rb:84
+ # pkg:gem/i18n#lib/i18n.rb:113
def reload!; end
- # pkg:gem/i18n#lib/i18n.rb:227
+ # pkg:gem/i18n#lib/i18n.rb:256
def t(key = T.unsafe(nil), throw: T.unsafe(nil), raise: T.unsafe(nil), locale: T.unsafe(nil), **options); end
- # pkg:gem/i18n#lib/i18n.rb:234
+ # pkg:gem/i18n#lib/i18n.rb:263
def t!(key, **options); end
# Translates, pluralizes and interpolates a given key using a given locale,
@@ -1560,13 +1560,13 @@ module I18n::Base
# I18n.t(:salutation, { :gender => 'w', :name => 'Smith' })
# I18n.t(:salutation, any_hash)
#
- # pkg:gem/i18n#lib/i18n.rb:212
+ # pkg:gem/i18n#lib/i18n.rb:241
def translate(key = T.unsafe(nil), throw: T.unsafe(nil), raise: T.unsafe(nil), locale: T.unsafe(nil), **options); end
# Wrapper for translate that adds :raise => true. With
# this option, if no translation is found, it will raise I18n::MissingTranslationData
#
- # pkg:gem/i18n#lib/i18n.rb:231
+ # pkg:gem/i18n#lib/i18n.rb:260
def translate!(key, **options); end
# Transliterates UTF-8 characters to ASCII. By default this method will
@@ -1621,14 +1621,19 @@ module I18n::Base
# I18n.transliterate("Jürgen", :locale => :en) # => "Jurgen"
# I18n.transliterate("Jürgen", :locale => :de) # => "Juergen"
#
- # pkg:gem/i18n#lib/i18n.rb:325
+ # pkg:gem/i18n#lib/i18n.rb:354
def transliterate(key, throw: T.unsafe(nil), raise: T.unsafe(nil), locale: T.unsafe(nil), replacement: T.unsafe(nil), **options); end
# Executes block with given I18n.locale set.
#
- # pkg:gem/i18n#lib/i18n.rb:347
+ # pkg:gem/i18n#lib/i18n.rb:376
def with_locale(tmp_locale = T.unsafe(nil)); end
+ # Gets a mutable I18n configuration object.
+ #
+ # pkg:gem/i18n#lib/i18n.rb:73
+ def writable_config; end
+
private
# Any exceptions thrown in translate will be sent to the @@exception_handler
@@ -1650,101 +1655,104 @@ module I18n::Base
# I18n.exception_handler = I18nExceptionHandler.new # an object
# I18n.exception_handler.call(exception, locale, key, options) # will be called like this
#
- # pkg:gem/i18n#lib/i18n.rb:423
+ # pkg:gem/i18n#lib/i18n.rb:452
def handle_exception(handling, exception, locale, key, options); end
- # pkg:gem/i18n#lib/i18n.rb:465
+ # pkg:gem/i18n#lib/i18n.rb:494
def interpolation_keys_from_translation(translation); end
- # pkg:gem/i18n#lib/i18n.rb:441
+ # pkg:gem/i18n#lib/i18n.rb:470
def normalize_key(key, separator); end
- # pkg:gem/i18n#lib/i18n.rb:393
+ # pkg:gem/i18n#lib/i18n.rb:422
def translate_key(key, throw, raise, locale, backend, options); end
end
# pkg:gem/i18n#lib/i18n/config.rb:6
class I18n::Config
+ # pkg:gem/i18n#lib/i18n/config.rb:13
+ def initialize; end
+
# Returns an array of locales for which translations are available.
# Unless you explicitly set these through I18n.available_locales=
# the call will be delegated to the backend.
#
- # pkg:gem/i18n#lib/i18n/config.rb:43
+ # pkg:gem/i18n#lib/i18n/config.rb:77
def available_locales; end
# Sets the available locales.
#
- # pkg:gem/i18n#lib/i18n/config.rb:57
+ # pkg:gem/i18n#lib/i18n/config.rb:91
def available_locales=(locales); end
# Returns true if the available_locales have been initialized
#
- # pkg:gem/i18n#lib/i18n/config.rb:64
+ # pkg:gem/i18n#lib/i18n/config.rb:98
def available_locales_initialized?; end
# Caches the available locales list as both strings and symbols in a Set, so
# that we can have faster lookups to do the available locales enforce check.
#
- # pkg:gem/i18n#lib/i18n/config.rb:50
+ # pkg:gem/i18n#lib/i18n/config.rb:84
def available_locales_set; end
# Returns the current backend. Defaults to +Backend::Simple+.
#
- # pkg:gem/i18n#lib/i18n/config.rb:20
+ # pkg:gem/i18n#lib/i18n/config.rb:54
def backend; end
# Sets the current backend. Used to set a custom backend.
#
- # pkg:gem/i18n#lib/i18n/config.rb:25
+ # pkg:gem/i18n#lib/i18n/config.rb:59
def backend=(backend); end
# Clears the available locales set so it can be recomputed again after I18n
# gets reloaded.
#
- # pkg:gem/i18n#lib/i18n/config.rb:70
+ # pkg:gem/i18n#lib/i18n/config.rb:104
def clear_available_locales_set; end
# Returns the current default locale. Defaults to :'en'
#
- # pkg:gem/i18n#lib/i18n/config.rb:30
+ # pkg:gem/i18n#lib/i18n/config.rb:64
def default_locale; end
# Sets the current default locale. Used to set a custom default locale.
#
- # pkg:gem/i18n#lib/i18n/config.rb:35
+ # pkg:gem/i18n#lib/i18n/config.rb:69
def default_locale=(locale); end
# Returns the current default scope separator. Defaults to '.'
#
- # pkg:gem/i18n#lib/i18n/config.rb:75
+ # pkg:gem/i18n#lib/i18n/config.rb:109
def default_separator; end
# Sets the current default scope separator.
#
- # pkg:gem/i18n#lib/i18n/config.rb:80
+ # pkg:gem/i18n#lib/i18n/config.rb:114
def default_separator=(separator); end
- # pkg:gem/i18n#lib/i18n/config.rb:141
+ # pkg:gem/i18n#lib/i18n/config.rb:175
def enforce_available_locales; end
- # pkg:gem/i18n#lib/i18n/config.rb:145
+ # pkg:gem/i18n#lib/i18n/config.rb:179
def enforce_available_locales=(enforce_available_locales); end
# Returns the current exception handler. Defaults to an instance of
# I18n::ExceptionHandler.
#
- # pkg:gem/i18n#lib/i18n/config.rb:86
+ # pkg:gem/i18n#lib/i18n/config.rb:120
def exception_handler; end
# Sets the exception handler.
#
- # pkg:gem/i18n#lib/i18n/config.rb:91
+ # pkg:gem/i18n#lib/i18n/config.rb:125
def exception_handler=(exception_handler); end
# Returns the current interpolation patterns. Defaults to
# I18n::DEFAULT_INTERPOLATION_PATTERNS.
#
- # pkg:gem/i18n#lib/i18n/config.rb:151
+ # pkg:gem/i18n#lib/i18n/config.rb:185
def interpolation_patterns; end
# Sets the current interpolation patterns. Used to set a interpolation
@@ -1754,7 +1762,7 @@ class I18n::Config
#
# I18n.config.interpolation_patterns << /\{\{(\w+)\}\}/
#
- # pkg:gem/i18n#lib/i18n/config.rb:161
+ # pkg:gem/i18n#lib/i18n/config.rb:195
def interpolation_patterns=(interpolation_patterns); end
# Allow clients to register paths providing translation data sources. The
@@ -1766,13 +1774,13 @@ class I18n::Config
# register translation files like this:
# I18n.load_path << 'path/to/locale/en.yml'
#
- # pkg:gem/i18n#lib/i18n/config.rb:126
+ # pkg:gem/i18n#lib/i18n/config.rb:160
def load_path; end
# Sets the load path instance. Custom implementations are expected to
# behave like a Ruby Array.
#
- # pkg:gem/i18n#lib/i18n/config.rb:132
+ # pkg:gem/i18n#lib/i18n/config.rb:166
def load_path=(load_path); end
# The only configuration value that is not global and scoped to thread is :locale.
@@ -1781,15 +1789,15 @@ class I18n::Config
# pkg:gem/i18n#lib/i18n/config.rb:9
def locale; end
- # Sets the current locale pseudo-globally, i.e. in the Thread.current hash.
+ # Sets the current locale pseudo-globally, i.e. in the Thread.current or Fiber local hash.
#
- # pkg:gem/i18n#lib/i18n/config.rb:14
+ # pkg:gem/i18n#lib/i18n/config.rb:48
def locale=(locale); end
# Returns the current handler for situations when interpolation argument
# is missing. MissingInterpolationArgument will be raised by default.
#
- # pkg:gem/i18n#lib/i18n/config.rb:97
+ # pkg:gem/i18n#lib/i18n/config.rb:131
def missing_interpolation_argument_handler; end
# Sets the missing interpolation argument handler. It can be any
@@ -1804,8 +1812,30 @@ class I18n::Config
# "#{key} is missing"
# end
#
- # pkg:gem/i18n#lib/i18n/config.rb:114
+ # pkg:gem/i18n#lib/i18n/config.rb:148
def missing_interpolation_argument_handler=(exception_handler); end
+
+ # pkg:gem/i18n#lib/i18n/config.rb:17
+ def owned_by?(fiber); end
+
+ # pkg:gem/i18n#lib/i18n/config.rb:21
+ def owner=(fiber); end
+
+ # Sets this configuration as the current one for the active execution context.
+ # The stored configuration is frozen to avoid sharing mutable state between fibers.
+ #
+ # pkg:gem/i18n#lib/i18n/config.rb:40
+ def set!; end
+
+ # Returns a copied configuration with the provided attributes set.
+ #
+ # pkg:gem/i18n#lib/i18n/config.rb:30
+ def with(**attrs); end
+
+ private
+
+ # pkg:gem/i18n#lib/i18n/config.rb:25
+ def initialize_copy(other); end
end
# pkg:gem/i18n#lib/i18n/interpolate/ruby.rb:7
diff --git a/sorbet/rbi/gems/io-console@0.8.2.rbi b/sorbet/rbi/gems/io-console@0.9.2.rbi
similarity index 100%
rename from sorbet/rbi/gems/io-console@0.8.2.rbi
rename to sorbet/rbi/gems/io-console@0.9.2.rbi
diff --git a/sorbet/rbi/gems/language_server-protocol@3.17.0.5.rbi b/sorbet/rbi/gems/language_server-protocol@3.17.0.6.rbi
similarity index 100%
rename from sorbet/rbi/gems/language_server-protocol@3.17.0.5.rbi
rename to sorbet/rbi/gems/language_server-protocol@3.17.0.6.rbi
diff --git a/sorbet/rbi/gems/parser@3.3.11.1.rbi b/sorbet/rbi/gems/parser@3.3.12.0.rbi
similarity index 100%
rename from sorbet/rbi/gems/parser@3.3.11.1.rbi
rename to sorbet/rbi/gems/parser@3.3.12.0.rbi
diff --git a/sorbet/rbi/gems/railties@8.1.3.rbi b/sorbet/rbi/gems/railties@8.1.3.1.rbi
similarity index 99%
rename from sorbet/rbi/gems/railties@8.1.3.rbi
rename to sorbet/rbi/gems/railties@8.1.3.1.rbi
index c3dc917..fa32117 100644
--- a/sorbet/rbi/gems/railties@8.1.3.rbi
+++ b/sorbet/rbi/gems/railties@8.1.3.1.rbi
@@ -3548,7 +3548,7 @@ Rails::VERSION::MAJOR = T.let(T.unsafe(nil), Integer)
Rails::VERSION::MINOR = T.let(T.unsafe(nil), Integer)
# pkg:gem/railties#lib/rails/gem_version.rb:13
-Rails::VERSION::PRE = T.let(T.unsafe(nil), T.untyped)
+Rails::VERSION::PRE = T.let(T.unsafe(nil), String)
# pkg:gem/railties#lib/rails/gem_version.rb:15
Rails::VERSION::STRING = T.let(T.unsafe(nil), String)
diff --git a/sorbet/rbi/gems/rubocop-ast@1.49.1.rbi b/sorbet/rbi/gems/rubocop-ast@1.50.0.rbi
similarity index 92%
rename from sorbet/rbi/gems/rubocop-ast@1.49.1.rbi
rename to sorbet/rbi/gems/rubocop-ast@1.50.0.rbi
index 5a0b02d..0103f20 100644
--- a/sorbet/rbi/gems/rubocop-ast@1.49.1.rbi
+++ b/sorbet/rbi/gems/rubocop-ast@1.50.0.rbi
@@ -54,9 +54,9 @@ class RuboCop::AST::AndAsgnNode < ::RuboCop::AST::OpAsgnNode
def operator; end
end
-# A node extension for `until` nodes. This will be used in place of a plain
+# A node extension for `and` nodes. This will be used in place of a plain
# node when the builder constructs the AST, making its methods available
-# to all `until` nodes within RuboCop.
+# to all `and` nodes within RuboCop.
#
# pkg:gem/rubocop-ast#lib/rubocop/ast/node/and_node.rb:8
class RuboCop::AST::AndNode < ::RuboCop::AST::Node
@@ -1359,8 +1359,14 @@ module RuboCop::AST::Descendence
protected
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node/mixin/descendence.rb:115
+ def visit_all_descendants(&block); end
+
# pkg:gem/rubocop-ast#lib/rubocop/ast/node/mixin/descendence.rb:107
def visit_descendants(types, &block); end
+
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node/mixin/descendence.rb:124
+ def visit_descendants_of_types(types, &block); end
end
# A node extension for `dstr` nodes. This will be used
@@ -1476,7 +1482,7 @@ class RuboCop::AST::ForNode < ::RuboCop::AST::Node
# Returns the keyword of the `for` statement as a string.
#
- # @return [String] the keyword of the `until` statement
+ # @return [String] the keyword of the `for` statement
#
# pkg:gem/rubocop-ast#lib/rubocop/ast/node/for_node.rb:12
def keyword; end
@@ -1647,7 +1653,7 @@ class RuboCop::AST::HashNode < ::RuboCop::AST::Node
# @return [Enumerator] if no block is given
#
# pkg:gem/rubocop-ast#lib/rubocop/ast/node/hash_node.rb:59
- def each_key(&block); end
+ def each_key; end
# Calls the given block for each `pair` node in the `hash` literal.
# If no block is given, an `Enumerator` is returned.
@@ -1669,7 +1675,7 @@ class RuboCop::AST::HashNode < ::RuboCop::AST::Node
# @return [Enumerator] if no block is given
#
# pkg:gem/rubocop-ast#lib/rubocop/ast/node/hash_node.rb:83
- def each_value(&block); end
+ def each_value; end
# Checks whether the `hash` node contains any `pair`- or `kwsplat` nodes.
#
@@ -2730,19 +2736,19 @@ class RuboCop::AST::Node < ::Parser::AST::Node
# @see https://www.rubydoc.info/gems/ast/AST/Node:initialize
#
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:155
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:162
def initialize(type, children = T.unsafe(nil), properties = T.unsafe(nil)); end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def __ENCODING___type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def __FILE___type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def __LINE___type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def alias_type?; end
# Returns an array of ancestor nodes.
@@ -2750,169 +2756,169 @@ class RuboCop::AST::Node < ::Parser::AST::Node
#
# @return [Array] an array of ancestor nodes
#
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:320
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:334
def ancestors; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def and_asgn_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def and_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:549
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:565
def any_block_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:529
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:545
def any_def_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:553
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:569
def any_match_pattern_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:557
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:573
def any_str_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:561
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:577
def any_sym_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def arg_expr_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def arg_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def args_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:525
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:539
def argument?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:533
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:549
def argument_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def array_pattern_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def array_pattern_with_tail_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def array_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:477
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:491
def assignment?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:427
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:441
def assignment_or_similar?(param0 = T.unsafe(nil)); end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def back_ref_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:481
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:495
def basic_conditional?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:435
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:449
def basic_literal?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def begin_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def block_pass_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def block_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def blockarg_expr_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def blockarg_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def blocknilarg_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:537
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:553
def boolean_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def break_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:517
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:531
def call_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def case_match_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def case_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def casgn_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def cbase_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:521
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:535
def chained?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:609
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:625
def class_constructor?(param0 = T.unsafe(nil)); end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:627
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:643
def class_definition?(param0 = T.unsafe(nil)); end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def class_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:217
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:231
def complete!; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:222
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:236
def complete?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def complex_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:485
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:499
def conditional?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:366
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:380
def const_name; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def const_pattern_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def const_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def csend_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def cvar_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def cvasgn_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def def_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:386
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:400
def defined_module; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:391
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:405
def defined_module_name; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def defined_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def defs_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def dstr_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def dsym_type?; end
# Calls the given block for each ancestor node from parent to root.
@@ -2931,262 +2937,262 @@ class RuboCop::AST::Node < ::Parser::AST::Node
# @return [self] if a block is given
# @return [Enumerator] if no block is given
#
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:308
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:322
def each_ancestor(*types, &block); end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def eflipflop_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def empty_else_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:421
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:435
def empty_source?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def ensure_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:469
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:483
def equals_asgn?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def erange_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def false_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:443
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:457
def falsey_literal?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def find_pattern_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:334
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:348
def first_line; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def float_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def for_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def forward_arg_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def forward_args_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def forwarded_args_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def forwarded_kwrestarg_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def forwarded_restarg_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:606
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:622
def global_const?(param0 = T.unsafe(nil), param1); end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:565
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:581
def guard_clause?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def gvar_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def gvasgn_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def hash_pattern_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def hash_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def ident_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def if_guard_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def if_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def iflipflop_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:451
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:465
def immutable_literal?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def in_match_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def in_pattern_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def index_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def indexasgn_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def int_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def irange_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def itarg_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def itblock_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def ivar_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def ivasgn_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:498
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:512
def keyword?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def kwarg_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def kwargs_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def kwbegin_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def kwnilarg_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def kwoptarg_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def kwrestarg_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def kwsplat_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:600
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:616
def lambda?(param0 = T.unsafe(nil)); end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:603
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:619
def lambda_or_proc?(param0 = T.unsafe(nil)); end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def lambda_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:338
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:352
def last_line; end
# Use is discouraged, this is a potentially slow method and can lead
# to even slower algorithms
# @return [Node, nil] the left (aka previous) sibling
#
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:260
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:274
def left_sibling; end
# Use is discouraged, this is a potentially slow method and can lead
# to even slower algorithms
# @return [Array] the left (aka previous) siblings
#
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:270
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:284
def left_siblings; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:342
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:356
def line_count; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:431
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:445
def literal?; end
# Shortcut to safely check if a location is present
# @return [Boolean]
#
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:573
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:589
def loc?(which_loc); end
# Shortcut to safely test a particular location, even if
# this location does not exist or is `nil`
#
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:581
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:597
def loc_is?(which_loc, str); end
# NOTE: `loop { }` is a normal method call and thus not a loop keyword.
#
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:494
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:508
def loop_keyword?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def lvar_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def lvasgn_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def masgn_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def match_alt_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def match_as_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def match_current_line_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:588
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:604
def match_guard_clause?(param0 = T.unsafe(nil)); end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def match_nil_pattern_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def match_pattern_p_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def match_pattern_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def match_rest_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def match_var_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def match_with_lvasgn_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def match_with_trailing_comma_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def mlhs_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:634
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:650
def module_definition?(param0 = T.unsafe(nil)); end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def module_type?; end
# Predicates
#
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:413
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:427
def multiline?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:447
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:461
def mutable_literal?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:765
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:788
def new_class_or_module_block?(param0 = T.unsafe(nil)); end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def next_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def nil_type?; end
# Common destructuring method. This can be used to normalize
@@ -3194,92 +3200,92 @@ class RuboCop::AST::Node < ::Parser::AST::Node
# Some node types override this with their own custom
# destructuring method.
#
- # @return [Array] the different parts of the ndde
+ # @return [Array] the different parts of the node
#
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:291
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:305
def node_parts; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:348
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:362
def nonempty_line_count; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def not_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def nth_ref_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def numargs_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def numblock_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:541
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:557
def numeric_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def objc_kwarg_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def objc_restarg_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def objc_varargs_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def op_asgn_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:509
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:523
def operator_keyword?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def optarg_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def or_asgn_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def or_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def pair_type?; end
# Returns the parent node, or `nil` if the receiver is a root node.
#
# @return [Node, nil] the parent node or `nil`
#
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:199
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:213
def parent; end
# @return [Boolean]
#
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:208
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:222
def parent?; end
# Searching the AST
#
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:397
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:411
def parent_module_name; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:513
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:527
def parenthesized_call?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def pin_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:489
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:503
def post_condition_loop?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def postexe_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def preexe_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:593
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:609
def proc?(param0 = T.unsafe(nil)); end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def procarg0_type?; end
# Some expressions are evaluated for their value, some for their side
@@ -3290,89 +3296,89 @@ class RuboCop::AST::Node < ::Parser::AST::Node
# expressions which are equivalent in value.
# So, is evaluation of this node free of side effects?
#
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:677
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:693
def pure?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:545
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:561
def range_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def rational_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:359
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:373
def receiver(param0 = T.unsafe(nil)); end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:138
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:145
def recursive_basic_literal?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:138
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:145
def recursive_literal?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def redo_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:465
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:479
def reference?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def regexp_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def regopt_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def resbody_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def rescue_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def restarg_expr_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def restarg_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def retry_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def return_type?; end
# Use is discouraged, this is a potentially slow method and can lead
# to even slower algorithms
# @return [Node, nil] the right (aka next) sibling
#
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:251
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:265
def right_sibling; end
# Use is discouraged, this is a potentially slow method and can lead
# to even slower algorithms
# @return [Array] the right (aka next) siblings
#
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:279
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:293
def right_siblings; end
# @return [Boolean]
#
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:213
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:227
def root?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def sclass_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def self_type?; end
# Most nodes are of 'send' type, so this method is defined
# separately to make this check as fast as possible.
#
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:192
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:206
def send_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def shadowarg_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:473
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:487
def shorthand_asgn?; end
# Returns the index of the receiver node in its siblings. (Sibling index
@@ -3381,68 +3387,75 @@ class RuboCop::AST::Node < ::Parser::AST::Node
#
# @return [Integer, nil] the index of the receiver node in its siblings
#
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:244
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:258
def sibling_index; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:417
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:431
def single_line?; end
# NOTE: Some rare nodes may have no source, like `s(:args)` in `foo {}`
# @return [String, nil]
#
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:326
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:340
def source; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:352
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:366
def source_length; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:330
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:344
def source_range; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:505
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:519
def special_keyword?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def splat_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:364
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:378
def str_content(param0 = T.unsafe(nil)); end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def str_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:622
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:638
def struct_constructor?(param0 = T.unsafe(nil)); end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def super_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def sym_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def true_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:439
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:453
def truthy_literal?; end
# Determine if the node is one of several node types in a single query
# Allows specific single node types, as well as "grouped" types
# (e.g. `:boolean` for `:true` or `:false`)
#
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:174
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:181
def type?(*types); end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # Non-splatting variant of `type?`, used by the traversal hot paths to
+ # avoid allocating an array per visited node.
+ # @api private
+ #
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:188
+ def type_in?(types); end
+
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def undef_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def unless_guard_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def until_post_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def until_type?; end
# Override `AST::Node#updated` so that `AST::Processor` does not try to
@@ -3451,7 +3464,7 @@ class RuboCop::AST::Node < ::Parser::AST::Node
# identical subtrees. Rather, the entire AST must be copied any time any
# part of it is changed.
#
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:233
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:247
def updated(type = T.unsafe(nil), children = T.unsafe(nil), properties = T.unsafe(nil)); end
# Some expressions are evaluated for their value, some for their side
@@ -3462,68 +3475,68 @@ class RuboCop::AST::Node < ::Parser::AST::Node
# So, does the return value of this node matter? If we changed it to
# `(...; nil)`, might that affect anything?
#
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:647
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:663
def value_used?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:461
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:475
def variable?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def when_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def while_post_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def while_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def xstr_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def yield_type?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:197
def zsuper_type?; end
protected
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:203
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:217
def parent=(node); end
private
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:704
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:727
def begin_value_used?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:715
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:738
def case_if_value_used?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:377
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:391
def defined_module0(param0 = T.unsafe(nil)); end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:709
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:732
def for_value_used?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:751
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:774
def parent_module_name_for_block(ancestor); end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:739
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:762
def parent_module_name_for_sclass(sclass_node); end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:726
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:749
def parent_module_name_part(node); end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:695
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:711
def visit_ancestors(types); end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:721
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:744
def while_until_value_used?; end
class << self
private
- # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:134
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:141
def def_recursive_literal_predicate(kind); end
end
end
@@ -3559,10 +3572,10 @@ RuboCop::AST::Node::COMPOSITE_LITERALS = T.let(T.unsafe(nil), Set)
# pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:60
RuboCop::AST::Node::CONDITIONALS = T.let(T.unsafe(nil), Set)
-# pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:84
+# pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:91
RuboCop::AST::Node::EMPTY_CHILDREN = T.let(T.unsafe(nil), Array)
-# pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:85
+# pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:92
RuboCop::AST::Node::EMPTY_PROPERTIES = T.let(T.unsafe(nil), Hash)
# @api private
@@ -3577,7 +3590,7 @@ RuboCop::AST::Node::FALSEY_LITERALS = T.let(T.unsafe(nil), Set)
# @api private
#
-# pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:89
+# pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:96
RuboCop::AST::Node::GROUP_FOR_TYPE = T.let(T.unsafe(nil), Hash)
# @api private
@@ -3595,10 +3608,10 @@ RuboCop::AST::Node::KEYWORDS = T.let(T.unsafe(nil), Set)
# pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:37
RuboCop::AST::Node::LITERALS = T.let(T.unsafe(nil), Set)
-# pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:80
+# pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:87
RuboCop::AST::Node::LITERAL_RECURSIVE_METHODS = T.let(T.unsafe(nil), Set)
-# pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:81
+# pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:88
RuboCop::AST::Node::LITERAL_RECURSIVE_TYPES = T.let(T.unsafe(nil), Set)
# @api private
@@ -3636,6 +3649,15 @@ RuboCop::AST::Node::SHORTHAND_ASSIGNMENTS = T.let(T.unsafe(nil), Set)
# pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:78
RuboCop::AST::Node::SPECIAL_KEYWORDS = T.let(T.unsafe(nil), Set)
+# The node types which could have a source matching `SPECIAL_KEYWORDS`:
+# `__FILE__` parses as `str`, `__LINE__` as `int` and `__ENCODING__` as
+# `const` (or as their own node types when the builder emits them);
+# `str` and `sym` also cover word/symbol array elements, string parts
+# and hash labels spelling out one of these keywords.
+#
+# pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:84
+RuboCop::AST::Node::SPECIAL_KEYWORD_TYPES = T.let(T.unsafe(nil), Set)
+
# @api private
#
# pkg:gem/rubocop-ast#lib/rubocop/ast/node.rb:31
@@ -5154,9 +5176,6 @@ RuboCop::AST::NodePattern::Sets::SET_1_2 = T.let(T.unsafe(nil), Set)
# pkg:gem/rubocop-ast#lib/rubocop/ast/node_pattern/sets.rb:10
RuboCop::AST::NodePattern::Sets::SET_ADD_DEPENDENCY_ADD_RUNTIME_DEPENDENCY_ADD_DEVELOPMENT_DEPENDENCY = T.let(T.unsafe(nil), Set)
-# pkg:gem/rubocop-ast#lib/rubocop/ast/node_pattern/sets.rb:10
-RuboCop::AST::NodePattern::Sets::SET_ALL_ANY_CLASS_OF_ETC = T.let(T.unsafe(nil), Set)
-
# pkg:gem/rubocop-ast#lib/rubocop/ast/node_pattern/sets.rb:10
RuboCop::AST::NodePattern::Sets::SET_ALL_CONTEXT = T.let(T.unsafe(nil), Set)
@@ -5172,9 +5191,6 @@ RuboCop::AST::NodePattern::Sets::SET_ANY_NONE = T.let(T.unsafe(nil), Set)
# pkg:gem/rubocop-ast#lib/rubocop/ast/node_pattern/sets.rb:10
RuboCop::AST::NodePattern::Sets::SET_ARRAY_HASH = T.let(T.unsafe(nil), Set)
-# pkg:gem/rubocop-ast#lib/rubocop/ast/node_pattern/sets.rb:10
-RuboCop::AST::NodePattern::Sets::SET_ATTR_READER_ATTR_WRITER_ATTR_ACCESSOR = T.let(T.unsafe(nil), Set)
-
# pkg:gem/rubocop-ast#lib/rubocop/ast/node_pattern/sets.rb:10
RuboCop::AST::NodePattern::Sets::SET_ATTR_READER_ATTR_WRITER_ATTR_ACCESSOR_ATTR = T.let(T.unsafe(nil), Set)
@@ -5205,6 +5221,12 @@ RuboCop::AST::NodePattern::Sets::SET_CLASS_EVAL_INSTANCE_EVAL = T.let(T.unsafe(n
# pkg:gem/rubocop-ast#lib/rubocop/ast/node_pattern/sets.rb:10
RuboCop::AST::NodePattern::Sets::SET_CLASS_EVAL_MODULE_EVAL = T.let(T.unsafe(nil), Set)
+# pkg:gem/rubocop-ast#lib/rubocop/ast/node_pattern/sets.rb:10
+RuboCop::AST::NodePattern::Sets::SET_CLASS_EVAL_MODULE_EVAL_INSTANCE_EVAL = T.let(T.unsafe(nil), Set)
+
+# pkg:gem/rubocop-ast#lib/rubocop/ast/node_pattern/sets.rb:10
+RuboCop::AST::NodePattern::Sets::SET_CLASS_EXEC_MODULE_EXEC_INSTANCE_EXEC = T.let(T.unsafe(nil), Set)
+
# pkg:gem/rubocop-ast#lib/rubocop/ast/node_pattern/sets.rb:10
RuboCop::AST::NodePattern::Sets::SET_CLASS_MODULE = T.let(T.unsafe(nil), Set)
@@ -5232,6 +5254,9 @@ RuboCop::AST::NodePattern::Sets::SET_DEF_DELEGATORS_DEF_INSTANCE_DELEGATORS = T.
# pkg:gem/rubocop-ast#lib/rubocop/ast/node_pattern/sets.rb:10
RuboCop::AST::NodePattern::Sets::SET_DEF_DELEGATOR_DEF_INSTANCE_DELEGATOR = T.let(T.unsafe(nil), Set)
+# pkg:gem/rubocop-ast#lib/rubocop/ast/node_pattern/sets.rb:10
+RuboCop::AST::NodePattern::Sets::SET_DESCRIBE_XDESCRIBE_FDESCRIBE_ETC = T.let(T.unsafe(nil), Set)
+
# pkg:gem/rubocop-ast#lib/rubocop/ast/node_pattern/sets.rb:10
RuboCop::AST::NodePattern::Sets::SET_DOUBLE_SPY = T.let(T.unsafe(nil), Set)
@@ -5262,9 +5287,6 @@ RuboCop::AST::NodePattern::Sets::SET_EXPECT_ALLOW = T.let(T.unsafe(nil), Set)
# pkg:gem/rubocop-ast#lib/rubocop/ast/node_pattern/sets.rb:10
RuboCop::AST::NodePattern::Sets::SET_EXPECT_EXPECT_ANY_INSTANCE_OF = T.let(T.unsafe(nil), Set)
-# pkg:gem/rubocop-ast#lib/rubocop/ast/node_pattern/sets.rb:10
-RuboCop::AST::NodePattern::Sets::SET_EXTEND_INCLUDE = T.let(T.unsafe(nil), Set)
-
# pkg:gem/rubocop-ast#lib/rubocop/ast/node_pattern/sets.rb:10
RuboCop::AST::NodePattern::Sets::SET_FILETEST_FILE_DIR_SHELL = T.let(T.unsafe(nil), Set)
@@ -5301,30 +5323,12 @@ RuboCop::AST::NodePattern::Sets::SET_GROUP_BY_TO_H_TALLY_ETC = T.let(T.unsafe(ni
# pkg:gem/rubocop-ast#lib/rubocop/ast/node_pattern/sets.rb:10
RuboCop::AST::NodePattern::Sets::SET_GSUB_GSUB = T.let(T.unsafe(nil), Set)
-# pkg:gem/rubocop-ast#lib/rubocop/ast/node_pattern/sets.rb:10
-RuboCop::AST::NodePattern::Sets::SET_IF_UNLESS = T.let(T.unsafe(nil), Set)
-
# pkg:gem/rubocop-ast#lib/rubocop/ast/node_pattern/sets.rb:10
RuboCop::AST::NodePattern::Sets::SET_INCLUDE_EXTEND_PREPEND = T.let(T.unsafe(nil), Set)
-# pkg:gem/rubocop-ast#lib/rubocop/ast/node_pattern/sets.rb:10
-RuboCop::AST::NodePattern::Sets::SET_INCLUDE_MEMBER = T.let(T.unsafe(nil), Set)
-
-# pkg:gem/rubocop-ast#lib/rubocop/ast/node_pattern/sets.rb:10
-RuboCop::AST::NodePattern::Sets::SET_INCLUDE_PREPEND = T.let(T.unsafe(nil), Set)
-
-# pkg:gem/rubocop-ast#lib/rubocop/ast/node_pattern/sets.rb:10
-RuboCop::AST::NodePattern::Sets::SET_INSTANCE_EVAL_CLASS_EVAL_MODULE_EVAL = T.let(T.unsafe(nil), Set)
-
-# pkg:gem/rubocop-ast#lib/rubocop/ast/node_pattern/sets.rb:10
-RuboCop::AST::NodePattern::Sets::SET_INSTANCE_EXEC_CLASS_EXEC_MODULE_EXEC = T.let(T.unsafe(nil), Set)
-
# pkg:gem/rubocop-ast#lib/rubocop/ast/node_pattern/sets.rb:10
RuboCop::AST::NodePattern::Sets::SET_INTEGER_BIGDECIMAL_COMPLEX_RATIONAL = T.let(T.unsafe(nil), Set)
-# pkg:gem/rubocop-ast#lib/rubocop/ast/node_pattern/sets.rb:10
-RuboCop::AST::NodePattern::Sets::SET_IS_A_KIND_OF = T.let(T.unsafe(nil), Set)
-
# pkg:gem/rubocop-ast#lib/rubocop/ast/node_pattern/sets.rb:10
RuboCop::AST::NodePattern::Sets::SET_IS_EXPECTED_SHOULD_SHOULD_NOT = T.let(T.unsafe(nil), Set)
@@ -5352,6 +5356,9 @@ RuboCop::AST::NodePattern::Sets::SET_MAP_FILTER_MAP = T.let(T.unsafe(nil), Set)
# pkg:gem/rubocop-ast#lib/rubocop/ast/node_pattern/sets.rb:10
RuboCop::AST::NodePattern::Sets::SET_MAX_BY_MIN_BY_MINMAX_BY = T.let(T.unsafe(nil), Set)
+# pkg:gem/rubocop-ast#lib/rubocop/ast/node_pattern/sets.rb:10
+RuboCop::AST::NodePattern::Sets::SET_MEMBER_INCLUDE = T.let(T.unsafe(nil), Set)
+
# pkg:gem/rubocop-ast#lib/rubocop/ast/node_pattern/sets.rb:10
RuboCop::AST::NodePattern::Sets::SET_MODULE_FUNCTION_RUBY2_KEYWORDS = T.let(T.unsafe(nil), Set)
@@ -5385,9 +5392,6 @@ RuboCop::AST::NodePattern::Sets::SET_PRIVATE_PROTECTED_PUBLIC = T.let(T.unsafe(n
# pkg:gem/rubocop-ast#lib/rubocop/ast/node_pattern/sets.rb:10
RuboCop::AST::NodePattern::Sets::SET_PROC_LAMBDA = T.let(T.unsafe(nil), Set)
-# pkg:gem/rubocop-ast#lib/rubocop/ast/node_pattern/sets.rb:10
-RuboCop::AST::NodePattern::Sets::SET_PROP_CONST = T.let(T.unsafe(nil), Set)
-
# pkg:gem/rubocop-ast#lib/rubocop/ast/node_pattern/sets.rb:10
RuboCop::AST::NodePattern::Sets::SET_PUBLIC_CONSTANT_PRIVATE_CONSTANT = T.let(T.unsafe(nil), Set)
@@ -5427,9 +5431,6 @@ RuboCop::AST::NodePattern::Sets::SET_REQUIRE_REQUIRE_RELATIVE = T.let(T.unsafe(n
# pkg:gem/rubocop-ast#lib/rubocop/ast/node_pattern/sets.rb:10
RuboCop::AST::NodePattern::Sets::SET_REVERSE_REVERSE_EACH = T.let(T.unsafe(nil), Set)
-# pkg:gem/rubocop-ast#lib/rubocop/ast/node_pattern/sets.rb:10
-RuboCop::AST::NodePattern::Sets::SET_SELECT_FILTER = T.let(T.unsafe(nil), Set)
-
# pkg:gem/rubocop-ast#lib/rubocop/ast/node_pattern/sets.rb:10
RuboCop::AST::NodePattern::Sets::SET_SELECT_FILTER_FIND_ALL = T.let(T.unsafe(nil), Set)
@@ -5451,9 +5452,6 @@ RuboCop::AST::NodePattern::Sets::SET_SET_SORTEDSET = T.let(T.unsafe(nil), Set)
# pkg:gem/rubocop-ast#lib/rubocop/ast/node_pattern/sets.rb:10
RuboCop::AST::NodePattern::Sets::SET_SHOULD_SHOULD_NOT = T.let(T.unsafe(nil), Set)
-# pkg:gem/rubocop-ast#lib/rubocop/ast/node_pattern/sets.rb:10
-RuboCop::AST::NodePattern::Sets::SET_SIG_HELPERS = T.let(T.unsafe(nil), Set)
-
# pkg:gem/rubocop-ast#lib/rubocop/ast/node_pattern/sets.rb:10
RuboCop::AST::NodePattern::Sets::SET_SKIP_PENDING = T.let(T.unsafe(nil), Set)
@@ -5475,21 +5473,12 @@ RuboCop::AST::NodePattern::Sets::SET_STDOUT_STDERR = T.let(T.unsafe(nil), Set)
# pkg:gem/rubocop-ast#lib/rubocop/ast/node_pattern/sets.rb:10
RuboCop::AST::NodePattern::Sets::SET_STRUCT_CLASS = T.let(T.unsafe(nil), Set)
-# pkg:gem/rubocop-ast#lib/rubocop/ast/node_pattern/sets.rb:10
-RuboCop::AST::NodePattern::Sets::SET_STRUCT_IMMUTABLESTRUCT = T.let(T.unsafe(nil), Set)
-
-# pkg:gem/rubocop-ast#lib/rubocop/ast/node_pattern/sets.rb:10
-RuboCop::AST::NodePattern::Sets::SET_STRUCT_IMMUTABLESTRUCT_INEXACTSTRUCT = T.let(T.unsafe(nil), Set)
-
# pkg:gem/rubocop-ast#lib/rubocop/ast/node_pattern/sets.rb:10
RuboCop::AST::NodePattern::Sets::SET_SUCC_PRED_NEXT = T.let(T.unsafe(nil), Set)
# pkg:gem/rubocop-ast#lib/rubocop/ast/node_pattern/sets.rb:10
RuboCop::AST::NodePattern::Sets::SET_TASK_NAMESPACE = T.let(T.unsafe(nil), Set)
-# pkg:gem/rubocop-ast#lib/rubocop/ast/node_pattern/sets.rb:10
-RuboCop::AST::NodePattern::Sets::SET_TESTS_ALWAYS = T.let(T.unsafe(nil), Set)
-
# pkg:gem/rubocop-ast#lib/rubocop/ast/node_pattern/sets.rb:10
RuboCop::AST::NodePattern::Sets::SET_TO_ENUM_ENUM_FOR = T.let(T.unsafe(nil), Set)
@@ -5584,7 +5573,7 @@ RuboCop::AST::NodePattern::VAR = T.let(T.unsafe(nil), String)
#
# pkg:gem/rubocop-ast#lib/rubocop/ast/node/mixin/numeric_node.rb:6
module RuboCop::AST::NumericNode
- # Checks whether this is literal has a sign.
+ # Checks whether this literal has a sign.
#
# @example
#
@@ -5694,7 +5683,7 @@ class RuboCop::AST::PairNode < ::RuboCop::AST::Node
def colon?; end
# Returns the delimiter of the `pair` as a string. Returns `=>` for a
- # colon delimited `pair` and `:` for a hash rocket delimited `pair`.
+ # hash rocket delimited `pair` and `:` for a colon delimited `pair`.
#
# @param [Boolean] with_spacing whether to include spacing
# @return [String] the delimiter of the `pair`
@@ -5907,6 +5896,26 @@ RuboCop::AST::PredicateOperatorNode::SEMANTIC_OPERATORS = T.let(T.unsafe(nil), A
# pkg:gem/rubocop-ast#lib/rubocop/ast/node/mixin/predicate_operator_node.rb:14
RuboCop::AST::PredicateOperatorNode::SEMANTIC_OR = T.let(T.unsafe(nil), String)
+# Extends the prism translation parsers so that the conversion of tokens
+# into the `parser` gem's format is deferred until the tokens are first
+# accessed. Building the tokens is a significant part of the translation
+# cost, and not every caller needs them.
+# @api private
+#
+# pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:33
+module RuboCop::AST::PrismLazyTokens
+ # Same contract as `Parser::Base#tokenize`, except the tokens are
+ # returned as a callable that performs the conversion when invoked.
+ #
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:36
+ def tokenize_deferred(source_buffer); end
+
+ private
+
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:54
+ def deferred_tokens(source_buffer, tokens, offset_cache); end
+end
+
# A `Prism` interface's class that provides a fixed `Prism::ParseLexResult` instead of parsing.
#
# This class implements the `parse_lex` method to return a preparsed `Prism::ParseLexResult`
@@ -5940,204 +5949,235 @@ end
# and other information such as disabled lines for cops.
# It also provides a convenient way to access source lines.
#
-# pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:31
+# pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:69
class RuboCop::AST::ProcessedSource
- # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:49
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:94
def initialize(source, ruby_version, path = T.unsafe(nil), parser_engine: T.unsafe(nil), prism_result: T.unsafe(nil)); end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:91
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:135
def [](*args); end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:41
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:79
def ast; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:69
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:114
def ast_with_comments; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:130
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:174
def blank?; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:41
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:79
def buffer; end
# Raw source checksum for tracking infinite loops.
#
- # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:102
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:146
def checksum; end
# @return [Comment, nil] the comment at that line, if any.
#
- # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:135
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:179
def comment_at_line(line); end
# @deprecated use contains_comment?
#
- # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:161
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:205
def commented?(source_range); end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:41
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:79
def comments; end
# @deprecated Use `each_comment_in_lines`
# Should have been called `comments_before_or_at_line`. Doubtful it has of any valid use.
#
- # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:165
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:209
def comments_before_line(line); end
# @return [Boolean] if any of the lines in the given `source_range` has a comment.
# Consider using `each_comment_in_lines` instead
#
- # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:157
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:201
def contains_comment?(source_range); end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:179
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:225
def current_line(token); end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:41
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:79
def diagnostics; end
# @deprecated Use `comments.each`
#
- # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:107
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:151
def each_comment(&block); end
# Enumerates on the comments contained with the given `line_range`
#
- # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:145
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:189
def each_comment_in_lines(line_range); end
# @deprecated Use `tokens.each`
#
- # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:117
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:161
def each_token(&block); end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:126
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:170
def file_path; end
# @deprecated Use `comment_at_line`, `each_comment_in_lines`, or `comments.find`
#
- # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:112
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:156
def find_comment(&block); end
# @deprecated Use `tokens.find`
#
- # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:122
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:166
def find_token(&block); end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:200
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:259
def first_token_of(range_or_node); end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:183
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:229
def following_line(token); end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:204
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:263
def last_token_of(range_or_node); end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:187
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:233
def line_indentation(line_number); end
# @return [Boolean] if the given line number has a comment.
#
- # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:140
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:184
def line_with_comment?(line); end
# Returns the source lines, line break characters removed, excluding a
# possible __END__ and everything that comes after.
#
- # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:77
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:122
def lines; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:41
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:79
def parser_engine; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:41
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:79
def parser_error; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:41
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:79
def path; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:175
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:219
def preceding_line(token); end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:41
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:79
def raw_source; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:41
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:79
def ruby_version; end
# The tokens list is always sorted by token position, except for cases when heredoc
# is passed as a method argument. In this case tokens are interleaved by
# heredoc contents' tokens.
#
- # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:211
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:270
def sorted_tokens; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:169
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:213
def start_with?(string); end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:41
+ # The tokens of the source. With the prism engine the tokens are built
+ # lazily on first access, since their conversion is costly and not
+ # every caller needs them.
+ #
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:243
def tokens; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:194
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:253
def tokens_within(range_or_node); end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:95
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:139
def valid_syntax?; end
private
- # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:328
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:437
def builder_class(parser_engine); end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:218
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:301
def comment_index; end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:338
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:447
def create_parser(ruby_version, parser_engine, prism_result); end
- # The Parser gem does not support Ruby 3.5 or later.
- # It is also not fully compatible with Ruby 3.4 but for
- # now respects using parser for backwards compatibility.
+ # Prism is used for all Ruby versions it can parse (3.3 and later);
+ # the Parser gem does not support Ruby 3.5 or later and is not fully
+ # compatible with Ruby 3.4.
#
- # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:384
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:496
def default_parser_engine(ruby_version); end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:392
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:504
def first_token_index(range_or_node); end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:397
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:509
def last_token_index(range_or_node); end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:367
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:479
def normalize_parser_engine(parser_engine, ruby_version); end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:224
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:307
def parse(source, ruby_version, parser_engine, prism_result); end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:260
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:351
+ def parse_and_lex(parser); end
+
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:369
def parser_class(ruby_version, parser_engine); end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:402
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:359
+ def parser_tokens; end
+
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:514
def source_range(range_or_node); end
- # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:243
+ # The tokens may be an already converted array, or a deferred conversion
+ # to be performed when the tokens are first accessed.
+ #
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:328
+ def store_tokens(tokens); end
+
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:336
def tokenize(parser); end
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:284
+ def tokens_sorted?; end
+
+ # `__END__` only starts a data section when it isn't nested inside a
+ # string or heredoc, which is what the last token's line disambiguates.
+ #
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:290
+ def trim_lines_after_data_marker(all_lines); end
+
class << self
- # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:44
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:82
def from_file(path, ruby_version, parser_engine: T.unsafe(nil)); end
+
+ # Subclasses of the prism translation parsers with lazily built tokens.
+ # @api private
+ #
+ # pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:89
+ def lazy_tokens_parser_class(base); end
end
end
-# pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:35
+# pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:73
RuboCop::AST::ProcessedSource::INVALID_LEVELS = T.let(T.unsafe(nil), Array)
-# pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:38
+# pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:76
RuboCop::AST::ProcessedSource::PARSER_ENGINES = T.let(T.unsafe(nil), Array)
# @api private
#
-# pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:33
+# pkg:gem/rubocop-ast#lib/rubocop/ast/processed_source.rb:71
RuboCop::AST::ProcessedSource::STRING_SOURCE_NAME = T.let(T.unsafe(nil), String)
# A node extension for `irange` and `erange` nodes. This will be used in
@@ -6474,7 +6514,7 @@ class RuboCop::AST::SuperNode < ::RuboCop::AST::Node
def node_parts; end
end
-# A node extension for `sym` nodes. This will be used in place of a
+# A node extension for `sym` nodes. This will be used in place of a
# plain node when the builder constructs the AST, making its methods
# available to all `sym` nodes within RuboCop.
#
@@ -7136,9 +7176,9 @@ class RuboCop::AST::WhileNode < ::RuboCop::AST::Node
include ::RuboCop::AST::ConditionalNode
include ::RuboCop::AST::ModifierNode
- # Checks whether the `until` node has a `do` keyword.
+ # Checks whether the `while` node has a `do` keyword.
#
- # @return [Boolean] whether the `until` node has a `do` keyword
+ # @return [Boolean] whether the `while` node has a `do` keyword
#
# pkg:gem/rubocop-ast#lib/rubocop/ast/node/while_node.rb:30
def do?; end
diff --git a/sorbet/rbi/gems/rubocop@1.88.1.rbi b/sorbet/rbi/gems/rubocop@1.89.0.rbi
similarity index 94%
rename from sorbet/rbi/gems/rubocop@1.88.1.rbi
rename to sorbet/rbi/gems/rubocop@1.89.0.rbi
index eedb8ad..90e21b2 100644
--- a/sorbet/rbi/gems/rubocop@1.88.1.rbi
+++ b/sorbet/rbi/gems/rubocop@1.89.0.rbi
@@ -909,6 +909,15 @@ class RuboCop::CommentConfig
# pkg:gem/rubocop#lib/rubocop/comment_config.rb:56
def extra_enabled_comments; end
+ # The names of the cops that are opted in by an `enable` comment directive,
+ # used to mobilize cops disabled in the config on demand.
+ #
+ # @api private
+ # @return [Set]
+ #
+ # pkg:gem/rubocop#lib/rubocop/comment_config.rb:73
+ def opt_in_cops; end
+
# pkg:gem/rubocop#lib/rubocop/comment_config.rb:30
def processed_source; end
@@ -917,64 +926,69 @@ class RuboCop::CommentConfig
private
- # pkg:gem/rubocop#lib/rubocop/comment_config.rb:99
+ # pkg:gem/rubocop#lib/rubocop/comment_config.rb:104
def analyze; end
- # pkg:gem/rubocop#lib/rubocop/comment_config.rb:174
+ # pkg:gem/rubocop#lib/rubocop/comment_config.rb:181
def analyze_cop(analysis, directive); end
- # pkg:gem/rubocop#lib/rubocop/comment_config.rb:192
+ # pkg:gem/rubocop#lib/rubocop/comment_config.rb:199
def analyze_disabled(analysis, directive); end
- # pkg:gem/rubocop#lib/rubocop/comment_config.rb:199
+ # pkg:gem/rubocop#lib/rubocop/comment_config.rb:206
def analyze_rest(analysis, directive); end
- # pkg:gem/rubocop#lib/rubocop/comment_config.rb:185
+ # pkg:gem/rubocop#lib/rubocop/comment_config.rb:192
def analyze_single_line(analysis, directive); end
- # pkg:gem/rubocop#lib/rubocop/comment_config.rb:145
+ # pkg:gem/rubocop#lib/rubocop/comment_config.rb:152
def apply_cop_op(analyses, operation, cop, line); end
- # pkg:gem/rubocop#lib/rubocop/comment_config.rb:139
+ # pkg:gem/rubocop#lib/rubocop/comment_config.rb:146
def apply_push(analyses, resolved_cops, line); end
- # pkg:gem/rubocop#lib/rubocop/comment_config.rb:206
+ # pkg:gem/rubocop#lib/rubocop/comment_config.rb:213
def cop_line_ranges(analysis); end
- # pkg:gem/rubocop#lib/rubocop/comment_config.rb:212
+ # pkg:gem/rubocop#lib/rubocop/comment_config.rb:219
def each_directive; end
- # pkg:gem/rubocop#lib/rubocop/comment_config.rb:133
+ # pkg:gem/rubocop#lib/rubocop/comment_config.rb:140
def expand_cop_name(name); end
- # pkg:gem/rubocop#lib/rubocop/comment_config.rb:70
+ # pkg:gem/rubocop#lib/rubocop/comment_config.rb:88
def extra_enabled_comments_with_names(extras:, names:); end
- # pkg:gem/rubocop#lib/rubocop/comment_config.rb:232
+ # pkg:gem/rubocop#lib/rubocop/comment_config.rb:248
def handle_enable_all(directive, names, extras); end
# Collect cops that have been disabled or enabled by name in a directive comment
# so that `Lint/RedundantCopEnableDirective` can register offenses correctly.
#
- # pkg:gem/rubocop#lib/rubocop/comment_config.rb:246
+ # pkg:gem/rubocop#lib/rubocop/comment_config.rb:262
def handle_switch(directive, names, extras); end
- # pkg:gem/rubocop#lib/rubocop/comment_config.rb:165
+ # pkg:gem/rubocop#lib/rubocop/comment_config.rb:172
def inject_disabled_cops_directives(analyses); end
- # pkg:gem/rubocop#lib/rubocop/comment_config.rb:225
+ # pkg:gem/rubocop#lib/rubocop/comment_config.rb:241
def non_comment_token_line_numbers; end
- # pkg:gem/rubocop#lib/rubocop/comment_config.rb:85
- def opt_in_cops; end
-
- # pkg:gem/rubocop#lib/rubocop/comment_config.rb:155
+ # pkg:gem/rubocop#lib/rubocop/comment_config.rb:162
def pop_state(analyses, line); end
- # pkg:gem/rubocop#lib/rubocop/comment_config.rb:221
+ # `Style/DisableCopsWithinSourceCodeDirective` cannot be disabled via
+ # directive comments when it is explicitly enabled with `Enabled: true`.
+ # This prevents users from bypassing the cop by writing a disable
+ # directive that targets this cop itself.
+ #
+ # pkg:gem/rubocop#lib/rubocop/comment_config.rb:236
+ def prevent_directive_disabling?(cop_name); end
+
+ # pkg:gem/rubocop#lib/rubocop/comment_config.rb:228
def qualified_cop_name(cop_name); end
- # pkg:gem/rubocop#lib/rubocop/comment_config.rb:127
+ # pkg:gem/rubocop#lib/rubocop/comment_config.rb:134
def resolve_push_cops(directive); end
end
@@ -1106,13 +1120,13 @@ class RuboCop::Config
# pkg:gem/rubocop#lib/rubocop/config.rb:97
def []=(*_arg0, **_arg1, &_arg2); end
- # pkg:gem/rubocop#lib/rubocop/config.rb:212
+ # pkg:gem/rubocop#lib/rubocop/config.rb:226
def active_support_extensions_enabled?; end
# pkg:gem/rubocop#lib/rubocop/config.rb:127
def add_excludes_from_higher_level(highest_config); end
- # pkg:gem/rubocop#lib/rubocop/config.rb:240
+ # pkg:gem/rubocop#lib/rubocop/config.rb:254
def allowed_camel_case_file?(file); end
# Paths specified in configuration files starting with .rubocop are
@@ -1121,12 +1135,12 @@ class RuboCop::Config
# config/default.yml, for example, are not relative to RuboCop's config
# directory since that wouldn't work.
#
- # pkg:gem/rubocop#lib/rubocop/config.rb:281
+ # pkg:gem/rubocop#lib/rubocop/config.rb:295
def base_dir_for_path_parameters; end
# @return [String, nil]
#
- # pkg:gem/rubocop#lib/rubocop/config.rb:311
+ # pkg:gem/rubocop#lib/rubocop/config.rb:325
def bundler_lock_file_path; end
# pkg:gem/rubocop#lib/rubocop/config.rb:85
@@ -1159,20 +1173,28 @@ class RuboCop::Config
# pkg:gem/rubocop#lib/rubocop/config.rb:97
def each_key(*_arg0, **_arg1, &_arg2); end
+ # Whether the given pending cop should be enabled, based on the `NewCops` setting of
+ # its department (if any) or of `AllCops`. A department may set `NewCops` to `enable`,
+ # `disable`, `pending`, or a version, in which case pending cops added in that version
+ # or earlier are enabled.
+ #
+ # pkg:gem/rubocop#lib/rubocop/config.rb:216
+ def enabled_new_cop?(qualified_cop_name); end
+
# pkg:gem/rubocop#lib/rubocop/config.rb:208
def enabled_new_cops?; end
# pkg:gem/rubocop#lib/rubocop/config.rb:97
def fetch(*_arg0, **_arg1, &_arg2); end
- # pkg:gem/rubocop#lib/rubocop/config.rb:259
+ # pkg:gem/rubocop#lib/rubocop/config.rb:273
def file_to_exclude?(file); end
# Returns true if the file matches any include pattern. If a block is given, the block is called
# to determine if the pattern is relevant (true returned by the block) or should be skipped
# (false returned).
#
- # pkg:gem/rubocop#lib/rubocop/config.rb:223
+ # pkg:gem/rubocop#lib/rubocop/config.rb:237
def file_to_include?(file); end
# pkg:gem/rubocop#lib/rubocop/config.rb:196
@@ -1208,10 +1230,10 @@ class RuboCop::Config
# Returns target's locked gem versions (i.e. from Gemfile.lock or gems.locked)
# @returns [Hash{String => Gem::Version}] The locked gem versions, keyed by the gems' names.
#
- # pkg:gem/rubocop#lib/rubocop/config.rb:336
+ # pkg:gem/rubocop#lib/rubocop/config.rb:351
def gem_versions_in_target; end
- # pkg:gem/rubocop#lib/rubocop/config.rb:340
+ # pkg:gem/rubocop#lib/rubocop/config.rb:355
def inspect; end
# True if this is a config file that is shipped with RuboCop
@@ -1243,25 +1265,25 @@ class RuboCop::Config
# pkg:gem/rubocop#lib/rubocop/config.rb:97
def merge(*_arg0, **_arg1, &_arg2); end
- # pkg:gem/rubocop#lib/rubocop/config.rb:291
+ # pkg:gem/rubocop#lib/rubocop/config.rb:305
def parser_engine; end
- # pkg:gem/rubocop#lib/rubocop/config.rb:272
+ # pkg:gem/rubocop#lib/rubocop/config.rb:286
def path_relative_to_config(path); end
- # pkg:gem/rubocop#lib/rubocop/config.rb:268
+ # pkg:gem/rubocop#lib/rubocop/config.rb:282
def patterns_to_exclude; end
- # pkg:gem/rubocop#lib/rubocop/config.rb:264
+ # pkg:gem/rubocop#lib/rubocop/config.rb:278
def patterns_to_include; end
- # pkg:gem/rubocop#lib/rubocop/config.rb:322
+ # pkg:gem/rubocop#lib/rubocop/config.rb:336
def pending_cops; end
# Returns true if there's a chance that an Include pattern matches hidden
# files, false if that's definitely not possible.
#
- # pkg:gem/rubocop#lib/rubocop/config.rb:251
+ # pkg:gem/rubocop#lib/rubocop/config.rb:265
def possibly_include_hidden?; end
# pkg:gem/rubocop#lib/rubocop/config.rb:97
@@ -1270,13 +1292,13 @@ class RuboCop::Config
# pkg:gem/rubocop#lib/rubocop/config.rb:105
def signature; end
- # pkg:gem/rubocop#lib/rubocop/config.rb:306
+ # pkg:gem/rubocop#lib/rubocop/config.rb:320
def smart_loaded_path; end
- # pkg:gem/rubocop#lib/rubocop/config.rb:216
+ # pkg:gem/rubocop#lib/rubocop/config.rb:230
def string_literals_frozen_by_default?; end
- # pkg:gem/rubocop#lib/rubocop/config.rb:295
+ # pkg:gem/rubocop#lib/rubocop/config.rb:309
def target_rails_version; end
# pkg:gem/rubocop#lib/rubocop/config.rb:99
@@ -1302,34 +1324,56 @@ class RuboCop::Config
private
- # pkg:gem/rubocop#lib/rubocop/config.rb:396
+ # Returns a `Gem::Version` for values like `'1.19'` or `1.19`, and `nil`
+ # for non-version values like `'N/A'` or `'<>'`.
+ #
+ # pkg:gem/rubocop#lib/rubocop/config.rb:451
+ def comparable_version(value); end
+
+ # pkg:gem/rubocop#lib/rubocop/config.rb:411
def department_of(qualified_cop_name); end
- # pkg:gem/rubocop#lib/rubocop/config.rb:384
+ # pkg:gem/rubocop#lib/rubocop/config.rb:399
def enable_cop?(qualified_cop_name, cop_options); end
# @param [Gem::Version] gem_version an object like `Gem::Version.new("7.1.2.3")`
# @return [Float] The major and minor version, like `7.1`
#
- # pkg:gem/rubocop#lib/rubocop/config.rb:371
+ # pkg:gem/rubocop#lib/rubocop/config.rb:386
def gem_version_to_major_minor_float(gem_version); end
- # pkg:gem/rubocop#lib/rubocop/config.rb:346
+ # pkg:gem/rubocop#lib/rubocop/config.rb:361
def match_relative_or_absolute_path?(pattern, relative_file_path, absolute_file_path); end
+ # Whether the cop's pending status is resolved by a `NewCops` setting,
+ # so that it should not appear in the pending cops warning.
+ # Unlike `enabled_new_cop?`, `disable` counts as covered.
+ #
+ # pkg:gem/rubocop#lib/rubocop/config.rb:430
+ def new_cops_covered?(qualified_cop_name); end
+
+ # The effective `NewCops` setting for the given cop: the department-level
+ # setting if present, otherwise the `AllCops` setting.
+ #
+ # pkg:gem/rubocop#lib/rubocop/config.rb:420
+ def new_cops_setting_for(qualified_cop_name); end
+
+ # pkg:gem/rubocop#lib/rubocop/config.rb:440
+ def new_cops_version_covers?(new_cops_version, qualified_cop_name); end
+
# @returns [Hash{String => Gem::Version}] The locked gem versions, keyed by the gems' names.
#
- # pkg:gem/rubocop#lib/rubocop/config.rb:377
+ # pkg:gem/rubocop#lib/rubocop/config.rb:392
def read_gem_versions_from_target_lockfile; end
# @return [Float, nil] The Rails version as a `major.minor` Float.
#
- # pkg:gem/rubocop#lib/rubocop/config.rb:358
+ # pkg:gem/rubocop#lib/rubocop/config.rb:373
def read_rails_version_from_bundler_lock_file; end
# @return [Float, nil] The Rails version as a `major.minor` Float.
#
- # pkg:gem/rubocop#lib/rubocop/config.rb:353
+ # pkg:gem/rubocop#lib/rubocop/config.rb:368
def target_rails_version_from_bundler_lock_file; end
class << self
@@ -2146,19 +2190,19 @@ end
class RuboCop::ConfigValidator
extend ::RuboCop::SimpleForwardable
- # pkg:gem/rubocop#lib/rubocop/config_validator.rb:28
+ # pkg:gem/rubocop#lib/rubocop/config_validator.rb:30
def initialize(config); end
- # pkg:gem/rubocop#lib/rubocop/config_validator.rb:26
+ # pkg:gem/rubocop#lib/rubocop/config_validator.rb:28
def for_all_cops(*_arg0, **_arg1, &_arg2); end
- # pkg:gem/rubocop#lib/rubocop/config_validator.rb:26
+ # pkg:gem/rubocop#lib/rubocop/config_validator.rb:28
def smart_loaded_path(*_arg0, **_arg1, &_arg2); end
- # pkg:gem/rubocop#lib/rubocop/config_validator.rb:65
+ # pkg:gem/rubocop#lib/rubocop/config_validator.rb:67
def target_ruby_version; end
- # pkg:gem/rubocop#lib/rubocop/config_validator.rb:34
+ # pkg:gem/rubocop#lib/rubocop/config_validator.rb:36
def validate; end
# Validations that should only be run after all config resolving has
@@ -2167,62 +2211,74 @@ class RuboCop::ConfigValidator
# chain has been loaded so that only the final value is validated, and
# any obsolete but overridden values are ignored.
#
- # pkg:gem/rubocop#lib/rubocop/config_validator.rb:61
+ # pkg:gem/rubocop#lib/rubocop/config_validator.rb:63
def validate_after_resolution; end
private
- # pkg:gem/rubocop#lib/rubocop/config_validator.rb:100
+ # pkg:gem/rubocop#lib/rubocop/config_validator.rb:102
def alert_about_unrecognized_cops(invalid_cop_names); end
- # pkg:gem/rubocop#lib/rubocop/config_validator.rb:263
+ # pkg:gem/rubocop#lib/rubocop/config_validator.rb:300
def check_cop_config_value(hash, parent = T.unsafe(nil)); end
- # pkg:gem/rubocop#lib/rubocop/config_validator.rb:73
+ # pkg:gem/rubocop#lib/rubocop/config_validator.rb:75
def check_obsoletions; end
- # pkg:gem/rubocop#lib/rubocop/config_validator.rb:80
+ # pkg:gem/rubocop#lib/rubocop/config_validator.rb:82
def check_target_ruby; end
- # pkg:gem/rubocop#lib/rubocop/config_validator.rb:205
+ # pkg:gem/rubocop#lib/rubocop/config_validator.rb:239
def each_invalid_parameter(cop_name); end
- # pkg:gem/rubocop#lib/rubocop/config_validator.rb:116
+ # pkg:gem/rubocop#lib/rubocop/config_validator.rb:118
def list_unknown_cops(invalid_cop_names); end
+ # pkg:gem/rubocop#lib/rubocop/config_validator.rb:196
+ def new_cops_value_for_department(name, section); end
+
+ # pkg:gem/rubocop#lib/rubocop/config_validator.rb:203
+ def new_cops_version_value?(value); end
+
# FIXME: Handling colors in exception messages like this is ugly.
#
- # pkg:gem/rubocop#lib/rubocop/config_validator.rb:284
+ # pkg:gem/rubocop#lib/rubocop/config_validator.rb:321
def param_error_message(parent, key, value, supposed_values); end
- # pkg:gem/rubocop#lib/rubocop/config_validator.rb:252
+ # pkg:gem/rubocop#lib/rubocop/config_validator.rb:289
def reject_conflicting_safe_settings; end
- # pkg:gem/rubocop#lib/rubocop/config_validator.rb:243
+ # pkg:gem/rubocop#lib/rubocop/config_validator.rb:280
def reject_mutually_exclusive_defaults; end
- # pkg:gem/rubocop#lib/rubocop/config_validator.rb:139
+ # pkg:gem/rubocop#lib/rubocop/config_validator.rb:141
def suggestion(name); end
- # pkg:gem/rubocop#lib/rubocop/config_validator.rb:71
+ # pkg:gem/rubocop#lib/rubocop/config_validator.rb:73
def target_ruby; end
- # pkg:gem/rubocop#lib/rubocop/config_validator.rb:217
+ # pkg:gem/rubocop#lib/rubocop/config_validator.rb:173
+ def validate_all_cops_new_cops_parameter; end
+
+ # pkg:gem/rubocop#lib/rubocop/config_validator.rb:184
+ def validate_department_new_cops_parameters; end
+
+ # pkg:gem/rubocop#lib/rubocop/config_validator.rb:254
def validate_enforced_styles(valid_cop_names); end
- # pkg:gem/rubocop#lib/rubocop/config_validator.rb:166
+ # pkg:gem/rubocop#lib/rubocop/config_validator.rb:168
def validate_new_cops_parameter; end
- # pkg:gem/rubocop#lib/rubocop/config_validator.rb:191
+ # pkg:gem/rubocop#lib/rubocop/config_validator.rb:225
def validate_parameter_names(valid_cop_names); end
- # pkg:gem/rubocop#lib/rubocop/config_validator.rb:177
+ # pkg:gem/rubocop#lib/rubocop/config_validator.rb:211
def validate_parameter_shape(valid_cop_names); end
- # pkg:gem/rubocop#lib/rubocop/config_validator.rb:237
+ # pkg:gem/rubocop#lib/rubocop/config_validator.rb:274
def validate_support_and_has_list(name, formats, valid); end
- # pkg:gem/rubocop#lib/rubocop/config_validator.rb:155
+ # pkg:gem/rubocop#lib/rubocop/config_validator.rb:157
def validate_syntax_cop; end
end
@@ -2231,15 +2287,15 @@ end
# pkg:gem/rubocop#lib/rubocop/config_validator.rb:11
RuboCop::ConfigValidator::COMMON_PARAMS = T.let(T.unsafe(nil), Array)
-# pkg:gem/rubocop#lib/rubocop/config_validator.rb:23
+# pkg:gem/rubocop#lib/rubocop/config_validator.rb:25
RuboCop::ConfigValidator::CONFIG_CHECK_AUTOCORRECTS = T.let(T.unsafe(nil), Array)
-# pkg:gem/rubocop#lib/rubocop/config_validator.rb:22
+# pkg:gem/rubocop#lib/rubocop/config_validator.rb:24
RuboCop::ConfigValidator::CONFIG_CHECK_DEPARTMENTS = T.let(T.unsafe(nil), Array)
# @api private
#
-# pkg:gem/rubocop#lib/rubocop/config_validator.rb:21
+# pkg:gem/rubocop#lib/rubocop/config_validator.rb:23
RuboCop::ConfigValidator::CONFIG_CHECK_KEYS = T.let(T.unsafe(nil), Set)
# @api private
@@ -2252,6 +2308,11 @@ RuboCop::ConfigValidator::INTERNAL_PARAMS = T.let(T.unsafe(nil), Array)
# pkg:gem/rubocop#lib/rubocop/config_validator.rb:18
RuboCop::ConfigValidator::NEW_COPS_VALUES = T.let(T.unsafe(nil), Array)
+# @api private
+#
+# pkg:gem/rubocop#lib/rubocop/config_validator.rb:20
+RuboCop::ConfigValidator::NEW_COPS_VERSION_PATTERN = T.let(T.unsafe(nil), Regexp)
+
# pkg:gem/rubocop#lib/rubocop/cop/util.rb:4
module RuboCop::Cop; end
@@ -2316,54 +2377,82 @@ class RuboCop::Cop::AlignmentCorrector
extend ::RuboCop::Cop::Alignment
class << self
- # pkg:gem/rubocop#lib/rubocop/cop/correctors/alignment_corrector.rb:32
+ # pkg:gem/rubocop#lib/rubocop/cop/correctors/alignment_corrector.rb:40
def align_end(corrector, processed_source, node, align_to); end
- # pkg:gem/rubocop#lib/rubocop/cop/correctors/alignment_corrector.rb:15
- def correct(corrector, processed_source, node, column_delta); end
+ # `tab_indentation` may only be set by callers whose `column_delta` represents
+ # whole indentation levels (e.g. `Layout/IndentationWidth`).
+ # Alignment to an arbitrary column cannot be expressed with tabs, so those callers
+ # leave tab correction disabled to avoid producing a never-converging correction.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/correctors/alignment_corrector.rb:19
+ def correct(corrector, processed_source, node, column_delta, tab_indentation: T.unsafe(nil)); end
# pkg:gem/rubocop#lib/rubocop/cop/correctors/alignment_corrector.rb:13
def processed_source; end
private
- # pkg:gem/rubocop#lib/rubocop/cop/correctors/alignment_corrector.rb:118
+ # pkg:gem/rubocop#lib/rubocop/cop/correctors/alignment_corrector.rb:168
def alignment_column(align_to); end
- # pkg:gem/rubocop#lib/rubocop/cop/correctors/alignment_corrector.rb:47
+ # pkg:gem/rubocop#lib/rubocop/cop/correctors/alignment_corrector.rb:55
def autocorrect_line(corrector, line_begin_pos, expr, column_delta, taboo_ranges); end
- # pkg:gem/rubocop#lib/rubocop/cop/correctors/alignment_corrector.rb:86
+ # pkg:gem/rubocop#lib/rubocop/cop/correctors/alignment_corrector.rb:136
def block_comment_within?(expr); end
- # pkg:gem/rubocop#lib/rubocop/cop/correctors/alignment_corrector.rb:92
+ # pkg:gem/rubocop#lib/rubocop/cop/correctors/alignment_corrector.rb:142
def calculate_range(expr, line_begin_pos, column_delta); end
+ # The number of columns a single tab spans. This must match the width
+ # `Layout/IndentationWidth` uses to compute `column_delta`, otherwise
+ # the division below would not land on a tab boundary. `Layout/IndentationStyle`
+ # has its own `IndentationWidth`, but that only governs how that cop replaces tabs
+ # with spaces, so it must not be consulted here.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/correctors/alignment_corrector.rb:107
+ def configured_indentation_width; end
+
+ # Tab indentation is corrected by rewriting each line's leading whitespace to
+ # the target number of tabs. Working in whole tabs rather than applying a column delta
+ # keeps the result idempotent, which avoids the infinite loops that delta-based correction
+ # caused for tabs.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/correctors/alignment_corrector.rb:73
+ def correct_tab_indentation(corrector, expr, column_delta, taboo_ranges); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/correctors/alignment_corrector.rb:82
+ def correct_tab_line(corrector, line_range, column_delta, taboo_ranges); end
+
# Some special kinds of string literals are not composed of literal
# characters between two delimiters:
# - The source map of `?a` responds to :begin and :end but its end is
# nil.
# - The source map of `__FILE__` responds to neither :begin nor :end.
#
- # pkg:gem/rubocop#lib/rubocop/cop/correctors/alignment_corrector.rb:82
+ # pkg:gem/rubocop#lib/rubocop/cop/correctors/alignment_corrector.rb:132
def delimited_string_literal?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/correctors/alignment_corrector.rb:104
+ # pkg:gem/rubocop#lib/rubocop/cop/correctors/alignment_corrector.rb:154
def each_line(expr); end
- # pkg:gem/rubocop#lib/rubocop/cop/correctors/alignment_corrector.rb:128
+ # pkg:gem/rubocop#lib/rubocop/cop/correctors/alignment_corrector.rb:178
def indentation_string(column); end
- # pkg:gem/rubocop#lib/rubocop/cop/correctors/alignment_corrector.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/correctors/alignment_corrector.rb:117
def inside_string_range(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/correctors/alignment_corrector.rb:61
+ # pkg:gem/rubocop#lib/rubocop/cop/correctors/alignment_corrector.rb:111
def inside_string_ranges(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/correctors/alignment_corrector.rb:136
+ # pkg:gem/rubocop#lib/rubocop/cop/correctors/alignment_corrector.rb:93
+ def target_tab_indentation(leading, column_delta); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/correctors/alignment_corrector.rb:186
def using_tabs?; end
- # pkg:gem/rubocop#lib/rubocop/cop/correctors/alignment_corrector.rb:112
+ # pkg:gem/rubocop#lib/rubocop/cop/correctors/alignment_corrector.rb:162
def whitespace_range(node); end
end
end
@@ -2425,13 +2514,16 @@ module RuboCop::Cop::AllowedPattern
# pkg:gem/rubocop#lib/rubocop/cop/mixin/allowed_pattern.rb:10
def allowed_line?(line); end
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/allowed_pattern.rb:52
+ def allowed_pattern_regexps; end
+
# pkg:gem/rubocop#lib/rubocop/cop/mixin/allowed_pattern.rb:42
def allowed_patterns; end
- # pkg:gem/rubocop#lib/rubocop/cop/mixin/allowed_pattern.rb:58
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/allowed_pattern.rb:62
def cop_config_deprecated_methods_values; end
- # pkg:gem/rubocop#lib/rubocop/cop/mixin/allowed_pattern.rb:52
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/allowed_pattern.rb:56
def cop_config_patterns_values; end
# @deprecated Use allowed_line? instead
@@ -2690,13 +2782,19 @@ class RuboCop::Cop::Badge
# pkg:gem/rubocop#lib/rubocop/cop/badge.rb:51
def match?(other); end
- # pkg:gem/rubocop#lib/rubocop/cop/badge.rb:59
+ # Returns true if the badge's qualified name or the badge's department
+ # matches any of the given names.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/badge.rb:57
+ def match_name?(given_names); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/badge.rb:67
def qualified?; end
- # pkg:gem/rubocop#lib/rubocop/cop/badge.rb:55
+ # pkg:gem/rubocop#lib/rubocop/cop/badge.rb:63
def to_s; end
- # pkg:gem/rubocop#lib/rubocop/cop/badge.rb:63
+ # pkg:gem/rubocop#lib/rubocop/cop/badge.rb:71
def with_department(department); end
class << self
@@ -2773,13 +2871,13 @@ class RuboCop::Cop::Base
# @api private
#
- # pkg:gem/rubocop#lib/rubocop/cop/base.rb:360
+ # pkg:gem/rubocop#lib/rubocop/cop/base.rb:359
def always_autocorrect?; end
# Called before any investigation
# @api private
#
- # pkg:gem/rubocop#lib/rubocop/cop/base.rb:346
+ # pkg:gem/rubocop#lib/rubocop/cop/base.rb:345
def begin_investigation(processed_source, offset: T.unsafe(nil), original: T.unsafe(nil)); end
# @api private
@@ -2798,7 +2896,7 @@ class RuboCop::Cop::Base
# @api private
#
- # pkg:gem/rubocop#lib/rubocop/cop/base.rb:366
+ # pkg:gem/rubocop#lib/rubocop/cop/base.rb:365
def contextual_autocorrect?; end
# Configuration Helpers
@@ -2831,7 +2929,7 @@ class RuboCop::Cop::Base
# pkg:gem/rubocop#lib/rubocop/cop/base.rb:235
def external_dependency_checksum; end
- # pkg:gem/rubocop#lib/rubocop/cop/base.rb:370
+ # pkg:gem/rubocop#lib/rubocop/cop/base.rb:369
def inspect; end
# Gets called if no message is specified when calling `add_offense` or
@@ -2910,87 +3008,87 @@ class RuboCop::Cop::Base
private
- # pkg:gem/rubocop#lib/rubocop/cop/base.rb:491
+ # pkg:gem/rubocop#lib/rubocop/cop/base.rb:492
def annotate(message); end
- # pkg:gem/rubocop#lib/rubocop/cop/base.rb:382
+ # pkg:gem/rubocop#lib/rubocop/cop/base.rb:387
def apply_correction(corrector); end
# @return [Symbol] offense status
#
- # pkg:gem/rubocop#lib/rubocop/cop/base.rb:455
+ # pkg:gem/rubocop#lib/rubocop/cop/base.rb:456
def attempt_correction(range, corrector); end
# Reserved for Cop::Cop
#
- # pkg:gem/rubocop#lib/rubocop/cop/base.rb:378
+ # pkg:gem/rubocop#lib/rubocop/cop/base.rb:383
def callback_argument(range); end
# Called to complete an investigation
#
- # pkg:gem/rubocop#lib/rubocop/cop/base.rb:411
+ # pkg:gem/rubocop#lib/rubocop/cop/base.rb:412
def complete_investigation; end
# @return [Symbol, Corrector] offense status
#
- # pkg:gem/rubocop#lib/rubocop/cop/base.rb:429
+ # pkg:gem/rubocop#lib/rubocop/cop/base.rb:430
def correct(range); end
- # pkg:gem/rubocop#lib/rubocop/cop/base.rb:396
+ # pkg:gem/rubocop#lib/rubocop/cop/base.rb:401
def current_corrector; end
# Reserved for Commissioner:
#
- # pkg:gem/rubocop#lib/rubocop/cop/base.rb:388
+ # pkg:gem/rubocop#lib/rubocop/cop/base.rb:393
def current_offense_locations; end
- # pkg:gem/rubocop#lib/rubocop/cop/base.rb:400
+ # pkg:gem/rubocop#lib/rubocop/cop/base.rb:405
def current_offenses; end
- # pkg:gem/rubocop#lib/rubocop/cop/base.rb:392
+ # pkg:gem/rubocop#lib/rubocop/cop/base.rb:397
def currently_disabled_lines; end
- # pkg:gem/rubocop#lib/rubocop/cop/base.rb:534
+ # pkg:gem/rubocop#lib/rubocop/cop/base.rb:535
def custom_severity; end
- # pkg:gem/rubocop#lib/rubocop/cop/base.rb:530
+ # pkg:gem/rubocop#lib/rubocop/cop/base.rb:531
def default_severity; end
- # pkg:gem/rubocop#lib/rubocop/cop/base.rb:469
+ # pkg:gem/rubocop#lib/rubocop/cop/base.rb:470
def disable_uncorrectable(range); end
- # pkg:gem/rubocop#lib/rubocop/cop/base.rb:520
+ # pkg:gem/rubocop#lib/rubocop/cop/base.rb:521
def enabled_line?(line_number); end
- # pkg:gem/rubocop#lib/rubocop/cop/base.rb:497
+ # pkg:gem/rubocop#lib/rubocop/cop/base.rb:498
def file_name_matches_any?(file, parameter, default_result); end
- # pkg:gem/rubocop#lib/rubocop/cop/base.rb:487
+ # pkg:gem/rubocop#lib/rubocop/cop/base.rb:488
def find_message(range, message); end
- # pkg:gem/rubocop#lib/rubocop/cop/base.rb:526
+ # pkg:gem/rubocop#lib/rubocop/cop/base.rb:527
def find_severity(_range, severity); end
- # pkg:gem/rubocop#lib/rubocop/cop/base.rb:512
+ # pkg:gem/rubocop#lib/rubocop/cop/base.rb:513
def matches_absolute_include_pattern?(patterns, file); end
- # pkg:gem/rubocop#lib/rubocop/cop/base.rb:547
+ # pkg:gem/rubocop#lib/rubocop/cop/base.rb:548
def range_for_original(range); end
- # pkg:gem/rubocop#lib/rubocop/cop/base.rb:476
+ # pkg:gem/rubocop#lib/rubocop/cop/base.rb:477
def range_from_node_or_range(node_or_range); end
# Actually private methods
#
- # pkg:gem/rubocop#lib/rubocop/cop/base.rb:421
+ # pkg:gem/rubocop#lib/rubocop/cop/base.rb:422
def reset_investigation; end
- # pkg:gem/rubocop#lib/rubocop/cop/base.rb:555
+ # pkg:gem/rubocop#lib/rubocop/cop/base.rb:559
def target_satisfies_all_gem_version_requirements?; end
# @return [Symbol] offense status
#
- # pkg:gem/rubocop#lib/rubocop/cop/base.rb:444
+ # pkg:gem/rubocop#lib/rubocop/cop/base.rb:445
def use_corrector(range, corrector); end
class << self
@@ -3090,12 +3188,12 @@ class RuboCop::Cop::Base
private
- # pkg:gem/rubocop#lib/rubocop/cop/base.rb:404
+ # pkg:gem/rubocop#lib/rubocop/cop/base.rb:377
def restrict_on_send; end
end
end
-# pkg:gem/rubocop#lib/rubocop/cop/base.rb:408
+# pkg:gem/rubocop#lib/rubocop/cop/base.rb:409
RuboCop::Cop::Base::EMPTY_OFFENSES = T.let(T.unsafe(nil), Array)
# Reports of an investigation.
@@ -3151,8 +3249,13 @@ end
# pkg:gem/rubocop#lib/rubocop/cop/base.rb:52
RuboCop::Cop::Base::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Set)
-# pkg:gem/rubocop#lib/rubocop/cop/bundler/duplicated_gem.rb:5
-module RuboCop::Cop::Bundler; end
+# Cops for the `Bundler` department. The department's cops are registered for lazy loading
+# and their files are loaded on demand.
+#
+# pkg:gem/rubocop#lib/rubocop/cop/bundler.rb:7
+module RuboCop::Cop::Bundler
+ extend ::RuboCop::Cop::LazyLoader
+end
# A Gem's requirements should be listed only once in a Gemfile.
#
@@ -3829,35 +3932,42 @@ module RuboCop::Cop::CheckLineBreakable
# @api private
#
- # pkg:gem/rubocop#lib/rubocop/cop/mixin/check_line_breakable.rb:202
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/check_line_breakable.rb:220
def all_on_same_line?(nodes); end
# @api private
#
- # pkg:gem/rubocop#lib/rubocop/cop/mixin/check_line_breakable.rb:222
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/check_line_breakable.rb:240
def already_on_multiple_lines?(node); end
# @api private
#
- # pkg:gem/rubocop#lib/rubocop/cop/mixin/check_line_breakable.rb:135
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/check_line_breakable.rb:137
def breakable_collection?(node, elements); end
- # pkg:gem/rubocop#lib/rubocop/cop/mixin/check_line_breakable.rb:228
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/check_line_breakable.rb:246
def chained_to_heredoc?(node); end
+ # @api private
+ # The result depends only on the given node, but the check may traverse all children of
+ # a large collection and is repeated for each contained element, so memoize it per node.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/check_line_breakable.rb:195
+ def children_could_be_broken_up?(node, children); end
+
# @api private
#
- # pkg:gem/rubocop#lib/rubocop/cop/mixin/check_line_breakable.rb:189
- def children_could_be_broken_up?(children); end
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/check_line_breakable.rb:207
+ def compute_children_could_be_broken_up?(children); end
# @api private
#
- # pkg:gem/rubocop#lib/rubocop/cop/mixin/check_line_breakable.rb:152
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/check_line_breakable.rb:154
def contained_by_breakable_collection_on_same_line?(node); end
# @api private
#
- # pkg:gem/rubocop#lib/rubocop/cop/mixin/check_line_breakable.rb:172
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/check_line_breakable.rb:174
def contained_by_multiline_collection_that_could_be_broken_up?(node); end
# @api private
@@ -3867,34 +3977,34 @@ module RuboCop::Cop::CheckLineBreakable
# @api private
#
- # pkg:gem/rubocop#lib/rubocop/cop/mixin/check_line_breakable.rb:74
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/check_line_breakable.rb:76
def extract_first_element_over_column_limit(node, elements, max); end
# @api private
#
- # pkg:gem/rubocop#lib/rubocop/cop/mixin/check_line_breakable.rb:94
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/check_line_breakable.rb:96
def first_argument_is_heredoc?(node); end
# @api private
#
- # pkg:gem/rubocop#lib/rubocop/cop/mixin/check_line_breakable.rb:209
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/check_line_breakable.rb:227
def process_args(args); end
# @api private
#
- # pkg:gem/rubocop#lib/rubocop/cop/mixin/check_line_breakable.rb:119
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/check_line_breakable.rb:121
def safe_to_ignore?(node); end
# @api private
# If a `send` or `csend` node contains a heredoc argument, splitting cannot happen
# after the heredoc or else it will cause a syntax error.
#
- # pkg:gem/rubocop#lib/rubocop/cop/mixin/check_line_breakable.rb:103
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/check_line_breakable.rb:105
def shift_elements_for_heredoc_arg(node, elements, index); end
# @api private
#
- # pkg:gem/rubocop#lib/rubocop/cop/mixin/check_line_breakable.rb:114
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/check_line_breakable.rb:116
def within_column_limit?(element, max, line); end
end
@@ -4015,435 +4125,435 @@ class RuboCop::Cop::Commissioner
# @return [InvestigationReport]
#
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:79
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:81
def investigate(processed_source, offset: T.unsafe(nil), original: T.unsafe(nil)); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on___ENCODING__(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on___FILE__(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on___LINE__(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_alias(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_and(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_and_asgn(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_arg(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_arg_expr(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_args(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_array(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_array_pattern(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_array_pattern_with_tail(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_back_ref(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_begin(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_block(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_block_pass(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_blockarg(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_blocknilarg(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_break(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_case(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_case_match(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_casgn(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_cbase(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_class(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_complex(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_const(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_const_pattern(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_csend(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_cvar(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_cvasgn(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_def(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_defined?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_defs(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_dstr(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_dsym(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_eflipflop(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_empty_else(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_ensure(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_erange(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_false(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_find_pattern(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_float(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_for(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_forward_arg(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_forward_args(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_forwarded_args(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_forwarded_kwrestarg(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_forwarded_restarg(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_gvar(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_gvasgn(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_hash(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_hash_pattern(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_if(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_if_guard(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_iflipflop(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_in_match(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_in_pattern(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_index(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_indexasgn(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_int(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_irange(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_itblock(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_ivar(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_ivasgn(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_kwarg(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_kwargs(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_kwbegin(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_kwnilarg(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_kwoptarg(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_kwrestarg(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_kwsplat(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_lambda(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_lvar(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_lvasgn(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_masgn(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_match_alt(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_match_as(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_match_current_line(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_match_nil_pattern(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_match_pattern(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_match_pattern_p(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_match_rest(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_match_var(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_match_with_lvasgn(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_match_with_trailing_comma(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_mlhs(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_module(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_next(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_nil(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_not(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_nth_ref(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_numblock(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_op_asgn(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_optarg(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_or(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_or_asgn(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_pair(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_pin(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_postexe(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_preexe(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_procarg0(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_rational(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_redo(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_regexp(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_regopt(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_resbody(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_rescue(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_restarg(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_retry(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_return(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_sclass(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_self(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_send(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_shadowarg(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_splat(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_str(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_super(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_sym(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_true(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_undef(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_unless_guard(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_until(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_until_post(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_when(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_while(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_while_post(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_xstr(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_yield(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:69
def on_zsuper(node); end
private
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:98
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:100
def begin_investigation(processed_source, offset:, original:); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:121
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:123
def build_callbacks(cops); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:116
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:118
def initialize_callbacks; end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:159
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:161
def invoke(callback, cops); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:163
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:165
def invoke_with_argument(callback, cops, arg); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:112
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:114
def reset; end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:131
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:133
def restrict_callbacks(callbacks); end
# NOTE: mutates `callbacks` in place
#
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:149
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:151
def restricted_map(callbacks); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:104
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:106
def trigger_responding_cops(callback, node); end
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:139
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:141
def trigger_restricted_cops(event, node); end
# Allow blind rescues here, since we're absorbing and packaging or
# re-raising exceptions that can be raised from within the individual
# cops' `#investigate` methods.
#
- # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:170
+ # pkg:gem/rubocop#lib/rubocop/cop/commissioner.rb:172
def with_cop_error_handling(cop, node = T.unsafe(nil)); end
end
@@ -5168,8 +5278,14 @@ module RuboCop::Cop::EndlessMethodRewriter
private
- # pkg:gem/rubocop#lib/rubocop/cop/mixin/endless_method_rewriter.rb:19
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/endless_method_rewriter.rb:23
def arguments(node, missing = T.unsafe(nil)); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/endless_method_rewriter.rb:27
+ def configured_indentation_width; end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/endless_method_rewriter.rb:19
+ def receiver(node); end
end
# Common functionality for enforcing a specific superclass.
@@ -5288,6 +5404,9 @@ module RuboCop::Cop::ForbiddenPattern
# pkg:gem/rubocop#lib/rubocop/cop/mixin/forbidden_pattern.rb:7
def forbidden_pattern?(name); end
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/forbidden_pattern.rb:15
+ def forbidden_pattern_regexps; end
+
# pkg:gem/rubocop#lib/rubocop/cop/mixin/forbidden_pattern.rb:11
def forbidden_patterns; end
end
@@ -5392,8 +5511,13 @@ module RuboCop::Cop::GemDeclaration
def gem_declaration?(param0 = T.unsafe(nil)); end
end
-# pkg:gem/rubocop#lib/rubocop/cop/gemspec/add_runtime_dependency.rb:5
-module RuboCop::Cop::Gemspec; end
+# Cops for the `Gemspec` department. The department's cops are registered for lazy loading
+# and their files are loaded on demand.
+#
+# pkg:gem/rubocop#lib/rubocop/cop/gemspec.rb:7
+module RuboCop::Cop::Gemspec
+ extend ::RuboCop::Cop::LazyLoader
+end
# Prefer `add_dependency` over `add_runtime_dependency` as the latter is
# considered soft-deprecated.
@@ -5809,13 +5933,22 @@ class RuboCop::Cop::Gemspec::DuplicatedAssignment < ::RuboCop::Cop::Base
# pkg:gem/rubocop#lib/rubocop/cop/gemspec/duplicated_assignment.rb:91
def duplicated_indexed_assignment_method_nodes; end
+ # Assignments in separate `Gem::Specification.new` blocks are not duplicates of
+ # one another, so the enclosing specification is part of the grouping key.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/gemspec/duplicated_assignment.rb:104
+ def enclosing_specification(node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/gemspec/duplicated_assignment.rb:98
+ def indexed_assignment_key(node); end
+
# pkg:gem/rubocop#lib/rubocop/cop/gemspec/duplicated_assignment.rb:66
def process_assignment_method_nodes; end
# pkg:gem/rubocop#lib/rubocop/cop/gemspec/duplicated_assignment.rb:74
def process_indexed_assignment_method_nodes; end
- # pkg:gem/rubocop#lib/rubocop/cop/gemspec/duplicated_assignment.rb:98
+ # pkg:gem/rubocop#lib/rubocop/cop/gemspec/duplicated_assignment.rb:108
def register_offense(node, assignment, line_of_first_occurrence); end
end
@@ -6158,13 +6291,16 @@ class RuboCop::Cop::Generator
# pkg:gem/rubocop#lib/rubocop/cop/generator.rb:119
def initialize(name, output: T.unsafe(nil)); end
- # pkg:gem/rubocop#lib/rubocop/cop/generator.rb:139
+ # pkg:gem/rubocop#lib/rubocop/cop/generator.rb:143
def inject_config(config_file_path: T.unsafe(nil), version_added: T.unsafe(nil)); end
+ # pkg:gem/rubocop#lib/rubocop/cop/generator.rb:139
+ def inject_registration; end
+
# pkg:gem/rubocop#lib/rubocop/cop/generator.rb:135
def inject_require(root_file_path: T.unsafe(nil)); end
- # pkg:gem/rubocop#lib/rubocop/cop/generator.rb:152
+ # pkg:gem/rubocop#lib/rubocop/cop/generator.rb:156
def todo; end
# pkg:gem/rubocop#lib/rubocop/cop/generator.rb:127
@@ -6175,31 +6311,31 @@ class RuboCop::Cop::Generator
private
- # pkg:gem/rubocop#lib/rubocop/cop/generator.rb:166
+ # pkg:gem/rubocop#lib/rubocop/cop/generator.rb:170
def badge; end
- # pkg:gem/rubocop#lib/rubocop/cop/generator.rb:189
+ # pkg:gem/rubocop#lib/rubocop/cop/generator.rb:193
def generate(template); end
- # pkg:gem/rubocop#lib/rubocop/cop/generator.rb:181
+ # pkg:gem/rubocop#lib/rubocop/cop/generator.rb:185
def generated_source; end
- # pkg:gem/rubocop#lib/rubocop/cop/generator.rb:185
+ # pkg:gem/rubocop#lib/rubocop/cop/generator.rb:189
def generated_spec; end
- # pkg:gem/rubocop#lib/rubocop/cop/generator.rb:166
+ # pkg:gem/rubocop#lib/rubocop/cop/generator.rb:170
def output; end
- # pkg:gem/rubocop#lib/rubocop/cop/generator.rb:214
+ # pkg:gem/rubocop#lib/rubocop/cop/generator.rb:218
def snake_case(camel_case_string); end
- # pkg:gem/rubocop#lib/rubocop/cop/generator.rb:204
+ # pkg:gem/rubocop#lib/rubocop/cop/generator.rb:208
def source_path; end
- # pkg:gem/rubocop#lib/rubocop/cop/generator.rb:194
+ # pkg:gem/rubocop#lib/rubocop/cop/generator.rb:198
def spec_path; end
- # pkg:gem/rubocop#lib/rubocop/cop/generator.rb:168
+ # pkg:gem/rubocop#lib/rubocop/cop/generator.rb:172
def write_unless_file_exists(path, contents); end
end
@@ -6248,6 +6384,99 @@ end
# pkg:gem/rubocop#lib/rubocop/cop/generator/configuration_injector.rb:10
RuboCop::Cop::Generator::ConfigurationInjector::TEMPLATE = T.let(T.unsafe(nil), String)
+# A class that injects a `register_cop` directive into the cop's department module
+# so that the new cop is registered for lazy loading.
+# The directive is injected in alphabetical order among the existing directives without
+# reordering them, since the registration order defines the cop execution order.
+# When the department module file does not exist yet, it is created, and a require for
+# it is injected into the root RuboCop file.
+#
+# Anything unexpected in the department module, such as a commented-out or otherwise
+# unparsable `register_cop` line, raises an error instead of silently producing
+# a broken registration.
+#
+# pkg:gem/rubocop#lib/rubocop/cop/generator/registration_injector.rb:16
+class RuboCop::Cop::Generator::RegistrationInjector
+ # pkg:gem/rubocop#lib/rubocop/cop/generator/registration_injector.rb:25
+ def initialize(source_path:, badge:, root_file_path: T.unsafe(nil), output: T.unsafe(nil)); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/generator/registration_injector.rb:33
+ def inject; end
+
+ private
+
+ # pkg:gem/rubocop#lib/rubocop/cop/generator/registration_injector.rb:44
+ def badge; end
+
+ # The directive path is relative to the department module file's directory,
+ # which `__dir__` resolves to at load time.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/generator/registration_injector.rb:99
+ def cop_path; end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/generator/registration_injector.rb:57
+ def create_department_file; end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/generator/registration_injector.rb:44
+ def department_file_path; end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/generator/registration_injector.rb:152
+ def department_module_source; end
+
+ # The department requires form the contiguous block right before
+ # the `rubocop/cop/team` require in the root RuboCop file.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/generator/registration_injector.rb:120
+ def department_require_index(lines, require_directive); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/generator/registration_injector.rb:114
+ def directive; end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/generator/registration_injector.rb:136
+ def first_directive_position(lines); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/generator/registration_injector.rb:63
+ def inject_department_require; end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/generator/registration_injector.rb:46
+ def inject_directive; end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/generator/registration_injector.rb:103
+ def insertion_point(lines, entries); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/generator/registration_injector.rb:182
+ def module_closing_lines(modules); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/generator/registration_injector.rb:166
+ def module_opening_lines(modules); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/generator/registration_injector.rb:44
+ def output; end
+
+ # @return [Array] the `register_cop` entries with their line numbers
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/generator/registration_injector.rb:83
+ def parse_entries(lines); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/generator/registration_injector.rb:44
+ def root_file_path; end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/generator/registration_injector.rb:44
+ def source_path; end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/generator/registration_injector.rb:76
+ def write_department_file(lines); end
+end
+
+# pkg:gem/rubocop#lib/rubocop/cop/generator/registration_injector.rb:23
+RuboCop::Cop::Generator::RegistrationInjector::DEPARTMENT_REQUIRE_PATTERN = T.let(T.unsafe(nil), Regexp)
+
+# pkg:gem/rubocop#lib/rubocop/cop/generator/registration_injector.rb:18
+RuboCop::Cop::Generator::RegistrationInjector::ENTRY_PATTERN = T.let(T.unsafe(nil), Regexp)
+
+# pkg:gem/rubocop#lib/rubocop/cop/generator/registration_injector.rb:17
+RuboCop::Cop::Generator::RegistrationInjector::EXTEND_PATTERN = T.let(T.unsafe(nil), Regexp)
+
# A class that injects a require directive into the root RuboCop file.
# It looks for other directives that require files in the same (cop)
# namespace and injects the provided one in alpha
@@ -6333,30 +6562,30 @@ end
# This is a special case that just ensures the kwsplat is aligned with the rest of the hash
# since a `kwsplat` does not have a key, separator or value.
#
-# pkg:gem/rubocop#lib/rubocop/cop/mixin/hash_alignment_styles.rb:146
+# pkg:gem/rubocop#lib/rubocop/cop/mixin/hash_alignment_styles.rb:163
class RuboCop::Cop::HashAlignmentStyles::KeywordSplatAlignment
- # pkg:gem/rubocop#lib/rubocop/cop/mixin/hash_alignment_styles.rb:147
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/hash_alignment_styles.rb:164
def deltas(first_pair, current_pair); end
end
# Handles calculation of deltas when the enforced style is 'separator'.
#
-# pkg:gem/rubocop#lib/rubocop/cop/mixin/hash_alignment_styles.rb:121
+# pkg:gem/rubocop#lib/rubocop/cop/mixin/hash_alignment_styles.rb:138
class RuboCop::Cop::HashAlignmentStyles::SeparatorAlignment
include ::RuboCop::Cop::HashAlignmentStyles::ValueAlignment
- # pkg:gem/rubocop#lib/rubocop/cop/mixin/hash_alignment_styles.rb:124
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/hash_alignment_styles.rb:141
def deltas_for_first_pair(_first_pair); end
private
- # pkg:gem/rubocop#lib/rubocop/cop/mixin/hash_alignment_styles.rb:134
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/hash_alignment_styles.rb:151
def hash_rocket_delta(first_pair, current_pair); end
- # pkg:gem/rubocop#lib/rubocop/cop/mixin/hash_alignment_styles.rb:130
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/hash_alignment_styles.rb:147
def key_delta(first_pair, current_pair); end
- # pkg:gem/rubocop#lib/rubocop/cop/mixin/hash_alignment_styles.rb:138
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/hash_alignment_styles.rb:155
def value_delta(first_pair, current_pair); end
end
@@ -6377,13 +6606,25 @@ class RuboCop::Cop::HashAlignmentStyles::TableAlignment
# pkg:gem/rubocop#lib/rubocop/cop/mixin/hash_alignment_styles.rb:94
def key_delta(first_pair, current_pair); end
- # pkg:gem/rubocop#lib/rubocop/cop/mixin/hash_alignment_styles.rb:115
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/hash_alignment_styles.rb:132
def max_delimiter_width(hash_node); end
- # pkg:gem/rubocop#lib/rubocop/cop/mixin/hash_alignment_styles.rb:111
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/hash_alignment_styles.rb:128
def max_key_width(hash_node); end
- # pkg:gem/rubocop#lib/rubocop/cop/mixin/hash_alignment_styles.rb:103
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/hash_alignment_styles.rb:124
+ def multiline_key_end_columns(hash_node); end
+
+ # The column the separator should land on: the shared key margin
+ # plus the widest single-line key, or, if larger, a multiline key's
+ # own last-line end column. The latter can't be measured from a
+ # multiline key's (newline-including) source length, so it's a
+ # separate candidate rather than folded into `max_key_width`.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/hash_alignment_styles.rb:114
+ def target_operator_column(first_pair); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/hash_alignment_styles.rb:102
def value_delta(first_pair, current_pair); end
end
@@ -6894,7 +7135,7 @@ end
# @deprecated IgnoredPattern class has been replaced with AllowedPattern.
#
-# pkg:gem/rubocop#lib/rubocop/cop/mixin/allowed_pattern.rb:66
+# pkg:gem/rubocop#lib/rubocop/cop/mixin/allowed_pattern.rb:70
RuboCop::Cop::IgnoredPattern = RuboCop::Cop::AllowedPattern
# Common functionality for checking integer nodes.
@@ -7002,8 +7243,13 @@ class RuboCop::Cop::LambdaLiteralToMethodCorrector
def separating_space?; end
end
-# pkg:gem/rubocop#lib/rubocop/cop/mixin/empty_lines_around_body.rb:5
-module RuboCop::Cop::Layout; end
+# Cops for the `Layout` department. The department's cops are registered for lazy loading
+# and their files are loaded on demand.
+#
+# pkg:gem/rubocop#lib/rubocop/cop/layout.rb:7
+module RuboCop::Cop::Layout
+ extend ::RuboCop::Cop::LazyLoader
+end
# Bare access modifiers (those not applying to specific methods) should be
# indented as deep as method definitions, or as deep as the `class`/`module`
@@ -7913,16 +8159,16 @@ class RuboCop::Cop::Layout::ClassStructure < ::RuboCop::Cop::Base
# pkg:gem/rubocop#lib/rubocop/cop/layout/class_structure.rb:209
def autocorrect(corrector, node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/class_structure.rb:351
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/class_structure.rb:357
def begin_pos_with_comment(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/class_structure.rb:374
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/class_structure.rb:380
def buffer; end
# Setting categories hash allow you to group methods in group to match
# in the {expected_order}.
#
- # pkg:gem/rubocop#lib/rubocop/cop/layout/class_structure.rb:386
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/class_structure.rb:392
def categories; end
# pkg:gem/rubocop#lib/rubocop/cop/layout/class_structure.rb:276
@@ -7939,22 +8185,22 @@ class RuboCop::Cop::Layout::ClassStructure < ::RuboCop::Cop::Base
# pkg:gem/rubocop#lib/rubocop/cop/layout/class_structure.rb:229
def classify(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/class_structure.rb:317
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/class_structure.rb:323
def dynamic_constant?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/class_structure.rb:341
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/class_structure.rb:347
def end_position_for(node); end
# Load expected order from `ExpectedOrder` config.
# Define new terms in the expected order by adding new {categories}.
#
- # pkg:gem/rubocop#lib/rubocop/cop/layout/class_structure.rb:380
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/class_structure.rb:386
def expected_order; end
# pkg:gem/rubocop#lib/rubocop/cop/layout/class_structure.rb:261
def find_category(name); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/class_structure.rb:370
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/class_structure.rb:376
def find_heredoc(node); end
# Categorize a node according to the {expected_order}
@@ -7966,28 +8212,31 @@ class RuboCop::Cop::Layout::ClassStructure < ::RuboCop::Cop::Base
# pkg:gem/rubocop#lib/rubocop/cop/layout/class_structure.rb:248
def find_send_node_category(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/class_structure.rb:308
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/class_structure.rb:299
+ def flatten_class_elements(node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/class_structure.rb:314
def humanize_node(node); end
# pkg:gem/rubocop#lib/rubocop/cop/layout/class_structure.rb:292
def ignore?(node, classification); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/class_structure.rb:299
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/class_structure.rb:305
def ignore_for_autocorrect?(node, sibling); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/class_structure.rb:335
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/class_structure.rb:341
def marked_as_private_constant?(node, name); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/class_structure.rb:325
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/class_structure.rb:331
def private_constant?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/class_structure.rb:366
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/class_structure.rb:372
def start_line_position(node); end
# pkg:gem/rubocop#lib/rubocop/cop/layout/class_structure.rb:267
def walk_over_nested_class_definition(class_node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/class_structure.rb:362
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/class_structure.rb:368
def whole_line_comment_at_line?(line); end
end
@@ -8276,6 +8525,14 @@ class RuboCop::Cop::Layout::CommentIndentation < ::RuboCop::Cop::Base
# pkg:gem/rubocop#lib/rubocop/cop/layout/comment_indentation.rb:71
def autocorrect_preceding_comments(corrector, comment); end
+ # Only a bare access modifier (the keyword alone on its line) is outdented by
+ # `Layout/AccessModifierIndentation`. An inline modifier such as `private def foo`
+ # keeps the regular method indentation, so a comment above it must not be pushed
+ # one level deeper.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/comment_indentation.rb:165
+ def bare_access_modifier?(line); end
+
# pkg:gem/rubocop#lib/rubocop/cop/layout/comment_indentation.rb:92
def check(comment, comment_index); end
@@ -8305,7 +8562,7 @@ class RuboCop::Cop::Layout::CommentIndentation < ::RuboCop::Cop::Base
# pkg:gem/rubocop#lib/rubocop/cop/layout/comment_indentation.rb:82
def should_correct?(preceding_comment, reference_comment); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/comment_indentation.rb:162
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/comment_indentation.rb:169
def two_alternatives?(line); end
end
@@ -8537,13 +8794,10 @@ class RuboCop::Cop::Layout::ElseAlignment < ::RuboCop::Cop::Base
private
- # pkg:gem/rubocop#lib/rubocop/cop/layout/else_alignment.rb:147
- def assignment_node(node); end
-
# pkg:gem/rubocop#lib/rubocop/cop/layout/else_alignment.rb:71
def autocorrect(corrector, node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/else_alignment.rb:106
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/else_alignment.rb:100
def base_for_method_definition(node); end
# pkg:gem/rubocop#lib/rubocop/cop/layout/else_alignment.rb:80
@@ -8552,10 +8806,10 @@ class RuboCop::Cop::Layout::ElseAlignment < ::RuboCop::Cop::Base
# pkg:gem/rubocop#lib/rubocop/cop/layout/else_alignment.rb:89
def base_range_of_rescue(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/else_alignment.rb:131
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/else_alignment.rb:125
def check_alignment(base_range, else_range); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/else_alignment.rb:115
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/else_alignment.rb:109
def check_assignment(node, rhs); end
# pkg:gem/rubocop#lib/rubocop/cop/layout/else_alignment.rb:75
@@ -12141,115 +12395,115 @@ class RuboCop::Cop::Layout::IndentationWidth < ::RuboCop::Cop::Base
private
- # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:277
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:279
def access_modifier_indentation_style; end
# pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:206
def autocorrect(corrector, node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:503
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:505
def block_body_indentation_base(node, end_loc); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:285
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:287
def check_assignment(node, rhs); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:305
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:307
def check_if(node, body, else_clause, base_loc); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:318
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:320
def check_indentation(base_loc, body_node, style = T.unsafe(nil)); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:219
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:221
def check_members(base, members); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:243
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:245
def check_members_for_indented_internal_methods_style(members); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:249
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:251
def check_members_for_normal_style(base, members); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:412
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:414
def check_rescue?(rescue_node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:468
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:470
def column_offset_between(base_range, range); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:454
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:456
def contains_access_modifier?(body_node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:515
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:517
def dot_on_new_line?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:257
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:259
def each_member(members); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:281
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:283
def indentation_consistency_style; end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:460
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:462
def indentation_style; end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:395
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:397
def indentation_to_check?(base_loc, body_node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:269
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:271
def indented_internal_methods_style?; end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:497
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:499
def leftmost_modifier_of(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:479
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:481
def line_indentation(range); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:484
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:486
def line_uses_tabs?(range); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:352
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:354
def message(configured_indentation_width, indentation, name); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:373
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:375
def message_for_spaces(configured_indentation_width, indentation, name); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:360
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:362
def message_for_tabs(configured_indentation_width, indentation, name); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:431
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:433
def offending_range(body_node, indentation); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:328
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:330
def offense(body_node, indentation, style); end
# Returns a range at the first non-space column of the line the opening parenthesis is on,
# used as the base to indent the body from.
#
- # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:214
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:216
def opening_line_start(begin_loc); end
# Returns true if the given node is within another node that has
# already been marked for autocorrection by this cop.
#
- # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:385
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:387
def other_offense_in_same_range?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:231
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:233
def select_check_member(member); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:523
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:525
def selector_on_new_line?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:416
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:418
def skip_check?(base_loc, body_node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:273
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:275
def special_modifier?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:445
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:447
def starts_with_access_modifier?(body_node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:464
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:466
def using_tabs?; end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:488
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/indentation_width.rb:490
def visual_column(range); end
end
@@ -12385,66 +12639,90 @@ RuboCop::Cop::Layout::InitialIndentation::MSG = T.let(T.unsafe(nil), String)
#
# name = 'John' #: String
#
-# pkg:gem/rubocop#lib/rubocop/cop/layout/leading_comment_space.rb:101
+# @example AllowYARDCommentBlockSeparator: false (default)
+#
+# # bad
+#
+# # Copyright (c) Example Corp
+# #-
+# class Client
+# end
+#
+# @example AllowYARDCommentBlockSeparator: true
+#
+# # good
+#
+# # Copyright (c) Example Corp
+# #-
+# class Client
+# end
+#
+# pkg:gem/rubocop#lib/rubocop/cop/layout/leading_comment_space.rb:119
class RuboCop::Cop::Layout::LeadingCommentSpace < ::RuboCop::Cop::Base
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector
- # pkg:gem/rubocop#lib/rubocop/cop/layout/leading_comment_space.rb:107
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/leading_comment_space.rb:125
def on_new_investigation; end
private
- # pkg:gem/rubocop#lib/rubocop/cop/layout/leading_comment_space.rb:161
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/leading_comment_space.rb:180
def allow_doxygen_comment?; end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/leading_comment_space.rb:169
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/leading_comment_space.rb:188
def allow_gemfile_ruby_comment?; end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/leading_comment_space.rb:185
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/leading_comment_space.rb:204
def allow_rbs_inline_annotation?; end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/leading_comment_space.rb:193
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/leading_comment_space.rb:212
def allow_steep_annotation?; end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/leading_comment_space.rb:131
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/leading_comment_space.rb:220
+ def allow_yard_comment_block_separator?; end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/leading_comment_space.rb:150
def allowed_on_first_line?(comment); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/leading_comment_space.rb:165
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/leading_comment_space.rb:184
def doxygen_comment_style?(comment); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/leading_comment_space.rb:173
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/leading_comment_space.rb:192
def gemfile?; end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/leading_comment_space.rb:181
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/leading_comment_space.rb:200
def gemfile_ruby_comment?(comment); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/leading_comment_space.rb:127
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/leading_comment_space.rb:146
def hash_mark(expr); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/leading_comment_space.rb:157
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/leading_comment_space.rb:176
def rackup_config_file?; end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/leading_comment_space.rb:153
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/leading_comment_space.rb:172
def rackup_options?(comment); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/leading_comment_space.rb:189
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/leading_comment_space.rb:208
def rbs_inline_annotation?(comment); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/leading_comment_space.rb:177
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/leading_comment_space.rb:196
def ruby_comment_in_gemfile?(comment); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/leading_comment_space.rb:135
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/leading_comment_space.rb:154
def shebang?(comment); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/leading_comment_space.rb:139
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/leading_comment_space.rb:158
def shebang_continuation?(comment); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/leading_comment_space.rb:197
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/leading_comment_space.rb:216
def steep_annotation?(comment); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/leading_comment_space.rb:224
+ def yard_comment_block_separator?(comment); end
end
-# pkg:gem/rubocop#lib/rubocop/cop/layout/leading_comment_space.rb:105
+# pkg:gem/rubocop#lib/rubocop/cop/layout/leading_comment_space.rb:123
RuboCop::Cop::Layout::LeadingCommentSpace::MSG = T.let(T.unsafe(nil), String)
# Checks for unnecessary leading blank lines at the beginning
@@ -12830,98 +13108,96 @@ class RuboCop::Cop::Layout::LineLength < ::RuboCop::Cop::Base
include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::Alignment
include ::RuboCop::Cop::LineLengthHelp
+ include ::RuboCop::Cop::EndlessMethodRewriter
extend ::RuboCop::Cop::AutoCorrector
- # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:70
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:71
def max=(value); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:91
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:92
def on_array(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:74
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:75
def on_block(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:94
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:95
def on_csend(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:95
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:97
def on_def(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:96
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:104
def on_defs(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:84
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:85
def on_dstr(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:92
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:93
def on_hash(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:104
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:112
def on_investigation_end; end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:78
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:79
def on_itblock(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:98
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:106
def on_new_investigation; end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:77
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:78
def on_numblock(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:88
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:89
def on_potential_breakable_node(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:93
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:94
def on_send(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:80
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:81
def on_str(node); end
private
- # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:316
- def allow_heredoc?; end
-
- # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:324
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:401
def allow_string_split?; end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:391
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:464
def allowed_combination?(line, uri_range, qualified_name_range); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:320
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:397
def allowed_heredoc; end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:272
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:353
def allowed_line?(line, line_index); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:182
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:254
def breakable_block_range(block_node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:403
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:476
def breakable_dstr?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:231
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:303
def breakable_dstr_begin_position(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:112
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:120
def breakable_range; end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:112
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:120
def breakable_range=(_arg0); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:190
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:262
def breakable_range_after_semicolon(semicolon_token); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:236
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:308
def breakable_range_by_line_index; end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:173
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:245
def breakable_string?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:240
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:316
def breakable_string_delimiters; end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:203
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:275
def breakable_string_position(node); end
# Locate where to break a string that is too long, ensuring that escape characters
@@ -12929,79 +13205,100 @@ class RuboCop::Cop::Layout::LineLength < ::RuboCop::Cop::Base
# If the string contains spaces, use them to determine a place for a clean break;
# otherwise, the string will be broken at the line length limit.
#
- # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:215
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:287
def breakable_string_range(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:358
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:431
def check_directive_line(line, line_index); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:135
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:207
def check_for_breakable_block(block_node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:158
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:230
def check_for_breakable_dstr(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:114
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:186
def check_for_breakable_node(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:127
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:199
def check_for_breakable_semicolons(processed_source); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:146
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:218
def check_for_breakable_str(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:256
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:332
def check_line(line, line_index); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:375
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:448
def check_line_for_exemptions(line, line_index); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:300
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:174
+ def correct_endless_method_block_to_multiline(corrector, node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:164
+ def correctable_endless_method_block?(node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:312
+ def endless_methods_by_line; end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:381
def excess_range(uri_range, line, line_index); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:328
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:405
def extract_heredocs(ast); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:244
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:127
+ def handle_endless_method_line(line, line_index); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:320
def heredocs; end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:248
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:324
def highlight_start(line); end
# Find the largest possible substring of a string node to retain before a break
#
- # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:419
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:492
def largest_possible_string(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:347
- def line_in_heredoc?(line_number); end
-
- # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:338
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:415
def line_in_permitted_heredoc?(line_number); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:311
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:392
def max; end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:314
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:395
def max_line_length; end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:385
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:458
def range_if_applicable(line, type); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:351
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:424
def receiver_contains_heredoc?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:282
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:140
+ def register_endless_method_offense(line, line_index); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:363
def register_offense(loc, line, line_index, length: T.unsafe(nil)); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:278
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:151
+ def register_required_endless_method_offense(line, line_index); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:135
+ def require_endless_methods?; end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:359
def shebang?(line, line_index); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:408
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:481
def string_delimiter(node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:122
+ def track_endless_method(node); end
end
-# pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:72
+# pkg:gem/rubocop#lib/rubocop/cop/layout/line_length.rb:73
RuboCop::Cop::Layout::LineLength::MSG = T.let(T.unsafe(nil), String)
# Checks that the closing brace in an array literal is either
@@ -13801,155 +14098,158 @@ class RuboCop::Cop::Layout::MultilineMethodCallIndentation < ::RuboCop::Cop::Bas
private
- # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:191
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:196
def after_multiline_block_base(first_call, node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:280
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:285
def align_with_base_message(rhs); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:219
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:224
def aligned_with_first_line_dot?(node, rhs); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:302
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:307
def alignment_base(node, rhs, given_style); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:361
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:366
def alignment_base_for_chained_receiver?(receiver_chain, base_receiver); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:83
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:88
def autocorrect(corrector, node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:284
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:289
def base_source; end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:242
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:247
def calculate_column_delta_offense(rhs, correct_column); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:157
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:162
def check_hash_pair_indentation(node, lhs, rhs); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:148
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:153
def check_hash_pair_indented_style(rhs, pair_ancestor); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:229
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:234
def check_regular_indentation(node, lhs, rhs, given_style); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:98
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:103
def correct_block(corrector, block_node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:92
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:97
def correct_selector_only(corrector, node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:247
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:252
def extra_indentation(given_style, parent); end
# pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:69
def find_base_receiver(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:406
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:411
def find_continuation_node(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:207
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:212
def find_enclosing_chain_call(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:349
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:354
def find_hash_method_base_in_receiver_chain(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:167
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:172
def find_hash_pair_alignment_base(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:400
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:405
def find_multiline_block_chain_node(node); end
# pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:75
def find_pair_ancestor(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:374
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:379
def first_call_alignment_node(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:430
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:445
def first_call_has_a_dot(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:175
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:180
def first_dot_alignment_base(node, rhs); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:391
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:396
def get_dot_right_above(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:420
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:435
def handle_descendant_block(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:215
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:220
def hash_arg_in_chain?(call, hash_node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:140
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:145
def hash_pair_aligned?(pair_ancestor, given_style); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:144
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:149
def hash_pair_indented?(node, pair_ancestor, given_style); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:200
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:205
def inside_multiline_chain_arg?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:257
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:425
+ def leftmost_call_on_same_line(node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:262
def message(node, lhs, rhs); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:385
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:390
def method_on_receiver_last_line?(node, base_receiver, type); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:288
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:293
def no_base_message(lhs, rhs, node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:120
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:125
def offending_range(node, lhs, rhs, given_style); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:437
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:452
def operation_rhs(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:447
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:462
def operator_rhs?(node, receiver); end
# a
# .b
# .c
#
- # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:341
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:346
def receiver_alignment_base(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:275
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:280
def relative_to_receiver_message(rhs); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:104
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:109
def relevant_node?(send_node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:108
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:113
def right_hand_side(send_node); end
# a.b
# .c
#
- # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:329
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:334
def semantic_alignment_base(node, rhs); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:366
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:371
def semantic_alignment_node(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:271
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:276
def should_align_with_base?; end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:267
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:272
def should_indent_relative_to_receiver?; end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:416
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:421
def single_line_block_receiver?(receiver); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:136
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:141
def skip_for_context?(node, pair_ancestor); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:311
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:316
def syntactic_alignment_base(lhs, rhs); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:79
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/multiline_method_call_indentation.rb:84
def unwrap_block_node(node); end
end
@@ -14373,51 +14673,90 @@ RuboCop::Cop::Layout::ParameterAlignment::FIXED_INDENT_MSG = T.let(T.unsafe(nil)
class RuboCop::Cop::Layout::RedundantLineBreak < ::RuboCop::Cop::Base
include ::RuboCop::Cop::CheckAssignment
include ::RuboCop::Cop::CheckSingleLineSuitability
+ include ::RuboCop::Cop::ReparsedEquivalence
extend ::RuboCop::Cop::AutoCorrector
- # pkg:gem/rubocop#lib/rubocop/cop/layout/redundant_line_break.rb:70
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/redundant_line_break.rb:71
def on_csend(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/redundant_line_break.rb:56
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/redundant_line_break.rb:57
def on_lvasgn(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/redundant_line_break.rb:60
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/redundant_line_break.rb:61
def on_send(node); end
private
- # pkg:gem/rubocop#lib/rubocop/cop/layout/redundant_line_break.rb:78
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/redundant_line_break.rb:97
+ def apply_reparse_correction(corrector, node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/redundant_line_break.rb:79
def check_assignment(node, _rhs); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/redundant_line_break.rb:108
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/redundant_line_break.rb:185
def configured_to_not_be_inspected?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/redundant_line_break.rb:127
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/redundant_line_break.rb:204
def convertible_block?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/redundant_line_break.rb:74
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/redundant_line_break.rb:75
def end_with_percent_blank_string?(processed_source); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/redundant_line_break.rb:102
+ # Joining lines merges split string literals (`"a" \ "b"` into
+ # `"ab"`) and turns mixed-quote pairs into `+` concatenation, which
+ # changes the tree but not the resulting string. Normalize all string
+ # concatenation to a canonical form before comparing: nested
+ # concatenations are flattened and adjacent literal parts merged.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/redundant_line_break.rb:118
+ def fold_string_concatenation(node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/redundant_line_break.rb:179
def index_access_call_chained?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/redundant_line_break.rb:91
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/redundant_line_break.rb:154
+ def merge_plain_strings(chunk); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/redundant_line_break.rb:145
+ def merge_string_parts(parts); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/redundant_line_break.rb:109
+ def normalize_reparsed_ast(node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/redundant_line_break.rb:168
def offense?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/redundant_line_break.rb:115
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/redundant_line_break.rb:192
def other_cop_takes_precedence?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/redundant_line_break.rb:84
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/redundant_line_break.rb:164
+ def plain_string?(node); end
+
+ # Joining lines shifts the value of any later `__LINE__`, exactly as
+ # any other line-removing correction does; neutralize it on both sides
+ # with an identifier, which stays valid in every position the keyword
+ # can appear in.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/redundant_line_break.rb:105
+ def preprocess_reparsed_source(source); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/redundant_line_break.rb:85
def register_offense(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/redundant_line_break.rb:98
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/redundant_line_break.rb:175
def require_backslash?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/redundant_line_break.rb:123
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/redundant_line_break.rb:200
def single_line_block_chain_enabled?; end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/redundant_line_break.rb:135
+ def string_concatenation_parts(node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/redundant_line_break.rb:160
+ def stringish?(node); end
end
-# pkg:gem/rubocop#lib/rubocop/cop/layout/redundant_line_break.rb:54
+# pkg:gem/rubocop#lib/rubocop/cop/layout/redundant_line_break.rb:55
RuboCop::Cop::Layout::RedundantLineBreak::MSG = T.let(T.unsafe(nil), String)
# Checks whether the rescue and ensure keywords are aligned
@@ -15685,17 +16024,17 @@ class RuboCop::Cop::Layout::SpaceInsideArrayLiteralBrackets < ::RuboCop::Cop::Ba
# pkg:gem/rubocop#lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb:110
def autocorrect(corrector, node); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb:232
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb:231
def compact(corrector, bracket, side); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb:218
- def compact_corrections(corrector, node, left, right); end
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb:217
+ def compact_corrections(corrector, tokens, left, right); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb:210
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb:209
def compact_offense(node, token, side: T.unsafe(nil)); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb:172
- def compact_offenses(node, left, right, start_ok, end_ok); end
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb:175
+ def compact_offenses(node, tokens, left, right, start_ok, end_ok); end
# pkg:gem/rubocop#lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb:133
def empty_config; end
@@ -15707,28 +16046,25 @@ class RuboCop::Cop::Layout::SpaceInsideArrayLiteralBrackets < ::RuboCop::Cop::Ba
def find_node_with_brackets(node); end
# pkg:gem/rubocop#lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb:148
- def index_for(node, token); end
+ def index_for(tokens, token); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb:156
- def issue_offenses(node, left, right, start_ok, end_ok); end
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb:157
+ def issue_offenses(node, tokens, left, right, start_ok, end_ok); end
# pkg:gem/rubocop#lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb:152
def line_and_column_for(token); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb:193
- def multi_dimensional_array?(node, token, side: T.unsafe(nil)); end
-
- # pkg:gem/rubocop#lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb:204
- def next_to_bracket?(token, side: T.unsafe(nil)); end
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb:198
+ def multi_dimensional_array?(tokens, token, side: T.unsafe(nil)); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb:168
- def next_to_comment?(node, token); end
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb:170
+ def next_to_comment?(tokens, token); end
# pkg:gem/rubocop#lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb:137
- def next_to_newline?(node, token); end
+ def next_to_newline?(tokens, token); end
- # pkg:gem/rubocop#lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb:185
- def qualifies_for_compact?(node, token, side: T.unsafe(nil)); end
+ # pkg:gem/rubocop#lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb:190
+ def qualifies_for_compact?(tokens, token, side: T.unsafe(nil)); end
end
# pkg:gem/rubocop#lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb:84
@@ -16528,6 +16864,38 @@ end
# pkg:gem/rubocop#lib/rubocop/cop/layout/trailing_whitespace.rb:47
RuboCop::Cop::Layout::TrailingWhitespace::MSG = T.let(T.unsafe(nil), String)
+# Extend a department module with this module and call `register_cop` to register
+# the department's cops with the global registry without loading their files until
+# a cop class itself is needed:
+#
+# module RuboCop
+# module Cop
+# # The Foo department.
+# module Foo
+# extend LazyLoader
+#
+# register_cop :BarBaz, "#{__dir__}/foo/bar_baz"
+# end
+# end
+# end
+#
+# pkg:gem/rubocop#lib/rubocop/cop/lazy_loader.rb:19
+module RuboCop::Cop::LazyLoader
+ # Registers a cop for lazy loading. The cop appears in the registry by name right away,
+ # but its file is loaded only when the cop class is needed, e.g. when the cop is enabled
+ # for an inspection run.
+ #
+ # The path must be absolute so that loading does not depend on `$LOAD_PATH` and cannot resolve
+ # to another RuboCop installation.
+ #
+ # @param constant_name [Symbol] name of the cop class, e.g. `:BarBaz`
+ # @param path [String] absolute path to the file defining the cop class,
+ # with or without the `.rb` extension
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/lazy_loader.rb:30
+ def register_cop(constant_name, path); end
+end
+
# pkg:gem/rubocop#lib/rubocop/cop/legacy/corrections_proxy.rb:5
module RuboCop::Cop::Legacy; end
@@ -16658,8 +17026,13 @@ module RuboCop::Cop::LineLengthHelp
def valid_uri?(uri_ish_string); end
end
-# pkg:gem/rubocop#lib/rubocop/cop/mixin/unused_argument.rb:5
-module RuboCop::Cop::Lint; end
+# Cops for the `Lint` department. The department's cops are registered for lazy loading
+# and their files are loaded on demand.
+#
+# pkg:gem/rubocop#lib/rubocop/cop/lint.rb:7
+module RuboCop::Cop::Lint
+ extend ::RuboCop::Cop::LazyLoader
+end
# Checks for mistyped shorthand assignments.
#
@@ -16678,39 +17051,32 @@ module RuboCop::Cop::Lint; end
#
# pkg:gem/rubocop#lib/rubocop/cop/lint/ambiguous_assignment.rb:21
class RuboCop::Cop::Lint::AmbiguousAssignment < ::RuboCop::Cop::Base
+ include ::RuboCop::Cop::CheckAssignment
include ::RuboCop::Cop::RangeHelp
- # pkg:gem/rubocop#lib/rubocop/cop/lint/ambiguous_assignment.rb:30
- def on_asgn(node); end
-
- # pkg:gem/rubocop#lib/rubocop/cop/lint/ambiguous_assignment.rb:40
- def on_casgn(node); end
-
- # pkg:gem/rubocop#lib/rubocop/cop/lint/ambiguous_assignment.rb:40
- def on_cvasgn(node); end
-
- # pkg:gem/rubocop#lib/rubocop/cop/lint/ambiguous_assignment.rb:40
- def on_gvasgn(node); end
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/ambiguous_assignment.rb:29
+ def on_csend(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/ambiguous_assignment.rb:40
- def on_ivasgn(node); end
+ private
- # pkg:gem/rubocop#lib/rubocop/cop/lint/ambiguous_assignment.rb:40
- def on_lvasgn(node); end
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/ambiguous_assignment.rb:33
+ def check_assignment(node, rhs); end
end
-# pkg:gem/rubocop#lib/rubocop/cop/lint/ambiguous_assignment.rb:28
+# pkg:gem/rubocop#lib/rubocop/cop/lint/ambiguous_assignment.rb:27
RuboCop::Cop::Lint::AmbiguousAssignment::MISTAKES = T.let(T.unsafe(nil), Hash)
-# pkg:gem/rubocop#lib/rubocop/cop/lint/ambiguous_assignment.rb:24
+# pkg:gem/rubocop#lib/rubocop/cop/lint/ambiguous_assignment.rb:25
RuboCop::Cop::Lint::AmbiguousAssignment::MSG = T.let(T.unsafe(nil), String)
-# pkg:gem/rubocop#lib/rubocop/cop/lint/ambiguous_assignment.rb:26
-RuboCop::Cop::Lint::AmbiguousAssignment::SIMPLE_ASSIGNMENT_TYPES = T.let(T.unsafe(nil), Array)
-
# Checks for ambiguous block association with method
# when param passed without parentheses.
#
+# This cop also detects `do...end` blocks that are likely intended for
+# an enumerable method in the arguments but actually bind to the outer
+# method call. For example, in `render json: data.map do |x| x end`,
+# Ruby parses the `do...end` block as belonging to `render`, not `map`.
+#
# This cop can customize allowed methods with `AllowedMethods`.
# By default, there are no allowed methods.
#
@@ -16725,6 +17091,18 @@ RuboCop::Cop::Lint::AmbiguousAssignment::SIMPLE_ASSIGNMENT_TYPES = T.let(T.unsaf
# # or (different meaning)
# some_method(a) { |val| puts val }
#
+# # bad
+# render json: data.map do |item|
+# item.to_h
+# end
+#
+# # good
+# render json: data.map { |item| item.to_h }
+#
+# # good
+# mapped = data.map { |item| item.to_h }
+# render json: mapped
+#
# # good
# # Operator methods require no disambiguation
# foo == bar { |b| b.baz }
@@ -16754,36 +17132,62 @@ RuboCop::Cop::Lint::AmbiguousAssignment::SIMPLE_ASSIGNMENT_TYPES = T.let(T.unsaf
# expect { do_something }.to change { object.attribute }
# expect { do_something }.to not_change { object.attribute }
#
-# pkg:gem/rubocop#lib/rubocop/cop/lint/ambiguous_block_association.rb:52
+# pkg:gem/rubocop#lib/rubocop/cop/lint/ambiguous_block_association.rb:69
class RuboCop::Cop::Lint::AmbiguousBlockAssociation < ::RuboCop::Cop::Base
include ::RuboCop::Cop::AllowedMethods
include ::RuboCop::Cop::AllowedPattern
extend ::RuboCop::Cop::AutoCorrector
- # pkg:gem/rubocop#lib/rubocop/cop/lint/ambiguous_block_association.rb:75
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/ambiguous_block_association.rb:107
+ def on_block(node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/ambiguous_block_association.rb:105
def on_csend(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/ambiguous_block_association.rb:62
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/ambiguous_block_association.rb:120
+ def on_itblock(node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/ambiguous_block_association.rb:119
+ def on_numblock(node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/ambiguous_block_association.rb:92
def on_send(node); end
private
- # pkg:gem/rubocop#lib/rubocop/cop/lint/ambiguous_block_association.rb:83
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/ambiguous_block_association.rb:141
def allowed_method_pattern?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/ambiguous_block_association.rb:79
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/ambiguous_block_association.rb:137
def ambiguous_block_association?(send_node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/ambiguous_block_association.rb:89
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/ambiguous_block_association.rb:124
+ def find_ambiguous_block_method(block_node); end
+
+ # Only the call the `do` block could actually have attached to is a candidate:
+ # the one whose source ends where the arguments end. This skips calls chained
+ # into another call (`foo bar.map.to_a`) and calls buried inside a
+ # parenthesized subcall (`foo bar(baz.map)`), which were never block candidates.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/ambiguous_block_association.rb:157
+ def find_block_method_arg(send_node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/ambiguous_block_association.rb:147
def message(send_node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/ambiguous_block_association.rb:95
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/ambiguous_block_association.rb:166
def wrap_in_parentheses(corrector, node); end
end
-# pkg:gem/rubocop#lib/rubocop/cop/lint/ambiguous_block_association.rb:58
+# pkg:gem/rubocop#lib/rubocop/cop/lint/ambiguous_block_association.rb:82
+RuboCop::Cop::Lint::AmbiguousBlockAssociation::BLOCK_METHODS = T.let(T.unsafe(nil), Set)
+
+# pkg:gem/rubocop#lib/rubocop/cop/lint/ambiguous_block_association.rb:75
RuboCop::Cop::Lint::AmbiguousBlockAssociation::MSG = T.let(T.unsafe(nil), String)
+# pkg:gem/rubocop#lib/rubocop/cop/lint/ambiguous_block_association.rb:78
+RuboCop::Cop::Lint::AmbiguousBlockAssociation::MSG_DO_END_BLOCK = T.let(T.unsafe(nil), String)
+
# Checks for ambiguous operators in the first argument of a
# method invocation without parentheses.
#
@@ -17648,9 +18052,6 @@ class RuboCop::Cop::Lint::ConstantReassignment < ::RuboCop::Cop::Base
# pkg:gem/rubocop#lib/rubocop/cop/lint/constant_reassignment.rb:201
def identifier_namespaces(identifier); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/constant_reassignment.rb:219
- def prior_definition_in_other_file(declaration); end
-
# pkg:gem/rubocop#lib/rubocop/cop/lint/constant_reassignment.rb:209
def report_cross_file_collision(node, fully_qualified_name, display_name); end
@@ -17687,6 +18088,12 @@ RuboCop::Cop::Lint::ConstantReassignment::RESTRICT_ON_SEND = T.let(T.unsafe(nil)
# to prevent conflicting rules. This is because it respects user configurations
# that want to enable this cop which is disabled by default.
#
+# When `AllCops/UseProjectIndex` is enabled and the `rubydex` gem is
+# installed, only genuinely ambiguous constants are reported: those
+# that resolve to a different declaration through the surrounding
+# nesting than they would fully qualified. This makes the cop practical
+# to enable without `Only`/`Ignore` lists.
+#
# @example
# # By default checks every constant
#
@@ -17726,27 +18133,39 @@ RuboCop::Cop::Lint::ConstantReassignment::RESTRICT_ON_SEND = T.let(T.unsafe(nil)
# # good
# Login
#
-# pkg:gem/rubocop#lib/rubocop/cop/lint/constant_resolution.rb:62
+# pkg:gem/rubocop#lib/rubocop/cop/lint/constant_resolution.rb:68
class RuboCop::Cop::Lint::ConstantResolution < ::RuboCop::Cop::Base
- # pkg:gem/rubocop#lib/rubocop/cop/lint/constant_resolution.rb:70
+ include ::RuboCop::Cop::ProjectIndexHelp
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/constant_resolution.rb:78
def on_const(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/constant_resolution.rb:66
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/constant_resolution.rb:74
def unqualified_const?(param0 = T.unsafe(nil)); end
private
- # pkg:gem/rubocop#lib/rubocop/cop/lint/constant_resolution.rb:83
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/constant_resolution.rb:108
def allowed_names; end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/constant_resolution.rb:78
+ # When `AllCops/UseProjectIndex` is enabled, only genuinely ambiguous
+ # references are reported: the constant resolves to a different
+ # declaration through the lexical nesting than it would fully
+ # qualified. Names that resolve identically either way, or that the
+ # index cannot resolve at all (e.g. constants from gems), are not
+ # reported.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/constant_resolution.rb:93
+ def ambiguous_resolution?(node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/constant_resolution.rb:103
def const_name?(name); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/constant_resolution.rb:87
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/constant_resolution.rb:112
def ignored_names; end
end
-# pkg:gem/rubocop#lib/rubocop/cop/lint/constant_resolution.rb:63
+# pkg:gem/rubocop#lib/rubocop/cop/lint/constant_resolution.rb:71
RuboCop::Cop::Lint::ConstantResolution::MSG = T.let(T.unsafe(nil), String)
# are strictly formatted.
@@ -17916,28 +18335,35 @@ class RuboCop::Cop::Lint::Debugger < ::RuboCop::Cop::Base
private
- # pkg:gem/rubocop#lib/rubocop/cop/lint/debugger.rb:135
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/debugger.rb:147
def assumed_argument?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/debugger.rb:114
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/debugger.rb:126
def assumed_usage_context?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/debugger.rb:124
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/debugger.rb:136
def chained_method_name(send_node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/debugger.rb:103
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/debugger.rb:104
def debugger_method?(send_node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/debugger.rb:89
+ # The last segment of each configured debugger method, used to cheaply
+ # rule out the vast majority of `send` nodes before building the
+ # chained method name.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/debugger.rb:113
+ def debugger_method_names; end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/debugger.rb:90
def debugger_methods; end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/debugger.rb:107
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/debugger.rb:119
def debugger_require?(send_node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/debugger.rb:96
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/debugger.rb:97
def debugger_requires; end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/debugger.rb:85
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/debugger.rb:86
def message(node); end
end
@@ -18139,6 +18565,121 @@ RuboCop::Cop::Lint::DeprecatedOpenSSLConstant::NO_ARG_ALGORITHM = T.let(T.unsafe
# pkg:gem/rubocop#lib/rubocop/cop/lint/deprecated_open_ssl_constant.rb:36
RuboCop::Cop::Lint::DeprecatedOpenSSLConstant::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
+# Checks for calls to methods and references to constants that are documented
+# as deprecated with a YARD `@deprecated` tag.
+#
+# The check is powered by the project-wide index, so it only runs when
+# `AllCops/UseProjectIndex` is enabled and the `rubydex` gem is installed.
+# Without the index the cop does nothing.
+#
+# Only references that can be resolved without type inference are checked:
+# constants, method calls without an explicit receiver (or with `self`),
+# which are looked up in the enclosing class or module and its ancestry,
+# and calls whose receiver is a constant, which are looked up in that
+# namespace's singleton class. Calls on arbitrary objects are not checked.
+#
+# References made from a definition that is itself deprecated are allowed,
+# so deprecated implementations can keep calling each other.
+#
+# @example
+# # Given a deprecated method and constant:
+# #
+# # class Api
+# # # @deprecated Use `#new_method` instead.
+# # def old_method
+# # end
+# #
+# # # @deprecated
+# # OLD_TIMEOUT = 10
+# # end
+#
+# # bad
+# class Client < Api
+# def call
+# old_method
+# end
+#
+# def timeout
+# OLD_TIMEOUT
+# end
+# end
+#
+# # good
+# class Client < Api
+# def call
+# new_method
+# end
+#
+# def timeout
+# NEW_TIMEOUT
+# end
+# end
+#
+# pkg:gem/rubocop#lib/rubocop/cop/lint/deprecated_reference.rb:56
+class RuboCop::Cop::Lint::DeprecatedReference < ::RuboCop::Cop::Base
+ include ::RuboCop::Cop::ProjectIndexHelp
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/deprecated_reference.rb:82
+ def on_const(node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/deprecated_reference.rb:80
+ def on_csend(node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/deprecated_reference.rb:65
+ def on_new_investigation; end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/deprecated_reference.rb:70
+ def on_send(node); end
+
+ private
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/deprecated_reference.rb:117
+ def const_receiver_declaration(node, receiver); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/deprecated_reference.rb:153
+ def deprecated?(declaration); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/deprecated_reference.rb:175
+ def deprecation_text(declaration); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/deprecated_reference.rb:168
+ def detail_for(declaration); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/deprecated_reference.rb:124
+ def enclosing_namespace(node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/deprecated_reference.rb:106
+ def implicit_receiver_declaration(node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/deprecated_reference.rb:96
+ def method_declaration_for(node); end
+
+ # Whether an implicit-receiver call runs with the class or module itself
+ # as `self` (directly in a namespace body, in a singleton method, or
+ # inside `class << self`) rather than inside an instance method.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/deprecated_reference.rb:136
+ def singleton_context?(node); end
+
+ # References from a definition that is itself documented as deprecated
+ # are allowed.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/deprecated_reference.rb:161
+ def within_deprecated_definition?(node); end
+end
+
+# pkg:gem/rubocop#lib/rubocop/cop/lint/deprecated_reference.rb:60
+RuboCop::Cop::Lint::DeprecatedReference::CONSTANT_MSG = T.let(T.unsafe(nil), String)
+
+# pkg:gem/rubocop#lib/rubocop/cop/lint/deprecated_reference.rb:62
+RuboCop::Cop::Lint::DeprecatedReference::DEPRECATED_TAG = T.let(T.unsafe(nil), String)
+
+# pkg:gem/rubocop#lib/rubocop/cop/lint/deprecated_reference.rb:63
+RuboCop::Cop::Lint::DeprecatedReference::DEPRECATION_DETAIL = T.let(T.unsafe(nil), Regexp)
+
+# pkg:gem/rubocop#lib/rubocop/cop/lint/deprecated_reference.rb:59
+RuboCop::Cop::Lint::DeprecatedReference::METHOD_MSG = T.let(T.unsafe(nil), String)
+
# Checks constructors for disjunctive assignments (`||=`) that should
# be plain assignments.
#
@@ -18584,6 +19125,17 @@ RuboCop::Cop::Lint::DuplicateMatchPattern::MSG = T.let(T.unsafe(nil), String)
# the developer intends to suppress Ruby's method redefinition warnings.
# See https://bugs.ruby-lang.org/issues/13574.
#
+# By default the cop can only detect duplicates within a single file.
+# When `AllCops/UseProjectIndex` is enabled and the `rubydex` gem is installed,
+# the cop additionally consults the project-wide index and reports methods
+# whose duplicate definition lives in another file.
+#
+# NOTE: The project index does not record whether a definition in another
+# file is wrapped in a conditional, so a platform-specific redefinition in
+# another file may still be reported. Aliasing the method to itself (see above)
+# before redefining marks the redefinition as intentional and is respected
+# across files.
+#
# @example
#
# # bad
@@ -18692,115 +19244,218 @@ RuboCop::Cop::Lint::DuplicateMatchPattern::MSG = T.let(T.unsafe(nil), String)
# delegate :foo, to: :bar
# end
#
-# pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:121
+# @example DelegatingMethods: ['delegate', 'expose'] (default: ['delegate'])
+# # A project's own `delegate`-shaped macros can be registered so the
+# # methods they define are recognized (with
+# # `AllCops/ActiveSupportExtensionsEnabled: true`).
+#
+# # bad
+# def foo
+# 1
+# end
+#
+# expose :foo, to: :bar
+#
+# pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:144
class RuboCop::Cop::Lint::DuplicateMethods < ::RuboCop::Cop::Base
- # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:127
+ include ::RuboCop::Cop::ProjectIndexHelp
+
+ # No `RESTRICT_ON_SEND`: the delegating method names are configurable
+ # (`DelegatingMethods`), so `on_send` must see every call. The handler
+ # returns quickly for calls that are not method definitions, and
+ # benchmarks show no measurable cost over the previous fixed list.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:159
def initialize(config = T.unsafe(nil), options = T.unsafe(nil)); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:167
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:211
def alias_method?(param0 = T.unsafe(nil)); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:201
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:255
+ def class_new_block?(param0 = T.unsafe(nil)); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:248
def class_or_module_new_block?(param0 = T.unsafe(nil)); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:172
- def delegate_method?(param0 = T.unsafe(nil)); end
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:219
+ def delegate_args(param0 = T.unsafe(nil)); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:180
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:227
def delegator?(param0 = T.unsafe(nil)); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:190
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:237
def delegators?(param0 = T.unsafe(nil)); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:153
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:193
def method_alias?(param0 = T.unsafe(nil)); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:157
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:197
def on_alias(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:133
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:173
def on_def(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:141
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:181
def on_defs(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:207
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:166
+ def on_new_investigation; end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:261
def on_send(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:198
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:245
def sym_name(param0 = T.unsafe(nil)); end
private
- # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:317
+ # Internal identity for an anonymous block, used as a scope key.
+ # Includes the source range's begin position to distinguish blocks
+ # that share the same line (e.g. two Class.new calls separated by `;`).
+ # The user-facing offense message still uses `source_location`, which
+ # shows only `path:line`.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:618
+ def anon_block_identity(anon_block); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:387
def anon_block_scope_id(anon_block); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:308
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:378
def anonymous_class_block(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:234
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:291
def check_const_receiver(node, name, const_name); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:241
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:545
+ def check_cross_file_duplicate(node, method_name); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:298
def check_self_receiver(node, name); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:270
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:557
+ def cross_file_prior_definition(method_name); end
+
+ # An alias of the method alongside one of its definitions in another file may be
+ # the self-alias trick marking an intentional redefinition there, so no offense
+ # is registered. A genuine `alias` duplicate is still reported when the alias
+ # itself is inspected.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:595
+ def cross_file_self_alias_trick?(definitions); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:340
def delegate_prefix(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:395
+ # Recognizing a delegating call as a method definition is Active
+ # Support behavior, so it stays gated on `ActiveSupportExtensionsEnabled`
+ # as it was when only `delegate` was supported. `DelegatingMethods` lets
+ # a project register its own `delegate`-shaped macros.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:321
+ def delegating_method?(node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:326
+ def delegating_methods; end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:604
+ def first_indexed_definition(definitions); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:497
def found_attr(node, args, readable: T.unsafe(nil), writable: T.unsafe(nil)); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:286
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:356
def found_instance_method(node, name); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:344
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:427
def found_method(node, method_name, scope_id: T.unsafe(nil)); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:333
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:440
+ def found_redefinition(node, method_name, key, scope); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:417
def found_sclass_method(node, name); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:282
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:352
def hash_value(node, key); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:300
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:370
def humanize_scope(scope); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:251
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:608
+ def index_source_location(definition); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:582
+ def indexed_declaration_definitions(namespace, name); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:568
+ def indexed_definitions(owner, separator, name); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:308
def inside_condition?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:373
+ # The self-alias trick (`alias foo foo` or `alias_method :foo, :foo` right before
+ # a `def`) suppresses Ruby's method redefinition warning, signaling an intentional
+ # redefinition of a method defined in another file.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:454
+ def intentional_cross_file_redefinition?(node, method_name, key); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:475
def location(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:405
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:507
def lookup_constant(node, const_name); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:255
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:312
def message_for_dup(node, method_name, key); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:365
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:467
def method_key(node, method_name); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:328
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:412
def named_receiver(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:381
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:483
def on_attr(node, attr_name, args); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:260
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:330
def on_delegate(node, method_names); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:423
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:525
def qualified_name(enclosing, namespace, mod_name); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:437
+ # When a Class.new block is passed as an argument to a named-receiver
+ # method call (e.g. T.cast(Class.new(Base) do ... end, ...)), the
+ # receiver-based scope id (e.g. "T.cast") is the same for every call,
+ # causing false positives for methods defined in distinct anonymous
+ # classes. Return nil so the block falls through to the unique
+ # source-location-based scope id.
+ # Module.new blocks are excluded because they may be intentionally
+ # mixed into the same target via prepend/include/extend.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:406
+ def scope_receiver(parent, anon_block); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:539
def source_location(node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:460
+ def track_self_alias(node, name); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:586
+ def writer_attr_definition?(definition); end
end
-# pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:122
-RuboCop::Cop::Lint::DuplicateMethods::MSG = T.let(T.unsafe(nil), String)
+# Method names the cop registers that can be looked up in the project index:
+# a fully qualified namespace followed by `#` (instance) or `.` (singleton)
+# and the method name.
+#
+# pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:152
+RuboCop::Cop::Lint::DuplicateMethods::INDEXABLE_METHOD_NAME = T.let(T.unsafe(nil), Regexp)
-# pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:123
-RuboCop::Cop::Lint::DuplicateMethods::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
+# pkg:gem/rubocop#lib/rubocop/cop/lint/duplicate_methods.rb:147
+RuboCop::Cop::Lint::DuplicateMethods::MSG = T.let(T.unsafe(nil), String)
# Checks for duplicate elements in `Regexp` character classes.
#
@@ -20415,6 +21070,11 @@ RuboCop::Cop::Lint::IneffectiveAccessModifier::MSG = T.let(T.unsafe(nil), String
# exception class handle `StandardError` and its subclasses,
# but not `Exception` and its subclasses.
#
+# When `AllCops/UseProjectIndex` is enabled and the `rubydex` gem is
+# installed, indirect inheritance is also detected: a class whose parent
+# (defined anywhere in the project) ultimately inherits from `Exception`
+# is reported, without autocorrection.
+#
# @example EnforcedStyle: standard_error (default)
# # bad
#
@@ -20441,42 +21101,61 @@ RuboCop::Cop::Lint::IneffectiveAccessModifier::MSG = T.let(T.unsafe(nil), String
#
# C = Class.new(RuntimeError)
#
-# pkg:gem/rubocop#lib/rubocop/cop/lint/inherit_exception.rb:40
+# pkg:gem/rubocop#lib/rubocop/cop/lint/inherit_exception.rb:45
class RuboCop::Cop::Lint::InheritException < ::RuboCop::Cop::Base
include ::RuboCop::Cop::ConfigurableEnforcedStyle
+ include ::RuboCop::Cop::ProjectIndexHelp
extend ::RuboCop::Cop::AutoCorrector
- # pkg:gem/rubocop#lib/rubocop/cop/lint/inherit_exception.rb:53
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/inherit_exception.rb:60
def class_new_call?(param0 = T.unsafe(nil)); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/inherit_exception.rb:59
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/inherit_exception.rb:66
def on_class(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/inherit_exception.rb:70
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/inherit_exception.rb:84
def on_send(node); end
private
- # pkg:gem/rubocop#lib/rubocop/cop/lint/inherit_exception.rb:87
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/inherit_exception.rb:121
+ def exception_ancestor(declaration); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/inherit_exception.rb:101
def exception_class?(class_node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/inherit_exception.rb:91
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/inherit_exception.rb:127
+ def exception_superclass_reference?(ancestor); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/inherit_exception.rb:137
def inherit_exception_class_with_omitted_namespace?(class_node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/inherit_exception.rb:83
+ # When `AllCops/UseProjectIndex` is enabled, indirect inheritance is
+ # detected by walking the parent's indexed ancestry: `Exception` itself
+ # is not indexed, so a chain ending in it shows up as an ancestor whose
+ # superclass reference is unresolved and literally named `Exception`.
+ # Returns the name of that ancestor, or `nil`.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/inherit_exception.rb:110
+ def inherits_exception_via(parent_class); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/inherit_exception.rb:97
def message(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/inherit_exception.rb:99
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/inherit_exception.rb:145
def preferred_base_class; end
end
-# pkg:gem/rubocop#lib/rubocop/cop/lint/inherit_exception.rb:44
+# pkg:gem/rubocop#lib/rubocop/cop/lint/inherit_exception.rb:51
+RuboCop::Cop::Lint::InheritException::INDIRECT_MSG = T.let(T.unsafe(nil), String)
+
+# pkg:gem/rubocop#lib/rubocop/cop/lint/inherit_exception.rb:50
RuboCop::Cop::Lint::InheritException::MSG = T.let(T.unsafe(nil), String)
-# pkg:gem/rubocop#lib/rubocop/cop/lint/inherit_exception.rb:45
+# pkg:gem/rubocop#lib/rubocop/cop/lint/inherit_exception.rb:52
RuboCop::Cop::Lint::InheritException::PREFERRED_BASE_CLASS = T.let(T.unsafe(nil), Hash)
-# pkg:gem/rubocop#lib/rubocop/cop/lint/inherit_exception.rb:50
+# pkg:gem/rubocop#lib/rubocop/cop/lint/inherit_exception.rb:57
RuboCop::Cop::Lint::InheritException::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
# Checks for interpolation in a single quoted string.
@@ -21011,6 +21690,13 @@ RuboCop::Cop::Lint::MissingCopEnableDirective::MSG_BOUND = T.let(T.unsafe(nil),
# `AllowedParentClasses` option to specify which classes should be allowed
# *in addition to* `Object` and `BasicObject`.
#
+# When `AllCops/UseProjectIndex` is enabled and the `rubydex` gem is installed,
+# the constructor check additionally consults the project-wide index: if the
+# class' entire ancestry is resolvable and no ancestor defines `initialize`,
+# no offense is registered, since `super` would only reach the no-op
+# `Object#initialize`. Classes whose ancestry contains an unresolvable
+# superclass or mixin (e.g. one defined in a gem) are still reported.
+#
# @example
# # bad
# class Employee < Person
@@ -21072,54 +21758,65 @@ RuboCop::Cop::Lint::MissingCopEnableDirective::MSG_BOUND = T.let(T.unsafe(nil),
# end
# end
#
-# pkg:gem/rubocop#lib/rubocop/cop/lint/missing_super.rb:85
+# pkg:gem/rubocop#lib/rubocop/cop/lint/missing_super.rb:92
class RuboCop::Cop::Lint::MissingSuper < ::RuboCop::Cop::Base
- # pkg:gem/rubocop#lib/rubocop/cop/lint/missing_super.rb:99
+ include ::RuboCop::Cop::ProjectIndexHelp
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/missing_super.rb:108
def class_new_block(param0 = T.unsafe(nil)); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/missing_super.rb:105
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/missing_super.rb:114
def on_def(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/missing_super.rb:115
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/missing_super.rb:124
def on_defs(node); end
private
- # pkg:gem/rubocop#lib/rubocop/cop/lint/missing_super.rb:149
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/missing_super.rb:159
def allowed_class?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/missing_super.rb:153
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/missing_super.rb:163
def allowed_classes; end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/missing_super.rb:127
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/missing_super.rb:136
def callback_method_def?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/missing_super.rb:133
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/missing_super.rb:142
def contains_super?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/missing_super.rb:137
+ # With the project index, the offense is skipped when the class' whole ancestry
+ # is resolvable and none of the inherited ancestors defines `initialize` —
+ # `super` would only reach the no-op `Object#initialize`. An unresolvable
+ # superclass or mixin anywhere in the chain (e.g. a class from a gem) means
+ # the ancestry cannot be verified and the offense is kept.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/missing_super.rb:172
+ def index_verified_stateless_ancestry?(class_node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/missing_super.rb:146
def inside_class_with_stateful_parent?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/missing_super.rb:123
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/missing_super.rb:132
def offender?(node); end
end
-# pkg:gem/rubocop#lib/rubocop/cop/lint/missing_super.rb:96
+# pkg:gem/rubocop#lib/rubocop/cop/lint/missing_super.rb:105
RuboCop::Cop::Lint::MissingSuper::CALLBACKS = T.let(T.unsafe(nil), Set)
-# pkg:gem/rubocop#lib/rubocop/cop/lint/missing_super.rb:87
+# pkg:gem/rubocop#lib/rubocop/cop/lint/missing_super.rb:96
RuboCop::Cop::Lint::MissingSuper::CALLBACK_MSG = T.let(T.unsafe(nil), String)
-# pkg:gem/rubocop#lib/rubocop/cop/lint/missing_super.rb:91
+# pkg:gem/rubocop#lib/rubocop/cop/lint/missing_super.rb:100
RuboCop::Cop::Lint::MissingSuper::CLASS_LIFECYCLE_CALLBACKS = T.let(T.unsafe(nil), Array)
-# pkg:gem/rubocop#lib/rubocop/cop/lint/missing_super.rb:86
+# pkg:gem/rubocop#lib/rubocop/cop/lint/missing_super.rb:95
RuboCop::Cop::Lint::MissingSuper::CONSTRUCTOR_MSG = T.let(T.unsafe(nil), String)
-# pkg:gem/rubocop#lib/rubocop/cop/lint/missing_super.rb:92
+# pkg:gem/rubocop#lib/rubocop/cop/lint/missing_super.rb:101
RuboCop::Cop::Lint::MissingSuper::METHOD_LIFECYCLE_CALLBACKS = T.let(T.unsafe(nil), Array)
-# pkg:gem/rubocop#lib/rubocop/cop/lint/missing_super.rb:89
+# pkg:gem/rubocop#lib/rubocop/cop/lint/missing_super.rb:98
RuboCop::Cop::Lint::MissingSuper::STATELESS_CLASSES = T.let(T.unsafe(nil), Array)
# Checks for mixed-case character ranges since they include likely unintended characters.
@@ -21257,6 +21954,143 @@ RuboCop::Cop::Lint::MultipleComparison::RESTRICT_ON_SEND = T.let(T.unsafe(nil),
# pkg:gem/rubocop#lib/rubocop/cop/lint/multiple_comparison.rb:25
RuboCop::Cop::Lint::MultipleComparison::SET_OPERATION_OPERATORS = T.let(T.unsafe(nil), Array)
+# Checks for probable typos in constant and method names: a name that
+# does not resolve anywhere in the project, used in a namespace the
+# project does define, with a close-named sibling to suggest instead.
+#
+# The check is powered by the project-wide index, so it only runs when
+# `AllCops/UseProjectIndex` is enabled and the `rubydex` gem is installed.
+# Without the index the cop does nothing.
+#
+# Constants are checked only in qualified references (`Foo::Bar`) whose
+# namespace resolves in the index; bare names cannot be distinguished
+# from constants provided by gems or the standard library. Methods are
+# checked only in calls on constant receivers (`Foo.bar`) whose entire
+# indexed ancestry is resolved, so methods gained through gem classes or
+# dynamic definitions never produce offenses. In both cases an offense
+# requires a similarly named alternative to exist — an unknown name
+# alone is not reported, since the index does not see gems or the
+# standard library.
+#
+# Names that appear as symbols or inside string literals in the same
+# file are never reported, since they usually belong to runtime
+# definitions the index cannot see (`stub_const`, `const_set`,
+# `define_method`, and the like).
+#
+# @example
+# # bad - Services::UserCraetor is not defined, Services::UserCreator is
+# Services::UserCraetor.new
+#
+# # good
+# Services::UserCreator.new
+#
+# # bad - Report.generate_sumary is not defined, Report.generate_summary is
+# Report.generate_sumary
+#
+# # good
+# Report.generate_summary
+#
+# @example CheckConstants: false
+# # good - constant references are not checked
+# Services::UserCraetor.new
+#
+# @example CheckMethods: false
+# # good - method calls are not checked
+# Report.generate_sumary
+#
+# @example AllowedNames: ['generate_sumary']
+# # good - the name is explicitly allowed
+# Report.generate_sumary
+#
+# pkg:gem/rubocop#lib/rubocop/cop/lint/name_typo.rb:60
+class RuboCop::Cop::Lint::NameTypo < ::RuboCop::Cop::Base
+ include ::RuboCop::Cop::ProjectIndexHelp
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/name_typo.rb:71
+ def on_const(node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/name_typo.rb:96
+ def on_csend(node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/name_typo.rb:98
+ def on_new_investigation; end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/name_typo.rb:83
+ def on_send(node); end
+
+ private
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/name_typo.rb:115
+ def allowed_name?(name); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/name_typo.rb:105
+ def check?(key); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/name_typo.rb:109
+ def checkable_constant?(node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/name_typo.rb:199
+ def constant_member_names(namespace); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/name_typo.rb:131
+ def constant_typo_suggestion(node); end
+
+ # `defined?(Foo::Bar)` probes whether a name exists; unknown names
+ # there are deliberate.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/name_typo.rb:127
+ def defined_check?(node); end
+
+ # The last segment of a class, module or constant definition is being
+ # defined, not referenced.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/name_typo.rb:121
+ def definition_identifier?(node); end
+
+ # Names mentioned as symbols or inside string literals in the current
+ # file belong to runtime definitions (`stub_const`, `const_set`,
+ # `define_method`) that the index cannot see.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/name_typo.rb:187
+ def literal_names; end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/name_typo.rb:206
+ def method_member_names(declaration); end
+
+ # Writers are indexed under the reader's name, so setter calls are
+ # verified and spell-checked through the base name.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/name_typo.rb:145
+ def method_typo_suggestion(node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/name_typo.rb:174
+ def responds_in_index?(declaration, name, base); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/name_typo.rb:170
+ def setter_call?(node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/name_typo.rb:215
+ def spell_check(name, dictionary); end
+
+ # The receiver's declaration when it resolves in the index, its whole
+ # ancestry is resolved, and the method is not found — nil otherwise.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/name_typo.rb:161
+ def unknown_method_owner(node, base); end
+end
+
+# pkg:gem/rubocop#lib/rubocop/cop/lint/name_typo.rb:63
+RuboCop::Cop::Lint::NameTypo::CONSTANT_MSG = T.let(T.unsafe(nil), String)
+
+# pkg:gem/rubocop#lib/rubocop/cop/lint/name_typo.rb:69
+RuboCop::Cop::Lint::NameTypo::LITERAL_IDENTIFIER_PATTERN = T.let(T.unsafe(nil), Regexp)
+
+# pkg:gem/rubocop#lib/rubocop/cop/lint/name_typo.rb:68
+RuboCop::Cop::Lint::NameTypo::METHOD_MEMBER_REGEXP = T.let(T.unsafe(nil), Regexp)
+
+# pkg:gem/rubocop#lib/rubocop/cop/lint/name_typo.rb:65
+RuboCop::Cop::Lint::NameTypo::METHOD_MSG = T.let(T.unsafe(nil), String)
+
# Checks for nested method definitions.
#
# @example
@@ -22024,6 +22858,13 @@ RuboCop::Cop::Lint::NumberedParameterAssignment::NUM_PARAM_MSG = T.let(T.unsafe(
# can't determine the type of `x`. If `x` is an `Array` or `String`, it doesn't perform
# a numeric operation.
#
+# @safety
+# This cop is unsafe because the autocorrection drops the operands, which
+# discards any side effects of evaluating them and can change behavior when
+# the result is not actually constant. For example, `x / x` raises
+# `ZeroDivisionError` when `x` is `0`, and returns `Float::NAN` (not `1`)
+# when `x` is `0.0`; replacing it with `1` silences that.
+#
# @example
#
# # bad
@@ -22052,35 +22893,35 @@ RuboCop::Cop::Lint::NumberedParameterAssignment::NUM_PARAM_MSG = T.let(T.unsafe(
# # good
# x = 1
#
-# pkg:gem/rubocop#lib/rubocop/cop/lint/numeric_operation_with_constant_result.rb:46
+# pkg:gem/rubocop#lib/rubocop/cop/lint/numeric_operation_with_constant_result.rb:53
class RuboCop::Cop::Lint::NumericOperationWithConstantResult < ::RuboCop::Cop::Base
extend ::RuboCop::Cop::AutoCorrector
- # pkg:gem/rubocop#lib/rubocop/cop/lint/numeric_operation_with_constant_result.rb:57
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/numeric_operation_with_constant_result.rb:64
def abbreviated_assignment_with_constant_result?(param0 = T.unsafe(nil)); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/numeric_operation_with_constant_result.rb:71
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/numeric_operation_with_constant_result.rb:78
def on_csend(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/numeric_operation_with_constant_result.rb:73
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/numeric_operation_with_constant_result.rb:80
def on_op_asgn(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/numeric_operation_with_constant_result.rb:60
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/numeric_operation_with_constant_result.rb:67
def on_send(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/numeric_operation_with_constant_result.rb:53
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/numeric_operation_with_constant_result.rb:60
def operation_with_constant_result?(param0 = T.unsafe(nil)); end
private
- # pkg:gem/rubocop#lib/rubocop/cop/lint/numeric_operation_with_constant_result.rb:84
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/numeric_operation_with_constant_result.rb:91
def constant_result?(lhs, operation, rhs); end
end
-# pkg:gem/rubocop#lib/rubocop/cop/lint/numeric_operation_with_constant_result.rb:49
+# pkg:gem/rubocop#lib/rubocop/cop/lint/numeric_operation_with_constant_result.rb:56
RuboCop::Cop::Lint::NumericOperationWithConstantResult::MSG = T.let(T.unsafe(nil), String)
-# pkg:gem/rubocop#lib/rubocop/cop/lint/numeric_operation_with_constant_result.rb:50
+# pkg:gem/rubocop#lib/rubocop/cop/lint/numeric_operation_with_constant_result.rb:57
RuboCop::Cop::Lint::NumericOperationWithConstantResult::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
# Checks for unintended or-assignment to a constant.
@@ -22212,9 +23053,6 @@ class RuboCop::Cop::Lint::OutOfRangeRegexpRef < ::RuboCop::Cop::Base
# pkg:gem/rubocop#lib/rubocop/cop/lint/out_of_range_regexp_ref.rb:103
def check_regexp(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/out_of_range_regexp_ref.rb:123
- def nth_ref_receiver?(send_node); end
-
# pkg:gem/rubocop#lib/rubocop/cop/lint/out_of_range_regexp_ref.rb:114
def regexp_first_argument?(send_node); end
@@ -23924,6 +24762,13 @@ RuboCop::Cop::Lint::ReturnInVoidContext::SCOPE_CHANGING_METHODS = T.let(T.unsafe
# safe navigation operator after a safe navigation operator.
# This cop checks for the problem outlined above.
#
+# @safety
+# This cop's autocorrection is unsafe because it changes the behavior of
+# the code: `x&.foo.bar` raises `NoMethodError` when `x` or `x&.foo` is `nil`,
+# whereas the corrected `x&.foo&.bar` returns `nil` instead. The autocorrection
+# also assumes that extending safe navigation through the chain is intended,
+# while removing the first `&.` may be what was intended instead.
+#
# @example
#
# # bad
@@ -23935,17 +24780,17 @@ RuboCop::Cop::Lint::ReturnInVoidContext::SCOPE_CHANGING_METHODS = T.let(T.unsafe
# x&.foo&.bar
# x&.foo || bar
#
-# pkg:gem/rubocop#lib/rubocop/cop/lint/safe_navigation_chain.rb:22
+# pkg:gem/rubocop#lib/rubocop/cop/lint/safe_navigation_chain.rb:29
class RuboCop::Cop::Lint::SafeNavigationChain < ::RuboCop::Cop::Base
include ::RuboCop::Cop::AllowedMethods
include ::RuboCop::Cop::NilMethods
extend ::RuboCop::Cop::AutoCorrector
extend ::RuboCop::Cop::TargetRubyVersion
- # pkg:gem/rubocop#lib/rubocop/cop/lint/safe_navigation_chain.rb:33
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/safe_navigation_chain.rb:40
def bad_method?(param0 = T.unsafe(nil)); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/safe_navigation_chain.rb:42
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/safe_navigation_chain.rb:49
def on_send(node); end
private
@@ -23954,39 +24799,39 @@ class RuboCop::Cop::Lint::SafeNavigationChain < ::RuboCop::Cop::Base
# @param [RuboCop::AST::SendNode] send_node
# @return [String]
#
- # pkg:gem/rubocop#lib/rubocop/cop/lint/safe_navigation_chain.rb:85
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/safe_navigation_chain.rb:92
def add_safe_navigation_operator(offense_range:, send_node:); end
# @param [RuboCop::Cop::Corrector] corrector
# @param [Parser::Source::Range] offense_range
# @param [RuboCop::AST::SendNode] send_node
#
- # pkg:gem/rubocop#lib/rubocop/cop/lint/safe_navigation_chain.rb:104
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/safe_navigation_chain.rb:111
def autocorrect(corrector, offense_range:, send_node:); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/safe_navigation_chain.rb:113
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/safe_navigation_chain.rb:120
def brackets?(send_node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/safe_navigation_chain.rb:126
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/safe_navigation_chain.rb:133
def operator_inside_collection_literal?(send_node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/safe_navigation_chain.rb:117
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/safe_navigation_chain.rb:124
def require_parentheses?(send_node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/safe_navigation_chain.rb:63
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/safe_navigation_chain.rb:70
def require_safe_navigation?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/safe_navigation_chain.rb:76
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/safe_navigation_chain.rb:83
def ternary_else_branch?(node, safe_nav); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/safe_navigation_chain.rb:70
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/safe_navigation_chain.rb:77
def ternary_safe_navigation?(node, safe_nav); end
end
-# pkg:gem/rubocop#lib/rubocop/cop/lint/safe_navigation_chain.rb:29
+# pkg:gem/rubocop#lib/rubocop/cop/lint/safe_navigation_chain.rb:36
RuboCop::Cop::Lint::SafeNavigationChain::MSG = T.let(T.unsafe(nil), String)
-# pkg:gem/rubocop#lib/rubocop/cop/lint/safe_navigation_chain.rb:30
+# pkg:gem/rubocop#lib/rubocop/cop/lint/safe_navigation_chain.rb:37
RuboCop::Cop::Lint::SafeNavigationChain::PLUS_MINUS_METHODS = T.let(T.unsafe(nil), Array)
# Checks that if safe navigation is used in an `&&` or `||` condition,
@@ -25101,7 +25946,7 @@ class RuboCop::Cop::Lint::ToEnumArguments < ::RuboCop::Cop::Base
private
- # pkg:gem/rubocop#lib/rubocop/cop/lint/to_enum_arguments.rb:103
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/to_enum_arguments.rb:139
def argument_match?(send_arg, def_arg); end
# pkg:gem/rubocop#lib/rubocop/cop/lint/to_enum_arguments.rb:61
@@ -25109,25 +25954,45 @@ class RuboCop::Cop::Lint::ToEnumArguments < ::RuboCop::Cop::Base
# A splat or argument forwarding on the call side can expand to any arity.
#
- # pkg:gem/rubocop#lib/rubocop/cop/lint/to_enum_arguments.rb:90
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/to_enum_arguments.rb:92
def expandable_arguments?(arguments); end
+ # A call-side keyword splat or argument forwarding can expand to any set of keywords.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/to_enum_arguments.rb:118
+ def expandable_keyword_arguments?(arguments); end
+
+ # The enumerator re-invokes the method with these arguments, so passing
+ # unexpected keyword arguments raises `ArgumentError` at runtime.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/to_enum_arguments.rb:106
+ def extra_keyword_arguments?(arguments, def_node); end
+
# The enumerator re-invokes the method with these arguments, so passing more
# positional arguments than the method accepts raises `ArgumentError` at runtime.
#
- # pkg:gem/rubocop#lib/rubocop/cop/lint/to_enum_arguments.rb:79
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/to_enum_arguments.rb:81
def extra_positional_arguments?(arguments, def_node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/to_enum_arguments.rb:126
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/to_enum_arguments.rb:162
def keyword_hash_argument?(send_arg); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/to_enum_arguments.rb:94
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/to_enum_arguments.rb:132
+ def keyword_parameters(def_node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/to_enum_arguments.rb:124
+ def passed_keyword_arguments(arguments); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/to_enum_arguments.rb:96
def positional_arguments(arguments); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/to_enum_arguments.rb:98
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/to_enum_arguments.rb:100
def positional_parameters(def_node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/to_enum_arguments.rb:85
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/to_enum_arguments.rb:113
+ def variadic_keyword_parameters?(def_node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/to_enum_arguments.rb:87
def variadic_parameters?(def_node); end
end
@@ -25164,6 +26029,9 @@ class RuboCop::Cop::Lint::ToJSON < ::RuboCop::Cop::Base
# pkg:gem/rubocop#lib/rubocop/cop/lint/to_json.rb:32
def on_def(node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/to_json.rb:48
+ def on_defs(node); end
end
# pkg:gem/rubocop#lib/rubocop/cop/lint/to_json.rb:30
@@ -25689,7 +26557,7 @@ class RuboCop::Cop::Lint::UnreachableCode < ::RuboCop::Cop::Base
# pkg:gem/rubocop#lib/rubocop/cop/lint/unreachable_code.rb:48
def after_block(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/unreachable_code.rb:71
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/unreachable_code.rb:76
def flow_command?(param0 = T.unsafe(nil)); end
# pkg:gem/rubocop#lib/rubocop/cop/lint/unreachable_code.rb:52
@@ -25701,7 +26569,7 @@ class RuboCop::Cop::Lint::UnreachableCode < ::RuboCop::Cop::Base
# pkg:gem/rubocop#lib/rubocop/cop/lint/unreachable_code.rb:46
def on_itblock(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/unreachable_code.rb:62
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/unreachable_code.rb:67
def on_kwbegin(node); end
# pkg:gem/rubocop#lib/rubocop/cop/lint/unreachable_code.rb:45
@@ -25709,25 +26577,25 @@ class RuboCop::Cop::Lint::UnreachableCode < ::RuboCop::Cop::Base
private
- # pkg:gem/rubocop#lib/rubocop/cop/lint/unreachable_code.rb:108
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/unreachable_code.rb:113
def check_case(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/unreachable_code.rb:102
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/unreachable_code.rb:107
def check_if(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/unreachable_code.rb:82
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/unreachable_code.rb:87
def flow_expression?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/unreachable_code.rb:122
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/unreachable_code.rb:127
def instance_eval_block?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/unreachable_code.rb:66
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/unreachable_code.rb:71
def redefinable_flow_method?(method); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/unreachable_code.rb:118
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/unreachable_code.rb:123
def register_redefinition(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/unreachable_code.rb:126
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/unreachable_code.rb:131
def report_on_flow_command?(node); end
end
@@ -26184,6 +27052,116 @@ class RuboCop::Cop::Lint::UnusedMethodArgument < ::RuboCop::Cop::Base
end
end
+# Checks for private instance methods that are not referenced anywhere
+# in the project.
+#
+# The check is powered by the project-wide index, so it only runs when
+# `AllCops/UseProjectIndex` is enabled and the `rubydex` gem is installed.
+# Without the index the cop does nothing.
+#
+# A method counts as referenced when a call with its name appears anywhere
+# in the indexed project (regardless of the receiver), when it is the source
+# of an `alias`, or when its name appears in the same file as a symbol or
+# inside a string literal (covering `send(:name)` and declarative DSLs like
+# `before_action :name`). Methods defined in classes or modules with
+# descendants are not checked, since they may be invoked through `super`
+# or inherited dispatch, and neither are methods whose names are built
+# dynamically (e.g. `send("do_#{action}")`).
+#
+# The cop is disabled by default because symbol-based references from
+# *other* files (e.g. a Rails callback declared in a concern) cannot be
+# detected and would be reported as false positives. It is best suited
+# for occasional dead-code sweeps rather than permanent enforcement.
+#
+# @example
+# # bad - `helper` is never referenced anywhere in the project
+# class Service
+# def call
+# do_something
+# end
+#
+# private
+#
+# def helper
+# end
+# end
+#
+# # good
+# class Service
+# def call
+# do_something(helper)
+# end
+#
+# private
+#
+# def helper
+# end
+# end
+#
+# pkg:gem/rubocop#lib/rubocop/cop/lint/unused_private_method.rb:52
+class RuboCop::Cop::Lint::UnusedPrivateMethod < ::RuboCop::Cop::Base
+ include ::RuboCop::Cop::ProjectIndexHelp
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/unused_private_method.rb:77
+ def on_def(node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/unused_private_method.rb:72
+ def on_new_investigation; end
+
+ private
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/unused_private_method.rb:91
+ def checkable_declaration(node); end
+
+ # Symbol literals and identifier-like tokens inside string literals in the
+ # current file, covering `send(:name)`, declarative DSLs like
+ # `before_action :name` and names embedded in strings (e.g. node-pattern
+ # `#helper` references).
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/unused_private_method.rb:123
+ def literal_names; end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/unused_private_method.rb:100
+ def method_declaration(node, namespace_node); end
+
+ # An override of an inherited method may be invoked polymorphically
+ # (e.g. a framework hook), even when no direct reference exists.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/unused_private_method.rb:146
+ def override?(declaration, method_name); end
+
+ # A method defined in a class or module with descendants may be invoked
+ # through `super` or inherited dispatch, which the index does not track.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/unused_private_method.rb:137
+ def owner_with_descendants?(declaration); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/unused_private_method.rb:107
+ def referenced?(method_name); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/unused_private_method.rb:113
+ def referenced_names; end
+
+ class << self
+ # The reference-name set is derived once per index and shared by the
+ # per-file cop instances.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/unused_private_method.rb:67
+ def reference_names_cache; end
+ end
+end
+
+# pkg:gem/rubocop#lib/rubocop/cop/lint/unused_private_method.rb:57
+RuboCop::Cop::Lint::UnusedPrivateMethod::IDENTIFIER_PATTERN = T.let(T.unsafe(nil), Regexp)
+
+# Methods invoked implicitly by the Ruby runtime.
+#
+# pkg:gem/rubocop#lib/rubocop/cop/lint/unused_private_method.rb:60
+RuboCop::Cop::Lint::UnusedPrivateMethod::IMPLICITLY_INVOKED_METHODS = T.let(T.unsafe(nil), Set)
+
+# pkg:gem/rubocop#lib/rubocop/cop/lint/unused_private_method.rb:55
+RuboCop::Cop::Lint::UnusedPrivateMethod::MSG = T.let(T.unsafe(nil), String)
+
# Identifies places where `URI.escape` can be replaced by
# `CGI.escape`, `URI.encode_www_form`, or `URI.encode_www_form_component`
# depending on your specific use case.
@@ -26893,16 +27871,16 @@ RuboCop::Cop::Lint::UselessMethodDefinition::MSG = T.let(T.unsafe(nil), String)
class RuboCop::Cop::Lint::UselessNumericOperation < ::RuboCop::Cop::Base
extend ::RuboCop::Cop::AutoCorrector
- # pkg:gem/rubocop#lib/rubocop/cop/lint/useless_numeric_operation.rb:54
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/useless_numeric_operation.rb:56
def on_csend(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/useless_numeric_operation.rb:56
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/useless_numeric_operation.rb:58
def on_op_asgn(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/useless_numeric_operation.rb:44
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/useless_numeric_operation.rb:48
def on_send(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/useless_numeric_operation.rb:42
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/useless_numeric_operation.rb:44
def useless_abbreviated_assignment?(param0 = T.unsafe(nil)); end
# pkg:gem/rubocop#lib/rubocop/cop/lint/useless_numeric_operation.rb:39
@@ -27144,7 +28122,7 @@ class RuboCop::Cop::Lint::UselessRuby2Keywords < ::RuboCop::Cop::Base
# `ruby2_keywords` is only allowed if there's a `restarg` and no keyword arguments
#
- # pkg:gem/rubocop#lib/rubocop/cop/lint/useless_ruby2_keywords.rb:122
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/useless_ruby2_keywords.rb:124
def allowed_arguments?(arguments); end
# pkg:gem/rubocop#lib/rubocop/cop/lint/useless_ruby2_keywords.rb:109
@@ -27320,7 +28298,9 @@ RuboCop::Cop::Lint::UselessTimes::MSG = T.let(T.unsafe(nil), String)
# pkg:gem/rubocop#lib/rubocop/cop/lint/useless_times.rb:29
RuboCop::Cop::Lint::UselessTimes::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
-# pkg:gem/rubocop#lib/rubocop/cop/lint/utils/nil_receiver_checker.rb:6
+# Utility classes for `Lint` department cops.
+#
+# pkg:gem/rubocop#lib/rubocop/cop/lint.rb:171
module RuboCop::Cop::Lint::Utils; end
# Utility class that checks if the receiver can't be nil.
@@ -27381,11 +28361,14 @@ RuboCop::Cop::Lint::Utils::NilReceiverChecker::NIL_METHODS = T.let(T.unsafe(nil)
# enumerator.each { |item| item >= 2 } #=> [2, 3]
# ----
#
-# NOTE: Return values in assignment method definitions such as `def foo=(arg)` are
-# detected because they are in a void context. However, autocorrection does not remove
-# the return value, as that would change behavior. In such cases, whether to remove
-# the return value or rename the method to something more appropriate should be left to
-# the user.
+# NOTE: The last expression in an assignment method definition such as `def foo=(arg)`
+# is not flagged. Ruby discards it (the method returns its argument), but the method can
+# still be called directly and its return value relied upon, so flagging it would be a
+# false positive for this lint.
+#
+# NOTE: A constant used in a void context is flagged but not autocorrected, since
+# referencing a constant can trigger autoloading side effects (e.g. forcing a file to
+# load before a monkey-patch), so removing it may change behavior.
#
# @example CheckForMethodsWithNoSideEffects: false (default)
# # bad
@@ -27422,129 +28405,132 @@ RuboCop::Cop::Lint::Utils::NilReceiverChecker::NIL_METHODS = T.let(T.unsafe(nil)
# do_something(some_array)
# end
#
-# pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:59
+# pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:62
class RuboCop::Cop::Lint::Void < ::RuboCop::Cop::Base
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector
- # pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:98
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:101
def on_begin(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:87
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:90
def on_block(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:103
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:106
def on_ensure(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:96
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:99
def on_itblock(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:101
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:104
def on_kwbegin(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:95
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:98
def on_numblock(node); end
private
- # pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:289
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:300
def all_keys_entirely_literal?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:293
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:304
def all_values_entirely_literal?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:267
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:278
def autocorrect_nonmutating_send(corrector, node, suggestion); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:260
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:267
def autocorrect_void_expression(corrector, node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:247
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:254
def autocorrect_void_op(corrector, node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:109
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:112
def check_begin(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:141
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:144
def check_case_expression(case_node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:146
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:149
def check_case_match_expression(case_node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:232
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:235
def check_ensure(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:119
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:122
def check_expression(expr); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:137
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:140
def check_if_expression(if_node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:188
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:191
def check_literal(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:214
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:217
def check_nonmutating(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:198
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:201
def check_self(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:170
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:173
def check_var(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:206
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:209
def check_void_expression(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:127
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:130
def check_void_expression_nodes(expr); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:154
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:157
def check_void_op(node, &block); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:276
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:287
def entirely_literal?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:240
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:243
def in_void_context?(node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:250
+ def setter_method?(node); end
end
-# pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:72
+# pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:75
RuboCop::Cop::Lint::Void::BINARY_OPERATORS = T.let(T.unsafe(nil), Array)
-# pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:66
+# pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:69
RuboCop::Cop::Lint::Void::CONST_MSG = T.let(T.unsafe(nil), String)
-# pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:69
+# pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:72
RuboCop::Cop::Lint::Void::EXPRESSION_MSG = T.let(T.unsafe(nil), String)
-# pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:67
+# pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:70
RuboCop::Cop::Lint::Void::LIT_MSG = T.let(T.unsafe(nil), String)
-# pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:82
+# pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:85
RuboCop::Cop::Lint::Void::METHODS_REPLACEABLE_BY_EACH = T.let(T.unsafe(nil), Array)
-# pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:84
+# pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:87
RuboCop::Cop::Lint::Void::NONMUTATING_METHODS = T.let(T.unsafe(nil), Array)
-# pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:75
+# pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:78
RuboCop::Cop::Lint::Void::NONMUTATING_METHODS_WITH_BANG_VERSION = T.let(T.unsafe(nil), Array)
-# pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:70
+# pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:73
RuboCop::Cop::Lint::Void::NONMUTATING_MSG = T.let(T.unsafe(nil), String)
-# pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:74
+# pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:77
RuboCop::Cop::Lint::Void::OPERATORS = T.let(T.unsafe(nil), Array)
-# pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:64
+# pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:67
RuboCop::Cop::Lint::Void::OP_MSG = T.let(T.unsafe(nil), String)
-# pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:68
+# pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:71
RuboCop::Cop::Lint::Void::SELF_MSG = T.let(T.unsafe(nil), String)
-# pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:73
+# pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:76
RuboCop::Cop::Lint::Void::UNARY_OPERATORS = T.let(T.unsafe(nil), Array)
-# pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:65
+# pkg:gem/rubocop#lib/rubocop/cop/lint/void.rb:68
RuboCop::Cop::Lint::Void::VAR_MSG = T.let(T.unsafe(nil), String)
# Common functionality for obtaining source ranges from regexp matches
@@ -27727,8 +28713,13 @@ module RuboCop::Cop::MethodPreference
def preferred_methods; end
end
-# pkg:gem/rubocop#lib/rubocop/cop/metrics/utils/repeated_csend_discount.rb:5
-module RuboCop::Cop::Metrics; end
+# Cops for the `Metrics` department. The department's cops are registered for lazy loading
+# and their files are loaded on demand.
+#
+# pkg:gem/rubocop#lib/rubocop/cop/metrics.rb:7
+module RuboCop::Cop::Metrics
+ extend ::RuboCop::Cop::LazyLoader
+end
# Checks that the ABC size of methods is not higher than the
# configured maximum. The ABC size is based on assignments, branches
@@ -28378,7 +29369,9 @@ RuboCop::Cop::Metrics::PerceivedComplexity::COUNTED_NODES = T.let(T.unsafe(nil),
# pkg:gem/rubocop#lib/rubocop/cop/metrics/perceived_complexity.rb:44
RuboCop::Cop::Metrics::PerceivedComplexity::MSG = T.let(T.unsafe(nil), String)
-# pkg:gem/rubocop#lib/rubocop/cop/metrics/utils/repeated_csend_discount.rb:6
+# Utility classes for `Metrics` department cops.
+#
+# pkg:gem/rubocop#lib/rubocop/cop/metrics.rb:22
module RuboCop::Cop::Metrics::Utils; end
# > ABC is .. a software size metric .. computed by counting the number
@@ -28657,8 +29650,13 @@ module RuboCop::Cop::Metrics::Utils::RepeatedCsendDiscount
def reset_repeated_csend; end
end
-# pkg:gem/rubocop#lib/rubocop/cop/migration/department_name.rb:8
-module RuboCop::Cop::Migration; end
+# Cops for the `Migration` department. The department's cops are registered for lazy loading
+# and their files are loaded on demand.
+#
+# pkg:gem/rubocop#lib/rubocop/cop/migration.rb:7
+module RuboCop::Cop::Migration
+ extend ::RuboCop::Cop::LazyLoader
+end
# department name.
#
@@ -28677,19 +29675,16 @@ class RuboCop::Cop::Migration::DepartmentName < ::RuboCop::Cop::Base
private
- # pkg:gem/rubocop#lib/rubocop/cop/migration/department_name.rb:57
+ # pkg:gem/rubocop#lib/rubocop/cop/migration/department_name.rb:53
def check_cop_name(name, comment, offset); end
- # pkg:gem/rubocop#lib/rubocop/cop/migration/department_name.rb:79
+ # pkg:gem/rubocop#lib/rubocop/cop/migration/department_name.rb:75
def contain_unexpected_character_for_department_name?(name); end
- # pkg:gem/rubocop#lib/rubocop/cop/migration/department_name.rb:53
- def disable_comment_offset; end
-
- # pkg:gem/rubocop#lib/rubocop/cop/migration/department_name.rb:83
+ # pkg:gem/rubocop#lib/rubocop/cop/migration/department_name.rb:79
def qualified_legacy_cop_name(cop_name); end
- # pkg:gem/rubocop#lib/rubocop/cop/migration/department_name.rb:73
+ # pkg:gem/rubocop#lib/rubocop/cop/migration/department_name.rb:69
def valid_content_token?(content_token); end
end
@@ -29053,8 +30048,13 @@ module RuboCop::Cop::MultilineLiteralBraceLayout
def opening_brace_on_same_line?(node); end
end
-# pkg:gem/rubocop#lib/rubocop/cop/naming/accessor_method_name.rb:5
-module RuboCop::Cop::Naming; end
+# Cops for the `Naming` department. The department's cops are registered for lazy loading
+# and their files are loaded on demand.
+#
+# pkg:gem/rubocop#lib/rubocop/cop/naming.rb:7
+module RuboCop::Cop::Naming
+ extend ::RuboCop::Cop::LazyLoader
+end
# Avoid prefixing accessor method names with `get_` or `set_`.
# Applies to both instance and class methods.
@@ -29064,6 +30064,11 @@ module RuboCop::Cop::Naming; end
# Getters (`get_attribute`) must have no arguments to be registered,
# and setters (`set_attribute(value)`) must have exactly one.
#
+# When `AllCops/UseProjectIndex` is enabled and the `rubydex` gem is
+# installed, methods that override a method defined by an ancestor
+# elsewhere in the project are not reported, since renaming an override
+# breaks the inherited contract.
+#
# @example
# # bad
# def set_attribute(value)
@@ -29089,33 +30094,42 @@ module RuboCop::Cop::Naming; end
# def set_value
# end
#
-# pkg:gem/rubocop#lib/rubocop/cop/naming/accessor_method_name.rb:38
+# pkg:gem/rubocop#lib/rubocop/cop/naming/accessor_method_name.rb:43
class RuboCop::Cop::Naming::AccessorMethodName < ::RuboCop::Cop::Base
- # pkg:gem/rubocop#lib/rubocop/cop/naming/accessor_method_name.rb:42
+ include ::RuboCop::Cop::ProjectIndexHelp
+
+ # pkg:gem/rubocop#lib/rubocop/cop/naming/accessor_method_name.rb:49
def on_def(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/naming/accessor_method_name.rb:50
+ # pkg:gem/rubocop#lib/rubocop/cop/naming/accessor_method_name.rb:58
def on_defs(node); end
private
- # pkg:gem/rubocop#lib/rubocop/cop/naming/accessor_method_name.rb:66
+ # pkg:gem/rubocop#lib/rubocop/cop/naming/accessor_method_name.rb:74
def bad_reader_name?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/naming/accessor_method_name.rb:70
+ # pkg:gem/rubocop#lib/rubocop/cop/naming/accessor_method_name.rb:78
def bad_writer_name?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/naming/accessor_method_name.rb:54
+ # pkg:gem/rubocop#lib/rubocop/cop/naming/accessor_method_name.rb:62
def message(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/naming/accessor_method_name.rb:62
+ # When `AllCops/UseProjectIndex` is enabled, methods that override a
+ # method defined by an ancestor elsewhere in the project are not
+ # reported: renaming an override breaks the inherited contract.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/naming/accessor_method_name.rb:87
+ def overrides_inherited_method?(node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/naming/accessor_method_name.rb:70
def proper_attribute_name?(node); end
end
-# pkg:gem/rubocop#lib/rubocop/cop/naming/accessor_method_name.rb:39
+# pkg:gem/rubocop#lib/rubocop/cop/naming/accessor_method_name.rb:46
RuboCop::Cop::Naming::AccessorMethodName::MSG_READER = T.let(T.unsafe(nil), String)
-# pkg:gem/rubocop#lib/rubocop/cop/naming/accessor_method_name.rb:40
+# pkg:gem/rubocop#lib/rubocop/cop/naming/accessor_method_name.rb:47
RuboCop::Cop::Naming::AccessorMethodName::MSG_WRITER = T.let(T.unsafe(nil), String)
# Checks for non-ascii characters in identifier and constant names.
@@ -30527,6 +31541,11 @@ RuboCop::Cop::Naming::PredicateMethod::MSG_PREDICATE = T.let(T.unsafe(nil), Stri
# offenses if the method has a Sorbet `sig` with a return type of
# `T::Boolean`. Dynamic methods are not supported with this configuration.
#
+# When `AllCops/UseProjectIndex` is enabled and the `rubydex` gem is
+# installed, methods that override a method defined by an ancestor
+# elsewhere in the project are not reported, since renaming an override
+# breaks the inherited contract.
+#
# @example NamePrefix: ['is_', 'has_', 'have_'] (default)
# # bad
# def is_even(value)
@@ -30606,52 +31625,63 @@ RuboCop::Cop::Naming::PredicateMethod::MSG_PREDICATE = T.let(T.unsafe(nil), Stri
# # good
# def_node_matcher(:even?) { |value| }
#
-# pkg:gem/rubocop#lib/rubocop/cop/naming/predicate_prefix.rb:103
+# pkg:gem/rubocop#lib/rubocop/cop/naming/predicate_prefix.rb:108
class RuboCop::Cop::Naming::PredicatePrefix < ::RuboCop::Cop::Base
+ include ::RuboCop::Cop::ProjectIndexHelp
include ::RuboCop::Cop::AllowedMethods
- # pkg:gem/rubocop#lib/rubocop/cop/naming/predicate_prefix.rb:107
+ # pkg:gem/rubocop#lib/rubocop/cop/naming/predicate_prefix.rb:113
def dynamic_method_define(param0 = T.unsafe(nil)); end
- # pkg:gem/rubocop#lib/rubocop/cop/naming/predicate_prefix.rb:126
+ # pkg:gem/rubocop#lib/rubocop/cop/naming/predicate_prefix.rb:145
+ def offending_prefixes_for(node, method_name); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/naming/predicate_prefix.rb:132
def on_def(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/naming/predicate_prefix.rb:139
+ # pkg:gem/rubocop#lib/rubocop/cop/naming/predicate_prefix.rb:151
def on_defs(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/naming/predicate_prefix.rb:113
+ # pkg:gem/rubocop#lib/rubocop/cop/naming/predicate_prefix.rb:119
def on_send(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/naming/predicate_prefix.rb:154
+ # pkg:gem/rubocop#lib/rubocop/cop/naming/predicate_prefix.rb:166
def sorbet_return_type(param0 = T.unsafe(nil)); end
- # pkg:gem/rubocop#lib/rubocop/cop/naming/predicate_prefix.rb:141
+ # pkg:gem/rubocop#lib/rubocop/cop/naming/predicate_prefix.rb:153
def validate_config; end
private
- # pkg:gem/rubocop#lib/rubocop/cop/naming/predicate_prefix.rb:164
+ # pkg:gem/rubocop#lib/rubocop/cop/naming/predicate_prefix.rb:176
def allowed_method_name?(method_name, prefix); end
- # pkg:gem/rubocop#lib/rubocop/cop/naming/predicate_prefix.rb:172
+ # pkg:gem/rubocop#lib/rubocop/cop/naming/predicate_prefix.rb:184
def expected_name(method_name, prefix); end
- # pkg:gem/rubocop#lib/rubocop/cop/naming/predicate_prefix.rb:186
+ # pkg:gem/rubocop#lib/rubocop/cop/naming/predicate_prefix.rb:198
def forbidden_prefixes; end
- # pkg:gem/rubocop#lib/rubocop/cop/naming/predicate_prefix.rb:182
+ # pkg:gem/rubocop#lib/rubocop/cop/naming/predicate_prefix.rb:194
def message(method_name, new_name); end
- # pkg:gem/rubocop#lib/rubocop/cop/naming/predicate_prefix.rb:198
+ # pkg:gem/rubocop#lib/rubocop/cop/naming/predicate_prefix.rb:210
def method_definition_macro?(macro_name); end
- # pkg:gem/rubocop#lib/rubocop/cop/naming/predicate_prefix.rb:190
+ # When `AllCops/UseProjectIndex` is enabled, methods that override a
+ # method defined by an ancestor elsewhere in the project are not
+ # reported: renaming an override breaks the inherited contract.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/naming/predicate_prefix.rb:217
+ def overrides_inherited_method?(node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/naming/predicate_prefix.rb:202
def predicate_prefixes; end
- # pkg:gem/rubocop#lib/rubocop/cop/naming/predicate_prefix.rb:158
+ # pkg:gem/rubocop#lib/rubocop/cop/naming/predicate_prefix.rb:170
def sorbet_sig?(node, return_type: T.unsafe(nil)); end
- # pkg:gem/rubocop#lib/rubocop/cop/naming/predicate_prefix.rb:194
+ # pkg:gem/rubocop#lib/rubocop/cop/naming/predicate_prefix.rb:206
def use_sorbet_sigs?; end
end
@@ -31006,7 +32036,7 @@ class RuboCop::Cop::Naming::VariableNumber < ::RuboCop::Cop::Base
private
- # pkg:gem/rubocop#lib/rubocop/cop/naming/variable_number.rb:142
+ # pkg:gem/rubocop#lib/rubocop/cop/naming/variable_number.rb:144
def message(style); end
end
@@ -31072,7 +32102,7 @@ class RuboCop::Cop::Offense
# @return [Integer]
# comparison result
#
- # pkg:gem/rubocop#lib/rubocop/cop/offense.rb:245
+ # pkg:gem/rubocop#lib/rubocop/cop/offense.rb:249
def <=>(other); end
# @api public
@@ -31080,22 +32110,22 @@ class RuboCop::Cop::Offense
# @return [Boolean]
# returns `true` if two offenses contain same attributes
#
- # pkg:gem/rubocop#lib/rubocop/cop/offense.rb:226
+ # pkg:gem/rubocop#lib/rubocop/cop/offense.rb:230
def ==(other); end
# @api private
#
- # pkg:gem/rubocop#lib/rubocop/cop/offense.rb:175
+ # pkg:gem/rubocop#lib/rubocop/cop/offense.rb:181
def column; end
# @api private
#
- # pkg:gem/rubocop#lib/rubocop/cop/offense.rb:185
+ # pkg:gem/rubocop#lib/rubocop/cop/offense.rb:189
def column_length; end
# @api private
#
- # pkg:gem/rubocop#lib/rubocop/cop/offense.rb:209
+ # pkg:gem/rubocop#lib/rubocop/cop/offense.rb:213
def column_range; end
# @api public
@@ -31119,7 +32149,7 @@ class RuboCop::Cop::Offense
# whether this offense can be automatically corrected via autocorrect.
# This includes todo comments, for example when requested with `--disable-uncorrectable`.
#
- # pkg:gem/rubocop#lib/rubocop/cop/offense.rb:116
+ # pkg:gem/rubocop#lib/rubocop/cop/offense.rb:124
def correctable?; end
# @api public
@@ -31130,7 +32160,7 @@ class RuboCop::Cop::Offense
# whether this offense is automatically corrected via
# autocorrect or a todo.
#
- # pkg:gem/rubocop#lib/rubocop/cop/offense.rb:127
+ # pkg:gem/rubocop#lib/rubocop/cop/offense.rb:135
def corrected?; end
# @api public
@@ -31140,7 +32170,7 @@ class RuboCop::Cop::Offense
# @return [Boolean]
# whether this offense is automatically disabled via a todo.
#
- # pkg:gem/rubocop#lib/rubocop/cop/offense.rb:137
+ # pkg:gem/rubocop#lib/rubocop/cop/offense.rb:145
def corrected_with_todo?; end
# @api public
@@ -31161,18 +32191,18 @@ class RuboCop::Cop::Offense
# whether this offense was locally disabled with a
# disable or todo where it occurred.
#
- # pkg:gem/rubocop#lib/rubocop/cop/offense.rb:148
+ # pkg:gem/rubocop#lib/rubocop/cop/offense.rb:156
def disabled?; end
- # pkg:gem/rubocop#lib/rubocop/cop/offense.rb:232
+ # pkg:gem/rubocop#lib/rubocop/cop/offense.rb:236
def eql?(other); end
# @api private
#
- # pkg:gem/rubocop#lib/rubocop/cop/offense.rb:194
+ # pkg:gem/rubocop#lib/rubocop/cop/offense.rb:198
def first_line; end
- # pkg:gem/rubocop#lib/rubocop/cop/offense.rb:234
+ # pkg:gem/rubocop#lib/rubocop/cop/offense.rb:238
def hash; end
# @api public
@@ -31180,22 +32210,22 @@ class RuboCop::Cop::Offense
# @return [Parser::Source::Range]
# the range of the code that is highlighted
#
- # pkg:gem/rubocop#lib/rubocop/cop/offense.rb:156
+ # pkg:gem/rubocop#lib/rubocop/cop/offense.rb:164
def highlighted_area; end
# @api private
#
- # pkg:gem/rubocop#lib/rubocop/cop/offense.rb:204
+ # pkg:gem/rubocop#lib/rubocop/cop/offense.rb:208
def last_column; end
# @api private
#
- # pkg:gem/rubocop#lib/rubocop/cop/offense.rb:199
+ # pkg:gem/rubocop#lib/rubocop/cop/offense.rb:203
def last_line; end
# @api private
#
- # pkg:gem/rubocop#lib/rubocop/cop/offense.rb:170
+ # pkg:gem/rubocop#lib/rubocop/cop/offense.rb:178
def line; end
# @api public
@@ -31211,10 +32241,10 @@ class RuboCop::Cop::Offense
# pkg:gem/rubocop#lib/rubocop/cop/offense.rb:28
def location; end
- # pkg:gem/rubocop#lib/rubocop/cop/offense.rb:101
+ # pkg:gem/rubocop#lib/rubocop/cop/offense.rb:107
def marshal_dump; end
- # pkg:gem/rubocop#lib/rubocop/cop/offense.rb:105
+ # pkg:gem/rubocop#lib/rubocop/cop/offense.rb:111
def marshal_load(array); end
# @api public
@@ -31236,7 +32266,7 @@ class RuboCop::Cop::Offense
# outputting column numbers, we want them to start at 1. One
# reason is that editors, such as Emacs, expect this.
#
- # pkg:gem/rubocop#lib/rubocop/cop/offense.rb:218
+ # pkg:gem/rubocop#lib/rubocop/cop/offense.rb:222
def real_column; end
# @api public
@@ -31250,7 +32280,7 @@ class RuboCop::Cop::Offense
# @api private
#
- # pkg:gem/rubocop#lib/rubocop/cop/offense.rb:180
+ # pkg:gem/rubocop#lib/rubocop/cop/offense.rb:184
def source_line; end
# @api private
@@ -31261,7 +32291,7 @@ class RuboCop::Cop::Offense
# @api private
# This is just for debugging purpose.
#
- # pkg:gem/rubocop#lib/rubocop/cop/offense.rb:163
+ # pkg:gem/rubocop#lib/rubocop/cop/offense.rb:171
def to_s; end
end
@@ -31764,13 +32794,102 @@ RuboCop::Cop::PreferredDelimiters::PERCENT_LITERAL_TYPES = T.let(T.unsafe(nil),
#
# pkg:gem/rubocop#lib/rubocop/cop/mixin/project_index_help.rb:13
module RuboCop::Cop::ProjectIndexHelp
- # pkg:gem/rubocop#lib/rubocop/cop/mixin/project_index_help.rb:20
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/project_index_help.rb:28
def external_dependency_checksum; end
private
- # pkg:gem/rubocop#lib/rubocop/cop/mixin/project_index_help.rb:30
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/project_index_help.rb:170
+ def compute_project_index_signature; end
+
+ # Returns the definitions among `definitions` that live in a file other than the
+ # one being inspected, ordered by path and line. Definitions without a `file://`
+ # URI (e.g. Rubydex's built-in declarations) are ignored.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/project_index_help.rb:41
+ def definitions_in_other_files(definitions); end
+
+ # Whether every link of the declaration's ancestry is resolved in the
+ # index: no definition of any ancestor has an unresolved superclass or
+ # mixin reference. Unresolved links silently vanish from `ancestors`,
+ # so this is the completeness check that must pass before reasoning
+ # about what an ancestry does or does not define. `extend` mixins only
+ # affect the singleton class; pass `ignore_extend: true` when reasoning
+ # about instance-side ancestry only.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/project_index_help.rb:129
+ def fully_resolved_index_ancestry?(declaration, ignore_extend: T.unsafe(nil)); end
+
+ # A namespace without any singleton method has no singleton-class
+ # declaration of its own, so the lookup starts from the first ancestor
+ # that has one; its `find_member` covers the rest of the chain.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/project_index_help.rb:105
+ def indexed_singleton_member(namespace, member_name); end
+
+ # The declaration of `declaration`'s singleton class, or nil when no
+ # singleton method is defined on it anywhere in the project.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/project_index_help.rb:98
+ def indexed_singleton_of(declaration); end
+
+ # Whether an ancestor of `scope` other than `scope` itself defines
+ # `member_name`.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/project_index_help.rb:116
+ def inherited_index_member?(scope, member_name); end
+
+ # The lexical nesting the node's constants resolve through, outermost
+ # first. Only scopes whose *body* contains the node count: a class or
+ # module's identifier and superclass expression are evaluated before its
+ # scope exists, so ancestors reached through them are excluded.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/project_index_help.rb:82
+ def lexical_nesting_of(node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/project_index_help.rb:53
+ def prior_definition_in_other_file(definitions); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/project_index_help.rb:161
def project_index_signature; end
+
+ # Resolves a constant node the way Ruby does: the first segment through
+ # the lexical nesting and every following segment inside the previous
+ # one. (Qualified names cannot be passed to `resolve_constant` as a
+ # whole, since it only applies the nesting to the full name. Later
+ # segments use `find_member` — the namespace and its ancestors — since
+ # `resolve_constant` cannot take an already-resolved namespace as the
+ # scope, only names as they appear in source.)
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/project_index_help.rb:64
+ def resolve_constant_in_index(const_node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/project_index_help.rb:144
+ def resolved_mixin_references?(definition, ignore_extend: T.unsafe(nil)); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/project_index_help.rb:138
+ def resolved_superclass_reference?(definition); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/project_index_help.rb:154
+ def same_file?(path, other); end
+
+ class << self
+ # The signature is a property of the index, not of the cop, and computing
+ # it stats every indexed file, so all cops sharing an index share one
+ # computation. A single-entry cache (instead of a hash keyed by index)
+ # avoids retaining stale graphs in long-lived processes.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/project_index_help.rb:25
+ def cached_index_signature; end
+
+ # The signature is a property of the index, not of the cop, and computing
+ # it stats every indexed file, so all cops sharing an index share one
+ # computation. A single-entry cache (instead of a hash keyed by index)
+ # avoids retaining stale graphs in long-lived processes.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/project_index_help.rb:25
+ def cached_index_signature=(_arg0); end
+ end
end
# pkg:gem/rubocop#lib/rubocop/cop/mixin/project_index_help.rb:14
@@ -31905,84 +33024,114 @@ class RuboCop::Cop::Registry
# pkg:gem/rubocop#lib/rubocop/cop/registry.rb:51
def initialize(cops = T.unsafe(nil), options = T.unsafe(nil)); end
- # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:237
+ # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:290
def ==(other); end
- # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:99
+ # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:138
def contains_cop_matching?(names); end
- # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:182
+ # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:222
def cops; end
- # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:229
+ # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:280
def cops_for_department(department); end
# @return [Boolean] Checks if given name is department
#
- # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:95
+ # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:134
def department?(name); end
- # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:149
+ # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:188
def department_missing?(badge, name); end
# @return [Array] list of departments for current cops.
#
- # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:79
+ # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:104
def departments; end
- # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:197
+ # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:245
def disabled(config); end
- # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:74
+ # Returns the names of the disabled cops without loading any of them.
+ #
+ # @api private
+ # @return [Array]
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:253
+ def disabled_names(config); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:90
def dismiss(cop); end
- # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:253
+ # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:306
def each(&block); end
- # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:193
+ # Returns the enabled cop classes, loading lazy-loaded cops only when they are enabled.
+ #
+ # @return [Array]
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:236
def enabled(config); end
- # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:201
+ # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:260
def enabled?(cop, config); end
- # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:217
- def enabled_pending_cop?(cop_cfg, config); end
+ # @param cop [Class, String, nil] the cop class or the qualified cop name
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:265
+ def enabled_pending_cop?(cop_cfg, config, cop = T.unsafe(nil)); end
- # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:70
+ # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:86
def enlist(cop); end
+ # Returns a new registry containing the cops whose badge satisfies the given block,
+ # keeping lazy-loaded cops unloaded.
+ #
+ # @api private
+ # @return [Registry]
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:124
+ def filter_by_badge(options = T.unsafe(nil)); end
+
# @param [String] cop_name
# @return [Class, nil]
#
- # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:259
+ # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:312
def find_by_cop_name(cop_name); end
# When a cop name is given returns a single-element array with the cop class.
# When a department name is given returns an array with all the cop classes
# for that department.
#
- # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:268
+ # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:323
def find_cops_by_directive(directive); end
- # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:273
+ # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:328
def freeze; end
- # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:64
- def lazy_load(cop_name, constant_name); end
+ # Registers a cop by its badge and constant name without loading the class.
+ # The constant is resolved (loading the cop's file through `autoload`) only
+ # when the cop class itself is needed.
+ #
+ # @param badge [Badge, String] the badge, or the qualified cop name
+ # @param constant_name [String] the fully qualified constant name
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:75
+ def lazy_load(badge, constant_name); end
- # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:188
+ # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:228
def length; end
- # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:224
+ # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:275
def names; end
- # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:233
+ # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:284
def names_for_department(department); end
# pkg:gem/rubocop#lib/rubocop/cop/registry.rb:49
def options; end
- # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:153
+ # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:192
def print_department_missing_warning(name, path); end
# Convert a user provided cop name into a properly namespaced name
@@ -32018,73 +33167,87 @@ class RuboCop::Cop::Registry
#
# @return [String] Qualified cop name
#
- # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:135
+ # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:174
def qualified_cop_name(name, path, warn: T.unsafe(nil)); end
- # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:168
+ # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:208
def qualify_badge(badge); end
- # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:249
+ # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:302
def select(&block); end
- # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:241
+ # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:294
def sort!; end
# @return [Hash{String => Array}]
#
- # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:176
+ # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:216
def to_h; end
- # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:161
+ # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:200
def unqualified_cop_names; end
# pkg:gem/rubocop#lib/rubocop/cop/registry.rb:49
def warnings; end
- # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:286
+ # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:341
def warnings?(path); end
# @return [Registry] Cops for that specific department.
#
- # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:85
+ # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:110
def with_department(department); end
# @return [Registry] Cops not for a specific department.
#
- # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:90
+ # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:115
def without_department(department); end
+ protected
+
+ # Adds an already-loaded cop class or a lazy-load constant name under the given badge,
+ # used to build filtered copies.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:349
+ def add_entry(badge, cop_or_name); end
+
private
- # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:296
+ # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:368
def clear_enrollment_queue; end
- # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:331
+ # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:441
def emit_warning(path, message); end
- # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:292
+ # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:385
+ def enabled_cop_name?(cop_name, config); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:356
def initialize_copy(reg); end
- # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:306
+ # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:401
def load_all_lazy_cops; end
- # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:310
+ # @return [Class, nil] the loaded cop class, or nil if the cop excluded
+ # itself from the registry while being loaded
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:410
def load_lazy_cop(badge); end
- # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:336
+ # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:446
def registered?(badge); end
- # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:321
- def resolve_badge(given_badge, real_badge, source_path, warn: T.unsafe(nil)); end
+ # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:380
+ def registered_badges; end
- # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:317
- def with(cops); end
+ # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:431
+ def resolve_badge(given_badge, real_badge, source_path, warn: T.unsafe(nil)); end
class << self
# pkg:gem/rubocop#lib/rubocop/cop/registry.rb:22
def all; end
- # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:283
+ # pkg:gem/rubocop#lib/rubocop/cop/registry.rb:338
def global; end
# pkg:gem/rubocop#lib/rubocop/cop/registry.rb:44
@@ -32104,6 +33267,120 @@ class RuboCop::Cop::Registry
end
end
+# Verifies that a candidate correction of the inspected source is a
+# syntactic no-op: the corrected source must parse successfully and produce
+# the same AST as the original.
+#
+# This turns "is this piece of syntax redundant?" questions into a
+# parser-backed check instead of a hand-maintained enumeration of grammar
+# rules: instead of modeling which constructs make (for example) a line
+# continuation or a pair of parentheses significant, a cop can apply the
+# correction and let the parser answer.
+#
+# Cops implement `#apply_reparse_correction(corrector, item)` and call
+# `verified_by_reparse(items)`, which returns the items whose corrections
+# are verified. Items sharing a reparse scope (the innermost method
+# definition or class/module body, which parse standalone and cannot
+# capture outer local variables) are verified together with a single
+# reparse, falling back to per-item verification when the batch does not
+# hold. Scope groups are keyed by node identity, since structurally
+# identical definitions in different places must not share a group.
+#
+# Two hooks customize the comparison:
+#
+# * `normalize_reparsed_ast(node)` - loosen strict tree equality where a
+# cop's correction is equivalence-preserving beyond parse identity (such
+# laws must be justified per cop; the default compares trees as-is).
+# * `preprocess_reparsed_source(source)` - rewrite both sides before
+# parsing (e.g. to neutralize `__LINE__` when a correction legitimately
+# shifts line numbers).
+#
+# `__FILE__` is handled by parsing with the original path, and fragments
+# containing `__LINE__` are verified by reparsing both sides so that
+# fragment line offsets cancel out.
+#
+# Note that comments are invisible to the AST, so corrections that may
+# touch comment text must be guarded separately by the caller.
+#
+# pkg:gem/rubocop#lib/rubocop/cop/mixin/reparsed_equivalence.rb:39
+module RuboCop::Cop::ReparsedEquivalence
+ private
+
+ # The corrections' edits are all contained within the scope, so the
+ # corrected fragment can be cut out of the corrected source by adjusting
+ # for the edits' length delta.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/reparsed_equivalence.rb:139
+ def corrected_scope_fragment(scope, corrected); end
+
+ # Whether the exact correction for `item` produces source that still
+ # parses, without requiring an equivalent AST. For corrections that
+ # intentionally change the tree.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/reparsed_equivalence.rb:66
+ def correction_parses?(item); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/reparsed_equivalence.rb:121
+ def corrections_verify?(scope, items); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/reparsed_equivalence.rb:93
+ def item_range(item); end
+
+ # Hook: loosen strict tree equality for corrections that are
+ # equivalence-preserving beyond parse identity.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/reparsed_equivalence.rb:77
+ def normalize_reparsed_ast(node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/reparsed_equivalence.rb:159
+ def normalized_original(original_source, original_ast); end
+
+ # Both sides are parsed with the original path so that `__FILE__`
+ # resolves identically. The original side is reparsed (instead of using
+ # the already parsed node) when preprocessing altered it or it contains
+ # `__LINE__`, whose values would otherwise differ from a fragment parsed
+ # at a different line offset.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/reparsed_equivalence.rb:151
+ def parses_equivalently?(original_source, original_ast, corrected_source); end
+
+ # Hook: rewrite both sides before parsing.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/reparsed_equivalence.rb:82
+ def preprocess_reparsed_source(source); end
+
+ # The innermost scope that both contains `range` and parses standalone.
+ # Method definitions and class/module bodies neither capture outer local
+ # variables nor continue an outer expression; blocks and single
+ # statements do not qualify, since an outer local would reparse as a
+ # method call.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/reparsed_equivalence.rb:102
+ def reparse_scope(range); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/reparsed_equivalence.rb:86
+ def scope_groups(items); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/reparsed_equivalence.rb:116
+ def verification_too_large?(scope); end
+
+ # Returns the items whose corrections are verified. `oversized` controls
+ # items whose reparse scope exceeds `MAX_VERIFICATION_FRAGMENT_SIZE`:
+ # `:report` accepts them unverified (for cops whose offense logic stands
+ # on its own and uses verification as a safety gate), `:verify` reparses
+ # regardless of size (for cops where verification is the offense logic).
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/reparsed_equivalence.rb:52
+ def verified_by_reparse(items, oversized: T.unsafe(nil)); end
+end
+
+# Above this size, verification does not reparse. What happens to such
+# items depends on `oversized`; in practice only machine-generated files
+# come near the limit.
+#
+# pkg:gem/rubocop#lib/rubocop/cop/mixin/reparsed_equivalence.rb:43
+RuboCop::Cop::ReparsedEquivalence::MAX_VERIFICATION_FRAGMENT_SIZE = T.let(T.unsafe(nil), Integer)
+
# Ensure a require statement is present for a standard library determined
# by variable library_name
#
@@ -32192,8 +33469,13 @@ module RuboCop::Cop::SafeAssignment
def safe_assignment_allowed?; end
end
-# pkg:gem/rubocop#lib/rubocop/cop/security/compound_hash.rb:5
-module RuboCop::Cop::Security; end
+# Cops for the `Security` department. The department's cops are registered for lazy loading
+# and their files are loaded on demand.
+#
+# pkg:gem/rubocop#lib/rubocop/cop/security.rb:7
+module RuboCop::Cop::Security
+ extend ::RuboCop::Cop::LazyLoader
+end
# Checks for implementations of the `hash` method which combine
# values using custom logic instead of delegating to `Array#hash`.
@@ -32680,49 +33962,72 @@ end
module RuboCop::Cop::StatementModifier
include ::RuboCop::Cop::Alignment
include ::RuboCop::Cop::LineLengthHelp
+ include ::RuboCop::Cop::AllowedPattern
private
- # pkg:gem/rubocop#lib/rubocop/cop/mixin/statement_modifier.rb:85
+ # Rather than comparing the rendered modifier form against the bare
+ # maximum, ask the question `Layout/LineLength` would: a line the user's
+ # configuration exempts (`Layout/LineLength` disabled at that line, an
+ # allowed pattern, an allowed cop directive, an allowed URI) fits by
+ # definition. This keeps every modifier cop consistent with
+ # `Layout/LineLength` instead of each reimplementing part of its policy.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/statement_modifier.rb:55
+ def acceptable_line_length?(line, line_number); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/statement_modifier.rb:68
+ def allowed_by_uri?(line); end
+
+ # `Layout/LineLength`'s allowed patterns, so a modifier line that the
+ # user has configured that cop to accept is not flagged for length here.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/statement_modifier.rb:81
+ def allowed_patterns; end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/statement_modifier.rb:121
def code_after(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/mixin/statement_modifier.rb:103
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/statement_modifier.rb:139
def comment_disables_cop?(comment); end
- # pkg:gem/rubocop#lib/rubocop/cop/mixin/statement_modifier.rb:77
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/statement_modifier.rb:113
def first_line_comment(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/mixin/statement_modifier.rb:57
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/statement_modifier.rb:93
def if_body_source(if_body); end
- # pkg:gem/rubocop#lib/rubocop/cop/mixin/statement_modifier.rb:43
- def length_in_modifier_form(node); end
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/statement_modifier.rb:42
+ def line_in_modifier_form(node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/statement_modifier.rb:75
+ def line_length_enabled_at_line?(line); end
- # pkg:gem/rubocop#lib/rubocop/cop/mixin/statement_modifier.rb:71
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/statement_modifier.rb:107
def method_source(if_body); end
- # pkg:gem/rubocop#lib/rubocop/cop/mixin/statement_modifier.rb:37
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/statement_modifier.rb:38
def modifier_fits_on_single_line?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/mixin/statement_modifier.rb:26
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/statement_modifier.rb:27
def non_eligible_body?(body); end
- # pkg:gem/rubocop#lib/rubocop/cop/mixin/statement_modifier.rb:33
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/statement_modifier.rb:34
def non_eligible_condition?(condition); end
- # pkg:gem/rubocop#lib/rubocop/cop/mixin/statement_modifier.rb:19
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/statement_modifier.rb:20
def non_eligible_node?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/mixin/statement_modifier.rb:65
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/statement_modifier.rb:101
def omitted_value_in_last_hash_arg?(if_body); end
- # pkg:gem/rubocop#lib/rubocop/cop/mixin/statement_modifier.rb:91
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/statement_modifier.rb:127
def parenthesize?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/mixin/statement_modifier.rb:11
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/statement_modifier.rb:12
def single_line_as_modifier?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/mixin/statement_modifier.rb:50
+ # pkg:gem/rubocop#lib/rubocop/cop/mixin/statement_modifier.rb:86
def to_modifier_form(node); end
end
@@ -32777,8 +34082,13 @@ module RuboCop::Cop::StringLiteralsHelp
def wrong_quotes?(src_or_node); end
end
-# pkg:gem/rubocop#lib/rubocop/cop/style/access_modifier_declarations.rb:5
-module RuboCop::Cop::Style; end
+# Cops for the `Style` department. The department's cops are registered for lazy loading
+# and their files are loaded on demand.
+#
+# pkg:gem/rubocop#lib/rubocop/cop/style.rb:7
+module RuboCop::Cop::Style
+ extend ::RuboCop::Cop::LazyLoader
+end
# Access modifiers should be declared to apply to a group of methods
# or inline before each method, depending on configuration.
@@ -33885,6 +35195,11 @@ RuboCop::Cop::Style::ArrayFirstLast::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Arr
# only cases where exactly one argument is provided can be replaced with
# `Array#intersect?` and are handled by this cop.
#
+# NOTE: In the block form, `include?` is only detected when its receiver is
+# an array literal, because `include?` is defined with different semantics
+# on many non-array classes (e.g. `String#include?` checks for substrings).
+# `member?` does not have this restriction.
+#
# @safety
# This cop cannot guarantee that `array1` and `array2` are
# actually arrays while method `intersect?` is for arrays only.
@@ -33902,7 +35217,7 @@ RuboCop::Cop::Style::ArrayFirstLast::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Arr
#
# # bad
# array1.any? { |elem| array2.member?(elem) }
-# array1.none? { |elem| array2.member?(elem) }
+# array1.none? { |elem| [1, 2].include?(elem) }
#
# # good
# array1.intersect?(array2)
@@ -33935,69 +35250,72 @@ RuboCop::Cop::Style::ArrayFirstLast::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Arr
# array1.intersect?(array2)
# !array1.intersect?(array2)
#
-# pkg:gem/rubocop#lib/rubocop/cop/style/array_intersect.rb:82
+# pkg:gem/rubocop#lib/rubocop/cop/style/array_intersect.rb:87
class RuboCop::Cop::Style::ArrayIntersect < ::RuboCop::Cop::Base
extend ::RuboCop::Cop::AutoCorrector
extend ::RuboCop::Cop::TargetRubyVersion
- # pkg:gem/rubocop#lib/rubocop/cop/style/array_intersect.rb:119
+ # pkg:gem/rubocop#lib/rubocop/cop/style/array_intersect.rb:124
def any_none_block_intersection(param0 = T.unsafe(nil)); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/array_intersect.rb:94
+ # pkg:gem/rubocop#lib/rubocop/cop/style/array_intersect.rb:99
def bad_intersection_check?(param0 = T.unsafe(nil), param1); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/array_intersect.rb:105
+ # pkg:gem/rubocop#lib/rubocop/cop/style/array_intersect.rb:110
def intersection_size_check?(param0 = T.unsafe(nil)); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/array_intersect.rb:158
+ # pkg:gem/rubocop#lib/rubocop/cop/style/array_intersect.rb:163
def on_block(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/array_intersect.rb:156
+ # pkg:gem/rubocop#lib/rubocop/cop/style/array_intersect.rb:161
def on_csend(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/array_intersect.rb:168
+ # pkg:gem/rubocop#lib/rubocop/cop/style/array_intersect.rb:176
def on_itblock(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/array_intersect.rb:167
+ # pkg:gem/rubocop#lib/rubocop/cop/style/array_intersect.rb:175
def on_numblock(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/array_intersect.rb:142
+ # pkg:gem/rubocop#lib/rubocop/cop/style/array_intersect.rb:147
def on_send(node); end
private
- # pkg:gem/rubocop#lib/rubocop/cop/style/array_intersect.rb:172
+ # pkg:gem/rubocop#lib/rubocop/cop/style/array_intersect.rb:180
def bad_intersection?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/array_intersect.rb:177
+ # pkg:gem/rubocop#lib/rubocop/cop/style/array_intersect.rb:185
def bad_intersection_predicates; end
- # pkg:gem/rubocop#lib/rubocop/cop/style/array_intersect.rb:189
+ # pkg:gem/rubocop#lib/rubocop/cop/style/array_intersect.rb:208
def register_offense(node, replacement); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/array_intersect.rb:185
+ # pkg:gem/rubocop#lib/rubocop/cop/style/array_intersect.rb:193
def straight?(method_name); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/style/array_intersect.rb:197
+ def uncorrectable_block_intersection?(node, method_name, argument, block_method); end
end
-# pkg:gem/rubocop#lib/rubocop/cop/style/array_intersect.rb:89
+# pkg:gem/rubocop#lib/rubocop/cop/style/array_intersect.rb:94
RuboCop::Cop::Style::ArrayIntersect::ACTIVE_SUPPORT_PREDICATES = T.let(T.unsafe(nil), Set)
-# pkg:gem/rubocop#lib/rubocop/cop/style/array_intersect.rb:91
+# pkg:gem/rubocop#lib/rubocop/cop/style/array_intersect.rb:96
RuboCop::Cop::Style::ArrayIntersect::ARRAY_SIZE_METHODS = T.let(T.unsafe(nil), Set)
-# pkg:gem/rubocop#lib/rubocop/cop/style/array_intersect.rb:137
+# pkg:gem/rubocop#lib/rubocop/cop/style/array_intersect.rb:142
RuboCop::Cop::Style::ArrayIntersect::MSG = T.let(T.unsafe(nil), String)
-# pkg:gem/rubocop#lib/rubocop/cop/style/array_intersect.rb:139
+# pkg:gem/rubocop#lib/rubocop/cop/style/array_intersect.rb:144
RuboCop::Cop::Style::ArrayIntersect::NEGATED_METHODS = T.let(T.unsafe(nil), Array)
-# pkg:gem/rubocop#lib/rubocop/cop/style/array_intersect.rb:88
+# pkg:gem/rubocop#lib/rubocop/cop/style/array_intersect.rb:93
RuboCop::Cop::Style::ArrayIntersect::PREDICATES = T.let(T.unsafe(nil), Set)
-# pkg:gem/rubocop#lib/rubocop/cop/style/array_intersect.rb:140
+# pkg:gem/rubocop#lib/rubocop/cop/style/array_intersect.rb:145
RuboCop::Cop::Style::ArrayIntersect::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
-# pkg:gem/rubocop#lib/rubocop/cop/style/array_intersect.rb:138
+# pkg:gem/rubocop#lib/rubocop/cop/style/array_intersect.rb:143
RuboCop::Cop::Style::ArrayIntersect::STRAIGHT_METHODS = T.let(T.unsafe(nil), Array)
# Use `include?(element)` instead of `intersect?([element])`.
@@ -34784,27 +36102,27 @@ RuboCop::Cop::Style::BlockDelimiters::BRACES_REQUIRED_MESSAGE = T.let(T.unsafe(n
# Corrector to correct conditional assignment in `case` statements.
#
-# pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:611
+# pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:633
class RuboCop::Cop::Style::CaseCorrector
extend ::RuboCop::Cop::Style::ConditionalAssignmentHelper
extend ::RuboCop::Cop::Style::ConditionalCorrectorHelper
class << self
- # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:616
+ # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:638
def correct(corrector, cop, node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:626
+ # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:648
def move_assignment_inside_condition(corrector, node); end
private
- # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:646
+ # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:668
def extract_branches(case_node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:640
+ # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:662
def extract_tail_branches(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:656
+ # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:678
def move_branch_inside_condition(corrector, branch, condition, assignment, column); end
end
end
@@ -35085,10 +36403,15 @@ RuboCop::Cop::Style::CharacterLiteral::MSG = T.let(T.unsafe(nil), String)
#
# Moving from `compact` to `nested` children requires knowledge of whether the
# outer parent is a module or a class. Moving from `nested` to `compact` requires
-# verification that the outer parent is defined elsewhere. RuboCop does not
-# have the knowledge to perform either operation safely and thus requires
+# verification that the outer parent is defined elsewhere. By default RuboCop does
+# not have the knowledge to perform either operation safely and thus requires
# manual oversight.
#
+# When `AllCops/UseProjectIndex` is enabled and the `rubydex` gem is installed,
+# the project-wide index is consulted to resolve whether the outer parent is a
+# class or a module, and compacting is skipped when the outer parent is not
+# defined elsewhere.
+#
# @example EnforcedStyle: nested (default)
# # bad
# class Foo::Bar
@@ -35113,95 +36436,118 @@ RuboCop::Cop::Style::CharacterLiteral::MSG = T.let(T.unsafe(nil), String)
#
# The compact style is only forced for classes/modules with one child.
#
-# pkg:gem/rubocop#lib/rubocop/cop/style/class_and_module_children.rb:53
+# pkg:gem/rubocop#lib/rubocop/cop/style/class_and_module_children.rb:58
class RuboCop::Cop::Style::ClassAndModuleChildren < ::RuboCop::Cop::Base
include ::RuboCop::Cop::Alignment
include ::RuboCop::Cop::ConfigurableEnforcedStyle
+ include ::RuboCop::Cop::ProjectIndexHelp
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector
- # pkg:gem/rubocop#lib/rubocop/cop/style/class_and_module_children.rb:62
+ # pkg:gem/rubocop#lib/rubocop/cop/style/class_and_module_children.rb:68
def on_class(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/class_and_module_children.rb:68
+ # pkg:gem/rubocop#lib/rubocop/cop/style/class_and_module_children.rb:74
def on_module(node); end
private
- # pkg:gem/rubocop#lib/rubocop/cop/style/class_and_module_children.rb:111
+ # pkg:gem/rubocop#lib/rubocop/cop/style/class_and_module_children.rb:136
def add_trailing_end(corrector, node, padding); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/class_and_module_children.rb:220
+ # pkg:gem/rubocop#lib/rubocop/cop/style/class_and_module_children.rb:276
def autocorrect(corrector, node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/class_and_module_children.rb:209
+ # pkg:gem/rubocop#lib/rubocop/cop/style/class_and_module_children.rb:265
def check_compact_style(node, body); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/class_and_module_children.rb:200
+ # pkg:gem/rubocop#lib/rubocop/cop/style/class_and_module_children.rb:256
def check_nested_style(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/class_and_module_children.rb:182
+ # pkg:gem/rubocop#lib/rubocop/cop/style/class_and_module_children.rb:238
def check_style(node, body, style); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/class_and_module_children.rb:116
+ # pkg:gem/rubocop#lib/rubocop/cop/style/class_and_module_children.rb:141
def compact_definition(corrector, node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/class_and_module_children.rb:137
+ # pkg:gem/rubocop#lib/rubocop/cop/style/class_and_module_children.rb:192
def compact_identifier_name(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/class_and_module_children.rb:122
+ # pkg:gem/rubocop#lib/rubocop/cop/style/class_and_module_children.rb:177
def compact_node(corrector, node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/class_and_module_children.rb:230
+ # pkg:gem/rubocop#lib/rubocop/cop/style/class_and_module_children.rb:286
def compact_node_name?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/class_and_module_children.rb:127
+ # pkg:gem/rubocop#lib/rubocop/cop/style/class_and_module_children.rb:182
def compact_replacement(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/class_and_module_children.rb:193
+ # Compacting removes this definition of the namespace, so the result raises
+ # `NameError` at load time unless the namespace is also defined somewhere else.
+ # With the project index this is verified before correcting; without it the
+ # correction is performed regardless (the cop's autocorrection is unsafe).
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/style/class_and_module_children.rb:156
+ def compactible_namespace?(node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/style/class_and_module_children.rb:249
def const_namespace?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/class_and_module_children.rb:168
+ # pkg:gem/rubocop#lib/rubocop/cop/style/class_and_module_children.rb:165
+ def definition_elsewhere?(definition, node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/style/class_and_module_children.rb:119
+ def heuristic_namespace_keyword(node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/style/class_and_module_children.rb:108
+ def indexed_namespace_keyword(node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/style/class_and_module_children.rb:225
def leading_spaces(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/class_and_module_children.rb:226
+ # pkg:gem/rubocop#lib/rubocop/cop/style/class_and_module_children.rb:104
+ def namespace_keyword(node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/style/class_and_module_children.rb:282
def needs_compacting?(body); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/class_and_module_children.rb:84
+ # pkg:gem/rubocop#lib/rubocop/cop/style/class_and_module_children.rb:90
def nest_definition(corrector, node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/class_and_module_children.rb:74
+ # pkg:gem/rubocop#lib/rubocop/cop/style/class_and_module_children.rb:80
def nest_or_compact(corrector, node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/class_and_module_children.rb:143
+ # pkg:gem/rubocop#lib/rubocop/cop/style/class_and_module_children.rb:198
def remove_end(corrector, body); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/class_and_module_children.rb:93
- def replace_namespace_keyword(corrector, node); end
-
- # pkg:gem/rubocop#lib/rubocop/cop/style/class_and_module_children.rb:172
+ # A tab counts as `configured_indentation_width` columns, matching the
+ # width `AlignmentCorrector` uses to convert `column_delta` back into
+ # tabs. Using `Layout/IndentationStyle`'s own `IndentationWidth` here
+ # would make the delta and the correction disagree.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/style/class_and_module_children.rb:233
def spaces_size(spaces_string); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/class_and_module_children.rb:102
+ # pkg:gem/rubocop#lib/rubocop/cop/style/class_and_module_children.rb:127
def split_on_double_colon(corrector, node, padding); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/class_and_module_children.rb:234
+ # pkg:gem/rubocop#lib/rubocop/cop/style/class_and_module_children.rb:294
def style_for_classes; end
- # pkg:gem/rubocop#lib/rubocop/cop/style/class_and_module_children.rb:238
- def style_for_modules; end
+ # pkg:gem/rubocop#lib/rubocop/cop/style/class_and_module_children.rb:290
+ def style_for_kind(kind); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/class_and_module_children.rb:177
- def tab_indentation_width; end
+ # pkg:gem/rubocop#lib/rubocop/cop/style/class_and_module_children.rb:298
+ def style_for_modules; end
- # pkg:gem/rubocop#lib/rubocop/cop/style/class_and_module_children.rb:156
+ # pkg:gem/rubocop#lib/rubocop/cop/style/class_and_module_children.rb:211
def unindent(corrector, node); end
end
-# pkg:gem/rubocop#lib/rubocop/cop/style/class_and_module_children.rb:60
+# pkg:gem/rubocop#lib/rubocop/cop/style/class_and_module_children.rb:66
RuboCop::Cop::Style::ClassAndModuleChildren::COMPACT_MSG = T.let(T.unsafe(nil), String)
-# pkg:gem/rubocop#lib/rubocop/cop/style/class_and_module_children.rb:59
+# pkg:gem/rubocop#lib/rubocop/cop/style/class_and_module_children.rb:65
RuboCop::Cop::Style::ClassAndModuleChildren::NESTED_MSG = T.let(T.unsafe(nil), String)
# Enforces consistent use of `Object#is_a?` or `Object#kind_of?`.
@@ -36634,80 +37980,87 @@ RuboCop::Cop::Style::ConcatArrayLiterals::RESTRICT_ON_SEND = T.let(T.unsafe(nil)
class RuboCop::Cop::Style::ConditionalAssignment < ::RuboCop::Cop::Base
include ::RuboCop::Cop::Style::ConditionalAssignmentHelper
include ::RuboCop::Cop::ConfigurableEnforcedStyle
+ include ::RuboCop::Cop::ReparsedEquivalence
extend ::RuboCop::Cop::AutoCorrector
- # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:218
+ # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:219
def assignment_type?(param0 = T.unsafe(nil)); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:302
+ # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:304
def candidate_condition?(param0 = T.unsafe(nil)); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:226
+ # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:227
def on_and_asgn(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:254
+ # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:255
def on_case(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:264
+ # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:265
def on_case_match(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:226
+ # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:227
def on_casgn(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:226
+ # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:227
def on_cvasgn(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:226
+ # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:227
def on_gvasgn(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:240
+ # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:241
def on_if(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:226
+ # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:227
def on_ivasgn(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:226
+ # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:227
def on_lvasgn(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:226
+ # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:227
def on_masgn(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:226
+ # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:227
def on_op_asgn(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:226
+ # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:227
def on_or_asgn(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:234
+ # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:235
def on_send(node); end
private
- # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:308
+ # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:310
def allowed_single_line?(branches); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:382
+ # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:404
def allowed_statements?(branches); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:304
+ # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:306
def allowed_ternary?(assignment); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:312
+ # `ReparsedEquivalence#correction_parses?` contract: apply the exact
+ # correction this cop would perform.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:400
+ def apply_reparse_correction(corrector, node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:314
def assignment_node(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:359
+ # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:361
def assignment_types_match?(*nodes); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:374
+ # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:377
def autocorrect(corrector, node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:297
+ # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:299
def candidate_node?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:276
+ # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:277
def check_assignment_to_condition(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:365
+ # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:367
def check_node(node, branches); end
# If `Layout/LineLength` is enabled, we do not want to introduce an
@@ -36718,50 +38071,61 @@ class RuboCop::Cop::Style::ConditionalAssignment < ::RuboCop::Cop::Base
# of the longest line + the length of the corrected assignment is
# greater than the max configured line length
#
- # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:398
+ # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:420
def correction_exceeds_line_limit?(node, branches); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:421
+ # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:443
def include_ternary?; end
- # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:352
+ # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:354
def lhs_all_match?(branches); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:410
+ # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:432
def longest_line(node, assignment); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:406
+ # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:428
def longest_line_exceeds_line_limit?(node, assignment); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:336
+ # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:338
def move_assignment_inside_condition(corrector, node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:326
+ # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:328
def move_assignment_outside_condition(corrector, node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:417
+ # The correction rewrites the conditional structurally, so full AST
+ # equivalence cannot be asserted, but the result must at least reparse
+ # to valid Ruby. Applying the correction to a throwaway buffer here
+ # also exercises the branch-shape handling before an offense is even
+ # reported, so unusual branches that the corrector cannot handle are
+ # left alone instead of crashing or emitting invalid code - the bug
+ # class behind most of this cop's history.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:392
+ def safe_to_correct?(node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:439
def single_line_conditions_only?; end
- # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:348
+ # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:350
def ternary_condition?(node); end
end
-# pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:211
+# pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:212
RuboCop::Cop::Style::ConditionalAssignment::ASSIGNMENT_TYPES = T.let(T.unsafe(nil), Array)
-# pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:209
+# pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:210
RuboCop::Cop::Style::ConditionalAssignment::ASSIGN_TO_CONDITION_MSG = T.let(T.unsafe(nil), String)
-# pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:212
+# pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:213
RuboCop::Cop::Style::ConditionalAssignment::ENABLED = T.let(T.unsafe(nil), String)
-# pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:208
+# pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:209
RuboCop::Cop::Style::ConditionalAssignment::MSG = T.let(T.unsafe(nil), String)
-# pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:213
+# pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:214
RuboCop::Cop::Style::ConditionalAssignment::SINGLE_LINE_CONDITIONS_ONLY = T.let(T.unsafe(nil), String)
-# pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:210
+# pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:211
RuboCop::Cop::Style::ConditionalAssignment::VARIABLE_ASSIGNMENT_TYPES = T.let(T.unsafe(nil), Array)
# Helper module to provide common methods to classes needed for the
@@ -36827,27 +38191,27 @@ RuboCop::Cop::Style::ConditionalAssignmentHelper::KEYWORD = T.let(T.unsafe(nil),
# Helper module to provide common methods to ConditionalAssignment
# correctors
#
-# pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:428
+# pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:450
module RuboCop::Cop::Style::ConditionalCorrectorHelper
- # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:466
+ # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:488
def assignment(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:495
+ # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:517
def correct_branches(corrector, branches); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:472
+ # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:494
def correct_if_branches(corrector, cop, node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:430
+ # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:452
def remove_whitespace_in_branches(corrector, branch, condition, column); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:482
+ # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:504
def replace_branch_assignment(corrector, branch); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:451
+ # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:473
def same_line?(node1, node2); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:455
+ # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:477
def white_space_range(node, column); end
end
@@ -36938,39 +38302,39 @@ class RuboCop::Cop::Style::Copyright < ::RuboCop::Cop::Base
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector
- # pkg:gem/rubocop#lib/rubocop/cop/style/copyright.rb:28
+ # pkg:gem/rubocop#lib/rubocop/cop/style/copyright.rb:29
def on_new_investigation; end
private
- # pkg:gem/rubocop#lib/rubocop/cop/style/copyright.rb:45
+ # pkg:gem/rubocop#lib/rubocop/cop/style/copyright.rb:50
def autocorrect(corrector); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/copyright.rb:114
+ # pkg:gem/rubocop#lib/rubocop/cop/style/copyright.rb:119
def autocorrect_notice; end
- # pkg:gem/rubocop#lib/rubocop/cop/style/copyright.rb:86
+ # pkg:gem/rubocop#lib/rubocop/cop/style/copyright.rb:91
def encoding_token?(processed_source, token_index); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/copyright.rb:72
+ # pkg:gem/rubocop#lib/rubocop/cop/style/copyright.rb:77
def insert_notice_before(processed_source); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/copyright.rb:52
+ # pkg:gem/rubocop#lib/rubocop/cop/style/copyright.rb:57
def normalized_autocorrect_notice; end
- # pkg:gem/rubocop#lib/rubocop/cop/style/copyright.rb:110
+ # pkg:gem/rubocop#lib/rubocop/cop/style/copyright.rb:115
def notice; end
- # pkg:gem/rubocop#lib/rubocop/cop/style/copyright.rb:93
+ # pkg:gem/rubocop#lib/rubocop/cop/style/copyright.rb:98
def notice_found?(processed_source); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/copyright.rb:106
+ # pkg:gem/rubocop#lib/rubocop/cop/style/copyright.rb:111
def notice_regexp; end
- # pkg:gem/rubocop#lib/rubocop/cop/style/copyright.rb:79
+ # pkg:gem/rubocop#lib/rubocop/cop/style/copyright.rb:84
def shebang_token?(processed_source, token_index); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/copyright.rb:61
+ # pkg:gem/rubocop#lib/rubocop/cop/style/copyright.rb:66
def verify_autocorrect_notice!; end
end
@@ -37295,6 +38659,16 @@ RuboCop::Cop::Style::DirEmpty::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
#
# Specific cops can be allowed with the `AllowedCops` configuration. Note that
#
+# Alternatively, specific cops can be disallowed with the `DisallowedCops`
+# configuration. When `DisallowedCops` is set, only directives for the listed
+# cops (and `all`) will be flagged. This is useful when you want
+# to protect a small set of critical cops from being disabled rather than
+# allowlisting all other cops. `AllowedCops` and `DisallowedCops` should not
+# both be set at the same time; if `DisallowedCops` is set, it takes precedence.
+#
+# This cop cannot be disabled via directive comments when it is explicitly
+# enabled with `Enabled: true`. This prevents users from bypassing the cop
+#
# @example
# # bad
# def foo
@@ -37309,32 +38683,45 @@ RuboCop::Cop::Style::DirEmpty::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
# def foo
# end
#
-# pkg:gem/rubocop#lib/rubocop/cop/style/disable_cops_within_source_code_directive.rb:33
+# @example DisallowedCops: [Lint/Void]
+# # bad
+# foo
+#
+# # good
+# foo
+#
+# pkg:gem/rubocop#lib/rubocop/cop/style/disable_cops_within_source_code_directive.rb:55
class RuboCop::Cop::Style::DisableCopsWithinSourceCodeDirective < ::RuboCop::Cop::Base
extend ::RuboCop::Cop::AutoCorrector
- # pkg:gem/rubocop#lib/rubocop/cop/style/disable_cops_within_source_code_directive.rb:40
+ # pkg:gem/rubocop#lib/rubocop/cop/style/disable_cops_within_source_code_directive.rb:62
def on_new_investigation; end
private
- # pkg:gem/rubocop#lib/rubocop/cop/style/disable_cops_within_source_code_directive.rb:77
+ # pkg:gem/rubocop#lib/rubocop/cop/style/disable_cops_within_source_code_directive.rb:111
def allowed_cops; end
- # pkg:gem/rubocop#lib/rubocop/cop/style/disable_cops_within_source_code_directive.rb:81
+ # pkg:gem/rubocop#lib/rubocop/cop/style/disable_cops_within_source_code_directive.rb:115
def any_cops_allowed?; end
- # pkg:gem/rubocop#lib/rubocop/cop/style/disable_cops_within_source_code_directive.rb:72
+ # pkg:gem/rubocop#lib/rubocop/cop/style/disable_cops_within_source_code_directive.rb:75
+ def compute_disallowed_cops(directive_cops); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/style/disable_cops_within_source_code_directive.rb:106
def directive_cops(comment); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/disable_cops_within_source_code_directive.rb:53
+ # pkg:gem/rubocop#lib/rubocop/cop/style/disable_cops_within_source_code_directive.rb:119
+ def disallowed_cops_config; end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/style/disable_cops_within_source_code_directive.rb:87
def register_offense(comment, directive_cops, disallowed_cops); end
end
-# pkg:gem/rubocop#lib/rubocop/cop/style/disable_cops_within_source_code_directive.rb:37
+# pkg:gem/rubocop#lib/rubocop/cop/style/disable_cops_within_source_code_directive.rb:59
RuboCop::Cop::Style::DisableCopsWithinSourceCodeDirective::MSG = T.let(T.unsafe(nil), String)
-# pkg:gem/rubocop#lib/rubocop/cop/style/disable_cops_within_source_code_directive.rb:38
+# pkg:gem/rubocop#lib/rubocop/cop/style/disable_cops_within_source_code_directive.rb:60
RuboCop::Cop::Style::DisableCopsWithinSourceCodeDirective::MSG_FOR_COPS = T.let(T.unsafe(nil), String)
# When using `class_eval` (or other `eval`) with string interpolation,
@@ -37462,6 +38849,11 @@ RuboCop::Cop::Style::DocumentDynamicEvalDefinition::RESTRICT_ON_SEND = T.let(T.u
# The documentation requirement is annulled if the class or module has
# same for all its children.
#
+# When `AllCops/UseProjectIndex` is enabled and the `rubydex` gem is
+# installed, a reopened class or module is not reported when any of its
+# other definition sites (in the same or another file) carries a
+# documentation comment.
+#
# @example
# # bad
# class Person
@@ -37518,75 +38910,98 @@ RuboCop::Cop::Style::DocumentDynamicEvalDefinition::RESTRICT_ON_SEND = T.let(T.u
# end
# end
#
-# pkg:gem/rubocop#lib/rubocop/cop/style/documentation.rb:72
+# pkg:gem/rubocop#lib/rubocop/cop/style/documentation.rb:77
class RuboCop::Cop::Style::Documentation < ::RuboCop::Cop::Base
include ::RuboCop::Cop::DocumentationComment
+ include ::RuboCop::Cop::ProjectIndexHelp
include ::RuboCop::Cop::RangeHelp
- # pkg:gem/rubocop#lib/rubocop/cop/style/documentation.rb:79
+ # pkg:gem/rubocop#lib/rubocop/cop/style/documentation.rb:89
def constant_definition?(param0 = T.unsafe(nil)); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/documentation.rb:85
+ # pkg:gem/rubocop#lib/rubocop/cop/style/documentation.rb:95
def constant_visibility_declaration?(param0 = T.unsafe(nil)); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/documentation.rb:90
+ # pkg:gem/rubocop#lib/rubocop/cop/style/documentation.rb:100
def include_statement?(param0 = T.unsafe(nil)); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/documentation.rb:94
+ # pkg:gem/rubocop#lib/rubocop/cop/style/documentation.rb:104
def on_class(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/documentation.rb:100
+ # pkg:gem/rubocop#lib/rubocop/cop/style/documentation.rb:110
def on_module(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/documentation.rb:82
+ # pkg:gem/rubocop#lib/rubocop/cop/style/documentation.rb:92
def outer_module(param0); end
private
- # pkg:gem/rubocop#lib/rubocop/cop/style/documentation.rb:174
+ # pkg:gem/rubocop#lib/rubocop/cop/style/documentation.rb:127
+ def add_documentation_offense(node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/style/documentation.rb:221
def allowed_constants; end
- # pkg:gem/rubocop#lib/rubocop/cop/style/documentation.rb:106
+ # pkg:gem/rubocop#lib/rubocop/cop/style/documentation.rb:116
def check(node, body); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/documentation.rb:147
+ # pkg:gem/rubocop#lib/rubocop/cop/style/documentation.rb:194
def compact_namespace?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/documentation.rb:143
+ # pkg:gem/rubocop#lib/rubocop/cop/style/documentation.rb:190
def constant_allowed?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/documentation.rb:139
+ # pkg:gem/rubocop#lib/rubocop/cop/style/documentation.rb:186
def constant_declaration?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/documentation.rb:178
+ # A reopened class or module is typically documented at a single
+ # definition site. When `AllCops/UseProjectIndex` is enabled, the
+ # documentation requirement is satisfied by a comment on any other
+ # definition of the same class or module.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/style/documentation.rb:137
+ def documented_elsewhere?(node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/style/documentation.rb:158
+ def documenting_comments?(definition); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/style/documentation.rb:225
def identifier(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/documentation.rb:123
+ # pkg:gem/rubocop#lib/rubocop/cop/style/documentation.rb:170
def include_statement_only?(body); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/documentation.rb:129
+ # pkg:gem/rubocop#lib/rubocop/cop/style/documentation.rb:176
def namespace?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/documentation.rb:170
+ # pkg:gem/rubocop#lib/rubocop/cop/style/documentation.rb:217
def nodoc(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/documentation.rb:166
+ # pkg:gem/rubocop#lib/rubocop/cop/style/documentation.rb:213
def nodoc?(comment, require_all: T.unsafe(nil)); end
# Note: How end-of-line comments are associated with code changed in
# parser-2.2.0.4.
#
- # pkg:gem/rubocop#lib/rubocop/cop/style/documentation.rb:156
+ # pkg:gem/rubocop#lib/rubocop/cop/style/documentation.rb:203
def nodoc_comment?(node, require_all: T.unsafe(nil)); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/documentation.rb:118
+ # pkg:gem/rubocop#lib/rubocop/cop/style/documentation.rb:165
def nodoc_self_or_outer_module?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/documentation.rb:186
+ # pkg:gem/rubocop#lib/rubocop/cop/style/documentation.rb:150
+ def other_definition?(definition, node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/style/documentation.rb:233
def qualify_const(node); end
end
-# pkg:gem/rubocop#lib/rubocop/cop/style/documentation.rb:76
+# Comments that configure tooling rather than document the code.
+#
+# pkg:gem/rubocop#lib/rubocop/cop/style/documentation.rb:85
+RuboCop::Cop::Style::Documentation::DIRECTIVE_COMMENT_REGEXP = T.let(T.unsafe(nil), Regexp)
+
+# pkg:gem/rubocop#lib/rubocop/cop/style/documentation.rb:82
RuboCop::Cop::Style::Documentation::MSG = T.let(T.unsafe(nil), String)
# Checks for missing documentation comment for public methods.
@@ -37709,7 +39124,7 @@ class RuboCop::Cop::Style::DocumentationMethod < ::RuboCop::Cop::Base
private
- # pkg:gem/rubocop#lib/rubocop/cop/style/documentation_method.rb:146
+ # pkg:gem/rubocop#lib/rubocop/cop/style/documentation_method.rb:150
def allowed_methods; end
# pkg:gem/rubocop#lib/rubocop/cop/style/documentation_method.rb:130
@@ -38862,16 +40277,13 @@ class RuboCop::Cop::Style::EndlessMethod < ::RuboCop::Cop::Base
private
- # pkg:gem/rubocop#lib/rubocop/cop/style/endless_method.rb:229
+ # pkg:gem/rubocop#lib/rubocop/cop/style/endless_method.rb:219
def arguments(node, missing = T.unsafe(nil)); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/endless_method.rb:233
+ # pkg:gem/rubocop#lib/rubocop/cop/style/endless_method.rb:223
def can_be_made_endless?(node); end
# pkg:gem/rubocop#lib/rubocop/cop/style/endless_method.rb:209
- def correct_to_multiline(corrector, node); end
-
- # pkg:gem/rubocop#lib/rubocop/cop/style/endless_method.rb:219
def endless_replacement(node); end
# pkg:gem/rubocop#lib/rubocop/cop/style/endless_method.rb:164
@@ -38886,13 +40298,13 @@ class RuboCop::Cop::Style::EndlessMethod < ::RuboCop::Cop::Base
# pkg:gem/rubocop#lib/rubocop/cop/style/endless_method.rb:173
def handle_require_single_line_style(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/endless_method.rb:245
+ # pkg:gem/rubocop#lib/rubocop/cop/style/endless_method.rb:235
def modifier_offset(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/endless_method.rb:225
+ # pkg:gem/rubocop#lib/rubocop/cop/style/endless_method.rb:215
def receiver(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/endless_method.rb:237
+ # pkg:gem/rubocop#lib/rubocop/cop/style/endless_method.rb:227
def too_long_when_made_endless?(node); end
# pkg:gem/rubocop#lib/rubocop/cop/style/endless_method.rb:202
@@ -40777,6 +42189,7 @@ class RuboCop::Cop::Style::GuardClause < ::RuboCop::Cop::Base
include ::RuboCop::Cop::MinBodyLength
include ::RuboCop::Cop::Alignment
include ::RuboCop::Cop::LineLengthHelp
+ include ::RuboCop::Cop::AllowedPattern
include ::RuboCop::Cop::StatementModifier
extend ::RuboCop::Cop::AutoCorrector
@@ -40978,12 +42391,15 @@ class RuboCop::Cop::Style::HashConversion < ::RuboCop::Cop::Base
private
- # pkg:gem/rubocop#lib/rubocop/cop/style/hash_conversion.rb:145
+ # pkg:gem/rubocop#lib/rubocop/cop/style/hash_conversion.rb:153
def allowed_splat_argument?; end
- # pkg:gem/rubocop#lib/rubocop/cop/style/hash_conversion.rb:138
+ # pkg:gem/rubocop#lib/rubocop/cop/style/hash_conversion.rb:146
def args_to_hash(args); end
+ # pkg:gem/rubocop#lib/rubocop/cop/style/hash_conversion.rb:135
+ def correct_multi_argument(node); end
+
# pkg:gem/rubocop#lib/rubocop/cop/style/hash_conversion.rb:123
def multi_argument(node); end
@@ -41384,7 +42800,7 @@ class RuboCop::Cop::Style::HashLookupMethod < ::RuboCop::Cop::Base
private
- # pkg:gem/rubocop#lib/rubocop/cop/style/hash_lookup_method.rb:94
+ # pkg:gem/rubocop#lib/rubocop/cop/style/hash_lookup_method.rb:90
def correct_brackets_to_fetch(corrector, node); end
# pkg:gem/rubocop#lib/rubocop/cop/style/hash_lookup_method.rb:84
@@ -41946,7 +43362,7 @@ class RuboCop::Cop::Style::IdenticalConditionalBranches < ::RuboCop::Cop::Base
# pkg:gem/rubocop#lib/rubocop/cop/style/identical_conditional_branches.rb:218
def correct_assignment(corrector, node, expression, insert_position); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/identical_conditional_branches.rb:228
+ # pkg:gem/rubocop#lib/rubocop/cop/style/identical_conditional_branches.rb:230
def correct_no_assignment(corrector, node, expression, insert_position); end
# pkg:gem/rubocop#lib/rubocop/cop/style/identical_conditional_branches.rb:173
@@ -41955,22 +43371,29 @@ class RuboCop::Cop::Style::IdenticalConditionalBranches < ::RuboCop::Cop::Base
# `elsif` branches show up in the if node as nested `else` branches. We
# need to recursively iterate over all `else` branches.
#
- # pkg:gem/rubocop#lib/rubocop/cop/style/identical_conditional_branches.rb:252
+ # pkg:gem/rubocop#lib/rubocop/cop/style/identical_conditional_branches.rb:263
def expand_elses(branch); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/identical_conditional_branches.rb:267
+ # pkg:gem/rubocop#lib/rubocop/cop/style/identical_conditional_branches.rb:278
def head(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/identical_conditional_branches.rb:236
+ # The leading indentation of the line the conditional starts on, so a
+ # hoisted expression keeps the surrounding nesting instead of landing
+ # at column zero.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/style/identical_conditional_branches.rb:243
+ def indentation_of(node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/style/identical_conditional_branches.rb:247
def last_child_of_parent?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/identical_conditional_branches.rb:246
+ # pkg:gem/rubocop#lib/rubocop/cop/style/identical_conditional_branches.rb:257
def message(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/identical_conditional_branches.rb:242
+ # pkg:gem/rubocop#lib/rubocop/cop/style/identical_conditional_branches.rb:253
def single_child_branch?(branch_node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/identical_conditional_branches.rb:263
+ # pkg:gem/rubocop#lib/rubocop/cop/style/identical_conditional_branches.rb:274
def tail(node); end
end
@@ -41979,24 +43402,24 @@ RuboCop::Cop::Style::IdenticalConditionalBranches::MSG = T.let(T.unsafe(nil), St
# Corrector to correct conditional assignment in `if` statements.
#
-# pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:564
+# pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:586
class RuboCop::Cop::Style::IfCorrector
extend ::RuboCop::Cop::Style::ConditionalAssignmentHelper
extend ::RuboCop::Cop::Style::ConditionalCorrectorHelper
class << self
- # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:569
+ # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:591
def correct(corrector, cop, node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:573
+ # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:595
def move_assignment_inside_condition(corrector, node); end
private
- # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:587
+ # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:609
def extract_tail_branches(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:594
+ # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:616
def move_branch_inside_condition(corrector, branch, condition, assignment, column); end
end
end
@@ -42167,126 +43590,114 @@ RuboCop::Cop::Style::IfInsideElse::MSG = T.let(T.unsafe(nil), String)
class RuboCop::Cop::Style::IfUnlessModifier < ::RuboCop::Cop::Base
include ::RuboCop::Cop::Alignment
include ::RuboCop::Cop::LineLengthHelp
- include ::RuboCop::Cop::StatementModifier
include ::RuboCop::Cop::AllowedPattern
+ include ::RuboCop::Cop::StatementModifier
include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::CommentsHelp
extend ::RuboCop::Cop::AutoCorrector
- # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:93
+ # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:95
def on_if(node); end
private
- # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:191
- def allowed_patterns; end
-
- # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:284
+ # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:243
def another_modifier_if_on_same_line?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:298
+ # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:257
def another_statement_on_same_line?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:152
+ # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:154
def autocorrect(corrector, node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:278
+ # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:237
def collection_from_ancestor(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:352
+ # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:311
def comment_on_node_line(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:126
+ # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:128
def defined_argument_is_undefined?(if_node, defined_node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:118
+ # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:120
def defined_nodes(condition); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:114
+ # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:116
def endless_method?(body); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:339
+ # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:298
def extract_heredoc_from(last_argument); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:271
+ # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:230
def find_containing_collection(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:235
- def line_length_enabled_at_line?(line); end
-
- # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:144
+ # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:146
def message(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:248
+ # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:207
def multiline_inside_collection?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:239
+ # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:198
def named_capture_in_condition?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:243
+ # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:202
def non_eligible_node?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:294
+ # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:253
def non_simple_if_unless?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:136
+ # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:138
def pattern_matching_nodes(condition); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:356
+ # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:315
def remove_comment(corrector, _node, comment); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:346
+ # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:305
def remove_heredoc(corrector, heredoc); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:161
+ # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:163
def replacement_for_modifier_form(corrector, node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:267
+ # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:226
def shares_line_with?(inner, node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:255
+ # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:214
def sibling_if_shares_line?(child, node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:332
+ # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:291
def to_modifier_form_with_move_comment(node, indentation, comment); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:312
+ # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:271
def to_normal_form(node, indentation); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:320
+ # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:279
def to_normal_form_with_heredoc(node, indentation, heredoc); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:185
+ # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:187
def too_long_due_to_comment_after_modifier?(node, comment); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:180
+ # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:182
def too_long_due_to_modifier?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:218
- def too_long_line_based_on_allow_cop_directives?(range, line); end
-
- # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:226
- def too_long_line_based_on_allow_uri?(line); end
-
- # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:209
- def too_long_line_based_on_config?(range, line); end
-
- # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:196
+ # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:193
def too_long_single_line?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:260
+ # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:219
def unwrap_begin(node); end
class << self
- # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:88
+ # pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:90
def autocorrect_incompatible_with; end
end
end
-# pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:83
+# pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:81
RuboCop::Cop::Style::IfUnlessModifier::MSG_USE_MODIFIER = T.let(T.unsafe(nil), String)
-# pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:86
+# pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:84
+RuboCop::Cop::Style::IfUnlessModifier::MSG_USE_MODIFIER_PARENS = T.let(T.unsafe(nil), String)
+
+# pkg:gem/rubocop#lib/rubocop/cop/style/if_unless_modifier.rb:88
RuboCop::Cop::Style::IfUnlessModifier::MSG_USE_NORMAL = T.let(T.unsafe(nil), String)
# Checks for if and unless statements used as modifiers of other if or
@@ -42313,6 +43724,7 @@ RuboCop::Cop::Style::IfUnlessModifier::MSG_USE_NORMAL = T.let(T.unsafe(nil), Str
class RuboCop::Cop::Style::IfUnlessModifierOfIfUnless < ::RuboCop::Cop::Base
include ::RuboCop::Cop::Alignment
include ::RuboCop::Cop::LineLengthHelp
+ include ::RuboCop::Cop::AllowedPattern
include ::RuboCop::Cop::StatementModifier
extend ::RuboCop::Cop::AutoCorrector
@@ -42857,28 +44269,42 @@ class RuboCop::Cop::Style::InvertibleUnlessCondition < ::RuboCop::Cop::Base
private
- # pkg:gem/rubocop#lib/rubocop/cop/style/invertible_unless_condition.rb:133
+ # pkg:gem/rubocop#lib/rubocop/cop/style/invertible_unless_condition.rb:140
def autocorrect(corrector, node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/invertible_unless_condition.rb:146
+ # pkg:gem/rubocop#lib/rubocop/cop/style/invertible_unless_condition.rb:153
+ def autocorrect_operand(corrector, node, operand); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/style/invertible_unless_condition.rb:166
def autocorrect_send_node(corrector, node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/invertible_unless_condition.rb:90
+ # pkg:gem/rubocop#lib/rubocop/cop/style/invertible_unless_condition.rb:92
def inheritance_check?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/invertible_unless_condition.rb:154
+ # pkg:gem/rubocop#lib/rubocop/cop/style/invertible_unless_condition.rb:174
def inverse_methods; end
# pkg:gem/rubocop#lib/rubocop/cop/style/invertible_unless_condition.rb:75
def invertible?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/invertible_unless_condition.rb:96
+ # When an `and` is nested in an `or`, inverting both operators turns the
+ # `and` into an `or` that now binds looser than its parent, so it must be
+ # parenthesized to keep the original grouping (`a && b || c` inverts to
+ # `(!a || !b) && !c`, not `!a || !b && !c`).
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/style/invertible_unless_condition.rb:162
+ def parenthesize_inverted_operand?(node, operand); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/style/invertible_unless_condition.rb:98
def preferred_condition(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/invertible_unless_condition.rb:126
+ # pkg:gem/rubocop#lib/rubocop/cop/style/invertible_unless_condition.rb:128
def preferred_logical_condition(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/invertible_unless_condition.rb:104
+ # pkg:gem/rubocop#lib/rubocop/cop/style/invertible_unless_condition.rb:135
+ def preferred_operand(node, operand); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/style/invertible_unless_condition.rb:106
def preferred_send_condition(node); end
end
@@ -43252,34 +44678,39 @@ class RuboCop::Cop::Style::Lambda < ::RuboCop::Cop::Base
include ::RuboCop::Cop::ConfigurableEnforcedStyle
extend ::RuboCop::Cop::AutoCorrector
- # pkg:gem/rubocop#lib/rubocop/cop/style/lambda.rb:64
+ # pkg:gem/rubocop#lib/rubocop/cop/style/lambda.rb:68
def on_block(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/lambda.rb:80
+ # pkg:gem/rubocop#lib/rubocop/cop/style/lambda.rb:84
def on_itblock(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/lambda.rb:79
+ # pkg:gem/rubocop#lib/rubocop/cop/style/lambda.rb:83
def on_numblock(node); end
private
- # pkg:gem/rubocop#lib/rubocop/cop/style/lambda.rb:116
+ # pkg:gem/rubocop#lib/rubocop/cop/style/lambda.rb:120
def arguments_with_whitespace(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/lambda.rb:105
+ # pkg:gem/rubocop#lib/rubocop/cop/style/lambda.rb:109
def autocorrect_method_to_literal(corrector, node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/lambda.rb:120
+ # pkg:gem/rubocop#lib/rubocop/cop/style/lambda.rb:124
def lambda_arg_string(args); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/lambda.rb:90
+ # pkg:gem/rubocop#lib/rubocop/cop/style/lambda.rb:94
def message(node, selector); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/lambda.rb:96
+ # pkg:gem/rubocop#lib/rubocop/cop/style/lambda.rb:100
def message_line_modifier(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/lambda.rb:84
+ # pkg:gem/rubocop#lib/rubocop/cop/style/lambda.rb:88
def offending_selector?(node, selector); end
+
+ class << self
+ # pkg:gem/rubocop#lib/rubocop/cop/style/lambda.rb:64
+ def autocorrect_incompatible_with; end
+ end
end
# pkg:gem/rubocop#lib/rubocop/cop/style/lambda.rb:53
@@ -43312,7 +44743,7 @@ class RuboCop::Cop::Style::LambdaCall < ::RuboCop::Cop::Base
include ::RuboCop::Cop::ConfigurableEnforcedStyle
extend ::RuboCop::Cop::AutoCorrector
- # pkg:gem/rubocop#lib/rubocop/cop/style/lambda_call.rb:47
+ # pkg:gem/rubocop#lib/rubocop/cop/style/lambda_call.rb:50
def on_csend(node); end
# pkg:gem/rubocop#lib/rubocop/cop/style/lambda_call.rb:28
@@ -43320,16 +44751,19 @@ class RuboCop::Cop::Style::LambdaCall < ::RuboCop::Cop::Base
private
- # pkg:gem/rubocop#lib/rubocop/cop/style/lambda_call.rb:73
+ # pkg:gem/rubocop#lib/rubocop/cop/style/lambda_call.rb:54
+ def comments_in_node?(node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/style/lambda_call.rb:84
def explicit_style?; end
- # pkg:gem/rubocop#lib/rubocop/cop/style/lambda_call.rb:69
+ # pkg:gem/rubocop#lib/rubocop/cop/style/lambda_call.rb:80
def implicit_style?; end
- # pkg:gem/rubocop#lib/rubocop/cop/style/lambda_call.rb:51
+ # pkg:gem/rubocop#lib/rubocop/cop/style/lambda_call.rb:62
def offense?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/lambda_call.rb:55
+ # pkg:gem/rubocop#lib/rubocop/cop/style/lambda_call.rb:66
def prefer(node); end
end
@@ -44276,6 +45710,7 @@ class RuboCop::Cop::Style::MethodCallWithArgsParentheses < ::RuboCop::Cop::Base
include ::RuboCop::Cop::AllowedPattern
include ::RuboCop::Cop::Style::MethodCallWithArgsParentheses::RequireParentheses
include ::RuboCop::Cop::RangeHelp
+ include ::RuboCop::Cop::ReparsedEquivalence
include ::RuboCop::Cop::Style::MethodCallWithArgsParentheses::OmitParentheses
extend ::RuboCop::Cop::AutoCorrector
@@ -44310,128 +45745,135 @@ end
# pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:9
module RuboCop::Cop::Style::MethodCallWithArgsParentheses::OmitParentheses
include ::RuboCop::Cop::RangeHelp
+ include ::RuboCop::Cop::ReparsedEquivalence
+
+ # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:17
+ def on_investigation_end; end
private
- # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:80
+ # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:97
def allowed_camel_case_method_call?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:191
+ # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:208
def allowed_chained_call_with_parentheses?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:187
+ # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:204
def allowed_multiline_call_with_parentheses?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:85
+ # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:102
def allowed_string_interpolation_method_call?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:200
+ # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:217
def ambiguous_literal?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:180
+ # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:197
def ambiguous_range_argument?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:230
+ # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:47
+ def apply_reparse_correction(corrector, node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:247
def assigned_before?(node, target); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:238
+ # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:255
def assignment_in_condition?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:34
+ # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:51
def autocorrect(corrector, node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:162
+ # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:179
def call_as_argument_or_chain?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:155
+ # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:172
def call_in_argument_with_block?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:110
+ # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:127
def call_in_literals?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:119
+ # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:136
def call_in_logical_operators?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:167
+ # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:184
def call_in_match_pattern?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:128
+ # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:145
def call_in_optional_arguments?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:132
+ # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:149
def call_in_single_line_inheritance?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:137
+ # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:154
def call_with_ambiguous_arguments?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:151
+ # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:168
def call_with_braced_block?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:248
+ # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:265
def forwards_anonymous_rest_arguments?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:216
+ # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:233
def hash_literal?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:173
+ # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:190
def hash_literal_in_arguments?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:50
+ # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:67
def inside_endless_method_def?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:234
+ # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:251
def inside_string_interpolation?(node); end
# Require hash value omission be enclosed in parentheses to prevent the following issue:
# https://bugs.ruby-lang.org/issues/18396.
#
- # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:64
+ # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:81
def last_expression?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:97
+ # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:114
def legitimate_call_with_parentheses?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:212
+ # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:229
def logical_operator?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:72
+ # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:89
def method_call_before_constant_resolution?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:46
+ # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:63
def offense_range(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:18
+ # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:33
def omit_parentheses(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:90
+ # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:107
def parentheses_at_the_end_of_multiline_call?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:220
+ # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:237
def regexp_slash_literal?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:55
+ # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:72
def require_parentheses_for_hash_value_omission?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:204
+ # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:221
def splat?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:76
+ # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:93
def super_call_without_arguments?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:68
+ # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:85
def syntax_like_method_call?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:208
+ # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:225
def ternary_if?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:224
+ # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:241
def unary_literal?(node); end
end
-# pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:13
+# pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:14
RuboCop::Cop::Style::MethodCallWithArgsParentheses::OmitParentheses::OMIT_MSG = T.let(T.unsafe(nil), String)
-# pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:12
+# pkg:gem/rubocop#lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb:13
RuboCop::Cop::Style::MethodCallWithArgsParentheses::OmitParentheses::TRAILING_WHITESPACE_REGEX = T.let(T.unsafe(nil), Regexp)
# Style require_parentheses
@@ -44502,19 +45944,19 @@ class RuboCop::Cop::Style::MethodCallWithoutArgsParentheses < ::RuboCop::Cop::Ba
private
- # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_without_args_parentheses.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_without_args_parentheses.rb:69
def allowed_method_name?(name); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_without_args_parentheses.rb:101
+ # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_without_args_parentheses.rb:103
def any_assignment?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_without_args_parentheses.rb:63
+ # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_without_args_parentheses.rb:65
def default_argument?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_without_args_parentheses.rb:59
+ # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_without_args_parentheses.rb:61
def ineligible_node?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_without_args_parentheses.rb:118
+ # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_without_args_parentheses.rb:120
def offense_range(node); end
# Respects `Lint/ItWithoutArgumentsInBlock` cop and the following Ruby 3.3's warning:
@@ -44523,16 +45965,16 @@ class RuboCop::Cop::Style::MethodCallWithoutArgsParentheses < ::RuboCop::Cop::Ba
# -e:1: warning: `it` calls without arguments will refer to the first block param in
# Ruby 3.4; use it() or self.it
#
- # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_without_args_parentheses.rb:89
+ # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_without_args_parentheses.rb:91
def parenthesized_it_method_in_block?(node); end
# pkg:gem/rubocop#lib/rubocop/cop/style/method_call_without_args_parentheses.rb:52
def register_offense(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_without_args_parentheses.rb:71
+ # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_without_args_parentheses.rb:73
def same_name_assignment?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_without_args_parentheses.rb:114
+ # pkg:gem/rubocop#lib/rubocop/cop/style/method_call_without_args_parentheses.rb:116
def variable_in_mass_assignment?(variable_name, node); end
end
@@ -44679,34 +46121,39 @@ class RuboCop::Cop::Style::MethodDefParentheses < ::RuboCop::Cop::Base
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector
- # pkg:gem/rubocop#lib/rubocop/cop/style/method_def_parentheses.rb:105
+ # pkg:gem/rubocop#lib/rubocop/cop/style/method_def_parentheses.rb:109
def on_def(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/method_def_parentheses.rb:120
+ # pkg:gem/rubocop#lib/rubocop/cop/style/method_def_parentheses.rb:124
def on_defs(node); end
private
- # pkg:gem/rubocop#lib/rubocop/cop/style/method_def_parentheses.rb:167
+ # pkg:gem/rubocop#lib/rubocop/cop/style/method_def_parentheses.rb:171
def anonymous_arguments?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/method_def_parentheses.rb:145
+ # pkg:gem/rubocop#lib/rubocop/cop/style/method_def_parentheses.rb:149
def arguments_without_parentheses?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/method_def_parentheses.rb:124
+ # pkg:gem/rubocop#lib/rubocop/cop/style/method_def_parentheses.rb:128
def correct_arguments(arg_node, corrector); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/method_def_parentheses.rb:129
+ # pkg:gem/rubocop#lib/rubocop/cop/style/method_def_parentheses.rb:133
def forced_parentheses?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/method_def_parentheses.rb:149
+ # pkg:gem/rubocop#lib/rubocop/cop/style/method_def_parentheses.rb:153
def missing_parentheses(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/method_def_parentheses.rb:140
+ # pkg:gem/rubocop#lib/rubocop/cop/style/method_def_parentheses.rb:144
def require_parentheses?(args); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/method_def_parentheses.rb:159
+ # pkg:gem/rubocop#lib/rubocop/cop/style/method_def_parentheses.rb:163
def unwanted_parentheses(args); end
+
+ class << self
+ # pkg:gem/rubocop#lib/rubocop/cop/style/method_def_parentheses.rb:105
+ def autocorrect_incompatible_with; end
+ end
end
# pkg:gem/rubocop#lib/rubocop/cop/style/method_def_parentheses.rb:103
@@ -44991,6 +46438,11 @@ RuboCop::Cop::Style::MissingElse::MSG_NIL = T.let(T.unsafe(nil), String)
# delegator.upcase # => FOO
# ----
#
+# When `AllCops/UseProjectIndex` is enabled and the `rubydex` gem is
+# installed, `respond_to_missing?` defined in another definition of the
+# same class or module (e.g. a reopening in another file) also
+# satisfies the check.
+#
# @example
# # bad
# def method_missing(name, *args)
@@ -45014,21 +46466,41 @@ RuboCop::Cop::Style::MissingElse::MSG_NIL = T.let(T.unsafe(nil), String)
# end
# end
#
-# pkg:gem/rubocop#lib/rubocop/cop/style/missing_respond_to_missing.rb:54
+# pkg:gem/rubocop#lib/rubocop/cop/style/missing_respond_to_missing.rb:59
class RuboCop::Cop::Style::MissingRespondToMissing < ::RuboCop::Cop::Base
- # pkg:gem/rubocop#lib/rubocop/cop/style/missing_respond_to_missing.rb:57
+ include ::RuboCop::Cop::ProjectIndexHelp
+
+ # pkg:gem/rubocop#lib/rubocop/cop/style/missing_respond_to_missing.rb:64
def on_def(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/missing_respond_to_missing.rb:63
+ # pkg:gem/rubocop#lib/rubocop/cop/style/missing_respond_to_missing.rb:71
def on_defs(node); end
private
- # pkg:gem/rubocop#lib/rubocop/cop/style/missing_respond_to_missing.rb:67
+ # The class/module/`class << self` body that lexically contains `node`,
+ # or `nil` when `node` is defined at the top level.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/style/missing_respond_to_missing.rb:109
+ def enclosing_scope(node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/style/missing_respond_to_missing.rb:97
def implements_respond_to_missing?(node); end
+
+ # When `AllCops/UseProjectIndex` is enabled, `respond_to_missing?`
+ # defined in another definition of the same class or module (e.g. a
+ # reopening in another file) also satisfies the check. Ancestors are
+ # not consulted: overriding `method_missing` warrants a matching
+ # `respond_to_missing?` for the same class.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/style/missing_respond_to_missing.rb:80
+ def respond_to_missing_elsewhere?(node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/style/missing_respond_to_missing.rb:93
+ def singleton_definition?(node); end
end
-# pkg:gem/rubocop#lib/rubocop/cop/style/missing_respond_to_missing.rb:55
+# pkg:gem/rubocop#lib/rubocop/cop/style/missing_respond_to_missing.rb:62
RuboCop::Cop::Style::MissingRespondToMissing::MSG = T.let(T.unsafe(nil), String)
# Checks for grouping of mixins in `class` and `module` bodies.
@@ -45271,19 +46743,19 @@ class RuboCop::Cop::Style::ModuleFunction < ::RuboCop::Cop::Base
private
- # pkg:gem/rubocop#lib/rubocop/cop/style/module_function.rb:149
+ # pkg:gem/rubocop#lib/rubocop/cop/style/module_function.rb:151
def check_extend_self(nodes); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/module_function.rb:155
+ # pkg:gem/rubocop#lib/rubocop/cop/style/module_function.rb:157
def check_forbidden(nodes); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/module_function.rb:141
+ # pkg:gem/rubocop#lib/rubocop/cop/style/module_function.rb:143
def check_module_function(nodes); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/module_function.rb:130
+ # pkg:gem/rubocop#lib/rubocop/cop/style/module_function.rb:132
def each_wrong_style(nodes, &block); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/module_function.rb:162
+ # pkg:gem/rubocop#lib/rubocop/cop/style/module_function.rb:164
def message(_range); end
end
@@ -45427,6 +46899,7 @@ RuboCop::Cop::Style::MultilineBlockChain::MSG = T.let(T.unsafe(nil), String)
class RuboCop::Cop::Style::MultilineIfModifier < ::RuboCop::Cop::Base
include ::RuboCop::Cop::Alignment
include ::RuboCop::Cop::LineLengthHelp
+ include ::RuboCop::Cop::AllowedPattern
include ::RuboCop::Cop::StatementModifier
extend ::RuboCop::Cop::AutoCorrector
@@ -45474,6 +46947,12 @@ class RuboCop::Cop::Style::MultilineIfThen < ::RuboCop::Cop::Base
# pkg:gem/rubocop#lib/rubocop/cop/style/multiline_if_then.rb:38
def non_modifier_then?(node); end
+
+ # Prism gives an `elsif` with no `then` of its own the previous branch's `then` location,
+ # which lies outside the node.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/style/multiline_if_then.rb:44
+ def own_then?(node); end
end
# pkg:gem/rubocop#lib/rubocop/cop/style/multiline_if_then.rb:26
@@ -45802,7 +47281,7 @@ RuboCop::Cop::Style::MultilineWhenThen::MSG = T.let(T.unsafe(nil), String)
class RuboCop::Cop::Style::MultipleComparison < ::RuboCop::Cop::Base
extend ::RuboCop::Cop::AutoCorrector
- # pkg:gem/rubocop#lib/rubocop/cop/style/multiple_comparison.rb:74
+ # pkg:gem/rubocop#lib/rubocop/cop/style/multiple_comparison.rb:73
def on_or(node); end
# pkg:gem/rubocop#lib/rubocop/cop/style/multiple_comparison.rb:64
@@ -45816,31 +47295,40 @@ class RuboCop::Cop::Style::MultipleComparison < ::RuboCop::Cop::Base
private
- # pkg:gem/rubocop#lib/rubocop/cop/style/multiple_comparison.rb:154
+ # pkg:gem/rubocop#lib/rubocop/cop/style/multiple_comparison.rb:165
def allow_method_comparison?; end
- # pkg:gem/rubocop#lib/rubocop/cop/style/multiple_comparison.rb:132
+ # pkg:gem/rubocop#lib/rubocop/cop/style/multiple_comparison.rb:114
+ def collect_comparison(node, comparison, variables, values, skipped); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/style/multiple_comparison.rb:143
def comparison?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/multiple_comparison.rb:158
+ # pkg:gem/rubocop#lib/rubocop/cop/style/multiple_comparison.rb:169
def comparisons_threshold; end
- # pkg:gem/rubocop#lib/rubocop/cop/style/multiple_comparison.rb:97
- def find_offending_var(node, variables = T.unsafe(nil), values = T.unsafe(nil)); end
+ # pkg:gem/rubocop#lib/rubocop/cop/style/multiple_comparison.rb:101
+ def find_offending_var(node, variables = T.unsafe(nil), values = T.unsafe(nil), skipped = T.unsafe(nil)); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/multiple_comparison.rb:124
+ # pkg:gem/rubocop#lib/rubocop/cop/style/multiple_comparison.rb:135
def nested_comparison?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/multiple_comparison.rb:116
+ # pkg:gem/rubocop#lib/rubocop/cop/style/multiple_comparison.rb:127
def offense_range(values); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/multiple_comparison.rb:144
+ # pkg:gem/rubocop#lib/rubocop/cop/style/multiple_comparison.rb:95
+ def preferred_method(variable, values); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/style/multiple_comparison.rb:155
def root_of_or_node(or_node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/multiple_comparison.rb:136
+ # pkg:gem/rubocop#lib/rubocop/cop/style/multiple_comparison.rb:147
def simple_comparison(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/multiple_comparison.rb:120
+ # pkg:gem/rubocop#lib/rubocop/cop/style/multiple_comparison.rb:91
+ def skipped_within_range?(skipped, range); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/style/multiple_comparison.rb:131
def variable_name(node); end
end
@@ -45933,6 +47421,9 @@ RuboCop::Cop::Style::MultipleComparison::MSG = T.let(T.unsafe(nil), String)
# end
# end.freeze
#
+# # good - `Data.define` declares an immutable value type
+# CONST = Data.define(:foo, :bar)
+#
# @example
#
# # bad
@@ -45941,53 +47432,53 @@ RuboCop::Cop::Style::MultipleComparison::MSG = T.let(T.unsafe(nil), String)
# # good
# CONST = [1, 2, 3]
#
-# pkg:gem/rubocop#lib/rubocop/cop/style/mutable_constant.rb:102
+# pkg:gem/rubocop#lib/rubocop/cop/style/mutable_constant.rb:105
class RuboCop::Cop::Style::MutableConstant < ::RuboCop::Cop::Base
include ::RuboCop::Cop::Style::MutableConstant::ShareableConstantValue
include ::RuboCop::Cop::FrozenStringLiteral
include ::RuboCop::Cop::ConfigurableEnforcedStyle
extend ::RuboCop::Cop::AutoCorrector
- # pkg:gem/rubocop#lib/rubocop/cop/style/mutable_constant.rb:146
+ # pkg:gem/rubocop#lib/rubocop/cop/style/mutable_constant.rb:149
def on_casgn(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/mutable_constant.rb:317
+ # pkg:gem/rubocop#lib/rubocop/cop/style/mutable_constant.rb:320
def operation_produces_immutable_object?(param0 = T.unsafe(nil)); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/mutable_constant.rb:334
+ # pkg:gem/rubocop#lib/rubocop/cop/style/mutable_constant.rb:339
def range_enclosed_in_parentheses?(param0 = T.unsafe(nil)); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/mutable_constant.rb:310
+ # pkg:gem/rubocop#lib/rubocop/cop/style/mutable_constant.rb:313
def splat_value(param0 = T.unsafe(nil)); end
private
- # pkg:gem/rubocop#lib/rubocop/cop/style/mutable_constant.rb:209
+ # pkg:gem/rubocop#lib/rubocop/cop/style/mutable_constant.rb:212
def autocorrect(corrector, node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/mutable_constant.rb:301
+ # pkg:gem/rubocop#lib/rubocop/cop/style/mutable_constant.rb:304
def correct_splat_expansion(corrector, expr, splat_value); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/mutable_constant.rb:267
+ # pkg:gem/rubocop#lib/rubocop/cop/style/mutable_constant.rb:270
def explicitly_frozen_literal?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/mutable_constant.rb:243
+ # pkg:gem/rubocop#lib/rubocop/cop/style/mutable_constant.rb:246
def freezable_nested_literal?(node); end
# Recursively freezes every nested mutable literal inside an array or
# hash literal. Already-frozen subtrees are not re-frozen, but their
# children are still inspected for unfrozen literals deeper down.
#
- # pkg:gem/rubocop#lib/rubocop/cop/style/mutable_constant.rb:233
+ # pkg:gem/rubocop#lib/rubocop/cop/style/mutable_constant.rb:236
def freeze_nested_literals(corrector, node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/mutable_constant.rb:293
+ # pkg:gem/rubocop#lib/rubocop/cop/style/mutable_constant.rb:296
def frozen_regexp_or_range_literals?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/mutable_constant.rb:283
+ # pkg:gem/rubocop#lib/rubocop/cop/style/mutable_constant.rb:286
def immutable_literal?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/mutable_constant.rb:196
+ # pkg:gem/rubocop#lib/rubocop/cop/style/mutable_constant.rb:199
def literal_check(value); end
# Returns the child literals of an array or hash node that may
@@ -45995,35 +47486,35 @@ class RuboCop::Cop::Style::MutableConstant < ::RuboCop::Cop::Base
# included. Percent-literal arrays (e.g. `%w(a b)`) are skipped because
# `.freeze` cannot be appended to their contents.
#
- # pkg:gem/rubocop#lib/rubocop/cop/style/mutable_constant.rb:254
+ # pkg:gem/rubocop#lib/rubocop/cop/style/mutable_constant.rb:257
def literal_children(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/mutable_constant.rb:277
+ # pkg:gem/rubocop#lib/rubocop/cop/style/mutable_constant.rb:280
def mutable_literal?(value); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/mutable_constant.rb:173
+ # pkg:gem/rubocop#lib/rubocop/cop/style/mutable_constant.rb:176
def mutable_nodes(value, &block); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/mutable_constant.rb:204
+ # pkg:gem/rubocop#lib/rubocop/cop/style/mutable_constant.rb:207
def mutable_or_unfrozen_range?(value); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/mutable_constant.rb:159
+ # pkg:gem/rubocop#lib/rubocop/cop/style/mutable_constant.rb:162
def on_assignment(value); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/mutable_constant.rb:273
+ # pkg:gem/rubocop#lib/rubocop/cop/style/mutable_constant.rb:276
def recursive?; end
- # pkg:gem/rubocop#lib/rubocop/cop/style/mutable_constant.rb:297
+ # pkg:gem/rubocop#lib/rubocop/cop/style/mutable_constant.rb:300
def requires_parentheses?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/mutable_constant.rb:287
+ # pkg:gem/rubocop#lib/rubocop/cop/style/mutable_constant.rb:290
def shareable_constant_value?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/mutable_constant.rb:187
+ # pkg:gem/rubocop#lib/rubocop/cop/style/mutable_constant.rb:190
def strict_check(value); end
end
-# pkg:gem/rubocop#lib/rubocop/cop/style/mutable_constant.rb:144
+# pkg:gem/rubocop#lib/rubocop/cop/style/mutable_constant.rb:147
RuboCop::Cop::Style::MutableConstant::MSG = T.let(T.unsafe(nil), String)
# Handles magic comment shareable_constant_value with O(n ^ 2) complexity
@@ -46031,33 +47522,33 @@ RuboCop::Cop::Style::MutableConstant::MSG = T.let(T.unsafe(nil), String)
# Iterates over all lines before a CONSTANT
# until it reaches shareable_constant_value
#
-# pkg:gem/rubocop#lib/rubocop/cop/style/mutable_constant.rb:107
+# pkg:gem/rubocop#lib/rubocop/cop/style/mutable_constant.rb:110
module RuboCop::Cop::Style::MutableConstant::ShareableConstantValue
private
# Identifies the most recent magic comment with valid shareable constant values
# that's in scope for this node
#
- # pkg:gem/rubocop#lib/rubocop/cop/style/mutable_constant.rb:121
+ # pkg:gem/rubocop#lib/rubocop/cop/style/mutable_constant.rb:124
def magic_comment_in_scope(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/mutable_constant.rb:129
+ # pkg:gem/rubocop#lib/rubocop/cop/style/mutable_constant.rb:132
def processed_source_till_node(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/mutable_constant.rb:110
+ # pkg:gem/rubocop#lib/rubocop/cop/style/mutable_constant.rb:113
def recent_shareable_value?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/mutable_constant.rb:133
+ # pkg:gem/rubocop#lib/rubocop/cop/style/mutable_constant.rb:136
def shareable_constant_value_enabled?(value); end
class << self
# Identifies the most recent magic comment with valid shareable constant values
# that's in scope for this node
#
- # pkg:gem/rubocop#lib/rubocop/cop/style/mutable_constant.rb:121
+ # pkg:gem/rubocop#lib/rubocop/cop/style/mutable_constant.rb:124
def magic_comment_in_scope(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/mutable_constant.rb:110
+ # pkg:gem/rubocop#lib/rubocop/cop/style/mutable_constant.rb:113
def recent_shareable_value?(node); end
end
end
@@ -46377,22 +47868,22 @@ class RuboCop::Cop::Style::NegativeArrayIndex < ::RuboCop::Cop::Base
# pkg:gem/rubocop#lib/rubocop/cop/style/negative_array_index.rb:82
def add_offense_for_subtraction(node, index_arg, negative_index); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/negative_array_index.rb:168
+ # pkg:gem/rubocop#lib/rubocop/cop/style/negative_array_index.rb:170
def build_current_source(receiver, range_without_parens, index_arg); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/negative_array_index.rb:151
+ # pkg:gem/rubocop#lib/rubocop/cop/style/negative_array_index.rb:153
def build_message_for_range(receiver, start, range_op, index, current); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/negative_array_index.rb:126
+ # pkg:gem/rubocop#lib/rubocop/cop/style/negative_array_index.rb:128
def build_range_offense_data(receiver, range_node, range_end, inner_end, negative_index, index_arg); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/negative_array_index.rb:178
+ # pkg:gem/rubocop#lib/rubocop/cop/style/negative_array_index.rb:180
def build_range_without_parens(range_start, range_op, range_end, inner_end); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/negative_array_index.rb:158
+ # pkg:gem/rubocop#lib/rubocop/cop/style/negative_array_index.rb:160
def build_replacement_string(range_start, range_op, negative_index, index_arg); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/negative_array_index.rb:200
+ # pkg:gem/rubocop#lib/rubocop/cop/style/negative_array_index.rb:202
def extract_base_receiver(node); end
# pkg:gem/rubocop#lib/rubocop/cop/style/negative_array_index.rb:78
@@ -46401,25 +47892,25 @@ class RuboCop::Cop::Style::NegativeArrayIndex < ::RuboCop::Cop::Base
# pkg:gem/rubocop#lib/rubocop/cop/style/negative_array_index.rb:74
def extract_range_from_begin(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/negative_array_index.rb:143
+ # pkg:gem/rubocop#lib/rubocop/cop/style/negative_array_index.rb:145
def format_range_message_parts(range_start, negative_index, index_arg); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/negative_array_index.rb:111
+ # pkg:gem/rubocop#lib/rubocop/cop/style/negative_array_index.rb:113
def handle_range_pattern(receiver, range_node, index_arg); end
# pkg:gem/rubocop#lib/rubocop/cop/style/negative_array_index.rb:65
def handle_simple_index_pattern(node, index_arg); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/negative_array_index.rb:209
+ # pkg:gem/rubocop#lib/rubocop/cop/style/negative_array_index.rb:211
def preserving_method?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/negative_array_index.rb:94
+ # pkg:gem/rubocop#lib/rubocop/cop/style/negative_array_index.rb:95
def range_with_length_subtraction?(range_node, array_receiver); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/negative_array_index.rb:184
+ # pkg:gem/rubocop#lib/rubocop/cop/style/negative_array_index.rb:186
def receivers_match?(length_receiver, array_receiver); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/negative_array_index.rb:195
+ # pkg:gem/rubocop#lib/rubocop/cop/style/negative_array_index.rb:197
def receivers_match_strict?(length_receiver, array_receiver); end
end
@@ -49311,6 +50802,9 @@ RuboCop::Cop::Style::RedundantArrayFlatten::RESTRICT_ON_SEND = T.let(T.unsafe(ni
# Checks for redundant assignment before returning.
#
+# When there are comments between the assignment and reference,
+# the cop will report an offense but it will not autocorrect.
+#
# @example
# # bad
# def test
@@ -49343,44 +50837,47 @@ RuboCop::Cop::Style::RedundantArrayFlatten::RESTRICT_ON_SEND = T.let(T.unsafe(ni
# end
# end
#
-# pkg:gem/rubocop#lib/rubocop/cop/style/redundant_assignment.rb:40
+# pkg:gem/rubocop#lib/rubocop/cop/style/redundant_assignment.rb:43
class RuboCop::Cop::Style::RedundantAssignment < ::RuboCop::Cop::Base
extend ::RuboCop::Cop::AutoCorrector
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_assignment.rb:50
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_assignment.rb:53
def on_def(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_assignment.rb:53
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_assignment.rb:56
def on_defs(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_assignment.rb:46
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_assignment.rb:49
def redundant_assignment?(param0 = T.unsafe(nil)); end
private
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_assignment.rb:99
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_assignment.rb:102
def check_begin_node(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_assignment.rb:58
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_assignment.rb:61
def check_branch(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_assignment.rb:79
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_assignment.rb:82
def check_case_match_node(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_assignment.rb:74
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_assignment.rb:77
def check_case_node(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_assignment.rb:95
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_assignment.rb:98
def check_ensure_node(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_assignment.rb:84
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_assignment.rb:87
def check_if_node(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_assignment.rb:91
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_assignment.rb:94
def check_rescue_node(node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_assignment.rb:117
+ def comments_between_assignment_and_reference?(assignment); end
end
-# pkg:gem/rubocop#lib/rubocop/cop/style/redundant_assignment.rb:43
+# pkg:gem/rubocop#lib/rubocop/cop/style/redundant_assignment.rb:46
RuboCop::Cop::Style::RedundantAssignment::MSG = T.let(T.unsafe(nil), String)
# Checks for redundant `begin` blocks. A `begin` block is redundant
@@ -49809,6 +51306,11 @@ RuboCop::Cop::Style::RedundantConditional::MSG = T.let(T.unsafe(nil), String)
# to prevent conflicting rules. This is because it respects user configurations
# that want to enable `Lint/ConstantResolution` cop which is disabled by default.
#
+# When `AllCops/UseProjectIndex` is enabled and the `rubydex` gem is
+# installed, a leading `::` inside a namespace is also reported when the
+# constant provably resolves to the same declaration with and without
+# the base, i.e. nothing in the surrounding nesting shadows it.
+#
# @example
# # bad
# ::Const
@@ -49836,32 +51338,47 @@ RuboCop::Cop::Style::RedundantConditional::MSG = T.let(T.unsafe(nil), String)
# ::Const
# end
#
-# pkg:gem/rubocop#lib/rubocop/cop/style/redundant_constant_base.rb:43
+# pkg:gem/rubocop#lib/rubocop/cop/style/redundant_constant_base.rb:48
class RuboCop::Cop::Style::RedundantConstantBase < ::RuboCop::Cop::Base
+ include ::RuboCop::Cop::ProjectIndexHelp
extend ::RuboCop::Cop::AutoCorrector
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_constant_base.rb:48
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_constant_base.rb:54
def on_cbase(node); end
private
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_constant_base.rb:67
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_constant_base.rb:103
def bad?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_constant_base.rb:63
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_constant_base.rb:88
+ def first_constant_segment(node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_constant_base.rb:99
def lint_constant_resolution_config; end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_constant_base.rb:59
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_constant_base.rb:95
def lint_constant_resolution_cop_enabled?; end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_constant_base.rb:71
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_constant_base.rb:107
def module_nesting_ancestors_of(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_constant_base.rb:77
+ # When `AllCops/UseProjectIndex` is enabled, `::` inside a namespace is
+ # also redundant when the first constant segment resolves to the same
+ # declaration with and without the base, i.e. nothing in the
+ # surrounding nesting shadows it.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_constant_base.rb:69
+ def provably_unshadowed?(node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_constant_base.rb:81
+ def same_resolution?(segment, nesting); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_constant_base.rb:113
def used_in_super_class_part?(node, class_node:); end
end
-# pkg:gem/rubocop#lib/rubocop/cop/style/redundant_constant_base.rb:46
+# pkg:gem/rubocop#lib/rubocop/cop/style/redundant_constant_base.rb:52
RuboCop::Cop::Style::RedundantConstantBase::MSG = T.let(T.unsafe(nil), String)
# Checks for paths given to `require_relative` that start with
@@ -49885,7 +51402,14 @@ class RuboCop::Cop::Style::RedundantCurrentDirectoryInPath < ::RuboCop::Cop::Bas
private
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_current_directory_in_path.rb:42
+ # The literal text at the start of the path, which is the whole string
+ # for a plain string and the leading literal segment for an interpolated
+ # one (`nil` when it starts with interpolation).
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_current_directory_in_path.rb:47
+ def leading_path_content(node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_current_directory_in_path.rb:54
def redundant_path_length(path); end
end
@@ -50194,7 +51718,10 @@ class RuboCop::Cop::Style::RedundantFileExtensionInRequire < ::RuboCop::Cop::Bas
private
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_file_extension_in_require.rb:53
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_file_extension_in_require.rb:63
+ def escaped_extension?(name_node, extension_range); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_file_extension_in_require.rb:57
def extension_range(name_node); end
end
@@ -50362,36 +51889,36 @@ class RuboCop::Cop::Style::RedundantFormat < ::RuboCop::Cop::Base
# pkg:gem/rubocop#lib/rubocop/cop/style/redundant_format.rb:159
def all_fields_literal?(string, arguments); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_format.rb:266
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_format.rb:275
def argument_value(argument); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_format.rb:262
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_format.rb:271
def argument_values(arguments); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_format.rb:306
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_format.rb:315
def complex_value(complex_node); end
# pkg:gem/rubocop#lib/rubocop/cop/style/redundant_format.rb:129
def detect_unnecessary_fields(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_format.rb:292
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_format.rb:301
def dsym_value(dsym_node); end
# Escape any control characters in the string (eg. `\t` or `\n` become `\\t` or `\\n`)
#
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_format.rb:258
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_format.rb:267
def escape_control_chars(string); end
# pkg:gem/rubocop#lib/rubocop/cop/style/redundant_format.rb:190
def find_argument(sequence, arguments, hash); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_format.rb:233
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_format.rb:242
def float?(argument); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_format.rb:296
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_format.rb:305
def hash_value(hash_node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_format.rb:229
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_format.rb:238
def integer?(argument); end
# pkg:gem/rubocop#lib/rubocop/cop/style/redundant_format.rb:205
@@ -50400,16 +51927,23 @@ class RuboCop::Cop::Style::RedundantFormat < ::RuboCop::Cop::Base
# pkg:gem/rubocop#lib/rubocop/cop/style/redundant_format.rb:125
def message(node, prefer); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_format.rb:223
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_format.rb:232
def numeric?(argument); end
+ # `Array#[]` raises `RangeError` for an index beyond the 64-bit range
+ # (e.g. `format('%*9999999999999999999999$d', 1)`) instead of returning `nil`,
+ # so the index needs to be checked before accessing the array.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_format.rb:226
+ def positional_argument(arguments, number); end
+
# Add correct quotes to the formatted string, preferring retaining the existing
# quotes if possible.
#
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_format.rb:239
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_format.rb:248
def quote(string, node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_format.rb:302
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_format.rb:311
def rational_value(rational_node); end
# pkg:gem/rubocop#lib/rubocop/cop/style/redundant_format.rb:142
@@ -50425,7 +51959,7 @@ class RuboCop::Cop::Style::RedundantFormat < ::RuboCop::Cop::Base
# pkg:gem/rubocop#lib/rubocop/cop/style/redundant_format.rb:110
def string_with_format_sequence?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_format.rb:276
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_format.rb:285
def typed_argument_value(argument); end
# If the sequence has a variable (`*`) width, it cannot be autocorrected
@@ -50791,10 +52325,13 @@ RuboCop::Cop::Style::RedundantInterpolationUnfreeze::MSG = T.let(T.unsafe(nil),
# Checks for redundant line continuation.
#
-# This cop marks a line continuation as redundant if removing the backslash
-# does not result in a syntax error.
-# However, a backslash at the end of a comment or
-# for string concatenation is not redundant and is not considered an offense.
+# A line continuation is redundant when removing the backslash does not
+# change how the program parses: the source is reparsed without the
+# backslash and the resulting AST is compared to the original. Only
+# backslashes that are pure noise are reported; backslashes that are
+# significant — inside strings, for string concatenation, before an
+# operator or argument that would otherwise start a new statement, and
+# so on — are left alone, as are backslashes in comments.
#
# @example
# # bad
@@ -50850,104 +52387,91 @@ RuboCop::Cop::Style::RedundantInterpolationUnfreeze::MSG = T.let(T.unsafe(nil),
# some_method \
# (argument)
#
-# pkg:gem/rubocop#lib/rubocop/cop/style/redundant_line_continuation.rb:67
+# pkg:gem/rubocop#lib/rubocop/cop/style/redundant_line_continuation.rb:70
class RuboCop::Cop::Style::RedundantLineContinuation < ::RuboCop::Cop::Base
include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::MatchRange
+ include ::RuboCop::Cop::ReparsedEquivalence
extend ::RuboCop::Cop::AutoCorrector
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_line_continuation.rb:87
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_line_continuation.rb:82
def on_new_investigation; end
private
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_line_continuation.rb:242
- def argument_is_method?(node); end
-
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_line_continuation.rb:208
- def argument_newline?(node); end
-
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_line_continuation.rb:179
- def code_ends_with_continuation?(last_line); end
-
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_line_continuation.rb:113
- def ends_with_uncommented_backslash?(range); end
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_line_continuation.rb:99
+ def apply_reparse_correction(corrector, range); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_line_continuation.rb:222
- def find_node_for_line(last_line); end
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_line_continuation.rb:163
+ def first_token_after(tokens, range); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_line_continuation.rb:193
- def inside_string_literal?(range, token); end
-
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_line_continuation.rb:126
- def inside_string_literal_or_method_with_argument?(range); end
-
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_line_continuation.rb:137
- def inside_string_literal_with_interpolation?(range); end
+ # A backslash directly joining two string literals is never redundant:
+ # removing it moves the second literal onto its own logical line,
+ # severing the implicit string concatenation. Skipping these up front
+ # avoids reparse verification, which is prohibitively slow on generated
+ # files gluing thousands of string fragments with line continuations.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_line_continuation.rb:128
+ def implicit_string_concatenation?(range); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_line_continuation.rb:167
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_line_continuation.rb:179
def inspect_end_of_ruby_code_line_continuation; end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_line_continuation.rb:151
- def leading_dot_method_chain_with_blank_line?(range); end
-
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_line_continuation.rb:249
- def method_call_with_arguments?(node); end
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_line_continuation.rb:158
+ def last_token_before(tokens, range); end
- # A method call without parentheses such as the following cannot remove `\`:
- #
- # do_something \
- # argument
+ # The `parser` gem, unlike Ruby itself, accepts a leading-dot method
+ # chain continued across a blank line, so the reparse check alone would
+ # deem the backslash redundant even though removing it breaks the code
+ # on MRI. Prism matches Ruby here and does not need this guard.
#
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_line_continuation.rb:201
- def method_with_argument?(line_range, current_token, next_token); end
-
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_line_continuation.rb:157
- def redundant_line_continuation?(range); end
-
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_line_continuation.rb:104
- def require_line_continuation?(range); end
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_line_continuation.rb:152
+ def leading_dot_method_chain_with_blank_line?(range); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_line_continuation.rb:228
- def same_line?(node, line); end
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_line_continuation.rb:103
+ def line_continuation_candidates; end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_line_continuation.rb:253
- def start_with_arithmetic_operator?(range); end
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_line_continuation.rb:173
+ def string_literal_beginning_on_line?(token, line); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_line_continuation.rb:122
- def string_concatenation?(source_line); end
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_line_continuation.rb:167
+ def string_literal_ending_on_line?(token, line); end
# The backslash is the last character of the line; locate it by the line's
# position in the buffer rather than treating the column as an absolute offset
# (which corrupts an earlier line in multi-line files).
#
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_line_continuation.rb:188
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_line_continuation.rb:196
def trailing_line_continuation_range(line_number); end
-end
-# pkg:gem/rubocop#lib/rubocop/cop/style/redundant_line_continuation.rb:74
-RuboCop::Cop::Style::RedundantLineContinuation::ALLOWED_STRING_TOKENS = T.let(T.unsafe(nil), Array)
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_line_continuation.rb:117
+ def within_comment?(range); end
-# pkg:gem/rubocop#lib/rubocop/cop/style/redundant_line_continuation.rb:81
-RuboCop::Cop::Style::RedundantLineContinuation::ARGUMENT_TAKING_FLOW_TOKEN_TYPES = T.let(T.unsafe(nil), Array)
-
-# pkg:gem/rubocop#lib/rubocop/cop/style/redundant_line_continuation.rb:75
-RuboCop::Cop::Style::RedundantLineContinuation::ARGUMENT_TYPES = T.let(T.unsafe(nil), Array)
-
-# pkg:gem/rubocop#lib/rubocop/cop/style/redundant_line_continuation.rb:84
-RuboCop::Cop::Style::RedundantLineContinuation::ARITHMETIC_OPERATOR_TOKENS = T.let(T.unsafe(nil), Array)
+ # A backslash in string content is never a redundant line continuation
+ # (removing it changes the string's value, which the reparse check would
+ # detect); skipping it up front just avoids a useless reparse.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_line_continuation.rb:140
+ def within_string_content?(range); end
+end
-# pkg:gem/rubocop#lib/rubocop/cop/style/redundant_line_continuation.rb:72
+# pkg:gem/rubocop#lib/rubocop/cop/style/redundant_line_continuation.rb:76
RuboCop::Cop::Style::RedundantLineContinuation::LINE_CONTINUATION = T.let(T.unsafe(nil), String)
-# pkg:gem/rubocop#lib/rubocop/cop/style/redundant_line_continuation.rb:73
+# pkg:gem/rubocop#lib/rubocop/cop/style/redundant_line_continuation.rb:77
RuboCop::Cop::Style::RedundantLineContinuation::LINE_CONTINUATION_PATTERN = T.let(T.unsafe(nil), Regexp)
-# pkg:gem/rubocop#lib/rubocop/cop/style/redundant_line_continuation.rb:71
+# pkg:gem/rubocop#lib/rubocop/cop/style/redundant_line_continuation.rb:75
RuboCop::Cop::Style::RedundantLineContinuation::MSG = T.let(T.unsafe(nil), String)
-# pkg:gem/rubocop#lib/rubocop/cop/style/redundant_line_continuation.rb:85
-RuboCop::Cop::Style::RedundantLineContinuation::STRING_LITERAL_BEGIN_TOKENS = T.let(T.unsafe(nil), Array)
+# pkg:gem/rubocop#lib/rubocop/cop/style/redundant_line_continuation.rb:80
+RuboCop::Cop::Style::RedundantLineContinuation::STRING_LITERAL_BEGINNING_TOKEN_TYPES = T.let(T.unsafe(nil), Array)
+
+# pkg:gem/rubocop#lib/rubocop/cop/style/redundant_line_continuation.rb:79
+RuboCop::Cop::Style::RedundantLineContinuation::STRING_LITERAL_ENDING_TOKEN_TYPES = T.let(T.unsafe(nil), Array)
+
+# pkg:gem/rubocop#lib/rubocop/cop/style/redundant_line_continuation.rb:78
+RuboCop::Cop::Style::RedundantLineContinuation::STRING_TOKEN_TYPES = T.let(T.unsafe(nil), Array)
# Identifies places where `max_by { ... }`, `min_by { ... }`, or
# `minmax_by { ... }` can be replaced by `max`, `min`, or `minmax`.
@@ -51029,141 +52553,146 @@ RuboCop::Cop::Style::RedundantMinMaxBy::REPLACEMENTS = T.let(T.unsafe(nil), Hash
# pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:16
class RuboCop::Cop::Style::RedundantParentheses < ::RuboCop::Cop::Base
include ::RuboCop::Cop::Parentheses
+ include ::RuboCop::Cop::ReparsedEquivalence
extend ::RuboCop::Cop::AutoCorrector
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:31
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:32
def allowed_pin_operator?(param0 = T.unsafe(nil)); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:344
- def first_call_argument?(param0 = T.unsafe(nil)); end
-
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:194
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:195
def interpolation?(param0 = T.unsafe(nil)); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:33
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:39
def on_begin(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:28
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:45
+ def on_investigation_end; end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:34
+ def on_new_investigation; end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:29
def rescue?(param0 = T.unsafe(nil)); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:23
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:24
def square_brackets?(param0 = T.unsafe(nil)); end
private
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:220
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:221
def allow_in_multiline_conditions?; end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:68
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:86
def allowed_ancestor?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:61
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:79
def allowed_expression?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:73
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:91
def allowed_multiple_expression?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:82
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:100
def allowed_ternary?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:196
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:252
+ def apply_reparse_correction(corrector, node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:197
def argument_of_parenthesized_method_call?(begin_node, node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:274
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:309
def body_range?(begin_node, node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:349
- def call_chain_starts_with_int?(begin_node, send_node); end
-
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:224
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:225
def call_node?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:138
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:139
def check(begin_node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:228
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:229
def check_send(begin_node, node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:240
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:239
def check_unary(begin_node, node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:263
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:301
def disallowed_literal?(begin_node, node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:285
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:320
def disallowed_one_line_pattern_matching?(begin_node, node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:355
- def do_end_block_in_method_chain?(begin_node, node); end
-
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:109
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:127
def empty_parentheses?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:155
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:156
def find_offense_message(begin_node, node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:114
- def first_arg_begins_with_hash_literal?(node); end
-
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:337
- def first_argument?(node); end
-
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:54
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:72
def ignore_syntax?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:123
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:132
def in_pattern_matching_in_method_argument?(begin_node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:259
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:297
def keyword_ancestor?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:305
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:329
def keyword_with_redundant_parentheses?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:95
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:113
def like_method_argument_parentheses?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:214
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:215
def method_call_parentheses_required?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:318
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:342
def method_call_with_redundant_parentheses?(begin_node, node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:130
- def method_chain_begins_with_hash_literal(node); end
-
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:102
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:120
def multiline_control_flow_statements?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:249
+ # Grouping parentheses are transparent to the comparison: single-child
+ # `begin` nodes are collapsed, a parenthesized statement sequence
+ # inside another sequence is spliced in place, and chains of the same
+ # `&&`/`||` operator are normalized to left association (`x && (y &&
+ # z)` and `x && y && z` differ as trees but `&&` and `||` cannot be
+ # redefined, so same-operator regrouping is semantically transparent).
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:262
+ def normalize_reparsed_ast(node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:248
def offense(node, msg); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:205
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:206
def oneline_rescue_parentheses_required?(begin_node, node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:333
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:357
def only_begin_arg?(args); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:45
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:64
def parens_allowed?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:294
- def raised_to_power_negative_numeric?(begin_node, node); end
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:282
+ def rotate_same_operator(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:326
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:350
def singular_parenthesized_parent?(begin_node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:255
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:276
+ def splice_nested_sequences(children); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:293
def suspect_unary?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:88
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:106
def ternary_parentheses_required?; end
- # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:41
+ # pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:60
def variable?(node); end
end
-# pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:20
+# pkg:gem/rubocop#lib/rubocop/cop/style/redundant_parentheses.rb:21
RuboCop::Cop::Style::RedundantParentheses::ALLOWED_NODE_TYPES = T.let(T.unsafe(nil), Array)
# Checks for usage of the %q/%Q syntax when '' or "" would do.
@@ -52921,6 +54450,16 @@ RuboCop::Cop::Style::ReverseFind::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
# x&.foo # raises NoMethodError
# ----
#
+# Additionally, when a method chain is converted, a `NoMethodError` that
+# the original code raised for an intermediate `nil` value is suppressed:
+#
+# [source,ruby]
+# ----
+# x = Struct.new(:foo).new(nil)
+# x && x.foo.bar # raises NoMethodError
+# x&.foo&.bar # returns nil
+# ----
+#
# @example
# # bad
# foo.bar if foo
@@ -52975,7 +54514,7 @@ RuboCop::Cop::Style::ReverseFind::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
# foo ? foo[idx] = v : nil # Ignored `foo&.[]=(idx, v)` due to unclear readability benefit.
# foo ? foo * 42 : nil # Ignored `foo&.*(42)` due to unclear readability benefit.
#
-# pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:93
+# pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:103
class RuboCop::Cop::Style::SafeNavigation < ::RuboCop::Cop::Base
include ::RuboCop::Cop::AllowedMethods
include ::RuboCop::Cop::NilMethods
@@ -52983,121 +54522,121 @@ class RuboCop::Cop::Style::SafeNavigation < ::RuboCop::Cop::Base
extend ::RuboCop::Cop::AutoCorrector
extend ::RuboCop::Cop::TargetRubyVersion
- # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:140
+ # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:150
def and_inside_begin?(param0 = T.unsafe(nil)); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:134
+ # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:144
def and_with_rhs_or?(param0 = T.unsafe(nil)); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:108
+ # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:118
def modifier_if_safe_navigation_candidate(param0 = T.unsafe(nil)); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:137
+ # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:147
def not_nil_check?(param0 = T.unsafe(nil)); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:165
+ # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:175
def on_and(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:146
+ # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:156
def on_if(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:143
+ # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:153
def strip_begin(param0 = T.unsafe(nil)); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:123
+ # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:133
def ternary_safe_navigation_candidate(param0 = T.unsafe(nil)); end
private
- # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:408
+ # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:418
def add_safe_nav_to_all_methods_in_chain(corrector, start_method, method_chain); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:304
+ # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:314
def allowed_if_condition?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:235
+ # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:245
def and_parts(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:400
+ # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:410
def begin_range(node, method_call); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:359
+ # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:369
def chain_length(method_chain, method); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:217
+ # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:227
def collect_and_clauses(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:285
+ # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:295
def comments(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:229
+ # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:239
def concat_nodes(nodes, and_node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:264
+ # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:274
def dotless_operator_call?(method_call); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:272
+ # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:282
def dotless_operator_method?(method_call); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:404
+ # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:414
def end_range(node, method_call); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:323
+ # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:333
def extract_common_parts(method_chain, checked_variable); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:256
+ # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:266
def extract_if_body(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:308
+ # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:318
def extract_parts_from_if(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:331
+ # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:341
def find_matching_receiver_invocation(method_chain, checked_variable); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:211
+ # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:221
def find_method_chain(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:278
+ # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:288
def handle_comments(corrector, node, method_call); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:345
+ # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:355
def matching_call_nodes?(left, right); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:341
+ # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:351
def matching_nodes?(left, right); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:421
+ # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:431
def max_chain_length; end
- # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:396
+ # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:406
def method_called?(send_node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:388
+ # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:398
def negated?(send_node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:242
+ # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:252
def offending_node?(node, lhs_receiver, rhs, rhs_receiver); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:291
+ # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:301
def relevant_comment_ranges(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:194
+ # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:204
def report_offense(node, rhs, rhs_receiver, *removal_ranges, offense_range: T.unsafe(nil)); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:379
+ # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:389
def unsafe_method?(node, send_node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:367
+ # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:377
def unsafe_method_used?(node, method_chain, method); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:252
+ # pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:262
def use_var_only_in_unless_modifier?(node, variable); end
end
-# pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:101
+# pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:111
RuboCop::Cop::Style::SafeNavigation::LOGIC_JUMP_KEYWORDS = T.let(T.unsafe(nil), Array)
-# pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:99
+# pkg:gem/rubocop#lib/rubocop/cop/style/safe_navigation.rb:109
RuboCop::Cop::Style::SafeNavigation::MSG = T.let(T.unsafe(nil), String)
# Enforces safe navigation chains length to not exceed the configured maximum.
@@ -54339,77 +55878,89 @@ RuboCop::Cop::Style::SlicingWithRange::RESTRICT_ON_SEND = T.let(T.unsafe(nil), A
# pkg:gem/rubocop#lib/rubocop/cop/style/sole_nested_conditional.rb:49
class RuboCop::Cop::Style::SoleNestedConditional < ::RuboCop::Cop::Base
include ::RuboCop::Cop::RangeHelp
+ include ::RuboCop::Cop::ReparsedEquivalence
extend ::RuboCop::Cop::AutoCorrector
- # pkg:gem/rubocop#lib/rubocop/cop/style/sole_nested_conditional.rb:59
+ # pkg:gem/rubocop#lib/rubocop/cop/style/sole_nested_conditional.rb:60
def on_if(node); end
private
- # pkg:gem/rubocop#lib/rubocop/cop/style/sole_nested_conditional.rb:199
+ # pkg:gem/rubocop#lib/rubocop/cop/style/sole_nested_conditional.rb:216
def add_parentheses?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/sole_nested_conditional.rb:178
+ # pkg:gem/rubocop#lib/rubocop/cop/style/sole_nested_conditional.rb:195
def add_parentheses_if_needed(condition); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/sole_nested_conditional.rb:240
+ # pkg:gem/rubocop#lib/rubocop/cop/style/sole_nested_conditional.rb:257
def allow_modifier?; end
- # pkg:gem/rubocop#lib/rubocop/cop/style/sole_nested_conditional.rb:84
+ # Merging the conditionals intentionally produces a different AST, so
+ # full equivalence cannot be checked, but the corrected source must at
+ # least remain parseable (see `ReparsedEquivalence#correction_parses?`),
+ # which suppresses the entire produces-invalid-code bug class.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/style/sole_nested_conditional.rb:90
+ def apply_reparse_correction(corrector, node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/style/sole_nested_conditional.rb:101
def assigned_variables(condition); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/sole_nested_conditional.rb:207
+ # pkg:gem/rubocop#lib/rubocop/cop/style/sole_nested_conditional.rb:224
def assignment_in_and?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/sole_nested_conditional.rb:101
+ # pkg:gem/rubocop#lib/rubocop/cop/style/sole_nested_conditional.rb:118
def autocorrect(corrector, node, if_branch); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/sole_nested_conditional.rb:109
+ # pkg:gem/rubocop#lib/rubocop/cop/style/sole_nested_conditional.rb:126
def autocorrect_outer_condition_basic(corrector, node, if_branch); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/sole_nested_conditional.rb:152
+ # pkg:gem/rubocop#lib/rubocop/cop/style/sole_nested_conditional.rb:169
def autocorrect_outer_condition_modify_form(corrector, node, if_branch); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/sole_nested_conditional.rb:170
+ # pkg:gem/rubocop#lib/rubocop/cop/style/sole_nested_conditional.rb:187
def chainable_condition(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/sole_nested_conditional.rb:135
+ # pkg:gem/rubocop#lib/rubocop/cop/style/sole_nested_conditional.rb:152
def correct_for_basic_condition_style(corrector, node, if_branch); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/sole_nested_conditional.rb:161
+ # pkg:gem/rubocop#lib/rubocop/cop/style/sole_nested_conditional.rb:178
def correct_for_comment(corrector, node, if_branch); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/sole_nested_conditional.rb:125
+ # pkg:gem/rubocop#lib/rubocop/cop/style/sole_nested_conditional.rb:142
def correct_for_guard_condition_style(corrector, node, if_branch); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/sole_nested_conditional.rb:120
+ # pkg:gem/rubocop#lib/rubocop/cop/style/sole_nested_conditional.rb:137
def correct_node(corrector, node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/sole_nested_conditional.rb:92
+ # pkg:gem/rubocop#lib/rubocop/cop/style/sole_nested_conditional.rb:109
def offending_branch?(node, branch); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/sole_nested_conditional.rb:194
+ # pkg:gem/rubocop#lib/rubocop/cop/style/sole_nested_conditional.rb:77
+ def offending_conditional?(node); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/style/sole_nested_conditional.rb:211
def parenthesize_method?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/sole_nested_conditional.rb:220
+ # pkg:gem/rubocop#lib/rubocop/cop/style/sole_nested_conditional.rb:237
def parenthesized_and(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/sole_nested_conditional.rb:230
+ # pkg:gem/rubocop#lib/rubocop/cop/style/sole_nested_conditional.rb:247
def parenthesized_and_clause(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/sole_nested_conditional.rb:213
+ # pkg:gem/rubocop#lib/rubocop/cop/style/sole_nested_conditional.rb:230
def parenthesized_method_arguments(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/sole_nested_conditional.rb:77
+ # pkg:gem/rubocop#lib/rubocop/cop/style/sole_nested_conditional.rb:94
def use_variable_assignment_in_condition?(condition, if_branch); end
class << self
- # pkg:gem/rubocop#lib/rubocop/cop/style/sole_nested_conditional.rb:55
+ # pkg:gem/rubocop#lib/rubocop/cop/style/sole_nested_conditional.rb:56
def autocorrect_incompatible_with; end
end
end
-# pkg:gem/rubocop#lib/rubocop/cop/style/sole_nested_conditional.rb:53
+# pkg:gem/rubocop#lib/rubocop/cop/style/sole_nested_conditional.rb:54
RuboCop::Cop::Style::SoleNestedConditional::MSG = T.let(T.unsafe(nil), String)
# Looks for uses of Perl-style global variables.
@@ -54641,6 +56192,11 @@ RuboCop::Cop::Style::StabbyLambdaParentheses::MSG_REQUIRE = T.let(T.unsafe(nil),
# for some other subclass, monkey-patched with instance methods or
# a dummy instance is instantiated from it somewhere.
#
+# When `AllCops/UseProjectIndex` is enabled and the `rubydex` gem is
+# installed, classes that are subclassed anywhere in the project are
+# not reported, since converting them to modules would break their
+# subclasses.
+#
# @example
# # bad
# class SomeClass
@@ -54672,40 +56228,48 @@ RuboCop::Cop::Style::StabbyLambdaParentheses::MSG_REQUIRE = T.let(T.unsafe(nil),
# def self.class_method; end
# end
#
-# pkg:gem/rubocop#lib/rubocop/cop/style/static_class.rb:46
+# pkg:gem/rubocop#lib/rubocop/cop/style/static_class.rb:51
class RuboCop::Cop::Style::StaticClass < ::RuboCop::Cop::Base
+ include ::RuboCop::Cop::ProjectIndexHelp
include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::VisibilityHelp
extend ::RuboCop::Cop::AutoCorrector
- # pkg:gem/rubocop#lib/rubocop/cop/style/static_class.rb:53
+ # pkg:gem/rubocop#lib/rubocop/cop/style/static_class.rb:59
def on_class(class_node); end
private
- # pkg:gem/rubocop#lib/rubocop/cop/style/static_class.rb:64
+ # pkg:gem/rubocop#lib/rubocop/cop/style/static_class.rb:85
def autocorrect(corrector, class_node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/static_class.rb:77
+ # pkg:gem/rubocop#lib/rubocop/cop/style/static_class.rb:98
def autocorrect_def(corrector, node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/static_class.rb:83
+ # pkg:gem/rubocop#lib/rubocop/cop/style/static_class.rb:104
def autocorrect_sclass(corrector, node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/static_class.rb:90
+ # pkg:gem/rubocop#lib/rubocop/cop/style/static_class.rb:111
def class_convertible_to_module?(class_node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/static_class.rb:114
+ # pkg:gem/rubocop#lib/rubocop/cop/style/static_class.rb:135
def class_elements(class_node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/static_class.rb:102
+ # pkg:gem/rubocop#lib/rubocop/cop/style/static_class.rb:123
def extend_call?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/static_class.rb:106
+ # pkg:gem/rubocop#lib/rubocop/cop/style/static_class.rb:127
def sclass_convertible_to_module?(node); end
+
+ # When `AllCops/UseProjectIndex` is enabled, a class with descendants
+ # anywhere in the project is not reported: converting it to a module
+ # would break its subclasses.
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/style/static_class.rb:74
+ def subclassed_in_project?(class_node); end
end
-# pkg:gem/rubocop#lib/rubocop/cop/style/static_class.rb:51
+# pkg:gem/rubocop#lib/rubocop/cop/style/static_class.rb:57
RuboCop::Cop::Style::StaticClass::MSG = T.let(T.unsafe(nil), String)
# Identifies places where `$stderr.puts` can be replaced by
@@ -55154,21 +56718,21 @@ class RuboCop::Cop::Style::StructInheritance < ::RuboCop::Cop::Base
# pkg:gem/rubocop#lib/rubocop/cop/style/struct_inheritance.rb:40
def on_class(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/struct_inheritance.rb:52
+ # pkg:gem/rubocop#lib/rubocop/cop/style/struct_inheritance.rb:54
def struct_constructor?(param0 = T.unsafe(nil)); end
private
- # pkg:gem/rubocop#lib/rubocop/cop/style/struct_inheritance.rb:59
+ # pkg:gem/rubocop#lib/rubocop/cop/style/struct_inheritance.rb:61
def correct_parent(parent, corrector); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/struct_inheritance.rb:71
+ # pkg:gem/rubocop#lib/rubocop/cop/style/struct_inheritance.rb:73
def range_for_empty_class_body(class_node, struct_new); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/struct_inheritance.rb:79
+ # pkg:gem/rubocop#lib/rubocop/cop/style/struct_inheritance.rb:81
def unparenthesized_struct_new?(parent); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/struct_inheritance.rb:83
+ # pkg:gem/rubocop#lib/rubocop/cop/style/struct_inheritance.rb:85
def wrap_unparenthesized_call_with_do(corrector, parent); end
end
@@ -55803,36 +57367,36 @@ RuboCop::Cop::Style::TallyMethod::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
# Corrector to correct conditional assignment in ternary conditions.
#
-# pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:504
+# pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:526
class RuboCop::Cop::Style::TernaryCorrector
extend ::RuboCop::Cop::Style::ConditionalAssignmentHelper
extend ::RuboCop::Cop::Style::ConditionalCorrectorHelper
class << self
- # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:509
+ # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:531
def correct(corrector, node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:513
+ # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:535
def move_assignment_inside_condition(corrector, node); end
private
- # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:527
+ # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:549
def correction(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:540
+ # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:562
def element_assignment?(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:544
+ # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:566
def extract_branches(node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:557
+ # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:579
def move_branch_inside_condition(corrector, branch, assignment); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:552
+ # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:574
def remove_parentheses(corrector, node); end
- # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:531
+ # pkg:gem/rubocop#lib/rubocop/cop/style/conditional_assignment.rb:553
def ternary(node); end
end
end
@@ -57268,6 +58832,7 @@ RuboCop::Cop::Style::WhileUntilDo::MSG = T.let(T.unsafe(nil), String)
class RuboCop::Cop::Style::WhileUntilModifier < ::RuboCop::Cop::Base
include ::RuboCop::Cop::Alignment
include ::RuboCop::Cop::LineLengthHelp
+ include ::RuboCop::Cop::AllowedPattern
include ::RuboCop::Cop::StatementModifier
extend ::RuboCop::Cop::AutoCorrector
@@ -57849,118 +59414,162 @@ end
#
# pkg:gem/rubocop#lib/rubocop/cop/team.rb:13
class RuboCop::Cop::Team
- # pkg:gem/rubocop#lib/rubocop/cop/team.rb:64
+ # pkg:gem/rubocop#lib/rubocop/cop/team.rb:89
def initialize(cops, config = T.unsafe(nil), options = T.unsafe(nil)); end
- # pkg:gem/rubocop#lib/rubocop/cop/team.rb:75
+ # pkg:gem/rubocop#lib/rubocop/cop/team.rb:102
def autocorrect?; end
- # pkg:gem/rubocop#lib/rubocop/cop/team.rb:60
+ # pkg:gem/rubocop#lib/rubocop/cop/team.rb:69
def cops; end
- # pkg:gem/rubocop#lib/rubocop/cop/team.rb:79
+ # pkg:gem/rubocop#lib/rubocop/cop/team.rb:106
def debug?; end
- # pkg:gem/rubocop#lib/rubocop/cop/team.rb:60
+ # When set to true, the corrected source is not written back to the
+ # inspected file; it is exposed through `#updated_source` instead.
+ # @api private
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/team.rb:74
+ def defer_corrections; end
+
+ # When set to true, the corrected source is not written back to the
+ # inspected file; it is exposed through `#updated_source` instead.
+ # @api private
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/team.rb:74
+ def defer_corrections=(_arg0); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/team.rb:69
def errors; end
- # pkg:gem/rubocop#lib/rubocop/cop/team.rb:125
+ # pkg:gem/rubocop#lib/rubocop/cop/team.rb:152
def external_dependency_checksum; end
# @deprecated
#
- # pkg:gem/rubocop#lib/rubocop/cop/team.rb:117
+ # pkg:gem/rubocop#lib/rubocop/cop/team.rb:144
def forces; end
# @deprecated. Use investigate
# @return Array
#
- # pkg:gem/rubocop#lib/rubocop/cop/team.rb:85
+ # pkg:gem/rubocop#lib/rubocop/cop/team.rb:112
def inspect_file(processed_source); end
# @return [Commissioner::InvestigationReport]
#
- # pkg:gem/rubocop#lib/rubocop/cop/team.rb:94
+ # pkg:gem/rubocop#lib/rubocop/cop/team.rb:121
def investigate(processed_source, offset: T.unsafe(nil), original: T.unsafe(nil)); end
# @return [Array]
#
- # pkg:gem/rubocop#lib/rubocop/cop/team.rb:101
+ # pkg:gem/rubocop#lib/rubocop/cop/team.rb:128
def investigate_fragments(fragments, original:); end
- # pkg:gem/rubocop#lib/rubocop/cop/team.rb:60
+ # Registry used to mobilize cops that were not instantiated because they are disabled in
+ # the config, when a comment directive opts them back in for a file.
+ #
+ # @api private
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/team.rb:85
+ def standby_registry=(_arg0); end
+
+ # The corrected source of the last investigation, if corrections were
+ # made with `#defer_corrections` enabled.
+ # @api private
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/team.rb:79
+ def updated_source; end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/team.rb:69
def updated_source_file; end
- # pkg:gem/rubocop#lib/rubocop/cop/team.rb:62
+ # pkg:gem/rubocop#lib/rubocop/cop/team.rb:87
def updated_source_file?; end
- # pkg:gem/rubocop#lib/rubocop/cop/team.rb:60
+ # pkg:gem/rubocop#lib/rubocop/cop/team.rb:69
def warnings; end
private
- # pkg:gem/rubocop#lib/rubocop/cop/team.rb:136
+ # pkg:gem/rubocop#lib/rubocop/cop/team.rb:174
+ def apply_correction(processed_source, new_source); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/team.rb:163
def autocorrect(processed_source, corrector); end
- # pkg:gem/rubocop#lib/rubocop/cop/team.rb:154
+ # pkg:gem/rubocop#lib/rubocop/cop/team.rb:185
def be_ready; end
- # pkg:gem/rubocop#lib/rubocop/cop/team.rb:256
+ # pkg:gem/rubocop#lib/rubocop/cop/team.rb:315
def collate_corrections(report, offset:, original:); end
- # pkg:gem/rubocop#lib/rubocop/cop/team.rb:247
+ # pkg:gem/rubocop#lib/rubocop/cop/team.rb:306
def collated_corrector(report, offset:, original:); end
- # pkg:gem/rubocop#lib/rubocop/cop/team.rb:276
+ # pkg:gem/rubocop#lib/rubocop/cop/team.rb:335
def each_corrector(report); end
- # pkg:gem/rubocop#lib/rubocop/cop/team.rb:328
+ # pkg:gem/rubocop#lib/rubocop/cop/team.rb:387
def handle_error(error, location, cop); end
- # pkg:gem/rubocop#lib/rubocop/cop/team.rb:320
+ # pkg:gem/rubocop#lib/rubocop/cop/team.rb:379
def handle_warning(error, location); end
- # pkg:gem/rubocop#lib/rubocop/cop/team.rb:203
+ # pkg:gem/rubocop#lib/rubocop/cop/team.rb:235
def investigate_fragment(fragment, original, data); end
# @return [Commissioner::InvestigationReport]
#
- # pkg:gem/rubocop#lib/rubocop/cop/team.rb:168
+ # pkg:gem/rubocop#lib/rubocop/cop/team.rb:200
def investigate_partial(cops, processed_source, offset:, original:); end
- # pkg:gem/rubocop#lib/rubocop/cop/team.rb:173
+ # pkg:gem/rubocop#lib/rubocop/cop/team.rb:205
def investigate_with_corrector(processed_source, offset:, original:); end
- # pkg:gem/rubocop#lib/rubocop/cop/team.rb:266
+ # pkg:gem/rubocop#lib/rubocop/cop/team.rb:325
def merge_corrector!(corrector, to_merge, offset:); end
- # pkg:gem/rubocop#lib/rubocop/cop/team.rb:303
+ # Cops that were not mobilized because they are disabled in the config,
+ # but are opted back in for the given file by an `enable` comment directive.
+ # Their classes are loaded on demand.
+ #
+ # @return [Array]
+ #
+ # pkg:gem/rubocop#lib/rubocop/cop/team.rb:269
+ def opted_in_standby_cops(processed_source); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/team.rb:362
def process_errors(file, errors); end
- # pkg:gem/rubocop#lib/rubocop/cop/team.rb:162
+ # pkg:gem/rubocop#lib/rubocop/cop/team.rb:194
def reset; end
# @return [Array]
#
- # pkg:gem/rubocop#lib/rubocop/cop/team.rb:222
+ # pkg:gem/rubocop#lib/rubocop/cop/team.rb:254
def roundup_relevant_cops(processed_source); end
- # pkg:gem/rubocop#lib/rubocop/cop/team.rb:238
+ # pkg:gem/rubocop#lib/rubocop/cop/team.rb:283
+ def standby_cop(cop_name); end
+
+ # pkg:gem/rubocop#lib/rubocop/cop/team.rb:297
def support_target_rails_version?(cop); end
- # pkg:gem/rubocop#lib/rubocop/cop/team.rb:232
+ # pkg:gem/rubocop#lib/rubocop/cop/team.rb:291
def support_target_ruby_version?(cop); end
- # pkg:gem/rubocop#lib/rubocop/cop/team.rb:291
+ # pkg:gem/rubocop#lib/rubocop/cop/team.rb:350
def suppress_clobbering; end
- # pkg:gem/rubocop#lib/rubocop/cop/team.rb:297
+ # pkg:gem/rubocop#lib/rubocop/cop/team.rb:356
def validate_config; end
class << self
# @return [Array] needed for the given cops
#
- # pkg:gem/rubocop#lib/rubocop/cop/team.rb:46
+ # pkg:gem/rubocop#lib/rubocop/cop/team.rb:55
def forces_for(cops); end
# @return [Team] with cops assembled from the given `cop_classes`
@@ -57970,7 +59579,7 @@ class RuboCop::Cop::Team
# @return [Array]
#
- # pkg:gem/rubocop#lib/rubocop/cop/team.rb:37
+ # pkg:gem/rubocop#lib/rubocop/cop/team.rb:46
def mobilize_cops(cop_classes, config, options = T.unsafe(nil)); end
# @return [Team]
@@ -59346,7 +60955,7 @@ class RuboCop::Cop::VariableForce::Variable
# pkg:gem/rubocop#lib/rubocop/cop/variable_force/variable.rb:15
def initialize(name, declaration_node, scope); end
- # pkg:gem/rubocop#lib/rubocop/cop/variable_force/variable.rb:105
+ # pkg:gem/rubocop#lib/rubocop/cop/variable_force/variable.rb:117
def argument?; end
# pkg:gem/rubocop#lib/rubocop/cop/variable_force/variable.rb:31
@@ -59355,10 +60964,10 @@ class RuboCop::Cop::VariableForce::Variable
# pkg:gem/rubocop#lib/rubocop/cop/variable_force/variable.rb:11
def assignments; end
- # pkg:gem/rubocop#lib/rubocop/cop/variable_force/variable.rb:113
+ # pkg:gem/rubocop#lib/rubocop/cop/variable_force/variable.rb:125
def block_argument?; end
- # pkg:gem/rubocop#lib/rubocop/cop/variable_force/variable.rb:85
+ # pkg:gem/rubocop#lib/rubocop/cop/variable_force/variable.rb:97
def capture_with_block!; end
# pkg:gem/rubocop#lib/rubocop/cop/variable_force/variable.rb:11
@@ -59367,24 +60976,30 @@ class RuboCop::Cop::VariableForce::Variable
# pkg:gem/rubocop#lib/rubocop/cop/variable_force/variable.rb:13
def captured_by_block?; end
+ # pkg:gem/rubocop#lib/rubocop/cop/variable_force/variable.rb:93
+ def covers?(container, node); end
+
# pkg:gem/rubocop#lib/rubocop/cop/variable_force/variable.rb:11
def declaration_node; end
- # pkg:gem/rubocop#lib/rubocop/cop/variable_force/variable.rb:121
+ # pkg:gem/rubocop#lib/rubocop/cop/variable_force/variable.rb:133
def explicit_block_local_variable?; end
# pkg:gem/rubocop#lib/rubocop/cop/variable_force/variable.rb:77
- def in_modifier_conditional?(assignment); end
+ def in_modifier_conditional?(assignment, reference_node); end
- # pkg:gem/rubocop#lib/rubocop/cop/variable_force/variable.rb:117
+ # pkg:gem/rubocop#lib/rubocop/cop/variable_force/variable.rb:129
def keyword_argument?; end
# pkg:gem/rubocop#lib/rubocop/cop/variable_force/variable.rb:39
def mark_last_as_reassigned!(assignment); end
- # pkg:gem/rubocop#lib/rubocop/cop/variable_force/variable.rb:109
+ # pkg:gem/rubocop#lib/rubocop/cop/variable_force/variable.rb:121
def method_argument?; end
+ # pkg:gem/rubocop#lib/rubocop/cop/variable_force/variable.rb:87
+ def modifier_conditional_of(node); end
+
# pkg:gem/rubocop#lib/rubocop/cop/variable_force/variable.rb:11
def name; end
@@ -59400,7 +61015,7 @@ class RuboCop::Cop::VariableForce::Variable
# pkg:gem/rubocop#lib/rubocop/cop/variable_force/variable.rb:11
def scope; end
- # pkg:gem/rubocop#lib/rubocop/cop/variable_force/variable.rb:101
+ # pkg:gem/rubocop#lib/rubocop/cop/variable_force/variable.rb:113
def should_be_unused?; end
# This is a convenient way to check whether the variable is used
@@ -59412,7 +61027,7 @@ class RuboCop::Cop::VariableForce::Variable
# This means we cannot track the usage of the variable.
# So we consider it's used to suppress false positive offenses.
#
- # pkg:gem/rubocop#lib/rubocop/cop/variable_force/variable.rb:97
+ # pkg:gem/rubocop#lib/rubocop/cop/variable_force/variable.rb:109
def used?; end
end
@@ -59553,198 +61168,198 @@ RuboCop::Cop::VisibilityHelp::VISIBILITY_SCOPES = T.let(T.unsafe(nil), Set)
#
# pkg:gem/rubocop#lib/rubocop/directive_comment.rb:7
class RuboCop::DirectiveComment
- # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:52
+ # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:54
def initialize(comment, cop_registry = T.unsafe(nil)); end
# Checks if all cops specified in this directive
#
- # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:146
+ # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:148
def all_cops?; end
- # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:50
+ # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:52
def comment; end
# Returns array of specified in this directive cop names
#
- # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:151
+ # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:153
def cop_names; end
- # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:50
+ # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:52
def cop_registry; end
- # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:50
+ # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:52
def cops; end
# Returns array of specified in this directive department names
# when all department disabled
#
- # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:162
+ # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:164
def department_names; end
- # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:176
+ # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:178
def directive_count; end
# Checks if this directive disables cops
#
- # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:111
+ # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:113
def disabled?; end
# Checks if this directive disables all cops
#
- # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:141
+ # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:143
def disabled_all?; end
# Checks if this directive enables cops
#
- # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:116
+ # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:118
def enabled?; end
# Checks if this directive enables all cops
#
- # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:136
+ # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:138
def enabled_all?; end
# Checks if directive departments include cop
#
- # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:167
+ # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:169
def in_directive_department?(cop); end
# Returns line number for directive
#
- # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:181
+ # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:183
def line_number; end
- # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:66
+ # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:68
def malformed?; end
# Checks if this directive contains all the given cop names
#
- # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:87
+ # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:89
def match?(cop_names); end
# Returns match captures to directive comment pattern
#
- # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:100
+ # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:102
def match_captures; end
# Checks if the directive comment is missing a cop name
#
- # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:75
+ # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:77
def missing_cop_name?; end
- # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:50
+ # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:52
def mode; end
# Checks if cop department has already used in directive comment
#
- # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:172
+ # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:174
def overridden_by_department?(cop); end
# Checks if this directive is a pop
#
- # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:126
+ # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:128
def pop?; end
# Checks if this directive is a push
#
- # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:121
+ # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:123
def push?; end
# Returns the push arguments as a hash of cop names with their operations
#
- # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:131
+ # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:133
def push_args; end
- # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:91
+ # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:93
def range; end
# Returns an array of cops for this directive comment, without resolving departments
#
- # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:156
+ # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:158
def raw_cop_names; end
# Checks if this directive relates to single line
#
- # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:82
+ # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:84
def single_line?; end
- # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:61
+ # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:63
def start_with_marker?; end
private
- # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:198
+ # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:200
def all_cop_names; end
- # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:202
+ # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:204
def cop_names_for_department(department); end
- # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:194
+ # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:196
def department?(name); end
- # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:207
+ # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:209
def exclude_lint_department_cops(cops); end
- # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:211
+ # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:213
def parse_push_args; end
- # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:187
+ # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:189
def parsed_cop_names; end
class << self
- # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:46
+ # pkg:gem/rubocop#lib/rubocop/directive_comment.rb:48
def before_comment(line); end
end
end
# @api private
#
-# pkg:gem/rubocop#lib/rubocop/directive_comment.rb:27
+# pkg:gem/rubocop#lib/rubocop/directive_comment.rb:29
RuboCop::DirectiveComment::AVAILABLE_MODES = T.let(T.unsafe(nil), Array)
# @api private
#
-# pkg:gem/rubocop#lib/rubocop/directive_comment.rb:23
+# pkg:gem/rubocop#lib/rubocop/directive_comment.rb:25
RuboCop::DirectiveComment::COPS_PATTERN = T.let(T.unsafe(nil), String)
# @api private
#
-# pkg:gem/rubocop#lib/rubocop/directive_comment.rb:21
+# pkg:gem/rubocop#lib/rubocop/directive_comment.rb:23
RuboCop::DirectiveComment::COP_NAMES_PATTERN = T.let(T.unsafe(nil), String)
# @api private
#
-# pkg:gem/rubocop#lib/rubocop/directive_comment.rb:19
+# pkg:gem/rubocop#lib/rubocop/directive_comment.rb:21
RuboCop::DirectiveComment::COP_NAMES_PATTERN_NC = T.let(T.unsafe(nil), String)
# @api private
#
-# pkg:gem/rubocop#lib/rubocop/directive_comment.rb:15
+# pkg:gem/rubocop#lib/rubocop/directive_comment.rb:17
RuboCop::DirectiveComment::COP_NAME_PATTERN = T.let(T.unsafe(nil), String)
# @api private
#
-# pkg:gem/rubocop#lib/rubocop/directive_comment.rb:17
+# pkg:gem/rubocop#lib/rubocop/directive_comment.rb:19
RuboCop::DirectiveComment::COP_NAME_PATTERN_NC = T.let(T.unsafe(nil), String)
# @api private
#
-# pkg:gem/rubocop#lib/rubocop/directive_comment.rb:35
+# pkg:gem/rubocop#lib/rubocop/directive_comment.rb:37
RuboCop::DirectiveComment::DIRECTIVE_COMMENT_REGEXP = T.let(T.unsafe(nil), Regexp)
# @api private
#
-# pkg:gem/rubocop#lib/rubocop/directive_comment.rb:33
+# pkg:gem/rubocop#lib/rubocop/directive_comment.rb:35
RuboCop::DirectiveComment::DIRECTIVE_HEADER_PATTERN = T.let(T.unsafe(nil), String)
# @api private
#
-# pkg:gem/rubocop#lib/rubocop/directive_comment.rb:29
+# pkg:gem/rubocop#lib/rubocop/directive_comment.rb:31
RuboCop::DirectiveComment::DIRECTIVE_MARKER_PATTERN = T.let(T.unsafe(nil), String)
# @api private
#
-# pkg:gem/rubocop#lib/rubocop/directive_comment.rb:31
+# pkg:gem/rubocop#lib/rubocop/directive_comment.rb:33
RuboCop::DirectiveComment::DIRECTIVE_MARKER_REGEXP = T.let(T.unsafe(nil), Regexp)
# @api private
@@ -59764,17 +61379,22 @@ RuboCop::DirectiveComment::LINT_SYNTAX_COP = T.let(T.unsafe(nil), String)
# @api private
#
-# pkg:gem/rubocop#lib/rubocop/directive_comment.rb:42
+# pkg:gem/rubocop#lib/rubocop/directive_comment.rb:44
RuboCop::DirectiveComment::MALFORMED_DIRECTIVE_WITHOUT_COP_NAME_REGEXP = T.let(T.unsafe(nil), Regexp)
# @api private
#
-# pkg:gem/rubocop#lib/rubocop/directive_comment.rb:25
+# pkg:gem/rubocop#lib/rubocop/directive_comment.rb:27
RuboCop::DirectiveComment::PUSH_POP_ARGS_PATTERN = T.let(T.unsafe(nil), String)
# @api private
#
-# pkg:gem/rubocop#lib/rubocop/directive_comment.rb:40
+# pkg:gem/rubocop#lib/rubocop/directive_comment.rb:15
+RuboCop::DirectiveComment::STYLE_DISABLE_COPS_DIRECTIVE_COP = T.let(T.unsafe(nil), String)
+
+# @api private
+#
+# pkg:gem/rubocop#lib/rubocop/directive_comment.rb:42
RuboCop::DirectiveComment::TRAILING_COMMENT_MARKER = T.let(T.unsafe(nil), String)
# An Error exception is different from an Offense with severity 'error'
@@ -60043,15 +61663,9 @@ class RuboCop::FeatureLoader
# pkg:gem/rubocop#lib/rubocop/feature_loader.rb:75
def relative?; end
- # @param [LoadError] error
- # @return [Boolean]
- #
- # pkg:gem/rubocop#lib/rubocop/feature_loader.rb:81
- def seems_cannot_load_such_file_error?(error); end
-
# @return [String]
#
- # pkg:gem/rubocop#lib/rubocop/feature_loader.rb:86
+ # pkg:gem/rubocop#lib/rubocop/feature_loader.rb:80
def target; end
class << self
@@ -62025,12 +63639,9 @@ class RuboCop::PendingCopsReporter
def pending_cops_only_qualified(pending_cops); end
# pkg:gem/rubocop#lib/rubocop/pending_cops_reporter.rb:35
- def possible_new_cops?(config); end
-
- # pkg:gem/rubocop#lib/rubocop/pending_cops_reporter.rb:40
def warn_on_pending_cops(pending_cops); end
- # pkg:gem/rubocop#lib/rubocop/pending_cops_reporter.rb:48
+ # pkg:gem/rubocop#lib/rubocop/pending_cops_reporter.rb:43
def warn_pending_cop(cop); end
end
end
@@ -62204,6 +63815,14 @@ module RuboCop::ProjectIndexLoader
# pkg:gem/rubocop#lib/rubocop/project_index_loader.rb:57
def build_index(paths); end
+ # The Ruby source files of every gem in the project's bundle, for
+ # `AllCops/ProjectIndexIncludesGems`. Returns an empty array when RuboCop
+ # does not run inside Bundler, so the option silently degrades to
+ # project-only indexing.
+ #
+ # pkg:gem/rubocop#lib/rubocop/project_index_loader.rb:70
+ def bundled_gem_source_files; end
+
# pkg:gem/rubocop#lib/rubocop/project_index_loader.rb:24
def supported_ruby?; end
@@ -62228,6 +63847,14 @@ module RuboCop::ProjectIndexLoader
# pkg:gem/rubocop#lib/rubocop/project_index_loader.rb:57
def build_index(paths); end
+ # The Ruby source files of every gem in the project's bundle, for
+ # `AllCops/ProjectIndexIncludesGems`. Returns an empty array when RuboCop
+ # does not run inside Bundler, so the option silently degrades to
+ # project-only indexing.
+ #
+ # pkg:gem/rubocop#lib/rubocop/project_index_loader.rb:70
+ def bundled_gem_source_files; end
+
# pkg:gem/rubocop#lib/rubocop/project_index_loader.rb:24
def supported_ruby?; end
@@ -62322,7 +63949,7 @@ class RuboCop::ResultCache
# This context is for anything that's not (1) the RuboCop executable
# checksum or (2) the inspected file checksum.
#
- # pkg:gem/rubocop#lib/rubocop/result_cache.rb:254
+ # pkg:gem/rubocop#lib/rubocop/result_cache.rb:256
def context_checksum(team, options); end
# pkg:gem/rubocop#lib/rubocop/result_cache.rb:178
@@ -62429,130 +64056,164 @@ class RuboCop::Runner
private
- # pkg:gem/rubocop#lib/rubocop/runner.rb:269
+ # pkg:gem/rubocop#lib/rubocop/runner.rb:297
def add_redundant_disables(file, offenses, source); end
- # pkg:gem/rubocop#lib/rubocop/runner.rb:243
+ # pkg:gem/rubocop#lib/rubocop/runner.rb:107
+ def build_project_index(target_files); end
+
+ # pkg:gem/rubocop#lib/rubocop/runner.rb:129
+ def bundled_gem_files; end
+
+ # pkg:gem/rubocop#lib/rubocop/runner.rb:271
def cached_result(file, team); end
- # pkg:gem/rubocop#lib/rubocop/runner.rb:324
+ # pkg:gem/rubocop#lib/rubocop/runner.rb:352
def cached_run?; end
# Check whether a run created source identical to a previous run, which
# means that we definitely have an infinite loop.
#
- # pkg:gem/rubocop#lib/rubocop/runner.rb:400
+ # pkg:gem/rubocop#lib/rubocop/runner.rb:461
def check_for_infinite_loop(processed_source, offenses_by_iteration); end
- # pkg:gem/rubocop#lib/rubocop/runner.rb:295
+ # pkg:gem/rubocop#lib/rubocop/runner.rb:323
def check_for_redundant_disables?(source); end
- # pkg:gem/rubocop#lib/rubocop/runner.rb:503
+ # pkg:gem/rubocop#lib/rubocop/runner.rb:561
def considered_failure?(offense); end
- # pkg:gem/rubocop#lib/rubocop/runner.rb:540
+ # pkg:gem/rubocop#lib/rubocop/runner.rb:598
def default_config(cop_name); end
- # pkg:gem/rubocop#lib/rubocop/runner.rb:342
+ # pkg:gem/rubocop#lib/rubocop/runner.rb:370
def do_inspection_loop(file); end
- # pkg:gem/rubocop#lib/rubocop/runner.rb:309
+ # When corrections were written to disk and read back between iterations,
+ # the text-mode write converted LF to CRLF on Windows, and cops like
+ # `Layout/EndOfLine` rely on seeing the source as it would be on disk.
+ # Apply the same conversion to the in-memory source. The final `File.write`
+ # still performs it for the file itself.
+ #
+ # pkg:gem/rubocop#lib/rubocop/runner.rb:423
+ def emulate_write_read_cycle(source); end
+
+ # pkg:gem/rubocop#lib/rubocop/runner.rb:337
def except_redundant_cop_disable_directive?; end
- # pkg:gem/rubocop#lib/rubocop/runner.rb:422
+ # pkg:gem/rubocop#lib/rubocop/runner.rb:483
def extract_ruby_sources(processed_source); end
- # pkg:gem/rubocop#lib/rubocop/runner.rb:318
+ # pkg:gem/rubocop#lib/rubocop/runner.rb:346
def file_finished(file, offenses); end
- # pkg:gem/rubocop#lib/rubocop/runner.rb:137
+ # pkg:gem/rubocop#lib/rubocop/runner.rb:165
def file_iterator(files, &block); end
- # pkg:gem/rubocop#lib/rubocop/runner.rb:247
+ # pkg:gem/rubocop#lib/rubocop/runner.rb:275
def file_offense_cache(file); end
- # pkg:gem/rubocop#lib/rubocop/runner.rb:235
+ # pkg:gem/rubocop#lib/rubocop/runner.rb:263
def file_offenses(file); end
- # pkg:gem/rubocop#lib/rubocop/runner.rb:313
+ # pkg:gem/rubocop#lib/rubocop/runner.rb:341
def file_started(file); end
- # pkg:gem/rubocop#lib/rubocop/runner.rb:483
- def filter_cop_classes(cop_classes, config); end
-
# pkg:gem/rubocop#lib/rubocop/runner.rb:96
def find_target_files(paths); end
- # pkg:gem/rubocop#lib/rubocop/runner.rb:157
+ # pkg:gem/rubocop#lib/rubocop/runner.rb:185
def finished_report(file, index, offenses); end
- # pkg:gem/rubocop#lib/rubocop/runner.rb:494
+ # pkg:gem/rubocop#lib/rubocop/runner.rb:552
def formatter_set; end
- # pkg:gem/rubocop#lib/rubocop/runner.rb:555
- def get_processed_source(file, prism_result); end
+ # pkg:gem/rubocop#lib/rubocop/runner.rb:613
+ def get_processed_source(file, prism_result, source: T.unsafe(nil)); end
+
+ # Custom ruby extractors may derive their fragments from the file on
+ # disk rather than from the passed processed source, so corrections can
+ # only be kept in memory when the default extractor is used.
+ #
+ # pkg:gem/rubocop#lib/rubocop/runner.rb:432
+ def in_memory_corrections_possible?; end
- # pkg:gem/rubocop#lib/rubocop/runner.rb:414
+ # pkg:gem/rubocop#lib/rubocop/runner.rb:475
def inspect_file(processed_source, team = T.unsafe(nil)); end
- # pkg:gem/rubocop#lib/rubocop/runner.rb:118
+ # pkg:gem/rubocop#lib/rubocop/runner.rb:146
def inspect_files(files); end
- # pkg:gem/rubocop#lib/rubocop/runner.rb:375
+ # pkg:gem/rubocop#lib/rubocop/runner.rb:411
+ def inspect_iteration(processed_source); end
+
+ # pkg:gem/rubocop#lib/rubocop/runner.rb:436
def iterate_until_no_changes(source, offenses_by_iteration); end
- # pkg:gem/rubocop#lib/rubocop/runner.rb:221
+ # pkg:gem/rubocop#lib/rubocop/runner.rb:249
def list_files(paths); end
- # pkg:gem/rubocop#lib/rubocop/runner.rb:536
+ # pkg:gem/rubocop#lib/rubocop/runner.rb:594
def mark_as_safe_by_config?(config); end
- # pkg:gem/rubocop#lib/rubocop/runner.rb:544
+ # pkg:gem/rubocop#lib/rubocop/runner.rb:602
def minimum_severity_to_fail; end
- # pkg:gem/rubocop#lib/rubocop/runner.rb:436
+ # pkg:gem/rubocop#lib/rubocop/runner.rb:526
+ def mobilize_cop_badge?(badge, config); end
+
+ # pkg:gem/rubocop#lib/rubocop/runner.rb:497
def mobilize_team(processed_source); end
- # pkg:gem/rubocop#lib/rubocop/runner.rb:449
+ # pkg:gem/rubocop#lib/rubocop/runner.rb:510
def mobilized_cop_classes(config); end
- # pkg:gem/rubocop#lib/rubocop/runner.rb:512
+ # pkg:gem/rubocop#lib/rubocop/runner.rb:570
def offense_displayed?(offense); end
- # pkg:gem/rubocop#lib/rubocop/runner.rb:524
+ # pkg:gem/rubocop#lib/rubocop/runner.rb:582
def offenses_to_report(offenses); end
- # pkg:gem/rubocop#lib/rubocop/runner.rb:204
+ # pkg:gem/rubocop#lib/rubocop/runner.rb:232
def parallel_file_iterator(files, on_start, on_finish, &block); end
- # pkg:gem/rubocop#lib/rubocop/runner.rb:225
+ # pkg:gem/rubocop#lib/rubocop/runner.rb:253
def process_file(file); end
- # pkg:gem/rubocop#lib/rubocop/runner.rb:171
+ # pkg:gem/rubocop#lib/rubocop/runner.rb:199
def process_remaining_report_queue; end
- # pkg:gem/rubocop#lib/rubocop/runner.rb:166
+ # pkg:gem/rubocop#lib/rubocop/runner.rb:194
def process_report_queue_entry(index); end
- # pkg:gem/rubocop#lib/rubocop/runner.rb:193
+ # pkg:gem/rubocop#lib/rubocop/runner.rb:221
def project_index_disables_parallel?; end
- # pkg:gem/rubocop#lib/rubocop/runner.rb:107
+ # pkg:gem/rubocop#lib/rubocop/runner.rb:135
def project_index_enabled?; end
- # pkg:gem/rubocop#lib/rubocop/runner.rb:473
+ # The index always covers the whole project, not just the files being
+ # inspected: cross-file offenses must not depend on which files a
+ # particular run happens to include, or single-file runs (editors, CI
+ # sharding) would see different offenses than full runs. The project is
+ # rooted at the directory of the configuration that enabled the index.
+ #
+ # pkg:gem/rubocop#lib/rubocop/runner.rb:118
+ def project_index_files(target_files); end
+
+ # pkg:gem/rubocop#lib/rubocop/runner.rb:538
def qualify_option_cop_names; end
- # pkg:gem/rubocop#lib/rubocop/runner.rb:301
+ # pkg:gem/rubocop#lib/rubocop/runner.rb:329
def redundant_cop_disable_directive(file); end
- # pkg:gem/rubocop#lib/rubocop/runner.rb:177
+ # pkg:gem/rubocop#lib/rubocop/runner.rb:205
def run_in_parallel?(files); end
- # pkg:gem/rubocop#lib/rubocop/runner.rb:332
+ # pkg:gem/rubocop#lib/rubocop/runner.rb:360
def save_in_cache(cache, offenses); end
- # pkg:gem/rubocop#lib/rubocop/runner.rb:208
+ # pkg:gem/rubocop#lib/rubocop/runner.rb:236
def serial_file_iterator(files, on_start, on_finish, &block); end
# A Cop::Team instance is stateful and may change when inspecting.
@@ -62560,16 +64221,16 @@ class RuboCop::Runner
# otherwise dormant team that can be used for config- and option-
# level caching in ResultCache.
#
- # pkg:gem/rubocop#lib/rubocop/runner.rb:587
+ # pkg:gem/rubocop#lib/rubocop/runner.rb:652
def standby_team(config); end
- # pkg:gem/rubocop#lib/rubocop/runner.rb:490
+ # pkg:gem/rubocop#lib/rubocop/runner.rb:548
def style_guide_cops_only?(config); end
- # pkg:gem/rubocop#lib/rubocop/runner.rb:528
+ # pkg:gem/rubocop#lib/rubocop/runner.rb:586
def supports_safe_autocorrect?(offense); end
- # pkg:gem/rubocop#lib/rubocop/runner.rb:284
+ # pkg:gem/rubocop#lib/rubocop/runner.rb:312
def team_for_redundant_disables(file, offenses, source); end
class << self
diff --git a/sorbet/rbi/gems/zeitwerk@2.8.2.rbi b/sorbet/rbi/gems/zeitwerk@2.8.3.rbi
similarity index 99%
rename from sorbet/rbi/gems/zeitwerk@2.8.2.rbi
rename to sorbet/rbi/gems/zeitwerk@2.8.3.rbi
index 2ca063c..166710b 100644
--- a/sorbet/rbi/gems/zeitwerk@2.8.2.rbi
+++ b/sorbet/rbi/gems/zeitwerk@2.8.3.rbi
@@ -885,7 +885,7 @@ module Zeitwerk::Loader::EagerLoad
# In order to invoke this method, the caller has to ensure `child` is a
# strict namespace descendant of `root_namespace`.
#
- # pkg:gem/zeitwerk#lib/zeitwerk/loader/eager_load.rb:191
+ # pkg:gem/zeitwerk#lib/zeitwerk/loader/eager_load.rb:193
def eager_load_child_namespace(child, child_name, root_dir, root_namespace); end
end