Class: MiniRacer::Platform

Inherits:
Object
  • Object
show all
Defined in:
lib/mini_racer/shared.rb,
lib/mini_racer/truffleruby.rb,
ext/mini_racer_extension/mini_racer_extension.c

Class Method Summary collapse

Class Method Details

.set_flag_as_str!(flag) ⇒ Object

Raises:

  • (ArgumentError)


403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
# File 'lib/mini_racer/truffleruby.rb', line 403

def self.set_flag_as_str!(flag)
  unless flag.is_a?(String)
    raise TypeError,
          "wrong type argument #{flag.class} (should be a string)"
  end
  raise ArgumentError, "flag contains NUL byte" if flag.include?("\0")
  # the C extension normalizes flags into a 256 byte "--flag" buffer
  normalized = flag.start_with?("--") ? flag : "--#{flag}"
  raise ArgumentError, "flag too long" if normalized.bytesize >= 256
  if Context.instance_variable_get(:@context_initialized)
    raise MiniRacer::PlatformAlreadyInitialized,
          "The platform is already initialized."
  end
  if "--use_strict" == flag
    Context.instance_variable_set(:@use_strict, true)
  end
end

.set_flags!(*args) ⇒ Object



1901
1902
1903
1904
1905
1906
# File 'ext/mini_racer_extension/mini_racer_extension.c', line 1901

def set_flags!(*args, **kwargs)
  flags_to_strings([args, kwargs]).each do |flag|
    # defined in the C class
    set_flag_as_str!(flag)
  end
end