rbi 0.3.2 → 0.3.5

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.
data/rbi/rbi.rbi CHANGED
@@ -20,14 +20,10 @@ class RBI::Arg < ::RBI::Node
20
20
  def value; end
21
21
  end
22
22
 
23
- # Attributes
24
- #
25
- # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
23
+ # @abstract
26
24
  class RBI::Attr < ::RBI::NodeWithComments
27
25
  include ::RBI::Indexable
28
26
 
29
- abstract!
30
-
31
27
  sig do
32
28
  params(
33
29
  name: ::Symbol,
@@ -433,24 +429,53 @@ class RBI::Group < ::RBI::Tree
433
429
  def kind; end
434
430
  end
435
431
 
436
- class RBI::Group::Kind < ::T::Enum
437
- enums do
438
- Attrs = new
439
- Consts = new
440
- Helpers = new
441
- Inits = new
442
- Methods = new
443
- MixesInClassMethods = new
444
- Mixins = new
445
- RequiredAncestors = new
446
- Sends = new
447
- SingletonClasses = new
448
- TEnums = new
449
- TStructFields = new
450
- TypeMembers = new
432
+ class RBI::Group::Kind
433
+ class << self
434
+ private
435
+
436
+ def new(*_arg0); end
451
437
  end
452
438
  end
453
439
 
440
+ # : Kind
441
+ RBI::Group::Kind::Attrs = T.let(T.unsafe(nil), RBI::Group::Kind)
442
+
443
+ # : Kind
444
+ RBI::Group::Kind::Consts = T.let(T.unsafe(nil), RBI::Group::Kind)
445
+
446
+ # : Kind
447
+ RBI::Group::Kind::Helpers = T.let(T.unsafe(nil), RBI::Group::Kind)
448
+
449
+ # : Kind
450
+ RBI::Group::Kind::Inits = T.let(T.unsafe(nil), RBI::Group::Kind)
451
+
452
+ # : Kind
453
+ RBI::Group::Kind::Methods = T.let(T.unsafe(nil), RBI::Group::Kind)
454
+
455
+ # : Kind
456
+ RBI::Group::Kind::MixesInClassMethods = T.let(T.unsafe(nil), RBI::Group::Kind)
457
+
458
+ # : Kind
459
+ RBI::Group::Kind::Mixins = T.let(T.unsafe(nil), RBI::Group::Kind)
460
+
461
+ # : Kind
462
+ RBI::Group::Kind::RequiredAncestors = T.let(T.unsafe(nil), RBI::Group::Kind)
463
+
464
+ # : Kind
465
+ RBI::Group::Kind::Sends = T.let(T.unsafe(nil), RBI::Group::Kind)
466
+
467
+ # : Kind
468
+ RBI::Group::Kind::SingletonClasses = T.let(T.unsafe(nil), RBI::Group::Kind)
469
+
470
+ # : Kind
471
+ RBI::Group::Kind::TEnums = T.let(T.unsafe(nil), RBI::Group::Kind)
472
+
473
+ # : Kind
474
+ RBI::Group::Kind::TStructFields = T.let(T.unsafe(nil), RBI::Group::Kind)
475
+
476
+ # : Kind
477
+ RBI::Group::Kind::TypeMembers = T.let(T.unsafe(nil), RBI::Group::Kind)
478
+
454
479
  class RBI::GroupNodesError < ::RBI::Error; end
455
480
 
456
481
  # Sorbet's misc.
@@ -532,11 +557,7 @@ class RBI::Index < ::RBI::Visitor
532
557
  end
533
558
 
534
559
  # A Node that can be referred to by a unique ID inside an index
535
- #
536
- # @abstract Subclasses must implement the `abstract` methods below.
537
560
  module RBI::Indexable
538
- interface!
539
-
540
561
  # Unique IDs that refer to this node.
541
562
  #
542
563
  # Some nodes can have multiple ids, for example an attribute accessor matches the ID of the
@@ -646,6 +667,9 @@ class RBI::Loc
646
667
  sig { returns(T.nilable(::String)) }
647
668
  def file; end
648
669
 
670
+ sig { params(other: ::RBI::Loc).returns(::RBI::Loc) }
671
+ def join(other); end
672
+
649
673
  sig { returns(T.nilable(::String)) }
650
674
  def source; end
651
675
 
@@ -798,12 +822,8 @@ class RBI::MixesInClassMethods < ::RBI::Mixin
798
822
  def to_s; end
799
823
  end
800
824
 
801
- # Mixins
802
- #
803
- # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
825
+ # @abstract
804
826
  class RBI::Mixin < ::RBI::NodeWithComments
805
- abstract!
806
-
807
827
  sig do
808
828
  params(
809
829
  name: ::String,
@@ -845,10 +865,8 @@ class RBI::Module < ::RBI::Scope
845
865
  def name=(_arg0); end
846
866
  end
847
867
 
848
- # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
868
+ # @abstract
849
869
  class RBI::Node
850
- abstract!
851
-
852
870
  sig { params(loc: T.nilable(::RBI::Loc)).void }
853
871
  def initialize(loc: T.unsafe(nil)); end
854
872
 
@@ -915,10 +933,8 @@ class RBI::Node
915
933
  def string(indent: T.unsafe(nil), print_locs: T.unsafe(nil), max_line_length: T.unsafe(nil)); end
916
934
  end
917
935
 
918
- # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
936
+ # @abstract
919
937
  class RBI::NodeWithComments < ::RBI::Node
920
- abstract!
921
-
922
938
  sig { params(loc: T.nilable(::RBI::Loc), comments: T::Array[::RBI::Comment]).void }
923
939
  def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil)); end
