Class: Unparser::Writer::Send::Unary

Inherits:
Unparser::Writer::Send show all
Defined in:
lib/unparser/writer/send/unary.rb

Overview

Writer for unary sends

Constant Summary collapse

MAP =
{
  '-@': '-',
  '+@': '+'
}.freeze

Constants inherited from Unparser::Writer::Send

INDEX_ASSIGN, INDEX_REFERENCE, OPERATORS

Constants included from Generation

Generation::EXTRA_NL

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

Instance Method Summary collapse

Methods inherited from Unparser::Writer::Send

#emit_heredoc_reminders, #emit_mlhs, #emit_selector

Methods included from Unparser::Writer

included

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



15
16
17
18
19
20
21
22
23
24
25
# File 'lib/unparser/writer/send/unary.rb', line 15

def dispatch
  name = selector

  write(MAP.fetch(name, name).to_s)

  if n_int?(receiver) && selector.equal?(:+@)
    write('+')
  end

  visit(receiver)
end