Sha256: 51686e398fd74ea3427be21ff91cbb8ddf4056d917ae957b2fd26331fcf470f2

Contents?: true

Size: 557 Bytes

Versions: 7

Compression:

Stored size: 557 Bytes

Contents

# frozen_string_literal: true
require 'opal/nodes/base'

module Opal
  module Nodes
    # A ndoe responsible for extracting
    # a single argument
    #
    # def m(a)
    #
    class NormargNode < Base
      handle :arg
      children :name

      def compile
        if @sexp.meta[:post]
          add_temp name
          line "#{name} = #{scope.working_arguments}.splice(0,1)[0];"
        end

        if scope.in_mlhs?
          line "if (#{name} == null) {"
          line "  #{name} = nil;"
          line "}"
        end
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
opal-0.11.4 lib/opal/nodes/args/normarg.rb
opal-0.11.3 lib/opal/nodes/args/normarg.rb
opal-0.11.2 lib/opal/nodes/args/normarg.rb
opal-0.11.1 lib/opal/nodes/args/normarg.rb
opal-0.11.1.pre lib/opal/nodes/args/normarg.rb
opal-0.11.0 lib/opal/nodes/args/normarg.rb
opal-0.11.0.rc1 lib/opal/nodes/args/normarg.rb