diff --git a/Library/Homebrew/sorbet/rbi/gems/rbi@0.0.4.rbi b/Library/Homebrew/sorbet/rbi/gems/rbi@0.0.4.rbi new file mode 100644 index 0000000000..3427bd775e --- /dev/null +++ b/Library/Homebrew/sorbet/rbi/gems/rbi@0.0.4.rbi @@ -0,0 +1,1396 @@ +# 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 + +module RBI; end + +class RBI::ASTVisitor + abstract! + + def initialize(*args, &blk); end + + sig { abstract.params(node: T.nilable(AST::Node)).void } + def visit(node); end + + sig { params(nodes: T::Array[AST::Node]).void } + def visit_all(nodes); end + + private + + sig { params(node: AST::Node).returns(String) } + def parse_expr(node); end + + sig { params(node: AST::Node).returns(String) } + def parse_name(node); end +end + +class RBI::Attr < ::RBI::NodeWithComments + include ::RBI::Indexable + + abstract! + + sig { 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 } + def initialize(name, names, visibility: T.unsafe(nil), sigs: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil)); end + + sig { override.params(v: RBI::Printer).void } + def accept_printer(v); end + + sig { override.params(other: RBI::Node).returns(T::Boolean) } + def compatible_with?(other); end + + sig { abstract.returns(T::Array[String]) } + def fully_qualified_names; end + + sig { override.returns(T::Array[String]) } + def index_ids; end + + sig { override.params(other: RBI::Node).void } + def merge_with(other); end + + sig { returns(T::Array[Symbol]) } + def names; end + + def names=(_arg0); end + + sig { override.returns(T::Boolean) } + def oneline?; end + + sig { returns(T::Array[RBI::Sig]) } + def sigs; end + + sig { returns(RBI::Visibility) } + def visibility; end + + def visibility=(_arg0); end +end + +class RBI::AttrAccessor < ::RBI::Attr + sig { 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 } + def initialize(name, *names, visibility: T.unsafe(nil), sigs: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end + + sig { override.params(other: RBI::Node).returns(T::Boolean) } + def compatible_with?(other); end + + sig { override.returns(T::Array[String]) } + def fully_qualified_names; end + + sig { override.returns(String) } + def to_s; end +end + +class RBI::AttrReader < ::RBI::Attr + sig { 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 } + def initialize(name, *names, visibility: T.unsafe(nil), sigs: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end + + sig { override.params(other: RBI::Node).returns(T::Boolean) } + def compatible_with?(other); end + + sig { override.returns(T::Array[String]) } + def fully_qualified_names; end + + sig { override.returns(String) } + def to_s; end +end + +class RBI::AttrWriter < ::RBI::Attr + sig { 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 } + def initialize(name, *names, visibility: T.unsafe(nil), sigs: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end + + sig { override.params(other: RBI::Node).returns(T::Boolean) } + def compatible_with?(other); end + + sig { override.returns(T::Array[String]) } + def fully_qualified_names; end + + sig { override.returns(String) } + def to_s; end +end + +class RBI::BlockParam < ::RBI::Param + sig { params(name: String, loc: T.nilable(RBI::Loc), comments: T::Array[RBI::Comment], block: T.nilable(T.proc.params(node: RBI::BlockParam).void)).void } + def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end + + sig { params(other: T.nilable(Object)).returns(T::Boolean) } + def ==(other); end + + sig { override.params(v: RBI::Printer).void } + def accept_printer(v); end + + sig { override.params(v: RBI::Printer, last: T::Boolean).void } + def print_comment_leading_space(v, last:); end + + sig { override.returns(String) } + def to_s; end +end + +class RBI::Class < ::RBI::Scope + sig { 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 } + def initialize(name, superclass_name: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end + + sig { override.params(other: RBI::Node).returns(T::Boolean) } + def compatible_with?(other); end + + sig { override.returns(String) } + def fully_qualified_name; end + + sig { returns(String) } + def name; end + + def name=(_arg0); end + + sig { override.params(v: RBI::Printer).void } + def print_header(v); end + + sig { returns(T.nilable(String)) } + def superclass_name; end + + def superclass_name=(_arg0); end +end + +class RBI::Comment < ::RBI::Node + sig { params(text: String, loc: T.nilable(RBI::Loc)).void } + def initialize(text, loc: T.unsafe(nil)); end + + sig { params(other: Object).returns(T::Boolean) } + def ==(other); end + + sig { override.params(v: RBI::Printer).void } + def accept_printer(v); end + + sig { returns(String) } + def text; end + + def text=(_arg0); end +end + +class RBI::ConflictTree < ::RBI::Tree + sig { params(left_name: String, right_name: String).void } + def initialize(left_name: T.unsafe(nil), right_name: T.unsafe(nil)); end + + sig { override.params(v: RBI::Printer).void } + def accept_printer(v); end + + sig { returns(RBI::Tree) } + def left; end + + def right; end +end + +class RBI::Const < ::RBI::NodeWithComments + include ::RBI::Indexable + + sig { 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 } + def initialize(name, value, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end + + sig { override.params(v: RBI::Printer).void } + def accept_printer(v); end + + sig { override.params(other: RBI::Node).returns(T::Boolean) } + def compatible_with?(other); end + + sig { returns(String) } + def fully_qualified_name; end + + sig { override.returns(T::Array[String]) } + def index_ids; end + + sig { returns(String) } + def name; end + + sig { override.returns(String) } + def to_s; end + + def value; end +end + +class RBI::ConstBuilder < ::RBI::ASTVisitor + sig { void } + def initialize; end + + sig { returns(T::Array[String]) } + def names; end + + def names=(_arg0); end + + sig { override.params(node: T.nilable(AST::Node)).void } + def visit(node); end + + class << self + sig { params(node: T.nilable(AST::Node)).returns(T.nilable(String)) } + def visit(node); end + end +end + +class RBI::EmptyComment < ::RBI::Comment + sig { params(loc: T.nilable(RBI::Loc)).void } + def initialize(loc: T.unsafe(nil)); end + + sig { override.params(v: RBI::Printer).void } + def accept_printer(v); end +end + +class RBI::Error < ::StandardError; end + +class RBI::Extend < ::RBI::Mixin + include ::RBI::Indexable + + sig { 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 } + def initialize(name, *names, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end + + sig { override.params(other: RBI::Node).returns(T::Boolean) } + def compatible_with?(other); end + + sig { override.returns(T::Array[String]) } + def index_ids; end + + sig { override.returns(String) } + def to_s; end +end + +class RBI::File + sig { params(strictness: T.nilable(String), comments: T::Array[RBI::Comment], block: T.nilable(T.proc.params(file: RBI::File).void)).void } + def initialize(strictness: T.unsafe(nil), comments: T.unsafe(nil), &block); end + + sig { params(node: RBI::Node).void } + def <<(node); end + + sig { params(v: RBI::Printer).void } + def accept_printer(v); end + + sig { returns(T::Array[RBI::Comment]) } + def comments; end + + def comments=(_arg0); end + + sig { params(out: T.any(IO, StringIO), indent: Integer, print_locs: T::Boolean).void } + def print(out: T.unsafe(nil), indent: T.unsafe(nil), print_locs: T.unsafe(nil)); end + + sig { returns(RBI::Tree) } + def root; end + + sig { returns(T.nilable(String)) } + def strictness; end + + sig { params(indent: Integer, print_locs: T::Boolean).returns(String) } + def string(indent: T.unsafe(nil), print_locs: T.unsafe(nil)); end +end + +class RBI::Group < ::RBI::Tree + sig { params(kind: RBI::Group::Kind).void } + def initialize(kind); end + + sig { override.params(v: RBI::Printer).void } + def accept_printer(v); end + + sig { returns(RBI::Group::Kind) } + def kind; end +end + +class RBI::Group::Kind < ::T::Enum + enums do + Mixins = new + Helpers = new + TypeMembers = new + MixesInClassMethods = new + TStructFields = new + TEnums = new + Inits = new + Methods = new + Consts = new + end +end + +class RBI::Helper < ::RBI::NodeWithComments + include ::RBI::Indexable + + sig { params(name: String, loc: T.nilable(RBI::Loc), comments: T::Array[RBI::Comment], block: T.nilable(T.proc.params(node: RBI::Helper).void)).void } + def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end + + sig { override.params(v: RBI::Printer).void } + def accept_printer(v); end + + sig { override.params(other: RBI::Node).returns(T::Boolean) } + def compatible_with?(other); end + + sig { override.returns(T::Array[String]) } + def index_ids; end + + sig { returns(String) } + def name; end + + sig { override.returns(String) } + def to_s; end +end + +class RBI::Include < ::RBI::Mixin + include ::RBI::Indexable + + sig { 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 } + def initialize(name, *names, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end + + sig { override.params(other: RBI::Node).returns(T::Boolean) } + def compatible_with?(other); end + + sig { override.returns(T::Array[String]) } + def index_ids; end + + sig { override.returns(String) } + def to_s; end +end + +class RBI::Index < ::RBI::Visitor + sig { void } + def initialize; end + + sig { params(id: String).returns(T::Array[RBI::Node]) } + def [](id); end + + sig { params(node: T.all(RBI::Indexable, RBI::Node)).void } + def index(node); end + + sig { returns(T::Array[String]) } + def keys; end + + sig { override.params(node: T.nilable(RBI::Node)).void } + def visit(node); end + + class << self + sig { params(node: RBI::Node).returns(RBI::Index) } + def index(*node); end + end +end + +module RBI::Indexable + interface! + + sig { abstract.returns(T::Array[String]) } + def index_ids; end +end + +class RBI::KwOptParam < ::RBI::Param + sig { 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 } + def initialize(name, value, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end + + sig { params(other: T.nilable(Object)).returns(T::Boolean) } + def ==(other); end + + sig { override.params(v: RBI::Printer).void } + def accept_printer(v); end + + sig { override.params(v: RBI::Printer, last: T::Boolean).void } + def print_comment_leading_space(v, last:); end + + sig { override.returns(String) } + def to_s; end + + sig { returns(String) } + def value; end +end + +class RBI::KwParam < ::RBI::Param + sig { params(name: String, loc: T.nilable(RBI::Loc), comments: T::Array[RBI::Comment], block: T.nilable(T.proc.params(node: RBI::KwParam).void)).void } + def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end + + sig { params(other: T.nilable(Object)).returns(T::Boolean) } + def ==(other); end + + sig { override.params(v: RBI::Printer).void } + def accept_printer(v); end + + sig { override.params(v: RBI::Printer, last: T::Boolean).void } + def print_comment_leading_space(v, last:); end + + sig { override.returns(String) } + def to_s; end +end + +class RBI::KwRestParam < ::RBI::Param + sig { params(name: String, loc: T.nilable(RBI::Loc), comments: T::Array[RBI::Comment], block: T.nilable(T.proc.params(node: RBI::KwRestParam).void)).void } + def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end + + sig { params(other: T.nilable(Object)).returns(T::Boolean) } + def ==(other); end + + sig { override.params(v: RBI::Printer).void } + def accept_printer(v); end + + sig { override.params(v: RBI::Printer, last: T::Boolean).void } + def print_comment_leading_space(v, last:); end + + sig { override.returns(String) } + def to_s; end +end + +class RBI::Loc + sig { 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 } + 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 + + def begin_column; end + + sig { returns(T.nilable(Integer)) } + def begin_line; end + + def end_column; end + def end_line; end + + sig { returns(T.nilable(String)) } + def file; end + + sig { returns(String) } + def to_s; end + + class << self + sig { params(file: String, ast_loc: T.any(Parser::Source::Map, Parser::Source::Range)).returns(RBI::Loc) } + def from_ast_loc(file, ast_loc); end + end +end + +class RBI::Method < ::RBI::NodeWithComments + include ::RBI::Indexable + + sig { 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 } + 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 + + sig { params(param: RBI::Param).void } + def <<(param); end + + sig { override.params(v: RBI::Printer).void } + def accept_printer(v); end + + sig { override.params(other: RBI::Node).returns(T::Boolean) } + def compatible_with?(other); end + + sig { returns(String) } + def fully_qualified_name; end + + sig { override.returns(T::Array[String]) } + def index_ids; end + + sig { returns(T::Boolean) } + def inline_params?; end + + sig { returns(T::Boolean) } + def is_singleton; end + + def is_singleton=(_arg0); end + + sig { override.params(other: RBI::Node).void } + def merge_with(other); end + + sig { returns(String) } + def name; end + + def name=(_arg0); end + + sig { override.returns(T::Boolean) } + def oneline?; end + + sig { returns(T::Array[RBI::Param]) } + def params; end + + sig { returns(T::Array[RBI::Sig]) } + def sigs; end + + def sigs=(_arg0); end + + sig { override.returns(String) } + def to_s; end + + sig { returns(RBI::Visibility) } + def visibility; end + + def visibility=(_arg0); end +end + +class RBI::MixesInClassMethods < ::RBI::Mixin + include ::RBI::Indexable + + sig { 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 } + def initialize(name, *names, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end + + sig { override.params(other: RBI::Node).returns(T::Boolean) } + def compatible_with?(other); end + + sig { override.returns(T::Array[String]) } + def index_ids; end + + sig { override.returns(String) } + def to_s; end +end + +class RBI::Mixin < ::RBI::NodeWithComments + abstract! + + sig { params(name: String, names: T::Array[String], loc: T.nilable(RBI::Loc), comments: T::Array[RBI::Comment]).void } + def initialize(name, names, loc: T.unsafe(nil), comments: T.unsafe(nil)); end + + sig { override.params(v: RBI::Printer).void } + def accept_printer(v); end + + sig { override.params(other: RBI::Node).returns(T::Boolean) } + def compatible_with?(other); end + + sig { returns(T::Array[String]) } + def names; end + + def names=(_arg0); end +end + +class RBI::Module < ::RBI::Scope + sig { params(name: String, loc: T.nilable(RBI::Loc), comments: T::Array[RBI::Comment], block: T.nilable(T.proc.params(node: RBI::Module).void)).void } + def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end + + sig { override.params(other: RBI::Node).returns(T::Boolean) } + def compatible_with?(other); end + + sig { override.returns(String) } + def fully_qualified_name; end + + sig { returns(String) } + def name; end + + def name=(_arg0); end + + sig { override.params(v: RBI::Printer).void } + def print_header(v); end +end + +class RBI::Node + abstract! + + sig { params(loc: T.nilable(RBI::Loc)).void } + def initialize(loc: T.unsafe(nil)); end + + sig { abstract.params(v: RBI::Printer).void } + def accept_printer(v); end + + sig { params(_other: RBI::Node).returns(T::Boolean) } + def compatible_with?(_other); end + + sig { void } + def detach; end + + sig { returns(RBI::Group::Kind) } + def group_kind; end + + sig { returns(T.nilable(RBI::Loc)) } + def loc; end + + def loc=(_arg0); end + + sig { params(other: RBI::Node).void } + def merge_with(other); end + + sig { returns(T::Boolean) } + def oneline?; end + + sig { returns(T.nilable(RBI::ConflictTree)) } + def parent_conflict_tree; end + + sig { returns(T.nilable(RBI::Scope)) } + def parent_scope; end + + sig { returns(T.nilable(RBI::Tree)) } + def parent_tree; end + + def parent_tree=(_arg0); end + + sig { params(out: T.any(IO, StringIO), indent: Integer, print_locs: T::Boolean).void } + def print(out: T.unsafe(nil), indent: T.unsafe(nil), print_locs: T.unsafe(nil)); end + + sig { params(node: RBI::Node).void } + def replace(node); end + + sig { params(indent: Integer, print_locs: T::Boolean).returns(String) } + def string(indent: T.unsafe(nil), print_locs: T.unsafe(nil)); end +end + +class RBI::NodeWithComments < ::RBI::Node + abstract! + + sig { params(loc: T.nilable(RBI::Loc), comments: T::Array[RBI::Comment]).void } + def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil)); end + + sig { returns(T::Array[RBI::Comment]) } + def comments; end + + def comments=(_arg0); end + + sig { override.params(other: RBI::Node).void } + def merge_with(other); end + + sig { override.returns(T::Boolean) } + def oneline?; end +end + +class RBI::OptParam < ::RBI::Param + sig { 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 } + def initialize(name, value, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end + + sig { params(other: T.nilable(Object)).returns(T::Boolean) } + def ==(other); end + + sig { override.params(v: RBI::Printer).void } + def accept_printer(v); end + + sig { override.params(v: RBI::Printer, last: T::Boolean).void } + def print_comment_leading_space(v, last:); end + + sig { returns(String) } + def value; end +end + +class RBI::Param < ::RBI::NodeWithComments + abstract! + + 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 + + sig { override.params(v: RBI::Printer).void } + def accept_printer(v); end + + sig { returns(String) } + def name; end + + sig { params(v: RBI::Printer, last: T::Boolean).void } + def print_comment_leading_space(v, last:); end + + sig { override.returns(String) } + def to_s; end +end + +class RBI::ParseError < ::StandardError + sig { params(message: String, location: RBI::Loc).void } + def initialize(message, location); end + + sig { returns(RBI::Loc) } + def location; end +end + +class RBI::Parser + sig { params(path: String).returns(RBI::Tree) } + def parse_file(path); end + + sig { params(string: String).returns(RBI::Tree) } + def parse_string(string); end + + private + + sig { params(content: String, file: String).returns(RBI::Tree) } + def parse(content, file:); end + + class << self + sig { params(path: String).returns(RBI::Tree) } + def parse_file(path); end + + sig { params(string: String).returns(RBI::Tree) } + def parse_string(string); end + end +end + +class RBI::Printer < ::RBI::Visitor + sig { params(out: T.any(IO, StringIO), indent: Integer, print_locs: T::Boolean).void } + def initialize(out: T.unsafe(nil), indent: T.unsafe(nil), print_locs: T.unsafe(nil)); end + + sig { void } + def dedent; end + + def in_visibility_group; end + def in_visibility_group=(_arg0); end + + sig { void } + def indent; end + + sig { returns(T.nilable(RBI::Node)) } + def previous_node; end + + sig { params(string: String).void } + def print(string); end + + sig { returns(T::Boolean) } + def print_locs; end + + def print_locs=(_arg0); end + + sig { params(string: String).void } + def printl(string); end + + sig { params(string: T.nilable(String)).void } + def printn(string = T.unsafe(nil)); end + + sig { params(string: T.nilable(String)).void } + def printt(string = T.unsafe(nil)); end + + sig { override.params(node: T.nilable(RBI::Node)).void } + def visit(node); end + + sig { override.params(nodes: T::Array[RBI::Node]).void } + def visit_all(nodes); end + + sig { params(file: RBI::File).void } + def visit_file(file); end +end + +class RBI::Private < ::RBI::Visibility + sig { params(loc: T.nilable(RBI::Loc), comments: T::Array[RBI::Comment], block: T.nilable(T.proc.params(node: RBI::Private).void)).void } + def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end +end + +class RBI::Protected < ::RBI::Visibility + sig { params(loc: T.nilable(RBI::Loc), comments: T::Array[RBI::Comment], block: T.nilable(T.proc.params(node: RBI::Protected).void)).void } + def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end +end + +class RBI::Public < ::RBI::Visibility + sig { params(loc: T.nilable(RBI::Loc), comments: T::Array[RBI::Comment], block: T.nilable(T.proc.params(node: RBI::Public).void)).void } + def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end +end + +class RBI::ReqParam < ::RBI::Param + sig { params(name: String, loc: T.nilable(RBI::Loc), comments: T::Array[RBI::Comment], block: T.nilable(T.proc.params(node: RBI::ReqParam).void)).void } + def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end + + sig { params(other: T.nilable(Object)).returns(T::Boolean) } + def ==(other); end +end + +class RBI::RestParam < ::RBI::Param + sig { params(name: String, loc: T.nilable(RBI::Loc), comments: T::Array[RBI::Comment], block: T.nilable(T.proc.params(node: RBI::RestParam).void)).void } + def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end + + sig { params(other: T.nilable(Object)).returns(T::Boolean) } + def ==(other); end + + sig { override.params(v: RBI::Printer).void } + def accept_printer(v); end + + sig { override.params(v: RBI::Printer, last: T::Boolean).void } + def print_comment_leading_space(v, last:); end + + sig { override.returns(String) } + def to_s; end +end + +module RBI::Rewriters; end + +class RBI::Rewriters::AddSigTemplates < ::RBI::Visitor + sig { params(with_todo_comment: T::Boolean).void } + def initialize(with_todo_comment: T.unsafe(nil)); end + + sig { override.params(node: T.nilable(RBI::Node)).void } + def visit(node); end + + private + + sig { params(attr: RBI::Attr).void } + def add_attr_sig(attr); end + + sig { params(method: RBI::Method).void } + def add_method_sig(method); end + + sig { params(node: RBI::NodeWithComments).void } + def add_todo_comment(node); end +end + +class RBI::Rewriters::GroupNodes < ::RBI::Visitor + sig { override.params(node: T.nilable(RBI::Node)).void } + def visit(node); end +end + +class RBI::Rewriters::Merge + 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 + + sig { params(tree: RBI::Tree).returns(T::Array[RBI::Rewriters::Merge::Conflict]) } + def merge(tree); end + + sig { returns(RBI::Tree) } + def tree; end + + class << self + sig { params(left: RBI::Tree, right: RBI::Tree, left_name: String, right_name: String, keep: RBI::Rewriters::Merge::Keep).returns(RBI::Tree) } + def merge_trees(left, right, left_name: T.unsafe(nil), right_name: T.unsafe(nil), keep: T.unsafe(nil)); end + end +end + +class RBI::Rewriters::Merge::Conflict < ::T::Struct + const :left, RBI::Node + const :left_name, String + const :right, RBI::Node + const :right_name, String + + sig { returns(String) } + def to_s; end + + class << self + def inherited(s); end + end +end + +class RBI::Rewriters::Merge::ConflictTreeMerger < ::RBI::Visitor + sig { override.params(node: T.nilable(RBI::Node)).void } + def visit(node); end + + sig { override.params(nodes: T::Array[RBI::Node]).void } + def visit_all(nodes); end + + private + + sig { params(left: RBI::Tree, right: RBI::Tree).void } + def merge_conflict_trees(left, right); end +end + +class RBI::Rewriters::Merge::Keep < ::T::Enum + enums do + NONE = new + LEFT = new + RIGHT = new + end +end + +class RBI::Rewriters::Merge::TreeMerger < ::RBI::Visitor + sig { params(output: RBI::Tree, left_name: String, right_name: String, keep: RBI::Rewriters::Merge::Keep).void } + def initialize(output, left_name: T.unsafe(nil), right_name: T.unsafe(nil), keep: T.unsafe(nil)); end + + sig { returns(T::Array[RBI::Rewriters::Merge::Conflict]) } + def conflicts; end + + sig { override.params(node: T.nilable(RBI::Node)).void } + def visit(node); end + + private + + sig { returns(RBI::Tree) } + def current_scope; end + + sig { params(left: RBI::Scope, right: RBI::Scope).void } + def make_conflict_scope(left, right); end + + sig { params(left: RBI::Node, right: RBI::Node).void } + def make_conflict_tree(left, right); end + + sig { params(node: RBI::Node).returns(T.nilable(RBI::Node)) } + def previous_definition(node); end + + sig { params(left: RBI::Scope, right: RBI::Scope).returns(RBI::Scope) } + def replace_scope_header(left, right); end +end + +class RBI::Rewriters::NestNonPublicMethods < ::RBI::Visitor + sig { override.params(node: T.nilable(RBI::Node)).void } + def visit(node); end +end + +class RBI::Rewriters::NestSingletonMethods < ::RBI::Visitor + sig { override.params(node: T.nilable(RBI::Node)).void } + def visit(node); end +end + +class RBI::Rewriters::SortNodes < ::RBI::Visitor + sig { override.params(node: T.nilable(RBI::Node)).void } + def visit(node); end + + private + + sig { params(kind: RBI::Group::Kind).returns(Integer) } + def group_rank(kind); end + + sig { params(node: RBI::Node).returns(T.nilable(String)) } + def node_name(node); end + + sig { params(node: RBI::Node).returns(Integer) } + def node_rank(node); end +end + +class RBI::Scope < ::RBI::Tree + include ::RBI::Indexable + + abstract! + + def initialize(*args, &blk); end + + sig { override.params(v: RBI::Printer).void } + def accept_printer(v); end + + sig { returns(T.self_type) } + def dup_empty; end + + sig { abstract.returns(String) } + def fully_qualified_name; end + + sig { override.returns(T::Array[String]) } + def index_ids; end + + sig { params(v: RBI::Printer).void } + def print_body(v); end + + sig { abstract.params(v: RBI::Printer).void } + def print_header(v); end + + sig { override.returns(String) } + def to_s; end +end + +class RBI::ScopeConflict < ::RBI::Tree + 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 + + sig { override.params(v: RBI::Printer).void } + def accept_printer(v); end + + sig { returns(RBI::Scope) } + def left; end + + sig { override.returns(T::Boolean) } + def oneline?; end + + def right; end +end + +class RBI::Sig < ::RBI::Node + sig { params(params: T::Array[RBI::SigParam], return_type: T.nilable(String), is_abstract: T::Boolean, is_override: T::Boolean, is_overridable: T::Boolean, type_params: T::Array[String], checked: T.nilable(Symbol), loc: T.nilable(RBI::Loc), block: T.nilable(T.proc.params(node: RBI::Sig).void)).void } + 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), type_params: T.unsafe(nil), checked: T.unsafe(nil), loc: T.unsafe(nil), &block); end + + sig { params(param: RBI::SigParam).void } + def <<(param); end + + sig { params(other: Object).returns(T::Boolean) } + def ==(other); end + + sig { override.params(v: RBI::Printer).void } + def accept_printer(v); end + + sig { returns(T.nilable(Symbol)) } + def checked; end + + def checked=(_arg0); end + + sig { returns(T::Boolean) } + def inline_params?; end + + sig { returns(T::Boolean) } + def is_abstract; end + + def is_abstract=(_arg0); end + def is_overridable; end + def is_overridable=(_arg0); end + def is_override; end + def is_override=(_arg0); end + + sig { override.returns(T::Boolean) } + def oneline?; end + + sig { returns(T::Array[RBI::SigParam]) } + def params; end + + sig { returns(T.nilable(String)) } + def return_type; end + + def return_type=(_arg0); end + + sig { returns(T::Array[String]) } + def type_params; end +end + +class RBI::SigBuilder < ::RBI::ASTVisitor + sig { void } + def initialize; end + + sig { returns(RBI::Sig) } + def current; end + + def current=(_arg0); end + + sig { override.params(node: T.nilable(AST::Node)).void } + def visit(node); end + + sig { params(node: AST::Node).void } + def visit_send(node); end + + class << self + sig { params(node: AST::Node).returns(RBI::Sig) } + def build(node); end + end +end + +class RBI::SigParam < ::RBI::NodeWithComments + sig { params(name: String, type: String, loc: T.nilable(RBI::Loc), comments: T::Array[RBI::Comment], block: T.nilable(T.proc.params(node: RBI::SigParam).void)).void } + def initialize(name, type, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end + + sig { params(other: Object).returns(T::Boolean) } + def ==(other); end + + sig { override.params(v: RBI::Printer).void } + def accept_printer(v); end + + sig { returns(String) } + def name; end + + sig { params(v: RBI::Printer, last: T::Boolean).void } + def print_comment_leading_space(v, last:); end + + def type; end +end + +class RBI::SingletonClass < ::RBI::Scope + sig { params(loc: T.nilable(RBI::Loc), comments: T::Array[RBI::Comment], block: T.nilable(T.proc.params(node: RBI::SingletonClass).void)).void } + def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end + + sig { override.returns(String) } + def fully_qualified_name; end + + sig { override.params(v: RBI::Printer).void } + def print_header(v); end +end + +class RBI::Struct < ::RBI::Scope + sig { 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 } + def initialize(name, members: T.unsafe(nil), keyword_init: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end + + sig { override.params(other: RBI::Node).returns(T::Boolean) } + def compatible_with?(other); end + + sig { override.returns(String) } + def fully_qualified_name; end + + sig { returns(T::Boolean) } + def keyword_init; end + + def keyword_init=(_arg0); end + + sig { returns(T::Array[Symbol]) } + def members; end + + def members=(_arg0); end + + sig { returns(String) } + def name; end + + def name=(_arg0); end + + sig { override.params(v: RBI::Printer).void } + def print_header(v); end +end + +class RBI::TEnum < ::RBI::Class + sig { params(name: String, loc: T.nilable(RBI::Loc), comments: T::Array[RBI::Comment], block: T.nilable(T.proc.params(klass: RBI::TEnum).void)).void } + def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end +end + +class RBI::TEnumBlock < ::RBI::NodeWithComments + include ::RBI::Indexable + + sig { params(names: T::Array[String], loc: T.nilable(RBI::Loc), comments: T::Array[RBI::Comment], block: T.nilable(T.proc.params(node: RBI::TEnumBlock).void)).void } + def initialize(names = T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end + + sig { params(name: String).void } + def <<(name); end + + sig { override.params(v: RBI::Printer).void } + def accept_printer(v); end + + sig { returns(T::Boolean) } + def empty?; end + + sig { override.returns(T::Array[String]) } + def index_ids; end + + sig { override.params(other: RBI::Node).void } + def merge_with(other); end + + sig { returns(T::Array[String]) } + def names; end + + sig { override.returns(String) } + def to_s; end +end + +class RBI::TStruct < ::RBI::Class + sig { params(name: String, loc: T.nilable(RBI::Loc), comments: T::Array[RBI::Comment], block: T.nilable(T.proc.params(klass: RBI::TStruct).void)).void } + def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end +end + +class RBI::TStructConst < ::RBI::TStructField + include ::RBI::Indexable + + sig { params(name: String, 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 } + def initialize(name, type, default: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end + + sig { override.params(other: RBI::Node).returns(T::Boolean) } + def compatible_with?(other); end + + sig { override.returns(T::Array[String]) } + def fully_qualified_names; end + + sig { override.returns(T::Array[String]) } + def index_ids; end + + sig { override.returns(String) } + def to_s; end +end + +class RBI::TStructField < ::RBI::NodeWithComments + abstract! + + sig { params(name: String, type: String, default: T.nilable(String), loc: T.nilable(RBI::Loc), comments: T::Array[RBI::Comment]).void } + def initialize(name, type, default: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil)); end + + sig { override.params(v: RBI::Printer).void } + def accept_printer(v); end + + sig { override.params(other: RBI::Node).returns(T::Boolean) } + def compatible_with?(other); end + + sig { returns(T.nilable(String)) } + def default; end + + def default=(_arg0); end + + sig { abstract.returns(T::Array[String]) } + def fully_qualified_names; end + + sig { returns(String) } + def name; end + + def name=(_arg0); end + def type; end + def type=(_arg0); end +end + +class RBI::TStructProp < ::RBI::TStructField + include ::RBI::Indexable + + sig { params(name: String, 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 } + def initialize(name, type, default: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end + + sig { override.params(other: RBI::Node).returns(T::Boolean) } + def compatible_with?(other); end + + sig { override.returns(T::Array[String]) } + def fully_qualified_names; end + + sig { override.returns(T::Array[String]) } + def index_ids; end + + sig { override.returns(String) } + def to_s; end +end + +class RBI::Tree < ::RBI::NodeWithComments + sig { params(loc: T.nilable(RBI::Loc), comments: T::Array[RBI::Comment], block: T.nilable(T.proc.params(node: RBI::Tree).void)).void } + def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end + + sig { params(node: RBI::Node).void } + def <<(node); end + + sig { override.params(v: RBI::Printer).void } + def accept_printer(v); end + + sig { params(with_todo_comment: T::Boolean).void } + def add_sig_templates!(with_todo_comment: T.unsafe(nil)); end + + sig { params(name: String, superclass_name: T.nilable(String), block: T.nilable(T.proc.params(scope: RBI::Scope).void)).void } + 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 { params(name: String, parameters: T::Array[RBI::TypedParam], return_type: String, class_method: T::Boolean).void } + def create_method(name, parameters: T.unsafe(nil), return_type: T.unsafe(nil), class_method: T.unsafe(nil)); 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)).void } + def create_module(name, &block); end + + sig { params(constant: Module, block: T.nilable(T.proc.params(scope: RBI::Scope).void)).void } + def create_path(constant, &block); end + + sig { params(name: String, value: String).void } + def create_type_member(name, value: T.unsafe(nil)); end + + sig { returns(T::Boolean) } + def empty?; end + + sig { void } + def group_nodes!; end + + sig { returns(RBI::Index) } + def index; end + + sig { params(other: RBI::Tree).returns(RBI::Tree) } + def merge(other); end + + sig { void } + def nest_non_public_methods!; end + + sig { void } + def nest_singleton_methods!; end + + sig { returns(T::Array[RBI::Node]) } + def nodes; end + + sig { override.returns(T::Boolean) } + def oneline?; end + + sig { void } + def sort_nodes!; end + + private + + sig { params(node: RBI::Node).returns(RBI::Node) } + def create_node(node); end + + sig { returns(T::Hash[String, RBI::Node]) } + def nodes_cache; end + + sig { params(name: String).returns(T::Boolean) } + def valid_method_name?(name); end +end + +RBI::Tree::SPECIAL_METHOD_NAMES = T.let(T.unsafe(nil), Array) + +class RBI::TreeBuilder < ::RBI::ASTVisitor + sig { params(file: String, comments: T::Hash[Parser::Source::Map, T::Array[Parser::Source::Comment]]).void } + def initialize(file:, comments: T.unsafe(nil)); end + + sig { params(comments: T::Array[Parser::Source::Comment]).void } + def assoc_dangling_comments(comments); end + + sig { void } + def separate_header_comments; end + + sig { returns(RBI::Tree) } + def tree; end + + sig { override.params(node: T.nilable(Object)).void } + def visit(node); end + + private + + sig { returns(RBI::Tree) } + def current_scope; end + + sig { returns(T::Array[RBI::Sig]) } + def current_sigs; end + + sig { params(node: AST::Node).returns(T::Array[RBI::Comment]) } + def node_comments(node); end + + sig { params(node: AST::Node).returns(RBI::Loc) } + def node_loc(node); end + + sig { params(node: AST::Node).returns(T.nilable(RBI::Node)) } + def parse_block(node); end + + sig { params(node: AST::Node).returns(RBI::Node) } + def parse_const_assign(node); end + + sig { params(node: AST::Node).returns(RBI::Method) } + def parse_def(node); end + + sig { params(node: AST::Node).returns(RBI::TEnumBlock) } + def parse_enum(node); end + + sig { params(node: AST::Node).returns(RBI::Param) } + def parse_param(node); end + + sig { params(node: AST::Node).returns(RBI::Scope) } + def parse_scope(node); end + + sig { params(node: AST::Node).returns(T.nilable(RBI::Node)) } + def parse_send(node); end + + sig { params(node: AST::Node).returns(RBI::Sig) } + def parse_sig(node); end + + sig { params(node: AST::Node).returns(RBI::Struct) } + def parse_struct(node); end + + sig { params(node: AST::Node).returns([String, String, T.nilable(String)]) } + def parse_tstruct_prop(node); end + + sig { params(node: AST::Node).returns(T::Boolean) } + def struct_definition?(node); end +end + +class RBI::TypeMember < ::RBI::NodeWithComments + sig { 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 } + def initialize(name, value, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end + + sig { override.params(v: RBI::Printer).void } + def accept_printer(v); end + + sig { returns(String) } + def fully_qualified_name; end + + sig { returns(String) } + def name; end + + sig { override.returns(String) } + def to_s; end + + def value; end +end + +RBI::VERSION = T.let(T.unsafe(nil), String) + +class RBI::Visibility < ::RBI::NodeWithComments + abstract! + + 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 + + sig { params(other: RBI::Visibility).returns(T::Boolean) } + def ==(other); end + + sig { override.params(v: RBI::Printer).void } + def accept_printer(v); end + + sig { returns(T::Boolean) } + def private?; end + + sig { returns(T::Boolean) } + def protected?; end + + sig { returns(T::Boolean) } + def public?; end + + sig { returns(Symbol) } + def visibility; end +end + +class RBI::VisibilityGroup < ::RBI::Tree + sig { params(visibility: RBI::Visibility).void } + def initialize(visibility); end + + sig { override.params(v: RBI::Printer).void } + def accept_printer(v); end + + sig { override.returns(T::Boolean) } + def oneline?; end + + sig { returns(RBI::Visibility) } + def visibility; end +end + +class RBI::Visitor + abstract! + + def initialize(*args, &blk); end + + sig { abstract.params(node: T.nilable(RBI::Node)).void } + def visit(node); end + + sig { params(nodes: T::Array[RBI::Node]).void } + def visit_all(nodes); end +end diff --git a/Library/Homebrew/sorbet/rbi/gems/tapioca@0.4.26.rbi b/Library/Homebrew/sorbet/rbi/gems/tapioca@0.5.2.rbi similarity index 53% rename from Library/Homebrew/sorbet/rbi/gems/tapioca@0.4.26.rbi rename to Library/Homebrew/sorbet/rbi/gems/tapioca@0.5.2.rbi index 6674f3e76c..15cf007479 100644 --- a/Library/Homebrew/sorbet/rbi/gems/tapioca@0.4.26.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/tapioca@0.5.2.rbi @@ -1,23 +1,120 @@ # DO NOT EDIT MANUALLY # This is an autogenerated file for types exported from the `tapioca` gem. -# Please instead update this file by running `bin/tapioca sync`. +# Please instead update this file by running `bin/tapioca gem tapioca`. # typed: true -class String - include ::Comparable - include ::JSON::Ext::Generator::GeneratorMethods::String - include ::Colorize::InstanceMethods - include ::MessagePack::CoreExt - extend ::JSON::Ext::Generator::GeneratorMethods::String::Extend - extend ::Colorize::ClassMethods +class ActiveRecordColumnTypeHelper + def initialize(*args, &blk); end - sig { returns(String) } - def underscore; end + sig { params(column_name: String).returns([String, String]) } + def type_for(column_name); end + + private + + sig { params(constant: Module).returns(T::Boolean) } + def do_not_generate_strong_types?(constant); end + + sig { params(column_type: Object).returns(String) } + def handle_unknown_type(column_type); end + + def lookup_arg_type_of_method(*args, &blk); end + def lookup_return_type_of_method(*args, &blk); end end -String::BLANK_RE = T.let(T.unsafe(nil), Regexp) -String::ENCODED_BLANKS = T.let(T.unsafe(nil), Concurrent::Map) +module RBI; end + +class RBI::Tree < ::RBI::NodeWithComments + sig { params(loc: T.nilable(RBI::Loc), comments: T::Array[RBI::Comment], block: T.nilable(T.proc.params(node: RBI::Tree).void)).void } + def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end + + sig { params(node: RBI::Node).void } + def <<(node); end + + sig { override.params(v: RBI::Printer).void } + def accept_printer(v); end + + sig { params(with_todo_comment: T::Boolean).void } + def add_sig_templates!(with_todo_comment: T.unsafe(nil)); end + + sig { params(name: String, superclass_name: T.nilable(String), block: T.nilable(T.proc.params(scope: RBI::Scope).void)).void } + 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 { params(name: String, parameters: T::Array[RBI::TypedParam], return_type: String, class_method: T::Boolean).void } + def create_method(name, parameters: T.unsafe(nil), return_type: T.unsafe(nil), class_method: T.unsafe(nil)); 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)).void } + def create_module(name, &block); end + + sig { params(constant: Module, block: T.nilable(T.proc.params(scope: RBI::Scope).void)).void } + def create_path(constant, &block); end + + sig { params(name: String, value: String).void } + def create_type_member(name, value: T.unsafe(nil)); end + + sig { returns(T::Boolean) } + def empty?; end + + sig { void } + def group_nodes!; end + + sig { returns(RBI::Index) } + def index; end + + sig { params(other: RBI::Tree).returns(RBI::Tree) } + def merge(other); end + + sig { void } + def nest_non_public_methods!; end + + sig { void } + def nest_singleton_methods!; end + + sig { returns(T::Array[RBI::Node]) } + def nodes; end + + sig { override.returns(T::Boolean) } + def oneline?; end + + sig { void } + def sort_nodes!; end + + private + + sig { params(node: RBI::Node).returns(RBI::Node) } + def create_node(node); end + + sig { returns(T::Hash[String, RBI::Node]) } + def nodes_cache; end + + sig { params(name: String).returns(T::Boolean) } + def valid_method_name?(name); end +end + +RBI::Tree::SPECIAL_METHOD_NAMES = T.let(T.unsafe(nil), Array) + +class RBI::TypedParam < ::T::Struct + const :param, RBI::Param + const :type, String + + class << self + def inherited(s); end + end +end + +RBI::VERSION = T.let(T.unsafe(nil), String) module T::Generic::TypeStoragePatch def [](*types); end @@ -39,14 +136,13 @@ module Tapioca end end -module Tapioca::Cli; end - -class Tapioca::Cli::Main < ::Thor +class Tapioca::Cli < ::Thor include ::Thor::Actions extend ::Thor::Actions::ClassMethods def __print_version; end def dsl(*constants); end + def gem(*gems); end def generate(*gems); end def init; end def require; end @@ -69,13 +165,15 @@ module Tapioca::Compilers; end module Tapioca::Compilers::Dsl; end class Tapioca::Compilers::Dsl::Base + include ::Tapioca::Reflection + abstract! sig { void } def initialize; end - sig { abstract.type_parameters(:T).params(root: Parlour::RbiGenerator::Namespace, constant: T.type_parameter(:T)).void } - def decorate(root, constant); end + sig { abstract.type_parameters(:T).params(tree: RBI::Tree, constant: T.type_parameter(:T)).void } + def decorate(tree, constant); end sig { abstract.returns(T::Enumerable[Module]) } def gather_constants; end @@ -88,30 +186,52 @@ class Tapioca::Compilers::Dsl::Base private - sig { params(method_def: T.any(Method, UnboundMethod)).returns(T::Array[Parlour::RbiGenerator::Parameter]) } - def compile_method_parameters_to_parlour(method_def); end + sig { returns(T::Enumerable[Class]) } + def all_classes; end - sig { params(method_def: T.any(Method, UnboundMethod)).returns(T.nilable(String)) } - def compile_method_return_type_to_parlour(method_def); end + sig { returns(T::Enumerable[Module]) } + def all_modules; end - sig { params(namespace: Parlour::RbiGenerator::Namespace, name: String, options: T::Hash[T.untyped, T.untyped]).void } - def create_method(namespace, name, options = T.unsafe(nil)); end + sig { params(method_def: T.any(Method, UnboundMethod)).returns(T::Array[RBI::TypedParam]) } + def compile_method_parameters_to_rbi(method_def); end - sig { params(namespace: Parlour::RbiGenerator::Namespace, method_def: T.any(Method, UnboundMethod), class_method: T::Boolean).void } - def create_method_from_def(namespace, method_def, class_method: T.unsafe(nil)); end + sig { params(method_def: T.any(Method, UnboundMethod)).returns(String) } + def compile_method_return_type_to_rbi(method_def); end + + sig { params(name: String, type: String).returns(RBI::TypedParam) } + def create_block_param(name, type:); end + + sig { params(name: String, type: String, default: String).returns(RBI::TypedParam) } + def create_kw_opt_param(name, type:, default:); end + + sig { params(name: String, type: String).returns(RBI::TypedParam) } + def create_kw_param(name, type:); end + + sig { params(name: String, type: String).returns(RBI::TypedParam) } + def create_kw_rest_param(name, type:); end + + sig { params(scope: RBI::Scope, method_def: T.any(Method, UnboundMethod), class_method: T::Boolean).void } + def create_method_from_def(scope, method_def, class_method: T.unsafe(nil)); end + + sig { params(name: String, type: String, default: String).returns(RBI::TypedParam) } + def create_opt_param(name, type:, default:); end + + sig { params(name: String, type: String).returns(RBI::TypedParam) } + def create_param(name, type:); end + + sig { params(name: String, type: String).returns(RBI::TypedParam) } + def create_rest_param(name, type:); end + + sig { params(param: RBI::Param, type: String).returns(RBI::TypedParam) } + def create_typed_param(param, type); end sig { params(method_def: T.any(Method, UnboundMethod), signature: T.untyped).returns(T::Array[String]) } def parameters_types_from_signature(method_def, signature); end - - sig { params(name: String).returns(T::Boolean) } - def valid_method_name?(name); end end -Tapioca::Compilers::Dsl::Base::SPECIAL_METHOD_NAMES = T.let(T.unsafe(nil), Array) - class Tapioca::Compilers::DslCompiler - sig { params(requested_constants: T::Array[Module], requested_generators: T::Array[String], error_handler: T.nilable(T.proc.params(error: String).void)).void } - def initialize(requested_constants:, requested_generators: T.unsafe(nil), error_handler: T.unsafe(nil)); end + sig { params(requested_constants: T::Array[Module], requested_generators: T::Array[T.class_of(Tapioca::Compilers::Dsl::Base)], excluded_generators: T::Array[T.class_of(Tapioca::Compilers::Dsl::Base)], error_handler: T.nilable(T.proc.params(error: String).void)).void } + def initialize(requested_constants:, requested_generators: T.unsafe(nil), excluded_generators: T.unsafe(nil), error_handler: T.unsafe(nil)); end sig { returns(T.proc.params(error: String).void) } def error_handler; end @@ -130,20 +250,14 @@ class Tapioca::Compilers::DslCompiler sig { params(requested_constants: T::Array[Module]).returns(T::Set[Module]) } def gather_constants(requested_constants); end - sig { params(requested_generators: T::Array[String]).returns(T::Enumerable[Tapioca::Compilers::Dsl::Base]) } - def gather_generators(requested_generators); end - - sig { params(requested_generators: T::Array[String]).returns(T.proc.params(klass: Class).returns(T::Boolean)) } - def generator_filter(requested_generators); end + sig { params(requested_generators: T::Array[T.class_of(Tapioca::Compilers::Dsl::Base)], excluded_generators: T::Array[T.class_of(Tapioca::Compilers::Dsl::Base)]).returns(T::Enumerable[Tapioca::Compilers::Dsl::Base]) } + def gather_generators(requested_generators, excluded_generators); end sig { params(constant: Module).returns(T.nilable(String)) } def rbi_for_constant(constant); end sig { params(error: String).returns(T.noreturn) } def report_error(error); end - - sig { params(parlour: Parlour::RbiGenerator).void } - def resolve_conflicts(parlour); end end class Tapioca::Compilers::RequiresCompiler @@ -178,14 +292,21 @@ module Tapioca::Compilers::Sorbet sig { returns(String) } def sorbet_path; end + + sig { params(feature: Symbol, version: T.nilable(Gem::Version)).returns(T::Boolean) } + def supports?(feature, version: T.unsafe(nil)); end end end Tapioca::Compilers::Sorbet::EXE_PATH_ENV_VAR = T.let(T.unsafe(nil), String) +Tapioca::Compilers::Sorbet::FEATURE_REQUIREMENTS = T.let(T.unsafe(nil), Hash) Tapioca::Compilers::Sorbet::SORBET = T.let(T.unsafe(nil), Pathname) +Tapioca::Compilers::Sorbet::SORBET_GEM_SPEC = T.let(T.unsafe(nil), Gem::Specification) module Tapioca::Compilers::SymbolTable; end class Tapioca::Compilers::SymbolTable::SymbolGenerator + include ::Tapioca::Reflection + sig { params(gem: Tapioca::Gemfile::GemSpec, indent: Integer).void } def initialize(gem, indent = T.unsafe(nil)); end @@ -206,82 +327,76 @@ class Tapioca::Compilers::SymbolTable::SymbolGenerator sig { params(name: String).returns(T::Boolean) } def alias_namespaced?(name); end - sig { params(constant: Module).returns(T::Array[Module]) } - def ancestors_of(constant); end + sig { params(constant: Module).returns([T::Array[Module], T::Array[Module]]) } + def collect_dynamic_mixins_of(constant); end - sig { params(constant: Module, other: BasicObject).returns(T::Boolean) } - def are_equal?(constant, other); end + sig { params(constant: Module, dynamic_extends: T::Array[Module]).returns(T::Array[Module]) } + def collect_mixed_in_class_methods(constant, dynamic_extends); end - sig { params(constant: BasicObject).returns(Class) } - def class_of(constant); end - - sig { params(tree: Tapioca::RBI::Tree, name: T.nilable(String), constant: BasicObject).void } + sig { params(tree: RBI::Tree, name: T.nilable(String), constant: BasicObject).void } def compile(tree, name, constant); end - sig { params(tree: Tapioca::RBI::Tree, name: String, constant: Module).void } + sig { params(tree: RBI::Tree, name: String, constant: Module).void } def compile_alias(tree, name, constant); end - sig { params(tree: Tapioca::RBI::Tree, name: String, constant: Module).void } + sig { params(tree: RBI::Tree, name: String, constant: Module).void } def compile_body(tree, name, constant); end - sig { params(tree: Tapioca::RBI::Tree, name: String, constant: BasicObject).void } + sig { params(tree: RBI::Tree, name: String, constant: BasicObject).void } def compile_constant(tree, name, constant); end - sig { params(tree: Tapioca::RBI::Tree, module_name: String, mod: Module, for_visibility: T::Array[Symbol]).void } + sig { params(tree: RBI::Tree, module_name: String, mod: Module, for_visibility: T::Array[Symbol]).void } def compile_directly_owned_methods(tree, module_name, mod, for_visibility = T.unsafe(nil)); end - sig { params(tree: Tapioca::RBI::Tree, constant: Module).void } + sig { params(tree: RBI::Tree, constant: Module).void } def compile_enums(tree, constant); end - sig { params(tree: Tapioca::RBI::Tree, symbol_name: String, constant: Module, method: T.nilable(UnboundMethod), visibility: Tapioca::RBI::Visibility).void } + sig { params(tree: RBI::Tree, symbol_name: String, constant: Module, method: T.nilable(UnboundMethod), visibility: RBI::Visibility).void } def compile_method(tree, symbol_name, constant, method, visibility = T.unsafe(nil)); end - sig { params(tree: Tapioca::RBI::Tree, name: String, constant: Module).void } + sig { params(tree: RBI::Tree, name: String, constant: Module).void } def compile_methods(tree, name, constant); end - sig { params(tree: Tapioca::RBI::Tree, constant: Module).void } + sig { params(tree: RBI::Tree, constant: Module).void } def compile_mixes_in_class_methods(tree, constant); end - sig { params(tree: Tapioca::RBI::Tree, constant: Module).void } + sig { params(tree: RBI::Tree, constant: Module).void } def compile_mixins(tree, constant); end - sig { params(tree: Tapioca::RBI::Tree, name: String, constant: Module).void } + sig { params(tree: RBI::Tree, name: String, constant: Module).void } def compile_module(tree, name, constant); end - sig { params(tree: Tapioca::RBI::Tree, constant: Module).void } + sig { params(tree: RBI::Tree, constant: Module).void } def compile_module_helpers(tree, constant); end - sig { params(tree: Tapioca::RBI::Tree, name: String, value: BasicObject).void } + sig { params(tree: RBI::Tree, name: String, value: BasicObject).void } def compile_object(tree, name, value); end - sig { params(tree: Tapioca::RBI::Tree, constant: Module).void } + sig { params(tree: RBI::Tree, constant: Module).void } def compile_props(tree, constant); end - sig { params(signature: T.untyped, parameters: T::Array[[Symbol, String]]).returns(Tapioca::RBI::Sig) } + sig { params(signature: T.untyped, parameters: T::Array[[Symbol, String]]).returns(RBI::Sig) } def compile_signature(signature, parameters); end - sig { params(tree: Tapioca::RBI::Tree, name: String, constant: Module).void } + sig { params(tree: RBI::Tree, name: String, constant: Module).void } def compile_subconstants(tree, name, constant); end sig { params(constant: Class).returns(T.nilable(String)) } def compile_superclass(constant); end - sig { params(tree: Tapioca::RBI::Tree, constant: Module).void } + sig { params(tree: RBI::Tree, constant: Module).void } def compile_type_variable_declarations(tree, constant); end - sig { params(tree: Tapioca::RBI::Tree, constant: Module).void } + sig { params(tree: RBI::Tree, constant: Module).void } def compile_type_variables(tree, constant); end - sig { params(constant: Module).returns(T::Array[Symbol]) } - def constants_of(constant); end - sig { params(constant: Module, strict: T::Boolean).returns(T::Boolean) } def defined_in_gem?(constant, strict: T.unsafe(nil)); end sig { params(symbols: T::Set[String]).returns(T::Set[String]) } def engine_symbols(symbols); end - sig { params(tree: Tapioca::RBI::Tree, symbol: String).void } + sig { params(tree: RBI::Tree, symbol: String).void } def generate_from_symbol(tree, symbol); end sig { params(constant: T.all(Module, T::Generic)).returns(String) } @@ -290,9 +405,6 @@ class Tapioca::Compilers::SymbolTable::SymbolGenerator sig { params(constant: Module).returns(T::Array[String]) } def get_file_candidates(constant); end - sig { params(constant: Module).returns(T::Array[Module]) } - def inherited_ancestors_of(constant); end - def initialize_method_for(constant); end sig { params(constant: Module).returns(T::Array[Module]) } @@ -310,17 +422,8 @@ class Tapioca::Compilers::SymbolTable::SymbolGenerator sig { params(constant: Module).returns(T.nilable(String)) } def name_of(constant); end - sig { params(constant: Module).returns(T.nilable(String)) } - def name_of_proxy_target(constant); end - - sig { params(object: BasicObject).returns(Integer) } - def object_id_of(object); end - - sig { params(constant: Module).returns(T.nilable(String)) } - def qualified_name_of(constant); end - - sig { params(constant: Module).returns(T.nilable(String)) } - def raw_name_of(constant); end + sig { params(constant: Module, class_name: T.nilable(String)).returns(T.nilable(String)) } + def name_of_proxy_target(constant, class_name); end sig { params(symbol: String, inherit: T::Boolean, namespace: Module).returns(BasicObject) } def resolve_constant(symbol, inherit: T.unsafe(nil), namespace: T.unsafe(nil)); end @@ -331,27 +434,15 @@ class Tapioca::Compilers::SymbolTable::SymbolGenerator sig { params(name: String).returns(T::Boolean) } def seen?(name); end - sig { params(method: T.any(Method, UnboundMethod)).returns(T.untyped) } - def signature_of(method); end - - sig { params(constant: Module).returns(Class) } - def singleton_class_of(constant); end - sig { params(constant: Module, method_name: String).returns(T::Boolean) } def struct_method?(constant, method_name); end - sig { params(constant: Class).returns(T.nilable(Class)) } - def superclass_of(constant); end - sig { params(symbol_name: String).returns(T::Boolean) } def symbol_ignored?(symbol_name); end sig { returns(T::Set[String]) } def symbols; end - sig { params(constant: T::Types::Base).returns(String) } - def type_of(constant); end - sig { params(name: String).returns(T::Boolean) } def valid_method_name?(name); end end @@ -401,6 +492,8 @@ end class Tapioca::Config < ::T::Struct const :exclude, T::Array[String] + const :exclude_generators, T::Array[String] + const :file_header, T::Boolean, default: T.unsafe(nil) const :generators, T::Array[String] const :outdir, String const :postrequire, String @@ -449,16 +542,13 @@ end Tapioca::ConfigBuilder::DEFAULT_OPTIONS = T.let(T.unsafe(nil), Hash) module Tapioca::ConstantLocator - private - - def files_for(klass); end + extend ::Tapioca::Reflection class << self def files_for(klass); end end end -Tapioca::ConstantLocator::NAME = T.let(T.unsafe(nil), UnboundMethod) class Tapioca::Error < ::StandardError; end class Tapioca::Gemfile @@ -496,7 +586,7 @@ class Tapioca::Gemfile def lockfile; end - sig { returns([T::Array[Gem::Specification], T::Array[String]]) } + sig { returns([T::Enumerable[T.any(Gem::Specification, T.all(Bundler::RemoteSpecification, Bundler::StubSpecification))], T::Array[String]]) } def materialize_deps; end sig { returns(Bundler::Runtime) } @@ -561,8 +651,8 @@ class Tapioca::Generator < ::Thor::Shell::Color sig { params(config: Tapioca::Config).void } def initialize(config); end - sig { params(requested_constants: T::Array[String], should_verify: T::Boolean, quiet: T::Boolean).void } - def build_dsl(requested_constants, should_verify: T.unsafe(nil), quiet: T.unsafe(nil)); end + sig { params(requested_constants: T::Array[String], should_verify: T::Boolean, quiet: T::Boolean, verbose: T::Boolean).void } + def build_dsl(requested_constants, should_verify: T.unsafe(nil), quiet: T.unsafe(nil), verbose: T.unsafe(nil)); end sig { params(gem_names: T::Array[String]).void } def build_gem_rbis(gem_names); end @@ -576,11 +666,14 @@ class Tapioca::Generator < ::Thor::Shell::Color sig { returns(Tapioca::Config) } def config; end - sig { void } - def sync_rbis_with_gemfile; end + sig { params(should_verify: T::Boolean).void } + def sync_rbis_with_gemfile(should_verify: T.unsafe(nil)); end private + sig { void } + def abort_if_pending_migrations!; end + sig { params(filename: Pathname).void } def add(filename); end @@ -605,6 +698,9 @@ class Tapioca::Generator < ::Thor::Shell::Color sig { params(constant_names: T::Array[String]).returns(T::Array[Module]) } def constantize(constant_names); end + sig { params(generator_names: T::Array[String]).returns(T::Array[T.class_of(Tapioca::Compilers::Dsl::Base)]) } + def constantize_generators(generator_names); end + sig { params(constant_name: String).returns(Pathname) } def dsl_rbi_filename(constant_name); end @@ -656,6 +752,9 @@ class Tapioca::Generator < ::Thor::Shell::Color sig { void } def perform_removals; end + sig { void } + def perform_sync_verification; end + sig { params(files: T::Set[Pathname]).void } def purge_stale_dsl_rbi_files(files); end @@ -671,12 +770,18 @@ class Tapioca::Generator < ::Thor::Shell::Color sig { returns(T::Array[String]) } def removed_rbis; end + sig { params(diff: T::Hash[String, Symbol], command: String).void } + def report_diff_and_exit_if_out_of_date(diff, command); end + sig { void } def require_gem_file; end sig { params(message: String, color: T.any(Symbol, T::Array[Symbol])).void } def say_error(message = T.unsafe(nil), *color); end + sig { params(class_name: String).returns(String) } + def underscore(class_name); end + sig { params(tmp_dir: Pathname).returns(T::Hash[String, Symbol]) } def verify_dsl_rbi(tmp_dir:); end end @@ -685,17 +790,14 @@ Tapioca::Generator::EMPTY_RBI_COMMENT = T.let(T.unsafe(nil), String) module Tapioca::GenericTypeRegistry class << self - sig { params(constant: Module).returns(T.nilable(T::Hash[Integer, String])) } + sig { params(constant: Module).returns(T.nilable(T::Hash[T.any(Tapioca::TypeMember, Tapioca::TypeTemplate), String])) } def lookup_type_variables(constant); end sig { params(constant: T.untyped, types: T.untyped).returns(Module) } def register_type(constant, types); end - sig { params(constant: T.untyped, type_member: T::Types::TypeVariable, fixed: T.untyped, lower: T.untyped, upper: T.untyped).void } - def register_type_member(constant, type_member, fixed, lower, upper); end - - sig { params(constant: T.untyped, type_template: T::Types::TypeVariable, fixed: T.untyped, lower: T.untyped, upper: T.untyped).void } - def register_type_template(constant, type_template, fixed, lower, upper); end + sig { params(constant: T.untyped, type_variable: T.any(Tapioca::TypeMember, Tapioca::TypeTemplate)).void } + def register_type_variable(constant, type_variable); end private @@ -705,29 +807,16 @@ module Tapioca::GenericTypeRegistry sig { params(constant: Class).returns(Class) } def create_safe_subclass(constant); end - sig { params(constant: Module).returns(T::Hash[Integer, String]) } + sig { params(constant: Module).returns(T::Hash[T.any(Tapioca::TypeMember, Tapioca::TypeTemplate), String]) } def lookup_or_initialize_type_variables(constant); end - - sig { params(constant: Module).returns(T.nilable(String)) } - def name_of(constant); end - - sig { params(object: BasicObject).returns(Integer) } - def object_id_of(object); end - - sig { params(constant: T.untyped, type_variable_type: T.enum([:type_member, :type_template]), type_variable: T::Types::TypeVariable, fixed: T.untyped, lower: T.untyped, upper: T.untyped).void } - def register_type_variable(constant, type_variable_type, type_variable, fixed, lower, upper); end - - sig { params(type_variable_type: Symbol, variance: Symbol, fixed: T.untyped, lower: T.untyped, upper: T.untyped).returns(String) } - def serialize_type_variable(type_variable_type, variance, fixed, lower, upper); end end end -class Tapioca::Loader - sig { params(gemfile: Tapioca::Gemfile).void } - def initialize(gemfile); end +Tapioca::GenericTypeRegistry::TypeVariable = T.type_alias { T.any(Tapioca::TypeMember, Tapioca::TypeTemplate) } - sig { params(initialize_file: T.nilable(String), require_file: T.nilable(String)).void } - def load_bundle(initialize_file, require_file); end +class Tapioca::Loader + sig { params(gemfile: Tapioca::Gemfile, initialize_file: T.nilable(String), require_file: T.nilable(String)).void } + def load_bundle(gemfile, initialize_file, require_file); end sig { params(environment_load: T::Boolean, eager_load: T::Boolean).void } def load_rails_application(environment_load: T.unsafe(nil), eager_load: T.unsafe(nil)); end @@ -737,9 +826,6 @@ class Tapioca::Loader sig { void } def eager_load_rails_app; end - sig { returns(Tapioca::Gemfile) } - def gemfile; end - sig { void } def load_rails_engines; end @@ -756,479 +842,108 @@ class Tapioca::Loader def silence_deprecations; end end -module Tapioca::RBI; end +module Tapioca::Reflection + extend ::Tapioca::Reflection -class Tapioca::RBI::BlockParam < ::Tapioca::RBI::Param - sig { override.params(v: Tapioca::RBI::Printer).void } - def accept_printer(v); end + sig { params(constant: Module).returns(T::Array[Module]) } + def ancestors_of(constant); end + + sig { params(object: BasicObject, other: BasicObject).returns(T::Boolean) } + def are_equal?(object, other); end + + sig { params(object: BasicObject).returns(Class) } + def class_of(object); end + + sig { params(constant: Module).returns(T::Array[Symbol]) } + def constants_of(constant); end + + sig { type_parameters(:U).params(klass: T.type_parameter(:U)).returns(T::Array[T.type_parameter(:U)]) } + def descendants_of(klass); end + + sig { params(constant: Module).returns(T::Array[Module]) } + def inherited_ancestors_of(constant); end + + sig { params(constant: Module).returns(T.nilable(String)) } + def name_of(constant); end + + sig { params(type: T::Types::Base).returns(String) } + def name_of_type(type); end + + sig { params(object: BasicObject).returns(Integer) } + def object_id_of(object); end + + sig { params(constant: Module).returns(T::Array[Symbol]) } + def private_instance_methods_of(constant); end + + sig { params(constant: Module).returns(T::Array[Symbol]) } + def protected_instance_methods_of(constant); end + + sig { params(constant: Module).returns(T::Array[Symbol]) } + def public_instance_methods_of(constant); end + + sig { params(constant: Module).returns(T.nilable(String)) } + def qualified_name_of(constant); end + + sig { params(method: T.any(Method, UnboundMethod)).returns(T.untyped) } + def signature_of(method); end + + sig { params(constant: Module).returns(Class) } + def singleton_class_of(constant); end + + sig { params(constant: Class).returns(T.nilable(Class)) } + def superclass_of(constant); end end -class Tapioca::RBI::Class < ::Tapioca::RBI::Scope - sig { params(name: String, superclass_name: T.nilable(String)).void } - def initialize(name, superclass_name: T.unsafe(nil)); end +Tapioca::Reflection::ANCESTORS_METHOD = T.let(T.unsafe(nil), UnboundMethod) +Tapioca::Reflection::CLASS_METHOD = T.let(T.unsafe(nil), UnboundMethod) +Tapioca::Reflection::CONSTANTS_METHOD = T.let(T.unsafe(nil), UnboundMethod) +Tapioca::Reflection::EQUAL_METHOD = T.let(T.unsafe(nil), UnboundMethod) +Tapioca::Reflection::NAME_METHOD = T.let(T.unsafe(nil), UnboundMethod) +Tapioca::Reflection::OBJECT_ID_METHOD = T.let(T.unsafe(nil), UnboundMethod) +Tapioca::Reflection::PRIVATE_INSTANCE_METHODS_METHOD = T.let(T.unsafe(nil), UnboundMethod) +Tapioca::Reflection::PROTECTED_INSTANCE_METHODS_METHOD = T.let(T.unsafe(nil), UnboundMethod) +Tapioca::Reflection::PUBLIC_INSTANCE_METHODS_METHOD = T.let(T.unsafe(nil), UnboundMethod) +Tapioca::Reflection::SINGLETON_CLASS_METHOD = T.let(T.unsafe(nil), UnboundMethod) +Tapioca::Reflection::SUPERCLASS_METHOD = T.let(T.unsafe(nil), UnboundMethod) - sig { returns(String) } - def name; end +class Tapioca::TypeMember < ::T::Types::TypeMember + sig { params(variance: Symbol, fixed: T.untyped, lower: T.untyped, upper: T.untyped).void } + def initialize(variance, fixed, lower, upper); end - def name=(_arg0); end + sig { returns(T.untyped) } + def fixed; end + + def lower; end sig { returns(T.nilable(String)) } - def superclass_name; end - - def superclass_name=(_arg0); end -end - -class Tapioca::RBI::Const < ::Tapioca::RBI::Node - sig { params(name: String, value: String).void } - def initialize(name, value); end - - sig { override.params(v: Tapioca::RBI::Printer).void } - def accept_printer(v); end - - sig { returns(String) } - def name; end - - def value; end -end - -class Tapioca::RBI::Extend < ::Tapioca::RBI::Mixin; end - -class Tapioca::RBI::Group < ::Tapioca::RBI::Tree - sig { params(kind: Tapioca::RBI::Group::Kind).void } - def initialize(kind); end - - sig { override.params(v: Tapioca::RBI::Printer).void } - def accept_printer(v); end - - sig { returns(Tapioca::RBI::Group::Kind) } - def kind; end -end - -class Tapioca::RBI::Group::Kind < ::T::Enum - enums do - Mixins = new - Helpers = new - TypeMembers = new - MixesInClassMethods = new - TStructFields = new - TEnums = new - Inits = new - Methods = new - Consts = new - end -end - -class Tapioca::RBI::Helper < ::Tapioca::RBI::Node - sig { params(name: String).void } - def initialize(name); end - - sig { override.params(v: Tapioca::RBI::Printer).void } - def accept_printer(v); end - - sig { returns(String) } - def name; end -end - -class Tapioca::RBI::Include < ::Tapioca::RBI::Mixin; end - -class Tapioca::RBI::KwOptParam < ::Tapioca::RBI::OptParam - sig { override.params(v: Tapioca::RBI::Printer).void } - def accept_printer(v); end -end - -class Tapioca::RBI::KwParam < ::Tapioca::RBI::Param - sig { override.params(v: Tapioca::RBI::Printer).void } - def accept_printer(v); end -end - -class Tapioca::RBI::KwRestParam < ::Tapioca::RBI::Param - sig { override.params(v: Tapioca::RBI::Printer).void } - def accept_printer(v); end -end - -class Tapioca::RBI::Method < ::Tapioca::RBI::Node - sig { params(name: String, params: T::Array[Tapioca::RBI::Param], is_singleton: T::Boolean, visibility: Tapioca::RBI::Visibility, sigs: T::Array[Tapioca::RBI::Sig]).void } - def initialize(name, params: T.unsafe(nil), is_singleton: T.unsafe(nil), visibility: T.unsafe(nil), sigs: T.unsafe(nil)); end - - sig { params(param: Tapioca::RBI::Param).void } - def <<(param); end - - sig { override.params(v: Tapioca::RBI::Printer).void } - def accept_printer(v); end - - sig { returns(T::Boolean) } - def is_singleton; end - - def is_singleton=(_arg0); end - - sig { returns(String) } def name; end def name=(_arg0); end - sig { override.returns(T::Boolean) } - def oneline?; end - - sig { returns(T::Array[Tapioca::RBI::Param]) } - def params; end - - sig { returns(T::Array[Tapioca::RBI::Sig]) } - def sigs; end - - def sigs=(_arg0); end - - sig { returns(Tapioca::RBI::Visibility) } - def visibility; end - - def visibility=(_arg0); end -end - -class Tapioca::RBI::MixesInClassMethods < ::Tapioca::RBI::Mixin; end - -class Tapioca::RBI::Mixin < ::Tapioca::RBI::Node - abstract! - - sig { params(name: String).void } - def initialize(name); end - - sig { override.params(v: Tapioca::RBI::Printer).void } - def accept_printer(v); end - sig { returns(String) } - def name; end + def serialize; end + + def upper; end end -class Tapioca::RBI::Module < ::Tapioca::RBI::Scope - sig { params(name: String).void } - def initialize(name); end +class Tapioca::TypeTemplate < ::T::Types::TypeTemplate + sig { params(variance: Symbol, fixed: T.untyped, lower: T.untyped, upper: T.untyped).void } + def initialize(variance, fixed, lower, upper); end - sig { returns(String) } - def name; end + sig { returns(T.untyped) } + def fixed; end - def name=(_arg0); end -end - -class Tapioca::RBI::Node - abstract! - - sig { void } - def initialize; end - - sig { abstract.params(v: Tapioca::RBI::Printer).void } - def accept_printer(v); end - - sig { void } - def detach; end - - sig { returns(Tapioca::RBI::Group::Kind) } - def group_kind; end - - sig { returns(T::Boolean) } - def oneline?; end - - sig { returns(T.nilable(Tapioca::RBI::Tree)) } - def parent_tree; end - - def parent_tree=(_arg0); end - - sig { params(out: T.any(IO, StringIO), indent: Integer).void } - def print(out: T.unsafe(nil), indent: T.unsafe(nil)); end - - sig { params(indent: Integer).returns(String) } - def string(indent: T.unsafe(nil)); end -end - -class Tapioca::RBI::OptParam < ::Tapioca::RBI::Param - sig { params(name: String, value: String).void } - def initialize(name, value); end - - sig { override.params(v: Tapioca::RBI::Printer).void } - def accept_printer(v); end - - sig { returns(String) } - def value; end -end - -class Tapioca::RBI::Param < ::Tapioca::RBI::Node - sig { params(name: String).void } - def initialize(name); end - - sig { override.params(v: Tapioca::RBI::Printer).void } - def accept_printer(v); end - - sig { returns(String) } - def name; end -end - -class Tapioca::RBI::Printer < ::Tapioca::RBI::Visitor - sig { params(out: T.any(IO, StringIO), indent: Integer).void } - def initialize(out: T.unsafe(nil), indent: T.unsafe(nil)); end - - sig { void } - def dedent; end - - sig { returns(T::Boolean) } - def in_visibility_group; end - - def in_visibility_group=(_arg0); end - - sig { void } - def indent; end - - sig { returns(T.nilable(Tapioca::RBI::Node)) } - def previous_node; end - - sig { params(string: String).void } - def print(string); end - - sig { params(string: String).void } - def printl(string); end - - sig { params(string: T.nilable(String)).void } - def printn(string = T.unsafe(nil)); end - - sig { params(string: T.nilable(String)).void } - def printt(string = T.unsafe(nil)); end - - sig { override.params(node: T.nilable(Tapioca::RBI::Node)).void } - def visit(node); end - - sig { override.params(nodes: T::Array[Tapioca::RBI::Node]).void } - def visit_all(nodes); end -end - -class Tapioca::RBI::RestParam < ::Tapioca::RBI::Param - sig { override.params(v: Tapioca::RBI::Printer).void } - def accept_printer(v); end -end - -module Tapioca::RBI::Rewriters; end - -class Tapioca::RBI::Rewriters::GroupNodes < ::Tapioca::RBI::Visitor - sig { override.params(node: T.nilable(Tapioca::RBI::Node)).void } - def visit(node); end -end - -class Tapioca::RBI::Rewriters::NestNonPublicMethods < ::Tapioca::RBI::Visitor - sig { override.params(node: T.nilable(Tapioca::RBI::Node)).void } - def visit(node); end -end - -class Tapioca::RBI::Rewriters::NestSingletonMethods < ::Tapioca::RBI::Visitor - sig { override.params(node: T.nilable(Tapioca::RBI::Node)).void } - def visit(node); end -end - -class Tapioca::RBI::Rewriters::SortNodes < ::Tapioca::RBI::Visitor - sig { override.params(node: T.nilable(Tapioca::RBI::Node)).void } - def visit(node); end - - private - - sig { params(kind: Tapioca::RBI::Group::Kind).returns(Integer) } - def group_rank(kind); end - - sig { params(node: Tapioca::RBI::Node).returns(T.nilable(String)) } - def node_name(node); end - - sig { params(node: Tapioca::RBI::Node).returns(Integer) } - def node_rank(node); end -end - -class Tapioca::RBI::Scope < ::Tapioca::RBI::Tree - abstract! - - def initialize(*args, &blk); end - - sig { override.params(v: Tapioca::RBI::Printer).void } - def accept_printer(v); end -end - -class Tapioca::RBI::Sig < ::Tapioca::RBI::Node - sig { params(params: T::Array[Tapioca::RBI::SigParam], return_type: T.nilable(String), is_abstract: T::Boolean, is_override: T::Boolean, is_overridable: T::Boolean, type_params: T::Array[String]).void } - 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), type_params: T.unsafe(nil)); end - - sig { params(param: Tapioca::RBI::SigParam).void } - def <<(param); end - - sig { override.params(v: Tapioca::RBI::Printer).void } - def accept_printer(v); end - - sig { returns(T::Boolean) } - def is_abstract; end - - def is_abstract=(_arg0); end - def is_overridable; end - def is_overridable=(_arg0); end - def is_override; end - def is_override=(_arg0); end - - sig { returns(T::Array[Tapioca::RBI::SigParam]) } - def params; end + def lower; end sig { returns(T.nilable(String)) } - def return_type; end - - def return_type=(_arg0); end - - sig { returns(T::Array[String]) } - def type_params; end -end - -class Tapioca::RBI::SigParam < ::Tapioca::RBI::Node - sig { params(name: String, type: String).void } - def initialize(name, type); end - - sig { override.params(v: Tapioca::RBI::Printer).void } - def accept_printer(v); end - - sig { returns(String) } - def name; end - - def type; end -end - -class Tapioca::RBI::SingletonClass < ::Tapioca::RBI::Scope - sig { void } - def initialize; end -end - -class Tapioca::RBI::TEnum < ::Tapioca::RBI::Class - sig { params(name: String).void } - def initialize(name); end -end - -class Tapioca::RBI::TEnumBlock < ::Tapioca::RBI::Node - sig { params(names: T::Array[String]).void } - def initialize(names = T.unsafe(nil)); end - - sig { override.params(v: Tapioca::RBI::Printer).void } - def accept_printer(v); end - - sig { returns(T::Boolean) } - def empty?; end - - sig { returns(T::Array[String]) } - def names; end -end - -class Tapioca::RBI::TStruct < ::Tapioca::RBI::Class - sig { params(name: String).void } - def initialize(name); end -end - -class Tapioca::RBI::TStructConst < ::Tapioca::RBI::TStructField; end - -class Tapioca::RBI::TStructField < ::Tapioca::RBI::Node - abstract! - - sig { params(name: String, type: String, default: T.nilable(String)).void } - def initialize(name, type, default: T.unsafe(nil)); end - - sig { override.params(v: Tapioca::RBI::Printer).void } - def accept_printer(v); end - - sig { returns(T.nilable(String)) } - def default; end - - def default=(_arg0); end - - sig { returns(String) } def name; end def name=(_arg0); end - def type; end - def type=(_arg0); end -end - -class Tapioca::RBI::TStructProp < ::Tapioca::RBI::TStructField; end - -class Tapioca::RBI::Tree < ::Tapioca::RBI::Node - sig { void } - def initialize; end - - sig { params(node: Tapioca::RBI::Node).void } - def <<(node); end - - sig { override.params(v: Tapioca::RBI::Printer).void } - def accept_printer(v); end - - sig { returns(T::Boolean) } - def empty?; end - - sig { void } - def group_nodes!; end - - sig { void } - def nest_non_public_methods!; end - - sig { void } - def nest_singleton_methods!; end - - sig { returns(T::Array[Tapioca::RBI::Node]) } - def nodes; end - - sig { override.returns(T::Boolean) } - def oneline?; end - - sig { void } - def sort_nodes!; end -end - -class Tapioca::RBI::TypeMember < ::Tapioca::RBI::Node - sig { params(name: String, value: String).void } - def initialize(name, value); end - - sig { override.params(v: Tapioca::RBI::Printer).void } - def accept_printer(v); end sig { returns(String) } - def name; end + def serialize; end - def value; end -end - -class Tapioca::RBI::Visibility < ::Tapioca::RBI::Node - abstract! - - sig { params(visibility: Symbol).void } - def initialize(visibility); end - - sig { override.params(v: Tapioca::RBI::Printer).void } - def accept_printer(v); end - - sig { returns(T::Boolean) } - def public?; end - - sig { returns(Symbol) } - def visibility; end -end - -Tapioca::RBI::Visibility::Private = T.let(T.unsafe(nil), Tapioca::RBI::Visibility) -Tapioca::RBI::Visibility::Protected = T.let(T.unsafe(nil), Tapioca::RBI::Visibility) -Tapioca::RBI::Visibility::Public = T.let(T.unsafe(nil), Tapioca::RBI::Visibility) - -class Tapioca::RBI::VisibilityGroup < ::Tapioca::RBI::Tree - sig { params(visibility: Tapioca::RBI::Visibility).void } - def initialize(visibility); end - - sig { override.params(v: Tapioca::RBI::Printer).void } - def accept_printer(v); end - - sig { returns(Tapioca::RBI::Visibility) } - def visibility; end -end - -class Tapioca::RBI::Visitor - abstract! - - def initialize(*args, &blk); end - - sig { abstract.params(node: T.nilable(Tapioca::RBI::Node)).void } - def visit(node); end - - sig { params(nodes: T::Array[Tapioca::RBI::Node]).void } - def visit_all(nodes); end + def upper; end end Tapioca::VERSION = T.let(T.unsafe(nil), String) diff --git a/Library/Homebrew/sorbet/rbi/gems/unparser@0.6.0.rbi b/Library/Homebrew/sorbet/rbi/gems/unparser@0.6.0.rbi new file mode 100644 index 0000000000..6449937bb6 --- /dev/null +++ b/Library/Homebrew/sorbet/rbi/gems/unparser@0.6.0.rbi @@ -0,0 +1,1814 @@ +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `unparser` gem. +# Please instead update this file by running `bin/tapioca gem unparser`. + +# typed: true + +module Unparser + class << self + def buffer(source, identification = T.unsafe(nil)); end + def parse(source); end + def parse_either(source); end + def parse_with_comments(source); end + def parser; end + def unparse(node, comment_array = T.unsafe(nil)); end + def unparse_either(node); end + def unparse_validate(node, comment_array = T.unsafe(nil)); end + end +end + +module Unparser::AST + class << self + def local_variable_assignments(node); end + def local_variable_reads(node); end + def not_close_scope?(node); end + def not_reset_scope?(node); end + end +end + +Unparser::AST::ASSIGN_NODES = T.let(T.unsafe(nil), Set) +Unparser::AST::CLOSE_NODES = T.let(T.unsafe(nil), Array) + +class Unparser::AST::Enumerator + include ::Enumerable + include ::Unparser::Equalizer::Methods + include ::Unparser::Adamantium + include ::Unparser::Adamantium::InstanceMethods + extend ::Unparser::Adamantium::ModuleMethods + extend ::Unparser::Adamantium::ClassMethods + + def each(&block); end + def type(type); end + def types(types); end + + class << self + def new(node, controller = T.unsafe(nil)); end + + private + + def set(enumerable); end + def type(node, type); end + end +end + +Unparser::AST::FIRST_CHILD = T.let(T.unsafe(nil), Proc) +Unparser::AST::INHERIT_NODES = T.let(T.unsafe(nil), Array) + +class Unparser::AST::LocalVariableScope + include ::Unparser::Equalizer::Methods + include ::Unparser::Adamantium + include ::Unparser::Adamantium::InstanceMethods + include ::Enumerable + extend ::Unparser::Adamantium::ModuleMethods + extend ::Unparser::Adamantium::ClassMethods + + def initialize(node); end + + def first_assignment?(node); end + def first_assignment_in?(left, right); end + def local_variable_defined_for_node?(node, name); end + + private + + def match(needle); end +end + +class Unparser::AST::LocalVariableScopeEnumerator + include ::Enumerable + + def initialize; end + + def each(node, &block); end + + private + + def current; end + def define(name); end + def enter(node); end + def leave(node); end + def pop; end + def push_inherit; end + def push_reset; end + def visit(node, &block); end + + class << self + def each(node, &block); end + end +end + +Unparser::AST::RESET_NODES = T.let(T.unsafe(nil), Array) +Unparser::AST::TAUTOLOGY = T.let(T.unsafe(nil), Proc) + +class Unparser::AST::Walker + include ::Unparser::Equalizer::Methods + + def call(node); end + + class << self + def call(node, controller = T.unsafe(nil), &block); end + end +end + +module Unparser::AbstractType + mixes_in_class_methods ::Unparser::AbstractType::AbstractMethodDeclarations + + class << self + private + + def create_new_method(abstract_class); end + def included(descendant); end + end +end + +module Unparser::AbstractType::AbstractMethodDeclarations + def abstract_method(*names); end + def abstract_singleton_method(*names); end + + private + + def create_abstract_instance_method(name); end + def create_abstract_singleton_method(name); end +end + +module Unparser::Adamantium + include ::Unparser::Adamantium::InstanceMethods + + mixes_in_class_methods ::Unparser::Adamantium::ModuleMethods + mixes_in_class_methods ::Unparser::Adamantium::ClassMethods + + class << self + private + + def included(descendant); end + end +end + +module Unparser::Adamantium::ClassMethods + def new(*_arg0); end +end + +module Unparser::Adamantium::InstanceMethods + def dup; end + def freeze; end + + private + + def memoized_method_cache; end +end + +class Unparser::Adamantium::Memory + def initialize(values); end + + def fetch(name); end +end + +class Unparser::Adamantium::MethodBuilder + def initialize(descendant, method_name); end + + def call; end + + private + + def assert_arity(arity); end + def create_memoized_method; end + def remove_original_method; end + def set_method_visibility; end + def visibility; end +end + +class Unparser::Adamantium::MethodBuilder::BlockNotAllowedError < ::ArgumentError + def initialize(descendant, method); end +end + +class Unparser::Adamantium::MethodBuilder::InvalidArityError < ::ArgumentError + def initialize(descendant, method, arity); end +end + +module Unparser::Adamantium::ModuleMethods + def memoize(*methods); end + def memoized?(method_name); end + def unmemoized_instance_method(method_name); end + + private + + def memoize_method(method_name); end + def memoized_methods; end +end + +class Unparser::Anima < ::Module + include ::Unparser::Equalizer::Methods + include ::Unparser::Adamantium + include ::Unparser::Adamantium::InstanceMethods + extend ::Unparser::Adamantium::ModuleMethods + extend ::Unparser::Adamantium::ClassMethods + + def initialize(*names); end + + def add(*names); end + def attribute_names(&block); end + def attributes; end + def attributes_hash(object); end + def initialize_instance(object, attribute_hash); end + def remove(*names); end + + private + + def assert_known_attributes(klass, attribute_hash); end + def included(descendant); end + def new(attributes); end +end + +class Unparser::Anima::Attribute + include ::Unparser::Equalizer::Methods + include ::Unparser::Adamantium + include ::Unparser::Adamantium::InstanceMethods + extend ::Unparser::Adamantium::ModuleMethods + extend ::Unparser::Adamantium::ClassMethods + + def initialize(name); end + + def get(object); end + def instance_variable_name; end + def load(object, attributes); end + def name; end + def set(object, value); end +end + +class Unparser::Anima::Error < ::RuntimeError + def initialize(klass, missing, unknown); end +end + +Unparser::Anima::Error::FORMAT = T.let(T.unsafe(nil), String) + +module Unparser::Anima::InstanceMethods + def initialize(attributes); end + + def to_h; end + def with(attributes); end +end + +class Unparser::Buffer + def initialize; end + + def append(string); end + def append_without_prefix(string); end + def capture_content; end + def content; end + def fresh_line?; end + def indent; end + def nl; end + def root_indent; end + def unindent; end + def write(fragment); end + + private + + def prefix; end +end + +Unparser::Buffer::INDENT_SPACE = T.let(T.unsafe(nil), String) +Unparser::Buffer::NL = T.let(T.unsafe(nil), String) + +class Unparser::Builder < ::Parser::Builders::Default + def initialize; end +end + +class Unparser::CLI + def initialize(arguments); end + + def add_options(builder); end + def exit_status; end + + private + + def effective_targets; end + def process_target(target); end + def targets(file_name); end + + class << self + def run(*arguments); end + end +end + +Unparser::CLI::EXIT_FAILURE = T.let(T.unsafe(nil), Integer) +Unparser::CLI::EXIT_SUCCESS = T.let(T.unsafe(nil), Integer) + +class Unparser::CLI::Target + include ::Unparser::AbstractType + extend ::Unparser::AbstractType::AbstractMethodDeclarations + + class << self + def new(*args, &block); end + end +end + +class Unparser::CLI::Target::Path < ::Unparser::CLI::Target + include ::Unparser::Equalizer::Methods + + def literal_validation; end + def validation; end +end + +class Unparser::CLI::Target::String + include ::Unparser::Equalizer::Methods + + def literal_validation; end + def validation; end +end + +class Unparser::Color + include ::Unparser::Equalizer::Methods + include ::Unparser::Adamantium + include ::Unparser::Adamantium::InstanceMethods + extend ::Unparser::Adamantium::ModuleMethods + extend ::Unparser::Adamantium::ClassMethods + + def format(text); end +end + +Unparser::Color::GREEN = T.let(T.unsafe(nil), Unparser::Color) +Unparser::Color::NONE = T.let(T.unsafe(nil), T.untyped) +Unparser::Color::RED = T.let(T.unsafe(nil), Unparser::Color) + +class Unparser::Comments + def initialize(comments); end + + def consume(node, source_part = T.unsafe(nil)); end + def source_range(*arguments); end + def take_all; end + def take_before(node, source_part); end + def take_eol_comments; end + + private + + def take_up_to_line(line); end + def take_while; end + def unshift_documents(comments); end + + class << self + def source_range(node, part); end + end +end + +class Unparser::Concord < ::Module + include ::Unparser::Equalizer::Methods + include ::Unparser::Adamantium + include ::Unparser::Adamantium::InstanceMethods + extend ::Unparser::Adamantium::ModuleMethods + extend ::Unparser::Adamantium::ClassMethods + + def initialize(*names); end + + def names; end + + private + + def define_equalizer; end + def define_initialize; end + def define_readers; end + def instance_variable_names; end +end + +Unparser::Concord::MAX_NR_OF_OBJECTS = T.let(T.unsafe(nil), Integer) + +class Unparser::Concord::Public < ::Unparser::Concord + def included(descendant); end +end + +module Unparser::Constants; end +Unparser::Constants::BINARY_OPERATORS = T.let(T.unsafe(nil), Set) +Unparser::Constants::KEYWORDS = T.let(T.unsafe(nil), Set) +Unparser::Constants::K_ALIAS = T.let(T.unsafe(nil), String) +Unparser::Constants::K_AND = T.let(T.unsafe(nil), String) +Unparser::Constants::K_BEGIN = T.let(T.unsafe(nil), String) +Unparser::Constants::K_BREAK = T.let(T.unsafe(nil), String) +Unparser::Constants::K_CASE = T.let(T.unsafe(nil), String) +Unparser::Constants::K_CLASS = T.let(T.unsafe(nil), String) +Unparser::Constants::K_DEF = T.let(T.unsafe(nil), String) +Unparser::Constants::K_DEFINE = T.let(T.unsafe(nil), String) +Unparser::Constants::K_DEFINED = T.let(T.unsafe(nil), String) +Unparser::Constants::K_DO = T.let(T.unsafe(nil), String) +Unparser::Constants::K_EEND = T.let(T.unsafe(nil), String) +Unparser::Constants::K_ELSE = T.let(T.unsafe(nil), String) +Unparser::Constants::K_ELSIF = T.let(T.unsafe(nil), String) +Unparser::Constants::K_ENCODING = T.let(T.unsafe(nil), String) +Unparser::Constants::K_END = T.let(T.unsafe(nil), String) +Unparser::Constants::K_ENSURE = T.let(T.unsafe(nil), String) +Unparser::Constants::K_FALSE = T.let(T.unsafe(nil), String) +Unparser::Constants::K_FILE = T.let(T.unsafe(nil), String) +Unparser::Constants::K_FOR = T.let(T.unsafe(nil), String) +Unparser::Constants::K_IF = T.let(T.unsafe(nil), String) +Unparser::Constants::K_IN = T.let(T.unsafe(nil), String) +Unparser::Constants::K_MODULE = T.let(T.unsafe(nil), String) +Unparser::Constants::K_NEXT = T.let(T.unsafe(nil), String) +Unparser::Constants::K_NIL = T.let(T.unsafe(nil), String) +Unparser::Constants::K_NOT = T.let(T.unsafe(nil), String) +Unparser::Constants::K_OR = T.let(T.unsafe(nil), String) +Unparser::Constants::K_POSTEXE = T.let(T.unsafe(nil), String) +Unparser::Constants::K_PREEXE = T.let(T.unsafe(nil), String) +Unparser::Constants::K_REDO = T.let(T.unsafe(nil), String) +Unparser::Constants::K_RESCUE = T.let(T.unsafe(nil), String) +Unparser::Constants::K_RETRY = T.let(T.unsafe(nil), String) +Unparser::Constants::K_RETURN = T.let(T.unsafe(nil), String) +Unparser::Constants::K_SELF = T.let(T.unsafe(nil), String) +Unparser::Constants::K_SUPER = T.let(T.unsafe(nil), String) +Unparser::Constants::K_THEN = T.let(T.unsafe(nil), String) +Unparser::Constants::K_TRUE = T.let(T.unsafe(nil), String) +Unparser::Constants::K_UNDEF = T.let(T.unsafe(nil), String) +Unparser::Constants::K_UNLESS = T.let(T.unsafe(nil), String) +Unparser::Constants::K_UNTIL = T.let(T.unsafe(nil), String) +Unparser::Constants::K_WHEN = T.let(T.unsafe(nil), String) +Unparser::Constants::K_WHILE = T.let(T.unsafe(nil), String) +Unparser::Constants::K_YIELD = T.let(T.unsafe(nil), String) +Unparser::Constants::UNARY_OPERATORS = T.let(T.unsafe(nil), Set) + +module Unparser::DSL + private + + def children(*names); end + def define_child(name, index); end + def define_group(name, range); end + def define_remaining_children(names); end +end + +class Unparser::Diff + include ::Unparser::Equalizer::Methods + include ::Unparser::Adamantium + include ::Unparser::Adamantium::InstanceMethods + extend ::Unparser::Adamantium::ModuleMethods + extend ::Unparser::Adamantium::ClassMethods + + def colorized_diff(&block); end + def diff(&block); end + + private + + def diffs; end + def hunks; end + def max_length; end + def minimized_hunk; end + + class << self + def build(old, new); end + + private + + def colorize_line(line); end + def lines(source); end + end +end + +Unparser::Diff::ADDITION = T.let(T.unsafe(nil), String) +Unparser::Diff::DELETION = T.let(T.unsafe(nil), String) +Unparser::Diff::NEWLINE = T.let(T.unsafe(nil), String) +Unparser::EMPTY_ARRAY = T.let(T.unsafe(nil), Array) +Unparser::EMPTY_STRING = T.let(T.unsafe(nil), String) + +class Unparser::Either + include ::Unparser::RequireBlock + include ::Unparser::Equalizer::Methods + include ::Unparser::Adamantium + include ::Unparser::Adamantium::InstanceMethods + extend ::Unparser::Adamantium::ModuleMethods + extend ::Unparser::Adamantium::ClassMethods + + def left?; end + def right?; end + + class << self + def wrap_error(*exceptions); end + end +end + +class Unparser::Either::Left < ::Unparser::Either + def bind(&block); end + def either(left, _right); end + def fmap(&block); end + def from_left; end + def from_right; end + def lmap; end +end + +class Unparser::Either::Right < ::Unparser::Either + def bind; end + def either(_left, right); end + def fmap; end + def from_left; end + def from_right; end + def lmap(&block); end +end + +class Unparser::Emitter + include ::Unparser::NodeHelpers + include ::Unparser::Generation + include ::Unparser::Constants + include ::Unparser::AbstractType + include ::Unparser::Adamantium + include ::Unparser::Adamantium::InstanceMethods + include ::Unparser::Anima::InstanceMethods + include ::Unparser::Equalizer::Methods + extend ::Unparser::AbstractType::AbstractMethodDeclarations + extend ::Unparser::Adamantium::ModuleMethods + extend ::Unparser::Adamantium::ClassMethods + extend ::Unparser::DSL + + def buffer; end + def comments; end + def dispatch(*_arg0); end + def emit_mlhs; end + def local_variable_scope; end + def node; end + def node_type; end + + class << self + def anima; end + def emitter(buffer:, comments:, node:, local_variable_scope:); end + def new(*args, &block); end + + private + + def handle(*types); end + end +end + +class Unparser::Emitter::Alias < ::Unparser::Emitter + private + + def dispatch; end + def remaining_children; end + def source; end + def target; end +end + +class Unparser::Emitter::Args < ::Unparser::Emitter + def emit_block_arguments; end + def emit_def_arguments; end + def emit_lambda_arguments; end + + private + + def emit_shadowargs; end + def normal_arguments(&block); end + def shadowargs(&block); end +end + +class Unparser::Emitter::Argument < ::Unparser::Emitter + private + + def dispatch; end + def name; end + def remaining_children; end +end + +class Unparser::Emitter::Array < ::Unparser::Emitter + def emit_heredoc_reminders; end + + private + + def dispatch; end + def emitters(&block); end +end + +class Unparser::Emitter::ArrayPattern < ::Unparser::Emitter + private + + def dispatch; end + def emit_member(node); end +end + +class Unparser::Emitter::Assignment < ::Unparser::Emitter + def emit_heredoc_reminders; end + def emit_left(*_arg0); end + def symbol_name; end + + private + + def dispatch; end + def emit_right; end +end + +Unparser::Emitter::Assignment::BINARY_OPERATOR = T.let(T.unsafe(nil), Array) + +class Unparser::Emitter::Assignment::Constant < ::Unparser::Emitter::Assignment + private + + def base; end + def emit_left; end + def name; end + def remaining_children; end + def right; end +end + +class Unparser::Emitter::Assignment::Variable < ::Unparser::Emitter::Assignment + private + + def emit_left; end + def name; end + def remaining_children; end + def right; end +end + +class Unparser::Emitter::Begin < ::Unparser::Emitter + def emit_heredoc_reminders; end + + private + + def body; end + def dispatch; end + def remaining_children; end +end + +class Unparser::Emitter::Binary < ::Unparser::Emitter + private + + def dispatch; end + def writer(&block); end +end + +class Unparser::Emitter::BinaryAssign < ::Unparser::Emitter + def emit_heredoc_reminders; end + + private + + def dispatch; end + def expression; end + def remaining_children; end + def target; end +end + +Unparser::Emitter::BinaryAssign::MAP = T.let(T.unsafe(nil), Hash) + +class Unparser::Emitter::Block < ::Unparser::Emitter + private + + def arguments; end + def body; end + def dispatch; end + def emit_block_arguments; end + def emit_lambda_arguments; end + def emit_send_target; end + def emit_target; end + def need_do?; end + def numblock?; end + def remaining_children; end + def target; end + def target_writer(&block); end + def write_close; end + def write_open; end +end + +class Unparser::Emitter::BlockPass < ::Unparser::Emitter + private + + def dispatch; end + def name; end + def remaining_children; end +end + +class Unparser::Emitter::CBase < ::Unparser::Emitter + private + + def dispatch; end +end + +class Unparser::Emitter::Case < ::Unparser::Emitter + private + + def condition; end + def dispatch; end + def emit_condition; end + def emit_else; end + def emit_whens; end + def remaining_children; end + def whens(&block); end +end + +class Unparser::Emitter::CaseGuard < ::Unparser::Emitter + private + + def condition; end + def dispatch; end + def remaining_children; end +end + +Unparser::Emitter::CaseGuard::MAP = T.let(T.unsafe(nil), Hash) + +class Unparser::Emitter::CaseMatch < ::Unparser::Emitter + private + + def dispatch; end + def else_branch; end + def emit_else_branch; end + def patterns(&block); end + def remaining_children; end + def target; end +end + +class Unparser::Emitter::Class < ::Unparser::Emitter + include ::Unparser::Emitter::LocalVariableRoot + + def local_variable_scope(&block); end + + private + + def body; end + def dispatch; end + def emit_superclass; end + def name; end + def remaining_children; end + def superclass; end +end + +class Unparser::Emitter::Const < ::Unparser::Emitter + private + + def dispatch; end + def emit_scope; end + def name; end + def remaining_children; end + def scope; end +end + +class Unparser::Emitter::ConstPattern < ::Unparser::Emitter + private + + def const; end + def dispatch; end + def pattern; end + def remaining_children; end +end + +class Unparser::Emitter::DStr < ::Unparser::Emitter + def emit_heredoc_reminders; end + + private + + def dispatch; end +end + +class Unparser::Emitter::DSym < ::Unparser::Emitter + private + + def dispatch; end + def emit_begin_child(component); end + def emit_str_child(value); end +end + +class Unparser::Emitter::Def < ::Unparser::Emitter + include ::Unparser::Emitter::LocalVariableRoot + + def local_variable_scope(&block); end + + private + + def body(*_arg0); end + def dispatch; end + def emit_arguments; end + def emit_name(*_arg0); end +end + +class Unparser::Emitter::Def::Instance < ::Unparser::Emitter::Def + private + + def arguments; end + def body; end + def emit_name; end + def name; end + def remaining_children; end +end + +class Unparser::Emitter::Def::Singleton < ::Unparser::Emitter::Def + private + + def arguments; end + def body; end + def emit_name; end + def name; end + def remaining_children; end + def subject; end + def subject_without_parens?; end +end + +class Unparser::Emitter::Defined < ::Unparser::Emitter + private + + def dispatch; end + def remaining_children; end + def subject; end +end + +class Unparser::Emitter::FlipFlop < ::Unparser::Emitter + def symbol_name; end + + private + + def dispatch; end + def left; end + def remaining_children; end + def right; end +end + +Unparser::Emitter::FlipFlop::MAP = T.let(T.unsafe(nil), Hash) +Unparser::Emitter::FlipFlop::SYMBOLS = T.let(T.unsafe(nil), Hash) + +class Unparser::Emitter::Float < ::Unparser::Emitter + private + + def dispatch; end + def remaining_children; end + def value; end +end + +Unparser::Emitter::Float::INFINITY = T.let(T.unsafe(nil), Float) +Unparser::Emitter::Float::NEG_INFINITY = T.let(T.unsafe(nil), Float) + +class Unparser::Emitter::FlowModifier < ::Unparser::Emitter + def emit_heredoc_reminders; end + + private + + def dispatch; end + def emit_arguments; end +end + +Unparser::Emitter::FlowModifier::MAP = T.let(T.unsafe(nil), Hash) + +class Unparser::Emitter::For < ::Unparser::Emitter + private + + def assignment; end + def body; end + def condition; end + def dispatch; end + def emit_condition; end + def remaining_children; end +end + +class Unparser::Emitter::Hash < ::Unparser::Emitter + def emit_heredoc_reminders; end + def emit_last_argument_hash; end + + private + + def dispatch; end + def emit_hash_body; end + def emit_heredoc_reminder_member(node); end +end + +class Unparser::Emitter::HashPattern < ::Unparser::Emitter + def emit_const_pattern; end + + private + + def dispatch; end + def emit_hash_body; end + def emit_match_var(node); end + def emit_member(node); end + def emit_pair(node); end + def write_symbol_body(symbol); end +end + +class Unparser::Emitter::Hookexe < ::Unparser::Emitter + private + + def body; end + def dispatch; end + def remaining_children; end +end + +Unparser::Emitter::Hookexe::MAP = T.let(T.unsafe(nil), Hash) + +class Unparser::Emitter::If < ::Unparser::Emitter + def emit_ternary; end + + private + + def condition; end + def dispatch; end + def else_branch; end + def emit_condition; end + def emit_else_branch; end + def emit_if_branch; end + def emit_normal; end + def emit_postcondition; end + def if_branch; end + def keyword; end + def postcondition?; end + def remaining_children; end + def unless?; end +end + +class Unparser::Emitter::InMatch < ::Unparser::Emitter + private + + def dispatch; end + def pattern; end + def remaining_children; end + def target; end +end + +class Unparser::Emitter::InPattern < ::Unparser::Emitter + private + + def branch; end + def dispatch; end + def else_branch; end + def remaining_children; end + def target; end + def unless_guard; end +end + +class Unparser::Emitter::Index < ::Unparser::Emitter + private + + def dispatch; end + def emit_receiver; end +end + +class Unparser::Emitter::Index::Assign < ::Unparser::Emitter::Index + def dispatch; end + def emit_heredoc_reminders; end + def emit_mlhs; end + + private + + def emit_operation(indices); end +end + +Unparser::Emitter::Index::Assign::NO_VALUE_PARENT = T.let(T.unsafe(nil), Set) +Unparser::Emitter::Index::Assign::VALUE_RANGE = T.let(T.unsafe(nil), Range) + +class Unparser::Emitter::Index::Reference < ::Unparser::Emitter::Index + private + + def emit_operation; end + def indices(&block); end +end + +class Unparser::Emitter::KWBegin < ::Unparser::Emitter + private + + def dispatch; end + def emit_multiple_body; end +end + +class Unparser::Emitter::KeywordOptional < ::Unparser::Emitter + private + + def dispatch; end + def name; end + def remaining_children; end + def value; end +end + +class Unparser::Emitter::KwSplat < ::Unparser::Emitter + private + + def dispatch; end + def remaining_children; end + def subject; end +end + +class Unparser::Emitter::Kwarg < ::Unparser::Emitter + private + + def dispatch; end + def name; end + def remaining_children; end +end + +class Unparser::Emitter::Kwargs < ::Unparser::Emitter + def dispatch; end +end + +class Unparser::Emitter::Lambda < ::Unparser::Emitter + private + + def dispatch; end +end + +module Unparser::Emitter::LocalVariableRoot + def local_variable_scope; end + + class << self + def included(descendant); end + end +end + +class Unparser::Emitter::MASGN < ::Unparser::Emitter + private + + def dispatch; end + def remaining_children; end + def source; end + def target; end +end + +class Unparser::Emitter::MLHS < ::Unparser::Emitter + private + + def dispatch; end + def emit_many; end + def emit_one_child_mlhs; end +end + +Unparser::Emitter::MLHS::NO_COMMA = T.let(T.unsafe(nil), Array) +class Unparser::Emitter::Match < ::Unparser::Emitter; end + +class Unparser::Emitter::Match::CurrentLine < ::Unparser::Emitter::Match + private + + def dispatch; end + def regexp; end + def remaining_children; end +end + +class Unparser::Emitter::Match::Lvasgn < ::Unparser::Emitter::Match + private + + def dispatch; end + def lvasgn; end + def regexp; end + def remaining_children; end +end + +class Unparser::Emitter::MatchAlt < ::Unparser::Emitter + private + + def dispatch; end + def left; end + def remaining_children; end + def right; end +end + +class Unparser::Emitter::MatchAs < ::Unparser::Emitter + private + + def dispatch; end + def left; end + def remaining_children; end + def right; end +end + +class Unparser::Emitter::MatchPattern < ::Unparser::Emitter + private + + def dispatch; end + def pattern; end + def remaining_children; end + def target; end +end + +class Unparser::Emitter::MatchRest < ::Unparser::Emitter + def emit_array_pattern; end + def emit_hash_pattern; end + + private + + def emit_match_var; end + def match_var; end + def remaining_children; end +end + +class Unparser::Emitter::MatchVar < ::Unparser::Emitter + private + + def dispatch; end + def name; end + def remaining_children; end +end + +class Unparser::Emitter::Module < ::Unparser::Emitter + include ::Unparser::Emitter::LocalVariableRoot + + def local_variable_scope(&block); end + + private + + def body; end + def dispatch; end + def name; end + def remaining_children; end +end + +class Unparser::Emitter::Morearg < ::Unparser::Emitter + private + + def dispatch; end + def name; end + def remaining_children; end +end + +Unparser::Emitter::Morearg::MAP = T.let(T.unsafe(nil), Hash) +Unparser::Emitter::NO_INDENT = T.let(T.unsafe(nil), Array) + +class Unparser::Emitter::NthRef < ::Unparser::Emitter + private + + def dispatch; end + def name; end + def remaining_children; end +end + +Unparser::Emitter::NthRef::PREFIX = T.let(T.unsafe(nil), String) + +class Unparser::Emitter::OpAssign < ::Unparser::Emitter + private + + def dispatch; end + def emit_operator; end + def operator; end + def remaining_children; end + def target; end + def value; end +end + +class Unparser::Emitter::Optarg < ::Unparser::Emitter + private + + def dispatch; end + def name; end + def remaining_children; end + def value; end +end + +class Unparser::Emitter::Pair < ::Unparser::Emitter + private + + def colon?(key); end + def dispatch; end + def key; end + def remaining_children; end + def value; end +end + +Unparser::Emitter::Pair::BAREWORD = T.let(T.unsafe(nil), Regexp) + +class Unparser::Emitter::Pin < ::Unparser::Emitter + private + + def dispatch; end + def remaining_children; end + def target; end +end + +class Unparser::Emitter::Post < ::Unparser::Emitter + private + + def body; end + def condition; end + def dispatch; end + def remaining_children; end +end + +Unparser::Emitter::Post::MAP = T.let(T.unsafe(nil), Hash) + +class Unparser::Emitter::Primitive < ::Unparser::Emitter + private + + def remaining_children; end + def value; end +end + +class Unparser::Emitter::Primitive::Complex < ::Unparser::Emitter::Primitive + private + + def dispatch; end + def emit_imaginary; end + def imaginary_node; end +end + +Unparser::Emitter::Primitive::Complex::MAP = T.let(T.unsafe(nil), Hash) +Unparser::Emitter::Primitive::Complex::RATIONAL_FORMAT = T.let(T.unsafe(nil), String) + +class Unparser::Emitter::Primitive::Inspect < ::Unparser::Emitter::Primitive + private + + def dispatch; end +end + +class Unparser::Emitter::Primitive::Numeric < ::Unparser::Emitter::Primitive + private + + def dispatch; end +end + +class Unparser::Emitter::Primitive::Rational < ::Unparser::Emitter::Primitive + private + + def dispatch; end + def write_rational(value); end +end + +Unparser::Emitter::Primitive::Rational::RATIONAL_FORMAT = T.let(T.unsafe(nil), String) + +class Unparser::Emitter::Procarg < ::Unparser::Emitter + private + + def dispatch; end + def needs_parens?; end +end + +Unparser::Emitter::Procarg::PARENS = T.let(T.unsafe(nil), Array) +Unparser::Emitter::REGISTRY = T.let(T.unsafe(nil), Hash) + +class Unparser::Emitter::Range < ::Unparser::Emitter + def symbol_name; end + + private + + def begin_node; end + def dispatch; end + def end_node; end + def remaining_children; end +end + +Unparser::Emitter::Range::SYMBOLS = T.let(T.unsafe(nil), Hash) +Unparser::Emitter::Range::TOKENS = T.let(T.unsafe(nil), Hash) + +class Unparser::Emitter::Regexp < ::Unparser::Emitter + private + + def body(&block); end + def dispatch; end + def emit_body(node); end + def emit_options; end +end + +class Unparser::Emitter::Repetition < ::Unparser::Emitter + private + + def body; end + def condition; end + def dispatch; end + def emit_keyword; end + def emit_normal; end + def emit_postcontrol; end + def postcontrol?; end + def remaining_children; end +end + +Unparser::Emitter::Repetition::MAP = T.let(T.unsafe(nil), Hash) + +class Unparser::Emitter::Rescue < ::Unparser::Emitter + private + + def dispatch; end +end + +class Unparser::Emitter::Restarg < ::Unparser::Emitter + private + + def dispatch; end + def name; end + def remaining_children; end +end + +class Unparser::Emitter::Root < ::Unparser::Emitter + include ::Unparser::Emitter::LocalVariableRoot + + def dispatch; end + def local_variable_scope(&block); end +end + +Unparser::Emitter::Root::END_NL = T.let(T.unsafe(nil), Array) + +class Unparser::Emitter::SClass < ::Unparser::Emitter + private + + def body; end + def dispatch; end + def object; end + def remaining_children; end +end + +class Unparser::Emitter::Send < ::Unparser::Emitter + def emit_heredoc_reminders; end + def emit_mlhs; end + + private + + def dispatch; end + def writer(&block); end +end + +class Unparser::Emitter::Simple < ::Unparser::Emitter + private + + def dispatch; end +end + +Unparser::Emitter::Simple::MAP = T.let(T.unsafe(nil), Hash) + +class Unparser::Emitter::Splat < ::Unparser::Emitter + def emit_mlhs; end + + private + + def dispatch; end + def remaining_children; end + def subject; end + def subject_emitter(&block); end +end + +class Unparser::Emitter::Super < ::Unparser::Emitter + private + + def dispatch; end +end + +class Unparser::Emitter::Undef < ::Unparser::Emitter + private + + def dispatch; end +end + +class Unparser::Emitter::Variable < ::Unparser::Emitter + private + + def dispatch; end + def name; end + def remaining_children; end +end + +class Unparser::Emitter::When < ::Unparser::Emitter + private + + def captures(&block); end + def dispatch; end + def emit_captures; end +end + +class Unparser::Emitter::XStr < ::Unparser::Emitter + private + + def dispatch; end + def emit_begin(component); end + def emit_heredoc; end + def emit_string(value); end + def emit_xstr; end + def escape_xstr(input); end + def heredoc?; end +end + +class Unparser::Emitter::Yield < ::Unparser::Emitter + private + + def dispatch; end +end + +class Unparser::Equalizer < ::Module + def initialize(*keys); end + + private + + def define_cmp_method; end + def define_hash_method; end + def define_inspect_method; end + def define_methods; end + def included(descendant); end +end + +module Unparser::Equalizer::Methods + def ==(other); end + def eql?(other); end +end + +module Unparser::Generation + def emit_heredoc_reminders; end + def symbol_name; end + def write_to_buffer; end + + private + + def children; end + def conditional_parentheses(flag, &block); end + def delimited(nodes, delimiter = T.unsafe(nil), &block); end + def emit_body(node, indent: T.unsafe(nil)); end + def emit_body_ensure_rescue(node); end + def emit_body_inner(node); end + def emit_body_member(node); end + def emit_body_rescue(node); end + def emit_comments(comments); end + def emit_comments_before(source_part = T.unsafe(nil)); end + def emit_ensure(node); end + def emit_eof_comments; end + def emit_eol_comments; end + def emit_join(nodes, emit_node, emit_delimiter); end + def emit_optional_body(node, indent: T.unsafe(nil)); end + def emit_optional_body_ensure_rescue(node); end + def emit_rescue_postcontrol(node); end + def emit_rescue_regular(node); end + def emitter(node); end + def first_child; end + def indented; end + def k_end; end + def nl; end + def parentheses(open = T.unsafe(nil), close = T.unsafe(nil)); end + def visit(node); end + def visit_deep(node); end + def with_comments; end + def write(*strings); end + def writer_with(klass, node); end + def ws; end +end + +Unparser::Generation::EXTRA_NL = T.let(T.unsafe(nil), Array) + +class Unparser::InvalidNodeError < ::RuntimeError + def initialize(message, node); end + + def node; end +end + +module Unparser::NodeDetails + include ::Unparser::NodeHelpers + include ::Unparser::Constants + + private + + def children; end + + class << self + def included(descendant); end + end +end + +class Unparser::NodeDetails::Send + include ::Unparser::NodeHelpers + include ::Unparser::Constants + include ::Unparser::NodeDetails + include ::Unparser::Equalizer::Methods + include ::Unparser::Adamantium + include ::Unparser::Adamantium::InstanceMethods + extend ::Unparser::Adamantium::ModuleMethods + extend ::Unparser::Adamantium::ClassMethods + extend ::Unparser::DSL + + def arguments(&block); end + def arguments?; end + def assignment?(&block); end + def assignment_operator?; end + def binary_syntax_allowed?; end + def non_assignment_selector; end + def receiver; end + def selector; end + def selector_binary_operator?; end + def selector_unary_operator?; end + def string_selector(&block); end + + private + + def remaining_children; end +end + +Unparser::NodeDetails::Send::ASSIGN_SUFFIX = T.let(T.unsafe(nil), String) +Unparser::NodeDetails::Send::NON_ASSIGN_RANGE = T.let(T.unsafe(nil), Range) + +module Unparser::NodeHelpers + def n(type, children = T.unsafe(nil)); end + def n?(type, node); end + def s(type, *children); end + def unwrap_single_begin(node); end + + private + + def n_arg?(node); end + def n_args?(node); end + def n_array?(node); end + def n_array_pattern?(node); end + def n_begin?(node); end + def n_block?(node); end + def n_cbase?(node); end + def n_const?(node); end + def n_dstr?(node); end + def n_empty_else?(node); end + def n_ensure?(node); end + def n_hash?(node); end + def n_hash_pattern?(node); end + def n_if?(node); end + def n_in_pattern?(node); end + def n_int?(node); end + def n_kwsplat?(node); end + def n_lambda?(node); end + def n_match_rest?(node); end + def n_pair?(node); end + def n_rescue?(node); end + def n_send?(node); end + def n_shadowarg?(node); end + def n_splat?(node); end + def n_str?(node); end + def n_sym?(node); end +end + +module Unparser::RequireBlock + private + + def require_block; end +end + +class Unparser::UnknownNodeError < ::ArgumentError; end + +class Unparser::Validation + include ::Unparser::Anima::InstanceMethods + include ::Unparser::Equalizer::Methods + include ::Unparser::Adamantium + include ::Unparser::Adamantium::InstanceMethods + extend ::Unparser::Adamantium::ModuleMethods + extend ::Unparser::Adamantium::ClassMethods + + def generated_node; end + def generated_source; end + def identification; end + def original_node; end + def original_source; end + def report(&block); end + def success?; end + + private + + def make_report(label, attribute_name); end + def node_diff_report; end + def report_exception(exception); end + + class << self + def anima; end + def from_node(original_node); end + def from_path(path); end + def from_string(original_source); end + + private + + def const_unit(_value); end + end +end + +class Unparser::Validation::Literal < ::Unparser::Validation + def report; end + def success?; end + + private + + def source_diff_report; end +end + +module Unparser::Writer + include ::Unparser::NodeHelpers + include ::Unparser::Generation + include ::Unparser::Anima::InstanceMethods + include ::Unparser::Equalizer::Methods + + mixes_in_class_methods ::Unparser::DSL + + class << self + def included(descendant); end + end +end + +class Unparser::Writer::Binary + include ::Unparser::Adamantium + include ::Unparser::Adamantium::InstanceMethods + include ::Unparser::NodeHelpers + include ::Unparser::Generation + include ::Unparser::Writer + include ::Unparser::Anima::InstanceMethods + include ::Unparser::Equalizer::Methods + extend ::Unparser::Adamantium::ModuleMethods + extend ::Unparser::Adamantium::ClassMethods + extend ::Unparser::DSL + + def buffer; end + def comments; end + def dispatch; end + def emit_operator; end + def local_variable_scope; end + def node; end + def symbol_name; end + + private + + def effective_symbol; end + def emit_with(map); end + def keyword_symbol; end + def left; end + def left_emitter(&block); end + def operator_symbol; end + def remaining_children; end + def right; end + def right_emitter(&block); end + + class << self + def anima; end + end +end + +Unparser::Writer::Binary::KEYWORD_SYMBOLS = T.let(T.unsafe(nil), Hash) +Unparser::Writer::Binary::KEYWORD_TOKENS = T.let(T.unsafe(nil), Hash) +Unparser::Writer::Binary::MAP = T.let(T.unsafe(nil), Hash) +Unparser::Writer::Binary::NEED_KEYWORD = T.let(T.unsafe(nil), Array) +Unparser::Writer::Binary::OPERATOR_SYMBOLS = T.let(T.unsafe(nil), Hash) +Unparser::Writer::Binary::OPERATOR_TOKENS = T.let(T.unsafe(nil), Hash) + +class Unparser::Writer::DynamicString + include ::Unparser::Adamantium + include ::Unparser::Adamantium::InstanceMethods + include ::Unparser::NodeHelpers + include ::Unparser::Generation + include ::Unparser::Writer + include ::Unparser::Anima::InstanceMethods + include ::Unparser::Equalizer::Methods + extend ::Unparser::Adamantium::ModuleMethods + extend ::Unparser::Adamantium::ClassMethods + extend ::Unparser::DSL + + def buffer; end + def comments; end + def dispatch; end + def emit_heredoc_reminder; end + def local_variable_scope; end + def node; end + + private + + def breakpoint?(child, current); end + def classify(node); end + def classify_str(node); end + def emit_body(children); end + def emit_dstr; end + def emit_dynamic(child); end + def emit_dynamic_component(node); end + def emit_heredoc_body; end + def emit_heredoc_footer; end + def emit_heredoc_header; end + def emit_normal_heredoc_body; end + def emit_segment(children, index); end + def emit_squiggly_heredoc_body; end + def escape_dynamic(string); end + def heredoc?; end + def heredoc_header; end + def heredoc_pattern?; end + def heredoc_pattern_2?; end + def heredoc_pattern_3?; end + def nl_last_child?; end + def segments; end + def str_empty?(node); end + def str_nl?(node); end + def str_ws?(node); end + + class << self + def anima; end + end +end + +Unparser::Writer::DynamicString::FLAT_INTERPOLATION = T.let(T.unsafe(nil), Set) +Unparser::Writer::DynamicString::PATTERNS_2 = T.let(T.unsafe(nil), Array) +Unparser::Writer::DynamicString::PATTERNS_3 = T.let(T.unsafe(nil), Array) + +class Unparser::Writer::Resbody + include ::Unparser::NodeHelpers + include ::Unparser::Generation + include ::Unparser::Writer + include ::Unparser::Anima::InstanceMethods + include ::Unparser::Equalizer::Methods + extend ::Unparser::DSL + + def buffer; end + def comments; end + def emit_postcontrol; end + def emit_regular; end + def local_variable_scope; end + def node; end + + private + + def assignment; end + def body; end + def emit_assignment; end + def emit_exception; end + def exception; end + def remaining_children; end + + class << self + def anima; end + end +end + +class Unparser::Writer::Rescue + include ::Unparser::Adamantium + include ::Unparser::Adamantium::InstanceMethods + include ::Unparser::NodeHelpers + include ::Unparser::Generation + include ::Unparser::Writer + include ::Unparser::Anima::InstanceMethods + include ::Unparser::Equalizer::Methods + extend ::Unparser::Adamantium::ModuleMethods + extend ::Unparser::Adamantium::ClassMethods + extend ::Unparser::DSL + + def buffer; end + def comments; end + def emit_heredoc_reminders; end + def emit_postcontrol; end + def emit_regular; end + def local_variable_scope; end + def node; end + + private + + def body; end + def else_node; end + def emit_rescue_body(node); end + def remaining_children; end + def rescue_bodies(&block); end + def rescue_body; end + + class << self + def anima; end + end +end + +class Unparser::Writer::Send + include ::Unparser::NodeHelpers + include ::Unparser::Generation + include ::Unparser::Constants + include ::Unparser::Adamantium + include ::Unparser::Adamantium::InstanceMethods + include ::Unparser::Writer + include ::Unparser::Anima::InstanceMethods + include ::Unparser::Equalizer::Methods + extend ::Unparser::Adamantium::ModuleMethods + extend ::Unparser::Adamantium::ClassMethods + extend ::Unparser::DSL + + def buffer; end + def comments; end + def dispatch; end + def emit_heredoc_reminders; end + def emit_mlhs; end + def emit_selector; end + def local_variable_scope; end + def node; end + + private + + def arguments; end + def avoid_clash?; end + def details(&block); end + def effective_writer(&block); end + def effective_writer_class; end + def emit_arguments; end + def emit_heredoc_reminder(argument); end + def emit_normal_arguments; end + def emit_operator; end + def emit_send_regular(node); end + def local_variable_clash?; end + def parses_as_constant?; end + def receiver; end + def remaining_children; end + def selector; end + def write_as_attribute_assignment?; end + + class << self + def anima; end + end +end + +class Unparser::Writer::Send::AttributeAssignment < ::Unparser::Writer::Send + def dispatch; end + def emit_send_mlhs; end + + private + + def emit_attribute; end + def emit_receiver; end + def first_argument; end + def receiver; end + def remaining_children; end + def selector; end +end + +class Unparser::Writer::Send::Binary < ::Unparser::Writer::Send + def dispatch; end + + private + + def emit_operator; end + def emit_right; end +end + +Unparser::Writer::Send::INDEX_ASSIGN = T.let(T.unsafe(nil), Symbol) +Unparser::Writer::Send::INDEX_REFERENCE = T.let(T.unsafe(nil), Symbol) +Unparser::Writer::Send::OPERATORS = T.let(T.unsafe(nil), Hash) + +class Unparser::Writer::Send::Regular < ::Unparser::Writer::Send + def dispatch; end + def emit_arguments_without_heredoc_body; end + def emit_receiver; end + def emit_send_mlhs; end +end + +class Unparser::Writer::Send::Unary < ::Unparser::Writer::Send + def dispatch; end +end + +Unparser::Writer::Send::Unary::MAP = T.let(T.unsafe(nil), Hash) diff --git a/Library/Homebrew/sorbet/rbi/hidden-definitions/hidden.rbi b/Library/Homebrew/sorbet/rbi/hidden-definitions/hidden.rbi index 20e8ec1285..3ee69a3f69 100644 --- a/Library/Homebrew/sorbet/rbi/hidden-definitions/hidden.rbi +++ b/Library/Homebrew/sorbet/rbi/hidden-definitions/hidden.rbi @@ -12,6 +12,12 @@ class AbstractDownloadStrategy extend ::T::Private::Methods::SingletonMethodHooks end +class ActiveRecordColumnTypeHelper + extend ::T::Sig + extend ::T::Private::Methods::MethodHooks + extend ::T::Private::Methods::SingletonMethodHooks +end + module ActiveSupport def parse_json_times(); end @@ -3247,6 +3253,56 @@ module DidYouMean def self.formatter=(formatter); end end +class Diff::LCS::Block + def changes(); end + + def diff_size(); end + + def initialize(chunk); end + + def insert(); end + + def op(); end + + def remove(); end +end + +class Diff::LCS::Block +end + +class Diff::LCS::Hunk + def blocks(); end + + def diff(format, last=T.unsafe(nil)); end + + def end_new(); end + + def end_old(); end + + def file_length_difference(); end + + def flag_context(); end + + def flag_context=(context); end + + def initialize(data_old, data_new, piece, flag_context, file_length_difference); end + + def merge(hunk); end + + def missing_last_newline?(data); end + + def overlaps?(hunk); end + + def start_new(); end + + def start_old(); end + + def unshift(hunk); end +end + +class Diff::LCS::Hunk +end + class Dir def children(); end @@ -7219,6 +7275,82 @@ module PyPI extend ::T::Private::Methods::SingletonMethodHooks end +class RBI::ASTVisitor + extend ::T::Helpers + extend ::T::Sig + extend ::T::Private::Abstract::Hooks + extend ::T::InterfaceWrapper::Helpers + extend ::T::Private::Methods::MethodHooks + extend ::T::Private::Methods::SingletonMethodHooks +end + +class RBI::File + extend ::T::Sig + extend ::T::Private::Methods::MethodHooks + extend ::T::Private::Methods::SingletonMethodHooks +end + +class RBI::Index + include ::T::Enumerable +end + +module RBI::Indexable + extend ::T::Sig + extend ::T::Helpers + extend ::T::Private::Abstract::Hooks + extend ::T::InterfaceWrapper::Helpers + extend ::T::Private::Methods::MethodHooks + extend ::T::Private::Methods::SingletonMethodHooks +end + +class RBI::Loc + extend ::T::Sig + extend ::T::Private::Methods::MethodHooks + extend ::T::Private::Methods::SingletonMethodHooks +end + +class RBI::Node + extend ::T::Sig + extend ::T::Helpers + extend ::T::Private::Abstract::Hooks + extend ::T::InterfaceWrapper::Helpers + extend ::T::Private::Methods::MethodHooks + extend ::T::Private::Methods::SingletonMethodHooks +end + +class RBI::ParseError + extend ::T::Sig + extend ::T::Private::Methods::MethodHooks + extend ::T::Private::Methods::SingletonMethodHooks +end + +class RBI::Parser + extend ::T::Sig + extend ::T::Private::Methods::MethodHooks + extend ::T::Private::Methods::SingletonMethodHooks +end + +class RBI::Rewriters::Merge::Conflict + extend ::T::Sig + extend ::T::Private::Methods::MethodHooks + extend ::T::Private::Methods::SingletonMethodHooks +end + +class RBI::Rewriters::Merge + extend ::T::Sig + extend ::T::Private::Methods::MethodHooks + extend ::T::Private::Methods::SingletonMethodHooks +end + +class RBI::Visitor + extend ::T::Helpers + extend ::T::Sig + extend ::T::Private::Abstract::Hooks + extend ::T::InterfaceWrapper::Helpers + extend ::T::Private::Methods::MethodHooks + extend ::T::Private::Methods::SingletonMethodHooks +end + class REXML::XPathParser DEBUG = ::T.let(nil, ::T.untyped) end @@ -9305,6 +9437,12 @@ class Tapioca::Compilers::Dsl::Base extend ::T::Private::Methods::SingletonMethodHooks end +module Tapioca::Reflection + extend ::T::Sig + extend ::T::Private::Methods::MethodHooks + extend ::T::Private::Methods::SingletonMethodHooks +end + class Tempfile def _close(); end