924
940
 
@@ -957,10 +973,8 @@ class RBI::OptParam < ::RBI::Param
957
973
  def value; end
958
974
  end
959
975
 
960
- # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
976
+ # @abstract
961
977
  class RBI::Param < ::RBI::NodeWithComments
962
- abstract!
963
-
964
978
  sig { params(name: ::String, loc: T.nilable(::RBI::Loc), comments: T::Array[::RBI::Comment]).void }
965
979
  def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil)); end
966
980
 
@@ -1013,10 +1027,10 @@ class RBI::Parser::HeredocLocationVisitor < ::Prism::Visitor
1013
1027
  sig { returns(::Prism::Location) }
1014
1028
  def location; end
1015
1029
 
1016
- sig { params(node: ::Prism::InterpolatedStringNode).void }
1030
+ sig { override.params(node: ::Prism::InterpolatedStringNode).void }
1017
1031
  def visit_interpolated_string_node(node); end
1018
1032
 
1019
- sig { params(node: ::Prism::StringNode).void }
1033
+ sig { override.params(node: ::Prism::StringNode).void }
1020
1034
  def visit_string_node(node); end
1021
1035
 
1022
1036
  private
@@ -1153,6 +1167,12 @@ class RBI::Parser::Visitor < ::Prism::Visitor
1153
1167
 
1154
1168
  sig { params(node: ::Prism::Node).returns(::String) }
1155
1169
  def node_string!(node); end
1170
+
1171
+ sig { params(node: T.nilable(::Prism::Node)).returns(T::Boolean) }
1172
+ def self?(node); end
1173
+
1174
+ sig { params(node: T.nilable(::Prism::Node)).returns(T::Boolean) }
1175
+ def t_sig_without_runtime?(node); end
1156
1176
  end
1157
1177
 
1158
1178
  class RBI::Printer < ::RBI::Visitor
@@ -1500,10 +1520,11 @@ class RBI::RBSPrinter < ::RBI::Visitor
1500
1520
  out: T.any(::IO, ::StringIO),
1501
1521
  indent: ::Integer,
1502
1522
  print_locs: T::Boolean,
1503
- positional_names: T::Boolean
1523
+ positional_names: T::Boolean,
1524
+ max_line_length: T.nilable(::Integer)
1504
1525
  ).void
1505
1526
  end
1506
- def initialize(out: T.unsafe(nil), indent: T.unsafe(nil), print_locs: T.unsafe(nil), positional_names: T.unsafe(nil)); end
1527
+ def initialize(out: T.unsafe(nil), indent: T.unsafe(nil), print_locs: T.unsafe(nil), positional_names: T.unsafe(nil), max_line_length: T.unsafe(nil)); end
1507
1528
 
1508
1529
  sig { returns(::Integer) }
1509
1530
  def current_indent; end
@@ -1521,6 +1542,9 @@ class RBI::RBSPrinter < ::RBI::Visitor
1521
1542
  sig { void }
1522
1543
  def indent; end
1523
1544
 
