Sha256: 0037cf706a14b9e7cfdc74f74d1ad656010d6983b3b2c778d1e5ad7b86c599de

Contents?: true

Size: 912 Bytes

Versions: 7

Compression:

Stored size: 912 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 :not_compliant_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

7 entries across 7 versions & 1 rubygems

Version Path
opal-0.8.1 lib/mspec/opal/special_calls.rb
opal-0.8.1.rc1 lib/mspec/opal/special_calls.rb
opal-0.8.0 lib/mspec/opal/special_calls.rb
opal-0.8.0.rc3 lib/mspec/opal/special_calls.rb
opal-0.8.0.rc2 lib/mspec/opal/special_calls.rb
opal-0.8.0.rc1 lib/mspec/opal/special_calls.rb
opal-0.8.0.beta1 lib/mspec/opal/special_calls.rb