Class: RBS::Inline::AST::Annotations::ModuleSelf

Inherits:
Base
  • Object
show all
Defined in:
lib/rbs/inline/ast/annotations.rb

Overview

‘# @rbs module-self [MODULE_SELF]`

Instance Attribute Summary collapse

Attributes inherited from Base

#source, #tree

Instance Method Summary collapse

Constructor Details

#initialize(tree, source) ⇒ ModuleSelf

Returns a new instance of ModuleSelf.



517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
# File 'lib/rbs/inline/ast/annotations.rb', line 517

def initialize(tree, source)
  @tree = tree
  @source = source

  module_self = tree.nth_tree!(1)
  type = module_self.nth_type?(1)

  case type
  when Types::ClassInstance, Types::Interface
    @constraint = RBS::AST::Declarations::Module::Self.new(
      name: type.name,
      args: type.args,
      location: nil
    )
  end

  if comment = module_self.nth_tree(2)
    @comment = comment.to_s
  end
end

Instance Attribute Details

#commentObject (readonly)

: String?



514
515
516
# File 'lib/rbs/inline/ast/annotations.rb', line 514

def comment
  @comment
end

#constraintObject (readonly)

: RBS::AST::Declarations::Module::Self?



512
513
514
# File 'lib/rbs/inline/ast/annotations.rb', line 512

def constraint
  @constraint
end