1545
+ sig { returns(T.nilable(::Integer)) }
1546
+ def max_line_length; end
1547
+
1524
1548
  sig { returns(T::Boolean) }
1525
1549
  def positional_names; end
1526
1550
 
@@ -1546,6 +1570,12 @@ class RBI::RBSPrinter < ::RBI::Visitor
1546
1570
  sig { params(node: ::RBI::Method, sig: ::RBI::Sig).void }
1547
1571
  def print_method_sig(node, sig); end
1548
1572
 
1573
+ sig { params(node: ::RBI::Method, sig: ::RBI::Sig).void }
1574
+ def print_method_sig_inline(node, sig); end
1575
+
1576
+ sig { params(node: ::RBI::Method, sig: ::RBI::Sig).void }
1577
+ def print_method_sig_multiline(node, sig); end
1578
+
1549
1579
  # Print a string with indentation and `\n` at the end.
1550
1580
  sig { params(string: ::String).void }
1551
1581
  def printl(string); end
@@ -2046,18 +2076,24 @@ class RBI::Rewriters::Merge
2046
2076
  end
2047
2077
 
2048
2078
  # Used for logging / error displaying purpose
2049
- class RBI::Rewriters::Merge::Conflict < ::T::Struct
2050
- const :left, ::RBI::Node
2051
- const :right, ::RBI::Node
2052
- const :left_name, ::String
2053
- const :right_name, ::String
2079
+ class RBI::Rewriters::Merge::Conflict
2080
+ sig { params(left: ::RBI::Node, right: ::RBI::Node, left_name: ::String, right_name: ::String).void }
2081
+ def initialize(left:, right:, left_name:, right_name:); end
2082
+
2083
+ sig { returns(::RBI::Node) }
2084
+ def left; end
2054
2085
 
2055
2086
  sig { returns(::String) }
2056
- def to_s; end
2087
+ def left_name; end
2057
2088
 
2058
- class << self
2059
- def inherited(s); end
2060
- end
2089
+ # @return [Node]
2090
+ def right; end
2091
+
2092
+ # @return [String]
2093
+ def right_name; end
2094
+
2095
+ sig { returns(::String) }
2096
+ def to_s; end
2061
2097
  end
2062
2098
 
2063
2099
  # Merge adjacent conflict trees
@@ -2103,14 +2139,23 @@ class RBI::Rewriters::Merge::ConflictTreeMerger < ::RBI::Visitor
2103
2139
  def merge_conflict_trees(left, right); end
2104
2140
  end
2105
2141
 
2106
- class RBI::Rewriters::Merge::Keep < ::T::Enum
2107
- enums do
2108
- LEFT = new
2109
- NONE = new
2110
- RIGHT = new
2142
+ class RBI::Rewriters::Merge::Keep
2143
+ class << self
2144
+ private
2145
+
2146
+ def new(*_arg0); end
2111
2147
  end
2112
2148
  end
2113
2149
 
2150
+ # : Keep
2151
+ RBI::Rewriters::Merge::Keep::LEFT = T.let(T.unsafe(nil), RBI::Rewriters::Merge::Keep)
2152
+
2153
+ # : Keep
2154
+ RBI::Rewriters::Merge::Keep::NONE = T.let(T.unsafe(nil), RBI::Rewriters::Merge::Keep)
2155
+
2156
+ # : Keep
2157
+ RBI::Rewriters::Merge::Keep::RIGHT = T.let(T.unsafe(nil), RBI::Rewriters::Merge::Keep)
2158
+
2114
2159
  class RBI::Rewriters::Merge::TreeMerger < ::RBI::Visitor
2115
2160
  sig do
