rbi 0.3.3 → 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.
- checksums.yaml +4 -4
- data/Gemfile +2 -2
- data/lib/rbi/index.rb +3 -8
- data/lib/rbi/loc.rb +11 -0
- data/lib/rbi/model.rb +14 -38
- data/lib/rbi/parser.rb +101 -71
- data/lib/rbi/rbs/type_translator.rb +26 -30
- data/lib/rbi/rbs_printer.rb +99 -5
- data/lib/rbi/rewriters/attr_to_methods.rb +2 -1
- data/lib/rbi/rewriters/group_nodes.rb +16 -16
- data/lib/rbi/rewriters/merge_trees.rb +20 -11
- data/lib/rbi/rewriters/remove_known_definitions.rb +9 -3
- data/lib/rbi/rewriters/sort_nodes.rb +1 -1
- data/lib/rbi/type.rb +336 -100
- data/lib/rbi/type_parser.rb +7 -5
- data/lib/rbi/version.rb +1 -1
- data/lib/rbi/visitor.rb +1 -4
- data/lib/rbi.rb +0 -1
- data/rbi/rbi.rbi +242 -85
- metadata +2 -16
data/lib/rbi/type_parser.rb
CHANGED
@@ -81,7 +81,7 @@ module RBI
|
|
81
81
|
when Prism::ConstantReadNode
|
82
82
|
# `Foo[Bar]` or `Foo[Bar, Baz]`
|
83
83
|
args = check_arguments_at_least!(node, 1)
|
84
|
-
return
|
84
|
+
return Type::Generic.new(recv.slice, *args.map { |arg| parse_node(arg) })
|
85
85
|
when Prism::ConstantPathNode
|
86
86
|
if t_class?(recv)
|
87
87
|
# `T::Class[Foo]` or `::T::Class[Foo]`
|
@@ -94,7 +94,7 @@ module RBI
|
|
94
94
|
else
|
95
95
|
# `::Foo[Bar]` or `::Foo[Bar, Baz]`
|
96
96
|
args = check_arguments_at_least!(node, 1)
|
97
|
-
return
|
97
|
+
return Type::Generic.new(recv.slice, *args.map { |arg| parse_node(arg) })
|
98
98
|
end
|
99
99
|
when Prism::CallNode
|
100
100
|
# `T.class_of(Foo)[Bar]`
|
@@ -183,7 +183,7 @@ module RBI
|
|
183
183
|
|
184
184
|
#: (Prism::ArrayNode node) -> Type
|
185
185
|
def parse_tuple(node)
|
186
|
-
|
186
|
+
Type.tuple(*node.elements.map { |elem| parse_node(elem) })
|
187
187
|
end
|
188
188
|
|
189
189
|
#: ((Prism::HashNode | Prism::KeywordHashNode) node) -> Type
|
@@ -204,7 +204,7 @@ module RBI
|
|
204
204
|
end
|
205
205
|
[key, parse_node(elem.value)]
|
206
206
|
end.to_h
|
207
|
-
|
207
|
+
Type.shape(**hash)
|
208
208
|
end
|
209
209
|
|
210
210
|
#: (Prism::CallNode node) -> Type
|
@@ -229,7 +229,9 @@ module RBI
|
|
229
229
|
|
230
230
|
[elem.key.slice.delete_suffix(":").to_sym, parse_node(elem.value)]
|
231
231
|
end.to_h
|
232
|
-
|
232
|
+
type.params(
|
233
|
+
**params, #: untyped
|
234
|
+
)
|
233
235
|
when :returns
|
234
236
|
args = check_arguments_exactly!(call, 1)
|
235
237
|
type.returns(
|
data/lib/rbi/version.rb
CHANGED
data/lib/rbi/visitor.rb
CHANGED
data/lib/rbi.rb
CHANGED
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
|
-
#
|
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
|
437
|
-
|
438
|
-
|
439
|
-
|
440
|
-
|
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
|
-
#
|
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
|
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
|
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
|
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
|
|
@@ -1506,10 +1520,11 @@ class RBI::RBSPrinter < ::RBI::Visitor
|
|
1506
1520
|
out: T.any(::IO, ::StringIO),
|
1507
1521
|
indent: ::Integer,
|
1508
1522
|
print_locs: T::Boolean,
|
1509
|
-
positional_names: T::Boolean
|
1523
|
+
positional_names: T::Boolean,
|
1524
|
+
max_line_length: T.nilable(::Integer)
|
1510
1525
|
).void
|
1511
1526
|
end
|
1512
|
-
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
|
1513
1528
|
|
1514
1529
|
sig { returns(::Integer) }
|
1515
1530
|
def current_indent; end
|
@@ -1527,6 +1542,9 @@ class RBI::RBSPrinter < ::RBI::Visitor
|
|
1527
1542
|
sig { void }
|
1528
1543
|
def indent; end
|
1529
1544
|
|
1545
|
+
sig { returns(T.nilable(::Integer)) }
|
1546
|
+
def max_line_length; end
|
1547
|
+
|
1530
1548
|
sig { returns(T::Boolean) }
|
1531
1549
|
def positional_names; end
|
1532
1550
|
|
@@ -1552,6 +1570,12 @@ class RBI::RBSPrinter < ::RBI::Visitor
|
|
1552
1570
|
sig { params(node: ::RBI::Method, sig: ::RBI::Sig).void }
|
1553
1571
|
def print_method_sig(node, sig); end
|
1554
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
|
+
|
1555
1579
|
# Print a string with indentation and `\n` at the end.
|
1556
1580
|
sig { params(string: ::String).void }
|
1557
1581
|
def printl(string); end
|
@@ -2052,18 +2076,24 @@ class RBI::Rewriters::Merge
|
|
2052
2076
|
end
|
2053
2077
|
|
2054
2078
|
# Used for logging / error displaying purpose
|
2055
|
-
class RBI::Rewriters::Merge::Conflict
|
2056
|
-
|
2057
|
-
|
2058
|
-
|
2059
|
-
|
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
|
2060
2085
|
|
2061
2086
|
sig { returns(::String) }
|
2062
|
-
def
|
2087
|
+
def left_name; end
|
2063
2088
|
|
2064
|
-
|
2065
|
-
|
2066
|
-
|
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
|
2067
2097
|
end
|
2068
2098
|
|
2069
2099
|
# Merge adjacent conflict trees
|
@@ -2109,14 +2139,23 @@ class RBI::Rewriters::Merge::ConflictTreeMerger < ::RBI::Visitor
|
|
2109
2139
|
def merge_conflict_trees(left, right); end
|
2110
2140
|
end
|
2111
2141
|
|
2112
|
-
class RBI::Rewriters::Merge::Keep
|
2113
|
-
|
2114
|
-
|
2115
|
-
|
2116
|
-
|
2142
|
+
class RBI::Rewriters::Merge::Keep
|
2143
|
+
class << self
|
2144
|
+
private
|
2145
|
+
|
2146
|
+
def new(*_arg0); end
|
2117
2147
|
end
|
2118
2148
|
end
|
2119
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
|
+
|
2120
2159
|
class RBI::Rewriters::Merge::TreeMerger < ::RBI::Visitor
|
2121
2160
|
sig do
|
2122
2161
|
params(
|
@@ -2263,16 +2302,18 @@ class RBI::Rewriters::RemoveKnownDefinitions < ::RBI::Visitor
|
|
2263
2302
|
end
|
2264
2303
|
end
|
2265
2304
|
|
2266
|
-
class RBI::Rewriters::RemoveKnownDefinitions::Operation
|
2267
|
-
|
2268
|
-
|
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
|
2269
2314
|
|
2270
2315
|
sig { returns(::String) }
|
2271
2316
|
def to_s; end
|
2272
|
-
|
2273
|
-
class << self
|
2274
|
-
def inherited(s); end
|
2275
|
-
end
|
2276
2317
|
end
|
2277
2318
|
|
2278
2319
|
class RBI::Rewriters::SortNodes < ::RBI::Visitor
|
@@ -2313,14 +2354,10 @@ end
|
|
2313
2354
|
|
2314
2355
|
class RBI::Rewriters::TranslateRBSSigs::Error < ::RBI::Error; end
|
2315
2356
|
|
2316
|
-
#
|
2317
|
-
#
|
2318
|
-
# @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
|
2357
|
+
# @abstract
|
2319
2358
|
class RBI::Scope < ::RBI::Tree
|
2320
2359
|
include ::RBI::Indexable
|
2321
2360
|
|
2322
|
-
abstract!
|
2323
|
-
|
2324
2361
|
# Duplicate `self` scope without its body
|
2325
2362
|
sig { returns(T.self_type) }
|
2326
2363
|
def dup_empty; end
|
@@ -2661,10 +2698,8 @@ class RBI::TStructConst < ::RBI::TStructField
|
|
2661
2698
|
def to_s; end
|
2662
2699
|
end
|
2663
2700
|
|
2664
|
-
# @abstract
|
2701
|
+
# @abstract
|
2665
2702
|
class RBI::TStructField < ::RBI::NodeWithComments
|
2666
|
-
abstract!
|
2667
|
-
|
2668
2703
|
sig do
|
2669
2704
|
params(
|
2670
2705
|
name: ::String,
|
@@ -2864,10 +2899,8 @@ end
|
|
2864
2899
|
|
2865
2900
|
# The base class for all RBI types.
|
2866
2901
|
#
|
2867
|
-
# @abstract
|
2902
|
+
# @abstract
|
2868
2903
|
class RBI::Type
|
2869
|
-
abstract!
|
2870
|
-
|
2871
2904
|
sig { void }
|
2872
2905
|
def initialize; end
|
2873
2906
|
|
@@ -2910,9 +2943,33 @@ class RBI::Type
|
|
2910
2943
|
sig { returns(::RBI::Type) }
|
2911
2944
|
def non_nilable; end
|
2912
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
|
+
|
2913
2958
|
sig { returns(::String) }
|
2914
2959
|
def rbs_string; end
|
2915
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
|
+
|
2916
2973
|
# @abstract
|
2917
2974
|
sig { abstract.returns(::String) }
|
2918
2975
|
def to_rbi; end
|
@@ -3063,6 +3120,12 @@ end
|
|
3063
3120
|
|
3064
3121
|
# A type that is intersection of multiple types like `T.all(String, Integer)`.
|
3065
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
|
+
|
3066
3129
|
sig { override.returns(::String) }
|
3067
3130
|
def to_rbi; end
|
3068
3131
|
end
|
@@ -3072,6 +3135,12 @@ class RBI::Type::Any < ::RBI::Type::Composite
|
|
3072
3135
|
sig { returns(T::Boolean) }
|
3073
3136
|
def nilable?; end
|
3074
3137
|
|
3138
|
+
sig { override.returns(::RBI::Type) }
|
3139
|
+
def normalize; end
|
3140
|
+
|
3141
|
+
sig { override.returns(::RBI::Type) }
|
3142
|
+
def simplify; end
|
3143
|
+
|
3075
3144
|
sig { override.returns(::String) }
|
3076
3145
|
def to_rbi; end
|
3077
3146
|
end
|
@@ -3081,6 +3150,12 @@ class RBI::Type::Anything < ::RBI::Type
|
|
3081
3150
|
sig { override.params(other: ::BasicObject).returns(T::Boolean) }
|
3082
3151
|
def ==(other); end
|
3083
3152
|
|
3153
|
+
sig { override.returns(::RBI::Type) }
|
3154
|
+
def normalize; end
|
3155
|
+
|
3156
|
+
sig { override.returns(::RBI::Type) }
|
3157
|
+
def simplify; end
|
3158
|
+
|
3084
3159
|
sig { override.returns(::String) }
|
3085
3160
|
def to_rbi; end
|
3086
3161
|
end
|
@@ -3090,6 +3165,12 @@ class RBI::Type::AttachedClass < ::RBI::Type
|
|
3090
3165
|
sig { override.params(other: ::BasicObject).returns(T::Boolean) }
|
3091
3166
|
def ==(other); end
|
3092
3167
|
|
3168
|
+
sig { override.returns(::RBI::Type) }
|
3169
|
+
def normalize; end
|
3170
|
+
|
3171
|
+
sig { override.returns(::RBI::Type) }
|
3172
|
+
def simplify; end
|
3173
|
+
|
3093
3174
|
sig { override.returns(::String) }
|
3094
3175
|
def to_rbi; end
|
3095
3176
|
end
|
@@ -3099,6 +3180,12 @@ class RBI::Type::Boolean < ::RBI::Type
|
|
3099
3180
|
sig { override.params(other: ::BasicObject).returns(T::Boolean) }
|
3100
3181
|
def ==(other); end
|
3101
3182
|
|
3183
|
+
sig { override.returns(::RBI::Type) }
|
3184
|
+
def normalize; end
|
3185
|
+
|
3186
|
+
sig { override.returns(::RBI::Type) }
|
3187
|
+
def simplify; end
|
3188
|
+
|
3102
3189
|
sig { override.returns(::String) }
|
3103
3190
|
def to_rbi; end
|
3104
3191
|
end
|
@@ -3111,6 +3198,12 @@ class RBI::Type::Class < ::RBI::Type
|
|
3111
3198
|
sig { override.params(other: ::BasicObject).returns(T::Boolean) }
|
3112
3199
|
def ==(other); end
|
3113
3200
|
|
3201
|
+
sig { override.returns(::RBI::Type) }
|
3202
|
+
def normalize; end
|
3203
|
+
|
3204
|
+
sig { override.returns(::RBI::Type) }
|
3205
|
+
def simplify; end
|
3206
|
+
|
3114
3207
|
sig { override.returns(::String) }
|
3115
3208
|
def to_rbi; end
|
3116
3209
|
|
@@ -3126,6 +3219,12 @@ class RBI::Type::ClassOf < ::RBI::Type
|
|
3126
3219
|
sig { override.params(other: ::BasicObject).returns(T::Boolean) }
|
3127
3220
|
def ==(other); end
|
3128
3221
|
|
3222
|
+
sig { override.returns(::RBI::Type) }
|
3223
|
+
def normalize; end
|
3224
|
+
|
3225
|
+
sig { override.returns(::RBI::Type) }
|
3226
|
+
def simplify; end
|
3227
|
+
|
3129
3228
|
sig { override.returns(::String) }
|
3130
3229
|
def to_rbi; end
|
3131
3230
|
|
@@ -3138,10 +3237,8 @@ end
|
|
3138
3237
|
|
3139
3238
|
# A type that is composed of multiple types like `T.all(String, Integer)`.
|
3140
3239
|
#
|
3141
|
-
# @abstract
|
3240
|
+
# @abstract
|
3142
3241
|
class RBI::Type::Composite < ::RBI::Type
|
3143
|
-
abstract!
|
3144
|
-
|
3145
3242
|
sig { params(types: T::Array[::RBI::Type]).void }
|
3146
3243
|
def initialize(types); end
|
3147
3244
|
|
@@ -3165,9 +3262,15 @@ class RBI::Type::Generic < ::RBI::Type
|
|
3165
3262
|
sig { returns(::String) }
|
3166
3263
|
def name; end
|
3167
3264
|
|
3265
|
+
sig { override.returns(::RBI::Type) }
|
3266
|
+
def normalize; end
|
3267
|
+
|
3168
3268
|
sig { returns(T::Array[::RBI::Type]) }
|
3169
3269
|
def params; end
|
3170
3270
|
|
3271
|
+
sig { override.returns(::RBI::Type) }
|
3272
|
+
def simplify; end
|
3273
|
+
|
3171
3274
|
sig { override.returns(::String) }
|
3172
3275
|
def to_rbi; end
|
3173
3276
|
end
|
@@ -3180,6 +3283,12 @@ class RBI::Type::Nilable < ::RBI::Type
|
|
3180
3283
|
sig { override.params(other: ::BasicObject).returns(T::Boolean) }
|
3181
3284
|
def ==(other); end
|
3182
3285
|
|
3286
|
+
sig { override.returns(::RBI::Type) }
|
3287
|
+
def normalize; end
|
3288
|
+
|
3289
|
+
sig { override.returns(::RBI::Type) }
|
3290
|
+
def simplify; end
|
3291
|
+
|
3183
3292
|
sig { override.returns(::String) }
|
3184
3293
|
def to_rbi; end
|
3185
3294
|
|
@@ -3192,6 +3301,12 @@ class RBI::Type::NoReturn < ::RBI::Type
|
|
3192
3301
|
sig { override.params(other: ::BasicObject).returns(T::Boolean) }
|
3193
3302
|
def ==(other); end
|
3194
3303
|
|
3304
|
+
sig { override.returns(::RBI::Type) }
|
3305
|
+
def normalize; end
|
3306
|
+
|
3307
|
+
sig { override.returns(::RBI::Type) }
|
3308
|
+
def simplify; end
|
3309
|
+
|
3195
3310
|
sig { override.returns(::String) }
|
3196
3311
|
def to_rbi; end
|
3197
3312
|
end
|
@@ -3207,6 +3322,9 @@ class RBI::Type::Proc < ::RBI::Type
|
|
3207
3322
|
sig { params(type: T.untyped).returns(T.self_type) }
|
3208
3323
|
def bind(type); end
|
3209
3324
|
|
3325
|
+
sig { override.returns(::RBI::Type) }
|
3326
|
+
def normalize; end
|
3327
|
+
|
3210
3328
|
sig { params(params: ::RBI::Type).returns(T.self_type) }
|
3211
3329
|
def params(**params); end
|
3212
3330
|
|
@@ -3222,6 +3340,9 @@ class RBI::Type::Proc < ::RBI::Type
|
|
3222
3340
|
sig { params(type: T.untyped).returns(T.self_type) }
|
3223
3341
|
def returns(type); end
|
3224
3342
|
|
3343
|
+
sig { override.returns(::RBI::Type) }
|
3344
|
+
def simplify; end
|
3345
|
+
|
3225
3346
|
sig { override.returns(::String) }
|
3226
3347
|
def to_rbi; end
|
3227
3348
|
|
@@ -3234,6 +3355,12 @@ class RBI::Type::SelfType < ::RBI::Type
|
|
3234
3355
|
sig { override.params(other: ::BasicObject).returns(T::Boolean) }
|
3235
3356
|
def ==(other); end
|
3236
3357
|
|
3358
|
+
sig { override.returns(::RBI::Type) }
|
3359
|
+
def normalize; end
|
3360
|
+
|
3361
|
+
sig { override.returns(::RBI::Type) }
|
3362
|
+
def simplify; end
|
3363
|
+
|
3237
3364
|
sig { override.returns(::String) }
|
3238
3365
|
def to_rbi; end
|
3239
3366
|
end
|
@@ -3246,6 +3373,12 @@ class RBI::Type::Shape < ::RBI::Type
|
|
3246
3373
|
sig { override.params(other: ::BasicObject).returns(T::Boolean) }
|
3247
3374
|
def ==(other); end
|
3248
3375
|
|
3376
|
+
sig { override.returns(::RBI::Type) }
|
3377
|
+
def normalize; end
|
3378
|
+
|
3379
|
+
sig { override.returns(::RBI::Type) }
|
3380
|
+
def simplify; end
|
3381
|
+
|
3249
3382
|
sig { override.returns(::String) }
|
3250
3383
|
def to_rbi; end
|
3251
3384
|
|
@@ -3266,6 +3399,12 @@ class RBI::Type::Simple < ::RBI::Type
|
|
3266
3399
|
sig { returns(::String) }
|
3267
3400
|
def name; end
|
3268
3401
|
|
3402
|
+
sig { override.returns(::RBI::Type) }
|
3403
|
+
def normalize; end
|
3404
|
+
|
3405
|
+
sig { override.returns(::RBI::Type) }
|
3406
|
+
def simplify; end
|
3407
|
+
|
3269
3408
|
sig { override.returns(::String) }
|
3270
3409
|
def to_rbi; end
|
3271
3410
|
end
|
@@ -3278,6 +3417,12 @@ class RBI::Type::Tuple < ::RBI::Type
|
|
3278
3417
|
sig { override.params(other: ::BasicObject).returns(T::Boolean) }
|
3279
3418
|
def ==(other); end
|
3280
3419
|
|
3420
|
+
sig { override.returns(::RBI::Type) }
|
3421
|
+
def normalize; end
|
3422
|
+
|
3423
|
+
sig { override.returns(::RBI::Type) }
|
3424
|
+
def simplify; end
|
3425
|
+
|
3281
3426
|
sig { override.returns(::String) }
|
3282
3427
|
def to_rbi; end
|
3283
3428
|
|
@@ -3296,6 +3441,12 @@ class RBI::Type::TypeParameter < ::RBI::Type
|
|
3296
3441
|
sig { returns(::Symbol) }
|
3297
3442
|
def name; end
|
3298
3443
|
|
3444
|
+
sig { override.returns(::RBI::Type) }
|
3445
|
+
def normalize; end
|
3446
|
+
|
3447
|
+
sig { override.returns(::RBI::Type) }
|
3448
|
+
def simplify; end
|
3449
|
+
|
3299
3450
|
sig { override.returns(::String) }
|
3300
3451
|
def to_rbi; end
|
3301
3452
|
end
|
@@ -3305,6 +3456,12 @@ class RBI::Type::Untyped < ::RBI::Type
|
|
3305
3456
|
sig { override.params(other: ::BasicObject).returns(T::Boolean) }
|
3306
3457
|
def ==(other); end
|
3307
3458
|
|
3459
|
+
sig { override.returns(::RBI::Type) }
|
3460
|
+
def normalize; end
|
3461
|
+
|
3462
|
+
sig { override.returns(::RBI::Type) }
|
3463
|
+
def simplify; end
|
3464
|
+
|
3308
3465
|
sig { override.returns(::String) }
|
3309
3466
|
def to_rbi; end
|
3310
3467
|
end
|
@@ -3377,6 +3534,12 @@ class RBI::Type::Void < ::RBI::Type
|
|
3377
3534
|
sig { override.params(other: ::BasicObject).returns(T::Boolean) }
|
3378
3535
|
def ==(other); end
|
3379
3536
|
|
3537
|
+
sig { override.returns(::RBI::Type) }
|
3538
|
+
def normalize; end
|
3539
|
+
|
3540
|
+
sig { override.returns(::RBI::Type) }
|
3541
|
+
def simplify; end
|
3542
|
+
|
3380
3543
|
sig { override.returns(::String) }
|
3381
3544
|
def to_rbi; end
|
3382
3545
|
end
|
@@ -3412,8 +3575,8 @@ class RBI::TypeMember < ::RBI::NodeWithComments
|
|
3412
3575
|
end
|
3413
3576
|
|
3414
3577
|
class RBI::TypePrinter
|
3415
|
-
sig { void }
|
3416
|
-
def initialize; end
|
3578
|
+
sig { params(max_line_length: T.nilable(::Integer)).void }
|
3579
|
+
def initialize(max_line_length: T.unsafe(nil)); end
|
3417
3580
|
|
3418
3581
|
sig { returns(::String) }
|
3419
3582
|
def string; end
|
@@ -3502,12 +3665,8 @@ end
|
|
3502
3665
|
|
3503
3666
|
RBI::VERSION = T.let(T.unsafe(nil), String)
|
3504
3667
|
|
3505
|
-
#
|
3506
|
-
#
|
3507
|
-
# @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
|
3668
|
+
# @abstract
|
3508
3669
|
class RBI::Visibility < ::RBI::NodeWithComments
|
3509
|
-
abstract!
|
3510
|
-
|
3511
3670
|
sig { params(visibility: ::Symbol, loc: T.nilable(::RBI::Loc), comments: T::Array[::RBI::Comment]).void }
|
3512
3671
|
def initialize(visibility, loc: T.unsafe(nil), comments: T.unsafe(nil)); end
|
3513
3672
|
|
@@ -3535,10 +3694,8 @@ class RBI::VisibilityGroup < ::RBI::Tree
|
|
3535
3694
|
def visibility; end
|
3536
3695
|
end
|
3537
3696
|
|
3538
|
-
# @abstract
|
3697
|
+
# @abstract
|
3539
3698
|
class RBI::Visitor
|
3540
|
-
abstract!
|
3541
|
-
|
3542
3699
|
sig { params(node: T.nilable(::RBI::Node)).void }
|
3543
3700
|
def visit(node); end
|
3544
3701
|
|