From 526bb6a754412ba94956e275ec4645ba0a4b4e3d Mon Sep 17 00:00:00 2001 From: Alexandre Terrasa Date: Fri, 10 Oct 2025 11:13:32 -0400 Subject: [PATCH 1/2] Bump rbi to v0.3.7 Signed-off-by: Alexandre Terrasa --- Gemfile.lock | 2 +- .../rbi/gems/{rbi@0.3.6.rbi => rbi@0.3.7.rbi} | 923 ++++++++++-------- 2 files changed, 506 insertions(+), 419 deletions(-) rename sorbet/rbi/gems/{rbi@0.3.6.rbi => rbi@0.3.7.rbi} (87%) diff --git a/Gemfile.lock b/Gemfile.lock index f1763194..53540403 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -53,7 +53,7 @@ GEM racc (1.8.1) rainbow (3.1.1) rake (13.3.0) - rbi (0.3.6) + rbi (0.3.7) prism (~> 1.0) rbs (>= 3.4.4) rbs (4.0.0.dev.4) diff --git a/sorbet/rbi/gems/rbi@0.3.6.rbi b/sorbet/rbi/gems/rbi@0.3.7.rbi similarity index 87% rename from sorbet/rbi/gems/rbi@0.3.6.rbi rename to sorbet/rbi/gems/rbi@0.3.7.rbi index 0dbb4bc5..7eea6487 100644 --- a/sorbet/rbi/gems/rbi@0.3.6.rbi +++ b/sorbet/rbi/gems/rbi@0.3.7.rbi @@ -9,35 +9,35 @@ # DO NOT EDIT MANUALLY # This is an autogenerated file for types exported from the `rbi` gem. -# Please instead update this file by running `bundle exec spoom srb sigs export`. +# Please instead update this file by running `spoom srb sigs export`. # source://rbi//lib/rbi.rb#7 module RBI; end -# source://rbi//lib/rbi/model.rb#783 +# source://rbi//lib/rbi/model.rb#833 class RBI::Arg < ::RBI::Node # @return [Arg] a new instance of Arg # - # source://rbi//lib/rbi/model.rb#788 + # source://rbi//lib/rbi/model.rb#838 sig { params(value: ::String, loc: T.nilable(::RBI::Loc)).void } def initialize(value, loc: T.unsafe(nil)); end - # source://rbi//lib/rbi/model.rb#794 + # source://rbi//lib/rbi/model.rb#844 sig { params(other: T.nilable(::Object)).returns(T::Boolean) } def ==(other); end - # source://rbi//lib/rbi/model.rb#799 + # source://rbi//lib/rbi/model.rb#849 sig { returns(::String) } def to_s; end - # source://rbi//lib/rbi/model.rb#785 + # source://rbi//lib/rbi/model.rb#835 sig { returns(::String) } def value; end end # @abstract # -# source://rbi//lib/rbi/model.rb#292 +# source://rbi//lib/rbi/model.rb#298 class RBI::Attr < ::RBI::NodeWithComments include ::RBI::Indexable @@ -45,7 +45,7 @@ class RBI::Attr < ::RBI::NodeWithComments # @return [Attr] a new instance of Attr # - # source://rbi//lib/rbi/model.rb#303 + # source://rbi//lib/rbi/model.rb#316 sig do params( name: ::Symbol, @@ -60,19 +60,21 @@ class RBI::Attr < ::RBI::NodeWithComments # @return [Boolean] # - # source://rbi//lib/rbi/rewriters/merge_trees.rb#403 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#407 sig { override.params(other: ::RBI::Node).returns(T::Boolean) } def compatible_with?(other); end # @abstract + # @raise [NotImplementedError] # # source://rbi//lib/rbi/rewriters/attr_to_methods.rb#59 sig { abstract.returns(T::Array[::RBI::Method]) } def convert_to_methods; end # @abstract + # @raise [NotImplementedError] # - # source://rbi//lib/rbi/model.rb#312 + # source://rbi//lib/rbi/model.rb#325 sig { abstract.returns(T::Array[::String]) } def fully_qualified_names; end @@ -80,23 +82,23 @@ class RBI::Attr < ::RBI::NodeWithComments sig { override.returns(T::Array[::String]) } def index_ids; end - # source://rbi//lib/rbi/rewriters/merge_trees.rb#412 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#416 sig { override.params(other: ::RBI::Node).void } def merge_with(other); end - # source://rbi//lib/rbi/model.rb#294 + # source://rbi//lib/rbi/model.rb#300 sig { returns(T::Array[::Symbol]) } def names; end - # source://rbi//lib/rbi/model.rb#300 + # source://rbi//lib/rbi/model.rb#306 sig { returns(T::Array[::RBI::Sig]) } def sigs; end - # source://rbi//lib/rbi/model.rb#297 + # source://rbi//lib/rbi/model.rb#303 sig { returns(::RBI::Visibility) } def visibility; end - # source://rbi//lib/rbi/model.rb#297 + # source://rbi//lib/rbi/model.rb#303 def visibility=(_arg0); end private @@ -113,7 +115,7 @@ class RBI::Attr < ::RBI::NodeWithComments end def create_getter_method(name, sig, visibility, loc, comments); end - # source://rbi//lib/rbi/rewriters/attr_to_methods.rb#92 + # source://rbi//lib/rbi/rewriters/attr_to_methods.rb#99 sig do params( name: ::String, @@ -133,11 +135,11 @@ class RBI::Attr < ::RBI::NodeWithComments def parse_sig; end end -# source://rbi//lib/rbi/model.rb#315 +# source://rbi//lib/rbi/model.rb#328 class RBI::AttrAccessor < ::RBI::Attr # @return [AttrAccessor] a new instance of AttrAccessor # - # source://rbi//lib/rbi/model.rb#317 + # source://rbi//lib/rbi/model.rb#337 sig do params( name: ::Symbol, @@ -153,28 +155,28 @@ class RBI::AttrAccessor < ::RBI::Attr # @return [Boolean] # - # source://rbi//lib/rbi/rewriters/merge_trees.rb#441 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#445 sig { override.params(other: ::RBI::Node).returns(T::Boolean) } def compatible_with?(other); end - # source://rbi//lib/rbi/rewriters/attr_to_methods.rb#123 + # source://rbi//lib/rbi/rewriters/attr_to_methods.rb#130 sig { override.returns(T::Array[::RBI::Method]) } def convert_to_methods; end - # source://rbi//lib/rbi/model.rb#324 + # source://rbi//lib/rbi/model.rb#344 sig { override.returns(T::Array[::String]) } def fully_qualified_names; end - # source://rbi//lib/rbi/model.rb#331 + # source://rbi//lib/rbi/model.rb#351 sig { override.returns(::String) } def to_s; end end -# source://rbi//lib/rbi/model.rb#337 +# source://rbi//lib/rbi/model.rb#357 class RBI::AttrReader < ::RBI::Attr # @return [AttrReader] a new instance of AttrReader # - # source://rbi//lib/rbi/model.rb#339 + # source://rbi//lib/rbi/model.rb#366 sig do params( name: ::Symbol, @@ -190,28 +192,28 @@ class RBI::AttrReader < ::RBI::Attr # @return [Boolean] # - # source://rbi//lib/rbi/rewriters/merge_trees.rb#425 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#429 sig { override.params(other: ::RBI::Node).returns(T::Boolean) } def compatible_with?(other); end - # source://rbi//lib/rbi/rewriters/attr_to_methods.rb#138 + # source://rbi//lib/rbi/rewriters/attr_to_methods.rb#145 sig { override.returns(T::Array[::RBI::Method]) } def convert_to_methods; end - # source://rbi//lib/rbi/model.rb#346 + # source://rbi//lib/rbi/model.rb#373 sig { override.returns(T::Array[::String]) } def fully_qualified_names; end - # source://rbi//lib/rbi/model.rb#353 + # source://rbi//lib/rbi/model.rb#380 sig { override.returns(::String) } def to_s; end end -# source://rbi//lib/rbi/model.rb#359 +# source://rbi//lib/rbi/model.rb#386 class RBI::AttrWriter < ::RBI::Attr # @return [AttrWriter] a new instance of AttrWriter # - # source://rbi//lib/rbi/model.rb#361 + # source://rbi//lib/rbi/model.rb#395 sig do params( name: ::Symbol, @@ -227,19 +229,19 @@ class RBI::AttrWriter < ::RBI::Attr # @return [Boolean] # - # source://rbi//lib/rbi/rewriters/merge_trees.rb#433 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#437 sig { override.params(other: ::RBI::Node).returns(T::Boolean) } def compatible_with?(other); end - # source://rbi//lib/rbi/rewriters/attr_to_methods.rb#148 + # source://rbi//lib/rbi/rewriters/attr_to_methods.rb#155 sig { override.returns(T::Array[::RBI::Method]) } def convert_to_methods; end - # source://rbi//lib/rbi/model.rb#368 + # source://rbi//lib/rbi/model.rb#402 sig { override.returns(T::Array[::String]) } def fully_qualified_names; end - # source://rbi//lib/rbi/model.rb#375 + # source://rbi//lib/rbi/model.rb#409 sig { override.returns(::String) } def to_s; end end @@ -255,11 +257,11 @@ class RBI::BlankLine < ::RBI::Comment def initialize(loc: T.unsafe(nil)); end end -# source://rbi//lib/rbi/model.rb#629 +# source://rbi//lib/rbi/model.rb#679 class RBI::BlockParam < ::RBI::Param # @return [BlockParam] a new instance of BlockParam # - # source://rbi//lib/rbi/model.rb#631 + # source://rbi//lib/rbi/model.rb#681 sig do params( name: ::String, @@ -270,11 +272,11 @@ class RBI::BlockParam < ::RBI::Param end def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end - # source://rbi//lib/rbi/model.rb#643 + # source://rbi//lib/rbi/model.rb#693 sig { params(other: T.nilable(::Object)).returns(T::Boolean) } def ==(other); end - # source://rbi//lib/rbi/model.rb#638 + # source://rbi//lib/rbi/model.rb#688 sig { override.returns(::String) } def to_s; end end @@ -297,7 +299,7 @@ class RBI::Class < ::RBI::Scope # @return [Boolean] # - # source://rbi//lib/rbi/rewriters/merge_trees.rb#371 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#375 sig { override.params(other: ::RBI::Node).returns(T::Boolean) } def compatible_with?(other); end @@ -355,38 +357,38 @@ end # end # ~~~ # -# source://rbi//lib/rbi/rewriters/merge_trees.rb#555 +# source://rbi//lib/rbi/rewriters/merge_trees.rb#559 class RBI::ConflictTree < ::RBI::Tree # @return [ConflictTree] a new instance of ConflictTree # - # source://rbi//lib/rbi/rewriters/merge_trees.rb#563 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#567 sig { params(left_name: ::String, right_name: ::String).void } def initialize(left_name: T.unsafe(nil), right_name: T.unsafe(nil)); end - # source://rbi//lib/rbi/rewriters/merge_trees.rb#557 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#561 sig { returns(::RBI::Tree) } def left; end - # source://rbi//lib/rbi/rewriters/merge_trees.rb#560 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#564 sig { returns(::String) } def left_name; end - # source://rbi//lib/rbi/rewriters/merge_trees.rb#557 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#561 def right; end - # source://rbi//lib/rbi/rewriters/merge_trees.rb#560 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#564 def right_name; end end # Consts # -# source://rbi//lib/rbi/model.rb#263 +# source://rbi//lib/rbi/model.rb#269 class RBI::Const < ::RBI::NodeWithComments include ::RBI::Indexable # @return [Const] a new instance of Const # - # source://rbi//lib/rbi/model.rb#268 + # source://rbi//lib/rbi/model.rb#274 sig do params( name: ::String, @@ -400,11 +402,11 @@ class RBI::Const < ::RBI::NodeWithComments # @return [Boolean] # - # source://rbi//lib/rbi/rewriters/merge_trees.rb#395 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#399 sig { override.params(other: ::RBI::Node).returns(T::Boolean) } def compatible_with?(other); end - # source://rbi//lib/rbi/model.rb#276 + # source://rbi//lib/rbi/model.rb#282 sig { returns(::String) } def fully_qualified_name; end @@ -412,31 +414,31 @@ class RBI::Const < ::RBI::NodeWithComments sig { override.returns(T::Array[::String]) } def index_ids; end - # source://rbi//lib/rbi/model.rb#265 + # source://rbi//lib/rbi/model.rb#271 sig { returns(::String) } def name; end - # source://rbi//lib/rbi/model.rb#284 + # source://rbi//lib/rbi/model.rb#290 sig { override.returns(::String) } def to_s; end - # source://rbi//lib/rbi/model.rb#265 + # source://rbi//lib/rbi/model.rb#271 def value; end end -# source://rbi//lib/rbi/rewriters/merge_trees.rb#341 +# source://rbi//lib/rbi/rewriters/merge_trees.rb#345 class RBI::DuplicateNodeError < ::RBI::Error; end # source://rbi//lib/rbi.rb#8 class RBI::Error < ::StandardError; end -# source://rbi//lib/rbi/model.rb#676 +# source://rbi//lib/rbi/model.rb#726 class RBI::Extend < ::RBI::Mixin include ::RBI::Indexable # @return [Extend] a new instance of Extend # - # source://rbi//lib/rbi/model.rb#678 + # source://rbi//lib/rbi/model.rb#728 sig do params( name: ::String, @@ -450,7 +452,7 @@ class RBI::Extend < ::RBI::Mixin # @return [Boolean] # - # source://rbi//lib/rbi/rewriters/merge_trees.rb#488 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#492 sig { override.params(other: ::RBI::Node).returns(T::Boolean) } def compatible_with?(other); end @@ -458,7 +460,7 @@ class RBI::Extend < ::RBI::Mixin sig { override.returns(T::Array[::String]) } def index_ids; end - # source://rbi//lib/rbi/model.rb#685 + # source://rbi//lib/rbi/model.rb#735 sig { override.returns(::String) } def to_s; end end @@ -494,7 +496,7 @@ class RBI::File sig { returns(T::Boolean) } def empty?; end - # source://rbi//lib/rbi/printer.rb#817 + # source://rbi//lib/rbi/printer.rb#819 sig do params( out: T.any(::IO, ::StringIO), @@ -505,11 +507,11 @@ class RBI::File end def print(out: T.unsafe(nil), indent: T.unsafe(nil), print_locs: T.unsafe(nil), max_line_length: T.unsafe(nil)); end - # source://rbi//lib/rbi/rbs_printer.rb#1210 + # source://rbi//lib/rbi/rbs_printer.rb#1212 sig { params(out: T.any(::IO, ::StringIO), indent: ::Integer, print_locs: T::Boolean).void } def rbs_print(out: T.unsafe(nil), indent: T.unsafe(nil), print_locs: T.unsafe(nil)); end - # source://rbi//lib/rbi/rbs_printer.rb#1216 + # source://rbi//lib/rbi/rbs_printer.rb#1218 sig { params(indent: ::Integer, print_locs: T::Boolean).returns(::String) } def rbs_string(indent: T.unsafe(nil), print_locs: T.unsafe(nil)); end @@ -527,7 +529,7 @@ class RBI::File # source://rbi//lib/rbi/model.rb#136 def strictness=(_arg0); end - # source://rbi//lib/rbi/printer.rb#823 + # source://rbi//lib/rbi/printer.rb#825 sig { params(indent: ::Integer, print_locs: T::Boolean, max_line_length: T.nilable(::Integer)).returns(::String) } def string(indent: T.unsafe(nil), print_locs: T.unsafe(nil), max_line_length: T.unsafe(nil)); end end @@ -536,7 +538,7 @@ end class RBI::Formatter # @return [Formatter] a new instance of Formatter # - # source://rbi//lib/rbi/formatter.rb#10 + # source://rbi//lib/rbi/formatter.rb#18 sig do params( add_sig_templates: T::Boolean, @@ -550,11 +552,11 @@ class RBI::Formatter end def initialize(add_sig_templates: T.unsafe(nil), group_nodes: T.unsafe(nil), max_line_length: T.unsafe(nil), nest_singleton_methods: T.unsafe(nil), nest_non_public_members: T.unsafe(nil), sort_nodes: T.unsafe(nil), replace_attributes_with_methods: T.unsafe(nil)); end - # source://rbi//lib/rbi/formatter.rb#35 + # source://rbi//lib/rbi/formatter.rb#43 sig { params(file: ::RBI::File).void } def format_file(file); end - # source://rbi//lib/rbi/formatter.rb#40 + # source://rbi//lib/rbi/formatter.rb#48 sig { params(tree: ::RBI::Tree).void } def format_tree(tree); end @@ -565,7 +567,7 @@ class RBI::Formatter # source://rbi//lib/rbi/formatter.rb#7 def max_line_length=(_arg0); end - # source://rbi//lib/rbi/formatter.rb#29 + # source://rbi//lib/rbi/formatter.rb#37 sig { params(file: ::RBI::File).returns(::String) } def print_file(file); end end @@ -637,13 +639,13 @@ class RBI::GroupNodesError < ::RBI::Error; end # Sorbet's misc. # -# source://rbi//lib/rbi/model.rb#1045 +# source://rbi//lib/rbi/model.rb#1141 class RBI::Helper < ::RBI::NodeWithComments include ::RBI::Indexable # @return [Helper] a new instance of Helper # - # source://rbi//lib/rbi/model.rb#1050 + # source://rbi//lib/rbi/model.rb#1146 sig do params( name: ::String, @@ -656,7 +658,7 @@ class RBI::Helper < ::RBI::NodeWithComments # @return [Boolean] # - # source://rbi//lib/rbi/rewriters/merge_trees.rb#504 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#508 sig { override.params(other: ::RBI::Node).returns(T::Boolean) } def compatible_with?(other); end @@ -664,22 +666,22 @@ class RBI::Helper < ::RBI::NodeWithComments sig { override.returns(T::Array[::String]) } def index_ids; end - # source://rbi//lib/rbi/model.rb#1047 + # source://rbi//lib/rbi/model.rb#1143 sig { returns(::String) } def name; end - # source://rbi//lib/rbi/model.rb#1058 + # source://rbi//lib/rbi/model.rb#1154 sig { override.returns(::String) } def to_s; end end -# source://rbi//lib/rbi/model.rb#662 +# source://rbi//lib/rbi/model.rb#712 class RBI::Include < ::RBI::Mixin include ::RBI::Indexable # @return [Include] a new instance of Include # - # source://rbi//lib/rbi/model.rb#664 + # source://rbi//lib/rbi/model.rb#714 sig do params( name: ::String, @@ -693,7 +695,7 @@ class RBI::Include < ::RBI::Mixin # @return [Boolean] # - # source://rbi//lib/rbi/rewriters/merge_trees.rb#480 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#484 sig { override.params(other: ::RBI::Node).returns(T::Boolean) } def compatible_with?(other); end @@ -701,7 +703,7 @@ class RBI::Include < ::RBI::Mixin sig { override.returns(T::Array[::String]) } def index_ids; end - # source://rbi//lib/rbi/model.rb#671 + # source://rbi//lib/rbi/model.rb#721 sig { override.returns(::String) } def to_s; end end @@ -755,38 +757,39 @@ module RBI::Indexable # getter and the setter. # # @abstract + # @raise [NotImplementedError] # # source://rbi//lib/rbi/index.rb#76 sig { abstract.returns(T::Array[::String]) } def index_ids; end end -# source://rbi//lib/rbi/model.rb#804 +# source://rbi//lib/rbi/model.rb#854 class RBI::KwArg < ::RBI::Arg # @return [KwArg] a new instance of KwArg # - # source://rbi//lib/rbi/model.rb#809 + # source://rbi//lib/rbi/model.rb#859 sig { params(keyword: ::String, value: ::String, loc: T.nilable(::RBI::Loc)).void } def initialize(keyword, value, loc: T.unsafe(nil)); end - # source://rbi//lib/rbi/model.rb#815 + # source://rbi//lib/rbi/model.rb#865 sig { params(other: T.nilable(::Object)).returns(T::Boolean) } def ==(other); end - # source://rbi//lib/rbi/model.rb#806 + # source://rbi//lib/rbi/model.rb#856 sig { returns(::String) } def keyword; end - # source://rbi//lib/rbi/model.rb#820 + # source://rbi//lib/rbi/model.rb#870 sig { returns(::String) } def to_s; end end -# source://rbi//lib/rbi/model.rb#587 +# source://rbi//lib/rbi/model.rb#637 class RBI::KwOptParam < ::RBI::Param # @return [KwOptParam] a new instance of KwOptParam # - # source://rbi//lib/rbi/model.rb#592 + # source://rbi//lib/rbi/model.rb#642 sig do params( name: ::String, @@ -798,24 +801,24 @@ class RBI::KwOptParam < ::RBI::Param end def initialize(name, value, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end - # source://rbi//lib/rbi/model.rb#605 + # source://rbi//lib/rbi/model.rb#655 sig { params(other: T.nilable(::Object)).returns(T::Boolean) } def ==(other); end - # source://rbi//lib/rbi/model.rb#600 + # source://rbi//lib/rbi/model.rb#650 sig { override.returns(::String) } def to_s; end - # source://rbi//lib/rbi/model.rb#589 + # source://rbi//lib/rbi/model.rb#639 sig { returns(::String) } def value; end end -# source://rbi//lib/rbi/model.rb#568 +# source://rbi//lib/rbi/model.rb#618 class RBI::KwParam < ::RBI::Param # @return [KwParam] a new instance of KwParam # - # source://rbi//lib/rbi/model.rb#570 + # source://rbi//lib/rbi/model.rb#620 sig do params( name: ::String, @@ -826,20 +829,20 @@ class RBI::KwParam < ::RBI::Param end def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end - # source://rbi//lib/rbi/model.rb#582 + # source://rbi//lib/rbi/model.rb#632 sig { params(other: T.nilable(::Object)).returns(T::Boolean) } def ==(other); end - # source://rbi//lib/rbi/model.rb#577 + # source://rbi//lib/rbi/model.rb#627 sig { override.returns(::String) } def to_s; end end -# source://rbi//lib/rbi/model.rb#610 +# source://rbi//lib/rbi/model.rb#660 class RBI::KwRestParam < ::RBI::Param # @return [KwRestParam] a new instance of KwRestParam # - # source://rbi//lib/rbi/model.rb#612 + # source://rbi//lib/rbi/model.rb#662 sig do params( name: ::String, @@ -850,11 +853,11 @@ class RBI::KwRestParam < ::RBI::Param end def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end - # source://rbi//lib/rbi/model.rb#624 + # source://rbi//lib/rbi/model.rb#674 sig { params(other: T.nilable(::Object)).returns(T::Boolean) } def ==(other); end - # source://rbi//lib/rbi/model.rb#619 + # source://rbi//lib/rbi/model.rb#669 sig { override.returns(::String) } def to_s; end end @@ -863,7 +866,7 @@ end class RBI::Loc # @return [Loc] a new instance of Loc # - # source://rbi//lib/rbi/loc.rb#26 + # source://rbi//lib/rbi/loc.rb#32 sig do params( file: T.nilable(::String), @@ -892,15 +895,15 @@ class RBI::Loc sig { returns(T.nilable(::String)) } def file; end - # source://rbi//lib/rbi/loc.rb#35 + # source://rbi//lib/rbi/loc.rb#41 sig { params(other: ::RBI::Loc).returns(::RBI::Loc) } def join(other); end - # source://rbi//lib/rbi/loc.rb#55 + # source://rbi//lib/rbi/loc.rb#61 sig { returns(T.nilable(::String)) } def source; end - # source://rbi//lib/rbi/loc.rb#46 + # source://rbi//lib/rbi/loc.rb#52 sig { returns(::String) } def to_s; end @@ -917,7 +920,7 @@ end class RBI::MergeTree < ::RBI::Tree # @return [MergeTree] a new instance of MergeTree # - # source://rbi//lib/rbi/rewriters/merge_trees.rb#334 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#338 sig do params( loc: T.nilable(::RBI::Loc), @@ -935,13 +938,13 @@ end # Methods and args # -# source://rbi//lib/rbi/model.rb#383 +# source://rbi//lib/rbi/model.rb#417 class RBI::Method < ::RBI::NodeWithComments include ::RBI::Indexable # @return [Method] a new instance of Method # - # source://rbi//lib/rbi/model.rb#400 + # source://rbi//lib/rbi/model.rb#442 sig do params( name: ::String, @@ -956,39 +959,39 @@ class RBI::Method < ::RBI::NodeWithComments end def initialize(name, params: T.unsafe(nil), is_singleton: T.unsafe(nil), visibility: T.unsafe(nil), sigs: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end - # source://rbi//lib/rbi/model.rb#420 + # source://rbi//lib/rbi/model.rb#462 sig { params(param: ::RBI::Param).void } def <<(param); end - # source://rbi//lib/rbi/model.rb#455 + # source://rbi//lib/rbi/model.rb#497 sig { params(name: ::String).void } def add_block_param(name); end - # source://rbi//lib/rbi/model.rb#445 + # source://rbi//lib/rbi/model.rb#487 sig { params(name: ::String, default_value: ::String).void } def add_kw_opt_param(name, default_value); end - # source://rbi//lib/rbi/model.rb#440 + # source://rbi//lib/rbi/model.rb#482 sig { params(name: ::String).void } def add_kw_param(name); end - # source://rbi//lib/rbi/model.rb#450 + # source://rbi//lib/rbi/model.rb#492 sig { params(name: ::String).void } def add_kw_rest_param(name); end - # source://rbi//lib/rbi/model.rb#430 + # source://rbi//lib/rbi/model.rb#472 sig { params(name: ::String, default_value: ::String).void } def add_opt_param(name, default_value); end - # source://rbi//lib/rbi/model.rb#425 + # source://rbi//lib/rbi/model.rb#467 sig { params(name: ::String).void } def add_param(name); end - # source://rbi//lib/rbi/model.rb#435 + # source://rbi//lib/rbi/model.rb#477 sig { params(name: ::String).void } def add_rest_param(name); end - # source://rbi//lib/rbi/model.rb#460 + # source://rbi//lib/rbi/model.rb#510 sig do params( params: T::Array[::RBI::SigParam], @@ -1006,11 +1009,11 @@ class RBI::Method < ::RBI::NodeWithComments # @return [Boolean] # - # source://rbi//lib/rbi/rewriters/merge_trees.rb#449 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#453 sig { override.params(other: ::RBI::Node).returns(T::Boolean) } def compatible_with?(other); end - # source://rbi//lib/rbi/model.rb#486 + # source://rbi//lib/rbi/model.rb#536 sig { returns(::String) } def fully_qualified_name; end @@ -1018,54 +1021,54 @@ class RBI::Method < ::RBI::NodeWithComments sig { override.returns(T::Array[::String]) } def index_ids; end - # source://rbi//lib/rbi/model.rb#391 + # source://rbi//lib/rbi/model.rb#425 sig { returns(T::Boolean) } def is_singleton; end - # source://rbi//lib/rbi/model.rb#391 + # source://rbi//lib/rbi/model.rb#425 def is_singleton=(_arg0); end - # source://rbi//lib/rbi/rewriters/merge_trees.rb#459 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#463 sig { override.params(other: ::RBI::Node).void } def merge_with(other); end - # source://rbi//lib/rbi/model.rb#385 + # source://rbi//lib/rbi/model.rb#419 sig { returns(::String) } def name; end - # source://rbi//lib/rbi/model.rb#385 + # source://rbi//lib/rbi/model.rb#419 def name=(_arg0); end - # source://rbi//lib/rbi/model.rb#388 + # source://rbi//lib/rbi/model.rb#422 sig { returns(T::Array[::RBI::Param]) } def params; end - # source://rbi//lib/rbi/model.rb#397 + # source://rbi//lib/rbi/model.rb#431 sig { returns(T::Array[::RBI::Sig]) } def sigs; end - # source://rbi//lib/rbi/model.rb#397 + # source://rbi//lib/rbi/model.rb#431 def sigs=(_arg0); end - # source://rbi//lib/rbi/model.rb#496 + # source://rbi//lib/rbi/model.rb#546 sig { override.returns(::String) } def to_s; end - # source://rbi//lib/rbi/model.rb#394 + # source://rbi//lib/rbi/model.rb#428 sig { returns(::RBI::Visibility) } def visibility; end - # source://rbi//lib/rbi/model.rb#394 + # source://rbi//lib/rbi/model.rb#428 def visibility=(_arg0); end end -# source://rbi//lib/rbi/model.rb#1089 +# source://rbi//lib/rbi/model.rb#1185 class RBI::MixesInClassMethods < ::RBI::Mixin include ::RBI::Indexable # @return [MixesInClassMethods] a new instance of MixesInClassMethods # - # source://rbi//lib/rbi/model.rb#1091 + # source://rbi//lib/rbi/model.rb#1192 sig do params( name: ::String, @@ -1079,7 +1082,7 @@ class RBI::MixesInClassMethods < ::RBI::Mixin # @return [Boolean] # - # source://rbi//lib/rbi/rewriters/merge_trees.rb#496 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#500 sig { override.params(other: ::RBI::Node).returns(T::Boolean) } def compatible_with?(other); end @@ -1087,20 +1090,20 @@ class RBI::MixesInClassMethods < ::RBI::Mixin sig { override.returns(T::Array[::String]) } def index_ids; end - # source://rbi//lib/rbi/model.rb#1098 + # source://rbi//lib/rbi/model.rb#1199 sig { override.returns(::String) } def to_s; end end # @abstract # -# source://rbi//lib/rbi/model.rb#651 +# source://rbi//lib/rbi/model.rb#701 class RBI::Mixin < ::RBI::NodeWithComments abstract! # @return [Mixin] a new instance of Mixin # - # source://rbi//lib/rbi/model.rb#656 + # source://rbi//lib/rbi/model.rb#706 sig do params( name: ::String, @@ -1113,11 +1116,11 @@ class RBI::Mixin < ::RBI::NodeWithComments # @return [Boolean] # - # source://rbi//lib/rbi/rewriters/merge_trees.rb#472 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#476 sig { override.params(other: ::RBI::Node).returns(T::Boolean) } def compatible_with?(other); end - # source://rbi//lib/rbi/model.rb#653 + # source://rbi//lib/rbi/model.rb#703 sig { returns(T::Array[::String]) } def names; end end @@ -1139,7 +1142,7 @@ class RBI::Module < ::RBI::Scope # @return [Boolean] # - # source://rbi//lib/rbi/rewriters/merge_trees.rb#379 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#383 sig { override.params(other: ::RBI::Node).returns(T::Boolean) } def compatible_with?(other); end @@ -1207,7 +1210,7 @@ class RBI::Node # source://rbi//lib/rbi/model.rb#10 def parent_tree=(_arg0); end - # source://rbi//lib/rbi/printer.rb#832 + # source://rbi//lib/rbi/printer.rb#834 sig do params( out: T.any(::IO, ::StringIO), @@ -1218,7 +1221,7 @@ class RBI::Node end def print(out: T.unsafe(nil), indent: T.unsafe(nil), print_locs: T.unsafe(nil), max_line_length: T.unsafe(nil)); end - # source://rbi//lib/rbi/rbs_printer.rb#1225 + # source://rbi//lib/rbi/rbs_printer.rb#1227 sig do params( out: T.any(::IO, ::StringIO), @@ -1229,7 +1232,7 @@ class RBI::Node end def rbs_print(out: T.unsafe(nil), indent: T.unsafe(nil), print_locs: T.unsafe(nil), positional_names: T.unsafe(nil)); end - # source://rbi//lib/rbi/rbs_printer.rb#1231 + # source://rbi//lib/rbi/rbs_printer.rb#1233 sig { params(indent: ::Integer, print_locs: T::Boolean, positional_names: T::Boolean).returns(::String) } def rbs_string(indent: T.unsafe(nil), print_locs: T.unsafe(nil), positional_names: T.unsafe(nil)); end @@ -1245,7 +1248,7 @@ class RBI::Node sig { params(version: ::Gem::Version).returns(T::Boolean) } def satisfies_version?(version); end - # source://rbi//lib/rbi/printer.rb#838 + # source://rbi//lib/rbi/printer.rb#840 sig { params(indent: ::Integer, print_locs: T::Boolean, max_line_length: T.nilable(::Integer)).returns(::String) } def string(indent: T.unsafe(nil), print_locs: T.unsafe(nil), max_line_length: T.unsafe(nil)); end end @@ -1282,11 +1285,11 @@ class RBI::NodeWithComments < ::RBI::Node def version_requirements; end end -# source://rbi//lib/rbi/model.rb#532 +# source://rbi//lib/rbi/model.rb#582 class RBI::OptParam < ::RBI::Param # @return [OptParam] a new instance of OptParam # - # source://rbi//lib/rbi/model.rb#537 + # source://rbi//lib/rbi/model.rb#587 sig do params( name: ::String, @@ -1298,32 +1301,32 @@ class RBI::OptParam < ::RBI::Param end def initialize(name, value, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end - # source://rbi//lib/rbi/model.rb#544 + # source://rbi//lib/rbi/model.rb#594 sig { params(other: T.nilable(::Object)).returns(T::Boolean) } def ==(other); end - # source://rbi//lib/rbi/model.rb#534 + # source://rbi//lib/rbi/model.rb#584 sig { returns(::String) } def value; end end # @abstract # -# source://rbi//lib/rbi/model.rb#502 +# source://rbi//lib/rbi/model.rb#552 class RBI::Param < ::RBI::NodeWithComments abstract! # @return [Param] a new instance of Param # - # source://rbi//lib/rbi/model.rb#507 + # source://rbi//lib/rbi/model.rb#557 sig { params(name: ::String, loc: T.nilable(::RBI::Loc), comments: T::Array[::RBI::Comment]).void } def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil)); end - # source://rbi//lib/rbi/model.rb#504 + # source://rbi//lib/rbi/model.rb#554 sig { returns(::String) } def name; end - # source://rbi//lib/rbi/model.rb#514 + # source://rbi//lib/rbi/model.rb#564 sig { override.returns(::String) } def to_s; end end @@ -1376,29 +1379,29 @@ class RBI::Parser end end -# source://rbi//lib/rbi/parser.rb#1000 +# source://rbi//lib/rbi/parser.rb#1003 class RBI::Parser::HeredocLocationVisitor < ::Prism::Visitor # @return [HeredocLocationVisitor] a new instance of HeredocLocationVisitor # - # source://rbi//lib/rbi/parser.rb#1002 + # source://rbi//lib/rbi/parser.rb#1005 sig { params(source: ::Prism::Source, begin_offset: ::Integer, end_offset: ::Integer).void } def initialize(source, begin_offset, end_offset); end - # source://rbi//lib/rbi/parser.rb#1033 + # source://rbi//lib/rbi/parser.rb#1036 sig { returns(::Prism::Location) } def location; end - # source://rbi//lib/rbi/parser.rb#1023 + # source://rbi//lib/rbi/parser.rb#1026 sig { override.params(node: ::Prism::InterpolatedStringNode).void } def visit_interpolated_string_node(node); end - # source://rbi//lib/rbi/parser.rb#1012 + # source://rbi//lib/rbi/parser.rb#1015 sig { override.params(node: ::Prism::StringNode).void } def visit_string_node(node); end private - # source://rbi//lib/rbi/parser.rb#1044 + # source://rbi//lib/rbi/parser.rb#1047 sig { params(node: T.any(::Prism::InterpolatedStringNode, ::Prism::StringNode)).void } def handle_string_node(node); end end @@ -1411,11 +1414,17 @@ class RBI::Parser::SigBuilder < ::RBI::Parser::Visitor sig { params(content: ::String, file: ::String).void } def initialize(content, file:); end + # @return [Boolean] + # + # source://rbi//lib/rbi/parser.rb#986 + sig { params(node: ::Prism::CallNode, value: ::String).returns(T::Boolean) } + def allow_incompatible_override?(node, value); end + # source://rbi//lib/rbi/parser.rb#917 sig { returns(::RBI::Sig) } def current; end - # source://rbi//lib/rbi/parser.rb#992 + # source://rbi//lib/rbi/parser.rb#978 sig { override.params(node: ::Prism::AssocNode).void } def visit_assoc_node(node); end @@ -1922,11 +1931,11 @@ end # source://rbi//lib/rbi/printer.rb#5 class RBI::PrinterError < ::RBI::Error; end -# source://rbi//lib/rbi/model.rb#742 +# source://rbi//lib/rbi/model.rb#792 class RBI::Private < ::RBI::Visibility # @return [Private] a new instance of Private # - # source://rbi//lib/rbi/model.rb#744 + # source://rbi//lib/rbi/model.rb#794 sig do params( loc: T.nilable(::RBI::Loc), @@ -1937,11 +1946,11 @@ class RBI::Private < ::RBI::Visibility def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end end -# source://rbi//lib/rbi/model.rb#734 +# source://rbi//lib/rbi/model.rb#784 class RBI::Protected < ::RBI::Visibility # @return [Protected] a new instance of Protected # - # source://rbi//lib/rbi/model.rb#736 + # source://rbi//lib/rbi/model.rb#786 sig do params( loc: T.nilable(::RBI::Loc), @@ -1952,11 +1961,11 @@ class RBI::Protected < ::RBI::Visibility def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end end -# source://rbi//lib/rbi/model.rb#726 +# source://rbi//lib/rbi/model.rb#776 class RBI::Public < ::RBI::Visibility # @return [Public] a new instance of Public # - # source://rbi//lib/rbi/model.rb#728 + # source://rbi//lib/rbi/model.rb#778 sig do params( loc: T.nilable(::RBI::Loc), @@ -2029,17 +2038,21 @@ class RBI::RBS::TypeTranslator private - # source://rbi//lib/rbi/rbs/type_translator.rb#95 + # source://rbi//lib/rbi/rbs/type_translator.rb#107 sig { params(type: ::RBS::Types::ClassInstance).returns(::RBI::Type) } def translate_class_instance(type); end - # source://rbi//lib/rbi/rbs/type_translator.rb#103 + # source://rbi//lib/rbi/rbs/type_translator.rb#115 sig { params(type: ::RBS::Types::Function).returns(::RBI::Type) } def translate_function(type); end - # source://rbi//lib/rbi/rbs/type_translator.rb#150 + # source://rbi//lib/rbi/rbs/type_translator.rb#162 sig { params(type_name: ::String).returns(::String) } def translate_t_generic_type(type_name); end + + # source://rbi//lib/rbi/rbs/type_translator.rb#95 + sig { params(type: ::RBS::Types::Alias).returns(::RBI::Type) } + def translate_type_alias(type); end end end @@ -2118,15 +2131,15 @@ class RBI::RBSPrinter < ::RBI::Visitor # source://rbi//lib/rbi/rbs_printer.rb#9 def print_locs=(_arg0); end - # source://rbi//lib/rbi/rbs_printer.rb#398 + # source://rbi//lib/rbi/rbs_printer.rb#400 sig { params(node: ::RBI::Method, sig: ::RBI::Sig).void } def print_method_sig(node, sig); end - # source://rbi//lib/rbi/rbs_printer.rb#415 + # source://rbi//lib/rbi/rbs_printer.rb#417 sig { params(node: ::RBI::Method, sig: ::RBI::Sig).void } def print_method_sig_inline(node, sig); end - # source://rbi//lib/rbi/rbs_printer.rb#477 + # source://rbi//lib/rbi/rbs_printer.rb#479 sig { params(node: ::RBI::Method, sig: ::RBI::Sig).void } def print_method_sig_multiline(node, sig); end @@ -2152,7 +2165,7 @@ class RBI::RBSPrinter < ::RBI::Visitor sig { override.params(nodes: T::Array[::RBI::Node]).void } def visit_all(nodes); end - # source://rbi//lib/rbi/rbs_printer.rb#678 + # source://rbi//lib/rbi/rbs_printer.rb#680 sig { override.params(node: ::RBI::Arg).void } def visit_arg(node); end @@ -2176,7 +2189,7 @@ class RBI::RBSPrinter < ::RBI::Visitor sig { override.params(node: ::RBI::BlankLine).void } def visit_blank_line(node); end - # source://rbi//lib/rbi/rbs_printer.rb#610 + # source://rbi//lib/rbi/rbs_printer.rb#612 sig { override.params(node: ::RBI::BlockParam).void } def visit_block_param(node); end @@ -2188,7 +2201,7 @@ class RBI::RBSPrinter < ::RBI::Visitor sig { override.params(node: ::RBI::Comment).void } def visit_comment(node); end - # source://rbi//lib/rbi/rbs_printer.rb#814 + # source://rbi//lib/rbi/rbs_printer.rb#816 sig { override.params(node: ::RBI::ConflictTree).void } def visit_conflict_tree(node); end @@ -2196,7 +2209,7 @@ class RBI::RBSPrinter < ::RBI::Visitor sig { override.params(node: ::RBI::Const).void } def visit_const(node); end - # source://rbi//lib/rbi/rbs_printer.rb#622 + # source://rbi//lib/rbi/rbs_printer.rb#624 sig { override.params(node: ::RBI::Extend).void } def visit_extend(node); end @@ -2204,31 +2217,31 @@ class RBI::RBSPrinter < ::RBI::Visitor sig { override.params(file: ::RBI::File).void } def visit_file(file); end - # source://rbi//lib/rbi/rbs_printer.rb#787 + # source://rbi//lib/rbi/rbs_printer.rb#789 sig { override.params(node: ::RBI::Group).void } def visit_group(node); end - # source://rbi//lib/rbi/rbs_printer.rb#775 + # source://rbi//lib/rbi/rbs_printer.rb#777 sig { override.params(node: ::RBI::Helper).void } def visit_helper(node); end - # source://rbi//lib/rbi/rbs_printer.rb#616 + # source://rbi//lib/rbi/rbs_printer.rb#618 sig { override.params(node: ::RBI::Include).void } def visit_include(node); end - # source://rbi//lib/rbi/rbs_printer.rb#684 + # source://rbi//lib/rbi/rbs_printer.rb#686 sig { override.params(node: ::RBI::KwArg).void } def visit_kw_arg(node); end - # source://rbi//lib/rbi/rbs_printer.rb#598 + # source://rbi//lib/rbi/rbs_printer.rb#600 sig { override.params(node: ::RBI::KwOptParam).void } def visit_kw_opt_param(node); end - # source://rbi//lib/rbi/rbs_printer.rb#592 + # source://rbi//lib/rbi/rbs_printer.rb#594 sig { override.params(node: ::RBI::KwParam).void } def visit_kw_param(node); end - # source://rbi//lib/rbi/rbs_printer.rb#604 + # source://rbi//lib/rbi/rbs_printer.rb#606 sig { override.params(node: ::RBI::KwRestParam).void } def visit_kw_rest_param(node); end @@ -2236,11 +2249,11 @@ class RBI::RBSPrinter < ::RBI::Visitor sig { override.params(node: ::RBI::Method).void } def visit_method(node); end - # source://rbi//lib/rbi/rbs_printer.rb#781 + # source://rbi//lib/rbi/rbs_printer.rb#783 sig { override.params(node: ::RBI::MixesInClassMethods).void } def visit_mixes_in_class_methods(node); end - # source://rbi//lib/rbi/rbs_printer.rb#627 + # source://rbi//lib/rbi/rbs_printer.rb#629 sig { params(node: ::RBI::Mixin).void } def visit_mixin(node); end @@ -2248,31 +2261,31 @@ class RBI::RBSPrinter < ::RBI::Visitor sig { override.params(node: ::RBI::Module).void } def visit_module(node); end - # source://rbi//lib/rbi/rbs_printer.rb#572 + # source://rbi//lib/rbi/rbs_printer.rb#574 sig { override.params(node: ::RBI::OptParam).void } def visit_opt_param(node); end - # source://rbi//lib/rbi/rbs_printer.rb#657 + # source://rbi//lib/rbi/rbs_printer.rb#659 sig { override.params(node: ::RBI::Private).void } def visit_private(node); end - # source://rbi//lib/rbi/rbs_printer.rb#651 + # source://rbi//lib/rbi/rbs_printer.rb#653 sig { override.params(node: ::RBI::Protected).void } def visit_protected(node); end - # source://rbi//lib/rbi/rbs_printer.rb#645 + # source://rbi//lib/rbi/rbs_printer.rb#647 sig { override.params(node: ::RBI::Public).void } def visit_public(node); end - # source://rbi//lib/rbi/rbs_printer.rb#562 + # source://rbi//lib/rbi/rbs_printer.rb#564 sig { override.params(node: ::RBI::ReqParam).void } def visit_req_param(node); end - # source://rbi//lib/rbi/rbs_printer.rb#808 + # source://rbi//lib/rbi/rbs_printer.rb#810 sig { override.params(node: ::RBI::RequiresAncestor).void } def visit_requires_ancestor(node); end - # source://rbi//lib/rbi/rbs_printer.rb#582 + # source://rbi//lib/rbi/rbs_printer.rb#584 sig { override.params(node: ::RBI::RestParam).void } def visit_rest_param(node); end @@ -2284,7 +2297,7 @@ class RBI::RBSPrinter < ::RBI::Visitor sig { params(node: ::RBI::Scope).void } def visit_scope_body(node); end - # source://rbi//lib/rbi/rbs_printer.rb#824 + # source://rbi//lib/rbi/rbs_printer.rb#826 sig { override.params(node: ::RBI::ScopeConflict).void } def visit_scope_conflict(node); end @@ -2292,15 +2305,15 @@ class RBI::RBSPrinter < ::RBI::Visitor sig { params(node: ::RBI::Scope).void } def visit_scope_header(node); end - # source://rbi//lib/rbi/rbs_printer.rb#672 + # source://rbi//lib/rbi/rbs_printer.rb#674 sig { override.params(node: ::RBI::Send).void } def visit_send(node); end - # source://rbi//lib/rbi/rbs_printer.rb#543 + # source://rbi//lib/rbi/rbs_printer.rb#545 sig { params(node: ::RBI::Sig).void } def visit_sig(node); end - # source://rbi//lib/rbi/rbs_printer.rb#556 + # source://rbi//lib/rbi/rbs_printer.rb#558 sig { params(node: ::RBI::SigParam).void } def visit_sig_param(node); end @@ -2312,15 +2325,15 @@ class RBI::RBSPrinter < ::RBI::Visitor sig { override.params(node: ::RBI::Struct).void } def visit_struct(node); end - # source://rbi//lib/rbi/rbs_printer.rb#741 + # source://rbi//lib/rbi/rbs_printer.rb#743 sig { override.params(node: ::RBI::TEnum).void } def visit_tenum(node); end - # source://rbi//lib/rbi/rbs_printer.rb#747 + # source://rbi//lib/rbi/rbs_printer.rb#749 sig { override.params(node: ::RBI::TEnumBlock).void } def visit_tenum_block(node); end - # source://rbi//lib/rbi/rbs_printer.rb#753 + # source://rbi//lib/rbi/rbs_printer.rb#755 sig { override.params(node: ::RBI::TEnumValue).void } def visit_tenum_value(node); end @@ -2328,27 +2341,27 @@ class RBI::RBSPrinter < ::RBI::Visitor sig { override.params(node: ::RBI::Tree).void } def visit_tree(node); end - # source://rbi//lib/rbi/rbs_printer.rb#690 + # source://rbi//lib/rbi/rbs_printer.rb#692 sig { override.params(node: ::RBI::TStruct).void } def visit_tstruct(node); end - # source://rbi//lib/rbi/rbs_printer.rb#725 + # source://rbi//lib/rbi/rbs_printer.rb#727 sig { override.params(node: ::RBI::TStructConst).void } def visit_tstruct_const(node); end - # source://rbi//lib/rbi/rbs_printer.rb#733 + # source://rbi//lib/rbi/rbs_printer.rb#735 sig { override.params(node: ::RBI::TStructProp).void } def visit_tstruct_prop(node); end - # source://rbi//lib/rbi/rbs_printer.rb#769 + # source://rbi//lib/rbi/rbs_printer.rb#771 sig { override.params(node: ::RBI::TypeMember).void } def visit_type_member(node); end - # source://rbi//lib/rbi/rbs_printer.rb#662 + # source://rbi//lib/rbi/rbs_printer.rb#664 sig { params(node: ::RBI::Visibility).void } def visit_visibility(node); end - # source://rbi//lib/rbi/rbs_printer.rb#794 + # source://rbi//lib/rbi/rbs_printer.rb#796 sig { override.params(node: ::RBI::VisibilityGroup).void } def visit_visibility_group(node); end @@ -2356,7 +2369,7 @@ class RBI::RBSPrinter < ::RBI::Visitor # @return [Boolean] # - # source://rbi//lib/rbi/rbs_printer.rb#927 + # source://rbi//lib/rbi/rbs_printer.rb#929 sig { params(node: ::RBI::Node).returns(T::Boolean) } def oneline?(node); end @@ -2364,31 +2377,31 @@ class RBI::RBSPrinter < ::RBI::Visitor # # Returns `nil` is the string is not a `T.let`. # - # source://rbi//lib/rbi/rbs_printer.rb#961 + # source://rbi//lib/rbi/rbs_printer.rb#963 sig { params(code: T.nilable(::String)).returns(T.nilable(::String)) } def parse_t_let(code); end - # source://rbi//lib/rbi/rbs_printer.rb#949 + # source://rbi//lib/rbi/rbs_printer.rb#951 sig { params(type: T.any(::RBI::Type, ::String)).returns(::RBI::Type) } def parse_type(type); end - # source://rbi//lib/rbi/rbs_printer.rb#840 + # source://rbi//lib/rbi/rbs_printer.rb#842 sig { params(node: ::RBI::Node).void } def print_blank_line_before(node); end - # source://rbi//lib/rbi/rbs_printer.rb#859 + # source://rbi//lib/rbi/rbs_printer.rb#861 sig { params(node: ::RBI::Node).void } def print_loc(node); end - # source://rbi//lib/rbi/rbs_printer.rb#901 + # source://rbi//lib/rbi/rbs_printer.rb#903 sig { params(node: ::RBI::Param, last: T::Boolean).void } def print_param_comment_leading_space(node, last:); end - # source://rbi//lib/rbi/rbs_printer.rb#865 + # source://rbi//lib/rbi/rbs_printer.rb#867 sig { params(node: ::RBI::Method, param: ::RBI::SigParam).void } def print_sig_param(node, param); end - # source://rbi//lib/rbi/rbs_printer.rb#919 + # source://rbi//lib/rbi/rbs_printer.rb#921 sig { params(node: ::RBI::SigParam, last: T::Boolean).void } def print_sig_param_comment_leading_space(node, last:); end end @@ -2399,11 +2412,11 @@ class RBI::RBSPrinter::Error < ::RBI::Error; end # source://rbi//lib/rbi/model.rb#5 class RBI::ReplaceNodeError < ::RBI::Error; end -# source://rbi//lib/rbi/model.rb#519 +# source://rbi//lib/rbi/model.rb#569 class RBI::ReqParam < ::RBI::Param # @return [ReqParam] a new instance of ReqParam # - # source://rbi//lib/rbi/model.rb#521 + # source://rbi//lib/rbi/model.rb#571 sig do params( name: ::String, @@ -2414,18 +2427,18 @@ class RBI::ReqParam < ::RBI::Param end def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end - # source://rbi//lib/rbi/model.rb#527 + # source://rbi//lib/rbi/model.rb#577 sig { params(other: T.nilable(::Object)).returns(T::Boolean) } def ==(other); end end -# source://rbi//lib/rbi/model.rb#1103 +# source://rbi//lib/rbi/model.rb#1204 class RBI::RequiresAncestor < ::RBI::NodeWithComments include ::RBI::Indexable # @return [RequiresAncestor] a new instance of RequiresAncestor # - # source://rbi//lib/rbi/model.rb#1108 + # source://rbi//lib/rbi/model.rb#1209 sig { params(name: ::String, loc: T.nilable(::RBI::Loc), comments: T::Array[::RBI::Comment]).void } def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil)); end @@ -2433,20 +2446,20 @@ class RBI::RequiresAncestor < ::RBI::NodeWithComments sig { override.returns(T::Array[::String]) } def index_ids; end - # source://rbi//lib/rbi/model.rb#1105 + # source://rbi//lib/rbi/model.rb#1206 sig { returns(::String) } def name; end - # source://rbi//lib/rbi/model.rb#1115 + # source://rbi//lib/rbi/model.rb#1216 sig { override.returns(::String) } def to_s; end end -# source://rbi//lib/rbi/model.rb#549 +# source://rbi//lib/rbi/model.rb#599 class RBI::RestParam < ::RBI::Param # @return [RestParam] a new instance of RestParam # - # source://rbi//lib/rbi/model.rb#551 + # source://rbi//lib/rbi/model.rb#601 sig do params( name: ::String, @@ -2457,11 +2470,11 @@ class RBI::RestParam < ::RBI::Param end def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end - # source://rbi//lib/rbi/model.rb#563 + # source://rbi//lib/rbi/model.rb#613 sig { params(other: T.nilable(::Object)).returns(T::Boolean) } def ==(other); end - # source://rbi//lib/rbi/model.rb#558 + # source://rbi//lib/rbi/model.rb#608 sig { override.returns(::String) } def to_s; end end @@ -3132,11 +3145,12 @@ class RBI::Scope < ::RBI::Tree # Duplicate `self` scope without its body # - # source://rbi//lib/rbi/rewriters/merge_trees.rb#346 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#350 sig { returns(T.self_type) } def dup_empty; end # @abstract + # @raise [NotImplementedError] # # source://rbi//lib/rbi/model.rb#166 sig { abstract.returns(::String) } @@ -3164,38 +3178,38 @@ end # end # ~~~ # -# source://rbi//lib/rbi/rewriters/merge_trees.rb#586 +# source://rbi//lib/rbi/rewriters/merge_trees.rb#590 class RBI::ScopeConflict < ::RBI::Tree # @return [ScopeConflict] a new instance of ScopeConflict # - # source://rbi//lib/rbi/rewriters/merge_trees.rb#594 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#598 sig { params(left: ::RBI::Scope, right: ::RBI::Scope, left_name: ::String, right_name: ::String).void } def initialize(left:, right:, left_name: T.unsafe(nil), right_name: T.unsafe(nil)); end - # source://rbi//lib/rbi/rewriters/merge_trees.rb#588 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#592 sig { returns(::RBI::Scope) } def left; end - # source://rbi//lib/rbi/rewriters/merge_trees.rb#591 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#595 sig { returns(::String) } def left_name; end - # source://rbi//lib/rbi/rewriters/merge_trees.rb#588 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#592 def right; end - # source://rbi//lib/rbi/rewriters/merge_trees.rb#591 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#595 def right_name; end end # Sends # -# source://rbi//lib/rbi/model.rb#752 +# source://rbi//lib/rbi/model.rb#802 class RBI::Send < ::RBI::NodeWithComments include ::RBI::Indexable # @return [Send] a new instance of Send # - # source://rbi//lib/rbi/model.rb#760 + # source://rbi//lib/rbi/model.rb#810 sig do params( method: ::String, @@ -3207,21 +3221,21 @@ class RBI::Send < ::RBI::NodeWithComments end def initialize(method, args = T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end - # source://rbi//lib/rbi/model.rb#768 + # source://rbi//lib/rbi/model.rb#818 sig { params(arg: ::RBI::Arg).void } def <<(arg); end - # source://rbi//lib/rbi/model.rb#773 + # source://rbi//lib/rbi/model.rb#823 sig { params(other: T.nilable(::Object)).returns(T::Boolean) } def ==(other); end - # source://rbi//lib/rbi/model.rb#757 + # source://rbi//lib/rbi/model.rb#807 sig { returns(T::Array[::RBI::Arg]) } def args; end # @return [Boolean] # - # source://rbi//lib/rbi/rewriters/merge_trees.rb#512 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#516 sig { override.params(other: ::RBI::Node).returns(T::Boolean) } def compatible_with?(other); end @@ -3229,22 +3243,22 @@ class RBI::Send < ::RBI::NodeWithComments sig { override.returns(T::Array[::String]) } def index_ids; end - # source://rbi//lib/rbi/model.rb#754 + # source://rbi//lib/rbi/model.rb#804 sig { returns(::String) } def method; end - # source://rbi//lib/rbi/model.rb#778 + # source://rbi//lib/rbi/model.rb#828 sig { returns(::String) } def to_s; end end # Sorbet's sigs # -# source://rbi//lib/rbi/model.rb#827 +# source://rbi//lib/rbi/model.rb#877 class RBI::Sig < ::RBI::NodeWithComments # @return [Sig] a new instance of Sig # - # source://rbi//lib/rbi/model.rb#844 + # source://rbi//lib/rbi/model.rb#926 sig do params( params: T::Array[::RBI::SigParam], @@ -3254,6 +3268,7 @@ class RBI::Sig < ::RBI::NodeWithComments is_overridable: T::Boolean, is_final: T::Boolean, allow_incompatible_override: T::Boolean, + allow_incompatible_override_visibility: T::Boolean, without_runtime: T::Boolean, type_params: T::Array[::String], checked: T.nilable(::Symbol), @@ -3262,85 +3277,97 @@ class RBI::Sig < ::RBI::NodeWithComments block: T.nilable(T.proc.params(node: ::RBI::Sig).void) ).void end - def initialize(params: T.unsafe(nil), return_type: T.unsafe(nil), is_abstract: T.unsafe(nil), is_override: T.unsafe(nil), is_overridable: T.unsafe(nil), is_final: T.unsafe(nil), allow_incompatible_override: T.unsafe(nil), without_runtime: T.unsafe(nil), type_params: T.unsafe(nil), checked: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end + def initialize(params: T.unsafe(nil), return_type: T.unsafe(nil), is_abstract: T.unsafe(nil), is_override: T.unsafe(nil), is_overridable: T.unsafe(nil), is_final: T.unsafe(nil), allow_incompatible_override: T.unsafe(nil), allow_incompatible_override_visibility: T.unsafe(nil), without_runtime: T.unsafe(nil), type_params: T.unsafe(nil), checked: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end - # source://rbi//lib/rbi/model.rb#874 + # source://rbi//lib/rbi/model.rb#958 sig { params(param: ::RBI::SigParam).void } def <<(param); end - # source://rbi//lib/rbi/model.rb#884 + # source://rbi//lib/rbi/model.rb#968 sig { params(other: ::Object).returns(T::Boolean) } def ==(other); end - # source://rbi//lib/rbi/model.rb#879 + # source://rbi//lib/rbi/model.rb#963 sig { params(name: ::String, type: T.any(::RBI::Type, ::String)).void } def add_param(name, type); end - # source://rbi//lib/rbi/model.rb#835 + # source://rbi//lib/rbi/model.rb#897 + sig { returns(T::Boolean) } def allow_incompatible_override; end - # source://rbi//lib/rbi/model.rb#835 + # source://rbi//lib/rbi/model.rb#897 def allow_incompatible_override=(_arg0); end - # source://rbi//lib/rbi/model.rb#841 + # source://rbi//lib/rbi/model.rb#900 + sig { returns(T::Boolean) } + def allow_incompatible_override_visibility; end + + # source://rbi//lib/rbi/model.rb#900 + def allow_incompatible_override_visibility=(_arg0); end + + # source://rbi//lib/rbi/model.rb#909 sig { returns(T.nilable(::Symbol)) } def checked; end - # source://rbi//lib/rbi/model.rb#841 + # source://rbi//lib/rbi/model.rb#909 def checked=(_arg0); end - # source://rbi//lib/rbi/model.rb#835 + # source://rbi//lib/rbi/model.rb#885 sig { returns(T::Boolean) } def is_abstract; end - # source://rbi//lib/rbi/model.rb#835 + # source://rbi//lib/rbi/model.rb#885 def is_abstract=(_arg0); end - # source://rbi//lib/rbi/model.rb#835 + # source://rbi//lib/rbi/model.rb#894 + sig { returns(T::Boolean) } def is_final; end - # source://rbi//lib/rbi/model.rb#835 + # source://rbi//lib/rbi/model.rb#894 def is_final=(_arg0); end - # source://rbi//lib/rbi/model.rb#835 + # source://rbi//lib/rbi/model.rb#891 + sig { returns(T::Boolean) } def is_overridable; end - # source://rbi//lib/rbi/model.rb#835 + # source://rbi//lib/rbi/model.rb#891 def is_overridable=(_arg0); end - # source://rbi//lib/rbi/model.rb#835 + # source://rbi//lib/rbi/model.rb#888 + sig { returns(T::Boolean) } def is_override; end - # source://rbi//lib/rbi/model.rb#835 + # source://rbi//lib/rbi/model.rb#888 def is_override=(_arg0); end - # source://rbi//lib/rbi/model.rb#829 + # source://rbi//lib/rbi/model.rb#879 sig { returns(T::Array[::RBI::SigParam]) } def params; end - # source://rbi//lib/rbi/model.rb#832 + # source://rbi//lib/rbi/model.rb#882 sig { returns(T.any(::RBI::Type, ::String)) } def return_type; end - # source://rbi//lib/rbi/model.rb#832 + # source://rbi//lib/rbi/model.rb#882 def return_type=(_arg0); end - # source://rbi//lib/rbi/model.rb#838 + # source://rbi//lib/rbi/model.rb#906 sig { returns(T::Array[::String]) } def type_params; end - # source://rbi//lib/rbi/model.rb#835 + # source://rbi//lib/rbi/model.rb#903 + sig { returns(T::Boolean) } def without_runtime; end - # source://rbi//lib/rbi/model.rb#835 + # source://rbi//lib/rbi/model.rb#903 def without_runtime=(_arg0); end end -# source://rbi//lib/rbi/model.rb#893 +# source://rbi//lib/rbi/model.rb#977 class RBI::SigParam < ::RBI::NodeWithComments # @return [SigParam] a new instance of SigParam # - # source://rbi//lib/rbi/model.rb#901 + # source://rbi//lib/rbi/model.rb#985 sig do params( name: ::String, @@ -3352,15 +3379,15 @@ class RBI::SigParam < ::RBI::NodeWithComments end def initialize(name, type, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end - # source://rbi//lib/rbi/model.rb#909 + # source://rbi//lib/rbi/model.rb#993 sig { params(other: ::Object).returns(T::Boolean) } def ==(other); end - # source://rbi//lib/rbi/model.rb#895 + # source://rbi//lib/rbi/model.rb#979 sig { returns(::String) } def name; end - # source://rbi//lib/rbi/model.rb#898 + # source://rbi//lib/rbi/model.rb#982 sig { returns(T.any(::RBI::Type, ::String)) } def type; end end @@ -3388,7 +3415,7 @@ end class RBI::Struct < ::RBI::Scope # @return [Struct] a new instance of Struct # - # source://rbi//lib/rbi/model.rb#244 + # source://rbi//lib/rbi/model.rb#250 sig do params( name: ::String, @@ -3403,11 +3430,11 @@ class RBI::Struct < ::RBI::Scope # @return [Boolean] # - # source://rbi//lib/rbi/rewriters/merge_trees.rb#387 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#391 sig { override.params(other: ::RBI::Node).returns(T::Boolean) } def compatible_with?(other); end - # source://rbi//lib/rbi/model.rb#254 + # source://rbi//lib/rbi/model.rb#260 sig { override.returns(::String) } def fully_qualified_name; end @@ -3435,11 +3462,11 @@ end # Sorbet's T::Enum # -# source://rbi//lib/rbi/model.rb#992 +# source://rbi//lib/rbi/model.rb#1088 class RBI::TEnum < ::RBI::Class # @return [TEnum] a new instance of TEnum # - # source://rbi//lib/rbi/model.rb#994 + # source://rbi//lib/rbi/model.rb#1090 sig do params( name: ::String, @@ -3451,11 +3478,11 @@ class RBI::TEnum < ::RBI::Class def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end end -# source://rbi//lib/rbi/model.rb#1000 +# source://rbi//lib/rbi/model.rb#1096 class RBI::TEnumBlock < ::RBI::Scope # @return [TEnumBlock] a new instance of TEnumBlock # - # source://rbi//lib/rbi/model.rb#1002 + # source://rbi//lib/rbi/model.rb#1098 sig do params( loc: T.nilable(::RBI::Loc), @@ -3465,7 +3492,7 @@ class RBI::TEnumBlock < ::RBI::Scope end def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end - # source://rbi//lib/rbi/model.rb#1009 + # source://rbi//lib/rbi/model.rb#1105 sig { override.returns(::String) } def fully_qualified_name; end @@ -3473,18 +3500,18 @@ class RBI::TEnumBlock < ::RBI::Scope sig { override.returns(T::Array[::String]) } def index_ids; end - # source://rbi//lib/rbi/model.rb#1015 + # source://rbi//lib/rbi/model.rb#1111 sig { override.returns(::String) } def to_s; end end -# source://rbi//lib/rbi/model.rb#1020 +# source://rbi//lib/rbi/model.rb#1116 class RBI::TEnumValue < ::RBI::NodeWithComments include ::RBI::Indexable # @return [TEnumValue] a new instance of TEnumValue # - # source://rbi//lib/rbi/model.rb#1025 + # source://rbi//lib/rbi/model.rb#1121 sig do params( name: ::String, @@ -3495,7 +3522,7 @@ class RBI::TEnumValue < ::RBI::NodeWithComments end def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end - # source://rbi//lib/rbi/model.rb#1032 + # source://rbi//lib/rbi/model.rb#1128 sig { returns(::String) } def fully_qualified_name; end @@ -3503,22 +3530,22 @@ class RBI::TEnumValue < ::RBI::NodeWithComments sig { override.returns(T::Array[::String]) } def index_ids; end - # source://rbi//lib/rbi/model.rb#1022 + # source://rbi//lib/rbi/model.rb#1118 sig { returns(::String) } def name; end - # source://rbi//lib/rbi/model.rb#1038 + # source://rbi//lib/rbi/model.rb#1134 sig { override.returns(::String) } def to_s; end end # Sorbet's T::Struct # -# source://rbi//lib/rbi/model.rb#916 +# source://rbi//lib/rbi/model.rb#1000 class RBI::TStruct < ::RBI::Class # @return [TStruct] a new instance of TStruct # - # source://rbi//lib/rbi/model.rb#918 + # source://rbi//lib/rbi/model.rb#1002 sig do params( name: ::String, @@ -3530,13 +3557,13 @@ class RBI::TStruct < ::RBI::Class def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end end -# source://rbi//lib/rbi/model.rb#948 +# source://rbi//lib/rbi/model.rb#1032 class RBI::TStructConst < ::RBI::TStructField include ::RBI::Indexable # @return [TStructConst] a new instance of TStructConst # - # source://rbi//lib/rbi/model.rb#950 + # source://rbi//lib/rbi/model.rb#1040 sig do params( name: ::String, @@ -3551,11 +3578,11 @@ class RBI::TStructConst < ::RBI::TStructField # @return [Boolean] # - # source://rbi//lib/rbi/rewriters/merge_trees.rb#528 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#532 sig { override.params(other: ::RBI::Node).returns(T::Boolean) } def compatible_with?(other); end - # source://rbi//lib/rbi/model.rb#957 + # source://rbi//lib/rbi/model.rb#1047 sig { override.returns(T::Array[::String]) } def fully_qualified_names; end @@ -3563,20 +3590,20 @@ class RBI::TStructConst < ::RBI::TStructField sig { override.returns(T::Array[::String]) } def index_ids; end - # source://rbi//lib/rbi/model.rb#964 + # source://rbi//lib/rbi/model.rb#1054 sig { override.returns(::String) } def to_s; end end # @abstract # -# source://rbi//lib/rbi/model.rb#925 +# source://rbi//lib/rbi/model.rb#1009 class RBI::TStructField < ::RBI::NodeWithComments abstract! # @return [TStructField] a new instance of TStructField # - # source://rbi//lib/rbi/model.rb#936 + # source://rbi//lib/rbi/model.rb#1020 sig do params( name: ::String, @@ -3590,45 +3617,46 @@ class RBI::TStructField < ::RBI::NodeWithComments # @return [Boolean] # - # source://rbi//lib/rbi/rewriters/merge_trees.rb#520 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#524 sig { override.params(other: ::RBI::Node).returns(T::Boolean) } def compatible_with?(other); end - # source://rbi//lib/rbi/model.rb#933 + # source://rbi//lib/rbi/model.rb#1017 sig { returns(T.nilable(::String)) } def default; end - # source://rbi//lib/rbi/model.rb#933 + # source://rbi//lib/rbi/model.rb#1017 def default=(_arg0); end # @abstract + # @raise [NotImplementedError] # - # source://rbi//lib/rbi/model.rb#945 + # source://rbi//lib/rbi/model.rb#1029 sig { abstract.returns(T::Array[::String]) } def fully_qualified_names; end - # source://rbi//lib/rbi/model.rb#927 + # source://rbi//lib/rbi/model.rb#1011 sig { returns(::String) } def name; end - # source://rbi//lib/rbi/model.rb#927 + # source://rbi//lib/rbi/model.rb#1011 def name=(_arg0); end - # source://rbi//lib/rbi/model.rb#930 + # source://rbi//lib/rbi/model.rb#1014 sig { returns(T.any(::RBI::Type, ::String)) } def type; end - # source://rbi//lib/rbi/model.rb#930 + # source://rbi//lib/rbi/model.rb#1014 def type=(_arg0); end end -# source://rbi//lib/rbi/model.rb#969 +# source://rbi//lib/rbi/model.rb#1059 class RBI::TStructProp < ::RBI::TStructField include ::RBI::Indexable # @return [TStructProp] a new instance of TStructProp # - # source://rbi//lib/rbi/model.rb#971 + # source://rbi//lib/rbi/model.rb#1067 sig do params( name: ::String, @@ -3643,11 +3671,11 @@ class RBI::TStructProp < ::RBI::TStructField # @return [Boolean] # - # source://rbi//lib/rbi/rewriters/merge_trees.rb#536 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#540 sig { override.params(other: ::RBI::Node).returns(T::Boolean) } def compatible_with?(other); end - # source://rbi//lib/rbi/model.rb#978 + # source://rbi//lib/rbi/model.rb#1074 sig { override.returns(T::Array[::String]) } def fully_qualified_names; end @@ -3655,7 +3683,7 @@ class RBI::TStructProp < ::RBI::TStructField sig { override.returns(T::Array[::String]) } def index_ids; end - # source://rbi//lib/rbi/model.rb#985 + # source://rbi//lib/rbi/model.rb#1081 sig { override.returns(::String) } def to_s; end end @@ -3824,23 +3852,24 @@ class RBI::Type # @return [Type] a new instance of Type # - # source://rbi//lib/rbi/type.rb#905 + # source://rbi//lib/rbi/type.rb#951 sig { void } def initialize; end # @abstract + # @raise [NotImplementedError] # - # source://rbi//lib/rbi/type.rb#976 + # source://rbi//lib/rbi/type.rb#1022 sig { abstract.params(other: ::BasicObject).returns(T::Boolean) } def ==(other); end # @return [Boolean] # - # source://rbi//lib/rbi/type.rb#979 + # source://rbi//lib/rbi/type.rb#1025 sig { params(other: ::BasicObject).returns(T::Boolean) } def eql?(other); end - # source://rbi//lib/rbi/type.rb#985 + # source://rbi//lib/rbi/type.rb#1031 sig { override.returns(::Integer) } def hash; end @@ -3854,7 +3883,7 @@ class RBI::Type # type.nilable.nilable.to_rbi # => "T.nilable(String)" # ``` # - # source://rbi//lib/rbi/type.rb#919 + # source://rbi//lib/rbi/type.rb#965 sig { returns(::RBI::Type) } def nilable; end @@ -3862,7 +3891,7 @@ class RBI::Type # # @return [Boolean] # - # source://rbi//lib/rbi/type.rb#946 + # source://rbi//lib/rbi/type.rb#992 sig { returns(T::Boolean) } def nilable?; end @@ -3877,7 +3906,7 @@ class RBI::Type # type.non_nilable.non_nilable.to_rbi # => "String" # ``` # - # source://rbi//lib/rbi/type.rb#934 + # source://rbi//lib/rbi/type.rb#980 sig { returns(::RBI::Type) } def non_nilable; end @@ -3891,12 +3920,13 @@ class RBI::Type # # # @abstract + # @raise [NotImplementedError] # - # source://rbi//lib/rbi/type.rb#960 + # source://rbi//lib/rbi/type.rb#1006 sig { abstract.returns(::RBI::Type) } def normalize; end - # source://rbi//lib/rbi/rbs_printer.rb#1240 + # source://rbi//lib/rbi/rbs_printer.rb#1242 sig { returns(::String) } def rbs_string; end @@ -3910,18 +3940,20 @@ class RBI::Type # # # @abstract + # @raise [NotImplementedError] # - # source://rbi//lib/rbi/type.rb#972 + # source://rbi//lib/rbi/type.rb#1018 sig { abstract.returns(::RBI::Type) } def simplify; end # @abstract + # @raise [NotImplementedError] # - # source://rbi//lib/rbi/type.rb#991 + # source://rbi//lib/rbi/type.rb#1037 sig { abstract.returns(::String) } def to_rbi; end - # source://rbi//lib/rbi/type.rb#995 + # source://rbi//lib/rbi/type.rb#1041 sig { override.returns(::String) } def to_s; end @@ -3931,7 +3963,7 @@ class RBI::Type # Note that this method transforms types such as `T.all(String, String)` into `String`, so # it may return something other than a `All`. # - # source://rbi//lib/rbi/type.rb#847 + # source://rbi//lib/rbi/type.rb#887 sig { params(type1: ::RBI::Type, type2: ::RBI::Type, types: ::RBI::Type).returns(::RBI::Type) } def all(type1, type2, *types); end @@ -3940,37 +3972,37 @@ class RBI::Type # Note that this method transforms types such as `T.any(String, NilClass)` into `T.nilable(String)`, so # it may return something other than a `Any`. # - # source://rbi//lib/rbi/type.rb#856 + # source://rbi//lib/rbi/type.rb#896 sig { params(type1: ::RBI::Type, type2: ::RBI::Type, types: ::RBI::Type).returns(::RBI::Type) } def any(type1, type2, *types); end # Builds a type that represents `T.anything`. # - # source://rbi//lib/rbi/type.rb#778 + # source://rbi//lib/rbi/type.rb#818 sig { returns(::RBI::Type::Anything) } def anything; end # Builds a type that represents `T.attached_class`. # - # source://rbi//lib/rbi/type.rb#784 + # source://rbi//lib/rbi/type.rb#824 sig { returns(::RBI::Type::AttachedClass) } def attached_class; end # Builds a type that represents `T::Boolean`. # - # source://rbi//lib/rbi/type.rb#790 + # source://rbi//lib/rbi/type.rb#830 sig { returns(::RBI::Type::Boolean) } def boolean; end # Builds a type that represents the singleton class of another type like `T.class_of(Foo)`. # - # source://rbi//lib/rbi/type.rb#828 + # source://rbi//lib/rbi/type.rb#868 sig { params(type: ::RBI::Type::Simple, type_parameter: T.nilable(::RBI::Type)).returns(::RBI::Type::ClassOf) } def class_of(type, type_parameter = T.unsafe(nil)); end # Builds a type that represents a generic type like `T::Array[String]` or `T::Hash[Symbol, Integer]`. # - # source://rbi//lib/rbi/type.rb#864 + # source://rbi//lib/rbi/type.rb#904 sig { params(name: ::String, params: T.any(::RBI::Type, T::Array[::RBI::Type])).returns(::RBI::Type::Generic) } def generic(name, *params); end @@ -3979,13 +4011,13 @@ class RBI::Type # Note that this method transforms types such as `T.nilable(T.untyped)` into `T.untyped`, so # it may return something other than a `RBI::Type::Nilable`. # - # source://rbi//lib/rbi/type.rb#837 + # source://rbi//lib/rbi/type.rb#877 sig { params(type: ::RBI::Type).returns(::RBI::Type) } def nilable(type); end # Builds a type that represents `T.noreturn`. # - # source://rbi//lib/rbi/type.rb#796 + # source://rbi//lib/rbi/type.rb#836 sig { returns(::RBI::Type::NoReturn) } def noreturn; end @@ -4001,19 +4033,19 @@ class RBI::Type # Builds a type that represents a proc type like `T.proc.void`. # - # source://rbi//lib/rbi/type.rb#892 + # source://rbi//lib/rbi/type.rb#938 sig { returns(::RBI::Type::Proc) } def proc; end # Builds a type that represents `T.self_type`. # - # source://rbi//lib/rbi/type.rb#802 + # source://rbi//lib/rbi/type.rb#842 sig { returns(::RBI::Type::SelfType) } def self_type; end # Builds a type that represents a shape type like `{name: String, age: Integer}`. # - # source://rbi//lib/rbi/type.rb#884 + # source://rbi//lib/rbi/type.rb#930 sig { params(types: T::Hash[T.any(::String, ::Symbol), ::RBI::Type]).returns(::RBI::Type::Shape) } def shape(types = T.unsafe(nil)); end @@ -4023,111 +4055,127 @@ class RBI::Type # # @raise [NameError] # - # source://rbi//lib/rbi/type.rb#767 + # source://rbi//lib/rbi/type.rb#807 sig { params(name: ::String).returns(::RBI::Type::Simple) } def simple(name); end # Builds a type that represents the class of another type like `T::Class[Foo]`. # - # source://rbi//lib/rbi/type.rb#822 + # source://rbi//lib/rbi/type.rb#862 sig { params(type: ::RBI::Type).returns(::RBI::Type::Class) } def t_class(type); end # Builds a type that represents a tuple type like `[String, Integer]`. # - # source://rbi//lib/rbi/type.rb#878 + # source://rbi//lib/rbi/type.rb#924 sig { params(types: T.any(::RBI::Type, T::Array[::RBI::Type])).returns(::RBI::Type::Tuple) } def tuple(*types); end + # Builds a type that represents a type alias like `MyTypeAlias`. + # + # source://rbi//lib/rbi/type.rb#916 + sig { params(name: ::String, aliased_type: ::RBI::Type).returns(::RBI::Type::TypeAlias) } + def type_alias(name, aliased_type); end + # Builds a type that represents a type parameter like `T.type_parameter(:U)`. # - # source://rbi//lib/rbi/type.rb#870 + # source://rbi//lib/rbi/type.rb#910 sig { params(name: ::Symbol).returns(::RBI::Type::TypeParameter) } def type_parameter(name); end # Builds a type that represents `T.untyped`. # - # source://rbi//lib/rbi/type.rb#808 + # source://rbi//lib/rbi/type.rb#848 sig { returns(::RBI::Type::Untyped) } def untyped; end # Builds a type that represents `void`. # - # source://rbi//lib/rbi/type.rb#814 + # source://rbi//lib/rbi/type.rb#854 sig { returns(::RBI::Type::Void) } def void; end private - # source://rbi//lib/rbi/type_parser.rb#289 + # source://rbi//lib/rbi/type_parser.rb#314 sig { params(node: ::Prism::CallNode).returns(T::Array[::Prism::Node]) } def call_chain(node); end - # source://rbi//lib/rbi/type_parser.rb#276 + # source://rbi//lib/rbi/type_parser.rb#301 sig { params(node: ::Prism::CallNode, count: ::Integer).returns(T::Array[::Prism::Node]) } def check_arguments_at_least!(node, count); end - # source://rbi//lib/rbi/type_parser.rb#261 + # source://rbi//lib/rbi/type_parser.rb#286 sig { params(node: ::Prism::CallNode, count: ::Integer).returns(T::Array[::Prism::Node]) } def check_arguments_exactly!(node, count); end # @raise [Error] # - # source://rbi//lib/rbi/type_parser.rb#71 + # source://rbi//lib/rbi/type_parser.rb#96 sig { params(node: ::Prism::CallNode).returns(::RBI::Type) } def parse_call(node); end - # source://rbi//lib/rbi/type_parser.rb#54 + # source://rbi//lib/rbi/type_parser.rb#56 sig { params(node: T.any(::Prism::ConstantPathNode, ::Prism::ConstantReadNode)).returns(::RBI::Type) } def parse_constant(node); end + # source://rbi//lib/rbi/type_parser.rb#73 + sig { params(node: T.any(::Prism::ConstantPathWriteNode, ::Prism::ConstantWriteNode)).returns(::RBI::Type) } + def parse_constant_assignment(node); end + # @raise [Error] # - # source://rbi//lib/rbi/type_parser.rb#211 + # source://rbi//lib/rbi/type_parser.rb#236 sig { params(node: ::Prism::CallNode).returns(::RBI::Type) } def parse_proc(node); end - # source://rbi//lib/rbi/type_parser.rb#190 + # source://rbi//lib/rbi/type_parser.rb#215 sig { params(node: T.any(::Prism::HashNode, ::Prism::KeywordHashNode)).returns(::RBI::Type) } def parse_shape(node); end - # source://rbi//lib/rbi/type_parser.rb#185 + # source://rbi//lib/rbi/type_parser.rb#210 sig { params(node: ::Prism::ArrayNode).returns(::RBI::Type) } def parse_tuple(node); end # @return [Boolean] # - # source://rbi//lib/rbi/type_parser.rb#302 + # source://rbi//lib/rbi/type_parser.rb#327 sig { params(node: T.nilable(::Prism::Node)).returns(T::Boolean) } def t?(node); end # @return [Boolean] # - # source://rbi//lib/rbi/type_parser.rb#314 + # source://rbi//lib/rbi/type_parser.rb#346 sig { params(node: T.nilable(::Prism::Node)).returns(T::Boolean) } def t_boolean?(node); end # @return [Boolean] # - # source://rbi//lib/rbi/type_parser.rb#321 + # source://rbi//lib/rbi/type_parser.rb#353 sig { params(node: ::Prism::ConstantPathNode).returns(T::Boolean) } def t_class?(node); end # @return [Boolean] # - # source://rbi//lib/rbi/type_parser.rb#326 + # source://rbi//lib/rbi/type_parser.rb#358 sig { params(node: T.nilable(::Prism::Node)).returns(T::Boolean) } def t_class_of?(node); end # @return [Boolean] # - # source://rbi//lib/rbi/type_parser.rb#333 + # source://rbi//lib/rbi/type_parser.rb#365 sig { params(node: ::Prism::CallNode).returns(T::Boolean) } def t_proc?(node); end # @return [Boolean] # - # source://rbi//lib/rbi/type.rb#899 + # source://rbi//lib/rbi/type_parser.rb#339 + sig { params(node: T.nilable(::Prism::Node)).returns(T::Boolean) } + def t_type_alias?(node); end + + # @return [Boolean] + # + # source://rbi//lib/rbi/type.rb#945 sig { params(name: ::String).returns(T::Boolean) } def valid_identifier?(name); end end @@ -4417,55 +4465,55 @@ end # A proc type like `T.proc.void`. # -# source://rbi//lib/rbi/type.rb#667 +# source://rbi//lib/rbi/type.rb#707 class RBI::Type::Proc < ::RBI::Type # @return [Proc] a new instance of Proc # - # source://rbi//lib/rbi/type.rb#678 + # source://rbi//lib/rbi/type.rb#718 sig { void } def initialize; end - # source://rbi//lib/rbi/type.rb#687 + # source://rbi//lib/rbi/type.rb#727 sig { override.params(other: ::BasicObject).returns(T::Boolean) } def ==(other); end - # source://rbi//lib/rbi/type.rb#715 + # source://rbi//lib/rbi/type.rb#755 sig { params(type: T.untyped).returns(T.self_type) } def bind(type); end - # source://rbi//lib/rbi/type.rb#747 + # source://rbi//lib/rbi/type.rb#787 sig { override.returns(::RBI::Type) } def normalize; end - # source://rbi//lib/rbi/type.rb#697 + # source://rbi//lib/rbi/type.rb#737 sig { params(params: ::RBI::Type).returns(T.self_type) } def params(**params); end - # source://rbi//lib/rbi/type.rb#675 + # source://rbi//lib/rbi/type.rb#715 sig { returns(T.nilable(::RBI::Type)) } def proc_bind; end - # source://rbi//lib/rbi/type.rb#669 + # source://rbi//lib/rbi/type.rb#709 sig { returns(T::Hash[::Symbol, ::RBI::Type]) } def proc_params; end - # source://rbi//lib/rbi/type.rb#672 + # source://rbi//lib/rbi/type.rb#712 sig { returns(::RBI::Type) } def proc_returns; end - # source://rbi//lib/rbi/type.rb#703 + # source://rbi//lib/rbi/type.rb#743 sig { params(type: T.untyped).returns(T.self_type) } def returns(type); end - # source://rbi//lib/rbi/type.rb#753 + # source://rbi//lib/rbi/type.rb#793 sig { override.returns(::RBI::Type) } def simplify; end - # source://rbi//lib/rbi/type.rb#722 + # source://rbi//lib/rbi/type.rb#762 sig { override.returns(::String) } def to_rbi; end - # source://rbi//lib/rbi/type.rb#709 + # source://rbi//lib/rbi/type.rb#749 sig { returns(T.self_type) } def void; end end @@ -4493,31 +4541,31 @@ end # A shape type like `{name: String, age: Integer}`. # -# source://rbi//lib/rbi/type.rb#625 +# source://rbi//lib/rbi/type.rb#665 class RBI::Type::Shape < ::RBI::Type # @return [Shape] a new instance of Shape # - # source://rbi//lib/rbi/type.rb#630 + # source://rbi//lib/rbi/type.rb#670 sig { params(types: T::Hash[T.any(::String, ::Symbol), ::RBI::Type]).void } def initialize(types); end - # source://rbi//lib/rbi/type.rb#637 + # source://rbi//lib/rbi/type.rb#677 sig { override.params(other: ::BasicObject).returns(T::Boolean) } def ==(other); end - # source://rbi//lib/rbi/type.rb#653 + # source://rbi//lib/rbi/type.rb#693 sig { override.returns(::RBI::Type) } def normalize; end - # source://rbi//lib/rbi/type.rb#659 + # source://rbi//lib/rbi/type.rb#699 sig { override.returns(::RBI::Type) } def simplify; end - # source://rbi//lib/rbi/type.rb#643 + # source://rbi//lib/rbi/type.rb#683 sig { override.returns(::String) } def to_rbi; end - # source://rbi//lib/rbi/type.rb#627 + # source://rbi//lib/rbi/type.rb#667 sig { returns(T::Hash[T.any(::String, ::Symbol), ::RBI::Type]) } def types; end end @@ -4557,35 +4605,70 @@ end # A tuple type like `[String, Integer]`. # -# source://rbi//lib/rbi/type.rb#589 +# source://rbi//lib/rbi/type.rb#629 class RBI::Type::Tuple < ::RBI::Type # @return [Tuple] a new instance of Tuple # - # source://rbi//lib/rbi/type.rb#594 + # source://rbi//lib/rbi/type.rb#634 sig { params(types: T::Array[::RBI::Type]).void } def initialize(types); end - # source://rbi//lib/rbi/type.rb#601 + # source://rbi//lib/rbi/type.rb#641 sig { override.params(other: ::BasicObject).returns(T::Boolean) } def ==(other); end - # source://rbi//lib/rbi/type.rb#613 + # source://rbi//lib/rbi/type.rb#653 sig { override.returns(::RBI::Type) } def normalize; end - # source://rbi//lib/rbi/type.rb#619 + # source://rbi//lib/rbi/type.rb#659 sig { override.returns(::RBI::Type) } def simplify; end - # source://rbi//lib/rbi/type.rb#607 + # source://rbi//lib/rbi/type.rb#647 sig { override.returns(::String) } def to_rbi; end - # source://rbi//lib/rbi/type.rb#591 + # source://rbi//lib/rbi/type.rb#631 sig { returns(T::Array[::RBI::Type]) } def types; end end +# A type alias that references another type by name like `MyTypeAlias`. +# +# source://rbi//lib/rbi/type.rb#587 +class RBI::Type::TypeAlias < ::RBI::Type + # @return [TypeAlias] a new instance of TypeAlias + # + # source://rbi//lib/rbi/type.rb#595 + sig { params(name: ::String, aliased_type: ::RBI::Type).void } + def initialize(name, aliased_type); end + + # source://rbi//lib/rbi/type.rb#603 + sig { override.params(other: ::BasicObject).returns(T::Boolean) } + def ==(other); end + + # source://rbi//lib/rbi/type.rb#592 + sig { returns(::RBI::Type) } + def aliased_type; end + + # source://rbi//lib/rbi/type.rb#589 + sig { returns(::String) } + def name; end + + # source://rbi//lib/rbi/type.rb#615 + sig { override.returns(::RBI::Type) } + def normalize; end + + # source://rbi//lib/rbi/type.rb#621 + sig { override.returns(::RBI::Type) } + def simplify; end + + # source://rbi//lib/rbi/type.rb#609 + sig { override.returns(::String) } + def to_rbi; end +end + # A type parameter like `T.type_parameter(:U)`. # # source://rbi//lib/rbi/type.rb#551 @@ -4646,75 +4729,79 @@ class RBI::Type::Visitor private - # source://rbi//lib/rbi/type_visitor.rb#56 + # source://rbi//lib/rbi/type_visitor.rb#58 sig { params(type: ::RBI::Type::All).void } def visit_all(type); end - # source://rbi//lib/rbi/type_visitor.rb#59 + # source://rbi//lib/rbi/type_visitor.rb#61 sig { params(type: ::RBI::Type::Any).void } def visit_any(type); end - # source://rbi//lib/rbi/type_visitor.rb#62 + # source://rbi//lib/rbi/type_visitor.rb#64 sig { params(type: ::RBI::Type::Anything).void } def visit_anything(type); end - # source://rbi//lib/rbi/type_visitor.rb#65 + # source://rbi//lib/rbi/type_visitor.rb#67 sig { params(type: ::RBI::Type::AttachedClass).void } def visit_attached_class(type); end - # source://rbi//lib/rbi/type_visitor.rb#68 + # source://rbi//lib/rbi/type_visitor.rb#70 sig { params(type: ::RBI::Type::Boolean).void } def visit_boolean(type); end - # source://rbi//lib/rbi/type_visitor.rb#71 + # source://rbi//lib/rbi/type_visitor.rb#73 sig { params(type: ::RBI::Type::Class).void } def visit_class(type); end - # source://rbi//lib/rbi/type_visitor.rb#74 + # source://rbi//lib/rbi/type_visitor.rb#76 sig { params(type: ::RBI::Type::ClassOf).void } def visit_class_of(type); end - # source://rbi//lib/rbi/type_visitor.rb#77 + # source://rbi//lib/rbi/type_visitor.rb#79 sig { params(type: ::RBI::Type::Generic).void } def visit_generic(type); end - # source://rbi//lib/rbi/type_visitor.rb#80 + # source://rbi//lib/rbi/type_visitor.rb#82 sig { params(type: ::RBI::Type::Nilable).void } def visit_nilable(type); end - # source://rbi//lib/rbi/type_visitor.rb#86 + # source://rbi//lib/rbi/type_visitor.rb#88 sig { params(type: ::RBI::Type::NoReturn).void } def visit_no_return(type); end - # source://rbi//lib/rbi/type_visitor.rb#89 + # source://rbi//lib/rbi/type_visitor.rb#91 sig { params(type: ::RBI::Type::Proc).void } def visit_proc(type); end - # source://rbi//lib/rbi/type_visitor.rb#92 + # source://rbi//lib/rbi/type_visitor.rb#94 sig { params(type: ::RBI::Type::SelfType).void } def visit_self_type(type); end - # source://rbi//lib/rbi/type_visitor.rb#98 + # source://rbi//lib/rbi/type_visitor.rb#100 sig { params(type: ::RBI::Type::Shape).void } def visit_shape(type); end - # source://rbi//lib/rbi/type_visitor.rb#83 + # source://rbi//lib/rbi/type_visitor.rb#85 sig { params(type: ::RBI::Type::Simple).void } def visit_simple(type); end - # source://rbi//lib/rbi/type_visitor.rb#101 + # source://rbi//lib/rbi/type_visitor.rb#103 sig { params(type: ::RBI::Type::Tuple).void } def visit_tuple(type); end - # source://rbi//lib/rbi/type_visitor.rb#104 + # source://rbi//lib/rbi/type_visitor.rb#112 + sig { params(type: ::RBI::Type::TypeAlias).void } + def visit_type_alias(type); end + + # source://rbi//lib/rbi/type_visitor.rb#106 sig { params(type: ::RBI::Type::TypeParameter).void } def visit_type_parameter(type); end - # source://rbi//lib/rbi/type_visitor.rb#107 + # source://rbi//lib/rbi/type_visitor.rb#109 sig { params(type: ::RBI::Type::Untyped).void } def visit_untyped(type); end - # source://rbi//lib/rbi/type_visitor.rb#95 + # source://rbi//lib/rbi/type_visitor.rb#97 sig { params(type: ::RBI::Type::Void).void } def visit_void(type); end end @@ -4743,13 +4830,13 @@ class RBI::Type::Void < ::RBI::Type def to_rbi; end end -# source://rbi//lib/rbi/model.rb#1063 +# source://rbi//lib/rbi/model.rb#1159 class RBI::TypeMember < ::RBI::NodeWithComments include ::RBI::Indexable # @return [TypeMember] a new instance of TypeMember # - # source://rbi//lib/rbi/model.rb#1068 + # source://rbi//lib/rbi/model.rb#1164 sig do params( name: ::String, @@ -4761,7 +4848,7 @@ class RBI::TypeMember < ::RBI::NodeWithComments end def initialize(name, value, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end - # source://rbi//lib/rbi/model.rb#1076 + # source://rbi//lib/rbi/model.rb#1172 sig { returns(::String) } def fully_qualified_name; end @@ -4769,109 +4856,109 @@ class RBI::TypeMember < ::RBI::NodeWithComments sig { override.returns(T::Array[::String]) } def index_ids; end - # source://rbi//lib/rbi/model.rb#1065 + # source://rbi//lib/rbi/model.rb#1161 sig { returns(::String) } def name; end - # source://rbi//lib/rbi/model.rb#1084 + # source://rbi//lib/rbi/model.rb#1180 sig { override.returns(::String) } def to_s; end - # source://rbi//lib/rbi/model.rb#1065 + # source://rbi//lib/rbi/model.rb#1161 def value; end end -# source://rbi//lib/rbi/rbs_printer.rb#982 +# source://rbi//lib/rbi/rbs_printer.rb#984 class RBI::TypePrinter # @return [TypePrinter] a new instance of TypePrinter # - # source://rbi//lib/rbi/rbs_printer.rb#987 + # source://rbi//lib/rbi/rbs_printer.rb#989 sig { params(max_line_length: T.nilable(::Integer)).void } def initialize(max_line_length: T.unsafe(nil)); end - # source://rbi//lib/rbi/rbs_printer.rb#984 + # source://rbi//lib/rbi/rbs_printer.rb#986 sig { returns(::String) } def string; end - # source://rbi//lib/rbi/rbs_printer.rb#993 + # source://rbi//lib/rbi/rbs_printer.rb#995 sig { params(node: ::RBI::Type).void } def visit(node); end - # source://rbi//lib/rbi/rbs_printer.rb#1108 + # source://rbi//lib/rbi/rbs_printer.rb#1110 sig { params(type: ::RBI::Type::All).void } def visit_all(type); end - # source://rbi//lib/rbi/rbs_printer.rb#1118 + # source://rbi//lib/rbi/rbs_printer.rb#1120 sig { params(type: ::RBI::Type::Any).void } def visit_any(type); end - # source://rbi//lib/rbi/rbs_printer.rb#1058 + # source://rbi//lib/rbi/rbs_printer.rb#1060 sig { params(type: ::RBI::Type::Anything).void } def visit_anything(type); end - # source://rbi//lib/rbi/rbs_printer.rb#1083 + # source://rbi//lib/rbi/rbs_printer.rb#1085 sig { params(type: ::RBI::Type::AttachedClass).void } def visit_attached_class(type); end - # source://rbi//lib/rbi/rbs_printer.rb#1042 + # source://rbi//lib/rbi/rbs_printer.rb#1044 sig { params(type: ::RBI::Type::Boolean).void } def visit_boolean(type); end - # source://rbi//lib/rbi/rbs_printer.rb#1185 + # source://rbi//lib/rbi/rbs_printer.rb#1187 sig { params(type: ::RBI::Type::Class).void } def visit_class(type); end - # source://rbi//lib/rbi/rbs_printer.rb#1101 + # source://rbi//lib/rbi/rbs_printer.rb#1103 sig { params(type: ::RBI::Type::ClassOf).void } def visit_class_of(type); end - # source://rbi//lib/rbi/rbs_printer.rb#1047 + # source://rbi//lib/rbi/rbs_printer.rb#1049 sig { params(type: ::RBI::Type::Generic).void } def visit_generic(type); end - # source://rbi//lib/rbi/rbs_printer.rb#1088 + # source://rbi//lib/rbi/rbs_printer.rb#1090 sig { params(type: ::RBI::Type::Nilable).void } def visit_nilable(type); end - # source://rbi//lib/rbi/rbs_printer.rb#1068 + # source://rbi//lib/rbi/rbs_printer.rb#1070 sig { params(type: ::RBI::Type::NoReturn).void } def visit_no_return(type); end - # source://rbi//lib/rbi/rbs_printer.rb#1158 + # source://rbi//lib/rbi/rbs_printer.rb#1160 sig { params(type: ::RBI::Type::Proc).void } def visit_proc(type); end - # source://rbi//lib/rbi/rbs_printer.rb#1078 + # source://rbi//lib/rbi/rbs_printer.rb#1080 sig { params(type: ::RBI::Type::SelfType).void } def visit_self_type(type); end - # source://rbi//lib/rbi/rbs_printer.rb#1138 + # source://rbi//lib/rbi/rbs_printer.rb#1140 sig { params(type: ::RBI::Type::Shape).void } def visit_shape(type); end - # source://rbi//lib/rbi/rbs_printer.rb#1037 + # source://rbi//lib/rbi/rbs_printer.rb#1039 sig { params(type: ::RBI::Type::Simple).void } def visit_simple(type); end - # source://rbi//lib/rbi/rbs_printer.rb#1128 + # source://rbi//lib/rbi/rbs_printer.rb#1130 sig { params(type: ::RBI::Type::Tuple).void } def visit_tuple(type); end - # source://rbi//lib/rbi/rbs_printer.rb#1180 + # source://rbi//lib/rbi/rbs_printer.rb#1182 sig { params(type: ::RBI::Type::TypeParameter).void } def visit_type_parameter(type); end - # source://rbi//lib/rbi/rbs_printer.rb#1073 + # source://rbi//lib/rbi/rbs_printer.rb#1075 sig { params(type: ::RBI::Type::Untyped).void } def visit_untyped(type); end - # source://rbi//lib/rbi/rbs_printer.rb#1063 + # source://rbi//lib/rbi/rbs_printer.rb#1065 sig { params(type: ::RBI::Type::Void).void } def visit_void(type); end private - # source://rbi//lib/rbi/rbs_printer.rb#1194 + # source://rbi//lib/rbi/rbs_printer.rb#1196 sig { params(type_name: ::String).returns(::String) } def translate_t_type(type_name); end end @@ -4911,39 +4998,39 @@ RBI::VERSION = T.let(T.unsafe(nil), String) # @abstract # -# source://rbi//lib/rbi/model.rb#693 +# source://rbi//lib/rbi/model.rb#743 class RBI::Visibility < ::RBI::NodeWithComments abstract! # @return [Visibility] a new instance of Visibility # - # source://rbi//lib/rbi/model.rb#698 + # source://rbi//lib/rbi/model.rb#748 sig { params(visibility: ::Symbol, loc: T.nilable(::RBI::Loc), comments: T::Array[::RBI::Comment]).void } def initialize(visibility, loc: T.unsafe(nil), comments: T.unsafe(nil)); end - # source://rbi//lib/rbi/model.rb#704 + # source://rbi//lib/rbi/model.rb#754 sig { params(other: T.nilable(::Object)).returns(T::Boolean) } def ==(other); end # @return [Boolean] # - # source://rbi//lib/rbi/model.rb#721 + # source://rbi//lib/rbi/model.rb#771 sig { returns(T::Boolean) } def private?; end # @return [Boolean] # - # source://rbi//lib/rbi/model.rb#716 + # source://rbi//lib/rbi/model.rb#766 sig { returns(T::Boolean) } def protected?; end # @return [Boolean] # - # source://rbi//lib/rbi/model.rb#711 + # source://rbi//lib/rbi/model.rb#761 sig { returns(T::Boolean) } def public?; end - # source://rbi//lib/rbi/model.rb#695 + # source://rbi//lib/rbi/model.rb#745 sig { returns(::Symbol) } def visibility; end end From d4170fc5247aff21483ee089529709493d24d770 Mon Sep 17 00:00:00 2001 From: Alexandre Terrasa Date: Fri, 10 Oct 2025 11:18:24 -0400 Subject: [PATCH 2/2] Add support for `override(allow_incompatible: :visibility)` Depends on https://github.com/Shopify/rbi/pull/520. Signed-off-by: Alexandre Terrasa --- lib/spoom/rbs.rb | 1 + .../translate/rbs_comments_to_sorbet_sigs.rb | 3 +++ .../translate/sorbet_sigs_to_rbs_comments.rb | 2 ++ .../rbs_comments_to_sorbet_sigs_test.rb | 26 ++++++++++++++++--- .../sorbet_sigs_to_rbs_comments_test.rb | 23 ++++++++++++++-- 5 files changed, 50 insertions(+), 5 deletions(-) diff --git a/lib/spoom/rbs.rb b/lib/spoom/rbs.rb index cc7d410c..4b692601 100644 --- a/lib/spoom/rbs.rb +++ b/lib/spoom/rbs.rb @@ -43,6 +43,7 @@ def method_annotations "@final", "@override", "@override(allow_incompatible: true)", + "@override(allow_incompatible: :visibility)", "@overridable", "@without_runtime" true diff --git a/lib/spoom/sorbet/translate/rbs_comments_to_sorbet_sigs.rb b/lib/spoom/sorbet/translate/rbs_comments_to_sorbet_sigs.rb index 696f268d..02dfc575 100644 --- a/lib/spoom/sorbet/translate/rbs_comments_to_sorbet_sigs.rb +++ b/lib/spoom/sorbet/translate/rbs_comments_to_sorbet_sigs.rb @@ -248,6 +248,9 @@ def apply_member_annotations(annotations, sig) when "@override(allow_incompatible: true)" sig.is_override = true sig.allow_incompatible_override = true + when "@override(allow_incompatible: :visibility)" + sig.is_override = true + sig.allow_incompatible_override_visibility = true when "@overridable" sig.is_overridable = true when "@without_runtime" diff --git a/lib/spoom/sorbet/translate/sorbet_sigs_to_rbs_comments.rb b/lib/spoom/sorbet/translate/sorbet_sigs_to_rbs_comments.rb index dabc1cd8..7aa1baa0 100644 --- a/lib/spoom/sorbet/translate/sorbet_sigs_to_rbs_comments.rb +++ b/lib/spoom/sorbet/translate/sorbet_sigs_to_rbs_comments.rb @@ -297,6 +297,8 @@ def apply_member_annotations(sigs) if sigs.any? { |_, sig| sig.is_override } @rewriter << if sigs.any? { |_, sig| sig.allow_incompatible_override } Source::Insert.new(insert_pos, "# @override(allow_incompatible: true)\n#{indent}") + elsif sigs.any? { |_, sig| sig.allow_incompatible_override_visibility } + Source::Insert.new(insert_pos, "# @override(allow_incompatible: :visibility)\n#{indent}") else Source::Insert.new(insert_pos, "# @override\n#{indent}") end diff --git a/test/spoom/sorbet/translate/rbs_comments_to_sorbet_sigs_test.rb b/test/spoom/sorbet/translate/rbs_comments_to_sorbet_sigs_test.rb index 4d608927..921ceaee 100644 --- a/test/spoom/sorbet/translate/rbs_comments_to_sorbet_sigs_test.rb +++ b/test/spoom/sorbet/translate/rbs_comments_to_sorbet_sigs_test.rb @@ -75,7 +75,6 @@ def a def test_translate_to_rbi_method_sigs_with_annotations contents = <<~RB # @final - # @override(allow_incompatible: true) # @overridable #: -> void def foo; end @@ -83,10 +82,31 @@ def foo; end assert_equal(<<~RB, rbs_comments_to_sorbet_sigs(contents)) # @final - # @override(allow_incompatible: true) # @overridable - sig(:final) { override(allow_incompatible: true).overridable.void } + sig(:final) { overridable.void } + def foo; end + RB + end + + def test_translate_to_rbi_method_sigs_with_override_annotations + contents = <<~RB + # @override(allow_incompatible: true) + #: -> void def foo; end + + # @override(allow_incompatible: :visibility) + #: -> void + def bar; end + RB + + assert_equal(<<~RB, rbs_comments_to_sorbet_sigs(contents)) + # @override(allow_incompatible: true) + sig { override(allow_incompatible: true).void } + def foo; end + + # @override(allow_incompatible: :visibility) + sig { override(allow_incompatible: :visibility).void } + def bar; end RB end diff --git a/test/spoom/sorbet/translate/sorbet_sigs_to_rbs_comments_test.rb b/test/spoom/sorbet/translate/sorbet_sigs_to_rbs_comments_test.rb index 541ee321..92619922 100644 --- a/test/spoom/sorbet/translate/sorbet_sigs_to_rbs_comments_test.rb +++ b/test/spoom/sorbet/translate/sorbet_sigs_to_rbs_comments_test.rb @@ -147,19 +147,38 @@ def initialize(a, b = 42, *c, d:, e: 42, **f); end def test_translate_to_rbs_method_sigs_with_annotations contents = <<~RB - sig(:final) { overridable.override(allow_incompatible: true).void } + sig(:final) { overridable.void } def foo; end RB assert_equal(<<~RBS, sorbet_sigs_to_rbs_comments(contents)) # @final - # @override(allow_incompatible: true) # @overridable #: -> void def foo; end RBS end + def test_translate_to_rbs_method_sigs_with_override_annotations + contents = <<~RB + sig { override(allow_incompatible: true).void } + def foo; end + + sig { override(allow_incompatible: :visibility).void } + def bar; end + RB + + assert_equal(<<~RBS, sorbet_sigs_to_rbs_comments(contents)) + # @override(allow_incompatible: true) + #: -> void + def foo; end + + # @override(allow_incompatible: :visibility) + #: -> void + def bar; end + RBS + end + def test_translate_to_rbs_method_sigs_without_runtime contents = <<~RB T::Sig::WithoutRuntime.sig { void }