Sha256: 515dcf2e7023717b2a6855484b3ccab0492496ddd0ec919cc7d6dc31e5bef33d

Contents?: true

Size: 697 Bytes

Versions: 5

Compression:

Stored size: 697 Bytes

Contents

module ToSource
  class Emitter
    # Base class for loop node emittrs
    class Loop < self

    private
      
      # Perform dispatch
      #
      # @return [undefined]
      #
      # @api private
      #
      def dispatch
        emit(self.class::KEYWORD)
        space
        visit(condition)
        indented do
          visit(body)
        end
        emit_end
      end

      delegate :condition, :body

      # Emitter for while nodes
      class While < self
        handle(Rubinius::AST::While)
        KEYWORD = :while
      end

      # Emitter for until nodes
      class Until < self
        handle(Rubinius::AST::Until)
        KEYWORD = :until
      end

    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
to_source-0.2.20 lib/to_source/emitter/loop.rb
to_source-0.2.19 lib/to_source/emitter/loop.rb
to_source-0.2.18 lib/to_source/emitter/loop.rb
to_source-0.2.17 lib/to_source/emitter/loop.rb
to_source-0.2.16 lib/to_source/emitter/loop.rb