class RBS::Source::RBS
Attributes
buffer
[R]
Buffer
declarations
[R]
Array[AST::Declarations::t]
directives
[R]
Array[AST::Directives::t]
Public Class Methods
Public Instance Methods
# File vendor/bundle/ruby/4.0.0/gems/rbs-4.0.3/lib/rbs/source.rb, line 25 def each_declaration_type_name(names, decl, &block) case decl when AST::Declarations::Class decl.each_decl { each_declaration_type_name(names, _1, &block) } type_name = decl.name when AST::Declarations::Module decl.each_decl { each_declaration_type_name(names, _1, &block) } type_name = decl.name when AST::Declarations::Interface type_name = decl.name when AST::Declarations::TypeAlias type_name = decl.name when AST::Declarations::ModuleAlias type_name = decl.new_name when AST::Declarations::ClassAlias type_name = decl.new_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 14 def each_type_name(&block) if block set = Set[] #: Set[TypeName] declarations.each do |decl| each_declaration_type_name(set, decl, &block) end else enum_for :each_type_name end end
Enumerates defined type names in the source
The order is undefined. Deduplicated per source object.