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)


149
150
151
152
153
154
155
# File 'lib/unparser/preprocessor.rb', line 149

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