# typed: true # DO NOT EDIT MANUALLY # This is an autogenerated file for types exported from the `parlour` gem. # Please instead update this file by running `bin/tapioca gem parlour`. module Kernel extend ::Forwardable end module Parlour; end class Parlour::ConflictResolver def initialize; end sig do params( namespace: Parlour::RbiGenerator::Namespace, resolver: T.proc.params(desc: ::String, choices: T::Array[::Parlour::RbiGenerator::RbiObject]).returns(T.nilable(::Parlour::RbiGenerator::RbiObject)) ).void end def resolve_conflicts(namespace, &resolver); end private sig { params(arr: T::Array[T.untyped]).returns(T::Boolean) } def all_eql?(arr); end sig { params(namespace: Parlour::RbiGenerator::Namespace, name: T.nilable(::String)).void } def deduplicate_mixins_of_name(namespace, name); end sig { params(arr: T::Array[T.untyped]).returns(T.nilable(::Symbol)) } def merge_strategy(arr); end end module Parlour::Conversion; end class Parlour::Conversion::Converter abstract! def initialize; end sig { params(msg: ::String, node: ::Parlour::RbiGenerator::RbiObject).void } def add_warning(msg, node); end sig { returns(T::Array[[::String, ::Parlour::TypedObject]]) } def warnings; end end class Parlour::Conversion::RbiToRbs < ::Parlour::Conversion::Converter sig { params(rbs_gen: ::Parlour::RbsGenerator).void } def initialize(rbs_gen); end sig { params(from: Parlour::RbiGenerator::Namespace, to: Parlour::RbsGenerator::Namespace).void } def convert_all(from, to); end sig { params(node: ::Parlour::RbiGenerator::RbiObject, new_parent: Parlour::RbsGenerator::Namespace).void } def convert_object(node, new_parent); end sig { returns(::Parlour::RbsGenerator) } def rbs_gen; end end module Parlour::Debugging class << self sig { params(value: T::Boolean).returns(T::Boolean) } def debug_mode=(value); end sig { returns(T::Boolean) } def debug_mode?; end sig { params(object: T.untyped, message: ::String).void } def debug_puts(object, message); end sig { params(object: T.untyped).returns(::String) } def name_for_debug_caller(object); end end end class Parlour::Debugging::Tree sig { params(colour: T::Boolean).void } def initialize(colour: T.unsafe(nil)); end sig { params(message: ::String).returns(::String) } def begin(message); end sig { returns(T::Boolean) } def colour; end sig { params(message: ::String).returns(::String) } def end(message); end sig { params(message: ::String).returns(::String) } def here(message); end def indent!(offset); end def line_prefix; end def text_prefix; end end Parlour::Debugging::Tree::INDENT_SPACES = T.let(T.unsafe(nil), Integer) class Parlour::DetachedRbiGenerator < ::Parlour::RbiGenerator sig { override.returns(T.nilable(::Parlour::Plugin)) } def current_plugin; end sig { returns(T.untyped) } def detached!; end sig { override.returns(::Parlour::Options) } def options; end sig { override.params(strictness: ::String).returns(::String) } def rbi(strictness = T.unsafe(nil)); end end class Parlour::DetachedRbsGenerator < ::Parlour::RbsGenerator sig { override.returns(T.nilable(::Parlour::Plugin)) } def current_plugin; end sig { returns(T.untyped) } def detached!; end sig { override.returns(::Parlour::Options) } def options; end sig { override.returns(::String) } def rbs; end end class Parlour::Generator sig { params(break_params: ::Integer, tab_size: ::Integer, sort_namespaces: T::Boolean).void } def initialize(break_params: T.unsafe(nil), tab_size: T.unsafe(nil), sort_namespaces: T.unsafe(nil)); end sig { overridable.returns(T.nilable(::Parlour::Plugin)) } def current_plugin; end def current_plugin=(_arg0); end sig { overridable.returns(::Parlour::Options) } def options; end end module Parlour::Mixin; end module Parlour::Mixin::Searchable extend T::Generic abstract! Child = type_member { { upper: Parlour::TypedObject } } sig { abstract.returns(T::Array[Child]) } def children; end sig { params(name: T.nilable(::String), type: T.nilable(::Class)).returns(Child) } def find(name: T.unsafe(nil), type: T.unsafe(nil)); end sig { params(name: T.nilable(::String), type: T.nilable(::Class)).returns(T::Array[Child]) } def find_all(name: T.unsafe(nil), type: T.unsafe(nil)); end private sig { params(child: Child, name: T.nilable(::String), type: T.nilable(::Class)).returns(T::Boolean) } def searchable_child_matches(child, name, type); end end class Parlour::Options sig { params(break_params: ::Integer, tab_size: ::Integer, sort_namespaces: T::Boolean).void } def initialize(break_params:, tab_size:, sort_namespaces:); end sig { returns(::Integer) } def break_params; end sig { params(level: ::Integer, str: ::String).returns(::String) } def indented(level, str); end sig { returns(T::Boolean) } def sort_namespaces; end sig { returns(::Integer) } def tab_size; end end class Parlour::ParseError < ::StandardError def initialize(buffer, range); end sig { returns(::Parser::Source::Buffer) } def buffer; end sig { returns(::Parser::Source::Range) } def range; end end class Parlour::Plugin abstract! sig { params(options: T::Hash[T.untyped, T.untyped]).void } def initialize(options); end sig { abstract.params(root: Parlour::RbiGenerator::Namespace).void } def generate(root); end sig { returns(T.nilable(::String)) } def strictness; end def strictness=(_arg0); end class << self sig { params(new_plugin: T.class_of(Parlour::Plugin)).void } def inherited(new_plugin); end sig { returns(T::Hash[::String, T.class_of(Parlour::Plugin)]) } def registered_plugins; end sig do params( plugins: T::Array[::Parlour::Plugin], generator: ::Parlour::RbiGenerator, allow_failure: T::Boolean ).void end def run_plugins(plugins, generator, allow_failure: T.unsafe(nil)); end end end class Parlour::RbiGenerator < ::Parlour::Generator def initialize(**hash); end sig { overridable.params(strictness: ::String).returns(::String) } def rbi(strictness = T.unsafe(nil)); end sig { overridable.returns(Parlour::RbiGenerator::Namespace) } def root; end end class Parlour::RbiGenerator::Arbitrary < ::Parlour::RbiGenerator::RbiObject sig do params( generator: ::Parlour::Generator, code: ::String, block: T.nilable(T.proc.params(x: ::Parlour::RbiGenerator::Arbitrary).void) ).void end def initialize(generator, code: T.unsafe(nil), &block); end sig { params(other: ::Object).returns(T::Boolean) } def ==(other); end sig { returns(::String) } def code; end def code=(_arg0); end sig { override.returns(T::Array[T.any(::Symbol, T::Hash[::Symbol, ::String])]) } def describe_attrs; end sig { override.void } def generalize_from_rbi!; end sig { override.params(indent_level: ::Integer, options: ::Parlour::Options).returns(T::Array[::String]) } def generate_rbi(indent_level, options); end sig { override.params(others: T::Array[::Parlour::RbiGenerator::RbiObject]).void } def merge_into_self(others); end sig { override.params(others: T::Array[::Parlour::RbiGenerator::RbiObject]).returns(T::Boolean) } def mergeable?(others); end end class Parlour::RbiGenerator::Attribute < ::Parlour::RbiGenerator::Method sig do params( generator: ::Parlour::Generator, name: ::String, kind: ::Symbol, type: T.any(::Parlour::Types::Type, ::String), class_attribute: T::Boolean, block: T.nilable(T.proc.params(x: ::Parlour::RbiGenerator::Attribute).void) ).void end def initialize(generator, name, kind, type, class_attribute: T.unsafe(nil), &block); end sig { override.params(other: ::Object).returns(T::Boolean) } def ==(other); end sig { returns(T::Boolean) } def class_attribute; end sig { override.returns(T::Array[T.any(::Symbol, T::Hash[::Symbol, ::String])]) } def describe_attrs; end sig { override.void } def generalize_from_rbi!; end sig { returns(::Symbol) } def kind; end sig { returns(T.any(::Parlour::Types::Type, ::String)) } def type; end private sig { override.params(indent_level: ::Integer, options: ::Parlour::Options).returns(T::Array[::String]) } def generate_definition(indent_level, options); end end class Parlour::RbiGenerator::ClassNamespace < ::Parlour::RbiGenerator::Namespace extend T::Generic Child = type_member { { fixed: Parlour::RbiGenerator::RbiObject } } sig do params( generator: ::Parlour::Generator, name: ::String, final: T::Boolean, sealed: T::Boolean, superclass: T.nilable(::String), abstract: T::Boolean, block: T.nilable(T.proc.params(x: Parlour::RbiGenerator::ClassNamespace).void) ).void end def initialize(generator, name, final, sealed, superclass, abstract, &block); end sig { returns(T::Boolean) } def abstract; end sig { override.returns(T::Array[T.any(::Symbol, T::Hash[::Symbol, ::String])]) } def describe_attrs; end sig { override.void } def generalize_from_rbi!; end sig { override.params(indent_level: ::Integer, options: ::Parlour::Options).returns(T::Array[::String]) } def generate_rbi(indent_level, options); end sig { override.params(others: T::Array[::Parlour::RbiGenerator::RbiObject]).void } def merge_into_self(others); end sig { override.params(others: T::Array[::Parlour::RbiGenerator::RbiObject]).returns(T::Boolean) } def mergeable?(others); end sig { returns(T.nilable(::String)) } def superclass; end end class Parlour::RbiGenerator::Constant < ::Parlour::RbiGenerator::RbiObject sig do params( generator: ::Parlour::Generator, name: ::String, value: T.any(::Parlour::Types::Type, ::String), eigen_constant: T::Boolean, block: T.nilable(T.proc.params(x: ::Parlour::RbiGenerator::Constant).void) ).void end def initialize(generator, name: T.unsafe(nil), value: T.unsafe(nil), eigen_constant: T.unsafe(nil), &block); end sig { params(other: ::Object).returns(T::Boolean) } def ==(other); end sig { override.returns(T::Array[T.any(::Symbol, T::Hash[::Symbol, ::String])]) } def describe_attrs; end def eigen_constant; end sig { override.void } def generalize_from_rbi!; end sig { override.params(indent_level: ::Integer, options: ::Parlour::Options).returns(T::Array[::String]) } def generate_rbi(indent_level, options); end sig { override.params(others: T::Array[::Parlour::RbiGenerator::RbiObject]).void } def merge_into_self(others); end sig { override.params(others: T::Array[::Parlour::RbiGenerator::RbiObject]).returns(T::Boolean) } def mergeable?(others); end sig { returns(T.any(::Parlour::Types::Type, ::String)) } def value; end end class Parlour::RbiGenerator::EnumClassNamespace < ::Parlour::RbiGenerator::ClassNamespace extend T::Generic Child = type_member { { fixed: Parlour::RbiGenerator::RbiObject } } sig do params( generator: ::Parlour::Generator, name: ::String, final: T::Boolean, sealed: T::Boolean, enums: T::Array[T.any(::String, [::String, ::String])], abstract: T::Boolean, block: T.nilable(T.proc.params(x: Parlour::RbiGenerator::EnumClassNamespace).void) ).void end def initialize(generator, name, final, sealed, enums, abstract, &block); end sig { override.returns(T::Array[T.any(::Symbol, T::Hash[::Symbol, ::String])]) } def describe_attrs; end sig { returns(T::Array[T.any(::String, [::String, ::String])]) } def enums; end sig { override.void } def generalize_from_rbi!; end sig { override.params(indent_level: ::Integer, options: ::Parlour::Options).returns(T::Array[::String]) } def generate_body(indent_level, options); end sig { override.params(others: T::Array[::Parlour::RbiGenerator::RbiObject]).void } def merge_into_self(others); end sig { override.params(others: T::Array[::Parlour::RbiGenerator::RbiObject]).returns(T::Boolean) } def mergeable?(others); end end class Parlour::RbiGenerator::Extend < ::Parlour::RbiGenerator::RbiObject sig do params( generator: ::Parlour::Generator, name: ::String, block: T.nilable(T.proc.params(x: ::Parlour::RbiGenerator::Extend).void) ).void end def initialize(generator, name: T.unsafe(nil), &block); end sig { params(other: ::Object).returns(T::Boolean) } def ==(other); end sig { override.returns(T::Array[T.any(::Symbol, T::Hash[::Symbol, ::String])]) } def describe_attrs; end sig { override.void } def generalize_from_rbi!; end sig { override.params(indent_level: ::Integer, options: ::Parlour::Options).returns(T::Array[::String]) } def generate_rbi(indent_level, options); end sig { override.params(others: T::Array[::Parlour::RbiGenerator::RbiObject]).void } def merge_into_self(others); end sig { override.params(others: T::Array[::Parlour::RbiGenerator::RbiObject]).returns(T::Boolean) } def mergeable?(others); end end class Parlour::RbiGenerator::Include < ::Parlour::RbiGenerator::RbiObject sig do params( generator: ::Parlour::Generator, name: ::String, block: T.nilable(T.proc.params(x: ::Parlour::RbiGenerator::Include).void) ).void end def initialize(generator, name: T.unsafe(nil), &block); end sig { params(other: ::Object).returns(T::Boolean) } def ==(other); end sig { override.returns(T::Array[T.any(::Symbol, T::Hash[::Symbol, ::String])]) } def describe_attrs; end sig { override.void } def generalize_from_rbi!; end sig { override.params(indent_level: ::Integer, options: ::Parlour::Options).returns(T::Array[::String]) } def generate_rbi(indent_level, options); end sig { override.params(others: T::Array[::Parlour::RbiGenerator::RbiObject]).void } def merge_into_self(others); end sig { override.params(others: T::Array[::Parlour::RbiGenerator::RbiObject]).returns(T::Boolean) } def mergeable?(others); end end class Parlour::RbiGenerator::Method < ::Parlour::RbiGenerator::RbiObject sig do params( generator: ::Parlour::Generator, name: ::String, parameters: T::Array[::Parlour::RbiGenerator::Parameter], return_type: T.nilable(T.any(::Parlour::Types::Type, ::String)), abstract: T::Boolean, implementation: T::Boolean, override: T::Boolean, overridable: T::Boolean, class_method: T::Boolean, final: T::Boolean, type_parameters: T.nilable(T::Array[::Symbol]), block: T.nilable(T.proc.params(x: ::Parlour::RbiGenerator::Method).void) ).void end def initialize(generator, name, parameters, return_type = T.unsafe(nil), abstract: T.unsafe(nil), implementation: T.unsafe(nil), override: T.unsafe(nil), overridable: T.unsafe(nil), class_method: T.unsafe(nil), final: T.unsafe(nil), type_parameters: T.unsafe(nil), &block); end sig { overridable.params(other: ::Object).returns(T::Boolean) } def ==(other); end sig { returns(T::Boolean) } def abstract; end sig { returns(T::Boolean) } def class_method; end sig { override.returns(T::Array[T.any(::Symbol, T::Hash[::Symbol, ::String])]) } def describe_attrs; end sig { returns(T::Boolean) } def final; end sig { override.void } def generalize_from_rbi!; end sig { override.params(indent_level: ::Integer, options: ::Parlour::Options).returns(T::Array[::String]) } def generate_rbi(indent_level, options); end sig { returns(T::Boolean) } def implementation; end sig { override.params(others: T::Array[::Parlour::RbiGenerator::RbiObject]).void } def merge_into_self(others); end sig { override.params(others: T::Array[::Parlour::RbiGenerator::RbiObject]).returns(T::Boolean) } def mergeable?(others); end sig { returns(T::Boolean) } def overridable; end sig { returns(T::Boolean) } def override; end sig { returns(T::Array[::Parlour::RbiGenerator::Parameter]) } def parameters; end sig { returns(T.nilable(T.any(::Parlour::Types::Type, ::String))) } def return_type; end sig { returns(T::Array[::Symbol]) } def type_parameters; end private sig { overridable.params(indent_level: ::Integer, options: ::Parlour::Options).returns(T::Array[::String]) } def generate_definition(indent_level, options); end sig { returns(::String) } def qualifiers; end end class Parlour::RbiGenerator::ModuleNamespace < ::Parlour::RbiGenerator::Namespace extend T::Generic Child = type_member { { fixed: Parlour::RbiGenerator::RbiObject } } sig do params( generator: ::Parlour::Generator, name: ::String, final: T::Boolean, sealed: T::Boolean, interface: T::Boolean, abstract: T::Boolean, block: T.nilable(T.proc.params(x: Parlour::RbiGenerator::ClassNamespace).void) ).void end def initialize(generator, name, final, sealed, interface, abstract, &block); end sig { returns(T::Boolean) } def abstract; end sig { override.returns(T::Array[T.any(::Symbol, T::Hash[::Symbol, ::String])]) } def describe_attrs; end sig { override.void } def generalize_from_rbi!; end sig { override.params(indent_level: ::Integer, options: ::Parlour::Options).returns(T::Array[::String]) } def generate_rbi(indent_level, options); end sig { returns(T::Boolean) } def interface; end sig { override.params(others: T::Array[::Parlour::RbiGenerator::RbiObject]).void } def merge_into_self(others); end sig { override.params(others: T::Array[::Parlour::RbiGenerator::RbiObject]).returns(T::Boolean) } def mergeable?(others); end end class Parlour::RbiGenerator::Namespace < ::Parlour::RbiGenerator::RbiObject extend T::Generic include ::Parlour::Mixin::Searchable Child = type_member { { fixed: Parlour::RbiGenerator::RbiObject } } sig do params( generator: ::Parlour::Generator, name: T.nilable(::String), final: T::Boolean, sealed: T::Boolean, block: T.nilable(T.proc.params(x: Parlour::RbiGenerator::Namespace).void) ).void end def initialize(generator, name = T.unsafe(nil), final = T.unsafe(nil), sealed = T.unsafe(nil), &block); end sig { params(comment: T.any(::String, T::Array[::String])).void } def add_comment_to_next_child(comment); end sig { returns(T::Array[::Parlour::RbiGenerator::TypeAlias]) } def aliases; end sig { override.returns(T::Array[::Parlour::RbiGenerator::RbiObject]) } def children; end sig { returns(T::Array[::Parlour::RbiGenerator::Constant]) } def constants; end def create_arbitrary(code:, &block); end def create_attr(*args, &blk); end sig do params( name: ::String, type: T.any(::Parlour::Types::Type, ::String), class_attribute: T::Boolean, block: T.nilable(T.proc.params(x: ::Parlour::RbiGenerator::Attribute).void) ).returns(::Parlour::RbiGenerator::Attribute) end def create_attr_accessor(name, type:, class_attribute: T.unsafe(nil), &block); end sig do params( name: ::String, type: T.any(::Parlour::Types::Type, ::String), class_attribute: T::Boolean, block: T.nilable(T.proc.params(x: ::Parlour::RbiGenerator::Attribute).void) ).returns(::Parlour::RbiGenerator::Attribute) end def create_attr_reader(name, type:, class_attribute: T.unsafe(nil), &block); end sig do params( name: ::String, type: T.any(::Parlour::Types::Type, ::String), class_attribute: T::Boolean, block: T.nilable(T.proc.params(x: ::Parlour::RbiGenerator::Attribute).void) ).returns(::Parlour::RbiGenerator::Attribute) end def create_attr_writer(name, type:, class_attribute: T.unsafe(nil), &block); end sig do params( name: ::String, kind: ::Symbol, type: T.any(::Parlour::Types::Type, ::String), class_attribute: T::Boolean, block: T.nilable(T.proc.params(x: ::Parlour::RbiGenerator::Attribute).void) ).returns(::Parlour::RbiGenerator::Attribute) end def create_attribute(name, kind:, type:, class_attribute: T.unsafe(nil), &block); end sig do params( name: ::String, final: T::Boolean, sealed: T::Boolean, superclass: T.nilable(::String), abstract: T::Boolean, block: T.nilable(T.proc.params(x: Parlour::RbiGenerator::ClassNamespace).void) ).returns(Parlour::RbiGenerator::ClassNamespace) end def create_class(name, final: T.unsafe(nil), sealed: T.unsafe(nil), superclass: T.unsafe(nil), abstract: T.unsafe(nil), &block); end sig do params( name: ::String, value: ::String, eigen_constant: T::Boolean, block: T.nilable(T.proc.params(x: ::Parlour::RbiGenerator::Constant).void) ).returns(::Parlour::RbiGenerator::Constant) end def create_constant(name, value:, eigen_constant: T.unsafe(nil), &block); end sig do params( name: ::String, final: T::Boolean, sealed: T::Boolean, enums: T.nilable(T::Array[T.any(::String, [::String, ::String])]), abstract: T::Boolean, block: T.nilable(T.proc.params(x: Parlour::RbiGenerator::EnumClassNamespace).void) ).returns(Parlour::RbiGenerator::EnumClassNamespace) end def create_enum_class(name, final: T.unsafe(nil), sealed: T.unsafe(nil), enums: T.unsafe(nil), abstract: T.unsafe(nil), &block); end sig do params( name: ::String, block: T.nilable(T.proc.params(x: ::Parlour::RbiGenerator::Extend).void) ).returns(::Parlour::RbiGenerator::Extend) end def create_extend(name, &block); end sig { params(extendables: T::Array[::String]).returns(T::Array[::Parlour::RbiGenerator::Extend]) } def create_extends(extendables); end sig do params( name: ::String, block: T.nilable(T.proc.params(x: ::Parlour::RbiGenerator::Include).void) ).returns(::Parlour::RbiGenerator::Include) end def create_include(name, &block); end sig { params(includables: T::Array[::String]).returns(T::Array[::Parlour::RbiGenerator::Include]) } def create_includes(includables); end sig do params( name: ::String, parameters: T.nilable(T::Array[::Parlour::RbiGenerator::Parameter]), return_type: T.nilable(T.any(::Parlour::Types::Type, ::String)), returns: T.nilable(T.any(::Parlour::Types::Type, ::String)), abstract: T::Boolean, implementation: T::Boolean, override: T::Boolean, overridable: T::Boolean, class_method: T::Boolean, final: T::Boolean, type_parameters: T.nilable(T::Array[::Symbol]), block: T.nilable(T.proc.params(x: ::Parlour::RbiGenerator::Method).void) ).returns(::Parlour::RbiGenerator::Method) end def create_method(name, parameters: T.unsafe(nil), return_type: T.unsafe(nil), returns: T.unsafe(nil), abstract: T.unsafe(nil), implementation: T.unsafe(nil), override: T.unsafe(nil), overridable: T.unsafe(nil), class_method: T.unsafe(nil), final: T.unsafe(nil), type_parameters: T.unsafe(nil), &block); end sig do params( name: ::String, final: T::Boolean, sealed: T::Boolean, interface: T::Boolean, abstract: T::Boolean, block: T.nilable(T.proc.params(x: Parlour::RbiGenerator::ClassNamespace).void) ).returns(Parlour::RbiGenerator::ModuleNamespace) end def create_module(name, final: T.unsafe(nil), sealed: T.unsafe(nil), interface: T.unsafe(nil), abstract: T.unsafe(nil), &block); end sig do params( name: ::String, final: T::Boolean, sealed: T::Boolean, props: T.nilable(T::Array[::Parlour::RbiGenerator::StructProp]), abstract: T::Boolean, block: T.nilable(T.proc.params(x: Parlour::RbiGenerator::StructClassNamespace).void) ).returns(Parlour::RbiGenerator::StructClassNamespace) end def create_struct_class(name, final: T.unsafe(nil), sealed: T.unsafe(nil), props: T.unsafe(nil), abstract: T.unsafe(nil), &block); end sig do params( name: ::String, type: T.any(::Parlour::Types::Type, ::String), block: T.nilable(T.proc.params(x: ::Parlour::RbiGenerator::TypeAlias).void) ).returns(::Parlour::RbiGenerator::TypeAlias) end def create_type_alias(name, type:, &block); end sig { override.returns(T::Array[T.any(::Symbol, T::Hash[::Symbol, ::String])]) } def describe_attrs; end sig { returns(T::Array[::Parlour::RbiGenerator::Extend]) } def extends; end sig { returns(T::Boolean) } def final; end sig { override.void } def generalize_from_rbi!; end sig { override.overridable.params(indent_level: ::Integer, options: ::Parlour::Options).returns(T::Array[::String]) } def generate_rbi(indent_level, options); end sig { returns(T::Array[::Parlour::RbiGenerator::Include]) } def includes; end sig { override.overridable.params(others: T::Array[::Parlour::RbiGenerator::RbiObject]).void } def merge_into_self(others); end sig { override.overridable.params(others: T::Array[::Parlour::RbiGenerator::RbiObject]).returns(T::Boolean) } def mergeable?(others); end sig { params(constant: ::Module, block: T.proc.params(x: Parlour::RbiGenerator::Namespace).void).void } def path(constant, &block); end sig { returns(T::Boolean) } def sealed; end def type_aliases(*args, &blk); end private sig { overridable.params(indent_level: ::Integer, options: ::Parlour::Options).returns(T::Array[::String]) } def generate_body(indent_level, options); end sig { params(object: ::Parlour::RbiGenerator::RbiObject).void } def move_next_comments(object); end end Parlour::RbiGenerator::Options = Parlour::Options class Parlour::RbiGenerator::Parameter sig do params( name: ::String, type: T.nilable(T.any(::Parlour::Types::Type, ::String)), default: T.nilable(::String) ).void end def initialize(name, type: T.unsafe(nil), default: T.unsafe(nil)); end sig { params(other: ::Object).returns(T::Boolean) } def ==(other); end sig { returns(T.nilable(::String)) } def default; end sig { returns(::String) } def describe_in_method; end sig { void } def generalize_from_rbi!; end sig { returns(::Symbol) } def kind; end sig { returns(::String) } def name; end sig { returns(::String) } def name_without_kind; end sig { returns(::String) } def to_def_param; end sig { returns(::String) } def to_sig_param; end sig { returns(T.any(::Parlour::Types::Type, ::String)) } def type; end end Parlour::RbiGenerator::Parameter::PREFIXES = T.let(T.unsafe(nil), Hash) class Parlour::RbiGenerator::RbiObject < ::Parlour::TypedObject abstract! sig { params(generator: ::Parlour::Generator, name: ::String).void } def initialize(generator, name); end sig { abstract.void } def generalize_from_rbi!; end sig { abstract.params(indent_level: ::Integer, options: ::Parlour::Options).returns(T::Array[::String]) } def generate_rbi(indent_level, options); end sig { returns(::Parlour::Generator) } def generator; end sig { abstract.params(others: T::Array[::Parlour::RbiGenerator::RbiObject]).void } def merge_into_self(others); end sig { abstract.params(others: T::Array[::Parlour::RbiGenerator::RbiObject]).returns(T::Boolean) } def mergeable?(others); end end class Parlour::RbiGenerator::StructClassNamespace < ::Parlour::RbiGenerator::ClassNamespace extend T::Generic Child = type_member { { fixed: Parlour::RbiGenerator::RbiObject } } sig do params( generator: ::Parlour::Generator, name: ::String, final: T::Boolean, sealed: T::Boolean, props: T::Array[::Parlour::RbiGenerator::StructProp], abstract: T::Boolean, block: T.nilable(T.proc.params(x: Parlour::RbiGenerator::StructClassNamespace).void) ).void end def initialize(generator, name, final, sealed, props, abstract, &block); end sig { override.returns(T::Array[T.any(::Symbol, T::Hash[::Symbol, ::String])]) } def describe_attrs; end sig { override.void } def generalize_from_rbi!; end sig { override.params(indent_level: ::Integer, options: ::Parlour::Options).returns(T::Array[::String]) } def generate_body(indent_level, options); end sig { override.params(others: T::Array[::Parlour::RbiGenerator::RbiObject]).void } def merge_into_self(others); end sig { override.params(others: T::Array[::Parlour::RbiGenerator::RbiObject]).returns(T::Boolean) } def mergeable?(others); end sig { returns(T::Array[::Parlour::RbiGenerator::StructProp]) } def props; end end class Parlour::RbiGenerator::StructProp sig do params( name: ::String, type: T.any(::Parlour::Types::Type, ::String), optional: T.nilable(T.any(::Symbol, T::Boolean)), enum: T.nilable(::String), dont_store: T.nilable(T::Boolean), foreign: T.nilable(::String), default: T.nilable(::String), factory: T.nilable(::String), immutable: T.nilable(T::Boolean), array: T.nilable(::String), override: T.nilable(T::Boolean), redaction: T.nilable(::String) ).void end def initialize(name, type, optional: T.unsafe(nil), enum: T.unsafe(nil), dont_store: T.unsafe(nil), foreign: T.unsafe(nil), default: T.unsafe(nil), factory: T.unsafe(nil), immutable: T.unsafe(nil), array: T.unsafe(nil), override: T.unsafe(nil), redaction: T.unsafe(nil)); end sig { params(other: ::Object).returns(T::Boolean) } def ==(other); end sig { returns(T.nilable(::String)) } def array; end sig { returns(T.nilable(::String)) } def default; end sig { returns(T.nilable(T::Boolean)) } def dont_store; end sig { returns(T.nilable(::String)) } def enum; end sig { returns(T.nilable(::String)) } def factory; end sig { returns(T.nilable(::String)) } def foreign; end sig { void } def generalize_from_rbi!; end sig { returns(T.nilable(T::Boolean)) } def immutable; end sig { returns(::String) } def name; end sig { returns(T.nilable(T.any(::Symbol, T::Boolean))) } def optional; end sig { returns(T.nilable(T::Boolean)) } def override; end sig { returns(T.nilable(::String)) } def redaction; end sig { returns(::String) } def to_prop_call; end sig { returns(T.any(::Parlour::Types::Type, ::String)) } def type; end end Parlour::RbiGenerator::StructProp::EXTRA_PROPERTIES = T.let(T.unsafe(nil), Array) class Parlour::RbiGenerator::TypeAlias < ::Parlour::RbiGenerator::RbiObject sig do params( generator: ::Parlour::Generator, name: ::String, type: T.any(::Parlour::Types::Type, ::String), block: T.nilable(T.proc.params(x: ::Parlour::RbiGenerator::TypeAlias).void) ).void end def initialize(generator, name:, type:, &block); end sig { params(other: ::Object).returns(T::Boolean) } def ==(other); end sig { override.returns(T::Array[T.any(::Symbol, T::Hash[::Symbol, ::String])]) } def describe_attrs; end sig { override.void } def generalize_from_rbi!; end sig { override.params(indent_level: ::Integer, options: ::Parlour::Options).returns(T::Array[::String]) } def generate_rbi(indent_level, options); end sig { override.params(others: T::Array[::Parlour::RbiGenerator::RbiObject]).void } def merge_into_self(others); end sig { override.params(others: T::Array[::Parlour::RbiGenerator::RbiObject]).returns(T::Boolean) } def mergeable?(others); end sig { returns(T.any(::Parlour::Types::Type, ::String)) } def type; end end class Parlour::RbsGenerator < ::Parlour::Generator def initialize(**hash); end sig { overridable.returns(::String) } def rbs; end sig { overridable.returns(Parlour::RbsGenerator::Namespace) } def root; end end class Parlour::RbsGenerator::Arbitrary < ::Parlour::RbsGenerator::RbsObject sig do params( generator: ::Parlour::Generator, code: ::String, block: T.nilable(T.proc.params(x: ::Parlour::RbsGenerator::Arbitrary).void) ).void end def initialize(generator, code: T.unsafe(nil), &block); end sig { params(other: ::Object).returns(T::Boolean) } def ==(other); end sig { returns(::String) } def code; end def code=(_arg0); end sig { override.returns(T::Array[T.any(::Symbol, T::Hash[::Symbol, ::String])]) } def describe_attrs; end sig { override.params(indent_level: ::Integer, options: ::Parlour::Options).returns(T::Array[::String]) } def generate_rbs(indent_level, options); end sig { override.params(others: T::Array[::Parlour::RbsGenerator::RbsObject]).void } def merge_into_self(others); end sig { override.params(others: T::Array[::Parlour::RbsGenerator::RbsObject]).returns(T::Boolean) } def mergeable?(others); end end class Parlour::RbsGenerator::Attribute < ::Parlour::RbsGenerator::Method sig do params( generator: ::Parlour::Generator, name: ::String, kind: ::Symbol, type: T.any(::Parlour::Types::Type, ::String), block: T.nilable(T.proc.params(x: ::Parlour::RbsGenerator::Attribute).void) ).void end def initialize(generator, name, kind, type, &block); end sig { override.params(other: ::Object).returns(T::Boolean) } def ==(other); end sig { override.returns(T::Array[T.any(::Symbol, T::Hash[::Symbol, ::String])]) } def describe_attrs; end sig { override.params(indent_level: ::Integer, options: ::Parlour::Options).returns(T::Array[::String]) } def generate_rbs(indent_level, options); end sig { returns(::Symbol) } def kind; end sig { returns(T.any(::Parlour::Types::Type, ::String)) } def type; end end class Parlour::RbsGenerator::Block sig { params(type: ::Parlour::Types::Proc, required: T::Boolean).void } def initialize(type, required); end sig { overridable.params(other: ::Object).returns(T::Boolean) } def ==(other); end sig { params(options: ::Parlour::Options).returns(T::Array[::String]) } def generate_rbs(options); end sig { returns(T::Boolean) } def required; end sig { returns(::Parlour::Types::Proc) } def type; end end class Parlour::RbsGenerator::ClassNamespace < ::Parlour::RbsGenerator::Namespace extend T::Generic Child = type_member { { fixed: Parlour::RbsGenerator::RbsObject } } sig do params( generator: ::Parlour::Generator, name: ::String, superclass: T.nilable(T.any(::Parlour::Types::Type, ::String)), block: T.nilable(T.proc.params(x: Parlour::RbsGenerator::ClassNamespace).void) ).void end def initialize(generator, name, superclass, &block); end sig { override.returns(T::Array[T.any(::Symbol, T::Hash[::Symbol, ::String])]) } def describe_attrs; end sig { override.params(indent_level: ::Integer, options: ::Parlour::Options).returns(T::Array[::String]) } def generate_rbs(indent_level, options); end sig { override.params(others: T::Array[::Parlour::RbsGenerator::RbsObject]).void } def merge_into_self(others); end sig { override.params(others: T::Array[::Parlour::RbsGenerator::RbsObject]).returns(T::Boolean) } def mergeable?(others); end sig { returns(T.nilable(T.any(::Parlour::Types::Type, ::String))) } def superclass; end end class Parlour::RbsGenerator::Constant < ::Parlour::RbsGenerator::RbsObject sig do params( generator: ::Parlour::Generator, name: ::String, type: T.any(::Parlour::Types::Type, ::String), block: T.nilable(T.proc.params(x: ::Parlour::RbsGenerator::Constant).void) ).void end def initialize(generator, name, type:, &block); end sig { params(other: ::Object).returns(T::Boolean) } def ==(other); end sig { override.returns(T::Array[T.any(::Symbol, T::Hash[::Symbol, ::String])]) } def describe_attrs; end sig { override.params(indent_level: ::Integer, options: ::Parlour::Options).returns(T::Array[::String]) } def generate_rbs(indent_level, options); end sig { override.params(others: T::Array[::Parlour::RbsGenerator::RbsObject]).void } def merge_into_self(others); end sig { override.params(others: T::Array[::Parlour::RbsGenerator::RbsObject]).returns(T::Boolean) } def mergeable?(others); end sig { returns(T.any(::Parlour::Types::Type, ::String)) } def type; end end class Parlour::RbsGenerator::Extend < ::Parlour::RbsGenerator::RbsObject sig do params( generator: ::Parlour::Generator, type: T.any(::Parlour::Types::Type, ::String), block: T.nilable(T.proc.params(x: ::Parlour::RbsGenerator::Extend).void) ).void end def initialize(generator, type:, &block); end sig { params(other: ::Object).returns(T::Boolean) } def ==(other); end sig { override.returns(T::Array[T.any(::Symbol, T::Hash[::Symbol, ::String])]) } def describe_attrs; end sig { override.params(indent_level: ::Integer, options: ::Parlour::Options).returns(T::Array[::String]) } def generate_rbs(indent_level, options); end sig { override.params(others: T::Array[::Parlour::RbsGenerator::RbsObject]).void } def merge_into_self(others); end sig { override.params(others: T::Array[::Parlour::RbsGenerator::RbsObject]).returns(T::Boolean) } def mergeable?(others); end sig { returns(T.any(::Parlour::Types::Type, ::String)) } def type; end end class Parlour::RbsGenerator::Include < ::Parlour::RbsGenerator::RbsObject sig do params( generator: ::Parlour::Generator, type: T.any(::Parlour::Types::Type, ::String), block: T.nilable(T.proc.params(x: ::Parlour::RbsGenerator::Include).void) ).void end def initialize(generator, type:, &block); end sig { params(other: ::Object).returns(T::Boolean) } def ==(other); end sig { override.returns(T::Array[T.any(::Symbol, T::Hash[::Symbol, ::String])]) } def describe_attrs; end sig { override.params(indent_level: ::Integer, options: ::Parlour::Options).returns(T::Array[::String]) } def generate_rbs(indent_level, options); end sig { override.params(others: T::Array[::Parlour::RbsGenerator::RbsObject]).void } def merge_into_self(others); end sig { override.params(others: T::Array[::Parlour::RbsGenerator::RbsObject]).returns(T::Boolean) } def mergeable?(others); end sig { returns(T.any(::Parlour::Types::Type, ::String)) } def type; end end class Parlour::RbsGenerator::InterfaceNamespace < ::Parlour::RbsGenerator::Namespace extend T::Generic Child = type_member { { fixed: Parlour::RbsGenerator::RbsObject } } sig { override.returns(T::Array[T.any(::Symbol, T::Hash[::Symbol, ::String])]) } def describe_attrs; end sig { override.params(indent_level: ::Integer, options: ::Parlour::Options).returns(T::Array[::String]) } def generate_rbs(indent_level, options); end end class Parlour::RbsGenerator::Method < ::Parlour::RbsGenerator::RbsObject sig do params( generator: ::Parlour::Generator, name: ::String, signatures: T::Array[::Parlour::RbsGenerator::MethodSignature], class_method: T::Boolean, block: T.nilable(T.proc.params(x: ::Parlour::RbsGenerator::Method).void) ).void end def initialize(generator, name, signatures, class_method: T.unsafe(nil), &block); end sig { overridable.params(other: ::Object).returns(T::Boolean) } def ==(other); end sig { returns(T::Boolean) } def class_method; end sig { override.returns(T::Array[T.any(::Symbol, T::Hash[::Symbol, ::String])]) } def describe_attrs; end sig { override.params(indent_level: ::Integer, options: ::Parlour::Options).returns(T::Array[::String]) } def generate_rbs(indent_level, options); end sig { override.params(others: T::Array[::Parlour::RbsGenerator::RbsObject]).void } def merge_into_self(others); end sig { override.params(others: T::Array[::Parlour::RbsGenerator::RbsObject]).returns(T::Boolean) } def mergeable?(others); end sig { returns(T::Array[::Parlour::RbsGenerator::MethodSignature]) } def signatures; end end class Parlour::RbsGenerator::MethodSignature sig do params( parameters: T::Array[::Parlour::RbsGenerator::Parameter], return_type: T.nilable(T.any(::Parlour::Types::Type, ::String)), block: T.nilable(::Parlour::RbsGenerator::Block), type_parameters: T.nilable(T::Array[::Symbol]) ).void end def initialize(parameters, return_type = T.unsafe(nil), block: T.unsafe(nil), type_parameters: T.unsafe(nil)); end sig { overridable.params(other: ::Object).returns(T::Boolean) } def ==(other); end sig { returns(T.nilable(::Parlour::RbsGenerator::Block)) } def block; end sig { returns(::String) } def describe_in_method; end sig { params(options: ::Parlour::Options).returns(T::Array[::String]) } def generate_rbs(options); end sig { returns(T::Array[::Parlour::RbsGenerator::Parameter]) } def parameters; end sig { returns(T.nilable(T.any(::Parlour::Types::Type, ::String))) } def return_type; end sig { returns(T::Array[::Symbol]) } def type_parameters; end end class Parlour::RbsGenerator::ModuleNamespace < ::Parlour::RbsGenerator::Namespace extend T::Generic Child = type_member { { fixed: Parlour::RbsGenerator::RbsObject } } sig { override.returns(T::Array[T.any(::Symbol, T::Hash[::Symbol, ::String])]) } def describe_attrs; end sig { override.params(indent_level: ::Integer, options: ::Parlour::Options).returns(T::Array[::String]) } def generate_rbs(indent_level, options); end end class Parlour::RbsGenerator::Namespace < ::Parlour::RbsGenerator::RbsObject extend T::Generic include ::Parlour::Mixin::Searchable Child = type_member { { fixed: Parlour::RbsGenerator::RbsObject } } sig do params( generator: ::Parlour::Generator, name: T.nilable(::String), block: T.nilable(T.proc.params(x: Parlour::RbsGenerator::Namespace).void) ).void end def initialize(generator, name = T.unsafe(nil), &block); end sig { params(comment: T.any(::String, T::Array[::String])).void } def add_comment_to_next_child(comment); end sig { returns(T::Array[::Parlour::RbsGenerator::TypeAlias]) } def aliases; end sig { override.returns(T::Array[::Parlour::RbsGenerator::RbsObject]) } def children; end sig { returns(T::Array[::Parlour::RbsGenerator::Constant]) } def constants; end def create_arbitrary(code:, &block); end def create_attr(*args, &blk); end sig do params( name: ::String, type: T.any(::Parlour::Types::Type, ::String), block: T.nilable(T.proc.params(x: ::Parlour::RbsGenerator::Attribute).void) ).returns(::Parlour::RbsGenerator::Attribute) end def create_attr_accessor(name, type:, &block); end sig do params( name: ::String, type: T.any(::Parlour::Types::Type, ::String), block: T.nilable(T.proc.params(x: ::Parlour::RbsGenerator::Attribute).void) ).returns(::Parlour::RbsGenerator::Attribute) end def create_attr_reader(name, type:, &block); end sig do params( name: ::String, type: T.any(::Parlour::Types::Type, ::String), block: T.nilable(T.proc.params(x: ::Parlour::RbsGenerator::Attribute).void) ).returns(::Parlour::RbsGenerator::Attribute) end def create_attr_writer(name, type:, &block); end sig do params( name: ::String, kind: ::Symbol, type: T.any(::Parlour::Types::Type, ::String), block: T.nilable(T.proc.params(x: ::Parlour::RbsGenerator::Attribute).void) ).returns(::Parlour::RbsGenerator::Attribute) end def create_attribute(name, kind:, type:, &block); end sig do params( name: ::String, superclass: T.nilable(T.any(::Parlour::Types::Type, ::String)), block: T.nilable(T.proc.params(x: Parlour::RbsGenerator::ClassNamespace).void) ).returns(Parlour::RbsGenerator::ClassNamespace) end def create_class(name, superclass: T.unsafe(nil), &block); end sig do params( name: ::String, type: T.any(::Parlour::Types::Type, ::String), block: T.nilable(T.proc.params(x: ::Parlour::RbsGenerator::Constant).void) ).returns(::Parlour::RbsGenerator::Constant) end def create_constant(name, type:, &block); end sig do params( type: T.any(::Parlour::Types::Type, ::String), block: T.nilable(T.proc.params(x: ::Parlour::RbsGenerator::Extend).void) ).returns(::Parlour::RbsGenerator::Extend) end def create_extend(type, &block); end sig do params( extendables: T::Array[T.any(::Parlour::Types::Type, ::String)] ).returns(T::Array[::Parlour::RbsGenerator::Extend]) end def create_extends(extendables); end sig do params( type: T.any(::Parlour::Types::Type, ::String), block: T.nilable(T.proc.params(x: ::Parlour::RbsGenerator::Include).void) ).returns(::Parlour::RbsGenerator::Include) end def create_include(type, &block); end sig do params( includables: T::Array[T.any(::Parlour::Types::Type, ::String)] ).returns(T::Array[::Parlour::RbsGenerator::Include]) end def create_includes(includables); end sig do params( name: ::String, block: T.nilable(T.proc.params(x: Parlour::RbsGenerator::Namespace).void) ).returns(Parlour::RbsGenerator::InterfaceNamespace) end def create_interface(name, &block); end sig do params( name: ::String, signatures: T.nilable(T::Array[::Parlour::RbsGenerator::MethodSignature]), class_method: T::Boolean, block: T.nilable(T.proc.params(x: ::Parlour::RbsGenerator::Method).void) ).returns(::Parlour::RbsGenerator::Method) end def create_method(name, signatures = T.unsafe(nil), class_method: T.unsafe(nil), &block); end sig do params( name: ::String, block: T.nilable(T.proc.params(x: Parlour::RbsGenerator::Namespace).void) ).returns(Parlour::RbsGenerator::ModuleNamespace) end def create_module(name, &block); end sig do params( name: ::String, type: T.any(::Parlour::Types::Type, ::String), block: T.nilable(T.proc.params(x: ::Parlour::RbsGenerator::TypeAlias).void) ).returns(::Parlour::RbsGenerator::TypeAlias) end def create_type_alias(name, type:, &block); end sig { override.returns(T::Array[T.any(::Symbol, T::Hash[::Symbol, ::String])]) } def describe_attrs; end sig { returns(T::Array[::Parlour::RbsGenerator::Extend]) } def extends; end sig { override.overridable.params(indent_level: ::Integer, options: ::Parlour::Options).returns(T::Array[::String]) } def generate_rbs(indent_level, options); end sig { returns(T::Array[::Parlour::RbsGenerator::Include]) } def includes; end sig { override.overridable.params(others: T::Array[::Parlour::RbsGenerator::RbsObject]).void } def merge_into_self(others); end sig { override.overridable.params(others: T::Array[::Parlour::RbsGenerator::RbsObject]).returns(T::Boolean) } def mergeable?(others); end sig { params(object: T.untyped, block: T.proc.params(x: Parlour::RbsGenerator::Namespace).void).void } def path(object, &block); end def type_aliases(*args, &blk); end private sig { overridable.params(indent_level: ::Integer, options: ::Parlour::Options).returns(T::Array[::String]) } def generate_body(indent_level, options); end sig { params(object: ::Parlour::RbsGenerator::RbsObject).void } def move_next_comments(object); end end class Parlour::RbsGenerator::Parameter sig { params(name: ::String, type: T.nilable(T.any(::Parlour::Types::Type, ::String)), required: T::Boolean).void } def initialize(name, type: T.unsafe(nil), required: T.unsafe(nil)); end sig { params(other: ::Object).returns(T::Boolean) } def ==(other); end sig { returns(::Symbol) } def kind; end sig { returns(::String) } def name; end sig { returns(::String) } def name_without_kind; end sig { returns(T::Boolean) } def required; end sig { returns(::String) } def to_rbs_param; end sig { returns(T.any(::Parlour::Types::Type, ::String)) } def type; end end Parlour::RbsGenerator::Parameter::PREFIXES = T.let(T.unsafe(nil), Hash) Parlour::RbsGenerator::Parameter::RBS_KEYWORDS = T.let(T.unsafe(nil), Array) class Parlour::RbsGenerator::RbsObject < ::Parlour::TypedObject abstract! sig { params(generator: ::Parlour::Generator, name: ::String).void } def initialize(generator, name); end sig { abstract.params(indent_level: ::Integer, options: ::Parlour::Options).returns(T::Array[::String]) } def generate_rbs(indent_level, options); end sig { returns(::Parlour::Generator) } def generator; end sig { abstract.params(others: T::Array[::Parlour::RbsGenerator::RbsObject]).void } def merge_into_self(others); end sig { abstract.params(others: T::Array[::Parlour::RbsGenerator::RbsObject]).returns(T::Boolean) } def mergeable?(others); end end class Parlour::RbsGenerator::TypeAlias < ::Parlour::RbsGenerator::RbsObject sig do params( generator: ::Parlour::Generator, name: ::String, type: T.any(::Parlour::Types::Type, ::String), block: T.nilable(T.proc.params(x: ::Parlour::RbsGenerator::TypeAlias).void) ).void end def initialize(generator, name:, type:, &block); end sig { params(other: ::Object).returns(T::Boolean) } def ==(other); end sig { override.returns(T::Array[T.any(::Symbol, T::Hash[::Symbol, ::String])]) } def describe_attrs; end sig { override.params(indent_level: ::Integer, options: ::Parlour::Options).returns(T::Array[::String]) } def generate_rbs(indent_level, options); end sig { override.params(others: T::Array[::Parlour::RbsGenerator::RbsObject]).void } def merge_into_self(others); end sig { override.params(others: T::Array[::Parlour::RbsGenerator::RbsObject]).returns(T::Boolean) } def mergeable?(others); end sig { returns(T.any(::Parlour::Types::Type, ::String)) } def type; end end module Parlour::TypeLoader class << self sig do params( filename: ::String, generator: T.nilable(::Parlour::RbiGenerator) ).returns(Parlour::RbiGenerator::Namespace) end def load_file(filename, generator: T.unsafe(nil)); end sig do params( root: ::String, inclusions: T::Array[::String], exclusions: T::Array[::String], generator: T.nilable(::Parlour::RbiGenerator) ).returns(Parlour::RbiGenerator::Namespace) end def load_project(root, inclusions: T.unsafe(nil), exclusions: T.unsafe(nil), generator: T.unsafe(nil)); end sig do params( source: ::String, filename: T.nilable(::String), generator: T.nilable(::Parlour::RbiGenerator) ).returns(Parlour::RbiGenerator::Namespace) end def load_source(source, filename = T.unsafe(nil), generator: T.unsafe(nil)); end end end class Parlour::TypeParser sig do params( ast: ::Parser::AST::Node, unknown_node_errors: T::Boolean, generator: T.nilable(::Parlour::RbiGenerator) ).void end def initialize(ast, unknown_node_errors: T.unsafe(nil), generator: T.unsafe(nil)); end sig { returns(::Parser::AST::Node) } def ast; end def ast=(_arg0); end sig { returns(::Parlour::RbiGenerator) } def generator; end def generator=(_arg0); end sig { returns(Parlour::RbiGenerator::Namespace) } def parse_all; end sig do params( path: ::Parlour::TypeParser::NodePath, is_within_eigenclass: T::Boolean ).returns(T::Array[::Parlour::RbiGenerator::Method]) end def parse_method_into_methods(path, is_within_eigenclass: T.unsafe(nil)); end sig { params(node: ::Parser::AST::Node).returns(::Parlour::Types::Type) } def parse_node_to_type(node); end sig do params( path: ::Parlour::TypeParser::NodePath, is_within_eigenclass: T::Boolean ).returns(T::Array[::Parlour::RbiGenerator::RbiObject]) end def parse_path_to_object(path, is_within_eigenclass: T.unsafe(nil)); end sig do params( path: ::Parlour::TypeParser::NodePath, is_within_eigenclass: T::Boolean ).returns(T::Array[::Parlour::RbiGenerator::Method]) end def parse_sig_into_methods(path, is_within_eigenclass: T.unsafe(nil)); end sig { params(path: ::Parlour::TypeParser::NodePath).returns(::Parlour::TypeParser::IntermediateSig) } def parse_sig_into_sig(path); end sig { returns(T::Boolean) } def unknown_node_errors; end protected sig { params(node: T.nilable(::Parser::AST::Node), modifier: ::Symbol).returns(T::Boolean) } def body_has_modifier?(node, modifier); end sig { params(node: ::Parser::AST::Node).returns([T::Array[::String], T::Array[::String]]) } def body_includes_and_extends(node); end sig { params(node: T.nilable(::Parser::AST::Node)).returns(T::Array[::Symbol]) } def constant_names(node); end sig { params(node: T.nilable(::Parser::AST::Node)).returns(T.nilable(::String)) } def node_to_s(node); end sig { params(desc: ::String, node: T.any(::Parlour::TypeParser::NodePath, ::Parser::AST::Node)).returns(T.noreturn) } def parse_err(desc, node); end sig { params(path: ::Parlour::TypeParser::NodePath).returns(T::Boolean) } def previous_sibling_sig_node?(path); end sig { params(node: ::Parser::AST::Node).returns(T::Boolean) } def sig_node?(node); end sig { params(msg: ::String, node: ::Parser::AST::Node).void } def warning(msg, node); end sig do type_parameters(:A, :B) .params( a: T::Array[T.type_parameter(:A)], fa: T.proc.params(item: T.type_parameter(:A)).returns(T.untyped), b: T::Array[T.type_parameter(:B)], fb: T.proc.params(item: T.type_parameter(:B)).returns(T.untyped) ).returns(T::Array[[T.type_parameter(:A), T.type_parameter(:B)]]) end def zip_by(a, fa, b, fb); end class << self sig do params( filename: ::String, source: ::String, generator: T.nilable(::Parlour::RbiGenerator) ).returns(::Parlour::TypeParser) end def from_source(filename, source, generator: T.unsafe(nil)); end sig { params(str: ::String).returns(::Parlour::Types::Type) } def parse_single_type(str); end end end class Parlour::TypeParser::IntermediateSig < ::T::Struct prop :abstract, T::Boolean prop :final, T::Boolean prop :overridable, T::Boolean prop :override, T::Boolean prop :params, T.nilable(T::Array[::Parser::AST::Node]) prop :return_type, T.nilable(::String) prop :type_parameters, T.nilable(T::Array[::Symbol]) class << self def inherited(s); end end end class Parlour::TypeParser::NodePath sig { params(indices: T::Array[::Integer]).void } def initialize(indices); end sig { params(index: ::Integer).returns(::Parlour::TypeParser::NodePath) } def child(index); end sig { returns(T::Array[::Integer]) } def indices; end sig { returns(::Parlour::TypeParser::NodePath) } def parent; end sig { params(offset: ::Integer).returns(::Parlour::TypeParser::NodePath) } def sibling(offset); end sig { params(start: ::Parser::AST::Node).returns(::Parser::AST::Node) } def traverse(start); end end class Parlour::TypedObject abstract! sig { params(name: ::String).void } def initialize(name); end sig { params(comment: T.any(::String, T::Array[::String])).void } def add_comment(comment); end def add_comments(*args, &blk); end sig { returns(T::Array[::String]) } def comments; end sig { returns(::String) } def describe; end sig { params(tree: T.nilable(::Parlour::Debugging::Tree)).returns(::String) } def describe_tree(tree: T.unsafe(nil)); end sig { returns(T.nilable(::Parlour::Plugin)) } def generated_by; end def inspect(*args, &blk); end sig { returns(::String) } def name; end def to_s(*args, &blk); end protected sig { abstract.returns(T::Array[T.any(::Symbol, T::Hash[::Symbol, ::String])]) } def describe_attrs; end sig { params(indent_level: ::Integer, options: ::Parlour::Options).returns(T::Array[::String]) } def generate_comments(indent_level, options); end end module Parlour::Types; end class Parlour::Types::Array < ::Parlour::Types::SingleElementCollection sig { params(other: ::Object).returns(T::Boolean) } def ==(other); end sig { override.returns(::String) } def collection_name; end end class Parlour::Types::Boolean < ::Parlour::Types::Type sig { params(other: ::Object).returns(T::Boolean) } def ==(other); end sig { override.returns(::String) } def describe; end sig { override.returns(::String) } def generate_rbi; end sig { override.returns(::String) } def generate_rbs; end end class Parlour::Types::Class < ::Parlour::Types::Type sig { params(type: T.any(::Parlour::Types::Type, ::String)).void } def initialize(type); end sig { params(other: ::Object).returns(T::Boolean) } def ==(other); end sig { override.returns(::String) } def describe; end sig { override.returns(::String) } def generate_rbi; end sig { override.returns(::String) } def generate_rbs; end sig { returns(::Parlour::Types::Type) } def type; end end class Parlour::Types::Enumerable < ::Parlour::Types::SingleElementCollection sig { params(other: ::Object).returns(T::Boolean) } def ==(other); end sig { override.returns(::String) } def collection_name; end end class Parlour::Types::Enumerator < ::Parlour::Types::SingleElementCollection sig { params(other: ::Object).returns(T::Boolean) } def ==(other); end sig { override.returns(::String) } def collection_name; end end class Parlour::Types::Generic < ::Parlour::Types::Type sig do params( type: T.any(::Parlour::Types::Type, ::String), type_params: T::Array[T.any(::Parlour::Types::Type, ::String)] ).void end def initialize(type, type_params); end sig { params(other: ::Object).returns(T::Boolean) } def ==(other); end sig { override.returns(::String) } def describe; end sig { override.returns(::String) } def generate_rbi; end sig { override.returns(::String) } def generate_rbs; end sig { returns(::Parlour::Types::Type) } def type; end sig { returns(T::Array[::Parlour::Types::Type]) } def type_params; end end class Parlour::Types::Hash < ::Parlour::Types::Type sig { params(key: T.any(::Parlour::Types::Type, ::String), value: T.any(::Parlour::Types::Type, ::String)).void } def initialize(key, value); end sig { params(other: ::Object).returns(T::Boolean) } def ==(other); end sig { override.returns(::String) } def describe; end sig { override.returns(::String) } def generate_rbi; end sig { override.returns(::String) } def generate_rbs; end sig { returns(::Parlour::Types::Type) } def key; end sig { returns(::Parlour::Types::Type) } def value; end end class Parlour::Types::Intersection < ::Parlour::Types::Type sig { params(types: T::Array[T.any(::Parlour::Types::Type, ::String)]).void } def initialize(types); end sig { params(other: ::Object).returns(T::Boolean) } def ==(other); end sig { override.returns(::String) } def describe; end sig { override.returns(::String) } def generate_rbi; end sig { override.returns(::String) } def generate_rbs; end sig { returns(T::Array[::Parlour::Types::Type]) } def types; end end class Parlour::Types::Nilable < ::Parlour::Types::Type sig { params(type: T.any(::Parlour::Types::Type, ::String)).void } def initialize(type); end sig { params(other: ::Object).returns(T::Boolean) } def ==(other); end sig { override.returns(::String) } def describe; end sig { override.returns(::String) } def generate_rbi; end sig { override.returns(::String) } def generate_rbs; end sig { returns(::Parlour::Types::Type) } def type; end end class Parlour::Types::Proc < ::Parlour::Types::Type sig do params( parameters: T::Array[::Parlour::Types::Proc::Parameter], return_type: T.nilable(T.any(::Parlour::Types::Type, ::String)) ).void end def initialize(parameters, return_type); end sig { params(other: ::Object).returns(T::Boolean) } def ==(other); end sig { override.returns(::String) } def describe; end sig { override.returns(::String) } def generate_rbi; end sig { override.returns(::String) } def generate_rbs; end sig { returns(T::Array[::Parlour::Types::Proc::Parameter]) } def parameters; end sig { returns(T.nilable(::Parlour::Types::Type)) } def return_type; end end class Parlour::Types::Proc::Parameter sig { params(name: ::String, type: T.any(::Parlour::Types::Type, ::String), default: T.nilable(::String)).void } def initialize(name, type, default = T.unsafe(nil)); end sig { params(other: ::Object).returns(T::Boolean) } def ==(other); end sig { returns(T.nilable(::String)) } def default; end sig { returns(::String) } def name; end sig { returns(::Parlour::Types::Type) } def type; end end class Parlour::Types::Range < ::Parlour::Types::SingleElementCollection sig { params(other: ::Object).returns(T::Boolean) } def ==(other); end sig { override.returns(::String) } def collection_name; end end class Parlour::Types::Raw < ::Parlour::Types::Type sig { params(str: ::String).void } def initialize(str); end sig { params(other: ::Object).returns(T::Boolean) } def ==(other); end sig { override.returns(::String) } def describe; end sig { override.returns(::String) } def generate_rbi; end sig { override.returns(::String) } def generate_rbs; end sig { returns(::String) } def str; end end class Parlour::Types::Record < ::Parlour::Types::Type sig { params(keys_to_types: T::Hash[::Symbol, T.any(::Parlour::Types::Type, ::String)]).void } def initialize(keys_to_types); end sig { params(other: ::Object).returns(T::Boolean) } def ==(other); end sig { override.returns(::String) } def describe; end sig { override.returns(::String) } def generate_rbi; end sig { override.returns(::String) } def generate_rbs; end sig { returns(T::Hash[::Symbol, ::Parlour::Types::Type]) } def keys_to_types; end end class Parlour::Types::Self < ::Parlour::Types::Type sig { params(other: ::Object).returns(T::Boolean) } def ==(other); end sig { override.returns(::String) } def describe; end sig { override.returns(::String) } def generate_rbi; end sig { override.returns(::String) } def generate_rbs; end end class Parlour::Types::Set < ::Parlour::Types::SingleElementCollection sig { params(other: ::Object).returns(T::Boolean) } def ==(other); end sig { override.returns(::String) } def collection_name; end end class Parlour::Types::SingleElementCollection < ::Parlour::Types::Type abstract! sig { params(element: T.any(::Parlour::Types::Type, ::String)).void } def initialize(element); end sig { abstract.returns(::String) } def collection_name; end sig { override.returns(::String) } def describe; end sig { returns(::Parlour::Types::Type) } def element; end sig { override.returns(::String) } def generate_rbi; end sig { override.returns(::String) } def generate_rbs; end end class Parlour::Types::Tuple < ::Parlour::Types::Type sig { params(types: T::Array[T.any(::Parlour::Types::Type, ::String)]).void } def initialize(types); end sig { params(other: ::Object).returns(T::Boolean) } def ==(other); end sig { override.returns(::String) } def describe; end sig { override.returns(::String) } def generate_rbi; end sig { override.returns(::String) } def generate_rbs; end sig { returns(T::Array[::Parlour::Types::Type]) } def types; end end class Parlour::Types::Type abstract! def initialize(*args, &blk); end sig { abstract.returns(::String) } def describe; end sig { abstract.returns(::String) } def generate_rbi; end sig { abstract.returns(::String) } def generate_rbs; end def hash; end sig { params(type_like: T.any(::Parlour::Types::Type, ::String)).returns(::Parlour::Types::Type) } def to_type(type_like); end class << self sig { params(type_like: T.any(::Parlour::Types::Type, ::String)).returns(::Parlour::Types::Type) } def to_type(type_like); end end end Parlour::Types::TypeLike = T.type_alias { T.any(::Parlour::Types::Type, ::String) } class Parlour::Types::Union < ::Parlour::Types::Type sig { params(types: T::Array[T.any(::Parlour::Types::Type, ::String)]).void } def initialize(types); end sig { params(other: ::Object).returns(T::Boolean) } def ==(other); end sig { override.returns(::String) } def describe; end sig { override.returns(::String) } def generate_rbi; end sig { override.returns(::String) } def generate_rbs; end sig { returns(T::Array[::Parlour::Types::Type]) } def types; end end class Parlour::Types::Untyped < ::Parlour::Types::Type sig { params(other: ::Object).returns(T::Boolean) } def ==(other); end sig { override.returns(::String) } def describe; end sig { override.returns(::String) } def generate_rbi; end sig { override.returns(::String) } def generate_rbs; end end Parlour::VERSION = T.let(T.unsafe(nil), String)