2116
2161
  params(
@@ -2257,16 +2302,18 @@ class RBI::Rewriters::RemoveKnownDefinitions < ::RBI::Visitor
2257
2302
  end
2258
2303
  end
2259
2304
 
2260
- class RBI::Rewriters::RemoveKnownDefinitions::Operation < ::T::Struct
2261
- const :deleted_node, ::RBI::Node
2262
- const :duplicate_of, ::RBI::Node
2305
+ class RBI::Rewriters::RemoveKnownDefinitions::Operation
2306
+ sig { params(deleted_node: ::RBI::Node, duplicate_of: ::RBI::Node).void }
2307
+ def initialize(deleted_node:, duplicate_of:); end
2308
+
2309
+ sig { returns(::RBI::Node) }
2310
+ def deleted_node; end
2311
+
2312
+ # @return [Node]
2313
+ def duplicate_of; end
2263
2314
 
2264
2315
  sig { returns(::String) }
2265
2316
  def to_s; end
2266
-
2267
- class << self
2268
- def inherited(s); end
2269
- end
2270
2317
  end
2271
2318
 
2272
2319
  class RBI::Rewriters::SortNodes < ::RBI::Visitor
@@ -2307,14 +2354,10 @@ end
2307
2354
 
2308
2355
  class RBI::Rewriters::TranslateRBSSigs::Error < ::RBI::Error; end
2309
2356
 
2310
- # Scopes
2311
- #
2312
- # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
2357
+ # @abstract
2313
2358
  class RBI::Scope < ::RBI::Tree
2314
2359
  include ::RBI::Indexable
2315
2360
 
2316
- abstract!
2317
-
2318
2361
  # Duplicate `self` scope without its body
2319
2362
  sig { returns(T.self_type) }
2320
2363
  def dup_empty; end
@@ -2407,6 +2450,7 @@ class RBI::Sig < ::RBI::NodeWithComments
2407
2450
  is_overridable: T::Boolean,
2408
2451
  is_final: T::Boolean,
2409
2452
  allow_incompatible_override: T::Boolean,
2453
+ without_runtime: T::Boolean,
2410
2454
  type_params: T::Array[::String],
2411
2455
  checked: T.nilable(::Symbol),
2412
2456
  loc: T.nilable(::RBI::Loc),
@@ -2414,7 +2458,7 @@ class RBI::Sig < ::RBI::NodeWithComments
2414
2458
  block: T.nilable(T.proc.params(node: ::RBI::Sig).void)
2415
2459
  ).void
2416
2460
  end
2417
- 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), type_params: T.unsafe(nil), checked: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
2461
+ 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
2418
2462
 
2419
2463
  sig { params(param: ::RBI::SigParam).void }
2420
2464
  def <<(param); end
@@ -2472,6 +2516,12 @@ class RBI::Sig < ::RBI::NodeWithComments
2472
2516
 
2473
2517
  sig { returns(T::Array[::String]) }
2474
2518
  def type_params; end
2519
+
2520
+ # @return [Boolean]
2521
+ def without_runtime; end
2522
+
2523
+ # @return [Boolean]
2524
+ def without_runtime=(_arg0); end
2475
2525
  end
2476
2526
 
2477
2527
  class RBI::SigParam < ::RBI::NodeWithComments
@@ -2648,10 +2698,8 @@ class RBI::TStructConst < ::RBI::TStructField
2648
2698
  def to_s; end
2649
2699
  end
2650
2700
 
2651
- # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
2701
+ # @abstract
2652
2702
  class RBI::TStructField < ::RBI::NodeWithComments
2653
- abstract!
2654
-
2655
2703
  sig do
