Explicit box for boolean values when doing a reflective call.
Explicit box for boolean values when doing a reflective call. This class and its methods are only here to properly support reflective calls on booleans.
Information about the JavaScript environment Scala.js runs in.
Information about the JavaScript environment Scala.js runs in.
Holds configuration for the Scala.js internals and should not be used directly (could be retrieved via runtime.environmentInfo).
This facade type serves as a documentation on what aspects of Scala.js can be influenced through environment options.
Upon startup, Scala.js checks whether the name __ScalaJSEnv
is
defined in its scope (and references an object). If so, it uses it as
environment info.
Missing, non-optional fields (according to this facade type) are initialized
to default values, optional fields are kept as in the original object.
Finally, js.Object.freeze is called on the object to avoid modification.
Explicit box for number values when doing a reflective call that was identified to be a call on Int rather than on Double (based on the result type of the method called reflectively).
Explicit box for number values when doing a reflective call that was identified to be a call on Int rather than on Double (based on the result type of the method called reflectively). This class and its methods are only here to properly support reflective calls on numbers.
Information about link-time configuration of Scala.js.
Information about link-time configuration of Scala.js.
Explicit box for longs when doing a reflective call.
Explicit box for longs when doing a reflective call. This class and its methods are only here to properly support reflective calls on longs.
Explicit box for number values when doing a reflective call.
Explicit box for number values when doing a reflective call. This class and its methods are only here to properly support reflective calls on numbers.
emulate a Java-Long using three integers.
emulate a Java-Long using three integers. taken from gwt LongLib: com.google.gwt.lang.LongLib
only used by runtime
holds values l, m, h (low, middle, high) s.t. (x.l + ((long) x.m << 22) + ((long) x.h << 44)) is equal to the original value
Error thrown when an undefined behavior in Fatal mode has been detected.
Error thrown when an undefined behavior in Fatal mode has been detected.
This error should never be caught. It indicates a severe programming bug.
In Unchecked mode, the program may behave arbitrarily.
The cause
is set to the exception that would have been thrown if the
given behavior was in Compliant mode.
If your program relies on the proper kind of exception being thrown, as if
running on the JVM, you should set the appropriate behavior to Compliant.
Note that this will have (potentially major) performance impacts.
Low-level stuff.
Utilities to test for erroneous conditions depending on the Semantics configuration.
Conversions of JavaScript stack traces to Java stack traces.
Returns true if we are assuming that the target platform supports ECMAScript 6, false otherwise.
Returns true if we are assuming that the target platform supports ECMAScript 6, false otherwise.
This ends up being constant-folded to a constant at link-time. So constant-folding, inlining, and other local optimizations can be leveraged with this "constant" to write polyfills that can be dead-code-eliminated.
A typical usage of this method is:
if (assumingES6 || featureTest()) useES6Feature() else usePolyfill()
At link-time, assumingES6
will either be a constant false, in which
case the above snippet folds into
if (featureTest()) useES6Feature() else usePolyfill()
or a constant true, in which case it folds into
useES6Feature()
Information about the environment Scala.js runs in
Information about the environment Scala.js runs in
See EnvironmentInfo for details.
Polyfill for fround in case we use strict Floats and even Typed Arrays are not available.
Polyfill for fround in case we use strict Floats and even Typed Arrays
are not available.
Note: this method returns a Double, even though the value is meant
to be a Float. It cannot return a Float because that would require to
do x.toFloat
somewhere in here, which would itself, in turn, call this
method.
Information known at link-time, given the output configuration.
Information known at link-time, given the output configuration.
See LinkingInfo for details.
Returns an array of the enumerable properties in an object's prototype chain.
Returns an array of the enumerable properties in an object's prototype chain.
This is the implementation of js.Object.properties.
Instantiates a JS object with variadic arguments to the constructor.
Instantiates a JS object with variadic arguments to the constructor.
This method was needed by the codegen of 0.6.0 through 0.6.2. It is not needed anymore, and should not be used directly.
It is kept for backward binary compatibility with 0.6.{0,1,2}, but will be removed in the next major version.
(Since version 0.6.3) Use js.Dynamic.newInstance instead.