Sha256: 013621ed71b04ef24850a9012fdca8b6dd59cc2ff59b0889c45328e9aa8dbf1d

Contents?: true

Size: 797 Bytes

Versions: 4

Compression:

Stored size: 797 Bytes

Contents

require 'opal/nodes'

class Opal::Nodes::CallNode
  # Rubyspec uses this call to load in language specific features at runtime.
  # We can't do this at runtime, so handle it during compilation
  add_special :language_version do
    if scope.top?
      lang_type = arglist[2][1]
      target = "corelib/language/versions/#{lang_type}_1.9"

      if File.exist?(target)
        compiler.requires << target
      end

      push fragment("nil")
    end
  end

  add_special :not_supported_on do
    unless arglist.flatten.include? :opal
      compile_default!
    end
  end

  add_special :platform_is_not do
    unless arglist.flatten.include? :opal
      compile_default!
    end
  end

  add_special :platform_is do
    if arglist.flatten.include? :opal
      compile_default!
    end
  end
end


Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
opal-0.7.2 lib/mspec/opal/special_calls.rb
opal-0.7.1 lib/mspec/opal/special_calls.rb
opal-0.7.0 lib/mspec/opal/special_calls.rb
opal-0.7.0.rc1 lib/mspec/opal/special_calls.rb