openfeature-sdk-sorbet 0.2.0.2 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +2 -1
  3. data/.ruby-version +1 -1
  4. data/.tool-versions +1 -1
  5. data/CHANGELOG.md +9 -6
  6. data/Gemfile +1 -1
  7. data/Gemfile.lock +55 -49
  8. data/README.md +23 -6
  9. data/lib/open_feature/client.rb +90 -32
  10. data/lib/open_feature/client_metadata.rb +1 -0
  11. data/lib/open_feature/evaluation_context.rb +7 -5
  12. data/lib/open_feature/evaluation_details.rb +2 -2
  13. data/lib/open_feature/hook.rb +41 -1
  14. data/lib/open_feature/hook_context.rb +30 -0
  15. data/lib/open_feature/hooks.rb +22 -0
  16. data/lib/open_feature/multiple_source_provider.rb +28 -12
  17. data/lib/open_feature/no_op_provider.rb +2 -3
  18. data/lib/open_feature/provider.rb +16 -2
  19. data/lib/open_feature/provider_status.rb +13 -0
  20. data/lib/open_feature.rb +9 -2
  21. data/sorbet/rbi/gems/.gitattributes +1 -0
  22. data/sorbet/rbi/gems/{json@2.6.3.rbi → json@2.7.1.rbi} +80 -60
  23. data/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi +14237 -0
  24. data/sorbet/rbi/gems/{minitest@5.18.0.rbi → minitest@5.21.2.rbi} +299 -258
  25. data/sorbet/rbi/gems/{parallel@1.23.0.rbi → parallel@1.24.0.rbi} +8 -1
  26. data/sorbet/rbi/gems/{parser@3.2.2.1.rbi → parser@3.3.0.5.rbi} +438 -2219
  27. data/sorbet/rbi/gems/prism@0.19.0.rbi +25199 -0
  28. data/sorbet/rbi/gems/psych@5.1.2.rbi +1731 -0
  29. data/sorbet/rbi/gems/racc@1.7.3.rbi +157 -0
  30. data/sorbet/rbi/gems/{rake@13.0.6.rbi → rake@13.1.0.rbi} +68 -65
  31. data/sorbet/rbi/gems/{rbi@0.0.16.rbi → rbi@0.1.6.rbi} +628 -755
  32. data/sorbet/rbi/gems/{regexp_parser@2.8.0.rbi → regexp_parser@2.9.0.rbi} +203 -180
  33. data/sorbet/rbi/gems/{rexml@3.2.5.rbi → rexml@3.2.6.rbi} +116 -52
  34. data/sorbet/rbi/gems/{rubocop-ast@1.28.1.rbi → rubocop-ast@1.30.0.rbi} +178 -84
  35. data/sorbet/rbi/gems/{rubocop-minitest@0.31.0.rbi → rubocop-minitest@0.34.5.rbi} +280 -232
  36. data/sorbet/rbi/gems/{rubocop-performance@1.17.1.rbi → rubocop-performance@1.20.2.rbi} +397 -172
  37. data/sorbet/rbi/gems/{rubocop-sorbet@0.7.0.rbi → rubocop-sorbet@0.7.6.rbi} +728 -261
  38. data/sorbet/rbi/gems/{rubocop@1.51.0.rbi → rubocop@1.60.2.rbi} +4006 -1936
  39. data/sorbet/rbi/gems/spoom@1.2.1.rbi +17 -56
  40. data/sorbet/rbi/gems/stringio@3.1.0.rbi +8 -0
  41. data/sorbet/rbi/gems/{tapioca@0.11.6.rbi → tapioca@0.11.17.rbi} +778 -576
  42. data/sorbet/rbi/gems/{thor@1.2.2.rbi → thor@1.3.0.rbi} +775 -395
  43. data/sorbet/rbi/gems/yard-sorbet@0.8.1.rbi +1 -1
  44. data/sorbet/rbi/gems/yard@0.9.34.rbi +2 -2
  45. data/sorbet/rbi/gems/{zeitwerk@2.6.8.rbi → zeitwerk@2.6.12.rbi} +78 -67
  46. data/sorbet/tapioca/config.yml +2 -2
  47. data/sorbet/tapioca/require.rb +3 -1
  48. metadata +36 -31
  49. data/openfeature-sdk-sorbet.gemspec +0 -35
  50. data/sorbet/rbi/gems/diff-lcs@1.5.0.rbi +0 -1083
  51. data/sorbet/rbi/gems/irb@1.6.4.rbi +0 -342
  52. data/sorbet/rbi/gems/unparser@0.6.7.rbi +0 -4524
  53. /data/sorbet/rbi/gems/{io-console@0.6.0.rbi → io-console@0.7.2.rbi} +0 -0
  54. /data/sorbet/rbi/gems/{reline@0.3.3.rbi → reline@0.4.2.rbi} +0 -0
  55. /data/sorbet/rbi/gems/{unicode-display_width@2.4.2.rbi → unicode-display_width@2.5.0.rbi} +0 -0
@@ -10,6 +10,35 @@ module RuboCop; end
10
10
  # source://rubocop-performance//lib/rubocop/cop/mixin/regexp_metacharacter.rb#4
11
11
  module RuboCop::Cop; end
12
12
 
13
+ module RuboCop::Cop::Lint; end
14
+
15
+ class RuboCop::Cop::Lint::UnusedMethodArgument < ::RuboCop::Cop::Base
16
+ # source://rubocop/1.60.2/lib/rubocop/cop/lint/unused_method_argument.rb#66
17
+ def not_implemented?(param0 = T.unsafe(nil)); end
18
+
19
+ private
20
+
21
+ # source://rubocop/1.60.2/lib/rubocop/cop/lint/unused_method_argument.rb#81
22
+ def autocorrect(corrector, node); end
23
+
24
+ # source://rubocop/1.60.2/lib/rubocop/cop/lint/unused_method_argument.rb#85
25
+ def check_argument(variable); end
26
+
27
+ # source://rubocop/1.60.2/lib/rubocop/cop/lint/unused_method_argument.rb#93
28
+ def ignored_method?(body); end
29
+
30
+ # source://rubocop/1.60.2/lib/rubocop/cop/lint/unused_method_argument.rb#98
31
+ def message(variable); end
32
+
33
+ class << self
34
+ # source://rubocop-performance//lib/rubocop-performance.rb#15
35
+ def autocorrect_incompatible_with; end
36
+
37
+ # source://rubocop/1.60.2/lib/rubocop/cop/lint/unused_method_argument.rb#75
38
+ def joining_forces; end
39
+ end
40
+ end
41
+
13
42
  # source://rubocop-performance//lib/rubocop/cop/performance/ancestors_include.rb#5
14
43
  module RuboCop::Cop::Performance; end
15
44
 
@@ -77,12 +106,15 @@ class RuboCop::Cop::Performance::ArraySemiInfiniteRangeSlice < ::RuboCop::Cop::B
77
106
  # source://rubocop-performance//lib/rubocop/cop/performance/array_semi_infinite_range_slice.rb#41
78
107
  def endless_range_slice?(param0 = T.unsafe(nil)); end
79
108
 
109
+ # source://rubocop-performance//lib/rubocop/cop/performance/array_semi_infinite_range_slice.rb#52
110
+ def on_csend(node); end
111
+
80
112
  # source://rubocop-performance//lib/rubocop/cop/performance/array_semi_infinite_range_slice.rb#52
81
113
  def on_send(node); end
82
114
 
83
115
  private
84
116
 
85
- # source://rubocop-performance//lib/rubocop/cop/performance/array_semi_infinite_range_slice.rb#65
117
+ # source://rubocop-performance//lib/rubocop/cop/performance/array_semi_infinite_range_slice.rb#66
86
118
  def correction(receiver, range_node); end
87
119
  end
88
120
 
@@ -208,6 +240,11 @@ class RuboCop::Cop::Performance::BlockGivenWithExplicitBlock < ::RuboCop::Cop::B
208
240
 
209
241
  # source://rubocop-performance//lib/rubocop/cop/performance/block_given_with_explicit_block.rb#33
210
242
  def reassigns_block_arg?(param0 = T.unsafe(nil), param1); end
243
+
244
+ class << self
245
+ # source://rubocop-performance//lib/rubocop/cop/performance/block_given_with_explicit_block.rb#51
246
+ def autocorrect_incompatible_with; end
247
+ end
211
248
  end
212
249
 
213
250
  # source://rubocop-performance//lib/rubocop/cop/performance/block_given_with_explicit_block.rb#31
@@ -580,56 +617,63 @@ RuboCop::Cop::Performance::CollectionLiteralInLoop::POST_CONDITION_LOOP_TYPES =
580
617
 
581
618
  # Identifies places where `sort { |a, b| a.foo <=> b.foo }`
582
619
  # can be replaced by `sort_by(&:foo)`.
583
- # This cop also checks `max` and `min` methods.
620
+ # This cop also checks `sort!`, `min`, `max` and `minmax` methods.
584
621
  #
585
622
  # @example
586
623
  # # bad
587
- # array.sort { |a, b| a.foo <=> b.foo }
588
- # array.max { |a, b| a.foo <=> b.foo }
589
- # array.min { |a, b| a.foo <=> b.foo }
590
- # array.sort { |a, b| a[:foo] <=> b[:foo] }
624
+ # array.sort { |a, b| a.foo <=> b.foo }
625
+ # array.sort! { |a, b| a.foo <=> b.foo }
626
+ # array.max { |a, b| a.foo <=> b.foo }
627
+ # array.min { |a, b| a.foo <=> b.foo }
628
+ # array.minmax { |a, b| a.foo <=> b.foo }
629
+ # array.sort { |a, b| a[:foo] <=> b[:foo] }
591
630
  #