2656
2704
  params(
2657
2705
  name: ::String,
@@ -2851,10 +2899,8 @@ end
2851
2899
 
2852
2900
  # The base class for all RBI types.
2853
2901
  #
2854
- # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
2902
+ # @abstract
2855
2903
  class RBI::Type
2856
- abstract!
2857
-
2858
2904
  sig { void }
2859
2905
  def initialize; end
2860
2906
 
@@ -2897,9 +2943,33 @@ class RBI::Type
2897
2943
  sig { returns(::RBI::Type) }
2898
2944
  def non_nilable; end
2899
2945
 
2946
+ # Returns a normalized version of the type.
2947
+ #
2948
+ # Normalized types are meant to be easier to process, not to read.
2949
+ # For example, `T.any(TrueClass, FalseClass)` instead of `T::Boolean` or
2950
+ # `T.any(String, NilClass)` instead of `T.nilable(String)`.
2951
+ #
2952
+ # This is the inverse of `#simplify`.
2953
+ #
2954
+ # @abstract
2955
+ sig { abstract.returns(::RBI::Type) }
2956
+ def normalize; end
2957
+
2900
2958
  sig { returns(::String) }
2901
2959
  def rbs_string; end
2902
2960
 
2961
+ # Returns a simplified version of the type.
2962
+ #
2963
+ # Simplified types are meant to be easier to read, not to process.
2964
+ # For example, `T::Boolean` instead of `T.any(TrueClass, FalseClass)` or
2965
+ # `T.nilable(String)` instead of `T.any(String, NilClass)`.
2966
+ #
2967
+ # This is the inverse of `#normalize`.
2968
+ #
2969
+ # @abstract
2970
+ sig { abstract.returns(::RBI::Type) }
2971
+ def simplify; end
2972
+
2903
2973
  # @abstract
2904
2974
  sig { abstract.returns(::String) }
2905
2975
  def to_rbi; end
@@ -3050,6 +3120,12 @@ end
3050
3120
 
3051
3121
  # A type that is intersection of multiple types like `T.all(String, Integer)`.
3052
3122
  class RBI::Type::All < ::RBI::Type::Composite
3123
+ sig { override.returns(::RBI::Type) }
3124
+ def normalize; end
3125
+
3126
+ sig { override.returns(::RBI::Type) }
3127
+ def simplify; end
3128
+
3053
3129
  sig { override.returns(::String) }
3054
3130
  def to_rbi; end
3055
3131
  end
@@ -3059,6 +3135,12 @@ class RBI::Type::Any < ::RBI::Type::Composite
3059
3135
  sig { returns(T::Boolean) }
3060
3136
  def nilable?; end
3061
3137
 
3138
+ sig { override.returns(::RBI::Type) }
3139
+ def normalize; end
3140
+
3141
+ sig { override.returns(::RBI::Type) }
3142
+ def simplify; end
3143
+
3062
3144
  sig { override.returns(::String) }
3063
3145
  def to_rbi; end
3064
3146
  end
@@ -3068,6 +3150,12 @@ class RBI::Type::Anything < ::RBI::Type
3068
3150
  sig { override.params(other: ::BasicObject).returns(T::Boolean) }
3069
3151
  def ==(other); end
3070
3152
 
3153
+ sig { override.returns(::RBI::Type) }
3154
+ def normalize; end
3155
+
3156
+ sig { override.returns(::RBI::Type) }
3157
+ def simplify; end
3158
+
3071
3159
  sig { override.returns(::String) }
3072
3160
  def to_rbi; end
3073
3161
  end
@@ -3077,6 +3165,12 @@ class RBI::Type::AttachedClass < ::RBI::Type
3077
3165
  sig { override.params(other: ::BasicObject).returns(T::Boolean) }
3078
3166
  def ==(other); end
3079
3167
 
3168
+ sig { override.returns(::RBI::Type) }
3169
+ def normalize; end
3170
+
3171
+ sig { override.returns(::RBI::Type) }
3172
+ def simplify; end
3173
+
3080
3174
  sig { override.returns(::String) }
3081
3175
  def to_rbi; end
3082
3176
  end
@@ -3086,6 +3180,12 @@ class RBI::Type::Boolean < ::RBI::Type
3086
3180
  sig { override.params(other: ::BasicObject).returns(T::Boolean) }
3087
3181
  def ==(other); end
3088
3182
 
3183
+ sig { override.returns(::RBI::Type) }
3184
+ def normalize; end
3185
+
3186
+ sig { override.returns(::RBI::Type) }
3187
+ def simplify; end
3188
+
3089
3189
  sig { override.returns(::String) }
3090
3190
  def to_rbi; end
3091
3191
  end
@@ -3098,6 +3198,12 @@ class RBI::Type::Class < ::RBI::Type
3098
3198
  sig { override.params(other: ::BasicObject).returns(T::Boolean) }
3099
3199
  def ==(other); end
3100
3200
 
3201
+ sig { override.returns(::RBI::Type) }
3202
+ def normalize; end
3203
+
3204
+ sig { override.returns(::RBI::Type) }
3205
+ def simplify; end
3206
+
3101
3207
  sig { override.returns(::String) }
3102
3208
  def to_rbi; end
3103
3209
 
@@ -3113,6 +3219,12 @@ class RBI::Type::ClassOf < ::RBI::Type
3113
3219
  sig { override.params(other: ::BasicObject).returns(T::Boolean) }
3114
3220
  def ==(other); end
3115
3221
 
3222
+ sig { override.returns(::RBI::Type) }
3223
+ def normalize; end
3224
+
3225
+ sig { override.returns(::RBI::Type) }
3226
+ def simplify; end
3227
+
3116
3228
  sig { override.returns(::String) }
3117
3229
  def to_rbi; end
3118
3230
 
@@ -3125,10 +3237,8 @@ end
3125
3237
 
3126
3238
  # A type that is composed of multiple types like `T.all(String, Integer)`.
3127
3239
  #
3128
- # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
3240
+ # @abstract
3129
3241
  class RBI::Type::Composite < ::RBI::Type
3130
- abstract!
3131
-
3132
3242
  sig { params(types: T::Array[::RBI::Type]).void }
3133
3243
  def initialize(types); end
3134
3244
 
@@ -3152,9 +3262,15 @@ class RBI::Type::Generic < ::RBI::Type
3152
3262
  sig { returns(::String) }
3153
3263
  def name; end
3154
3264
 
3265
+ sig { override.returns(::RBI::Type) }
3266
+ def normalize; end
3267
+
3155
3268
  sig { returns(T::Array[::RBI::Type]) }
3156
3269
  def params; end
3157
3270
 
3271
+ sig { override.returns(::RBI::Type) }
3272
+ def simplify; end
3273
+
3158
3274
  sig { override.returns(::String) }
3159
3275
  def to_rbi; end
3160
3276
  end
@@ -3167,6 +3283,12 @@ class RBI::Type::Nilable < ::RBI::Type
3167
3283
  sig { override.params(other: ::BasicObject).returns(T::Boolean) }
3168
3284
  def ==(other); end
3169
3285
 
3286
+ sig { override.returns(::RBI::Type) }
3287
+ def normalize; end
3288
+
3289
+ sig { override.returns(::RBI::Type) }
3290
+ def simplify; end
3291
+
3170
3292
  sig { override.returns(::String) }
3171
3293
  def to_rbi; end
3172
3294
 
@@ -3179,6 +3301,12 @@ class RBI::Type::NoReturn < ::RBI::Type
3179
3301
  sig { override.params(other: ::BasicObject).returns(T::Boolean) }
3180
3302
  def ==(other); end
3181
3303
 
3304
+ sig { override.returns(::RBI::Type) }
3305
+ def normalize; end
3306
+
3307
+ sig { override.returns(::RBI::Type) }
3308
+ def simplify; end
3309
+
3182
3310
  sig { override.returns(::String) }
3183
3311
  def to_rbi; end
3184
3312
  end
@@ -3194,6 +3322,9 @@ class RBI::Type::Proc < ::RBI::Type
3194
3322
  sig { params(type: T.untyped).returns(T.self_type) }
3195
3323
  def bind(type); end
3196
3324
 
3325
+ sig { override.returns(::RBI::Type) }
3326
+ def normalize; end
3327
+
3197
3328
  sig { params(params: ::RBI::Type).returns(T.self_type) }
3198
3329
  def params(**params); end
3199
3330
 
@@ -3209,6 +3340,9 @@ class RBI::Type::Proc < ::RBI::Type
3209
3340
  sig { params(type: T.untyped).returns(T.self_type) }
3210
3341
  def returns(type); end
3211
3342
 
3343
+ sig { override.returns(::RBI::Type) }
3344
+ def simplify; end
3345
+
3212
3346
  sig { override.returns(::String) }
3213
3347
  def to_rbi; end
3214
3348
 
@@ -3221,6 +3355,12 @@ class RBI::Type::SelfType < ::RBI::Type
3221
3355
  sig { override.params(other: ::BasicObject).returns(T::Boolean) }
3222
3356
  def ==(other); end
3223
3357
 
3358
+ sig { override.returns(::RBI::Type) }
3359
+ def normalize; end
3360
+
3361
+ sig { override.returns(::RBI::Type) }
3362
+ def simplify; end
3363
+
3224
3364
  sig { override.returns(::String) }
3225
3365
  def to_rbi; end
3226
3366
  end
@@ -3233,6 +3373,12 @@ class RBI::Type::Shape < ::RBI::Type
3233
3373
  sig { override.params(other: ::BasicObject).returns(T::Boolean) }
3234
3374
  def ==(other); end
3235
3375
 
3376
+ sig { override.returns(::RBI::Type) }
3377
+ def normalize; end
3378
+
3379
+ sig { override.returns(::RBI::Type) }
3380
+ def simplify; end
3381
+
3236
3382
  sig { override.returns(::String) }
3237
3383
  def to_rbi; end
3238
3384
 
@@ -3253,6 +3399,12 @@ class RBI::Type::Simple < ::RBI::Type
3253
3399
  sig { returns(::String) }
3254
3400
  def name; end
3255
3401
 
3402
+ sig { override.returns(::RBI::Type) }
3403
+ def normalize; end
3404
+
3405
+ sig { override.returns(::RBI::Type) }
3406
+ def simplify; end
3407
+
3256
3408
  sig { override.returns(::String) }
3257
3409
  def to_rbi; end
3258
3410
  end
@@ -3265,6 +3417,12 @@ class RBI::Type::Tuple < ::RBI::Type
3265
3417
  sig { override.params(other: ::BasicObject).returns(T::Boolean) }
3266
3418
  def ==(other); end
3267
3419
 
3420
+ sig { override.returns(::RBI::Type) }
3421
+ def normalize; end
3422
+
3423
+ sig { override.returns(::RBI::Type) }
3424
+ def simplify; end
3425
+
3268
3426
  sig { override.returns(::String) }
3269
3427
  def to_rbi; end
3270
3428
 
@@ -3283,6 +3441,12 @@ class RBI::Type::TypeParameter < ::RBI::Type
3283
3441
  sig { returns(::Symbol) }
3284
3442
  def name; end
3285
3443
 
3444
+ sig { override.returns(::RBI::Type) }
3445
+ def normalize; end
3446
+
3447
+ sig { override.returns(::RBI::Type) }
3448
+ def simplify; end
3449
+
3286
3450
  sig { override.returns(::String) }
3287
3451
  def to_rbi; end
3288
3452
  end
@@ -3292,6 +3456,12 @@ class RBI::Type::Untyped < ::RBI::Type
3292
3456
  sig { override.params(other: ::BasicObject).returns(T::Boolean) }
3293
3457
  def ==(other); end
3294
3458
 
3459
+ sig { override.returns(::RBI::Type) }
3460
+ def normalize; end
3461
+
3462
+ sig { override.returns(::RBI::Type) }
3463
+ def simplify; end
3464
+
3295
3465
  sig { override.returns(::String) }
3296
3466
  def to_rbi; end
3297
3467
  end
@@ -3364,6 +3534,12 @@ class RBI::Type::Void < ::RBI::Type
3364
3534
  sig { override.params(other: ::BasicObject).returns(T::Boolean) }
3365
3535
  def ==(other); end
3366
3536
 
3537
+ sig { override.returns(::RBI::Type) }
3538
+ def normalize; end
3539
+
3540
+ sig { override.returns(::RBI::Type) }
3541
+ def simplify; end
3542
+
3367
3543
  sig { override.returns(::String) }
3368
3544
  def to_rbi; end
3369
3545
  end
@@ -3399,8 +3575,8 @@ class RBI::TypeMember < ::RBI::NodeWithComments
3399
3575
  end
3400
3576
 
3401
3577
  class RBI::TypePrinter
3402
- sig { void }
3403
- def initialize; end
3578
+ sig { params(max_line_length: T.nilable(::Integer)).void }
3579
+ def initialize(max_line_length: T.unsafe(nil)); end
3404
3580
 
3405
3581
  sig { returns(::String) }
3406
3582
  def string; end
@@ -3489,12 +3665,8 @@ end
3489
3665
 
3490
3666
  RBI::VERSION = T.let(T.unsafe(nil), String)
3491
3667
 
3492
- # Visibility
3493
- #
3494
- # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
3668
+ # @abstract
3495
3669
  class RBI::Visibility < ::RBI::NodeWithComments
3496
- abstract!
3497
-
3498
3670
  sig { params(visibility: ::Symbol, loc: T.nilable(::RBI::Loc), comments: T::Array[::RBI::Comment]).void }
3499
3671
  def initialize(visibility, loc: T.unsafe(nil), comments: T.unsafe(nil)); end
3500
3672
 
@@ -3522,10 +3694,8 @@ class RBI::VisibilityGroup < ::RBI::Tree
3522
3694
  def visibility; end
3523
3695
  end
3524
3696
 
3525
- # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
3697
+ # @abstract
3526
3698
  class RBI::Visitor
3527
- abstract!
3528
-
3529
3699
  sig { params(node: T.nilable(::RBI::Node)).void }
3530
3700
  def visit(node); end
3531
3701