Class: Unparser::Emitter::Post

Inherits:
Unparser::Emitter show all
Includes:
Unterminated
Defined in:
lib/unparser/emitter/repetition.rb

Overview

Emitter for postconditions

Constant Summary collapse

MAP =
{
  while_post: K_WHILE,
  until_post: K_UNTIL
}.freeze

Constants inherited from Unparser::Emitter

CURLY_BRACKETS, DEFAULT_DELIMITER, NOINDENT, REGISTRY

Constants included from Constants

Constants::BINARY_OPERATORS, Constants::COMMENT, Constants::CURLY_BRACKETS, Constants::DBL_QUOTE, Constants::DEFAULT_DELIMITER, 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::M_PC, Constants::M_PO, Constants::NL, Constants::SNGL_QUOTE, Constants::T_AMP, Constants::T_AND, Constants::T_ASN, Constants::T_ASR, Constants::T_COLON, Constants::T_DCL, Constants::T_DLT, Constants::T_DOT, Constants::T_DSPLAT, Constants::T_LT, Constants::T_NEG, Constants::T_OR, Constants::T_PIPE, Constants::T_SPLAT, Constants::UNARY_OPERATORS, Constants::WS

Instance Method Summary collapse

Methods included from Unterminated

#terminated?

Methods inherited from Unparser::Emitter

emit, emitter, #local_variable_scope, #local_variables, #node_type, #terminated?, #write_to_buffer

Methods included from NodeHelpers

#n, #s

Instance Method Details

#dispatchundefined

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Perform dispatch

Returns:

  • (undefined)


27
28
29
30
31
# File 'lib/unparser/emitter/repetition.rb', line 27

def dispatch
  visit(body)
  write(WS, MAP.fetch(node.type), WS)
  visit(condition)
end