class RBI::Printer

Attributes

in_visibility_group[RW]
previous_node[R]
print_locs[RW]

Public Class Methods

new(out: $stdout, indent: 0, print_locs: false) click to toggle source
Calls superclass method
# File lib/rbi/printer.rb, line 15
def initialize(out: $stdout, indent: 0, print_locs: false)
  super()
  @out = out
  @current_indent = indent
  @print_locs = print_locs
  @in_visibility_group = T.let(false, T::Boolean)
  @previous_node = T.let(nil, T.nilable(Node))
end

Public Instance Methods

dedent() click to toggle source
# File lib/rbi/printer.rb, line 32
def dedent
  @current_indent -= 2
end
indent() click to toggle source
# File lib/rbi/printer.rb, line 27
def indent
  @current_indent += 2
end
print(string) click to toggle source
printl(string) click to toggle source
# File lib/rbi/printer.rb, line 58
def printl(string)
  printt
  printn(string)
end
printn(string = nil) click to toggle source
# File lib/rbi/printer.rb, line 44
def printn(string = nil)
  print(string) if string
  print("\n")
end
printt(string = nil) click to toggle source
# File lib/rbi/printer.rb, line 51
def printt(string = nil)
  print(" " * @current_indent)
  print(string) if string
end
visit(node) click to toggle source
# File lib/rbi/printer.rb, line 69
def visit(node)
  return unless node
  node.accept_printer(self)
end
visit_all(nodes) click to toggle source
# File lib/rbi/printer.rb, line 75
def visit_all(nodes)
  previous_node = @previous_node
  @previous_node = nil
  nodes.each do |node|
    visit(node)
    @previous_node = node
  end
  @previous_node = previous_node
end
visit_file(file) click to toggle source
# File lib/rbi/printer.rb, line 64
def visit_file(file)
  file.accept_printer(self)
end