592
631
  # # good
593
632
  # array.sort_by(&:foo)
633
+ # array.sort_by!(&:foo)
594
634
  # array.sort_by { |v| v.foo }
595
635
  # array.sort_by do |var|
596
636
  # var.foo
597
637
  # end
598
638
  # array.max_by(&:foo)
599
639
  # array.min_by(&:foo)
640
+ # array.minmax_by(&:foo)
600
641
  # array.sort_by { |a| a[:foo] }
601
642
  #
602
- # source://rubocop-performance//lib/rubocop/cop/performance/compare_with_block.rb#26
643
+ # source://rubocop-performance//lib/rubocop/cop/performance/compare_with_block.rb#30
603
644
  class RuboCop::Cop::Performance::CompareWithBlock < ::RuboCop::Cop::Base
604
645
  include ::RuboCop::Cop::RangeHelp
605
646
  extend ::RuboCop::Cop::AutoCorrector
606
647
 
607
- # source://rubocop-performance//lib/rubocop/cop/performance/compare_with_block.rb#34
648
+ # source://rubocop-performance//lib/rubocop/cop/performance/compare_with_block.rb#41
608
649
  def compare?(param0 = T.unsafe(nil)); end
609
650
 
610
- # source://rubocop-performance//lib/rubocop/cop/performance/compare_with_block.rb#48
651
+ # source://rubocop-performance//lib/rubocop/cop/performance/compare_with_block.rb#55
611
652
  def on_block(node); end
612
653
 
613
- # source://rubocop-performance//lib/rubocop/cop/performance/compare_with_block.rb#41
654
+ # source://rubocop-performance//lib/rubocop/cop/performance/compare_with_block.rb#48
614
655
  def replaceable_body?(param0 = T.unsafe(nil), param1, param2); end
615
656
 
616
657
  private
617
658
 
618
- # source://rubocop-performance//lib/rubocop/cop/performance/compare_with_block.rb#105
659
+ # source://rubocop-performance//lib/rubocop/cop/performance/compare_with_block.rb#114
619
660
  def compare_range(send, node); end
620
661
 
621
- # source://rubocop-performance//lib/rubocop/cop/performance/compare_with_block.rb#84
662
+ # source://rubocop-performance//lib/rubocop/cop/performance/compare_with_block.rb#91
622
663
  def message(send, method, var_a, var_b, args); end
623
664
 
624
665
  # @return [Boolean]
625
666
  #
626
- # source://rubocop-performance//lib/rubocop/cop/performance/compare_with_block.rb#69
667
+ # source://rubocop-performance//lib/rubocop/cop/performance/compare_with_block.rb#76
627
668
  def slow_compare?(method, args_a, args_b); end
628
669
  end
629
670
 
630
- # source://rubocop-performance//lib/rubocop/cop/performance/compare_with_block.rb#30
671
+ # source://rubocop-performance//lib/rubocop/cop/performance/compare_with_block.rb#34
631
672
  RuboCop::Cop::Performance::CompareWithBlock::MSG = T.let(T.unsafe(nil), String)
632
673
 
674
+ # source://rubocop-performance//lib/rubocop/cop/performance/compare_with_block.rb#38
675
+ RuboCop::Cop::Performance::CompareWithBlock::REPLACEMENT = T.let(T.unsafe(nil), Hash)
676
+
633
677
  # Identifies places where `Concurrent.monotonic_time`
634
678
  # can be replaced by `Process.clock_gettime(Process::CLOCK_MONOTONIC)`.
635
679
  #
