Sha256: 7742c6659ecc00224dde844533793076621e2c5dee8150bb0b69a0790b9928ee

Contents?: true

Size: 629 Bytes

Versions: 6

Compression:

Stored size: 629 Bytes

Contents

# frozen_string_literal: true

module Unparser
  class Emitter
    # Emitter for flip flops
    class FlipFlop < self
      MAP = {
        iflipflop: '..',
        eflipflop: '...'
      }.freeze

      SYMBOLS = {
        eflipflop: :tDOT3,
        iflipflop: :tDOT2
      }.freeze

      def symbol_name
        true
      end

      handle(*MAP.keys)

      children :left, :right

    private

      def dispatch
        visit(left) if left
        write(MAP.fetch(node.type))

        if right
          visit(right)
        else
          write(';')
        end
      end
    end # FlipFLop
  end # Emitter
end # Unparser

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
unparser-0.6.15 lib/unparser/emitter/flipflop.rb
unparser-0.6.14 lib/unparser/emitter/flipflop.rb
unparser-0.6.13 lib/unparser/emitter/flipflop.rb
unparser-0.6.12 lib/unparser/emitter/flipflop.rb
unparser-0.6.10 lib/unparser/emitter/flipflop.rb
unparser-0.6.9 lib/unparser/emitter/flipflop.rb