Sha256: 920e1dafa997ed7910655166d952261fc3c2234b2c316bd9adbb2ded27ee1e4b
Contents?: true
Size: 1.74 KB
Versions: 2
Compression:
Stored size: 1.74 KB
Contents
# encoding: utf-8 module Unparser class Emitter # Emitter for begin nodes class Begin < self children :body private # Emit inner nodes # # @return [undefined] # # @api private # def emit_inner delimited(children, NL) end # Emitter for implicit begins class Implicit < self handle :begin NON_EMPTY_PARENS = [:root, :dstr, :dyn_str_body].to_set.freeze private # Perform dispatch # # @return [undefined] # # @api private # def dispatch if children.empty? && !NON_EMPTY_PARENS.include?(parent_type) write('()') else conditional_parentheses(parent_type == :optarg) do emit_inner end end end # Emit inner delimited by semicolons # # @return [undefined] # # @api private # def emit_inner_semi delimited(children, ';') end end # Implicit # Emitter for explicit begins class Explicit < self handle :kwbegin private # Perform dispatch # # @return [undefined] # # @api private # def dispatch write(K_BEGIN) emit_body k_end end # Emit body # # @return [undefined] # # @api private # def emit_body case when body.nil? nl when NOINDENT.include?(body.type) emit_inner else indented { emit_inner } end end end # Explicit end # Begin end # Emitter end # Unparser
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
unparser-0.1.9 | lib/unparser/emitter/begin.rb |
unparser-0.1.8 | lib/unparser/emitter/begin.rb |