class RBS::Source::Ruby
Attributes
buffer
[R]
Buffer
declarations
[R]
Array[AST::Ruby::Declarations::t]
diagnostics
[R]
Array[InlineParser::Diagnostic::t]
Public Class Methods
(Buffer, Prism::ParseResult, Array[AST::Ruby::Declarations::t], Array[InlineParser::Diagnostic::t]) → void
Source
# File vendor/bundle/ruby/4.0.0/gems/rbs-4.0.3/lib/rbs/source.rb, line 58 def initialize(buffer, prism, declarations, diagnostics) @buffer = buffer @prism_result = prism @declarations = declarations @diagnostics = diagnostics end
Public Instance Methods
# File vendor/bundle/ruby/4.0.0/gems/rbs-4.0.3/sig/source.rbs, line 45
def ==: (other: Ruby) -> bool
# File vendor/bundle/ruby/4.0.0/gems/rbs-4.0.3/lib/rbs/source.rb, line 76 def each_declaration_type_name(names, decl, &block) case decl when AST::Ruby::Declarations::ClassDecl decl.each_decl do |d| each_declaration_type_name(names, d, &block) end type_name = decl.class_name when AST::Ruby::Declarations::ModuleDecl decl.each_decl do |d| each_declaration_type_name(names, d, &block) end type_name = decl.module_name end if type_name unless names.include?(type_name) yield type_name names << type_name end end end
() { (TypeName) → void } → void
() → Enumerator[TypeName]
Source
# File vendor/bundle/ruby/4.0.0/gems/rbs-4.0.3/lib/rbs/source.rb, line 65 def each_type_name(&block) if block names = Set[] #: Set[TypeName] declarations.each do |decl| each_declaration_type_name(names, decl, &block) end else enum_for :each_type_name end end