123456789_123456789_123456789_123456789_123456789_

Class: RBS::AST::Ruby::Annotations::ModuleSelfAnnotation

Relationships & Source Files
Super Chains via Extension / Inclusion / Inheritance
Class Chain:
self, Base
Instance Chain:
self, Base
Inherits: RBS::AST::Ruby::Annotations::Base
Defined in: lib/rbs/ast/ruby/annotations.rb

Class Method Summary

Instance Attribute Summary

Instance Method Summary

Constructor Details

.new(location:, prefix_location:, keyword_location:, colon_location:, name:, args:, open_bracket_location:, close_bracket_location:, args_comma_locations:, comment_location:) ⇒ ModuleSelfAnnotation

[ GitHub ]

  
# File 'lib/rbs/ast/ruby/annotations.rb', line 359

def initialize(location:, prefix_location:, keyword_location:, colon_location:, name:, args:, open_bracket_location:, close_bracket_location:, args_comma_locations:, comment_location:)
  super(location, prefix_location)
  @keyword_location = keyword_location
  @colon_location = colon_location
  @name = name
  @args = args
  @open_bracket_location = open_bracket_location
  @close_bracket_location = close_bracket_location
  @args_comma_locations = args_comma_locations
  @comment_location = comment_location
end

Instance Attribute Details

#args (readonly)

[ GitHub ]

  
# File 'lib/rbs/ast/ruby/annotations.rb', line 357

attr_reader :keyword_location, :colon_location, :name, :args, :open_bracket_location, :close_bracket_location, :args_comma_locations, :comment_location

#args_comma_locations (readonly)

[ GitHub ]

  
# File 'lib/rbs/ast/ruby/annotations.rb', line 357

attr_reader :keyword_location, :colon_location, :name, :args, :open_bracket_location, :close_bracket_location, :args_comma_locations, :comment_location

#close_bracket_location (readonly)

[ GitHub ]

  
# File 'lib/rbs/ast/ruby/annotations.rb', line 357

attr_reader :keyword_location, :colon_location, :name, :args, :open_bracket_location, :close_bracket_location, :args_comma_locations, :comment_location

#colon_location (readonly)

[ GitHub ]

  
# File 'lib/rbs/ast/ruby/annotations.rb', line 357

attr_reader :keyword_location, :colon_location, :name, :args, :open_bracket_location, :close_bracket_location, :args_comma_locations, :comment_location

#comment_location (readonly)

[ GitHub ]

  
# File 'lib/rbs/ast/ruby/annotations.rb', line 357

attr_reader :keyword_location, :colon_location, :name, :args, :open_bracket_location, :close_bracket_location, :args_comma_locations, :comment_location

#keyword_location (readonly)

[ GitHub ]

  
# File 'lib/rbs/ast/ruby/annotations.rb', line 357

attr_reader :keyword_location, :colon_location, :name, :args, :open_bracket_location, :close_bracket_location, :args_comma_locations, :comment_location

#name (readonly)

[ GitHub ]

  
# File 'lib/rbs/ast/ruby/annotations.rb', line 357

attr_reader :keyword_location, :colon_location, :name, :args, :open_bracket_location, :close_bracket_location, :args_comma_locations, :comment_location

#open_bracket_location (readonly)

[ GitHub ]

  
# File 'lib/rbs/ast/ruby/annotations.rb', line 357

attr_reader :keyword_location, :colon_location, :name, :args, :open_bracket_location, :close_bracket_location, :args_comma_locations, :comment_location

Instance Method Details

#map_type_name

[ GitHub ]

  
# File 'lib/rbs/ast/ruby/annotations.rb', line 371

def map_type_name
  mapped_args = args.map { |type| type.map_type_name { yield _1 } }

  self.class.new(
    location:,
    prefix_location:,
    keyword_location:,
    colon_location:,
    name: yield(name),
    args: mapped_args,
    open_bracket_location:,
    close_bracket_location:,
    args_comma_locations:,
    comment_location:
  ) #: self
end

#type_fingerprint

[ GitHub ]

  
# File 'lib/rbs/ast/ruby/annotations.rb', line 388

def type_fingerprint
  [
    "annots/module_self",
    name.to_s,
    args.map(&:to_s),
    comment_location&.source
  ]
end