@@ -692,23 +736,28 @@ RuboCop::Cop::Performance::ConcurrentMonotonicTime::RESTRICT_ON_SEND = T.let(T.u
692
736
  class RuboCop::Cop::Performance::ConstantRegexp < ::RuboCop::Cop::Base
693
737
  extend ::RuboCop::Cop::AutoCorrector
694
738
 
695
- # source://rubocop-performance//lib/rubocop/cop/performance/constant_regexp.rb#41
739
+ # source://rubocop-performance//lib/rubocop/cop/performance/constant_regexp.rb#45
696
740
  def on_regexp(node); end
697
741
 
698
- # source://rubocop-performance//lib/rubocop/cop/performance/constant_regexp.rb#55
742
+ # source://rubocop-performance//lib/rubocop/cop/performance/constant_regexp.rb#59
699
743
  def regexp_escape?(param0 = T.unsafe(nil)); end
700
744
 
701
745
  private
702
746
 
703
747
  # @return [Boolean]
704
748
  #
705
- # source://rubocop-performance//lib/rubocop/cop/performance/constant_regexp.rb#60
749
+ # source://rubocop-performance//lib/rubocop/cop/performance/constant_regexp.rb#64
706
750
  def include_interpolated_const?(node); end
707
751
 
708
752
  # @return [Boolean]
709
753
  #
710
- # source://rubocop-performance//lib/rubocop/cop/performance/constant_regexp.rb#51
754
+ # source://rubocop-performance//lib/rubocop/cop/performance/constant_regexp.rb#55
711
755
  def within_allowed_assignment?(node); end
756
+
757
+ class << self
758
+ # source://rubocop-performance//lib/rubocop/cop/performance/constant_regexp.rb#41
759
+ def autocorrect_incompatible_with; end
760
+ end
712
761
  end
713
762
 
714
763
  # source://rubocop-performance//lib/rubocop/cop/performance/constant_regexp.rb#39
@@ -736,15 +785,18 @@ RuboCop::Cop::Performance::ConstantRegexp::MSG = T.let(T.unsafe(nil), String)
736
785
  # Model.select('field AS field_one').count
737
786
  # Model.select(:value).count
738
787
  #
739
- # source://rubocop-performance//lib/rubocop/cop/performance/count.rb#49
788
+ # source://rubocop-performance//lib/rubocop/cop/performance/count.rb#48
740
789
  class RuboCop::Cop::Performance::Count < ::RuboCop::Cop::Base
741
790
  include ::RuboCop::Cop::RangeHelp
742
791
  extend ::RuboCop::Cop::AutoCorrector
743
792
 
744
- # source://rubocop-performance//lib/rubocop/cop/performance/count.rb#56
793
+ # source://rubocop-performance//lib/rubocop/cop/performance/count.rb#55
745
794
  def count_candidate?(param0 = T.unsafe(nil)); end
746
795
 
747
- # source://rubocop-performance//lib/rubocop/cop/performance/count.rb#63
796
+ # source://rubocop-performance//lib/rubocop/cop/performance/count.rb#62
797
+ def on_csend(node); end
798
+
799
+ # source://rubocop-performance//lib/rubocop/cop/performance/count.rb#62
748
800
  def on_send(node); end
749
801
 
750
802
  private
@@ -776,10 +828,10 @@ class RuboCop::Cop::Performance::Count < ::RuboCop::Cop::Base
776
828
  def source_starting_at(node); end
777
829
  end
778
830
 
779
- # source://rubocop-performance//lib/rubocop/cop/performance/count.rb#53
831
+ # source://rubocop-performance//lib/rubocop/cop/performance/count.rb#52
780
832
  RuboCop::Cop::Performance::Count::MSG = T.let(T.unsafe(nil), String)
781
833
 
782
- # source://rubocop-performance//lib/rubocop/cop/performance/count.rb#54
834
+ # source://rubocop-performance//lib/rubocop/cop/performance/count.rb#53
783
835
  RuboCop::Cop::Performance::Count::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
784
836
 
785
837
  # In Ruby 2.5, `String#delete_prefix` has been added.
@@ -829,7 +881,10 @@ class RuboCop::Cop::Performance::DeletePrefix < ::RuboCop::Cop::Base
829
881
  # source://rubocop-performance//lib/rubocop/cop/performance/delete_prefix.rb#66
830
882
  def delete_prefix_candidate?(param0 = T.unsafe(nil)); end
831
883
 
832
- # source://rubocop-performance//lib/rubocop/cop/performance/delete_prefix.rb#70
884
+ # source://rubocop-performance//lib/rubocop/cop/performance/delete_prefix.rb#71
885
+ def on_csend(node); end
886
+
887
+ # source://rubocop-performance//lib/rubocop/cop/performance/delete_prefix.rb#71
833
888
  def on_send(node); end
834
889
  end
835
890
 
@@ -889,7 +944,10 @@ class RuboCop::Cop::Performance::DeleteSuffix < ::RuboCop::Cop::Base
889
944
  # source://rubocop-performance//lib/rubocop/cop/performance/delete_suffix.rb#66
890
945
  def delete_suffix_candidate?(param0 = T.unsafe(nil)); end
891
946
 
892
- # source://rubocop-performance//lib/rubocop/cop/performance/delete_suffix.rb#70
947
+ # source://rubocop-performance//lib/rubocop/cop/performance/delete_suffix.rb#71
948
+ def on_csend(node); end
949
+
950
+ # source://rubocop-performance//lib/rubocop/cop/performance/delete_suffix.rb#71
893
951
  def on_send(node); end
894
952
  end
895
953
 
@@ -928,6 +986,9 @@ class RuboCop::Cop::Performance::Detect < ::RuboCop::Cop::Base
928
986
  # source://rubocop-performance//lib/rubocop/cop/performance/detect.rb#41
929
987
  def detect_candidate?(param0 = T.unsafe(nil)); end
930
988
 
989
+ # source://rubocop-performance//lib/rubocop/cop/performance/detect.rb#50
990
+ def on_csend(node); end
991
+
931
992
  # source://rubocop-performance//lib/rubocop/cop/performance/detect.rb#50
932
993
  def on_send(node); end
933
994
 
@@ -935,27 +996,27 @@ class RuboCop::Cop::Performance::Detect < ::RuboCop::Cop::Base
935
996
 
936
997
  # @return [Boolean]
937
998
  #
938
- # source://rubocop-performance//lib/rubocop/cop/performance/detect.rb#69
999
+ # source://rubocop-performance//lib/rubocop/cop/performance/detect.rb#70
939
1000
  def accept_first_call?(receiver, body); end
940
1001
 
941
- # source://rubocop-performance//lib/rubocop/cop/performance/detect.rb#101
1002
+ # source://rubocop-performance//lib/rubocop/cop/performance/detect.rb#102
942
1003
  def autocorrect(corrector, node, replacement); end
943
1004
 
944
1005
  # @return [Boolean]
945
1006
  #
946
- # source://rubocop-performance//lib/rubocop/cop/performance/detect.rb#127
1007
+ # source://rubocop-performance//lib/rubocop/cop/performance/detect.rb#128
947
1008
  def lazy?(node); end
948
1009
 
949
- # source://rubocop-performance//lib/rubocop/cop/performance/detect.rb#112
1010
+ # source://rubocop-performance//lib/rubocop/cop/performance/detect.rb#113
950
1011
  def message_for_method(method, index); end
951
1012
 
952
- # source://rubocop-performance//lib/rubocop/cop/performance/detect.rb#123
1013
+ # source://rubocop-performance//lib/rubocop/cop/performance/detect.rb#124
953
1014
  def preferred_method; end
954
1015
 
955
- # source://rubocop-performance//lib/rubocop/cop/performance/detect.rb#78
1016
+ # source://rubocop-performance//lib/rubocop/cop/performance/detect.rb#79
956
1017
  def register_offense(node, receiver, second_method, index); end
957
1018
 
958
- # source://rubocop-performance//lib/rubocop/cop/performance/detect.rb#93
1019
+ # source://rubocop-performance//lib/rubocop/cop/performance/detect.rb#94
959
1020
  def replacement(method, index); end
960
1021
  end
961
1022
 
@@ -1087,6 +1148,9 @@ class RuboCop::Cop::Performance::EndWith < ::RuboCop::Cop::Base
1087
1148
  include ::RuboCop::Cop::RegexpMetacharacter
1088
1149
  extend ::RuboCop::Cop::AutoCorrector
1089
1150
 
1151
+ # source://rubocop-performance//lib/rubocop/cop/performance/end_with.rb#62
1152
+ def on_csend(node); end
1153
+
1090
1154
  # source://rubocop-performance//lib/rubocop/cop/performance/end_with.rb#62
1091
1155
  def on_match_with_lvasgn(node); end
1092
1156
 
@@ -1150,6 +1214,9 @@ class RuboCop::Cop::Performance::FixedSize < ::RuboCop::Cop::Base
1150
1214
  # source://rubocop-performance//lib/rubocop/cop/performance/fixed_size.rb#52
1151
1215
  def counter(param0 = T.unsafe(nil)); end
1152
1216
 
1217
+ # source://rubocop-performance//lib/rubocop/cop/performance/fixed_size.rb#56
1218
+ def on_csend(node); end
1219
+
1153
1220
  # source://rubocop-performance//lib/rubocop/cop/performance/fixed_size.rb#56
1154
1221
  def on_send(node); end
1155
1222
 
@@ -1157,32 +1224,32 @@ class RuboCop::Cop::Performance::FixedSize < ::RuboCop::Cop::Base
1157
1224
 
1158
1225
  # @return [Boolean]
1159
1226
  #
1160
- # source://rubocop-performance//lib/rubocop/cop/performance/fixed_size.rb#72
1227
+ # source://rubocop-performance//lib/rubocop/cop/performance/fixed_size.rb#73
1161
1228
  def allowed_argument?(arg); end
1162
1229
 
1163
1230
  # @return [Boolean]
1164
1231
  #
1165
- # source://rubocop-performance//lib/rubocop/cop/performance/fixed_size.rb#76
1232
+ # source://rubocop-performance//lib/rubocop/cop/performance/fixed_size.rb#77
1166
1233
  def allowed_parent?(node); end
1167
1234
 
1168
1235
  # @return [Boolean]
1169
1236
  #
1170
- # source://rubocop-performance//lib/rubocop/cop/performance/fixed_size.rb#68
1237
+ # source://rubocop-performance//lib/rubocop/cop/performance/fixed_size.rb#69
1171
1238
  def allowed_variable?(var); end
1172
1239
 
1173
1240
  # @return [Boolean]
1174
1241
  #
1175
- # source://rubocop-performance//lib/rubocop/cop/performance/fixed_size.rb#86
1242
+ # source://rubocop-performance//lib/rubocop/cop/performance/fixed_size.rb#87
1176
1243
  def contains_double_splat?(node); end
1177
1244
 
1178
1245
  # @return [Boolean]
1179
1246
  #
1180
- # source://rubocop-performance//lib/rubocop/cop/performance/fixed_size.rb#80
1247
+ # source://rubocop-performance//lib/rubocop/cop/performance/fixed_size.rb#81
1181
1248
  def contains_splat?(node); end
1182
1249
 
1183
1250
  # @return [Boolean]
1184
1251
  #
1185
- # source://rubocop-performance//lib/rubocop/cop/performance/fixed_size.rb#92
1252
+ # source://rubocop-performance//lib/rubocop/cop/performance/fixed_size.rb#93
1186
1253
  def non_string_argument?(node); end
1187
1254
  end
1188
1255
 
@@ -1213,21 +1280,24 @@ class RuboCop::Cop::Performance::FlatMap < ::RuboCop::Cop::Base
1213
1280
  # source://rubocop-performance//lib/rubocop/cop/performance/flat_map.rb#28
1214
1281
  def flat_map_candidate?(param0 = T.unsafe(nil)); end
1215
1282
 
1283
+ # source://rubocop-performance//lib/rubocop/cop/performance/flat_map.rb#39
1284
+ def on_csend(node); end
1285
+
1216
1286
  # source://rubocop-performance//lib/rubocop/cop/performance/flat_map.rb#39
1217
1287
  def on_send(node); end
1218
1288
 
1219
1289
  private
1220
1290
 
1221
- # source://rubocop-performance//lib/rubocop/cop/performance/flat_map.rb#72
1291
+ # source://rubocop-performance//lib/rubocop/cop/performance/flat_map.rb#73
1222
1292
  def autocorrect(corrector, node); end
1223
1293
 
1224
- # source://rubocop-performance//lib/rubocop/cop/performance/flat_map.rb#52
1294
+ # source://rubocop-performance//lib/rubocop/cop/performance/flat_map.rb#53
1225
1295
  def offense_for_levels(node, map_node, first_method, flatten); end
1226
1296
 
1227
- # source://rubocop-performance//lib/rubocop/cop/performance/flat_map.rb#58
1297
+ # source://rubocop-performance//lib/rubocop/cop/performance/flat_map.rb#59
1228
1298
  def offense_for_method(node, map_node, first_method, flatten); end
1229
1299
 
1230
- # source://rubocop-performance//lib/rubocop/cop/performance/flat_map.rb#62
1300
+ # source://rubocop-performance//lib/rubocop/cop/performance/flat_map.rb#63
1231
1301
  def register_offense(node, map_node, first_method, flatten, message); end
1232
1302
  end
1233
1303
 
@@ -1280,27 +1350,36 @@ class RuboCop::Cop::Performance::InefficientHashSearch < ::RuboCop::Cop::Base
1280
1350
  # source://rubocop-performance//lib/rubocop/cop/performance/inefficient_hash_search.rb#47
1281
1351
  def inefficient_include?(param0 = T.unsafe(nil)); end
1282
1352
 
1353
+ # source://rubocop-performance//lib/rubocop/cop/performance/inefficient_hash_search.rb#51
1354
+ def on_csend(node); end
1355
+
1283
1356
  # source://rubocop-performance//lib/rubocop/cop/performance/inefficient_hash_search.rb#51
1284
1357
  def on_send(node); end
1285
1358
 
1286
1359
  private
1287
1360
 
1288
- # source://rubocop-performance//lib/rubocop/cop/performance/inefficient_hash_search.rb#89
1289
- def autocorrect_argument(node); end
1361
+ # source://rubocop-performance//lib/rubocop/cop/performance/inefficient_hash_search.rb#91
1362
+ def correct_argument(node); end
1363
+
1364
+ # source://rubocop-performance//lib/rubocop/cop/performance/inefficient_hash_search.rb#99
1365
+ def correct_dot(node); end
1290
1366
 
1291
- # source://rubocop-performance//lib/rubocop/cop/performance/inefficient_hash_search.rb#93
1292
- def autocorrect_hash_expression(node); end
1367
+ # source://rubocop-performance//lib/rubocop/cop/performance/inefficient_hash_search.rb#95
1368
+ def correct_hash_expression(node); end
1293
1369
 
1294
- # source://rubocop-performance//lib/rubocop/cop/performance/inefficient_hash_search.rb#73
1295
- def autocorrect_method(node); end
1370
+ # source://rubocop-performance//lib/rubocop/cop/performance/inefficient_hash_search.rb#75
1371
+ def correct_method(node); end
1296
1372
 
1297
- # source://rubocop-performance//lib/rubocop/cop/performance/inefficient_hash_search.rb#80
1373
+ # source://rubocop-performance//lib/rubocop/cop/performance/inefficient_hash_search.rb#82
1298
1374
  def current_method(node); end
1299
1375
 
1300
- # source://rubocop-performance//lib/rubocop/cop/performance/inefficient_hash_search.rb#69
1376
+ # source://rubocop-performance//lib/rubocop/cop/performance/inefficient_hash_search.rb#67
1301
1377
  def message(node); end
1302
1378
 
1303
- # source://rubocop-performance//lib/rubocop/cop/performance/inefficient_hash_search.rb#84
1379
+ # source://rubocop-performance//lib/rubocop/cop/performance/inefficient_hash_search.rb#71
1380
+ def replacement(node); end
1381
+
1382
+ # source://rubocop-performance//lib/rubocop/cop/performance/inefficient_hash_search.rb#86
1304
1383
  def use_long_method; end
1305
1384
  end
1306
1385
 
@@ -1398,30 +1477,33 @@ class RuboCop::Cop::Performance::MapCompact < ::RuboCop::Cop::Base
1398
1477
  # source://rubocop-performance//lib/rubocop/cop/performance/map_compact.rb#40
1399
1478
  def map_compact(param0 = T.unsafe(nil)); end
1400
1479
 
1480
+ # source://rubocop-performance//lib/rubocop/cop/performance/map_compact.rb#53
1481
+ def on_csend(node); end
1482
+
1401
1483
  # source://rubocop-performance//lib/rubocop/cop/performance/map_compact.rb#53
1402
1484
  def on_send(node); end
1403
1485
 
1404
1486
  private
1405
1487
 
1406
- # source://rubocop-performance//lib/rubocop/cop/performance/map_compact.rb#93
1488
+ # source://rubocop-performance//lib/rubocop/cop/performance/map_compact.rb#94
1407
1489
  def compact_method_with_final_newline_range(compact_method_range); end
1408
1490
 
1409
1491
  # @return [Boolean]
1410
1492
  #
1411
- # source://rubocop-performance//lib/rubocop/cop/performance/map_compact.rb#89
1493
+ # source://rubocop-performance//lib/rubocop/cop/performance/map_compact.rb#90
1412
1494
  def invoke_method_after_map_compact_on_same_line?(compact_node, chained_method); end
1413
1495
 
1414
1496
  # @return [Boolean]
1415
1497
  #
1416
- # source://rubocop-performance//lib/rubocop/cop/performance/map_compact.rb#85
1498
+ # source://rubocop-performance//lib/rubocop/cop/performance/map_compact.rb#86
1417
1499
  def map_method_and_compact_method_on_same_line?(map_node, compact_node); end
1418
1500
 
1419
- # source://rubocop-performance//lib/rubocop/cop/performance/map_compact.rb#67
1501
+ # source://rubocop-performance//lib/rubocop/cop/performance/map_compact.rb#68
1420
1502
  def remove_compact_method(corrector, map_node, compact_node, chained_method); end
1421
1503
 
1422
1504
  # @return [Boolean]
1423
1505
  #
1424
- # source://rubocop-performance//lib/rubocop/cop/performance/map_compact.rb#81
1506
+ # source://rubocop-performance//lib/rubocop/cop/performance/map_compact.rb#82
1425
1507
  def use_dot?(node); end
1426
1508
  end
1427
1509
 
@@ -1431,6 +1513,59 @@ RuboCop::Cop::Performance::MapCompact::MSG = T.let(T.unsafe(nil), String)
1431
1513
  # source://rubocop-performance//lib/rubocop/cop/performance/map_compact.rb#36
1432
1514
  RuboCop::Cop::Performance::MapCompact::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
1433
1515
 
1516
+ # Checks if the map method is used in a chain.
1517
+ #
1518
+ # Autocorrection is not supported because an appropriate block variable name cannot be determined automatically.
1519
+ #
1520
+ # [source,ruby]
1521
+ # ----
1522
+ # class X
1523
+ # def initialize
1524
+ # @@num = 0
1525
+ # end
1526
+ #
1527
+ # def foo
1528
+ # @@num += 1
1529
+ # self
1530
+ # end
1531
+ #
1532
+ # def bar
1533
+ # @@num * 2
1534
+ # end
1535
+ # end
1536
+ #
1537
+ # [X.new, X.new].map(&:foo).map(&:bar) # => [4, 4]
1538
+ # [X.new, X.new].map { |x| x.foo.bar } # => [2, 4]
1539
+ # ----
1540
+ #
1541
+ # @example
1542
+ #
1543
+ # # bad
1544
+ # array.map(&:foo).map(&:bar)
1545
+ #
1546
+ # # good
1547
+ # array.map { |item| item.foo.bar }
1548
+ #
1549
+ # source://rubocop-performance//lib/rubocop/cop/performance/map_method_chain.rb#43
1550
+ class RuboCop::Cop::Performance::MapMethodChain < ::RuboCop::Cop::Base
1551
+ # source://rubocop-performance//lib/rubocop/cop/performance/map_method_chain.rb#49
1552
+ def block_pass_with_symbol_arg?(param0 = T.unsafe(nil)); end
1553
+
1554
+ # source://rubocop-performance//lib/rubocop/cop/performance/map_method_chain.rb#53
1555
+ def on_send(node); end
1556
+
1557
+ private
1558
+
1559
+ # source://rubocop-performance//lib/rubocop/cop/performance/map_method_chain.rb#72
1560
+ def find_begin_of_chained_map_method(node, map_args); end
1561
+ end
1562
+
1563
+ # source://rubocop-performance//lib/rubocop/cop/performance/map_method_chain.rb#46
1564
+ RuboCop::Cop::Performance::MapMethodChain::MSG = T.let(T.unsafe(nil), String)
1565
+
1566
+ # source://rubocop-performance//lib/rubocop/cop/performance/map_method_chain.rb#47
1567
+ RuboCop::Cop::Performance::MapMethodChain::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
1568
+
1434
1569
  # Identifies places where methods are converted to blocks, with the
1435
1570
  # use of `&method`, and passed as arguments to method calls.
1436
1571
  # It is faster to replace those with explicit blocks, calling those methods inside.
@@ -1509,26 +1644,24 @@ RuboCop::Cop::Performance::OpenStruct::RESTRICT_ON_SEND = T.let(T.unsafe(nil), A
1509
1644
  # # good
1510
1645
  # ('a'..'z').cover?('b') # => true
1511
1646
  #
1512
- # # Example of a case where `Range#cover?` may not provide
1513
- # # the desired result:
1514
- #
1515
- # ('a'..'z').cover?('yellow') # => true
1516
- #
1517
- # source://rubocop-performance//lib/rubocop/cop/performance/range_include.rb#28
1647
+ # source://rubocop-performance//lib/rubocop/cop/performance/range_include.rb#29
1518
1648
  class RuboCop::Cop::Performance::RangeInclude < ::RuboCop::Cop::Base
1519
1649
  extend ::RuboCop::Cop::AutoCorrector
1520
1650
 
1521
- # source://rubocop-performance//lib/rubocop/cop/performance/range_include.rb#43
1651
+ # source://rubocop-performance//lib/rubocop/cop/performance/range_include.rb#44
1652
+ def on_csend(node); end
1653
+
1654
+ # source://rubocop-performance//lib/rubocop/cop/performance/range_include.rb#44
1522
1655
  def on_send(node); end
1523
1656
 
1524
- # source://rubocop-performance//lib/rubocop/cop/performance/range_include.rb#39
1657
+ # source://rubocop-performance//lib/rubocop/cop/performance/range_include.rb#40
1525
1658
  def range_include(param0 = T.unsafe(nil)); end
1526
1659
  end
1527
1660
 
1528
- # source://rubocop-performance//lib/rubocop/cop/performance/range_include.rb#31
1661
+ # source://rubocop-performance//lib/rubocop/cop/performance/range_include.rb#32
1529
1662
  RuboCop::Cop::Performance::RangeInclude::MSG = T.let(T.unsafe(nil), String)
1530
1663
 
1531
- # source://rubocop-performance//lib/rubocop/cop/performance/range_include.rb#32
1664
+ # source://rubocop-performance//lib/rubocop/cop/performance/range_include.rb#33
1532
1665
  RuboCop::Cop::Performance::RangeInclude::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
1533
1666
 
1534
1667
  # Identifies the use of a `&block` parameter and `block.call`
@@ -1720,26 +1853,47 @@ RuboCop::Cop::Performance::RedundantEqualityComparisonBlock::TARGET_METHODS = T.
1720
1853
  class RuboCop::Cop::Performance::RedundantMatch < ::RuboCop::Cop::Base
1721
1854
  extend ::RuboCop::Cop::AutoCorrector
1722
1855
 
1723
- # source://rubocop-performance//lib/rubocop/cop/performance/redundant_match.rb#28
1856
+ # source://rubocop-performance//lib/rubocop/cop/performance/redundant_match.rb#30
1724
1857
  def match_call?(param0 = T.unsafe(nil)); end
1725
1858
 
1726
- # source://rubocop-performance//lib/rubocop/cop/performance/redundant_match.rb#37
1859
+ # source://rubocop-performance//lib/rubocop/cop/performance/redundant_match.rb#39
1727
1860
  def on_send(node); end
1728
1861
 
1729
- # source://rubocop-performance//lib/rubocop/cop/performance/redundant_match.rb#33
1862
+ # source://rubocop-performance//lib/rubocop/cop/performance/redundant_match.rb#35
1730
1863
  def only_truthiness_matters?(param0 = T.unsafe(nil)); end
1731
1864
 
1732
1865
  private
1733
1866
 
1734
- # source://rubocop-performance//lib/rubocop/cop/performance/redundant_match.rb#49
1867
+ # source://rubocop-performance//lib/rubocop/cop/performance/redundant_match.rb#51
1735
1868
  def autocorrect(corrector, node); end
1736
1869
 
1737
1870
  # @return [Boolean]
1738
1871
  #
1739
- # source://rubocop-performance//lib/rubocop/cop/performance/redundant_match.rb#55
1872
+ # source://rubocop-performance//lib/rubocop/cop/performance/redundant_match.rb#57
1740
1873
  def autocorrectable?(node); end
1874
+
1875
+ # @return [Boolean]
1876
+ #
1877
+ # source://rubocop-performance//lib/rubocop/cop/performance/redundant_match.rb#86
1878
+ def call_like?(arg); end
1879
+
1880
+ # source://rubocop-performance//lib/rubocop/cop/performance/redundant_match.rb#63
1881
+ def replacement(node); end
1882
+
1883
+ # @return [Boolean]
1884
+ #
1885
+ # source://rubocop-performance//lib/rubocop/cop/performance/redundant_match.rb#73
1886
+ def requires_parentheses?(arg); end
1887
+
1888
+ # @return [Boolean]
1889
+ #
1890
+ # source://rubocop-performance//lib/rubocop/cop/performance/redundant_match.rb#80
1891
+ def requires_parentheses_for_call_like?(arg); end
1741
1892
  end
1742
1893
 
1894
+ # source://rubocop-performance//lib/rubocop/cop/performance/redundant_match.rb#26
1895
+ RuboCop::Cop::Performance::RedundantMatch::HIGHER_PRECEDENCE_OPERATOR_METHODS = T.let(T.unsafe(nil), Array)
1896
+
1743
1897
  # source://rubocop-performance//lib/rubocop/cop/performance/redundant_match.rb#23
1744
1898
  RuboCop::Cop::Performance::RedundantMatch::MSG = T.let(T.unsafe(nil), String)
1745
1899
 
@@ -1796,10 +1950,10 @@ class RuboCop::Cop::Performance::RedundantMerge < ::RuboCop::Cop::Base
1796
1950
  # source://rubocop-performance//lib/rubocop/cop/performance/redundant_merge.rb#98
1797
1951
  def kwsplat_used?(pairs); end
1798
1952
 
1799
- # source://rubocop-performance//lib/rubocop/cop/performance/redundant_merge.rb#144
1953
+ # source://rubocop-performance//lib/rubocop/cop/performance/redundant_merge.rb#146
1800
1954
  def leading_spaces(node); end
1801
1955
 
1802
- # source://rubocop-performance//lib/rubocop/cop/performance/redundant_merge.rb#148
1956
+ # source://rubocop-performance//lib/rubocop/cop/performance/redundant_merge.rb#150
1803
1957
  def max_key_value_pairs; end
1804
1958
 
1805
1959
  # source://rubocop-performance//lib/rubocop/cop/performance/redundant_merge.rb#71
@@ -1833,44 +1987,44 @@ RuboCop::Cop::Performance::RedundantMerge::AREF_ASGN = T.let(T.unsafe(nil), Stri
1833
1987
  # A utility class for checking the use of values within an
1834
1988
  # `each_with_object` call.
1835
1989
  #
1836
- # source://rubocop-performance//lib/rubocop/cop/performance/redundant_merge.rb#154
1990
+ # source://rubocop-performance//lib/rubocop/cop/performance/redundant_merge.rb#156
1837
1991
  class RuboCop::Cop::Performance::RedundantMerge::EachWithObjectInspector
1838
1992
  extend ::RuboCop::AST::NodePattern::Macros
1839
1993
 
1840
1994
  # @return [EachWithObjectInspector] a new instance of EachWithObjectInspector
1841
1995
  #
1842
- # source://rubocop-performance//lib/rubocop/cop/performance/redundant_merge.rb#157
1996
+ # source://rubocop-performance//lib/rubocop/cop/performance/redundant_merge.rb#159
1843
1997
  def initialize(node, receiver); end
1844
1998
 
1845
- # source://rubocop-performance//lib/rubocop/cop/performance/redundant_merge.rb#188
1999
+ # source://rubocop-performance//lib/rubocop/cop/performance/redundant_merge.rb#190
1846
2000
  def each_with_object_node(param0 = T.unsafe(nil)); end
1847
2001
 
1848
2002
  # @return [Boolean]
1849
2003
  #
1850
- # source://rubocop-performance//lib/rubocop/cop/performance/redundant_merge.rb#162
2004
+ # source://rubocop-performance//lib/rubocop/cop/performance/redundant_merge.rb#164
1851
2005
  def value_used?; end
1852
2006
 
1853
2007
  private
1854
2008
 
1855
2009
  # @return [Boolean]
1856
2010
  #
1857
- # source://rubocop-performance//lib/rubocop/cop/performance/redundant_merge.rb#172
2011
+ # source://rubocop-performance//lib/rubocop/cop/performance/redundant_merge.rb#174
1858
2012
  def eligible_receiver?; end
1859
2013
 
1860
2014
  # Returns the value of attribute node.
1861
2015
  #
1862
- # source://rubocop-performance//lib/rubocop/cop/performance/redundant_merge.rb#170
2016
+ # source://rubocop-performance//lib/rubocop/cop/performance/redundant_merge.rb#172
1863
2017
  def node; end
1864
2018
 
1865
2019
  # Returns the value of attribute receiver.
1866
2020
  #
1867
- # source://rubocop-performance//lib/rubocop/cop/performance/redundant_merge.rb#170
2021
+ # source://rubocop-performance//lib/rubocop/cop/performance/redundant_merge.rb#172
1868
2022
  def receiver; end
1869
2023
 
1870
- # source://rubocop-performance//lib/rubocop/cop/performance/redundant_merge.rb#176
2024
+ # source://rubocop-performance//lib/rubocop/cop/performance/redundant_merge.rb#178
1871
2025
  def second_argument; end
1872
2026
 
1873
- # source://rubocop-performance//lib/rubocop/cop/performance/redundant_merge.rb#183
2027
+ # source://rubocop-performance//lib/rubocop/cop/performance/redundant_merge.rb#185
1874
2028
  def unwind(receiver); end
1875
2029
  end
1876
2030
 
@@ -1927,6 +2081,9 @@ RuboCop::Cop::Performance::RedundantSortBlock::MSG = T.let(T.unsafe(nil), String
1927
2081
  class RuboCop::Cop::Performance::RedundantSplitRegexpArgument < ::RuboCop::Cop::Base
1928
2082
  extend ::RuboCop::Cop::AutoCorrector
1929
2083
 
2084
+ # source://rubocop-performance//lib/rubocop/cop/performance/redundant_split_regexp_argument.rb#27
2085
+ def on_csend(node); end
2086
+
1930
2087
  # source://rubocop-performance//lib/rubocop/cop/performance/redundant_split_regexp_argument.rb#27
1931
2088
  def on_send(node); end
1932
2089
 
@@ -1937,10 +2094,10 @@ class RuboCop::Cop::Performance::RedundantSplitRegexpArgument < ::RuboCop::Cop::
1937
2094
 
1938
2095
  # @return [Boolean]
1939
2096
  #
1940
- # source://rubocop-performance//lib/rubocop/cop/performance/redundant_split_regexp_argument.rb#41
2097
+ # source://rubocop-performance//lib/rubocop/cop/performance/redundant_split_regexp_argument.rb#42
1941
2098
  def determinist_regexp?(regexp_node); end
1942
2099
 
1943
- # source://rubocop-performance//lib/rubocop/cop/performance/redundant_split_regexp_argument.rb#45
2100
+ # source://rubocop-performance//lib/rubocop/cop/performance/redundant_split_regexp_argument.rb#46
1944
2101
  def replacement(regexp_node); end
1945
2102
  end
1946
2103
 
@@ -2132,10 +2289,10 @@ class RuboCop::Cop::Performance::RegexpMatch < ::RuboCop::Cop::Base
2132
2289
  # source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#105
2133
2290
  def match_with_lvasgn?(node); end
2134
2291
 
2135
- # source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#138
2292
+ # source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#142
2136
2293
  def on_case(node); end
2137
2294
 
2138
- # source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#134
2295
+ # source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#138
2139
2296
  def on_if(node); end
2140
2297
 
2141
2298
  # source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#123
@@ -2143,56 +2300,61 @@ class RuboCop::Cop::Performance::RegexpMatch < ::RuboCop::Cop::Base
2143
2300
 
2144
2301
  private
2145
2302
 
2146
- # source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#161
2303
+ # source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#165
2147
2304
  def autocorrect(corrector, node); end
2148
2305
 
2149
- # source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#150
2306
+ # source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#154
2150
2307
  def check_condition(cond); end
2151
2308
 
2152
- # source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#246
2309
+ # source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#250
2153
2310
  def correct_operator(corrector, recv, arg, oper = T.unsafe(nil)); end
2154
2311
 
2155
- # source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#271
2312
+ # source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#275
2156
2313
  def correction_range(recv, arg); end
2157
2314
 
2158
- # source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#217
2315
+ # source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#221
2159
2316
  def find_last_match(body, range, scope_root); end
2160
2317
 
2161
2318
  # @return [Boolean]
2162
2319
  #
2163
- # source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#177
2320
+ # source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#181
2164
2321
  def last_match_used?(match_node); end
2165
2322
 
2166
2323
  # @return [Boolean]
2167
2324
  #
2168
- # source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#242
2325
+ # source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#246
2169
2326
  def match_gvar?(sym); end
2170
2327
 
2171
- # source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#173
2328
+ # source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#177
2172
2329
  def message(node); end
2173
2330
 
2174
2331
  # @return [Boolean]
2175
2332
  #
2176
- # source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#213
2333
+ # source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#217
2177
2334
  def modifier_form?(match_node); end
2178
2335
 
2179
- # source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#199
2336
+ # source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#203
2180
2337
  def next_match_pos(body, match_node_pos, scope_root); end
2181
2338
 
2182
- # source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#186
2339
+ # source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#190
2183
2340
  def range_to_search_for_last_matches(match_node, body, scope_root); end
2184
2341
 
2185
- # source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#255
2342
+ # source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#259
2186
2343
  def replace_with_match_predicate_method(corrector, recv, arg, op_range); end
2187
2344
 
2188
- # source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#224
2345
+ # source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#228
2189
2346
  def scope_body(node); end
2190
2347
 
2191
- # source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#236
2348
+ # source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#240
2192
2349
  def scope_root(node); end
2193
2350
 
2194
- # source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#266
2351
+ # source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#270
2195
2352
  def swap_receiver_and_arg(corrector, recv, arg); end
2353
+
2354
+ class << self
2355
+ # source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#134
2356
+ def autocorrect_incompatible_with; end
2357
+ end
2196
2358
  end
2197
2359
 
2198
2360
  # source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#112
@@ -2229,6 +2391,9 @@ class RuboCop::Cop::Performance::ReverseEach < ::RuboCop::Cop::Base
2229
2391
  include ::RuboCop::Cop::RangeHelp
2230
2392
  extend ::RuboCop::Cop::AutoCorrector
2231
2393
 
2394
+ # source://rubocop-performance//lib/rubocop/cop/performance/reverse_each.rb#33
2395
+ def on_csend(node); end
2396
+
2232
2397
  # source://rubocop-performance//lib/rubocop/cop/performance/reverse_each.rb#33
2233
2398
  def on_send(node); end
2234
2399
 
@@ -2237,12 +2402,12 @@ class RuboCop::Cop::Performance::ReverseEach < ::RuboCop::Cop::Base
2237
2402
 
2238
2403
  private
2239
2404
 
2240
- # source://rubocop-performance//lib/rubocop/cop/performance/reverse_each.rb#53
2405
+ # source://rubocop-performance//lib/rubocop/cop/performance/reverse_each.rb#54
2241
2406
  def offense_range(node); end
2242
2407
 
2243
2408
  # @return [Boolean]
2244
2409
  #
2245
- # source://rubocop-performance//lib/rubocop/cop/performance/reverse_each.rb#47
2410
+ # source://rubocop-performance//lib/rubocop/cop/performance/reverse_each.rb#48
2246
2411
  def use_return_value?(node); end
2247
2412
  end
2248
2413
 
@@ -2270,6 +2435,9 @@ class RuboCop::Cop::Performance::ReverseFirst < ::RuboCop::Cop::Base
2270
2435
  include ::RuboCop::Cop::RangeHelp
2271
2436
  extend ::RuboCop::Cop::AutoCorrector
2272
2437
 
2438
+ # source://rubocop-performance//lib/rubocop/cop/performance/reverse_first.rb#30
2439
+ def on_csend(node); end
2440
+
2273
2441
  # source://rubocop-performance//lib/rubocop/cop/performance/reverse_first.rb#30
2274
2442
  def on_send(node); end
2275
2443
 
@@ -2278,16 +2446,13 @@ class RuboCop::Cop::Performance::ReverseFirst < ::RuboCop::Cop::Base
2278
2446
 
2279
2447
  private
2280
2448
 
2281
- # source://rubocop-performance//lib/rubocop/cop/performance/reverse_first.rb#63
2282
- def build_bad_method(node); end
2283
-
2284
- # source://rubocop-performance//lib/rubocop/cop/performance/reverse_first.rb#55
2449
+ # source://rubocop-performance//lib/rubocop/cop/performance/reverse_first.rb#56
2285
2450
  def build_good_method(node); end
2286
2451
 
2287
- # source://rubocop-performance//lib/rubocop/cop/performance/reverse_first.rb#49
2288
- def build_message(node); end
2452
+ # source://rubocop-performance//lib/rubocop/cop/performance/reverse_first.rb#50
2453
+ def build_message(node, range); end
2289
2454
 
2290
- # source://rubocop-performance//lib/rubocop/cop/performance/reverse_first.rb#45
2455
+ # source://rubocop-performance//lib/rubocop/cop/performance/reverse_first.rb#46
2291
2456
  def correction_range(receiver, node); end
2292
2457
  end
2293
2458
 
@@ -2315,17 +2480,17 @@ class RuboCop::Cop::Performance::SelectMap < ::RuboCop::Cop::Base
2315
2480
  extend ::RuboCop::Cop::TargetRubyVersion
2316
2481
 
2317
2482
  # source://rubocop-performance//lib/rubocop/cop/performance/select_map.rb#27
2318
- def bad_method?(param0 = T.unsafe(nil)); end
2483
+ def on_csend(node); end
2319
2484
 
2320
- # source://rubocop-performance//lib/rubocop/cop/performance/select_map.rb#31
2485
+ # source://rubocop-performance//lib/rubocop/cop/performance/select_map.rb#27
2321
2486
  def on_send(node); end
2322
2487
 
2323
2488
  private
2324
2489
 
2325
- # source://rubocop-performance//lib/rubocop/cop/performance/select_map.rb#44
2490
+ # source://rubocop-performance//lib/rubocop/cop/performance/select_map.rb#41
2326
2491
  def map_method_candidate(node); end
2327
2492
 
2328
- # source://rubocop-performance//lib/rubocop/cop/performance/select_map.rb#54
2493
+ # source://rubocop-performance//lib/rubocop/cop/performance/select_map.rb#51
2329
2494
  def offense_range(node, map_method); end
2330
2495
  end
2331
2496
 
@@ -2381,6 +2546,9 @@ class RuboCop::Cop::Performance::Size < ::RuboCop::Cop::Base
2381
2546
  # source://rubocop-performance//lib/rubocop/cop/performance/size.rb#52
2382
2547
  def hash?(param0 = T.unsafe(nil)); end
2383
2548
 
2549
+ # source://rubocop-performance//lib/rubocop/cop/performance/size.rb#65
2550
+ def on_csend(node); end
2551
+
2384
2552
  # source://rubocop-performance//lib/rubocop/cop/performance/size.rb#65
2385
2553
  def on_send(node); end
2386
2554
  end
@@ -2441,7 +2609,10 @@ RuboCop::Cop::Performance::SortReverse::MSG = T.let(T.unsafe(nil), String)
2441
2609
  class RuboCop::Cop::Performance::Squeeze < ::RuboCop::Cop::Base
2442
2610
  extend ::RuboCop::Cop::AutoCorrector
2443
2611
 
2444
- # source://rubocop-performance//lib/rubocop/cop/performance/squeeze.rb#38
2612
+ # source://rubocop-performance//lib/rubocop/cop/performance/squeeze.rb#39
2613
+ def on_csend(node); end
2614
+
2615
+ # source://rubocop-performance//lib/rubocop/cop/performance/squeeze.rb#39
2445
2616
  def on_send(node); end
2446
2617
 
2447
2618
  # source://rubocop-performance//lib/rubocop/cop/performance/squeeze.rb#29
@@ -2451,7 +2622,7 @@ class RuboCop::Cop::Performance::Squeeze < ::RuboCop::Cop::Base
2451
2622
 
2452
2623
  # @return [Boolean]
2453
2624
  #
2454
- # source://rubocop-performance//lib/rubocop/cop/performance/squeeze.rb#58
2625
+ # source://rubocop-performance//lib/rubocop/cop/performance/squeeze.rb#61
2455
2626
  def repeating_literal?(regex_str); end
2456
2627
  end
2457
2628
 
@@ -2505,6 +2676,9 @@ class RuboCop::Cop::Performance::StartWith < ::RuboCop::Cop::Base
2505
2676
  include ::RuboCop::Cop::RegexpMetacharacter
2506
2677
  extend ::RuboCop::Cop::AutoCorrector
2507
2678
 
2679
+ # source://rubocop-performance//lib/rubocop/cop/performance/start_with.rb#62
2680
+ def on_csend(node); end
2681
+
2508
2682
  # source://rubocop-performance//lib/rubocop/cop/performance/start_with.rb#62
2509
2683
  def on_match_with_lvasgn(node); end
2510
2684
 
@@ -2534,33 +2708,65 @@ RuboCop::Cop::Performance::StartWith::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Ar
2534
2708
  # send('do_something')
2535
2709
  # attr_accessor 'do_something'
2536
2710
  # instance_variable_get('@ivar')
2711
+ # respond_to?("string_#{interpolation}")
2537
2712
  #
2538
2713
  # # good
2539
2714
  # send(:do_something)
2540
2715
  # attr_accessor :do_something
2541
2716
  # instance_variable_get(:@ivar)
2717
+ # respond_to?(:"string_#{interpolation}")
2542
2718
  #
2543
- # source://rubocop-performance//lib/rubocop/cop/performance/string_identifier_argument.rb#25
2719
+ # # good - these methods don't support namespaced symbols
2720
+ # const_get("#{module_path}::Base")
2721
+ # const_source_location("#{module_path}::Base")
2722
+ # const_defined?("#{module_path}::Base")
2723
+ #
2724
+ # source://rubocop-performance//lib/rubocop/cop/performance/string_identifier_argument.rb#33
2544
2725
  class RuboCop::Cop::Performance::StringIdentifierArgument < ::RuboCop::Cop::Base
2545
2726
  extend ::RuboCop::Cop::AutoCorrector
2546
2727
 
2547
- # source://rubocop-performance//lib/rubocop/cop/performance/string_identifier_argument.rb#48
2728
+ # source://rubocop-performance//lib/rubocop/cop/performance/string_identifier_argument.rb#64
2548
2729
  def on_send(node); end
2730
+
2731
+ private
2732
+
2733
+ # source://rubocop-performance//lib/rubocop/cop/performance/string_identifier_argument.rb#105
2734
+ def argument_replacement(node, value); end
2735
+
2736
+ # source://rubocop-performance//lib/rubocop/cop/performance/string_identifier_argument.rb#95
2737
+ def register_offense(argument, argument_value); end
2738
+
2739
+ # @return [Boolean]
2740
+ #
2741
+ # source://rubocop-performance//lib/rubocop/cop/performance/string_identifier_argument.rb#89
2742
+ def string_argument_compatible?(argument, node); end
2743
+
2744
+ # source://rubocop-performance//lib/rubocop/cop/performance/string_identifier_argument.rb#77
2745
+ def string_arguments(node); end
2549
2746
  end
2550
2747
 
2551
- # source://rubocop-performance//lib/rubocop/cop/performance/string_identifier_argument.rb#30
2748
+ # source://rubocop-performance//lib/rubocop/cop/performance/string_identifier_argument.rb#38
2552
2749
  RuboCop::Cop::Performance::StringIdentifierArgument::COMMAND_METHODS = T.let(T.unsafe(nil), Array)
2553
2750
 
2554
- # source://rubocop-performance//lib/rubocop/cop/performance/string_identifier_argument.rb#28
2751
+ # source://rubocop-performance//lib/rubocop/cop/performance/string_identifier_argument.rb#43
2752
+ RuboCop::Cop::Performance::StringIdentifierArgument::INTERPOLATION_IGNORE_METHODS = T.let(T.unsafe(nil), Array)
2753
+
2754
+ # source://rubocop-performance//lib/rubocop/cop/performance/string_identifier_argument.rb#36
2555
2755
  RuboCop::Cop::Performance::StringIdentifierArgument::MSG = T.let(T.unsafe(nil), String)
2556
2756
 
2757
+ # source://rubocop-performance//lib/rubocop/cop/performance/string_identifier_argument.rb#46
2758
+ RuboCop::Cop::Performance::StringIdentifierArgument::MULTIPLE_ARGUMENTS_METHODS = T.let(T.unsafe(nil), Array)
2759
+
2557
2760
  # NOTE: `attr` method is not included in this list as it can cause false positives in Nokogiri API.
2558
2761
  # And `attr` may not be used because `Style/Attr` registers an offense.
2559
2762
  # https://github.com/rubocop/rubocop-performance/issues/278
2560
2763
  #
2561
- # source://rubocop-performance//lib/rubocop/cop/performance/string_identifier_argument.rb#38
2764
+ # source://rubocop-performance//lib/rubocop/cop/performance/string_identifier_argument.rb#54
2562
2765
  RuboCop::Cop::Performance::StringIdentifierArgument::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
2563
2766
 
2767
+ # source://rubocop-performance//lib/rubocop/cop/performance/string_identifier_argument.rb#45
2768
+ RuboCop::Cop::Performance::StringIdentifierArgument::TWO_ARGUMENTS_METHOD = T.let(T.unsafe(nil), Symbol)
2769
+
2564
2770
  # Identifies unnecessary use of a regex where `String#include?` would suffice.
2565
2771
  #
2566
2772
  # @example
@@ -2571,35 +2777,39 @@ RuboCop::Cop::Performance::StringIdentifierArgument::RESTRICT_ON_SEND = T.let(T.
2571
2777
  # /ab/ =~ str
2572
2778
  # str.match(/ab/)
2573
2779
  # /ab/.match(str)
2780
+ # /ab/ === str
2574
2781
  #
2575
2782
  # # good
2576
2783
  # str.include?('ab')
2577
2784
  #
2578
- # source://rubocop-performance//lib/rubocop/cop/performance/string_include.rb#22
2785
+ # source://rubocop-performance//lib/rubocop/cop/performance/string_include.rb#23
2579
2786
  class RuboCop::Cop::Performance::StringInclude < ::RuboCop::Cop::Base
2580
2787
  extend ::RuboCop::Cop::AutoCorrector
2581
2788
 
2582
- # source://rubocop-performance//lib/rubocop/cop/performance/string_include.rb#34
2789
+ # source://rubocop-performance//lib/rubocop/cop/performance/string_include.rb#36
2790
+ def on_csend(node); end
2791
+
2792
+ # source://rubocop-performance//lib/rubocop/cop/performance/string_include.rb#36
2583
2793
  def on_match_with_lvasgn(node); end
2584
2794
 
2585
- # source://rubocop-performance//lib/rubocop/cop/performance/string_include.rb#34
2795
+ # source://rubocop-performance//lib/rubocop/cop/performance/string_include.rb#36
2586
2796
  def on_send(node); end
2587
2797
 
2588
- # source://rubocop-performance//lib/rubocop/cop/performance/string_include.rb#28
2798
+ # source://rubocop-performance//lib/rubocop/cop/performance/string_include.rb#29
2589
2799
  def redundant_regex?(param0 = T.unsafe(nil)); end
2590
2800
 
2591
2801
  private
2592
2802
 
2593
2803
  # @return [Boolean]
2594
2804
  #
2595
- # source://rubocop-performance//lib/rubocop/cop/performance/string_include.rb#53
2805
+ # source://rubocop-performance//lib/rubocop/cop/performance/string_include.rb#58
2596
2806
  def literal?(regex_str); end
2597
2807
  end
2598
2808
 
2599
- # source://rubocop-performance//lib/rubocop/cop/performance/string_include.rb#25
2809
+ # source://rubocop-performance//lib/rubocop/cop/performance/string_include.rb#26
2600
2810
  RuboCop::Cop::Performance::StringInclude::MSG = T.let(T.unsafe(nil), String)
2601
2811
 
2602
- # source://rubocop-performance//lib/rubocop/cop/performance/string_include.rb#26
2812
+ # source://rubocop-performance//lib/rubocop/cop/performance/string_include.rb#27
2603
2813
  RuboCop::Cop::Performance::StringInclude::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
2604
2814
 
2605
2815
  # Identifies places where `gsub` can be replaced by `tr` or `delete`.
@@ -2622,6 +2832,9 @@ class RuboCop::Cop::Performance::StringReplacement < ::RuboCop::Cop::Base
2622
2832
  include ::RuboCop::Cop::RangeHelp
2623
2833
  extend ::RuboCop::Cop::AutoCorrector
2624
2834
 
2835
+ # source://rubocop-performance//lib/rubocop/cop/performance/string_replacement.rb#37
2836
+ def on_csend(node); end
2837
+
2625
2838
  # source://rubocop-performance//lib/rubocop/cop/performance/string_replacement.rb#37
2626
2839
  def on_send(node); end
2627
2840
 
@@ -2632,45 +2845,45 @@ class RuboCop::Cop::Performance::StringReplacement < ::RuboCop::Cop::Base
2632
2845
 
2633
2846
  # @return [Boolean]
2634
2847
  #
2635
- # source://rubocop-performance//lib/rubocop/cop/performance/string_replacement.rb#83
2848
+ # source://rubocop-performance//lib/rubocop/cop/performance/string_replacement.rb#84
2636
2849
  def accept_first_param?(first_param); end
2637
2850
 
2638
2851
  # @return [Boolean]
2639
2852
  #
2640
- # source://rubocop-performance//lib/rubocop/cop/performance/string_replacement.rb#78
2853
+ # source://rubocop-performance//lib/rubocop/cop/performance/string_replacement.rb#79
2641
2854
  def accept_second_param?(second_param); end
2642
2855
 
2643
- # source://rubocop-performance//lib/rubocop/cop/performance/string_replacement.rb#59
2856
+ # source://rubocop-performance//lib/rubocop/cop/performance/string_replacement.rb#60
2644
2857
  def autocorrect(corrector, node); end
2645
2858
 
2646
- # source://rubocop-performance//lib/rubocop/cop/performance/string_replacement.rb#99
2859
+ # source://rubocop-performance//lib/rubocop/cop/performance/string_replacement.rb#100
2647
2860
  def first_source(first_param); end
2648
2861
 
2649
- # source://rubocop-performance//lib/rubocop/cop/performance/string_replacement.rb#142
2862
+ # source://rubocop-performance//lib/rubocop/cop/performance/string_replacement.rb#143
2650
2863
  def message(node, first_source, second_source); end
2651
2864
 
2652
- # source://rubocop-performance//lib/rubocop/cop/performance/string_replacement.rb#148
2865
+ # source://rubocop-performance//lib/rubocop/cop/performance/string_replacement.rb#149
2653
2866
  def method_suffix(node); end
2654
2867
 
2655
- # source://rubocop-performance//lib/rubocop/cop/performance/string_replacement.rb#48
2868
+ # source://rubocop-performance//lib/rubocop/cop/performance/string_replacement.rb#49
2656
2869
  def offense(node, first_param, second_param); end
2657
2870
 
2658
- # source://rubocop-performance//lib/rubocop/cop/performance/string_replacement.rb#128
2871
+ # source://rubocop-performance//lib/rubocop/cop/performance/string_replacement.rb#129
2659
2872
  def range(node); end
2660
2873
 
2661
- # source://rubocop-performance//lib/rubocop/cop/performance/string_replacement.rb#152
2874
+ # source://rubocop-performance//lib/rubocop/cop/performance/string_replacement.rb#153
2662
2875
  def remove_second_param(corrector, node, first_param); end
2663
2876
 
2664
- # source://rubocop-performance//lib/rubocop/cop/performance/string_replacement.rb#69
2877
+ # source://rubocop-performance//lib/rubocop/cop/performance/string_replacement.rb#70
2665
2878
  def replace_method(corrector, node, first_source, second_source, first_param); end
2666
2879
 
2667
- # source://rubocop-performance//lib/rubocop/cop/performance/string_replacement.rb#132
2880
+ # source://rubocop-performance//lib/rubocop/cop/performance/string_replacement.rb#133
2668
2881
  def replacement_method(node, first_source, second_source); end
2669
2882
 
2670
- # source://rubocop-performance//lib/rubocop/cop/performance/string_replacement.rb#117
2883
+ # source://rubocop-performance//lib/rubocop/cop/performance/string_replacement.rb#118
2671
2884
  def source_from_regex_constructor(node); end
2672
2885
 
2673
- # source://rubocop-performance//lib/rubocop/cop/performance/string_replacement.rb#110
2886
+ # source://rubocop-performance//lib/rubocop/cop/performance/string_replacement.rb#111
2674
2887
  def source_from_regex_literal(node); end
2675
2888
  end
2676
2889
 
@@ -2732,9 +2945,12 @@ class RuboCop::Cop::Performance::Sum < ::RuboCop::Cop::Base
2732
2945
  # source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#102
2733
2946
  def elem_plus_acc?(param0 = T.unsafe(nil), param1, param2); end
2734
2947
 
2735
- # source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#114
2948
+ # source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#115
2736
2949
  def on_block(node); end
2737
2950
 
2951
+ # source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#107
2952
+ def on_csend(node); end
2953
+
2738
2954
  # source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#107
2739
2955
  def on_send(node); end
2740
2956
 
@@ -2751,54 +2967,54 @@ class RuboCop::Cop::Performance::Sum < ::RuboCop::Cop::Base
2751
2967
 
2752
2968
  # @return [Boolean]
2753
2969
  #
2754
- # source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#159
2970
+ # source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#160
2755
2971
  def array_literal?(node); end
2756
2972
 
2757
- # source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#164
2973
+ # source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#165
2758
2974
  def autocorrect(corrector, init, range); end
2759
2975
 
2760
- # source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#172
2976
+ # source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#173
2761
2977
  def autocorrect_sum_map(corrector, sum, map, init); end
2762
2978
 
2763
- # source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#248
2979
+ # source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#250
2764
2980
  def build_block_bad_method(method, init, var_acc, var_elem, body); end
2765
2981
 
2766
- # source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#215
2982
+ # source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#217
2767
2983
  def build_block_message(send, init, var_acc, var_elem, body); end
2768
2984
 
2769
- # source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#221
2985
+ # source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#223
2770
2986
  def build_good_method(init, block_pass = T.unsafe(nil)); end
2771
2987
 
2772
- # source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#234
2988
+ # source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#236
2773
2989
  def build_method_bad_method(init, method, operation); end
2774
2990
 
2775
- # source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#197
2991
+ # source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#198
2776
2992
  def build_method_message(node, method, init, operation); end
2777
2993
 
2778
- # source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#208
2779
- def build_sum_map_message(method, init); end
2994
+ # source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#209
2995
+ def build_sum_map_message(send_node, init); end
2780
2996
 
2781
2997
  # @return [Boolean]
2782
2998
  #
2783
- # source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#154
2999
+ # source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#155
2784
3000
  def empty_array_literal?(node); end
2785
3001
 
2786
- # source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#129
3002
+ # source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#130
2787
3003
  def handle_sum_candidate(node); end
2788
3004
 
2789
- # source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#142
3005
+ # source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#143
2790
3006
  def handle_sum_map_candidate(node); end
2791
3007
 
2792
- # source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#259
3008
+ # source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#261
2793
3009
  def method_call_with_args_range(node); end
2794
3010
 
2795
- # source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#193
3011
+ # source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#194
2796
3012
  def sum_block_range(send, node); end
2797
3013
 
2798
- # source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#189
3014
+ # source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#190
2799
3015
  def sum_map_range(map, sum); end
2800
3016
 
2801
- # source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#185
3017
+ # source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#186
2802
3018
  def sum_method_range(node); end
2803
3019
  end
2804
3020
 
@@ -2830,24 +3046,32 @@ RuboCop::Cop::Performance::Sum::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
2830
3046
  class RuboCop::Cop::Performance::TimesMap < ::RuboCop::Cop::Base
2831
3047
  extend ::RuboCop::Cop::AutoCorrector
2832
3048
 
2833
- # source://rubocop-performance//lib/rubocop/cop/performance/times_map.rb#43
3049
+ # source://rubocop-performance//lib/rubocop/cop/performance/times_map.rb#44
2834
3050
  def on_block(node); end
2835
3051
 
2836
- # source://rubocop-performance//lib/rubocop/cop/performance/times_map.rb#43
3052
+ # source://rubocop-performance//lib/rubocop/cop/performance/times_map.rb#39
3053
+ def on_csend(node); end
3054
+
3055
+ # source://rubocop-performance//lib/rubocop/cop/performance/times_map.rb#44
2837
3056
  def on_numblock(node); end
2838
3057
 
2839
3058
  # source://rubocop-performance//lib/rubocop/cop/performance/times_map.rb#39
2840
3059
  def on_send(node); end
2841
3060
 
2842
- # source://rubocop-performance//lib/rubocop/cop/performance/times_map.rb#69
3061
+ # source://rubocop-performance//lib/rubocop/cop/performance/times_map.rb#79
2843
3062
  def times_map_call(param0 = T.unsafe(nil)); end
2844
3063
 
2845
3064
  private
2846
3065
 
2847
- # source://rubocop-performance//lib/rubocop/cop/performance/times_map.rb#50
3066
+ # source://rubocop-performance//lib/rubocop/cop/performance/times_map.rb#51
2848
3067
  def check(node); end
2849
3068
 
2850
- # source://rubocop-performance//lib/rubocop/cop/performance/times_map.rb#60
3069
+ # @return [Boolean]
3070
+ #
3071
+ # source://rubocop-performance//lib/rubocop/cop/performance/times_map.rb#63
3072
+ def handleable_receiver?(node); end
3073
+
3074
+ # source://rubocop-performance//lib/rubocop/cop/performance/times_map.rb#70
2851
3075
  def message(map_or_collect, count); end
2852
3076
  end
2853
3077
 
@@ -2866,8 +3090,8 @@ RuboCop::Cop::Performance::TimesMap::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Arr
2866
3090
  #
2867
3091
  # @example
2868
3092
  # # bad
2869
- # ''.dup
2870
- # "something".dup
3093
+ # ''.dup # when Ruby 3.2 or lower
3094
+ # "something".dup # when Ruby 3.2 or lower
2871
3095
  # String.new
2872
3096
  # String.new('')
2873
3097
  # String.new('something')
@@ -2879,26 +3103,27 @@ RuboCop::Cop::Performance::TimesMap::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Arr
2879
3103
  # source://rubocop-performance//lib/rubocop/cop/performance/unfreeze_string.rb#27
2880
3104
  class RuboCop::Cop::Performance::UnfreezeString < ::RuboCop::Cop::Base
2881
3105
  extend ::RuboCop::Cop::AutoCorrector
3106
+ extend ::RuboCop::Cop::TargetRubyVersion
2882
3107
 
2883
- # source://rubocop-performance//lib/rubocop/cop/performance/unfreeze_string.rb#33
3108
+ # source://rubocop-performance//lib/rubocop/cop/performance/unfreeze_string.rb#36
2884
3109
  def dup_string?(param0 = T.unsafe(nil)); end
2885
3110
 
2886
- # source://rubocop-performance//lib/rubocop/cop/performance/unfreeze_string.rb#44
3111
+ # source://rubocop-performance//lib/rubocop/cop/performance/unfreeze_string.rb#47
2887
3112
  def on_send(node); end
2888
3113
 
2889
- # source://rubocop-performance//lib/rubocop/cop/performance/unfreeze_string.rb#37
3114
+ # source://rubocop-performance//lib/rubocop/cop/performance/unfreeze_string.rb#40
2890
3115
  def string_new?(param0 = T.unsafe(nil)); end
2891
3116
 
2892
3117
  private
2893
3118
 
2894
- # source://rubocop-performance//lib/rubocop/cop/performance/unfreeze_string.rb#57
3119
+ # source://rubocop-performance//lib/rubocop/cop/performance/unfreeze_string.rb#60
2895
3120
  def string_value(node); end
2896
3121
  end
2897
3122
 
2898
- # source://rubocop-performance//lib/rubocop/cop/performance/unfreeze_string.rb#30
3123
+ # source://rubocop-performance//lib/rubocop/cop/performance/unfreeze_string.rb#33
2899
3124
  RuboCop::Cop::Performance::UnfreezeString::MSG = T.let(T.unsafe(nil), String)
2900
3125
 
2901
- # source://rubocop-performance//lib/rubocop/cop/performance/unfreeze_string.rb#31
3126
+ # source://rubocop-performance//lib/rubocop/cop/performance/unfreeze_string.rb#34
2902
3127
  RuboCop::Cop::Performance::UnfreezeString::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
2903
3128
 
2904
3129
  # Identifies places where `URI::Parser.new` can be replaced by `URI::DEFAULT_PARSER`.