Class: Unparser::Preprocessor::Begin

Inherits:
Unparser::Preprocessor show all
Defined in:
lib/unparser/preprocessor.rb

Overview

Preprocessor for begin nodes. Removes begin nodes with one child.

This reduces the amount of complex logic needed inside unparser to emit “nice” syntax with minimal tokens.

Constant Summary

Constants inherited from Unparser::Preprocessor

EMPTY, REGISTRY

Instance Method Summary collapse

Methods inherited from Unparser::Preprocessor

run

Methods included from NodeHelpers

#n, #s

Instance Method Details

#resultParser::AST::Node

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.

Return preprocessor result

Returns:

  • (Parser::AST::Node)


223
224
225
226
227
228
229
# File 'lib/unparser/preprocessor.rb', line 223

def result
  if children.one? && !parent_type.equal?(:regexp)
    visit(children.first)
  else
    Noop.call(node, parent_type)
  end
end