2025-07-14 19:12:36 +01:00

5163 lines
147 KiB
Ruby
Generated

# typed: true
# DO NOT EDIT MANUALLY
# This is an autogenerated file for types exported from the `rbi` gem.
# Please instead update this file by running `bin/tapioca gem rbi`.
# typed: true
# DO NOT EDIT MANUALLY
# This is an autogenerated file for types exported from the `rbi` gem.
# 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
class RBI::Arg < ::RBI::Node
# @return [Arg] a new instance of Arg
#
# source://rbi//lib/rbi/model.rb#788
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
sig { params(other: T.nilable(::Object)).returns(T::Boolean) }
def ==(other); end
# source://rbi//lib/rbi/model.rb#799
sig { returns(::String) }
def to_s; end
# source://rbi//lib/rbi/model.rb#785
sig { returns(::String) }
def value; end
end
# @abstract
#
# source://rbi//lib/rbi/model.rb#292
class RBI::Attr < ::RBI::NodeWithComments
include ::RBI::Indexable
abstract!
# @return [Attr] a new instance of Attr
#
# source://rbi//lib/rbi/model.rb#303
sig do
params(
name: ::Symbol,
names: T::Array[::Symbol],
visibility: ::RBI::Visibility,
sigs: T::Array[::RBI::Sig],
loc: T.nilable(::RBI::Loc),
comments: T::Array[::RBI::Comment]
).void
end
def initialize(name, names, visibility: T.unsafe(nil), sigs: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil)); end
# @return [Boolean]
#
# source://rbi//lib/rbi/rewriters/merge_trees.rb#403
sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
def compatible_with?(other); end
# @abstract
#
# source://rbi//lib/rbi/rewriters/attr_to_methods.rb#59
sig { abstract.returns(T::Array[::RBI::Method]) }
def convert_to_methods; end
# @abstract
#
# source://rbi//lib/rbi/model.rb#312
sig { abstract.returns(T::Array[::String]) }
def fully_qualified_names; end
# source://rbi//lib/rbi/index.rb#104
sig { override.returns(T::Array[::String]) }
def index_ids; end
# source://rbi//lib/rbi/rewriters/merge_trees.rb#412
sig { override.params(other: ::RBI::Node).void }
def merge_with(other); end
# source://rbi//lib/rbi/model.rb#294
sig { returns(T::Array[::Symbol]) }
def names; end
# source://rbi//lib/rbi/model.rb#300
sig { returns(T::Array[::RBI::Sig]) }
def sigs; end
# source://rbi//lib/rbi/model.rb#297
sig { returns(::RBI::Visibility) }
def visibility; end
# source://rbi//lib/rbi/model.rb#297
def visibility=(_arg0); end
private
# source://rbi//lib/rbi/rewriters/attr_to_methods.rb#80
sig do
params(
name: ::String,
sig: T.nilable(::RBI::Sig),
visibility: ::RBI::Visibility,
loc: T.nilable(::RBI::Loc),
comments: T::Array[::RBI::Comment]
).returns(::RBI::Method)
end
def create_getter_method(name, sig, visibility, loc, comments); end
# source://rbi//lib/rbi/rewriters/attr_to_methods.rb#92
sig do
params(
name: ::String,
sig: T.nilable(::RBI::Sig),
attribute_type: T.nilable(T.any(::RBI::Type, ::String)),
visibility: ::RBI::Visibility,
loc: T.nilable(::RBI::Loc),
comments: T::Array[::RBI::Comment]
).returns(::RBI::Method)
end
def create_setter_method(name, sig, attribute_type, visibility, loc, comments); end
# @raise [UnexpectedMultipleSigsError]
#
# source://rbi//lib/rbi/rewriters/attr_to_methods.rb#65
sig(:final) { returns([T.nilable(::RBI::Sig), T.nilable(T.any(::RBI::Type, ::String))]) }
def parse_sig; end
end
# source://rbi//lib/rbi/model.rb#315
class RBI::AttrAccessor < ::RBI::Attr
# @return [AttrAccessor] a new instance of AttrAccessor
#
# source://rbi//lib/rbi/model.rb#317
sig do
params(
name: ::Symbol,
names: ::Symbol,
visibility: ::RBI::Visibility,
sigs: T::Array[::RBI::Sig],
loc: T.nilable(::RBI::Loc),
comments: T::Array[::RBI::Comment],
block: T.nilable(T.proc.params(node: ::RBI::AttrAccessor).void)
).void
end
def initialize(name, *names, visibility: T.unsafe(nil), sigs: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
# @return [Boolean]
#
# source://rbi//lib/rbi/rewriters/merge_trees.rb#441
sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
def compatible_with?(other); end
# source://rbi//lib/rbi/rewriters/attr_to_methods.rb#123
sig { override.returns(T::Array[::RBI::Method]) }
def convert_to_methods; end
# source://rbi//lib/rbi/model.rb#324
sig { override.returns(T::Array[::String]) }
def fully_qualified_names; end
# source://rbi//lib/rbi/model.rb#331
sig { override.returns(::String) }
def to_s; end
end
# source://rbi//lib/rbi/model.rb#337
class RBI::AttrReader < ::RBI::Attr
# @return [AttrReader] a new instance of AttrReader
#
# source://rbi//lib/rbi/model.rb#339
sig do
params(
name: ::Symbol,
names: ::Symbol,
visibility: ::RBI::Visibility,
sigs: T::Array[::RBI::Sig],
loc: T.nilable(::RBI::Loc),
comments: T::Array[::RBI::Comment],
block: T.nilable(T.proc.params(node: ::RBI::AttrReader).void)
).void
end
def initialize(name, *names, visibility: T.unsafe(nil), sigs: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
# @return [Boolean]
#
# source://rbi//lib/rbi/rewriters/merge_trees.rb#425
sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
def compatible_with?(other); end
# source://rbi//lib/rbi/rewriters/attr_to_methods.rb#138
sig { override.returns(T::Array[::RBI::Method]) }
def convert_to_methods; end
# source://rbi//lib/rbi/model.rb#346
sig { override.returns(T::Array[::String]) }
def fully_qualified_names; end
# source://rbi//lib/rbi/model.rb#353
sig { override.returns(::String) }
def to_s; end
end
# source://rbi//lib/rbi/model.rb#359
class RBI::AttrWriter < ::RBI::Attr
# @return [AttrWriter] a new instance of AttrWriter
#
# source://rbi//lib/rbi/model.rb#361
sig do
params(
name: ::Symbol,
names: ::Symbol,
visibility: ::RBI::Visibility,
sigs: T::Array[::RBI::Sig],
loc: T.nilable(::RBI::Loc),
comments: T::Array[::RBI::Comment],
block: T.nilable(T.proc.params(node: ::RBI::AttrWriter).void)
).void
end
def initialize(name, *names, visibility: T.unsafe(nil), sigs: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
# @return [Boolean]
#
# source://rbi//lib/rbi/rewriters/merge_trees.rb#433
sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
def compatible_with?(other); end
# source://rbi//lib/rbi/rewriters/attr_to_methods.rb#148
sig { override.returns(T::Array[::RBI::Method]) }
def convert_to_methods; end
# source://rbi//lib/rbi/model.rb#368
sig { override.returns(T::Array[::String]) }
def fully_qualified_names; end
# source://rbi//lib/rbi/model.rb#375
sig { override.returns(::String) }
def to_s; end
end
# An arbitrary blank line that can be added both in trees and comments
#
# source://rbi//lib/rbi/model.rb#70
class RBI::BlankLine < ::RBI::Comment
# @return [BlankLine] a new instance of BlankLine
#
# source://rbi//lib/rbi/model.rb#72
sig { params(loc: T.nilable(::RBI::Loc)).void }
def initialize(loc: T.unsafe(nil)); end
end
# source://rbi//lib/rbi/model.rb#629
class RBI::BlockParam < ::RBI::Param
# @return [BlockParam] a new instance of BlockParam
#
# source://rbi//lib/rbi/model.rb#631
sig do
params(
name: ::String,
loc: T.nilable(::RBI::Loc),
comments: T::Array[::RBI::Comment],
block: T.nilable(T.proc.params(node: ::RBI::BlockParam).void)
).void
end
def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
# source://rbi//lib/rbi/model.rb#643
sig { params(other: T.nilable(::Object)).returns(T::Boolean) }
def ==(other); end
# source://rbi//lib/rbi/model.rb#638
sig { override.returns(::String) }
def to_s; end
end
# source://rbi//lib/rbi/model.rb#195
class RBI::Class < ::RBI::Scope
# @return [Class] a new instance of Class
#
# source://rbi//lib/rbi/model.rb#203
sig do
params(
name: ::String,
superclass_name: T.nilable(::String),
loc: T.nilable(::RBI::Loc),
comments: T::Array[::RBI::Comment],
block: T.nilable(T.proc.params(node: ::RBI::Class).void)
).void
end
def initialize(name, superclass_name: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
# @return [Boolean]
#
# source://rbi//lib/rbi/rewriters/merge_trees.rb#371
sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
def compatible_with?(other); end
# source://rbi//lib/rbi/model.rb#212
sig { override.returns(::String) }
def fully_qualified_name; end
# source://rbi//lib/rbi/model.rb#197
sig { returns(::String) }
def name; end
# source://rbi//lib/rbi/model.rb#197
def name=(_arg0); end
# source://rbi//lib/rbi/model.rb#200
sig { returns(T.nilable(::String)) }
def superclass_name; end
# source://rbi//lib/rbi/model.rb#200
def superclass_name=(_arg0); end
end
# source://rbi//lib/rbi/model.rb#51
class RBI::Comment < ::RBI::Node
# @return [Comment] a new instance of Comment
#
# source://rbi//lib/rbi/model.rb#56
sig { params(text: ::String, loc: T.nilable(::RBI::Loc)).void }
def initialize(text, loc: T.unsafe(nil)); end
# source://rbi//lib/rbi/model.rb#62
sig { params(other: ::Object).returns(T::Boolean) }
def ==(other); end
# source://rbi//lib/rbi/model.rb#53
sig { returns(::String) }
def text; end
# source://rbi//lib/rbi/model.rb#53
def text=(_arg0); end
end
# A tree showing incompatibles nodes
#
# Is rendered as a merge conflict between `left` and` right`:
# ~~~rb
# class Foo
# <<<<<<< left
# def m1; end
# def m2(a); end
# =======
# def m1(a); end
# def m2; end
# >>>>>>> right
# end
# ~~~
#
# source://rbi//lib/rbi/rewriters/merge_trees.rb#555
class RBI::ConflictTree < ::RBI::Tree
# @return [ConflictTree] a new instance of ConflictTree
#
# source://rbi//lib/rbi/rewriters/merge_trees.rb#563
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
sig { returns(::RBI::Tree) }
def left; end
# source://rbi//lib/rbi/rewriters/merge_trees.rb#560
sig { returns(::String) }
def left_name; end
# source://rbi//lib/rbi/rewriters/merge_trees.rb#557
def right; end
# source://rbi//lib/rbi/rewriters/merge_trees.rb#560
def right_name; end
end
# Consts
#
# source://rbi//lib/rbi/model.rb#263
class RBI::Const < ::RBI::NodeWithComments
include ::RBI::Indexable
# @return [Const] a new instance of Const
#
# source://rbi//lib/rbi/model.rb#268
sig do
params(
name: ::String,
value: ::String,
loc: T.nilable(::RBI::Loc),
comments: T::Array[::RBI::Comment],
block: T.nilable(T.proc.params(node: ::RBI::Const).void)
).void
end
def initialize(name, value, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
# @return [Boolean]
#
# source://rbi//lib/rbi/rewriters/merge_trees.rb#395
sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
def compatible_with?(other); end
# source://rbi//lib/rbi/model.rb#276
sig { returns(::String) }
def fully_qualified_name; end
# source://rbi//lib/rbi/index.rb#94
sig { override.returns(T::Array[::String]) }
def index_ids; end
# source://rbi//lib/rbi/model.rb#265
sig { returns(::String) }
def name; end
# source://rbi//lib/rbi/model.rb#284
sig { override.returns(::String) }
def to_s; end
# source://rbi//lib/rbi/model.rb#265
def value; end
end
# source://rbi//lib/rbi/rewriters/merge_trees.rb#341
class RBI::DuplicateNodeError < ::RBI::Error; end
# source://rbi//lib/rbi.rb#8
class RBI::Error < ::StandardError; end
# source://rbi//lib/rbi/model.rb#676
class RBI::Extend < ::RBI::Mixin
include ::RBI::Indexable
# @return [Extend] a new instance of Extend
#
# source://rbi//lib/rbi/model.rb#678
sig do
params(
name: ::String,
names: ::String,
loc: T.nilable(::RBI::Loc),
comments: T::Array[::RBI::Comment],
block: T.nilable(T.proc.params(node: ::RBI::Extend).void)
).void
end
def initialize(name, *names, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
# @return [Boolean]
#
# source://rbi//lib/rbi/rewriters/merge_trees.rb#488
sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
def compatible_with?(other); end
# source://rbi//lib/rbi/index.rb#134
sig { override.returns(T::Array[::String]) }
def index_ids; end
# source://rbi//lib/rbi/model.rb#685
sig { override.returns(::String) }
def to_s; end
end
# source://rbi//lib/rbi/model.rb#131
class RBI::File
# @return [File] a new instance of File
#
# source://rbi//lib/rbi/model.rb#142
sig do
params(
strictness: T.nilable(::String),
comments: T::Array[::RBI::Comment],
block: T.nilable(T.proc.params(file: ::RBI::File).void)
).void
end
def initialize(strictness: T.unsafe(nil), comments: T.unsafe(nil), &block); end
# source://rbi//lib/rbi/model.rb#150
sig { params(node: ::RBI::Node).void }
def <<(node); end
# source://rbi//lib/rbi/model.rb#139
sig { returns(T::Array[::RBI::Comment]) }
def comments; end
# source://rbi//lib/rbi/model.rb#139
def comments=(_arg0); end
# @return [Boolean]
#
# source://rbi//lib/rbi/model.rb#155
sig { returns(T::Boolean) }
def empty?; end
# source://rbi//lib/rbi/printer.rb#817
sig do
params(
out: T.any(::IO, ::StringIO),
indent: ::Integer,
print_locs: T::Boolean,
max_line_length: T.nilable(::Integer)
).void
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
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
sig { params(indent: ::Integer, print_locs: T::Boolean).returns(::String) }
def rbs_string(indent: T.unsafe(nil), print_locs: T.unsafe(nil)); end
# source://rbi//lib/rbi/model.rb#133
sig { returns(::RBI::Tree) }
def root; end
# source://rbi//lib/rbi/model.rb#133
def root=(_arg0); end
# source://rbi//lib/rbi/model.rb#136
sig { returns(T.nilable(::String)) }
def strictness; end
# source://rbi//lib/rbi/model.rb#136
def strictness=(_arg0); end
# source://rbi//lib/rbi/printer.rb#823
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
# source://rbi//lib/rbi/formatter.rb#5
class RBI::Formatter
# @return [Formatter] a new instance of Formatter
#
# source://rbi//lib/rbi/formatter.rb#10
sig do
params(
add_sig_templates: T::Boolean,
group_nodes: T::Boolean,
max_line_length: T.nilable(::Integer),
nest_singleton_methods: T::Boolean,
nest_non_public_members: T::Boolean,
sort_nodes: T::Boolean,
replace_attributes_with_methods: T::Boolean
).void
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
sig { params(file: ::RBI::File).void }
def format_file(file); end
# source://rbi//lib/rbi/formatter.rb#40
sig { params(tree: ::RBI::Tree).void }
def format_tree(tree); end
# source://rbi//lib/rbi/formatter.rb#7
sig { returns(T.nilable(::Integer)) }
def max_line_length; end
# source://rbi//lib/rbi/formatter.rb#7
def max_line_length=(_arg0); end
# source://rbi//lib/rbi/formatter.rb#29
sig { params(file: ::RBI::File).returns(::String) }
def print_file(file); end
end
# source://rbi//lib/rbi/rewriters/group_nodes.rb#84
class RBI::Group < ::RBI::Tree
# @return [Group] a new instance of Group
#
# source://rbi//lib/rbi/rewriters/group_nodes.rb#89
sig { params(kind: ::RBI::Group::Kind).void }
def initialize(kind); end
# source://rbi//lib/rbi/rewriters/group_nodes.rb#86
sig { returns(::RBI::Group::Kind) }
def kind; end
end
# source://rbi//lib/rbi/rewriters/group_nodes.rb#94
class RBI::Group::Kind
class << self
private
# source://rbi//lib/rbi/rewriters/group_nodes.rb#109
def new(*_arg0); end
end
end
# source://rbi//lib/rbi/rewriters/group_nodes.rb#101
RBI::Group::Kind::Attrs = T.let(T.unsafe(nil), RBI::Group::Kind)
# source://rbi//lib/rbi/rewriters/group_nodes.rb#107
RBI::Group::Kind::Consts = T.let(T.unsafe(nil), RBI::Group::Kind)
# source://rbi//lib/rbi/rewriters/group_nodes.rb#97
RBI::Group::Kind::Helpers = T.let(T.unsafe(nil), RBI::Group::Kind)
# source://rbi//lib/rbi/rewriters/group_nodes.rb#104
RBI::Group::Kind::Inits = T.let(T.unsafe(nil), RBI::Group::Kind)
# source://rbi//lib/rbi/rewriters/group_nodes.rb#105
RBI::Group::Kind::Methods = T.let(T.unsafe(nil), RBI::Group::Kind)
# source://rbi//lib/rbi/rewriters/group_nodes.rb#99
RBI::Group::Kind::MixesInClassMethods = T.let(T.unsafe(nil), RBI::Group::Kind)
# source://rbi//lib/rbi/rewriters/group_nodes.rb#95
RBI::Group::Kind::Mixins = T.let(T.unsafe(nil), RBI::Group::Kind)
# source://rbi//lib/rbi/rewriters/group_nodes.rb#96
RBI::Group::Kind::RequiredAncestors = T.let(T.unsafe(nil), RBI::Group::Kind)
# source://rbi//lib/rbi/rewriters/group_nodes.rb#100
RBI::Group::Kind::Sends = T.let(T.unsafe(nil), RBI::Group::Kind)
# source://rbi//lib/rbi/rewriters/group_nodes.rb#106
RBI::Group::Kind::SingletonClasses = T.let(T.unsafe(nil), RBI::Group::Kind)
# source://rbi//lib/rbi/rewriters/group_nodes.rb#103
RBI::Group::Kind::TEnums = T.let(T.unsafe(nil), RBI::Group::Kind)
# source://rbi//lib/rbi/rewriters/group_nodes.rb#102
RBI::Group::Kind::TStructFields = T.let(T.unsafe(nil), RBI::Group::Kind)
# source://rbi//lib/rbi/rewriters/group_nodes.rb#98
RBI::Group::Kind::TypeMembers = T.let(T.unsafe(nil), RBI::Group::Kind)
# source://rbi//lib/rbi/rewriters/group_nodes.rb#5
class RBI::GroupNodesError < ::RBI::Error; end
# Sorbet's misc.
#
# source://rbi//lib/rbi/model.rb#1045
class RBI::Helper < ::RBI::NodeWithComments
include ::RBI::Indexable
# @return [Helper] a new instance of Helper
#
# source://rbi//lib/rbi/model.rb#1050
sig do
params(
name: ::String,
loc: T.nilable(::RBI::Loc),
comments: T::Array[::RBI::Comment],
block: T.nilable(T.proc.params(node: ::RBI::Helper).void)
).void
end
def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
# @return [Boolean]
#
# source://rbi//lib/rbi/rewriters/merge_trees.rb#504
sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
def compatible_with?(other); end
# source://rbi//lib/rbi/index.rb#164
sig { override.returns(T::Array[::String]) }
def index_ids; end
# source://rbi//lib/rbi/model.rb#1047
sig { returns(::String) }
def name; end
# source://rbi//lib/rbi/model.rb#1058
sig { override.returns(::String) }
def to_s; end
end
# source://rbi//lib/rbi/model.rb#662
class RBI::Include < ::RBI::Mixin
include ::RBI::Indexable
# @return [Include] a new instance of Include
#
# source://rbi//lib/rbi/model.rb#664
sig do
params(
name: ::String,
names: ::String,
loc: T.nilable(::RBI::Loc),
comments: T::Array[::RBI::Comment],
block: T.nilable(T.proc.params(node: ::RBI::Include).void)
).void
end
def initialize(name, *names, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
# @return [Boolean]
#
# source://rbi//lib/rbi/rewriters/merge_trees.rb#480
sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
def compatible_with?(other); end
# source://rbi//lib/rbi/index.rb#124
sig { override.returns(T::Array[::String]) }
def index_ids; end
# source://rbi//lib/rbi/model.rb#671
sig { override.returns(::String) }
def to_s; end
end
# source://rbi//lib/rbi/index.rb#5
class RBI::Index < ::RBI::Visitor
# @return [Index] a new instance of Index
#
# source://rbi//lib/rbi/index.rb#16
sig { void }
def initialize; end
# source://rbi//lib/rbi/index.rb#27
sig { params(id: ::String).returns(T::Array[::RBI::Node]) }
def [](id); end
# source://rbi//lib/rbi/index.rb#32
sig { params(nodes: ::RBI::Node).void }
def index(*nodes); end
# source://rbi//lib/rbi/index.rb#22
sig { returns(T::Array[::String]) }
def keys; end
# source://rbi//lib/rbi/index.rb#38
sig { override.params(node: T.nilable(::RBI::Node)).void }
def visit(node); end
private
# source://rbi//lib/rbi/index.rb#55
sig { params(node: T.all(::RBI::Indexable, ::RBI::Node)).void }
def index_node(node); end
class << self
# source://rbi//lib/rbi/index.rb#8
sig { params(node: ::RBI::Node).returns(::RBI::Index) }
def index(*node); end
end
end
# A Node that can be referred to by a unique ID inside an index
#
# source://rbi//lib/rbi/index.rb#69
module RBI::Indexable
interface!
# Unique IDs that refer to this node.
#
# Some nodes can have multiple ids, for example an attribute accessor matches the ID of the
# getter and the setter.
#
# @abstract
#
# 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
class RBI::KwArg < ::RBI::Arg
# @return [KwArg] a new instance of KwArg
#
# source://rbi//lib/rbi/model.rb#809
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
sig { params(other: T.nilable(::Object)).returns(T::Boolean) }
def ==(other); end
# source://rbi//lib/rbi/model.rb#806
sig { returns(::String) }
def keyword; end
# source://rbi//lib/rbi/model.rb#820
sig { returns(::String) }
def to_s; end
end
# source://rbi//lib/rbi/model.rb#587
class RBI::KwOptParam < ::RBI::Param
# @return [KwOptParam] a new instance of KwOptParam
#
# source://rbi//lib/rbi/model.rb#592
sig do
params(
name: ::String,
value: ::String,
loc: T.nilable(::RBI::Loc),
comments: T::Array[::RBI::Comment],
block: T.nilable(T.proc.params(node: ::RBI::KwOptParam).void)
).void
end
def initialize(name, value, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
# source://rbi//lib/rbi/model.rb#605
sig { params(other: T.nilable(::Object)).returns(T::Boolean) }
def ==(other); end
# source://rbi//lib/rbi/model.rb#600
sig { override.returns(::String) }
def to_s; end
# source://rbi//lib/rbi/model.rb#589
sig { returns(::String) }
def value; end
end
# source://rbi//lib/rbi/model.rb#568
class RBI::KwParam < ::RBI::Param
# @return [KwParam] a new instance of KwParam
#
# source://rbi//lib/rbi/model.rb#570
sig do
params(
name: ::String,
loc: T.nilable(::RBI::Loc),
comments: T::Array[::RBI::Comment],
block: T.nilable(T.proc.params(node: ::RBI::KwParam).void)
).void
end
def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
# source://rbi//lib/rbi/model.rb#582
sig { params(other: T.nilable(::Object)).returns(T::Boolean) }
def ==(other); end
# source://rbi//lib/rbi/model.rb#577
sig { override.returns(::String) }
def to_s; end
end
# source://rbi//lib/rbi/model.rb#610
class RBI::KwRestParam < ::RBI::Param
# @return [KwRestParam] a new instance of KwRestParam
#
# source://rbi//lib/rbi/model.rb#612
sig do
params(
name: ::String,
loc: T.nilable(::RBI::Loc),
comments: T::Array[::RBI::Comment],
block: T.nilable(T.proc.params(node: ::RBI::KwRestParam).void)
).void
end
def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
# source://rbi//lib/rbi/model.rb#624
sig { params(other: T.nilable(::Object)).returns(T::Boolean) }
def ==(other); end
# source://rbi//lib/rbi/model.rb#619
sig { override.returns(::String) }
def to_s; end
end
# source://rbi//lib/rbi/loc.rb#5
class RBI::Loc
# @return [Loc] a new instance of Loc
#
# source://rbi//lib/rbi/loc.rb#26
sig do
params(
file: T.nilable(::String),
begin_line: T.nilable(::Integer),
end_line: T.nilable(::Integer),
begin_column: T.nilable(::Integer),
end_column: T.nilable(::Integer)
).void
end
def initialize(file: T.unsafe(nil), begin_line: T.unsafe(nil), end_line: T.unsafe(nil), begin_column: T.unsafe(nil), end_column: T.unsafe(nil)); end
# source://rbi//lib/rbi/loc.rb#23
def begin_column; end
# source://rbi//lib/rbi/loc.rb#23
sig { returns(T.nilable(::Integer)) }
def begin_line; end
# source://rbi//lib/rbi/loc.rb#23
def end_column; end
# source://rbi//lib/rbi/loc.rb#23
def end_line; end
# source://rbi//lib/rbi/loc.rb#20
sig { returns(T.nilable(::String)) }
def file; end
# source://rbi//lib/rbi/loc.rb#35
sig { params(other: ::RBI::Loc).returns(::RBI::Loc) }
def join(other); end
# source://rbi//lib/rbi/loc.rb#55
sig { returns(T.nilable(::String)) }
def source; end
# source://rbi//lib/rbi/loc.rb#46
sig { returns(::String) }
def to_s; end
class << self
# source://rbi//lib/rbi/loc.rb#8
sig { params(file: ::String, prism_location: ::Prism::Location).returns(::RBI::Loc) }
def from_prism(file, prism_location); end
end
end
# A tree that _might_ contain conflicts
#
# source://rbi//lib/rbi/rewriters/merge_trees.rb#329
class RBI::MergeTree < ::RBI::Tree
# @return [MergeTree] a new instance of MergeTree
#
# source://rbi//lib/rbi/rewriters/merge_trees.rb#334
sig do
params(
loc: T.nilable(::RBI::Loc),
comments: T::Array[::RBI::Comment],
conflicts: T::Array[::RBI::Rewriters::Merge::Conflict],
block: T.nilable(T.proc.params(node: ::RBI::Tree).void)
).void
end
def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), conflicts: T.unsafe(nil), &block); end
# source://rbi//lib/rbi/rewriters/merge_trees.rb#331
sig { returns(T::Array[::RBI::Rewriters::Merge::Conflict]) }
def conflicts; end
end
# Methods and args
#
# source://rbi//lib/rbi/model.rb#383
class RBI::Method < ::RBI::NodeWithComments
include ::RBI::Indexable
# @return [Method] a new instance of Method
#
# source://rbi//lib/rbi/model.rb#400
sig do
params(
name: ::String,
params: T::Array[::RBI::Param],
is_singleton: T::Boolean,
visibility: ::RBI::Visibility,
sigs: T::Array[::RBI::Sig],
loc: T.nilable(::RBI::Loc),
comments: T::Array[::RBI::Comment],
block: T.nilable(T.proc.params(node: ::RBI::Method).void)
).void
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
sig { params(param: ::RBI::Param).void }
def <<(param); end
# source://rbi//lib/rbi/model.rb#455
sig { params(name: ::String).void }
def add_block_param(name); end
# source://rbi//lib/rbi/model.rb#445
sig { params(name: ::String, default_value: ::String).void }
def add_kw_opt_param(name, default_value); end
# source://rbi//lib/rbi/model.rb#440
sig { params(name: ::String).void }
def add_kw_param(name); end
# source://rbi//lib/rbi/model.rb#450
sig { params(name: ::String).void }
def add_kw_rest_param(name); end
# source://rbi//lib/rbi/model.rb#430
sig { params(name: ::String, default_value: ::String).void }
def add_opt_param(name, default_value); end
# source://rbi//lib/rbi/model.rb#425
sig { params(name: ::String).void }
def add_param(name); end
# source://rbi//lib/rbi/model.rb#435
sig { params(name: ::String).void }
def add_rest_param(name); end
# source://rbi//lib/rbi/model.rb#460
sig do
params(
params: T::Array[::RBI::SigParam],
return_type: T.any(::RBI::Type, ::String),
is_abstract: T::Boolean,
is_override: T::Boolean,
is_overridable: T::Boolean,
is_final: T::Boolean,
type_params: T::Array[::String],
checked: T.nilable(::Symbol),
block: T.nilable(T.proc.params(node: ::RBI::Sig).void)
).void
end
def add_sig(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), type_params: T.unsafe(nil), checked: T.unsafe(nil), &block); end
# @return [Boolean]
#
# source://rbi//lib/rbi/rewriters/merge_trees.rb#449
sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
def compatible_with?(other); end
# source://rbi//lib/rbi/model.rb#486
sig { returns(::String) }
def fully_qualified_name; end
# source://rbi//lib/rbi/index.rb#114
sig { override.returns(T::Array[::String]) }
def index_ids; end
# source://rbi//lib/rbi/model.rb#391
sig { returns(T::Boolean) }
def is_singleton; end
# source://rbi//lib/rbi/model.rb#391
def is_singleton=(_arg0); end
# source://rbi//lib/rbi/rewriters/merge_trees.rb#459
sig { override.params(other: ::RBI::Node).void }
def merge_with(other); end
# source://rbi//lib/rbi/model.rb#385
sig { returns(::String) }
def name; end
# source://rbi//lib/rbi/model.rb#385
def name=(_arg0); end
# source://rbi//lib/rbi/model.rb#388
sig { returns(T::Array[::RBI::Param]) }
def params; end
# source://rbi//lib/rbi/model.rb#397
sig { returns(T::Array[::RBI::Sig]) }
def sigs; end
# source://rbi//lib/rbi/model.rb#397
def sigs=(_arg0); end
# source://rbi//lib/rbi/model.rb#496
sig { override.returns(::String) }
def to_s; end
# source://rbi//lib/rbi/model.rb#394
sig { returns(::RBI::Visibility) }
def visibility; end
# source://rbi//lib/rbi/model.rb#394
def visibility=(_arg0); end
end
# source://rbi//lib/rbi/model.rb#1089
class RBI::MixesInClassMethods < ::RBI::Mixin
include ::RBI::Indexable
# @return [MixesInClassMethods] a new instance of MixesInClassMethods
#
# source://rbi//lib/rbi/model.rb#1091
sig do
params(
name: ::String,
names: ::String,
loc: T.nilable(::RBI::Loc),
comments: T::Array[::RBI::Comment],
block: T.nilable(T.proc.params(node: ::RBI::MixesInClassMethods).void)
).void
end
def initialize(name, *names, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
# @return [Boolean]
#
# source://rbi//lib/rbi/rewriters/merge_trees.rb#496
sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
def compatible_with?(other); end
# source://rbi//lib/rbi/index.rb#144
sig { override.returns(T::Array[::String]) }
def index_ids; end
# source://rbi//lib/rbi/model.rb#1098
sig { override.returns(::String) }
def to_s; end
end
# @abstract
#
# source://rbi//lib/rbi/model.rb#651
class RBI::Mixin < ::RBI::NodeWithComments
abstract!
# @return [Mixin] a new instance of Mixin
#
# source://rbi//lib/rbi/model.rb#656
sig do
params(
name: ::String,
names: T::Array[::String],
loc: T.nilable(::RBI::Loc),
comments: T::Array[::RBI::Comment]
).void
end
def initialize(name, names, loc: T.unsafe(nil), comments: T.unsafe(nil)); end
# @return [Boolean]
#
# source://rbi//lib/rbi/rewriters/merge_trees.rb#472
sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
def compatible_with?(other); end
# source://rbi//lib/rbi/model.rb#653
sig { returns(T::Array[::String]) }
def names; end
end
# source://rbi//lib/rbi/model.rb#175
class RBI::Module < ::RBI::Scope
# @return [Module] a new instance of Module
#
# source://rbi//lib/rbi/model.rb#180
sig do
params(
name: ::String,
loc: T.nilable(::RBI::Loc),
comments: T::Array[::RBI::Comment],
block: T.nilable(T.proc.params(node: ::RBI::Module).void)
).void
end
def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
# @return [Boolean]
#
# source://rbi//lib/rbi/rewriters/merge_trees.rb#379
sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
def compatible_with?(other); end
# source://rbi//lib/rbi/model.rb#188
sig { override.returns(::String) }
def fully_qualified_name; end
# source://rbi//lib/rbi/model.rb#177
sig { returns(::String) }
def name; end
# source://rbi//lib/rbi/model.rb#177
def name=(_arg0); end
end
# @abstract
#
# source://rbi//lib/rbi/model.rb#8
class RBI::Node
abstract!
# @return [Node] a new instance of Node
#
# source://rbi//lib/rbi/model.rb#16
sig { params(loc: T.nilable(::RBI::Loc)).void }
def initialize(loc: T.unsafe(nil)); end
# Can `self` and `_other` be merged into a single definition?
#
# @return [Boolean]
#
# source://rbi//lib/rbi/rewriters/merge_trees.rb#289
sig { params(_other: ::RBI::Node).returns(T::Boolean) }
def compatible_with?(_other); end
# source://rbi//lib/rbi/model.rb#22
sig { void }
def detach; end
# source://rbi//lib/rbi/model.rb#13
sig { returns(T.nilable(::RBI::Loc)) }
def loc; end
# source://rbi//lib/rbi/model.rb#13
def loc=(_arg0); end
# Merge `self` and `other` into a single definition
#
# source://rbi//lib/rbi/rewriters/merge_trees.rb#295
sig { params(other: ::RBI::Node).void }
def merge_with(other); end
# source://rbi//lib/rbi/rewriters/merge_trees.rb#298
sig { returns(T.nilable(::RBI::ConflictTree)) }
def parent_conflict_tree; end
# source://rbi//lib/rbi/model.rb#44
sig { returns(T.nilable(::RBI::Scope)) }
def parent_scope; end
# source://rbi//lib/rbi/model.rb#10
sig { returns(T.nilable(::RBI::Tree)) }
def parent_tree; end
# source://rbi//lib/rbi/model.rb#10
def parent_tree=(_arg0); end
# source://rbi//lib/rbi/printer.rb#832
sig do
params(
out: T.any(::IO, ::StringIO),
indent: ::Integer,
print_locs: T::Boolean,
max_line_length: T.nilable(::Integer)
).void
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
sig do
params(
out: T.any(::IO, ::StringIO),
indent: ::Integer,
print_locs: T::Boolean,
positional_names: T::Boolean
).void
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
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
# @raise [ReplaceNodeError]
#
# source://rbi//lib/rbi/model.rb#31
sig { params(node: ::RBI::Node).void }
def replace(node); end
# @return [Boolean]
#
# source://rbi//lib/rbi/rewriters/filter_versions.rb#91
sig { params(version: ::Gem::Version).returns(T::Boolean) }
def satisfies_version?(version); end
# source://rbi//lib/rbi/printer.rb#838
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
# @abstract
#
# source://rbi//lib/rbi/model.rb#88
class RBI::NodeWithComments < ::RBI::Node
abstract!
# @return [NodeWithComments] a new instance of NodeWithComments
#
# source://rbi//lib/rbi/model.rb#93
sig { params(loc: T.nilable(::RBI::Loc), comments: T::Array[::RBI::Comment]).void }
def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil)); end
# source://rbi//lib/rbi/model.rb#99
sig { returns(T::Array[::String]) }
def annotations; end
# source://rbi//lib/rbi/model.rb#90
sig { returns(T::Array[::RBI::Comment]) }
def comments; end
# source://rbi//lib/rbi/model.rb#90
def comments=(_arg0); end
# source://rbi//lib/rbi/rewriters/merge_trees.rb#312
sig { override.params(other: ::RBI::Node).void }
def merge_with(other); end
# source://rbi//lib/rbi/rewriters/filter_versions.rb#101
sig { returns(T::Array[::Gem::Requirement]) }
def version_requirements; end
end
# source://rbi//lib/rbi/model.rb#532
class RBI::OptParam < ::RBI::Param
# @return [OptParam] a new instance of OptParam
#
# source://rbi//lib/rbi/model.rb#537
sig do
params(
name: ::String,
value: ::String,
loc: T.nilable(::RBI::Loc),
comments: T::Array[::RBI::Comment],
block: T.nilable(T.proc.params(node: ::RBI::OptParam).void)
).void
end
def initialize(name, value, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
# source://rbi//lib/rbi/model.rb#544
sig { params(other: T.nilable(::Object)).returns(T::Boolean) }
def ==(other); end
# source://rbi//lib/rbi/model.rb#534
sig { returns(::String) }
def value; end
end
# @abstract
#
# source://rbi//lib/rbi/model.rb#502
class RBI::Param < ::RBI::NodeWithComments
abstract!
# @return [Param] a new instance of Param
#
# source://rbi//lib/rbi/model.rb#507
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
sig { returns(::String) }
def name; end
# source://rbi//lib/rbi/model.rb#514
sig { override.returns(::String) }
def to_s; end
end
# source://rbi//lib/rbi/parser.rb#7
class RBI::ParseError < ::RBI::Error
# @return [ParseError] a new instance of ParseError
#
# source://rbi//lib/rbi/parser.rb#12
sig { params(message: ::String, location: ::RBI::Loc).void }
def initialize(message, location); end
# source://rbi//lib/rbi/parser.rb#9
sig { returns(::RBI::Loc) }
def location; end
end
# source://rbi//lib/rbi/parser.rb#49
class RBI::Parser
# source://rbi//lib/rbi/parser.rb#80
sig { params(path: ::String).returns(::RBI::Tree) }
def parse_file(path); end
# source://rbi//lib/rbi/parser.rb#75
sig { params(string: ::String).returns(::RBI::Tree) }
def parse_string(string); end
private
# source://rbi//lib/rbi/parser.rb#87
sig { params(source: ::String, file: ::String).returns(::RBI::Tree) }
def parse(source, file:); end
class << self
# source://rbi//lib/rbi/parser.rb#57
sig { params(path: ::String).returns(::RBI::Tree) }
def parse_file(path); end
# source://rbi//lib/rbi/parser.rb#62
sig { params(paths: T::Array[::String]).returns(T::Array[::RBI::Tree]) }
def parse_files(paths); end
# source://rbi//lib/rbi/parser.rb#52
sig { params(string: ::String).returns(::RBI::Tree) }
def parse_string(string); end
# source://rbi//lib/rbi/parser.rb#68
sig { params(strings: T::Array[::String]).returns(T::Array[::RBI::Tree]) }
def parse_strings(strings); end
end
end
# source://rbi//lib/rbi/parser.rb#1000
class RBI::Parser::HeredocLocationVisitor < ::Prism::Visitor
# @return [HeredocLocationVisitor] a new instance of HeredocLocationVisitor
#
# source://rbi//lib/rbi/parser.rb#1002
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
sig { returns(::Prism::Location) }
def location; end
# source://rbi//lib/rbi/parser.rb#1023
sig { override.params(node: ::Prism::InterpolatedStringNode).void }
def visit_interpolated_string_node(node); end
# source://rbi//lib/rbi/parser.rb#1012
sig { override.params(node: ::Prism::StringNode).void }
def visit_string_node(node); end
private
# source://rbi//lib/rbi/parser.rb#1044
sig { params(node: T.any(::Prism::InterpolatedStringNode, ::Prism::StringNode)).void }
def handle_string_node(node); end
end
# source://rbi//lib/rbi/parser.rb#915
class RBI::Parser::SigBuilder < ::RBI::Parser::Visitor
# @return [SigBuilder] a new instance of SigBuilder
#
# source://rbi//lib/rbi/parser.rb#920
sig { params(content: ::String, file: ::String).void }
def initialize(content, file:); end
# source://rbi//lib/rbi/parser.rb#917
sig { returns(::RBI::Sig) }
def current; end
# source://rbi//lib/rbi/parser.rb#992
sig { override.params(node: ::Prism::AssocNode).void }
def visit_assoc_node(node); end
# source://rbi//lib/rbi/parser.rb#928
sig { override.params(node: ::Prism::CallNode).void }
def visit_call_node(node); end
end
# source://rbi//lib/rbi/parser.rb#164
class RBI::Parser::TreeBuilder < ::RBI::Parser::Visitor
# @return [TreeBuilder] a new instance of TreeBuilder
#
# source://rbi//lib/rbi/parser.rb#172
sig { params(source: ::String, comments: T::Array[::Prism::Comment], file: ::String).void }
def initialize(source, comments:, file:); end
# source://rbi//lib/rbi/parser.rb#169
sig { returns(T.nilable(::Prism::Node)) }
def last_node; end
# source://rbi//lib/rbi/parser.rb#166
sig { returns(::RBI::Tree) }
def tree; end
# source://rbi//lib/rbi/parser.rb#361
sig { params(node: ::Prism::CallNode).void }
def visit_call_node(node); end
# source://rbi//lib/rbi/parser.rb#185
sig { override.params(node: ::Prism::ClassNode).void }
def visit_class_node(node); end
# source://rbi//lib/rbi/parser.rb#236
sig { params(node: T.any(::Prism::ConstantPathWriteNode, ::Prism::ConstantWriteNode)).void }
def visit_constant_assign(node); end
# source://rbi//lib/rbi/parser.rb#229
sig { override.params(node: ::Prism::ConstantPathWriteNode).void }
def visit_constant_path_write_node(node); end
# source://rbi//lib/rbi/parser.rb#221
sig { override.params(node: ::Prism::ConstantWriteNode).void }
def visit_constant_write_node(node); end
# source://rbi//lib/rbi/parser.rb#291
sig { override.params(node: ::Prism::DefNode).void }
def visit_def_node(node); end
# source://rbi//lib/rbi/parser.rb#313
sig { override.params(node: ::Prism::ModuleNode).void }
def visit_module_node(node); end
# source://rbi//lib/rbi/parser.rb#332
sig { override.params(node: ::Prism::ProgramNode).void }
def visit_program_node(node); end
# source://rbi//lib/rbi/parser.rb#344
sig { override.params(node: ::Prism::SingletonClassNode).void }
def visit_singleton_class_node(node); end
private
# Collect all the remaining comments within a node
#
# source://rbi//lib/rbi/parser.rb#539
sig { params(node: ::Prism::Node).void }
def collect_dangling_comments(node); end
# Collect all the remaining comments after visiting the tree
#
# source://rbi//lib/rbi/parser.rb#557
sig { void }
def collect_orphan_comments; end
# source://rbi//lib/rbi/parser.rb#580
sig { returns(::RBI::Tree) }
def current_scope; end
# source://rbi//lib/rbi/parser.rb#585
sig { returns(T::Array[::RBI::Sig]) }
def current_sigs; end
# source://rbi//lib/rbi/parser.rb#592
sig { params(sigs: T::Array[::RBI::Sig]).returns(T::Array[::RBI::Comment]) }
def detach_comments_from_sigs(sigs); end
# source://rbi//lib/rbi/parser.rb#604
sig { params(node: ::Prism::Node).returns(T::Array[::RBI::Comment]) }
def node_comments(node); end
# source://rbi//lib/rbi/parser.rb#666
sig { params(node: ::Prism::Comment).returns(::RBI::Comment) }
def parse_comment(node); end
# source://rbi//lib/rbi/parser.rb#699
sig { params(node: T.nilable(::Prism::Node)).returns(T::Array[::RBI::Param]) }
def parse_params(node); end
# source://rbi//lib/rbi/parser.rb#673
sig { params(node: T.nilable(::Prism::Node)).returns(T::Array[::RBI::Arg]) }
def parse_send_args(node); end
# source://rbi//lib/rbi/parser.rb#765
sig { params(node: ::Prism::CallNode).returns(::RBI::Sig) }
def parse_sig(node); end
# source://rbi//lib/rbi/parser.rb#774
sig do
params(
node: T.any(::Prism::ConstantPathWriteNode, ::Prism::ConstantWriteNode)
).returns(T.nilable(::RBI::Struct))
end
def parse_struct(node); end
# source://rbi//lib/rbi/parser.rb#822
sig { params(send: ::Prism::CallNode).void }
def parse_tstruct_field(send); end
# source://rbi//lib/rbi/parser.rb#859
sig { params(name: ::String, node: ::Prism::Node).returns(::RBI::Visibility) }
def parse_visibility(name, node); end
# source://rbi//lib/rbi/parser.rb#873
sig { void }
def separate_header_comments; end
# source://rbi//lib/rbi/parser.rb#883
sig { void }
def set_root_tree_loc; end
# @return [Boolean]
#
# source://rbi//lib/rbi/parser.rb#902
sig { params(node: T.nilable(::Prism::Node)).returns(T::Boolean) }
def t_enum_value?(node); end
# @return [Boolean]
#
# source://rbi//lib/rbi/parser.rb#897
sig { params(node: T.nilable(::Prism::Node)).returns(T::Boolean) }
def type_variable_definition?(node); end
end
# source://rbi//lib/rbi/parser.rb#114
class RBI::Parser::Visitor < ::Prism::Visitor
# @return [Visitor] a new instance of Visitor
#
# source://rbi//lib/rbi/parser.rb#116
sig { params(source: ::String, file: ::String).void }
def initialize(source, file:); end
private
# source://rbi//lib/rbi/parser.rb#143
sig { params(node: ::Prism::Node).returns(::Prism::Location) }
def adjust_prism_location_for_heredoc(node); end
# source://rbi//lib/rbi/parser.rb#126
sig { params(node: ::Prism::Node).returns(::RBI::Loc) }
def node_loc(node); end
# source://rbi//lib/rbi/parser.rb#131
sig { params(node: T.nilable(::Prism::Node)).returns(T.nilable(::String)) }
def node_string(node); end
# source://rbi//lib/rbi/parser.rb#138
sig { params(node: ::Prism::Node).returns(::String) }
def node_string!(node); end
# @return [Boolean]
#
# source://rbi//lib/rbi/parser.rb#154
sig { params(node: T.nilable(::Prism::Node)).returns(T::Boolean) }
def self?(node); end
# @return [Boolean]
#
# source://rbi//lib/rbi/parser.rb#159
sig { params(node: T.nilable(::Prism::Node)).returns(T::Boolean) }
def t_sig_without_runtime?(node); end
end
# source://rbi//lib/rbi/printer.rb#7
class RBI::Printer < ::RBI::Visitor
# @return [Printer] a new instance of Printer
#
# source://rbi//lib/rbi/printer.rb#21
sig do
params(
out: T.any(::IO, ::StringIO),
indent: ::Integer,
print_locs: T::Boolean,
max_line_length: T.nilable(::Integer)
).void
end
def initialize(out: T.unsafe(nil), indent: T.unsafe(nil), print_locs: T.unsafe(nil), max_line_length: T.unsafe(nil)); end
# source://rbi//lib/rbi/printer.rb#15
sig { returns(::Integer) }
def current_indent; end
# source://rbi//lib/rbi/printer.rb#39
sig { void }
def dedent; end
# source://rbi//lib/rbi/printer.rb#9
def in_visibility_group; end
# source://rbi//lib/rbi/printer.rb#9
def in_visibility_group=(_arg0); end
# source://rbi//lib/rbi/printer.rb#34
sig { void }
def indent; end
# source://rbi//lib/rbi/printer.rb#18
sig { returns(T.nilable(::Integer)) }
def max_line_length; end
# source://rbi//lib/rbi/printer.rb#12
sig { returns(T.nilable(::RBI::Node)) }
def previous_node; end
# Print a string without indentation nor `\n` at the end.
#
# source://rbi//lib/rbi/printer.rb#45
sig { params(string: ::String).void }
def print(string); end
# source://rbi//lib/rbi/printer.rb#9
sig { returns(T::Boolean) }
def print_locs; end
# source://rbi//lib/rbi/printer.rb#9
def print_locs=(_arg0); end
# Print a string with indentation and `\n` at the end.
#
# source://rbi//lib/rbi/printer.rb#65
sig { params(string: ::String).void }
def printl(string); end
# Print a string without indentation but with a `\n` at the end.
#
# source://rbi//lib/rbi/printer.rb#51
sig { params(string: T.nilable(::String)).void }
def printn(string = T.unsafe(nil)); end
# Print a string with indentation but without a `\n` at the end.
#
# source://rbi//lib/rbi/printer.rb#58
sig { params(string: T.nilable(::String)).void }
def printt(string = T.unsafe(nil)); end
# source://rbi//lib/rbi/printer.rb#72
sig { override.params(nodes: T::Array[::RBI::Node]).void }
def visit_all(nodes); end
# source://rbi//lib/rbi/printer.rb#84
sig { override.params(file: ::RBI::File).void }
def visit_file(file); end
private
# @return [Boolean]
#
# source://rbi//lib/rbi/printer.rb#680
sig { params(node: ::RBI::Node).returns(T::Boolean) }
def oneline?(node); end
# source://rbi//lib/rbi/printer.rb#638
sig { params(node: ::RBI::Node).void }
def print_blank_line_before(node); end
# source://rbi//lib/rbi/printer.rb#648
sig { params(node: ::RBI::Node).void }
def print_loc(node); end
# source://rbi//lib/rbi/printer.rb#654
sig { params(node: ::RBI::Param, last: T::Boolean).void }
def print_param_comment_leading_space(node, last:); end
# source://rbi//lib/rbi/printer.rb#736
sig { params(node: ::RBI::Sig).void }
def print_sig_as_block(node); end
# source://rbi//lib/rbi/printer.rb#709
sig { params(node: ::RBI::Sig).void }
def print_sig_as_line(node); end
# source://rbi//lib/rbi/printer.rb#672
sig { params(node: ::RBI::SigParam, last: T::Boolean).void }
def print_sig_param_comment_leading_space(node, last:); end
# source://rbi//lib/rbi/printer.rb#796
sig { params(node: ::RBI::Sig).returns(T::Array[::String]) }
def sig_modifiers(node); end
# source://rbi//lib/rbi/printer.rb#453
sig { override.params(node: ::RBI::Arg).void }
def visit_arg(node); end
# source://rbi//lib/rbi/printer.rb#258
sig { params(node: ::RBI::Attr).void }
def visit_attr(node); end
# source://rbi//lib/rbi/printer.rb#241
sig { override.params(node: ::RBI::AttrAccessor).void }
def visit_attr_accessor(node); end
# source://rbi//lib/rbi/printer.rb#247
sig { override.params(node: ::RBI::AttrReader).void }
def visit_attr_reader(node); end
# source://rbi//lib/rbi/printer.rb#253
sig { override.params(node: ::RBI::AttrWriter).void }
def visit_attr_writer(node); end
# source://rbi//lib/rbi/printer.rb#138
sig { override.params(node: ::RBI::BlankLine).void }
def visit_blank_line(node); end
# source://rbi//lib/rbi/printer.rb#373
sig { override.params(node: ::RBI::BlockParam).void }
def visit_block_param(node); end
# source://rbi//lib/rbi/printer.rb#158
sig { override.params(node: ::RBI::Class).void }
def visit_class(node); end
# source://rbi//lib/rbi/printer.rb#121
sig { override.params(node: ::RBI::Comment).void }
def visit_comment(node); end
# source://rbi//lib/rbi/printer.rb#614
sig { override.params(node: ::RBI::ConflictTree).void }
def visit_conflict_tree(node); end
# source://rbi//lib/rbi/printer.rb#231
sig { override.params(node: ::RBI::Const).void }
def visit_const(node); end
# source://rbi//lib/rbi/printer.rb#385
sig { override.params(node: ::RBI::Extend).void }
def visit_extend(node); end
# source://rbi//lib/rbi/printer.rb#583
sig { override.params(node: ::RBI::Group).void }
def visit_group(node); end
# source://rbi//lib/rbi/printer.rb#567
sig { override.params(node: ::RBI::Helper).void }
def visit_helper(node); end
# source://rbi//lib/rbi/printer.rb#379
sig { override.params(node: ::RBI::Include).void }
def visit_include(node); end
# source://rbi//lib/rbi/printer.rb#459
sig { override.params(node: ::RBI::KwArg).void }
def visit_kw_arg(node); end
# source://rbi//lib/rbi/printer.rb#361
sig { override.params(node: ::RBI::KwOptParam).void }
def visit_kw_opt_param(node); end
# source://rbi//lib/rbi/printer.rb#355
sig { override.params(node: ::RBI::KwParam).void }
def visit_kw_param(node); end
# source://rbi//lib/rbi/printer.rb#367
sig { override.params(node: ::RBI::KwRestParam).void }
def visit_kw_rest_param(node); end
# source://rbi//lib/rbi/printer.rb#287
sig { override.params(node: ::RBI::Method).void }
def visit_method(node); end
# source://rbi//lib/rbi/printer.rb#577
sig { override.params(node: ::RBI::MixesInClassMethods).void }
def visit_mixes_in_class_methods(node); end
# source://rbi//lib/rbi/printer.rb#390
sig { params(node: ::RBI::Mixin).void }
def visit_mixin(node); end
# source://rbi//lib/rbi/printer.rb#152
sig { override.params(node: ::RBI::Module).void }
def visit_module(node); end
# source://rbi//lib/rbi/printer.rb#343
sig { override.params(node: ::RBI::OptParam).void }
def visit_opt_param(node); end
# source://rbi//lib/rbi/printer.rb#420
sig { override.params(node: ::RBI::Private).void }
def visit_private(node); end
# source://rbi//lib/rbi/printer.rb#414
sig { override.params(node: ::RBI::Protected).void }
def visit_protected(node); end
# source://rbi//lib/rbi/printer.rb#408
sig { override.params(node: ::RBI::Public).void }
def visit_public(node); end
# source://rbi//lib/rbi/printer.rb#104
sig { override.params(node: ::RBI::RBSComment).void }
def visit_rbs_comment(node); end
# source://rbi//lib/rbi/printer.rb#337
sig { override.params(node: ::RBI::ReqParam).void }
def visit_req_param(node); end
# source://rbi//lib/rbi/printer.rb#604
sig { override.params(node: ::RBI::RequiresAncestor).void }
def visit_requires_ancestor(node); end
# source://rbi//lib/rbi/printer.rb#349
sig { override.params(node: ::RBI::RestParam).void }
def visit_rest_param(node); end
# source://rbi//lib/rbi/printer.rb#175
sig { params(node: ::RBI::Scope).void }
def visit_scope(node); end
# source://rbi//lib/rbi/printer.rb#220
sig { params(node: ::RBI::Scope).void }
def visit_scope_body(node); end
# source://rbi//lib/rbi/printer.rb#624
sig { override.params(node: ::RBI::ScopeConflict).void }
def visit_scope_conflict(node); end
# source://rbi//lib/rbi/printer.rb#185
sig { params(node: ::RBI::Scope).void }
def visit_scope_header(node); end
# source://rbi//lib/rbi/printer.rb#435
sig { override.params(node: ::RBI::Send).void }
def visit_send(node); end
# source://rbi//lib/rbi/printer.rb#465
sig { override.params(node: ::RBI::Sig).void }
def visit_sig(node); end
# source://rbi//lib/rbi/printer.rb#486
sig { override.params(node: ::RBI::SigParam).void }
def visit_sig_param(node); end
# source://rbi//lib/rbi/printer.rb#170
sig { override.params(node: ::RBI::SingletonClass).void }
def visit_singleton_class(node); end
# source://rbi//lib/rbi/printer.rb#164
sig { override.params(node: ::RBI::Struct).void }
def visit_struct(node); end
# source://rbi//lib/rbi/printer.rb#509
sig { params(node: ::RBI::TStructField).void }
def visit_t_struct_field(node); end
# source://rbi//lib/rbi/printer.rb#528
sig { override.params(node: ::RBI::TEnum).void }
def visit_tenum(node); end
# source://rbi//lib/rbi/printer.rb#534
sig { override.params(node: ::RBI::TEnumBlock).void }
def visit_tenum_block(node); end
# source://rbi//lib/rbi/printer.rb#547
sig { override.params(node: ::RBI::TEnumValue).void }
def visit_tenum_value(node); end
# source://rbi//lib/rbi/printer.rb#144
sig { override.params(node: ::RBI::Tree).void }
def visit_tree(node); end
# source://rbi//lib/rbi/printer.rb#492
sig { override.params(node: ::RBI::TStruct).void }
def visit_tstruct(node); end
# source://rbi//lib/rbi/printer.rb#498
sig { override.params(node: ::RBI::TStructConst).void }
def visit_tstruct_const(node); end
# source://rbi//lib/rbi/printer.rb#504
sig { override.params(node: ::RBI::TStructProp).void }
def visit_tstruct_prop(node); end
# source://rbi//lib/rbi/printer.rb#557
sig { override.params(node: ::RBI::TypeMember).void }
def visit_type_member(node); end
# source://rbi//lib/rbi/printer.rb#425
sig { params(node: ::RBI::Visibility).void }
def visit_visibility(node); end
# source://rbi//lib/rbi/printer.rb#590
sig { override.params(node: ::RBI::VisibilityGroup).void }
def visit_visibility_group(node); end
end
# source://rbi//lib/rbi/printer.rb#5
class RBI::PrinterError < ::RBI::Error; end
# source://rbi//lib/rbi/model.rb#742
class RBI::Private < ::RBI::Visibility
# @return [Private] a new instance of Private
#
# source://rbi//lib/rbi/model.rb#744
sig do
params(
loc: T.nilable(::RBI::Loc),
comments: T::Array[::RBI::Comment],
block: T.nilable(T.proc.params(node: ::RBI::Private).void)
).void
end
def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
end
# source://rbi//lib/rbi/model.rb#734
class RBI::Protected < ::RBI::Visibility
# @return [Protected] a new instance of Protected
#
# source://rbi//lib/rbi/model.rb#736
sig do
params(
loc: T.nilable(::RBI::Loc),
comments: T::Array[::RBI::Comment],
block: T.nilable(T.proc.params(node: ::RBI::Protected).void)
).void
end
def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
end
# source://rbi//lib/rbi/model.rb#726
class RBI::Public < ::RBI::Visibility
# @return [Public] a new instance of Public
#
# source://rbi//lib/rbi/model.rb#728
sig do
params(
loc: T.nilable(::RBI::Loc),
comments: T::Array[::RBI::Comment],
block: T.nilable(T.proc.params(node: ::RBI::Public).void)
).void
end
def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
end
# source://rbi//lib/rbi/rbs/method_type_translator.rb#5
module RBI::RBS; end
# source://rbi//lib/rbi/rbs/method_type_translator.rb#6
class RBI::RBS::MethodTypeTranslator
# @return [MethodTypeTranslator] a new instance of MethodTypeTranslator
#
# source://rbi//lib/rbi/rbs/method_type_translator.rb#22
sig { params(method: ::RBI::Method).void }
def initialize(method); end
# source://rbi//lib/rbi/rbs/method_type_translator.rb#19
sig { returns(::RBI::Sig) }
def result; end
# source://rbi//lib/rbi/rbs/method_type_translator.rb#28
sig { params(type: ::RBS::MethodType).void }
def visit(type); end
private
# source://rbi//lib/rbi/rbs/method_type_translator.rb#100
sig { params(param: ::RBS::Types::Function::Param, index: ::Integer).returns(::RBI::SigParam) }
def translate_function_param(param, index); end
# source://rbi//lib/rbi/rbs/method_type_translator.rb#115
sig { params(type: T.untyped).returns(::RBI::Type) }
def translate_type(type); end
# @raise [Error]
#
# source://rbi//lib/rbi/rbs/method_type_translator.rb#42
sig { params(type: ::RBS::Types::Block).void }
def visit_block_type(type); end
# source://rbi//lib/rbi/rbs/method_type_translator.rb#57
sig { params(type: ::RBS::Types::Function).void }
def visit_function_type(type); end
class << self
# source://rbi//lib/rbi/rbs/method_type_translator.rb#11
sig { params(method: ::RBI::Method, type: ::RBS::MethodType).returns(::RBI::Sig) }
def translate(method, type); end
end
end
# source://rbi//lib/rbi/rbs/method_type_translator.rb#7
class RBI::RBS::MethodTypeTranslator::Error < ::RBI::Error; end
# source://rbi//lib/rbi/rbs/type_translator.rb#6
class RBI::RBS::TypeTranslator
class << self
# source://rbi//lib/rbi/rbs/type_translator.rb#33
sig do
params(
type: T.any(::RBS::Types::Alias, ::RBS::Types::Bases::Any, ::RBS::Types::Bases::Bool, ::RBS::Types::Bases::Bottom, ::RBS::Types::Bases::Class, ::RBS::Types::Bases::Instance, ::RBS::Types::Bases::Nil, ::RBS::Types::Bases::Self, ::RBS::Types::Bases::Top, ::RBS::Types::Bases::Void, ::RBS::Types::ClassInstance, ::RBS::Types::ClassSingleton, ::RBS::Types::Function, ::RBS::Types::Interface, ::RBS::Types::Intersection, ::RBS::Types::Literal, ::RBS::Types::Optional, ::RBS::Types::Proc, ::RBS::Types::Record, ::RBS::Types::Tuple, ::RBS::Types::Union, ::RBS::Types::UntypedFunction, ::RBS::Types::Variable)
).returns(::RBI::Type)
end
def translate(type); end
private
# source://rbi//lib/rbi/rbs/type_translator.rb#95
sig { params(type: ::RBS::Types::ClassInstance).returns(::RBI::Type) }
def translate_class_instance(type); end
# source://rbi//lib/rbi/rbs/type_translator.rb#103
sig { params(type: ::RBS::Types::Function).returns(::RBI::Type) }
def translate_function(type); end
# source://rbi//lib/rbi/rbs/type_translator.rb#150
sig { params(type_name: ::String).returns(::String) }
def translate_t_generic_type(type_name); end
end
end
# A comment representing a RBS type prefixed with `#:`
#
# source://rbi//lib/rbi/model.rb#78
class RBI::RBSComment < ::RBI::Comment
# source://rbi//lib/rbi/model.rb#80
sig { params(other: ::Object).returns(T::Boolean) }
def ==(other); end
end
# source://rbi//lib/rbi/rbs_printer.rb#5
class RBI::RBSPrinter < ::RBI::Visitor
# @return [RBSPrinter] a new instance of RBSPrinter
#
# source://rbi//lib/rbi/rbs_printer.rb#30
sig do
params(
out: T.any(::IO, ::StringIO),
indent: ::Integer,
print_locs: T::Boolean,
positional_names: T::Boolean,
max_line_length: T.nilable(::Integer)
).void
end
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
# source://rbi//lib/rbi/rbs_printer.rb#15
sig { returns(::Integer) }
def current_indent; end
# source://rbi//lib/rbi/rbs_printer.rb#49
sig { void }
def dedent; end
# source://rbi//lib/rbi/rbs_printer.rb#9
def in_visibility_group; end
# source://rbi//lib/rbi/rbs_printer.rb#9
def in_visibility_group=(_arg0); end
# source://rbi//lib/rbi/rbs_printer.rb#44
sig { void }
def indent; end
# source://rbi//lib/rbi/rbs_printer.rb#21
sig { returns(T.nilable(::Integer)) }
def max_line_length; end
# source://rbi//lib/rbi/rbs_printer.rb#18
sig { returns(T::Boolean) }
def positional_names; end
# source://rbi//lib/rbi/rbs_printer.rb#18
def positional_names=(_arg0); end
# source://rbi//lib/rbi/rbs_printer.rb#12
sig { returns(T.nilable(::RBI::Node)) }
def previous_node; end
# Print a string without indentation nor `\n` at the end.
#
# source://rbi//lib/rbi/rbs_printer.rb#55
sig { params(string: ::String).void }
def print(string); end
# source://rbi//lib/rbi/rbs_printer.rb#302
sig { params(node: ::RBI::Attr, sig: ::RBI::Sig).void }
def print_attr_sig(node, sig); end
# source://rbi//lib/rbi/rbs_printer.rb#9
sig { returns(T::Boolean) }
def print_locs; end
# source://rbi//lib/rbi/rbs_printer.rb#9
def print_locs=(_arg0); end
# source://rbi//lib/rbi/rbs_printer.rb#398
sig { params(node: ::RBI::Method, sig: ::RBI::Sig).void }
def print_method_sig(node, sig); end
# source://rbi//lib/rbi/rbs_printer.rb#415
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
sig { params(node: ::RBI::Method, sig: ::RBI::Sig).void }
def print_method_sig_multiline(node, sig); end
# Print a string with indentation and `\n` at the end.
#
# source://rbi//lib/rbi/rbs_printer.rb#75
sig { params(string: ::String).void }
def printl(string); end
# Print a string without indentation but with a `\n` at the end.
#
# source://rbi//lib/rbi/rbs_printer.rb#61
sig { params(string: T.nilable(::String)).void }
def printn(string = T.unsafe(nil)); end
# Print a string with indentation but without a `\n` at the end.
#
# source://rbi//lib/rbi/rbs_printer.rb#68
sig { params(string: T.nilable(::String)).void }
def printt(string = T.unsafe(nil)); end
# source://rbi//lib/rbi/rbs_printer.rb#82
sig { override.params(nodes: T::Array[::RBI::Node]).void }
def visit_all(nodes); end
# source://rbi//lib/rbi/rbs_printer.rb#678
sig { override.params(node: ::RBI::Arg).void }
def visit_arg(node); end
# source://rbi//lib/rbi/rbs_printer.rb#270
sig { params(node: ::RBI::Attr).void }
def visit_attr(node); end
# source://rbi//lib/rbi/rbs_printer.rb#253
sig { override.params(node: ::RBI::AttrAccessor).void }
def visit_attr_accessor(node); end
# source://rbi//lib/rbi/rbs_printer.rb#259
sig { override.params(node: ::RBI::AttrReader).void }
def visit_attr_reader(node); end
# source://rbi//lib/rbi/rbs_printer.rb#265
sig { override.params(node: ::RBI::AttrWriter).void }
def visit_attr_writer(node); end
# source://rbi//lib/rbi/rbs_printer.rb#124
sig { override.params(node: ::RBI::BlankLine).void }
def visit_blank_line(node); end
# source://rbi//lib/rbi/rbs_printer.rb#610
sig { override.params(node: ::RBI::BlockParam).void }
def visit_block_param(node); end
# source://rbi//lib/rbi/rbs_printer.rb#144
sig { override.params(node: ::RBI::Class).void }
def visit_class(node); end
# source://rbi//lib/rbi/rbs_printer.rb#107
sig { override.params(node: ::RBI::Comment).void }
def visit_comment(node); end
# source://rbi//lib/rbi/rbs_printer.rb#814
sig { override.params(node: ::RBI::ConflictTree).void }
def visit_conflict_tree(node); end
# source://rbi//lib/rbi/rbs_printer.rb#237
sig { override.params(node: ::RBI::Const).void }
def visit_const(node); end
# source://rbi//lib/rbi/rbs_printer.rb#622
sig { override.params(node: ::RBI::Extend).void }
def visit_extend(node); end
# source://rbi//lib/rbi/rbs_printer.rb#94
sig { override.params(file: ::RBI::File).void }
def visit_file(file); end
# source://rbi//lib/rbi/rbs_printer.rb#787
sig { override.params(node: ::RBI::Group).void }
def visit_group(node); end
# source://rbi//lib/rbi/rbs_printer.rb#775
sig { override.params(node: ::RBI::Helper).void }
def visit_helper(node); end
# source://rbi//lib/rbi/rbs_printer.rb#616
sig { override.params(node: ::RBI::Include).void }
def visit_include(node); end
# source://rbi//lib/rbi/rbs_printer.rb#684
sig { override.params(node: ::RBI::KwArg).void }
def visit_kw_arg(node); end
# source://rbi//lib/rbi/rbs_printer.rb#598
sig { override.params(node: ::RBI::KwOptParam).void }
def visit_kw_opt_param(node); end
# source://rbi//lib/rbi/rbs_printer.rb#592
sig { override.params(node: ::RBI::KwParam).void }
def visit_kw_param(node); end
# source://rbi//lib/rbi/rbs_printer.rb#604
sig { override.params(node: ::RBI::KwRestParam).void }
def visit_kw_rest_param(node); end
# source://rbi//lib/rbi/rbs_printer.rb#325
sig { override.params(node: ::RBI::Method).void }
def visit_method(node); end
# source://rbi//lib/rbi/rbs_printer.rb#781
sig { override.params(node: ::RBI::MixesInClassMethods).void }
def visit_mixes_in_class_methods(node); end
# source://rbi//lib/rbi/rbs_printer.rb#627
sig { params(node: ::RBI::Mixin).void }
def visit_mixin(node); end
# source://rbi//lib/rbi/rbs_printer.rb#138
sig { override.params(node: ::RBI::Module).void }
def visit_module(node); end
# source://rbi//lib/rbi/rbs_printer.rb#572
sig { override.params(node: ::RBI::OptParam).void }
def visit_opt_param(node); end
# source://rbi//lib/rbi/rbs_printer.rb#657
sig { override.params(node: ::RBI::Private).void }
def visit_private(node); end
# source://rbi//lib/rbi/rbs_printer.rb#651
sig { override.params(node: ::RBI::Protected).void }
def visit_protected(node); end
# source://rbi//lib/rbi/rbs_printer.rb#645
sig { override.params(node: ::RBI::Public).void }
def visit_public(node); end
# source://rbi//lib/rbi/rbs_printer.rb#562
sig { override.params(node: ::RBI::ReqParam).void }
def visit_req_param(node); end
# source://rbi//lib/rbi/rbs_printer.rb#808
sig { override.params(node: ::RBI::RequiresAncestor).void }
def visit_requires_ancestor(node); end
# source://rbi//lib/rbi/rbs_printer.rb#582
sig { override.params(node: ::RBI::RestParam).void }
def visit_rest_param(node); end
# source://rbi//lib/rbi/rbs_printer.rb#161
sig { params(node: ::RBI::Scope).void }
def visit_scope(node); end
# source://rbi//lib/rbi/rbs_printer.rb#224
sig { params(node: ::RBI::Scope).void }
def visit_scope_body(node); end
# source://rbi//lib/rbi/rbs_printer.rb#824
sig { override.params(node: ::RBI::ScopeConflict).void }
def visit_scope_conflict(node); end
# source://rbi//lib/rbi/rbs_printer.rb#171
sig { params(node: ::RBI::Scope).void }
def visit_scope_header(node); end
# source://rbi//lib/rbi/rbs_printer.rb#672
sig { override.params(node: ::RBI::Send).void }
def visit_send(node); end
# source://rbi//lib/rbi/rbs_printer.rb#543
sig { params(node: ::RBI::Sig).void }
def visit_sig(node); end
# source://rbi//lib/rbi/rbs_printer.rb#556
sig { params(node: ::RBI::SigParam).void }
def visit_sig_param(node); end
# source://rbi//lib/rbi/rbs_printer.rb#156
sig { override.params(node: ::RBI::SingletonClass).void }
def visit_singleton_class(node); end
# source://rbi//lib/rbi/rbs_printer.rb#150
sig { override.params(node: ::RBI::Struct).void }
def visit_struct(node); end
# source://rbi//lib/rbi/rbs_printer.rb#741
sig { override.params(node: ::RBI::TEnum).void }
def visit_tenum(node); end
# source://rbi//lib/rbi/rbs_printer.rb#747
sig { override.params(node: ::RBI::TEnumBlock).void }
def visit_tenum_block(node); end
# source://rbi//lib/rbi/rbs_printer.rb#753
sig { override.params(node: ::RBI::TEnumValue).void }
def visit_tenum_value(node); end
# source://rbi//lib/rbi/rbs_printer.rb#130
sig { override.params(node: ::RBI::Tree).void }
def visit_tree(node); end
# source://rbi//lib/rbi/rbs_printer.rb#690
sig { override.params(node: ::RBI::TStruct).void }
def visit_tstruct(node); end
# source://rbi//lib/rbi/rbs_printer.rb#725
sig { override.params(node: ::RBI::TStructConst).void }
def visit_tstruct_const(node); end
# source://rbi//lib/rbi/rbs_printer.rb#733
sig { override.params(node: ::RBI::TStructProp).void }
def visit_tstruct_prop(node); end
# source://rbi//lib/rbi/rbs_printer.rb#769
sig { override.params(node: ::RBI::TypeMember).void }
def visit_type_member(node); end
# source://rbi//lib/rbi/rbs_printer.rb#662
sig { params(node: ::RBI::Visibility).void }
def visit_visibility(node); end
# source://rbi//lib/rbi/rbs_printer.rb#794
sig { override.params(node: ::RBI::VisibilityGroup).void }
def visit_visibility_group(node); end
private
# @return [Boolean]
#
# source://rbi//lib/rbi/rbs_printer.rb#927
sig { params(node: ::RBI::Node).returns(T::Boolean) }
def oneline?(node); end
# Parse a string containing a `T.let(x, X)` and extract the type
#
# Returns `nil` is the string is not a `T.let`.
#
# source://rbi//lib/rbi/rbs_printer.rb#961
sig { params(code: T.nilable(::String)).returns(T.nilable(::String)) }
def parse_t_let(code); end
# source://rbi//lib/rbi/rbs_printer.rb#949
sig { params(type: T.any(::RBI::Type, ::String)).returns(::RBI::Type) }
def parse_type(type); end
# source://rbi//lib/rbi/rbs_printer.rb#840
sig { params(node: ::RBI::Node).void }
def print_blank_line_before(node); end
# source://rbi//lib/rbi/rbs_printer.rb#859
sig { params(node: ::RBI::Node).void }
def print_loc(node); end
# source://rbi//lib/rbi/rbs_printer.rb#901
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
sig { params(node: ::RBI::Method, param: ::RBI::SigParam).void }
def print_sig_param(node, param); end
# source://rbi//lib/rbi/rbs_printer.rb#919
sig { params(node: ::RBI::SigParam, last: T::Boolean).void }
def print_sig_param_comment_leading_space(node, last:); end
end
# source://rbi//lib/rbi/rbs_printer.rb#6
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
class RBI::ReqParam < ::RBI::Param
# @return [ReqParam] a new instance of ReqParam
#
# source://rbi//lib/rbi/model.rb#521
sig do
params(
name: ::String,
loc: T.nilable(::RBI::Loc),
comments: T::Array[::RBI::Comment],
block: T.nilable(T.proc.params(node: ::RBI::ReqParam).void)
).void
end
def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
# source://rbi//lib/rbi/model.rb#527
sig { params(other: T.nilable(::Object)).returns(T::Boolean) }
def ==(other); end
end
# source://rbi//lib/rbi/model.rb#1103
class RBI::RequiresAncestor < ::RBI::NodeWithComments
include ::RBI::Indexable
# @return [RequiresAncestor] a new instance of RequiresAncestor
#
# source://rbi//lib/rbi/model.rb#1108
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/index.rb#154
sig { override.returns(T::Array[::String]) }
def index_ids; end
# source://rbi//lib/rbi/model.rb#1105
sig { returns(::String) }
def name; end
# source://rbi//lib/rbi/model.rb#1115
sig { override.returns(::String) }
def to_s; end
end
# source://rbi//lib/rbi/model.rb#549
class RBI::RestParam < ::RBI::Param
# @return [RestParam] a new instance of RestParam
#
# source://rbi//lib/rbi/model.rb#551
sig do
params(
name: ::String,
loc: T.nilable(::RBI::Loc),
comments: T::Array[::RBI::Comment],
block: T.nilable(T.proc.params(node: ::RBI::RestParam).void)
).void
end
def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
# source://rbi//lib/rbi/model.rb#563
sig { params(other: T.nilable(::Object)).returns(T::Boolean) }
def ==(other); end
# source://rbi//lib/rbi/model.rb#558
sig { override.returns(::String) }
def to_s; end
end
# source://rbi//lib/rbi/rewriters/add_sig_templates.rb#5
module RBI::Rewriters; end
# source://rbi//lib/rbi/rewriters/add_sig_templates.rb#6
class RBI::Rewriters::AddSigTemplates < ::RBI::Visitor
# @return [AddSigTemplates] a new instance of AddSigTemplates
#
# source://rbi//lib/rbi/rewriters/add_sig_templates.rb#8
sig { params(with_todo_comment: T::Boolean).void }
def initialize(with_todo_comment: T.unsafe(nil)); end
# source://rbi//lib/rbi/rewriters/add_sig_templates.rb#15
sig { override.params(node: T.nilable(::RBI::Node)).void }
def visit(node); end
private
# source://rbi//lib/rbi/rewriters/add_sig_templates.rb#29
sig { params(attr: ::RBI::Attr).void }
def add_attr_sig(attr); end
# source://rbi//lib/rbi/rewriters/add_sig_templates.rb#44
sig { params(method: ::RBI::Method).void }
def add_method_sig(method); end
# source://rbi//lib/rbi/rewriters/add_sig_templates.rb#55
sig { params(node: ::RBI::NodeWithComments).void }
def add_todo_comment(node); end
end
# source://rbi//lib/rbi/rewriters/annotate.rb#6
class RBI::Rewriters::Annotate < ::RBI::Visitor
# @return [Annotate] a new instance of Annotate
#
# source://rbi//lib/rbi/rewriters/annotate.rb#8
sig { params(annotation: ::String, annotate_scopes: T::Boolean, annotate_properties: T::Boolean).void }
def initialize(annotation, annotate_scopes: T.unsafe(nil), annotate_properties: T.unsafe(nil)); end
# source://rbi//lib/rbi/rewriters/annotate.rb#17
sig { override.params(node: T.nilable(::RBI::Node)).void }
def visit(node); end
private
# source://rbi//lib/rbi/rewriters/annotate.rb#30
sig { params(node: ::RBI::NodeWithComments).void }
def annotate_node(node); end
# @return [Boolean]
#
# source://rbi//lib/rbi/rewriters/annotate.rb#37
sig { params(node: ::RBI::Node).returns(T::Boolean) }
def root?(node); end
end
# source://rbi//lib/rbi/rewriters/attr_to_methods.rb#22
class RBI::Rewriters::AttrToMethods < ::RBI::Visitor
# source://rbi//lib/rbi/rewriters/attr_to_methods.rb#25
sig { override.params(node: T.nilable(::RBI::Node)).void }
def visit(node); end
private
# @raise [ReplaceNodeError]
#
# source://rbi//lib/rbi/rewriters/attr_to_methods.rb#38
sig { params(node: ::RBI::Node, with: T::Array[::RBI::Node]).void }
def replace(node, with:); end
end
# source://rbi//lib/rbi/rewriters/deannotate.rb#6
class RBI::Rewriters::Deannotate < ::RBI::Visitor
# @return [Deannotate] a new instance of Deannotate
#
# source://rbi//lib/rbi/rewriters/deannotate.rb#8
sig { params(annotation: ::String).void }
def initialize(annotation); end
# source://rbi//lib/rbi/rewriters/deannotate.rb#15
sig { override.params(node: T.nilable(::RBI::Node)).void }
def visit(node); end
private
# source://rbi//lib/rbi/rewriters/deannotate.rb#26
sig { params(node: ::RBI::NodeWithComments).void }
def deannotate_node(node); end
end
# Take a gem version and filter out all RBI that is not relevant to that version based on @version annotations
# in comments. As an example:
#
# ~~~rb
# tree = Parser.parse_string(<<~RBI)
# class Foo
# # @version > 0.3.0
# def bar
# end
#
# # @version <= 0.3.0
# def bar(arg1)
# end
# end
# RBI
#
# Rewriters::FilterVersions.filter(tree, Gem::Version.new("0.3.1"))
#
# assert_equal(<<~RBI, tree.string)
# class Foo
# # @version > 0.3.0
# def bar
# end
# end
# RBI
# ~~~
#
# Supported operators:
# - equals `=`
# - not equals `!=`
# - greater than `>`
# - greater than or equal to `>=`
# - less than `<`
# - less than or equal to `<=`
# - pessimistic or twiddle-wakka`~>`
#
# And/or logic:
# - "And" logic: put multiple versions on the same line
# - e.g. `@version > 0.3.0, <1.0.0` means version must be greater than 0.3.0 AND less than 1.0.0
# - "Or" logic: put multiple versions on subsequent lines
# - e.g. the following means version must be less than 0.3.0 OR greater than 1.0.0
# ```
# # @version < 0.3.0
# # @version > 1.0.0
# ```
# Prerelease versions:
# - Prerelease versions are considered less than their non-prerelease counterparts
# - e.g. `0.4.0-prerelease` is less than `0.4.0`
#
# RBI with no versions:
# - RBI with no version annotations are automatically counted towards ALL versions
#
# source://rbi//lib/rbi/rewriters/filter_versions.rb#57
class RBI::Rewriters::FilterVersions < ::RBI::Visitor
# @return [FilterVersions] a new instance of FilterVersions
#
# source://rbi//lib/rbi/rewriters/filter_versions.rb#69
sig { params(version: ::Gem::Version).void }
def initialize(version); end
# source://rbi//lib/rbi/rewriters/filter_versions.rb#76
sig { override.params(node: T.nilable(::RBI::Node)).void }
def visit(node); end
class << self
# source://rbi//lib/rbi/rewriters/filter_versions.rb#62
sig { params(tree: ::RBI::Tree, version: ::Gem::Version).void }
def filter(tree, version); end
end
end
# source://rbi//lib/rbi/rewriters/filter_versions.rb#58
RBI::Rewriters::FilterVersions::VERSION_PREFIX = T.let(T.unsafe(nil), String)
# Rewrite non-singleton methods inside singleton classes to singleton methods
#
# Example:
# ~~~rb
# class << self
# def m1; end
# def self.m2; end
#
# class << self
# def m3; end
# end
# end
# ~~~
#
# will be rewritten to:
#
# ~~~rb
# def self.m1; end
#
# class << self
# def self.m2; end
# def self.m3; end
# end
# ~~~
#
# source://rbi//lib/rbi/rewriters/flatten_singleton_methods.rb#30
class RBI::Rewriters::FlattenSingletonMethods < ::RBI::Visitor
# source://rbi//lib/rbi/rewriters/flatten_singleton_methods.rb#33
sig { override.params(node: T.nilable(::RBI::Node)).void }
def visit(node); end
end
# Flattens visibility nodes into method nodes
#
# Example:
# ~~~rb
# class A
# def m1; end
# private
# def m2; end
# def m3; end
# end
# ~~~
#
# will be transformed into:
#
# ~~~rb
# class A
# def m1; end
# private def m2; end
# private def m3; end
# end
# ~~~
#
# source://rbi//lib/rbi/rewriters/flatten_visibilities.rb#27
class RBI::Rewriters::FlattenVisibilities < ::RBI::Visitor
# @return [FlattenVisibilities] a new instance of FlattenVisibilities
#
# source://rbi//lib/rbi/rewriters/flatten_visibilities.rb#29
sig { void }
def initialize; end
# source://rbi//lib/rbi/rewriters/flatten_visibilities.rb#37
sig { override.params(node: T.nilable(::RBI::Node)).void }
def visit(node); end
end
# source://rbi//lib/rbi/rewriters/group_nodes.rb#8
class RBI::Rewriters::GroupNodes < ::RBI::Visitor
# source://rbi//lib/rbi/rewriters/group_nodes.rb#11
sig { override.params(node: T.nilable(::RBI::Node)).void }
def visit(node); end
private
# source://rbi//lib/rbi/rewriters/group_nodes.rb#35
sig { params(node: ::RBI::Node).returns(::RBI::Group::Kind) }
def group_kind(node); end
end
# Merge two RBI trees together
#
# Be this `Tree`:
# ~~~rb
# class Foo
# attr_accessor :a
# def m; end
# C = 10
# end
# ~~~
#
# Merged with this one:
# ~~~rb
# class Foo
# attr_reader :a
# def m(x); end
# C = 10
# end
# ~~~
#
# Compatible definitions are merged together while incompatible definitions are moved into a `ConflictTree`:
# ~~~rb
# class Foo
# <<<<<<< left
# attr_accessor :a
# def m; end
# =======
# attr_reader :a
# def m(x); end
# >>>>>>> right
# C = 10
# end
# ~~~
#
# source://rbi//lib/rbi/rewriters/merge_trees.rb#39
class RBI::Rewriters::Merge
# @return [Merge] a new instance of Merge
#
# source://rbi//lib/rbi/rewriters/merge_trees.rb#66
sig { params(left_name: ::String, right_name: ::String, keep: ::RBI::Rewriters::Merge::Keep).void }
def initialize(left_name: T.unsafe(nil), right_name: T.unsafe(nil), keep: T.unsafe(nil)); end
# source://rbi//lib/rbi/rewriters/merge_trees.rb#75
sig { params(tree: ::RBI::Tree).void }
def merge(tree); end
# source://rbi//lib/rbi/rewriters/merge_trees.rb#63
sig { returns(::RBI::MergeTree) }
def tree; end
class << self
# source://rbi//lib/rbi/rewriters/merge_trees.rb#50
sig do
params(
left: ::RBI::Tree,
right: ::RBI::Tree,
left_name: ::String,
right_name: ::String,
keep: ::RBI::Rewriters::Merge::Keep
).returns(::RBI::MergeTree)
end
def merge_trees(left, right, left_name: T.unsafe(nil), right_name: T.unsafe(nil), keep: T.unsafe(nil)); end
end
end
# Used for logging / error displaying purpose
#
# source://rbi//lib/rbi/rewriters/merge_trees.rb#82
class RBI::Rewriters::Merge::Conflict
# @return [Conflict] a new instance of Conflict
#
# source://rbi//lib/rbi/rewriters/merge_trees.rb#90
sig { params(left: ::RBI::Node, right: ::RBI::Node, left_name: ::String, right_name: ::String).void }
def initialize(left:, right:, left_name:, right_name:); end
# source://rbi//lib/rbi/rewriters/merge_trees.rb#84
sig { returns(::RBI::Node) }
def left; end
# source://rbi//lib/rbi/rewriters/merge_trees.rb#87
sig { returns(::String) }
def left_name; end
# source://rbi//lib/rbi/rewriters/merge_trees.rb#84
def right; end
# source://rbi//lib/rbi/rewriters/merge_trees.rb#87
def right_name; end
# source://rbi//lib/rbi/rewriters/merge_trees.rb#98
sig { returns(::String) }
def to_s; end
end
# Merge adjacent conflict trees
#
# Transform this:
# ~~~rb
# class Foo
# <<<<<<< left
# def m1; end
# =======
# def m1(a); end
# >>>>>>> right
# <<<<<<< left
# def m2(a); end
# =======
# def m2; end
# >>>>>>> right
# end
# ~~~
#
# Into this:
# ~~~rb
# class Foo
# <<<<<<< left
# def m1; end
# def m2(a); end
# =======
# def m1(a); end
# def m2; end
# >>>>>>> right
# end
# ~~~
#
# source://rbi//lib/rbi/rewriters/merge_trees.rb#247
class RBI::Rewriters::Merge::ConflictTreeMerger < ::RBI::Visitor
# source://rbi//lib/rbi/rewriters/merge_trees.rb#250
sig { override.params(node: T.nilable(::RBI::Node)).void }
def visit(node); end
# source://rbi//lib/rbi/rewriters/merge_trees.rb#256
sig { override.params(nodes: T::Array[::RBI::Node]).void }
def visit_all(nodes); end
private
# source://rbi//lib/rbi/rewriters/merge_trees.rb#277
sig { params(left: ::RBI::Tree, right: ::RBI::Tree).void }
def merge_conflict_trees(left, right); end
end
# source://rbi//lib/rbi/rewriters/merge_trees.rb#40
class RBI::Rewriters::Merge::Keep
class << self
private
# source://rbi//lib/rbi/rewriters/merge_trees.rb#45
def new(*_arg0); end
end
end
# source://rbi//lib/rbi/rewriters/merge_trees.rb#42
RBI::Rewriters::Merge::Keep::LEFT = T.let(T.unsafe(nil), RBI::Rewriters::Merge::Keep)
# source://rbi//lib/rbi/rewriters/merge_trees.rb#41
RBI::Rewriters::Merge::Keep::NONE = T.let(T.unsafe(nil), RBI::Rewriters::Merge::Keep)
# source://rbi//lib/rbi/rewriters/merge_trees.rb#43
RBI::Rewriters::Merge::Keep::RIGHT = T.let(T.unsafe(nil), RBI::Rewriters::Merge::Keep)
# source://rbi//lib/rbi/rewriters/merge_trees.rb#103
class RBI::Rewriters::Merge::TreeMerger < ::RBI::Visitor
# @return [TreeMerger] a new instance of TreeMerger
#
# source://rbi//lib/rbi/rewriters/merge_trees.rb#108
sig do
params(
output: ::RBI::Tree,
left_name: ::String,
right_name: ::String,
keep: ::RBI::Rewriters::Merge::Keep
).void
end
def initialize(output, left_name: T.unsafe(nil), right_name: T.unsafe(nil), keep: T.unsafe(nil)); end
# source://rbi//lib/rbi/rewriters/merge_trees.rb#105
sig { returns(T::Array[::RBI::Rewriters::Merge::Conflict]) }
def conflicts; end
# source://rbi//lib/rbi/rewriters/merge_trees.rb#121
sig { override.params(node: T.nilable(::RBI::Node)).void }
def visit(node); end
private
# source://rbi//lib/rbi/rewriters/merge_trees.rb#170
sig { returns(::RBI::Tree) }
def current_scope; end
# source://rbi//lib/rbi/rewriters/merge_trees.rb#187
sig { params(left: ::RBI::Scope, right: ::RBI::Scope).void }
def make_conflict_scope(left, right); end
# source://rbi//lib/rbi/rewriters/merge_trees.rb#194
sig { params(left: ::RBI::Node, right: ::RBI::Node).void }
def make_conflict_tree(left, right); end
# source://rbi//lib/rbi/rewriters/merge_trees.rb#175
sig { params(node: ::RBI::Node).returns(T.nilable(::RBI::Node)) }
def previous_definition(node); end
# source://rbi//lib/rbi/rewriters/merge_trees.rb#206
sig { params(left: ::RBI::Scope, right: ::RBI::Scope).returns(::RBI::Scope) }
def replace_scope_header(left, right); end
end
# source://rbi//lib/rbi/rewriters/nest_non_public_members.rb#6
class RBI::Rewriters::NestNonPublicMembers < ::RBI::Visitor
# source://rbi//lib/rbi/rewriters/nest_non_public_members.rb#9
sig { override.params(node: T.nilable(::RBI::Node)).void }
def visit(node); end
end
# source://rbi//lib/rbi/rewriters/nest_singleton_methods.rb#6
class RBI::Rewriters::NestSingletonMethods < ::RBI::Visitor
# source://rbi//lib/rbi/rewriters/nest_singleton_methods.rb#9
sig { override.params(node: T.nilable(::RBI::Node)).void }
def visit(node); end
end
# This rewriter moves top-level members into a top-level Object class
#
# Example:
# ~~~rb
# def foo; end
# attr_reader :bar
# ~~~
#
# will be rewritten to:
#
# ~~~rb
# class Object
# def foo; end
# attr_reader :bar
# end
# ~~~
#
# source://rbi//lib/rbi/rewriters/nest_top_level_members.rb#22
class RBI::Rewriters::NestTopLevelMembers < ::RBI::Visitor
# @return [NestTopLevelMembers] a new instance of NestTopLevelMembers
#
# source://rbi//lib/rbi/rewriters/nest_top_level_members.rb#24
sig { void }
def initialize; end
# source://rbi//lib/rbi/rewriters/nest_top_level_members.rb#32
sig { override.params(node: T.nilable(::RBI::Node)).void }
def visit(node); end
end
# Remove all definitions existing in the index from the current tree
#
# Let's create an `Index` from two different `Tree`s:
# ~~~rb
# tree1 = Parse.parse_string(<<~RBI)
# class Foo
# def foo; end
# end
# RBI
#
# tree2 = Parse.parse_string(<<~RBI)
# FOO = 10
# RBI
#
# index = Index.index(tree1, tree2)
# ~~~
#
# We can use `RemoveKnownDefinitions` to remove the definitions found in the `index` from the `Tree` to clean:
# ~~~rb
# tree_to_clean = Parser.parse_string(<<~RBI)
# class Foo
# def foo; end
# def bar; end
# end
# FOO = 10
# BAR = 42
# RBI
#
# cleaned_tree, operations = RemoveKnownDefinitions.remove(tree_to_clean, index)
#
# assert_equal(<<~RBI, cleaned_tree)
# class Foo
# def bar; end
# end
# BAR = 42
# RBI
#
# assert_equal(<<~OPERATIONS, operations.join("\n"))
# Deleted ::Foo#foo at -:2:2-2-16 (duplicate from -:2:2-2:16)
# Deleted ::FOO at -:5:0-5:8 (duplicate from -:1:0-1:8)
# OPERATIONS
# ~~~
#
# source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#48
class RBI::Rewriters::RemoveKnownDefinitions < ::RBI::Visitor
# @return [RemoveKnownDefinitions] a new instance of RemoveKnownDefinitions
#
# source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#53
sig { params(index: ::RBI::Index).void }
def initialize(index); end
# source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#50
sig { returns(T::Array[::RBI::Rewriters::RemoveKnownDefinitions::Operation]) }
def operations; end
# source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#75
sig { override.params(node: T.nilable(::RBI::Node)).void }
def visit(node); end
# source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#69
sig { params(nodes: T::Array[::RBI::Node]).void }
def visit_all(nodes); end
private
# @return [Boolean]
#
# source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#103
sig { params(node: ::RBI::Node, previous: ::RBI::Node).returns(T::Boolean) }
def can_delete_node?(node, previous); end
# source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#121
sig { params(node: ::RBI::Node, previous: ::RBI::Node).void }
def delete_node(node, previous); end
# source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#94
sig { params(node: ::RBI::Indexable).returns(T.nilable(::RBI::Node)) }
def previous_definition_for(node); end
class << self
# source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#61
sig do
params(
tree: ::RBI::Tree,
index: ::RBI::Index
).returns([::RBI::Tree, T::Array[::RBI::Rewriters::RemoveKnownDefinitions::Operation]])
end
def remove(tree, index); end
end
end
# source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#126
class RBI::Rewriters::RemoveKnownDefinitions::Operation
# @return [Operation] a new instance of Operation
#
# source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#131
sig { params(deleted_node: ::RBI::Node, duplicate_of: ::RBI::Node).void }
def initialize(deleted_node:, duplicate_of:); end
# source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#128
sig { returns(::RBI::Node) }
def deleted_node; end
# source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#128
def duplicate_of; end
# source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#137
sig { returns(::String) }
def to_s; end
end
# source://rbi//lib/rbi/rewriters/sort_nodes.rb#6
class RBI::Rewriters::SortNodes < ::RBI::Visitor
# source://rbi//lib/rbi/rewriters/sort_nodes.rb#9
sig { override.params(node: T.nilable(::RBI::Node)).void }
def visit(node); end
private
# source://rbi//lib/rbi/rewriters/sort_nodes.rb#74
sig { params(kind: ::RBI::Group::Kind).returns(::Integer) }
def group_rank(kind); end
# source://rbi//lib/rbi/rewriters/sort_nodes.rb#95
sig { params(node: ::RBI::Node).returns(T.nilable(::String)) }
def node_name(node); end
# source://rbi//lib/rbi/rewriters/sort_nodes.rb#46
sig { params(node: ::RBI::Node).returns(::Integer) }
def node_rank(node); end
# source://rbi//lib/rbi/rewriters/sort_nodes.rb#107
sig { params(node: ::RBI::Node).void }
def sort_node_names!(node); end
end
# Translate all RBS signature comments to Sorbet RBI signatures
#
# source://rbi//lib/rbi/rewriters/translate_rbs_sigs.rb#7
class RBI::Rewriters::TranslateRBSSigs < ::RBI::Visitor
# source://rbi//lib/rbi/rewriters/translate_rbs_sigs.rb#12
sig { override.params(node: T.nilable(::RBI::Node)).void }
def visit(node); end
private
# source://rbi//lib/rbi/rewriters/translate_rbs_sigs.rb#34
sig { params(node: T.any(::RBI::Attr, ::RBI::Method)).returns(T::Array[::RBI::RBSComment]) }
def extract_rbs_comments(node); end
# source://rbi//lib/rbi/rewriters/translate_rbs_sigs.rb#61
sig { params(node: ::RBI::Attr, comment: ::RBI::RBSComment).returns(::RBI::Sig) }
def translate_rbs_attr_type(node, comment); end
# source://rbi//lib/rbi/rewriters/translate_rbs_sigs.rb#53
sig { params(node: ::RBI::Method, comment: ::RBI::RBSComment).returns(::RBI::Sig) }
def translate_rbs_method_type(node, comment); end
end
# source://rbi//lib/rbi/rewriters/translate_rbs_sigs.rb#8
class RBI::Rewriters::TranslateRBSSigs::Error < ::RBI::Error; end
# @abstract
#
# source://rbi//lib/rbi/model.rb#163
class RBI::Scope < ::RBI::Tree
include ::RBI::Indexable
abstract!
# Duplicate `self` scope without its body
#
# source://rbi//lib/rbi/rewriters/merge_trees.rb#346
sig { returns(T.self_type) }
def dup_empty; end
# @abstract
#
# source://rbi//lib/rbi/model.rb#166
sig { abstract.returns(::String) }
def fully_qualified_name; end
# source://rbi//lib/rbi/index.rb#84
sig { override.returns(T::Array[::String]) }
def index_ids; end
# source://rbi//lib/rbi/model.rb#170
sig { override.returns(::String) }
def to_s; end
end
# A conflict between two scope headers
#
# Is rendered as a merge conflict between `left` and` right` for scope definitions:
# ~~~rb
# <<<<<<< left
# class Foo
# =======
# module Foo
# >>>>>>> right
# def m1; end
# end
# ~~~
#
# source://rbi//lib/rbi/rewriters/merge_trees.rb#586
class RBI::ScopeConflict < ::RBI::Tree
# @return [ScopeConflict] a new instance of ScopeConflict
#
# source://rbi//lib/rbi/rewriters/merge_trees.rb#594
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
sig { returns(::RBI::Scope) }
def left; end
# source://rbi//lib/rbi/rewriters/merge_trees.rb#591
sig { returns(::String) }
def left_name; end
# source://rbi//lib/rbi/rewriters/merge_trees.rb#588
def right; end
# source://rbi//lib/rbi/rewriters/merge_trees.rb#591
def right_name; end
end
# Sends
#
# source://rbi//lib/rbi/model.rb#752
class RBI::Send < ::RBI::NodeWithComments
include ::RBI::Indexable
# @return [Send] a new instance of Send
#
# source://rbi//lib/rbi/model.rb#760
sig do
params(
method: ::String,
args: T::Array[::RBI::Arg],
loc: T.nilable(::RBI::Loc),
comments: T::Array[::RBI::Comment],
block: T.nilable(T.proc.params(node: ::RBI::Send).void)
).void
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
sig { params(arg: ::RBI::Arg).void }
def <<(arg); end
# source://rbi//lib/rbi/model.rb#773
sig { params(other: T.nilable(::Object)).returns(T::Boolean) }
def ==(other); end
# source://rbi//lib/rbi/model.rb#757
sig { returns(T::Array[::RBI::Arg]) }
def args; end
# @return [Boolean]
#
# source://rbi//lib/rbi/rewriters/merge_trees.rb#512
sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
def compatible_with?(other); end
# source://rbi//lib/rbi/index.rb#184
sig { override.returns(T::Array[::String]) }
def index_ids; end
# source://rbi//lib/rbi/model.rb#754
sig { returns(::String) }
def method; end
# source://rbi//lib/rbi/model.rb#778
sig { returns(::String) }
def to_s; end
end
# Sorbet's sigs
#
# source://rbi//lib/rbi/model.rb#827
class RBI::Sig < ::RBI::NodeWithComments
# @return [Sig] a new instance of Sig
#
# source://rbi//lib/rbi/model.rb#844
sig do
params(
params: T::Array[::RBI::SigParam],
return_type: T.any(::RBI::Type, ::String),
is_abstract: T::Boolean,
is_override: T::Boolean,
is_overridable: T::Boolean,
is_final: T::Boolean,
allow_incompatible_override: T::Boolean,
without_runtime: T::Boolean,
type_params: T::Array[::String],
checked: T.nilable(::Symbol),
loc: T.nilable(::RBI::Loc),
comments: T::Array[::RBI::Comment],
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
# source://rbi//lib/rbi/model.rb#874
sig { params(param: ::RBI::SigParam).void }
def <<(param); end
# source://rbi//lib/rbi/model.rb#884
sig { params(other: ::Object).returns(T::Boolean) }
def ==(other); end
# source://rbi//lib/rbi/model.rb#879
sig { params(name: ::String, type: T.any(::RBI::Type, ::String)).void }
def add_param(name, type); end
# source://rbi//lib/rbi/model.rb#835
def allow_incompatible_override; end
# source://rbi//lib/rbi/model.rb#835
def allow_incompatible_override=(_arg0); end
# source://rbi//lib/rbi/model.rb#841
sig { returns(T.nilable(::Symbol)) }
def checked; end
# source://rbi//lib/rbi/model.rb#841
def checked=(_arg0); end
# source://rbi//lib/rbi/model.rb#835
sig { returns(T::Boolean) }
def is_abstract; end
# source://rbi//lib/rbi/model.rb#835
def is_abstract=(_arg0); end
# source://rbi//lib/rbi/model.rb#835
def is_final; end
# source://rbi//lib/rbi/model.rb#835
def is_final=(_arg0); end
# source://rbi//lib/rbi/model.rb#835
def is_overridable; end
# source://rbi//lib/rbi/model.rb#835
def is_overridable=(_arg0); end
# source://rbi//lib/rbi/model.rb#835
def is_override; end
# source://rbi//lib/rbi/model.rb#835
def is_override=(_arg0); end
# source://rbi//lib/rbi/model.rb#829
sig { returns(T::Array[::RBI::SigParam]) }
def params; end
# source://rbi//lib/rbi/model.rb#832
sig { returns(T.any(::RBI::Type, ::String)) }
def return_type; end
# source://rbi//lib/rbi/model.rb#832
def return_type=(_arg0); end
# source://rbi//lib/rbi/model.rb#838
sig { returns(T::Array[::String]) }
def type_params; end
# source://rbi//lib/rbi/model.rb#835
def without_runtime; end
# source://rbi//lib/rbi/model.rb#835
def without_runtime=(_arg0); end
end
# source://rbi//lib/rbi/model.rb#893
class RBI::SigParam < ::RBI::NodeWithComments
# @return [SigParam] a new instance of SigParam
#
# source://rbi//lib/rbi/model.rb#901
sig do
params(
name: ::String,
type: T.any(::RBI::Type, ::String),
loc: T.nilable(::RBI::Loc),
comments: T::Array[::RBI::Comment],
block: T.nilable(T.proc.params(node: ::RBI::SigParam).void)
).void
end
def initialize(name, type, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
# source://rbi//lib/rbi/model.rb#909
sig { params(other: ::Object).returns(T::Boolean) }
def ==(other); end
# source://rbi//lib/rbi/model.rb#895
sig { returns(::String) }
def name; end
# source://rbi//lib/rbi/model.rb#898
sig { returns(T.any(::RBI::Type, ::String)) }
def type; end
end
# source://rbi//lib/rbi/model.rb#219
class RBI::SingletonClass < ::RBI::Scope
# @return [SingletonClass] a new instance of SingletonClass
#
# source://rbi//lib/rbi/model.rb#221
sig do
params(
loc: T.nilable(::RBI::Loc),
comments: T::Array[::RBI::Comment],
block: T.nilable(T.proc.params(node: ::RBI::SingletonClass).void)
).void
end
def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
# source://rbi//lib/rbi/model.rb#228
sig { override.returns(::String) }
def fully_qualified_name; end
end
# source://rbi//lib/rbi/model.rb#233
class RBI::Struct < ::RBI::Scope
# @return [Struct] a new instance of Struct
#
# source://rbi//lib/rbi/model.rb#244
sig do
params(
name: ::String,
members: T::Array[::Symbol],
keyword_init: T::Boolean,
loc: T.nilable(::RBI::Loc),
comments: T::Array[::RBI::Comment],
block: T.nilable(T.proc.params(struct: ::RBI::Struct).void)
).void
end
def initialize(name, members: T.unsafe(nil), keyword_init: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
# @return [Boolean]
#
# source://rbi//lib/rbi/rewriters/merge_trees.rb#387
sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
def compatible_with?(other); end
# source://rbi//lib/rbi/model.rb#254
sig { override.returns(::String) }
def fully_qualified_name; end
# source://rbi//lib/rbi/model.rb#241
sig { returns(T::Boolean) }
def keyword_init; end
# source://rbi//lib/rbi/model.rb#241
def keyword_init=(_arg0); end
# source://rbi//lib/rbi/model.rb#238
sig { returns(T::Array[::Symbol]) }
def members; end
# source://rbi//lib/rbi/model.rb#238
def members=(_arg0); end
# source://rbi//lib/rbi/model.rb#235
sig { returns(::String) }
def name; end
# source://rbi//lib/rbi/model.rb#235
def name=(_arg0); end
end
# Sorbet's T::Enum
#
# source://rbi//lib/rbi/model.rb#992
class RBI::TEnum < ::RBI::Class
# @return [TEnum] a new instance of TEnum
#
# source://rbi//lib/rbi/model.rb#994
sig do
params(
name: ::String,
loc: T.nilable(::RBI::Loc),
comments: T::Array[::RBI::Comment],
block: T.nilable(T.proc.params(klass: ::RBI::TEnum).void)
).void
end
def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
end
# source://rbi//lib/rbi/model.rb#1000
class RBI::TEnumBlock < ::RBI::Scope
# @return [TEnumBlock] a new instance of TEnumBlock
#
# source://rbi//lib/rbi/model.rb#1002
sig do
params(
loc: T.nilable(::RBI::Loc),
comments: T::Array[::RBI::Comment],
block: T.nilable(T.proc.params(node: ::RBI::TEnumBlock).void)
).void
end
def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
# source://rbi//lib/rbi/model.rb#1009
sig { override.returns(::String) }
def fully_qualified_name; end
# source://rbi//lib/rbi/index.rb#214
sig { override.returns(T::Array[::String]) }
def index_ids; end
# source://rbi//lib/rbi/model.rb#1015
sig { override.returns(::String) }
def to_s; end
end
# source://rbi//lib/rbi/model.rb#1020
class RBI::TEnumValue < ::RBI::NodeWithComments
include ::RBI::Indexable
# @return [TEnumValue] a new instance of TEnumValue
#
# source://rbi//lib/rbi/model.rb#1025
sig do
params(
name: ::String,
loc: T.nilable(::RBI::Loc),
comments: T::Array[::RBI::Comment],
block: T.nilable(T.proc.params(node: ::RBI::TEnumValue).void)
).void
end
def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
# source://rbi//lib/rbi/model.rb#1032
sig { returns(::String) }
def fully_qualified_name; end
# source://rbi//lib/rbi/index.rb#224
sig { override.returns(T::Array[::String]) }
def index_ids; end
# source://rbi//lib/rbi/model.rb#1022
sig { returns(::String) }
def name; end
# source://rbi//lib/rbi/model.rb#1038
sig { override.returns(::String) }
def to_s; end
end
# Sorbet's T::Struct
#
# source://rbi//lib/rbi/model.rb#916
class RBI::TStruct < ::RBI::Class
# @return [TStruct] a new instance of TStruct
#
# source://rbi//lib/rbi/model.rb#918
sig do
params(
name: ::String,
loc: T.nilable(::RBI::Loc),
comments: T::Array[::RBI::Comment],
block: T.nilable(T.proc.params(klass: ::RBI::TStruct).void)
).void
end
def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
end
# source://rbi//lib/rbi/model.rb#948
class RBI::TStructConst < ::RBI::TStructField
include ::RBI::Indexable
# @return [TStructConst] a new instance of TStructConst
#
# source://rbi//lib/rbi/model.rb#950
sig do
params(
name: ::String,
type: T.any(::RBI::Type, ::String),
default: T.nilable(::String),
loc: T.nilable(::RBI::Loc),
comments: T::Array[::RBI::Comment],
block: T.nilable(T.proc.params(node: ::RBI::TStructConst).void)
).void
end
def initialize(name, type, default: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
# @return [Boolean]
#
# source://rbi//lib/rbi/rewriters/merge_trees.rb#528
sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
def compatible_with?(other); end
# source://rbi//lib/rbi/model.rb#957
sig { override.returns(T::Array[::String]) }
def fully_qualified_names; end
# source://rbi//lib/rbi/index.rb#194
sig { override.returns(T::Array[::String]) }
def index_ids; end
# source://rbi//lib/rbi/model.rb#964
sig { override.returns(::String) }
def to_s; end
end
# @abstract
#
# source://rbi//lib/rbi/model.rb#925
class RBI::TStructField < ::RBI::NodeWithComments
abstract!
# @return [TStructField] a new instance of TStructField
#
# source://rbi//lib/rbi/model.rb#936
sig do
params(
name: ::String,
type: T.any(::RBI::Type, ::String),
default: T.nilable(::String),
loc: T.nilable(::RBI::Loc),
comments: T::Array[::RBI::Comment]
).void
end
def initialize(name, type, default: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil)); end
# @return [Boolean]
#
# source://rbi//lib/rbi/rewriters/merge_trees.rb#520
sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
def compatible_with?(other); end
# source://rbi//lib/rbi/model.rb#933
sig { returns(T.nilable(::String)) }
def default; end
# source://rbi//lib/rbi/model.rb#933
def default=(_arg0); end
# @abstract
#
# source://rbi//lib/rbi/model.rb#945
sig { abstract.returns(T::Array[::String]) }
def fully_qualified_names; end
# source://rbi//lib/rbi/model.rb#927
sig { returns(::String) }
def name; end
# source://rbi//lib/rbi/model.rb#927
def name=(_arg0); end
# source://rbi//lib/rbi/model.rb#930
sig { returns(T.any(::RBI::Type, ::String)) }
def type; end
# source://rbi//lib/rbi/model.rb#930
def type=(_arg0); end
end
# source://rbi//lib/rbi/model.rb#969
class RBI::TStructProp < ::RBI::TStructField
include ::RBI::Indexable
# @return [TStructProp] a new instance of TStructProp
#
# source://rbi//lib/rbi/model.rb#971
sig do
params(
name: ::String,
type: T.any(::RBI::Type, ::String),
default: T.nilable(::String),
loc: T.nilable(::RBI::Loc),
comments: T::Array[::RBI::Comment],
block: T.nilable(T.proc.params(node: ::RBI::TStructProp).void)
).void
end
def initialize(name, type, default: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
# @return [Boolean]
#
# source://rbi//lib/rbi/rewriters/merge_trees.rb#536
sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
def compatible_with?(other); end
# source://rbi//lib/rbi/model.rb#978
sig { override.returns(T::Array[::String]) }
def fully_qualified_names; end
# source://rbi//lib/rbi/index.rb#204
sig { override.returns(T::Array[::String]) }
def index_ids; end
# source://rbi//lib/rbi/model.rb#985
sig { override.returns(::String) }
def to_s; end
end
# source://rbi//lib/rbi/model.rb#108
class RBI::Tree < ::RBI::NodeWithComments
# @return [Tree] a new instance of Tree
#
# source://rbi//lib/rbi/model.rb#113
sig do
params(
loc: T.nilable(::RBI::Loc),
comments: T::Array[::RBI::Comment],
block: T.nilable(T.proc.params(node: ::RBI::Tree).void)
).void
end
def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
# source://rbi//lib/rbi/model.rb#120
sig { params(node: ::RBI::Node).void }
def <<(node); end
# source://rbi//lib/rbi/rewriters/add_sig_templates.rb#63
sig { params(with_todo_comment: T::Boolean).void }
def add_sig_templates!(with_todo_comment: T.unsafe(nil)); end
# source://rbi//lib/rbi/rewriters/annotate.rb#46
sig { params(annotation: ::String, annotate_scopes: T::Boolean, annotate_properties: T::Boolean).void }
def annotate!(annotation, annotate_scopes: T.unsafe(nil), annotate_properties: T.unsafe(nil)); end
sig do
params(
name: ::String,
superclass_name: T.nilable(::String),
block: T.nilable(T.proc.params(scope: ::RBI::Scope).void)
).returns(::RBI::Scope)
end
def create_class(name, superclass_name: T.unsafe(nil), &block); end
sig { params(name: ::String, value: ::String).void }
def create_constant(name, value:); end
sig { params(name: ::String).void }
def create_extend(name); end
sig { params(name: ::String).void }
def create_include(name); end
sig do
params(
name: ::String,
parameters: T::Array[::RBI::TypedParam],
return_type: T.nilable(::String),
class_method: T::Boolean,
visibility: ::RBI::Visibility,
comments: T::Array[::RBI::Comment],
block: T.nilable(T.proc.params(node: ::RBI::Method).void)
).void
end
def create_method(name, parameters: T.unsafe(nil), return_type: T.unsafe(nil), class_method: T.unsafe(nil), visibility: T.unsafe(nil), comments: T.unsafe(nil), &block); end
sig { params(name: ::String).void }
def create_mixes_in_class_methods(name); end
sig { params(name: ::String, block: T.nilable(T.proc.params(scope: ::RBI::Scope).void)).returns(::RBI::Scope) }
def create_module(name, &block); end
sig { params(node: ::RBI::Node).returns(::RBI::Node) }
def create_node(node); end
sig { params(constant: ::Module, block: T.nilable(T.proc.params(scope: ::RBI::Scope).void)).returns(::RBI::Scope) }
def create_path(constant, &block); end
sig do
params(
name: ::String,
type: ::String,
variance: ::Symbol,
fixed: T.nilable(::String),
upper: T.nilable(::String),
lower: T.nilable(::String)
).void
end
def create_type_variable(name, type:, variance: T.unsafe(nil), fixed: T.unsafe(nil), upper: T.unsafe(nil), lower: T.unsafe(nil)); end
# source://rbi//lib/rbi/rewriters/deannotate.rb#38
sig { params(annotation: ::String).void }
def deannotate!(annotation); end
# @return [Boolean]
#
# source://rbi//lib/rbi/model.rb#126
sig { returns(T::Boolean) }
def empty?; end
# source://rbi//lib/rbi/rewriters/filter_versions.rb#113
sig { params(version: ::Gem::Version).void }
def filter_versions!(version); end
# source://rbi//lib/rbi/rewriters/flatten_singleton_methods.rb#58
sig { void }
def flatten_singleton_methods!; end
# source://rbi//lib/rbi/rewriters/flatten_visibilities.rb#57
sig { void }
def flatten_visibilities!; end
# source://rbi//lib/rbi/rewriters/group_nodes.rb#78
sig { void }
def group_nodes!; end
# source://rbi//lib/rbi/index.rb#62
sig { returns(::RBI::Index) }
def index; end
# source://rbi//lib/rbi/rewriters/merge_trees.rb#323
sig do
params(
other: ::RBI::Tree,
left_name: ::String,
right_name: ::String,
keep: ::RBI::Rewriters::Merge::Keep
).returns(::RBI::MergeTree)
end
def merge(other, left_name: T.unsafe(nil), right_name: T.unsafe(nil), keep: T.unsafe(nil)); end
# source://rbi//lib/rbi/rewriters/nest_non_public_members.rb#43
sig { void }
def nest_non_public_members!; end
# source://rbi//lib/rbi/rewriters/nest_singleton_methods.rb#33
sig { void }
def nest_singleton_methods!; end
# source://rbi//lib/rbi/rewriters/nest_top_level_members.rb#60
sig { void }
def nest_top_level_members!; end
# source://rbi//lib/rbi/model.rb#110
sig { returns(T::Array[::RBI::Node]) }
def nodes; end
sig { returns(T::Hash[::String, ::RBI::Node]) }
def nodes_cache; end
# source://rbi//lib/rbi/rewriters/attr_to_methods.rb#50
sig { void }
def replace_attributes_with_methods!; end
# source://rbi//lib/rbi/rewriters/sort_nodes.rb#118
sig { void }
def sort_nodes!; end
# source://rbi//lib/rbi/rewriters/translate_rbs_sigs.rb#82
sig { void }
def translate_rbs_sigs!; end
end
# The base class for all RBI types.
#
# @abstract
#
# source://rbi//lib/rbi/type.rb#7
class RBI::Type
abstract!
# @return [Type] a new instance of Type
#
# source://rbi//lib/rbi/type.rb#905
sig { void }
def initialize; end
# @abstract
#
# source://rbi//lib/rbi/type.rb#976
sig { abstract.params(other: ::BasicObject).returns(T::Boolean) }
def ==(other); end
# @return [Boolean]
#
# source://rbi//lib/rbi/type.rb#979
sig { params(other: ::BasicObject).returns(T::Boolean) }
def eql?(other); end
# source://rbi//lib/rbi/type.rb#985
sig { override.returns(::Integer) }
def hash; end
# Returns a new type that is `nilable` if it is not already.
#
# If the type is already nilable, it returns itself.
# ```ruby
# type = RBI::Type.simple("String")
# type.to_rbi # => "String"
# type.nilable.to_rbi # => "T.nilable(String)"
# type.nilable.nilable.to_rbi # => "T.nilable(String)"
# ```
#
# source://rbi//lib/rbi/type.rb#919
sig { returns(::RBI::Type) }
def nilable; end
# Returns whether the type is nilable.
#
# @return [Boolean]
#
# source://rbi//lib/rbi/type.rb#946
sig { returns(T::Boolean) }
def nilable?; end
# Returns the non-nilable version of the type.
# If the type is already non-nilable, it returns itself.
# If the type is nilable, it returns the inner type.
#
# ```ruby
# type = RBI::Type.nilable(RBI::Type.simple("String"))
# type.to_rbi # => "T.nilable(String)"
# type.non_nilable.to_rbi # => "String"
# type.non_nilable.non_nilable.to_rbi # => "String"
# ```
#
# source://rbi//lib/rbi/type.rb#934
sig { returns(::RBI::Type) }
def non_nilable; end
# Returns a normalized version of the type.
#
# Normalized types are meant to be easier to process, not to read.
# For example, `T.any(TrueClass, FalseClass)` instead of `T::Boolean` or
# `T.any(String, NilClass)` instead of `T.nilable(String)`.
#
# This is the inverse of `#simplify`.
#
#
# @abstract
#
# source://rbi//lib/rbi/type.rb#960
sig { abstract.returns(::RBI::Type) }
def normalize; end
# source://rbi//lib/rbi/rbs_printer.rb#1240
sig { returns(::String) }
def rbs_string; end
# Returns a simplified version of the type.
#
# Simplified types are meant to be easier to read, not to process.
# For example, `T::Boolean` instead of `T.any(TrueClass, FalseClass)` or
# `T.nilable(String)` instead of `T.any(String, NilClass)`.
#
# This is the inverse of `#normalize`.
#
#
# @abstract
#
# source://rbi//lib/rbi/type.rb#972
sig { abstract.returns(::RBI::Type) }
def simplify; end
# @abstract
#
# source://rbi//lib/rbi/type.rb#991
sig { abstract.returns(::String) }
def to_rbi; end
# source://rbi//lib/rbi/type.rb#995
sig { override.returns(::String) }
def to_s; end
class << self
# Builds a type that represents an intersection of multiple types like `T.all(String, Integer)`.
#
# 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
sig { params(type1: ::RBI::Type, type2: ::RBI::Type, types: ::RBI::Type).returns(::RBI::Type) }
def all(type1, type2, *types); end
# Builds a type that represents a union of multiple types like `T.any(String, Integer)`.
#
# 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
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
sig { returns(::RBI::Type::Anything) }
def anything; end
# Builds a type that represents `T.attached_class`.
#
# source://rbi//lib/rbi/type.rb#784
sig { returns(::RBI::Type::AttachedClass) }
def attached_class; end
# Builds a type that represents `T::Boolean`.
#
# source://rbi//lib/rbi/type.rb#790
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
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
sig { params(name: ::String, params: T.any(::RBI::Type, T::Array[::RBI::Type])).returns(::RBI::Type::Generic) }
def generic(name, *params); end
# Builds a type that represents a nilable of another type like `T.nilable(String)`.
#
# 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
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
sig { returns(::RBI::Type::NoReturn) }
def noreturn; end
# source://rbi//lib/rbi/type_parser.rb#26
sig { params(node: ::Prism::Node).returns(::RBI::Type) }
def parse_node(node); end
# @raise [Error]
#
# source://rbi//lib/rbi/type_parser.rb#10
sig { params(string: ::String).returns(::RBI::Type) }
def parse_string(string); end
# Builds a type that represents a proc type like `T.proc.void`.
#
# source://rbi//lib/rbi/type.rb#892
sig { returns(::RBI::Type::Proc) }
def proc; end
# Builds a type that represents `T.self_type`.
#
# source://rbi//lib/rbi/type.rb#802
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
sig { params(types: T::Hash[T.any(::String, ::Symbol), ::RBI::Type]).returns(::RBI::Type::Shape) }
def shape(types = T.unsafe(nil)); end
# Builds a simple type like `String` or `::Foo::Bar`.
#
# It raises a `NameError` if the name is not a valid Ruby class identifier.
#
# @raise [NameError]
#
# source://rbi//lib/rbi/type.rb#767
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
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
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 parameter like `T.type_parameter(:U)`.
#
# source://rbi//lib/rbi/type.rb#870
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
sig { returns(::RBI::Type::Untyped) }
def untyped; end
# Builds a type that represents `void`.
#
# source://rbi//lib/rbi/type.rb#814
sig { returns(::RBI::Type::Void) }
def void; end
private
# source://rbi//lib/rbi/type_parser.rb#289
sig { params(node: ::Prism::CallNode).returns(T::Array[::Prism::Node]) }
def call_chain(node); end
# source://rbi//lib/rbi/type_parser.rb#276
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
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
sig { params(node: ::Prism::CallNode).returns(::RBI::Type) }
def parse_call(node); end
# source://rbi//lib/rbi/type_parser.rb#54
sig { params(node: T.any(::Prism::ConstantPathNode, ::Prism::ConstantReadNode)).returns(::RBI::Type) }
def parse_constant(node); end
# @raise [Error]
#
# source://rbi//lib/rbi/type_parser.rb#211
sig { params(node: ::Prism::CallNode).returns(::RBI::Type) }
def parse_proc(node); end
# source://rbi//lib/rbi/type_parser.rb#190
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
sig { params(node: ::Prism::ArrayNode).returns(::RBI::Type) }
def parse_tuple(node); end
# @return [Boolean]
#
# source://rbi//lib/rbi/type_parser.rb#302
sig { params(node: T.nilable(::Prism::Node)).returns(T::Boolean) }
def t?(node); end
# @return [Boolean]
#
# source://rbi//lib/rbi/type_parser.rb#314
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
sig { params(node: ::Prism::ConstantPathNode).returns(T::Boolean) }
def t_class?(node); end
# @return [Boolean]
#
# source://rbi//lib/rbi/type_parser.rb#326
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
sig { params(node: ::Prism::CallNode).returns(T::Boolean) }
def t_proc?(node); end
# @return [Boolean]
#
# source://rbi//lib/rbi/type.rb#899
sig { params(name: ::String).returns(T::Boolean) }
def valid_identifier?(name); end
end
end
# A type that is intersection of multiple types like `T.all(String, Integer)`.
#
# source://rbi//lib/rbi/type.rb#384
class RBI::Type::All < ::RBI::Type::Composite
# source://rbi//lib/rbi/type.rb#393
sig { override.returns(::RBI::Type) }
def normalize; end
# source://rbi//lib/rbi/type.rb#413
sig { override.returns(::RBI::Type) }
def simplify; end
# source://rbi//lib/rbi/type.rb#387
sig { override.returns(::String) }
def to_rbi; end
end
# A type that is union of multiple types like `T.any(String, Integer)`.
#
# source://rbi//lib/rbi/type.rb#426
class RBI::Type::Any < ::RBI::Type::Composite
# @return [Boolean]
#
# source://rbi//lib/rbi/type.rb#434
sig { returns(T::Boolean) }
def nilable?; end
# source://rbi//lib/rbi/type.rb#440
sig { override.returns(::RBI::Type) }
def normalize; end
# source://rbi//lib/rbi/type.rb#460
sig { override.returns(::RBI::Type) }
def simplify; end
# source://rbi//lib/rbi/type.rb#429
sig { override.returns(::String) }
def to_rbi; end
end
# `T.anything`.
#
# source://rbi//lib/rbi/type.rb#51
class RBI::Type::Anything < ::RBI::Type
# source://rbi//lib/rbi/type.rb#54
sig { override.params(other: ::BasicObject).returns(T::Boolean) }
def ==(other); end
# source://rbi//lib/rbi/type.rb#66
sig { override.returns(::RBI::Type) }
def normalize; end
# source://rbi//lib/rbi/type.rb#72
sig { override.returns(::RBI::Type) }
def simplify; end
# source://rbi//lib/rbi/type.rb#60
sig { override.returns(::String) }
def to_rbi; end
end
# `T.attached_class`.
#
# source://rbi//lib/rbi/type.rb#78
class RBI::Type::AttachedClass < ::RBI::Type
# source://rbi//lib/rbi/type.rb#81
sig { override.params(other: ::BasicObject).returns(T::Boolean) }
def ==(other); end
# source://rbi//lib/rbi/type.rb#93
sig { override.returns(::RBI::Type) }
def normalize; end
# source://rbi//lib/rbi/type.rb#99
sig { override.returns(::RBI::Type) }
def simplify; end
# source://rbi//lib/rbi/type.rb#87
sig { override.returns(::String) }
def to_rbi; end
end
# `T::Boolean`.
#
# source://rbi//lib/rbi/type.rb#105
class RBI::Type::Boolean < ::RBI::Type
# source://rbi//lib/rbi/type.rb#108
sig { override.params(other: ::BasicObject).returns(T::Boolean) }
def ==(other); end
# source://rbi//lib/rbi/type.rb#120
sig { override.returns(::RBI::Type) }
def normalize; end
# source://rbi//lib/rbi/type.rb#126
sig { override.returns(::RBI::Type) }
def simplify; end
# source://rbi//lib/rbi/type.rb#114
sig { override.returns(::String) }
def to_rbi; end
end
# The class of another type like `T::Class[Foo]`.
#
# source://rbi//lib/rbi/type.rb#242
class RBI::Type::Class < ::RBI::Type
# @return [Class] a new instance of Class
#
# source://rbi//lib/rbi/type.rb#247
sig { params(type: ::RBI::Type).void }
def initialize(type); end
# source://rbi//lib/rbi/type.rb#254
sig { override.params(other: ::BasicObject).returns(T::Boolean) }
def ==(other); end
# source://rbi//lib/rbi/type.rb#266
sig { override.returns(::RBI::Type) }
def normalize; end
# source://rbi//lib/rbi/type.rb#272
sig { override.returns(::RBI::Type) }
def simplify; end
# source://rbi//lib/rbi/type.rb#260
sig { override.returns(::String) }
def to_rbi; end
# source://rbi//lib/rbi/type.rb#244
sig { returns(::RBI::Type) }
def type; end
end
# The singleton class of another type like `T.class_of(Foo)`.
#
# source://rbi//lib/rbi/type.rb#278
class RBI::Type::ClassOf < ::RBI::Type
# @return [ClassOf] a new instance of ClassOf
#
# source://rbi//lib/rbi/type.rb#286
sig { params(type: ::RBI::Type::Simple, type_parameter: T.nilable(::RBI::Type)).void }
def initialize(type, type_parameter = T.unsafe(nil)); end
# source://rbi//lib/rbi/type.rb#294
sig { override.params(other: ::BasicObject).returns(T::Boolean) }
def ==(other); end
# source://rbi//lib/rbi/type.rb#310
sig { override.returns(::RBI::Type) }
def normalize; end
# source://rbi//lib/rbi/type.rb#316
sig { override.returns(::RBI::Type) }
def simplify; end
# source://rbi//lib/rbi/type.rb#300
sig { override.returns(::String) }
def to_rbi; end
# source://rbi//lib/rbi/type.rb#280
sig { returns(::RBI::Type::Simple) }
def type; end
# source://rbi//lib/rbi/type.rb#283
sig { returns(T.nilable(::RBI::Type)) }
def type_parameter; end
end
# A type that is composed of multiple types like `T.all(String, Integer)`.
#
# @abstract
#
# source://rbi//lib/rbi/type.rb#366
class RBI::Type::Composite < ::RBI::Type
abstract!
# @return [Composite] a new instance of Composite
#
# source://rbi//lib/rbi/type.rb#371
sig { params(types: T::Array[::RBI::Type]).void }
def initialize(types); end
# source://rbi//lib/rbi/type.rb#378
sig { override.params(other: ::BasicObject).returns(T::Boolean) }
def ==(other); end
# source://rbi//lib/rbi/type.rb#368
sig { returns(T::Array[::RBI::Type]) }
def types; end
end
# source://rbi//lib/rbi/type_parser.rb#6
class RBI::Type::Error < ::RBI::Error; end
# A generic type like `T::Array[String]` or `T::Hash[Symbol, Integer]`.
#
# source://rbi//lib/rbi/type.rb#511
class RBI::Type::Generic < ::RBI::Type
# @return [Generic] a new instance of Generic
#
# source://rbi//lib/rbi/type.rb#519
sig { params(name: ::String, params: ::RBI::Type).void }
def initialize(name, *params); end
# source://rbi//lib/rbi/type.rb#527
sig { override.params(other: ::BasicObject).returns(T::Boolean) }
def ==(other); end
# source://rbi//lib/rbi/type.rb#513
sig { returns(::String) }
def name; end
# source://rbi//lib/rbi/type.rb#539
sig { override.returns(::RBI::Type) }
def normalize; end
# source://rbi//lib/rbi/type.rb#516
sig { returns(T::Array[::RBI::Type]) }
def params; end
# source://rbi//lib/rbi/type.rb#545
sig { override.returns(::RBI::Type) }
def simplify; end
# source://rbi//lib/rbi/type.rb#533
sig { override.returns(::String) }
def to_rbi; end
end
# A type that can be `nil` like `T.nilable(String)`.
#
# source://rbi//lib/rbi/type.rb#322
class RBI::Type::Nilable < ::RBI::Type
# @return [Nilable] a new instance of Nilable
#
# source://rbi//lib/rbi/type.rb#327
sig { params(type: ::RBI::Type).void }
def initialize(type); end
# source://rbi//lib/rbi/type.rb#334
sig { override.params(other: ::BasicObject).returns(T::Boolean) }
def ==(other); end
# source://rbi//lib/rbi/type.rb#346
sig { override.returns(::RBI::Type) }
def normalize; end
# source://rbi//lib/rbi/type.rb#352
sig { override.returns(::RBI::Type) }
def simplify; end
# source://rbi//lib/rbi/type.rb#340
sig { override.returns(::String) }
def to_rbi; end
# source://rbi//lib/rbi/type.rb#324
sig { returns(::RBI::Type) }
def type; end
end
# `T.noreturn`.
#
# source://rbi//lib/rbi/type.rb#132
class RBI::Type::NoReturn < ::RBI::Type
# source://rbi//lib/rbi/type.rb#135
sig { override.params(other: ::BasicObject).returns(T::Boolean) }
def ==(other); end
# source://rbi//lib/rbi/type.rb#147
sig { override.returns(::RBI::Type) }
def normalize; end
# source://rbi//lib/rbi/type.rb#153
sig { override.returns(::RBI::Type) }
def simplify; end
# source://rbi//lib/rbi/type.rb#141
sig { override.returns(::String) }
def to_rbi; end
end
# A proc type like `T.proc.void`.
#
# source://rbi//lib/rbi/type.rb#667
class RBI::Type::Proc < ::RBI::Type
# @return [Proc] a new instance of Proc
#
# source://rbi//lib/rbi/type.rb#678
sig { void }
def initialize; end
# source://rbi//lib/rbi/type.rb#687
sig { override.params(other: ::BasicObject).returns(T::Boolean) }
def ==(other); end
# source://rbi//lib/rbi/type.rb#715
sig { params(type: T.untyped).returns(T.self_type) }
def bind(type); end
# source://rbi//lib/rbi/type.rb#747
sig { override.returns(::RBI::Type) }
def normalize; end
# source://rbi//lib/rbi/type.rb#697
sig { params(params: ::RBI::Type).returns(T.self_type) }
def params(**params); end
# source://rbi//lib/rbi/type.rb#675
sig { returns(T.nilable(::RBI::Type)) }
def proc_bind; end
# source://rbi//lib/rbi/type.rb#669
sig { returns(T::Hash[::Symbol, ::RBI::Type]) }
def proc_params; end
# source://rbi//lib/rbi/type.rb#672
sig { returns(::RBI::Type) }
def proc_returns; end
# source://rbi//lib/rbi/type.rb#703
sig { params(type: T.untyped).returns(T.self_type) }
def returns(type); end
# source://rbi//lib/rbi/type.rb#753
sig { override.returns(::RBI::Type) }
def simplify; end
# source://rbi//lib/rbi/type.rb#722
sig { override.returns(::String) }
def to_rbi; end
# source://rbi//lib/rbi/type.rb#709
sig { returns(T.self_type) }
def void; end
end
# `T.self_type`.
#
# source://rbi//lib/rbi/type.rb#159
class RBI::Type::SelfType < ::RBI::Type
# source://rbi//lib/rbi/type.rb#162
sig { override.params(other: ::BasicObject).returns(T::Boolean) }
def ==(other); end
# source://rbi//lib/rbi/type.rb#174
sig { override.returns(::RBI::Type) }
def normalize; end
# source://rbi//lib/rbi/type.rb#180
sig { override.returns(::RBI::Type) }
def simplify; end
# source://rbi//lib/rbi/type.rb#168
sig { override.returns(::String) }
def to_rbi; end
end
# A shape type like `{name: String, age: Integer}`.
#
# source://rbi//lib/rbi/type.rb#625
class RBI::Type::Shape < ::RBI::Type
# @return [Shape] a new instance of Shape
#
# source://rbi//lib/rbi/type.rb#630
sig { params(types: T::Hash[T.any(::String, ::Symbol), ::RBI::Type]).void }
def initialize(types); end
# source://rbi//lib/rbi/type.rb#637
sig { override.params(other: ::BasicObject).returns(T::Boolean) }
def ==(other); end
# source://rbi//lib/rbi/type.rb#653
sig { override.returns(::RBI::Type) }
def normalize; end
# source://rbi//lib/rbi/type.rb#659
sig { override.returns(::RBI::Type) }
def simplify; end
# source://rbi//lib/rbi/type.rb#643
sig { override.returns(::String) }
def to_rbi; end
# source://rbi//lib/rbi/type.rb#627
sig { returns(T::Hash[T.any(::String, ::Symbol), ::RBI::Type]) }
def types; end
end
# A type that represents a simple class name like `String` or `Foo`.
#
# It can also be a qualified name like `::Foo` or `Foo::Bar`.
#
# source://rbi//lib/rbi/type.rb#13
class RBI::Type::Simple < ::RBI::Type
# @return [Simple] a new instance of Simple
#
# source://rbi//lib/rbi/type.rb#18
sig { params(name: ::String).void }
def initialize(name); end
# source://rbi//lib/rbi/type.rb#25
sig { override.params(other: ::BasicObject).returns(T::Boolean) }
def ==(other); end
# source://rbi//lib/rbi/type.rb#15
sig { returns(::String) }
def name; end
# source://rbi//lib/rbi/type.rb#37
sig { override.returns(::RBI::Type) }
def normalize; end
# source://rbi//lib/rbi/type.rb#43
sig { override.returns(::RBI::Type) }
def simplify; end
# source://rbi//lib/rbi/type.rb#31
sig { override.returns(::String) }
def to_rbi; end
end
# A tuple type like `[String, Integer]`.
#
# source://rbi//lib/rbi/type.rb#589
class RBI::Type::Tuple < ::RBI::Type
# @return [Tuple] a new instance of Tuple
#
# source://rbi//lib/rbi/type.rb#594
sig { params(types: T::Array[::RBI::Type]).void }
def initialize(types); end
# source://rbi//lib/rbi/type.rb#601
sig { override.params(other: ::BasicObject).returns(T::Boolean) }
def ==(other); end
# source://rbi//lib/rbi/type.rb#613
sig { override.returns(::RBI::Type) }
def normalize; end
# source://rbi//lib/rbi/type.rb#619
sig { override.returns(::RBI::Type) }
def simplify; end
# source://rbi//lib/rbi/type.rb#607
sig { override.returns(::String) }
def to_rbi; end
# source://rbi//lib/rbi/type.rb#591
sig { returns(T::Array[::RBI::Type]) }
def types; end
end
# A type parameter like `T.type_parameter(:U)`.
#
# source://rbi//lib/rbi/type.rb#551
class RBI::Type::TypeParameter < ::RBI::Type
# @return [TypeParameter] a new instance of TypeParameter
#
# source://rbi//lib/rbi/type.rb#556
sig { params(name: ::Symbol).void }
def initialize(name); end
# source://rbi//lib/rbi/type.rb#563
sig { override.params(other: ::BasicObject).returns(T::Boolean) }
def ==(other); end
# source://rbi//lib/rbi/type.rb#553
sig { returns(::Symbol) }
def name; end
# source://rbi//lib/rbi/type.rb#575
sig { override.returns(::RBI::Type) }
def normalize; end
# source://rbi//lib/rbi/type.rb#581
sig { override.returns(::RBI::Type) }
def simplify; end
# source://rbi//lib/rbi/type.rb#569
sig { override.returns(::String) }
def to_rbi; end
end
# `T.untyped`.
#
# source://rbi//lib/rbi/type.rb#186
class RBI::Type::Untyped < ::RBI::Type
# source://rbi//lib/rbi/type.rb#189
sig { override.params(other: ::BasicObject).returns(T::Boolean) }
def ==(other); end
# source://rbi//lib/rbi/type.rb#201
sig { override.returns(::RBI::Type) }
def normalize; end
# source://rbi//lib/rbi/type.rb#207
sig { override.returns(::RBI::Type) }
def simplify; end
# source://rbi//lib/rbi/type.rb#195
sig { override.returns(::String) }
def to_rbi; end
end
# source://rbi//lib/rbi/type_visitor.rb#6
class RBI::Type::Visitor
# source://rbi//lib/rbi/type_visitor.rb#10
sig { params(node: ::RBI::Type).void }
def visit(node); end
private
# source://rbi//lib/rbi/type_visitor.rb#56
sig { params(type: ::RBI::Type::All).void }
def visit_all(type); end
# source://rbi//lib/rbi/type_visitor.rb#59
sig { params(type: ::RBI::Type::Any).void }
def visit_any(type); end
# source://rbi//lib/rbi/type_visitor.rb#62
sig { params(type: ::RBI::Type::Anything).void }
def visit_anything(type); end
# source://rbi//lib/rbi/type_visitor.rb#65
sig { params(type: ::RBI::Type::AttachedClass).void }
def visit_attached_class(type); end
# source://rbi//lib/rbi/type_visitor.rb#68
sig { params(type: ::RBI::Type::Boolean).void }
def visit_boolean(type); end
# source://rbi//lib/rbi/type_visitor.rb#71
sig { params(type: ::RBI::Type::Class).void }
def visit_class(type); end
# source://rbi//lib/rbi/type_visitor.rb#74
sig { params(type: ::RBI::Type::ClassOf).void }
def visit_class_of(type); end
# source://rbi//lib/rbi/type_visitor.rb#77
sig { params(type: ::RBI::Type::Generic).void }
def visit_generic(type); end
# source://rbi//lib/rbi/type_visitor.rb#80
sig { params(type: ::RBI::Type::Nilable).void }
def visit_nilable(type); end
# source://rbi//lib/rbi/type_visitor.rb#86
sig { params(type: ::RBI::Type::NoReturn).void }
def visit_no_return(type); end
# source://rbi//lib/rbi/type_visitor.rb#89
sig { params(type: ::RBI::Type::Proc).void }
def visit_proc(type); end
# source://rbi//lib/rbi/type_visitor.rb#92
sig { params(type: ::RBI::Type::SelfType).void }
def visit_self_type(type); end
# source://rbi//lib/rbi/type_visitor.rb#98
sig { params(type: ::RBI::Type::Shape).void }
def visit_shape(type); end
# source://rbi//lib/rbi/type_visitor.rb#83
sig { params(type: ::RBI::Type::Simple).void }
def visit_simple(type); end
# source://rbi//lib/rbi/type_visitor.rb#101
sig { params(type: ::RBI::Type::Tuple).void }
def visit_tuple(type); end
# source://rbi//lib/rbi/type_visitor.rb#104
sig { params(type: ::RBI::Type::TypeParameter).void }
def visit_type_parameter(type); end
# source://rbi//lib/rbi/type_visitor.rb#107
sig { params(type: ::RBI::Type::Untyped).void }
def visit_untyped(type); end
# source://rbi//lib/rbi/type_visitor.rb#95
sig { params(type: ::RBI::Type::Void).void }
def visit_void(type); end
end
# source://rbi//lib/rbi/type_visitor.rb#7
class RBI::Type::Visitor::Error < ::RBI::Error; end
# `void`.
#
# source://rbi//lib/rbi/type.rb#213
class RBI::Type::Void < ::RBI::Type
# source://rbi//lib/rbi/type.rb#216
sig { override.params(other: ::BasicObject).returns(T::Boolean) }
def ==(other); end
# source://rbi//lib/rbi/type.rb#228
sig { override.returns(::RBI::Type) }
def normalize; end
# source://rbi//lib/rbi/type.rb#234
sig { override.returns(::RBI::Type) }
def simplify; end
# source://rbi//lib/rbi/type.rb#222
sig { override.returns(::String) }
def to_rbi; end
end
# source://rbi//lib/rbi/model.rb#1063
class RBI::TypeMember < ::RBI::NodeWithComments
include ::RBI::Indexable
# @return [TypeMember] a new instance of TypeMember
#
# source://rbi//lib/rbi/model.rb#1068
sig do
params(
name: ::String,
value: ::String,
loc: T.nilable(::RBI::Loc),
comments: T::Array[::RBI::Comment],
block: T.nilable(T.proc.params(node: ::RBI::TypeMember).void)
).void
end
def initialize(name, value, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
# source://rbi//lib/rbi/model.rb#1076
sig { returns(::String) }
def fully_qualified_name; end
# source://rbi//lib/rbi/index.rb#174
sig { override.returns(T::Array[::String]) }
def index_ids; end
# source://rbi//lib/rbi/model.rb#1065
sig { returns(::String) }
def name; end
# source://rbi//lib/rbi/model.rb#1084
sig { override.returns(::String) }
def to_s; end
# source://rbi//lib/rbi/model.rb#1065
def value; end
end
# source://rbi//lib/rbi/rbs_printer.rb#982
class RBI::TypePrinter
# @return [TypePrinter] a new instance of TypePrinter
#
# source://rbi//lib/rbi/rbs_printer.rb#987
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
sig { returns(::String) }
def string; end
# source://rbi//lib/rbi/rbs_printer.rb#993
sig { params(node: ::RBI::Type).void }
def visit(node); end
# source://rbi//lib/rbi/rbs_printer.rb#1108
sig { params(type: ::RBI::Type::All).void }
def visit_all(type); end
# source://rbi//lib/rbi/rbs_printer.rb#1118
sig { params(type: ::RBI::Type::Any).void }
def visit_any(type); end
# source://rbi//lib/rbi/rbs_printer.rb#1058
sig { params(type: ::RBI::Type::Anything).void }
def visit_anything(type); end
# source://rbi//lib/rbi/rbs_printer.rb#1083
sig { params(type: ::RBI::Type::AttachedClass).void }
def visit_attached_class(type); end
# source://rbi//lib/rbi/rbs_printer.rb#1042
sig { params(type: ::RBI::Type::Boolean).void }
def visit_boolean(type); end
# source://rbi//lib/rbi/rbs_printer.rb#1185
sig { params(type: ::RBI::Type::Class).void }
def visit_class(type); end
# source://rbi//lib/rbi/rbs_printer.rb#1101
sig { params(type: ::RBI::Type::ClassOf).void }
def visit_class_of(type); end
# source://rbi//lib/rbi/rbs_printer.rb#1047
sig { params(type: ::RBI::Type::Generic).void }
def visit_generic(type); end
# source://rbi//lib/rbi/rbs_printer.rb#1088
sig { params(type: ::RBI::Type::Nilable).void }
def visit_nilable(type); end
# source://rbi//lib/rbi/rbs_printer.rb#1068
sig { params(type: ::RBI::Type::NoReturn).void }
def visit_no_return(type); end
# source://rbi//lib/rbi/rbs_printer.rb#1158
sig { params(type: ::RBI::Type::Proc).void }
def visit_proc(type); end
# source://rbi//lib/rbi/rbs_printer.rb#1078
sig { params(type: ::RBI::Type::SelfType).void }
def visit_self_type(type); end
# source://rbi//lib/rbi/rbs_printer.rb#1138
sig { params(type: ::RBI::Type::Shape).void }
def visit_shape(type); end
# source://rbi//lib/rbi/rbs_printer.rb#1037
sig { params(type: ::RBI::Type::Simple).void }
def visit_simple(type); end
# source://rbi//lib/rbi/rbs_printer.rb#1128
sig { params(type: ::RBI::Type::Tuple).void }
def visit_tuple(type); end
# source://rbi//lib/rbi/rbs_printer.rb#1180
sig { params(type: ::RBI::Type::TypeParameter).void }
def visit_type_parameter(type); end
# source://rbi//lib/rbi/rbs_printer.rb#1073
sig { params(type: ::RBI::Type::Untyped).void }
def visit_untyped(type); end
# source://rbi//lib/rbi/rbs_printer.rb#1063
sig { params(type: ::RBI::Type::Void).void }
def visit_void(type); end
private
# source://rbi//lib/rbi/rbs_printer.rb#1194
sig { params(type_name: ::String).returns(::String) }
def translate_t_type(type_name); end
end
# source://rbi//lib/rbi/rewriters/attr_to_methods.rb#5
class RBI::UnexpectedMultipleSigsError < ::RBI::Error
# @return [UnexpectedMultipleSigsError] a new instance of UnexpectedMultipleSigsError
#
# source://rbi//lib/rbi/rewriters/attr_to_methods.rb#10
sig { params(node: ::RBI::Node).void }
def initialize(node); end
# source://rbi//lib/rbi/rewriters/attr_to_methods.rb#7
sig { returns(::RBI::Node) }
def node; end
end
# source://rbi//lib/rbi/parser.rb#18
class RBI::UnexpectedParserError < ::RBI::Error
# @return [UnexpectedParserError] a new instance of UnexpectedParserError
#
# source://rbi//lib/rbi/parser.rb#23
sig { params(parent_exception: ::Exception, last_location: ::RBI::Loc).void }
def initialize(parent_exception, last_location); end
# source://rbi//lib/rbi/parser.rb#20
sig { returns(::RBI::Loc) }
def last_location; end
# source://rbi//lib/rbi/parser.rb#30
sig { params(io: T.any(::IO, ::StringIO)).void }
def print_debug(io: T.unsafe(nil)); end
end
# source://rbi//lib/rbi/version.rb#5
RBI::VERSION = T.let(T.unsafe(nil), String)
# @abstract
#
# source://rbi//lib/rbi/model.rb#693
class RBI::Visibility < ::RBI::NodeWithComments
abstract!
# @return [Visibility] a new instance of Visibility
#
# source://rbi//lib/rbi/model.rb#698
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
sig { params(other: T.nilable(::Object)).returns(T::Boolean) }
def ==(other); end
# @return [Boolean]
#
# source://rbi//lib/rbi/model.rb#721
sig { returns(T::Boolean) }
def private?; end
# @return [Boolean]
#
# source://rbi//lib/rbi/model.rb#716
sig { returns(T::Boolean) }
def protected?; end
# @return [Boolean]
#
# source://rbi//lib/rbi/model.rb#711
sig { returns(T::Boolean) }
def public?; end
# source://rbi//lib/rbi/model.rb#695
sig { returns(::Symbol) }
def visibility; end
end
# source://rbi//lib/rbi/rewriters/nest_non_public_members.rb#49
class RBI::VisibilityGroup < ::RBI::Tree
# @return [VisibilityGroup] a new instance of VisibilityGroup
#
# source://rbi//lib/rbi/rewriters/nest_non_public_members.rb#54
sig { params(visibility: ::RBI::Visibility).void }
def initialize(visibility); end
# source://rbi//lib/rbi/rewriters/nest_non_public_members.rb#51
sig { returns(::RBI::Visibility) }
def visibility; end
end
# @abstract
#
# source://rbi//lib/rbi/visitor.rb#8
class RBI::Visitor
abstract!
# source://rbi//lib/rbi/visitor.rb#10
sig { params(node: T.nilable(::RBI::Node)).void }
def visit(node); end
# source://rbi//lib/rbi/visitor.rb#108
sig { params(nodes: T::Array[::RBI::Node]).void }
def visit_all(nodes); end
# source://rbi//lib/rbi/visitor.rb#113
sig { params(file: ::RBI::File).void }
def visit_file(file); end
private
# source://rbi//lib/rbi/visitor.rb#198
sig { params(node: ::RBI::Arg).void }
def visit_arg(node); end
# source://rbi//lib/rbi/visitor.rb#147
sig { params(node: ::RBI::AttrAccessor).void }
def visit_attr_accessor(node); end
# source://rbi//lib/rbi/visitor.rb#150
sig { params(node: ::RBI::AttrReader).void }
def visit_attr_reader(node); end
# source://rbi//lib/rbi/visitor.rb#153
sig { params(node: ::RBI::AttrWriter).void }
def visit_attr_writer(node); end
# source://rbi//lib/rbi/visitor.rb#126
sig { params(node: ::RBI::BlankLine).void }
def visit_blank_line(node); end
# source://rbi//lib/rbi/visitor.rb#177
sig { params(node: ::RBI::BlockParam).void }
def visit_block_param(node); end
# source://rbi//lib/rbi/visitor.rb#132
sig { params(node: ::RBI::Class).void }
def visit_class(node); end
# source://rbi//lib/rbi/visitor.rb#120
sig { params(node: ::RBI::Comment).void }
def visit_comment(node); end
# source://rbi//lib/rbi/visitor.rb#246
sig { params(node: ::RBI::ConflictTree).void }
def visit_conflict_tree(node); end
# source://rbi//lib/rbi/visitor.rb#144
sig { params(node: ::RBI::Const).void }
def visit_const(node); end
# source://rbi//lib/rbi/visitor.rb#183
sig { params(node: ::RBI::Extend).void }
def visit_extend(node); end
# source://rbi//lib/rbi/visitor.rb#240
sig { params(node: ::RBI::Group).void }
def visit_group(node); end
# source://rbi//lib/rbi/visitor.rb#228
sig { params(node: ::RBI::Helper).void }
def visit_helper(node); end
# source://rbi//lib/rbi/visitor.rb#180
sig { params(node: ::RBI::Include).void }
def visit_include(node); end
# source://rbi//lib/rbi/visitor.rb#201
sig { params(node: ::RBI::KwArg).void }
def visit_kw_arg(node); end
# source://rbi//lib/rbi/visitor.rb#171
sig { params(node: ::RBI::KwOptParam).void }
def visit_kw_opt_param(node); end
# source://rbi//lib/rbi/visitor.rb#168
sig { params(node: ::RBI::KwParam).void }
def visit_kw_param(node); end
# source://rbi//lib/rbi/visitor.rb#174
sig { params(node: ::RBI::KwRestParam).void }
def visit_kw_rest_param(node); end
# source://rbi//lib/rbi/visitor.rb#156
sig { params(node: ::RBI::Method).void }
def visit_method(node); end
# source://rbi//lib/rbi/visitor.rb#234
sig { params(node: ::RBI::MixesInClassMethods).void }
def visit_mixes_in_class_methods(node); end
# source://rbi//lib/rbi/visitor.rb#129
sig { params(node: ::RBI::Module).void }
def visit_module(node); end
# source://rbi//lib/rbi/visitor.rb#162
sig { params(node: ::RBI::OptParam).void }
def visit_opt_param(node); end
# source://rbi//lib/rbi/visitor.rb#192
sig { params(node: ::RBI::Private).void }
def visit_private(node); end
# source://rbi//lib/rbi/visitor.rb#189
sig { params(node: ::RBI::Protected).void }
def visit_protected(node); end
# source://rbi//lib/rbi/visitor.rb#186
sig { params(node: ::RBI::Public).void }
def visit_public(node); end
# source://rbi//lib/rbi/visitor.rb#123
sig { params(node: ::RBI::RBSComment).void }
def visit_rbs_comment(node); end
# source://rbi//lib/rbi/visitor.rb#159
sig { params(node: ::RBI::ReqParam).void }
def visit_req_param(node); end
# source://rbi//lib/rbi/visitor.rb#237
sig { params(node: ::RBI::RequiresAncestor).void }
def visit_requires_ancestor(node); end
# source://rbi//lib/rbi/visitor.rb#165
sig { params(node: ::RBI::RestParam).void }
def visit_rest_param(node); end
# source://rbi//lib/rbi/visitor.rb#249
sig { params(node: ::RBI::ScopeConflict).void }
def visit_scope_conflict(node); end
# source://rbi//lib/rbi/visitor.rb#195
sig { params(node: ::RBI::Send).void }
def visit_send(node); end
# source://rbi//lib/rbi/visitor.rb#204
sig { params(node: ::RBI::Sig).void }
def visit_sig(node); end
# source://rbi//lib/rbi/visitor.rb#207
sig { params(node: ::RBI::SigParam).void }
def visit_sig_param(node); end
# source://rbi//lib/rbi/visitor.rb#135
sig { params(node: ::RBI::SingletonClass).void }
def visit_singleton_class(node); end
# source://rbi//lib/rbi/visitor.rb#138
sig { params(node: ::RBI::Struct).void }
def visit_struct(node); end
# source://rbi//lib/rbi/visitor.rb#219
sig { params(node: ::RBI::TEnum).void }
def visit_tenum(node); end
# source://rbi//lib/rbi/visitor.rb#222
sig { params(node: ::RBI::TEnumBlock).void }
def visit_tenum_block(node); end
# source://rbi//lib/rbi/visitor.rb#225
sig { params(node: ::RBI::TEnumValue).void }
def visit_tenum_value(node); end
# source://rbi//lib/rbi/visitor.rb#141
sig { params(node: ::RBI::Tree).void }
def visit_tree(node); end
# source://rbi//lib/rbi/visitor.rb#210
sig { params(node: ::RBI::TStruct).void }
def visit_tstruct(node); end
# source://rbi//lib/rbi/visitor.rb#213
sig { params(node: ::RBI::TStructConst).void }
def visit_tstruct_const(node); end
# source://rbi//lib/rbi/visitor.rb#216
sig { params(node: ::RBI::TStructProp).void }
def visit_tstruct_prop(node); end
# source://rbi//lib/rbi/visitor.rb#231
sig { params(node: ::RBI::TypeMember).void }
def visit_type_member(node); end
# source://rbi//lib/rbi/visitor.rb#243
sig { params(node: ::RBI::VisibilityGroup).void }
def visit_visibility_group(node); end
end
# source://rbi//lib/rbi/visitor.rb#5
class RBI::VisitorError < ::RBI::Error; end