Class: RBI::VisibilityGroup

Inherits:
Tree show all
Extended by:
T::Sig
Defined in:
lib/rbi/printer.rb,
lib/rbi/rewriters/nest_non_public_methods.rb

Instance Attribute Summary collapse

Attributes inherited from Tree

#nodes

Attributes inherited from NodeWithComments

#comments

Attributes inherited from Node

#loc, #parent_tree

Instance Method Summary collapse

Methods inherited from Tree

#<<, #empty?, #group_nodes!, #index, #merge, #nest_non_public_methods!, #nest_singleton_methods!, #oneline?, #sort_nodes!

Methods inherited from NodeWithComments

#merge_with, #oneline?

Methods inherited from Node

#compatible_with?, #detach, #group_kind, #merge_with, #oneline?, #parent_conflict_tree, #parent_scope, #print, #replace, #string

Constructor Details

#initialize(visibility) ⇒ VisibilityGroup

Returns a new instance of VisibilityGroup.



58
59
60
61
# File 'lib/rbi/rewriters/nest_non_public_methods.rb', line 58

def initialize(visibility)
  super()
  @visibility = visibility
end

Instance Attribute Details

#visibilityObject (readonly)

Returns the value of attribute visibility.



55
56
57
# File 'lib/rbi/rewriters/nest_non_public_methods.rb', line 55

def visibility
  @visibility
end

Instance Method Details

#accept_printer(v) ⇒ Object



631
632
633
634
635
636
637
638
639
640
641
# File 'lib/rbi/printer.rb', line 631

def accept_printer(v)
  v.in_visibility_group = true
  v.printn unless v.previous_node.nil?
  case visibility
  when Visibility::Protected, Visibility::Private
    v.visit(visibility)
    v.printn
  end
  v.visit_all(nodes)
  v.in_visibility_group = false
end