Class: Unparser::Emitter::Root

Inherits:
Unparser::Emitter show all
Includes:
LocalVariableRoot
Defined in:
lib/unparser/emitter/root.rb

Overview

Root emitter a special case

Constant Summary collapse

END_NL =
%i[class sclass module begin].freeze

Constants inherited from Unparser::Emitter

NO_INDENT, REGISTRY

Constants included from Constants

Constants::BINARY_OPERATORS, Constants::KEYWORDS, Constants::K_ALIAS, Constants::K_AND, Constants::K_BEGIN, Constants::K_BREAK, Constants::K_CASE, Constants::K_CLASS, Constants::K_DEF, Constants::K_DEFINE, Constants::K_DEFINED, Constants::K_DO, Constants::K_EEND, Constants::K_ELSE, Constants::K_ELSIF, Constants::K_ENCODING, Constants::K_END, Constants::K_ENSURE, Constants::K_FALSE, Constants::K_FILE, Constants::K_FOR, Constants::K_IF, Constants::K_IN, Constants::K_MODULE, Constants::K_NEXT, Constants::K_NIL, Constants::K_NOT, Constants::K_OR, Constants::K_POSTEXE, Constants::K_PREEXE, Constants::K_REDO, Constants::K_RESCUE, Constants::K_RETRY, Constants::K_RETURN, Constants::K_SELF, Constants::K_SUPER, Constants::K_THEN, Constants::K_TRUE, Constants::K_UNDEF, Constants::K_UNLESS, Constants::K_UNTIL, Constants::K_WHEN, Constants::K_WHILE, Constants::K_YIELD, Constants::UNARY_OPERATORS

Constants included from Generation

Generation::EXTRA_NL

Instance Method Summary collapse

Methods included from LocalVariableRoot

included, #local_variable_scope

Methods inherited from Unparser::Emitter

#emit_mlhs, emitter, #node_type

Methods included from Generation

#emit_heredoc_reminders, #symbol_name, #write_to_buffer

Methods included from NodeHelpers

#n, #n?, #s, #unwrap_single_begin

Instance Method Details

#dispatchObject



14
15
16
17
18
19
20
21
22
23
24
# File 'lib/unparser/emitter/root.rb', line 14

def dispatch
  if children.any?
    emit_body(node, indent: false)
  else
    visit_deep(node)
  end

  emit_eof_comments

  nl if END_NL.include?(node.type) && !buffer.fresh_line?
end