Sha256: 0307d4b390f833ed10c8b5cdf66cf9f4faa68d4f2c6286fae19229abe88dcec4

Contents?: true

Size: 542 Bytes

Versions: 6

Compression:

Stored size: 542 Bytes

Contents

# frozen_string_literal: true

require 'opal/nodes/base'

module Opal
  module Nodes
    module Args
      # This node is responsible for initializing a single
      # required block arg
      #
      #   proc { |a| }
      #
      # Procs don't have arity checking and code like
      #   proc { |a| }.call
      # must return nil
      class InitializeIterarg < Base
        handle :initialize_iter_arg
        children :name

        def compile
          line "if (#{name} == null) #{name} = nil;"
        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
opal-1.5.1 lib/opal/nodes/args/initialize_iterarg.rb
opal-1.5.0 lib/opal/nodes/args/initialize_iterarg.rb
opal-1.5.0.rc1 lib/opal/nodes/args/initialize_iterarg.rb
opal-1.4.1 lib/opal/nodes/args/initialize_iterarg.rb
opal-1.4.0 lib/opal/nodes/args/initialize_iterarg.rb
opal-1.4.0.alpha1 lib/opal/nodes/args/initialize_iterarg.rb