org.mozilla.javascript

## Class ScriptRuntime

- java.lang.Object
- - org.mozilla.javascript.ScriptRuntime

- Direct Known Subclasses:
    OptRuntime

      public class ScriptRuntime
      extends java.lang.Object

  This is the class that implements the runtime.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static interface` | `ScriptRuntime.MessageProvider` This is an interface defining a message provider.

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.Class<?>` | `BooleanClass`
    `static java.lang.Class<?>` | `ByteClass`
    `static java.lang.Class<?>` | `CharacterClass`
    `static java.lang.Class<?>` | `ClassClass`
    `static java.lang.Class<?>` | `ContextClass`
    `static java.lang.Class<?>` | `ContextFactoryClass`
    `static java.lang.Class<?>` | `DateClass`
    `static java.lang.Class<?>` | `DoubleClass`
    `static java.lang.Object[]` | `emptyArgs`
    `static java.lang.String[]` | `emptyStrings`
    `static int` | `ENUMERATE_ARRAY`
    `static int` | `ENUMERATE_ARRAY_NO_ITERATOR`
    `static int` | `ENUMERATE_KEYS`
    `static int` | `ENUMERATE_KEYS_NO_ITERATOR`
    `static int` | `ENUMERATE_VALUES`
    `static int` | `ENUMERATE_VALUES_IN_ORDER`
    `static int` | `ENUMERATE_VALUES_NO_ITERATOR`
    `static java.lang.Class<?>` | `FloatClass`
    `static java.lang.Class<?>` | `FunctionClass`
    `static java.lang.Class<?>` | `IntegerClass`
    `static java.lang.Class<?>` | `LongClass`
    `static ScriptRuntime.MessageProvider` | `messageProvider`
    `static double` | `NaN`
    `static java.lang.Double` | `NaNobj`
    `static double` | `negativeZero`
    `static java.lang.Class<?>` | `NumberClass`
    `static java.lang.Class<?>` | `ObjectClass`
    `static java.util.Locale` | `ROOT_LOCALE`
    `static java.lang.Class<Scriptable>` | `ScriptableClass`
    `static java.lang.Class<?>` | `ScriptableObjectClass`
    `static java.lang.Class<?>` | `ShortClass`
    `static java.lang.Class<?>` | `StringClass`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `ScriptRuntime()` No instances should be created.

  - ### Method Summary

    All Methods Static Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `static java.lang.CharSequence` | `add(java.lang.CharSequence val1, java.lang.Object val2)`
    `static java.lang.CharSequence` | `add(java.lang.Object val1, java.lang.CharSequence val2)`
    `static java.lang.Object` | `add(java.lang.Object val1, java.lang.Object val2, Context cx)`
    `static void` | `addInstructionCount(Context cx, int instructionsToAdd)`
    `static java.lang.Object` | `applyOrCall(boolean isApply, Context cx, Scriptable scope, Scriptable thisObj, java.lang.Object[] args)` Function.prototype.apply and Function.prototype.call See Ecma 15.3.4.[34]
    `static Scriptable` | `bind(Context cx, Scriptable scope, java.lang.String id)` Returns the object in the scope chain that has a given property.
    `static java.lang.Object` | `call(Context cx, java.lang.Object fun, java.lang.Object thisArg, java.lang.Object[] args, Scriptable scope)` Deprecated. The method is only present for compatibility.
    `static Ref` | `callRef(Callable function, Scriptable thisObj, java.lang.Object[] args, Context cx)` Perform function call in reference context.
    `static java.lang.Object` | `callSpecial(Context cx, Callable fun, Scriptable thisObj, java.lang.Object[] args, Scriptable scope, Scriptable callerThis, int callType, java.lang.String filename, int lineNumber)`
    `static RegExpProxy` | `checkRegExpProxy(Context cx)`
    `static boolean` | `cmp_LE(java.lang.Object val1, java.lang.Object val2)`
    `static boolean` | `cmp_LT(java.lang.Object val1, java.lang.Object val2)`
    `static EcmaError` | `constructError(java.lang.String error, java.lang.String message)`
    `static EcmaError` | `constructError(java.lang.String error, java.lang.String message, int lineNumberDelta)`
    `static EcmaError` | `constructError(java.lang.String error, java.lang.String message, java.lang.String sourceName, int lineNumber, java.lang.String lineSource, int columnNumber)`
    `static Scriptable` | `createArrowFunctionActivation(NativeFunction funObj, Scriptable scope, java.lang.Object[] args, boolean isStrict)`
    `static Scriptable` | `createFunctionActivation(NativeFunction funObj, Scriptable scope, java.lang.Object[] args)` Deprecated. Use `createFunctionActivation(NativeFunction, Scriptable, Object[], boolean)` instead
    `static Scriptable` | `createFunctionActivation(NativeFunction funObj, Scriptable scope, java.lang.Object[] args, boolean isStrict)`
    `static java.lang.Object` | `delete(java.lang.Object obj, java.lang.Object id, Context cx)` Deprecated. Use `delete(Object, Object, Context, Scriptable, boolean)` instead
    `static java.lang.Object` | `delete(java.lang.Object obj, java.lang.Object id, Context cx, boolean isName)` Deprecated. Use `delete(Object, Object, Context, Scriptable, boolean)` instead
    `static java.lang.Object` | `delete(java.lang.Object obj, java.lang.Object id, Context cx, Scriptable scope, boolean isName)` The delete operator See ECMA 11.4.1 In ECMA 0.19, the description of the delete operator (11.4.1) assumes that the [[Delete]] method returns a value.
    `static boolean` | `deleteObjectElem(Scriptable target, java.lang.Object elem, Context cx)`
    `static java.lang.Object` | `doTopCall(Callable callable, Context cx, Scriptable scope, Scriptable thisObj, java.lang.Object[] args)` Deprecated. Use `doTopCall(Callable, Context, Scriptable, Scriptable, Object[], boolean)` instead
    `static java.lang.Object` | `doTopCall(Callable callable, Context cx, Scriptable scope, Scriptable thisObj, java.lang.Object[] args, boolean isTopLevelStrict)`
    `static java.lang.Object` | `elemIncrDecr(java.lang.Object obj, java.lang.Object index, Context cx, int incrDecrMask)` Deprecated. Use `elemIncrDecr(Object, Object, Context, Scriptable, int)` instead
    `static java.lang.Object` | `elemIncrDecr(java.lang.Object obj, java.lang.Object index, Context cx, Scriptable scope, int incrDecrMask)`
    `static void` | `enterActivationFunction(Context cx, Scriptable scope)`
    `static Scriptable` | `enterDotQuery(java.lang.Object value, Scriptable scope)`
    `static Scriptable` | `enterWith(java.lang.Object obj, Context cx, Scriptable scope)`
    `static java.lang.Object` | `enumId(java.lang.Object enumObj, Context cx)`
    `static java.lang.Object` | `enumInit(java.lang.Object value, Context cx, boolean enumValues)` Deprecated. Use `enumInit(Object, Context, Scriptable, int)` instead
    `static java.lang.Object` | `enumInit(java.lang.Object value, Context cx, int enumType)` Deprecated. Use `enumInit(Object, Context, Scriptable, int)` instead
    `static java.lang.Object` | `enumInit(java.lang.Object value, Context cx, Scriptable scope, int enumType)`
    `static java.lang.Boolean` | `enumNext(java.lang.Object enumObj)`
    `static java.lang.Object` | `enumValue(java.lang.Object enumObj, Context cx)`
    `static boolean` | `eq(java.lang.Object x, java.lang.Object y)` Equality See ECMA 11.9
    `static java.lang.String` | `escapeAttributeValue(java.lang.Object value, Context cx)` Escapes the reserved characters in a value of an attribute
    `static java.lang.String` | `escapeString(java.lang.String s)`
    `static java.lang.String` | `escapeString(java.lang.String s, char escapeQuote)` For escaping strings printed by object and array literals; not quite the same as 'escape.'
    `static java.lang.String` | `escapeTextValue(java.lang.Object value, Context cx)` Escapes the reserved characters in a value of a text node
    `static java.lang.Object` | `evalSpecial(Context cx, Scriptable scope, java.lang.Object thisArg, java.lang.Object[] args, java.lang.String filename, int lineNumber)` The eval function property of the global object.
    `static void` | `exitActivationFunction(Context cx)`
    `static java.lang.Object[]` | `getArrayElements(Scriptable object)`
    `static Callable` | `getElemFunctionAndThis(java.lang.Object obj, java.lang.Object elem, Context cx)` Deprecated. Use `getElemFunctionAndThis(Object, Object, Context, Scriptable)` instead
    `static Callable` | `getElemFunctionAndThis(java.lang.Object obj, java.lang.Object elem, Context cx, Scriptable scope)` Prepare for calling obj[id](...): return function corresponding to obj[id] and make obj properly converted to Scriptable available as ScriptRuntime.lastStoredScriptable() for consumption as thisObj.
    `static ScriptableObject` | `getGlobal(Context cx)`
    `static ScriptableObject` | `getLibraryScopeOrNull(Scriptable scope)`
    `static java.lang.String` | `getMessage(java.lang.String messageId, java.lang.Object[] arguments)`
    `static java.lang.String` | `getMessage0(java.lang.String messageId)`
    `static java.lang.String` | `getMessage1(java.lang.String messageId, java.lang.Object arg1)`
    `static java.lang.String` | `getMessage2(java.lang.String messageId, java.lang.Object arg1, java.lang.Object arg2)`
    `static java.lang.String` | `getMessage3(java.lang.String messageId, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3)`
    `static java.lang.String` | `getMessage4(java.lang.String messageId, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4)`
    `static Callable` | `getNameFunctionAndThis(java.lang.String name, Context cx, Scriptable scope)` Prepare for calling name(...): return function corresponding to name and make current top scope available as ScriptRuntime.lastStoredScriptable() for consumption as thisObj.
    `static java.lang.Object` | `getObjectElem(java.lang.Object obj, java.lang.Object elem, Context cx)` Deprecated. Use `getObjectElem(Object, Object, Context, Scriptable)` instead
    `static java.lang.Object` | `getObjectElem(java.lang.Object obj, java.lang.Object elem, Context cx, Scriptable scope)` Call obj.[[Get]](id)
    `static java.lang.Object` | `getObjectElem(Scriptable obj, java.lang.Object elem, Context cx)`
    `static java.lang.Object` | `getObjectIndex(java.lang.Object obj, double dblIndex, Context cx)` Deprecated. Use `getObjectIndex(Object, double, Context, Scriptable)` instead
    `static java.lang.Object` | `getObjectIndex(java.lang.Object obj, double dblIndex, Context cx, Scriptable scope)` A cheaper and less general version of the above for well-known argument types.
    `static java.lang.Object` | `getObjectIndex(Scriptable obj, int index, Context cx)`
    `static java.lang.Object` | `getObjectProp(java.lang.Object obj, java.lang.String property, Context cx)` Deprecated. Use `getObjectProp(Object, String, Context, Scriptable)` instead
    `static java.lang.Object` | `getObjectProp(java.lang.Object obj, java.lang.String property, Context cx, Scriptable scope)` Version of getObjectElem when elem is a valid JS identifier name.
    `static java.lang.Object` | `getObjectProp(Scriptable obj, java.lang.String property, Context cx)`
    `static java.lang.Object` | `getObjectPropNoWarn(java.lang.Object obj, java.lang.String property, Context cx)` Deprecated. Use `getObjectPropNoWarn(Object, String, Context, Scriptable)` instead
    `static java.lang.Object` | `getObjectPropNoWarn(java.lang.Object obj, java.lang.String property, Context cx, Scriptable scope)`
    `static Callable` | `getPropFunctionAndThis(java.lang.Object obj, java.lang.String property, Context cx)` Deprecated. Use `getPropFunctionAndThis(Object, String, Context, Scriptable)` instead
    `static Callable` | `getPropFunctionAndThis(java.lang.Object obj, java.lang.String property, Context cx, Scriptable scope)` Prepare for calling obj.property(...): return function corresponding to obj.property and make obj properly converted to Scriptable available as ScriptRuntime.lastStoredScriptable() for consumption as thisObj.
    `static RegExpProxy` | `getRegExpProxy(Context cx)`
    `static Scriptable` | `getTopCallScope(Context cx)`
    `static java.lang.Object` | `getTopLevelProp(Scriptable scope, java.lang.String id)`
    `static Callable` | `getValueFunctionAndThis(java.lang.Object value, Context cx)` Prepare for calling (...): return function corresponding to and make parent scope of the function available as ScriptRuntime.lastStoredScriptable() for consumption as thisObj.
    `static boolean` | `hasObjectElem(Scriptable target, java.lang.Object elem, Context cx)`
    `static boolean` | `hasTopCall(Context cx)`
    `static boolean` | `in(java.lang.Object a, java.lang.Object b, Context cx)` The in operator.
    `static long` | `indexFromString(java.lang.String str)` Return -1L if str is not an index, or the index value as lower 32 bits of the result.
    `static void` | `initFunction(Context cx, Scriptable scope, NativeFunction function, int type, boolean fromEvalCode)`
    `static ScriptableObject` | `initSafeStandardObjects(Context cx, ScriptableObject scope, boolean sealed)`
    `static void` | `initScript(NativeFunction funObj, Scriptable thisObj, Context cx, Scriptable scope, boolean evalScript)`
    `static ScriptableObject` | `initStandardObjects(Context cx, ScriptableObject scope, boolean sealed)`
    `static boolean` | `instanceOf(java.lang.Object a, java.lang.Object b, Context cx)` The instanceof operator.
    `static boolean` | `isArrayObject(java.lang.Object obj)`
    `static boolean` | `isJSLineTerminator(int c)`
    `static boolean` | `isJSWhitespaceOrLineTerminator(int c)`
    `static boolean` | `isNaN(java.lang.Object n)`
    `static boolean` | `isPrimitive(java.lang.Object obj)`
    `static boolean` | `isRhinoRuntimeType(java.lang.Class<?> cl)`
    `static boolean` | `jsDelegatesTo(Scriptable lhs, Scriptable rhs)` Delegates to
    `static Scriptable` | `lastStoredScriptable(Context cx)`
    `static long` | `lastUint32Result(Context cx)`
    `static Scriptable` | `leaveDotQuery(Scriptable scope)`
    `static Scriptable` | `leaveWith(Scriptable scope)`
    `static Ref` | `memberRef(java.lang.Object obj, java.lang.Object elem, Context cx, int memberTypeFlags)`
    `static Ref` | `memberRef(java.lang.Object obj, java.lang.Object namespace, java.lang.Object elem, Context cx, int memberTypeFlags)`
    `static java.lang.Object` | `name(Context cx, Scriptable scope, java.lang.String name)` Looks up a name in the scope chain and returns its value.
    `static java.lang.Object` | `nameIncrDecr(Scriptable scopeChain, java.lang.String id, Context cx, int incrDecrMask)`
    `static java.lang.Object` | `nameIncrDecr(Scriptable scopeChain, java.lang.String id, int incrDecrMask)` Deprecated. Use `nameIncrDecr(Scriptable, String, Context, int)` instead
    `static Ref` | `nameRef(java.lang.Object name, Context cx, Scriptable scope, int memberTypeFlags)`
    `static Ref` | `nameRef(java.lang.Object namespace, java.lang.Object name, Context cx, Scriptable scope, int memberTypeFlags)`
    `static Scriptable` | `newArrayLiteral(java.lang.Object[] objects, int[] skipIndices, Context cx, Scriptable scope)`
    `static Scriptable` | `newBuiltinObject(Context cx, Scriptable scope, TopLevel.Builtins type, java.lang.Object[] args)`
    `static Scriptable` | `newCatchScope(java.lang.Throwable t, Scriptable lastCatchScope, java.lang.String exceptionName, Context cx, Scriptable scope)`
    `static Scriptable` | `newObject(Context cx, Scriptable scope, java.lang.String constructorName, java.lang.Object[] args)`
    `static Scriptable` | `newObject(java.lang.Object fun, Context cx, Scriptable scope, java.lang.Object[] args)` Operator new.
    `static Scriptable` | `newObjectLiteral(java.lang.Object[] propertyIds, java.lang.Object[] propertyValues, Context cx, Scriptable scope)` Deprecated. Use `newObjectLiteral(Object[], Object[], int[], Context, Scriptable)` instead
    `static Scriptable` | `newObjectLiteral(java.lang.Object[] propertyIds, java.lang.Object[] propertyValues, int[] getterSetters, Context cx, Scriptable scope)`
    `static java.lang.Object` | `newSpecial(Context cx, java.lang.Object fun, java.lang.Object[] args, Scriptable scope, int callType)`
    `static java.lang.RuntimeException` | `notFoundError(Scriptable object, java.lang.String property)`
    `static java.lang.RuntimeException` | `notFunctionError(java.lang.Object value)`
    `static java.lang.RuntimeException` | `notFunctionError(java.lang.Object value, java.lang.Object messageHelper)`
    `static java.lang.RuntimeException` | `notFunctionError(java.lang.Object obj, java.lang.Object value, java.lang.String propertyName)`
    `static java.lang.String` | `numberToString(double d, int base)`
    `static java.lang.Object[]` | `padArguments(java.lang.Object[] args, int count)` Helper function for builtin objects that use the varargs form.
    `static java.lang.Object` | `propIncrDecr(java.lang.Object obj, java.lang.String id, Context cx, int incrDecrMask)` Deprecated. Use `propIncrDecr(Object, String, Context, Scriptable, int)` instead
    `static java.lang.Object` | `propIncrDecr(java.lang.Object obj, java.lang.String id, Context cx, Scriptable scope, int incrDecrMask)`
    `static EcmaError` | `rangeError(java.lang.String message)`
    `static java.lang.Object` | `refDel(Ref ref, Context cx)`
    `static java.lang.Object` | `refGet(Ref ref, Context cx)`
    `static java.lang.Object` | `refIncrDecr(Ref ref, Context cx, int incrDecrMask)` Deprecated. Use `refIncrDecr(Ref, Context, Scriptable, int)` instead
    `static java.lang.Object` | `refIncrDecr(Ref ref, Context cx, Scriptable scope, int incrDecrMask)`
    `static java.lang.Object` | `refSet(Ref ref, java.lang.Object value, Context cx)` Deprecated. Use `refSet(Ref, Object, Context, Scriptable)` instead
    `static java.lang.Object` | `refSet(Ref ref, java.lang.Object value, Context cx, Scriptable scope)`
    `static boolean` | `same(java.lang.Object x, java.lang.Object y)`
    `static java.lang.Object` | `searchDefaultNamespace(Context cx)`
    `static void` | `setBuiltinProtoAndParent(ScriptableObject object, Scriptable scope, TopLevel.Builtins type)`
    `static java.lang.Object` | `setConst(Scriptable bound, java.lang.Object value, Context cx, java.lang.String id)`
    `static java.lang.Object` | `setDefaultNamespace(java.lang.Object namespace, Context cx)`
    `static void` | `setEnumNumbers(java.lang.Object enumObj, boolean enumNumbers)`
    `static void` | `setFunctionProtoAndParent(BaseFunction fn, Scriptable scope)`
    `static java.lang.Object` | `setName(Scriptable bound, java.lang.Object value, Context cx, Scriptable scope, java.lang.String id)`
    `static java.lang.Object` | `setObjectElem(java.lang.Object obj, java.lang.Object elem, java.lang.Object value, Context cx)` Deprecated. Use `setObjectElem(Object, Object, Object, Context, Scriptable)` instead
    `static java.lang.Object` | `setObjectElem(java.lang.Object obj, java.lang.Object elem, java.lang.Object value, Context cx, Scriptable scope)` Call obj.[[Put]](id, value)
    `static java.lang.Object` | `setObjectElem(Scriptable obj, java.lang.Object elem, java.lang.Object value, Context cx)`
    `static java.lang.Object` | `setObjectIndex(java.lang.Object obj, double dblIndex, java.lang.Object value, Context cx)` Deprecated. Use `setObjectIndex(Object, double, Object, Context, Scriptable)` instead
    `static java.lang.Object` | `setObjectIndex(java.lang.Object obj, double dblIndex, java.lang.Object value, Context cx, Scriptable scope)` A cheaper and less general version of the above for well-known argument types.
    `static java.lang.Object` | `setObjectIndex(Scriptable obj, int index, java.lang.Object value, Context cx)`
    `static java.lang.Object` | `setObjectProp(java.lang.Object obj, java.lang.String property, java.lang.Object value, Context cx)` Deprecated. Use `setObjectProp(Object, String, Object, Context, Scriptable)` instead
    `static java.lang.Object` | `setObjectProp(java.lang.Object obj, java.lang.String property, java.lang.Object value, Context cx, Scriptable scope)` Version of setObjectElem when elem is a valid JS identifier name.
    `static java.lang.Object` | `setObjectProp(Scriptable obj, java.lang.String property, java.lang.Object value, Context cx)`
    `static void` | `setObjectProtoAndParent(ScriptableObject object, Scriptable scope)`
    `static void` | `setRegExpProxy(Context cx, RegExpProxy proxy)`
    `static boolean` | `shallowEq(java.lang.Object x, java.lang.Object y)`
    `static Ref` | `specialRef(java.lang.Object obj, java.lang.String specialProperty, Context cx)` Deprecated. Use `specialRef(Object, String, Context, Scriptable)` instead
    `static Ref` | `specialRef(java.lang.Object obj, java.lang.String specialProperty, Context cx, Scriptable scope)`
    `static void` | `storeUint32Result(Context cx, long value)`
    `static java.lang.Object` | `strictSetName(Scriptable bound, java.lang.Object value, Context cx, Scriptable scope, java.lang.String id)`
    `static long` | `testUint32String(java.lang.String str)` If str is a decimal presentation of Uint32 value, return it as long.
    `static JavaScriptException` | `throwCustomError(Context cx, Scriptable scope, java.lang.String constructorName, java.lang.String message)` Equivalent to executing "new $constructorName(message, sourceFileName, sourceLineNo)" from JavaScript.
    `static JavaScriptException` | `throwError(Context cx, Scriptable scope, java.lang.String message)` Equivalent to executing "new Error(message, sourceFileName, sourceLineNo)" from JavaScript.
    `static boolean` | `toBoolean(java.lang.Object val)` Convert the value to a boolean.
    `static java.lang.CharSequence` | `toCharSequence(java.lang.Object val)`
    `static int` | `toInt32(double d)`
    `static int` | `toInt32(java.lang.Object val)` See ECMA 9.5.
    `static int` | `toInt32(java.lang.Object[] args, int index)`
    `static double` | `toInteger(double d)`
    `static double` | `toInteger(java.lang.Object val)` See ECMA 9.4.
    `static double` | `toInteger(java.lang.Object[] args, int index)`
    `static Scriptable` | `toIterator(Context cx, Scriptable scope, Scriptable obj, boolean keyOnly)`
    `static double` | `toNumber(java.lang.Object val)` Convert the value to a number.
    `static double` | `toNumber(java.lang.Object[] args, int index)`
    `static double` | `toNumber(java.lang.String s)` ToNumber applied to the String type See ECMA 9.3.1
    `static Scriptable` | `toObject(Context cx, Scriptable scope, java.lang.Object val)` Convert the value to an object.
    `static Scriptable` | `toObject(Context cx, Scriptable scope, java.lang.Object val, java.lang.Class<?> staticClass)` Deprecated. Use `toObject(Context, Scriptable, Object)` instead.
    `static Scriptable` | `toObject(Scriptable scope, java.lang.Object val)`
    `static Scriptable` | `toObject(Scriptable scope, java.lang.Object val, java.lang.Class<?> staticClass)` Deprecated. Use `toObject(Scriptable, Object)` instead.
    `static Scriptable` | `toObjectOrNull(Context cx, java.lang.Object obj)` Deprecated. Use `toObjectOrNull(Context, Object, Scriptable)` instead
    `static Scriptable` | `toObjectOrNull(Context cx, java.lang.Object obj, Scriptable scope)`
    `static java.lang.Object` | `toPrimitive(java.lang.Object val)`
    `static java.lang.Object` | `toPrimitive(java.lang.Object val, java.lang.Class<?> typeHint)`
    `static java.lang.String` | `toString(double val)` Optimized version of toString(Object) for numbers.
    `static java.lang.String` | `toString(java.lang.Object val)` Convert the value to a string.
    `static java.lang.String` | `toString(java.lang.Object[] args, int index)`
    `static char` | `toUint16(java.lang.Object val)` See ECMA 9.7.
    `static long` | `toUint32(double d)` See ECMA 9.6.
    `static long` | `toUint32(java.lang.Object val)`
    `static EcmaError` | `typeError(java.lang.String message)`
    `static EcmaError` | `typeError0(java.lang.String messageId)`
    `static EcmaError` | `typeError1(java.lang.String messageId, java.lang.Object arg1)`
    `static EcmaError` | `typeError2(java.lang.String messageId, java.lang.Object arg1, java.lang.Object arg2)`
    `static EcmaError` | `typeError3(java.lang.String messageId, java.lang.String arg1, java.lang.String arg2, java.lang.String arg3)`
    `static BaseFunction` | `typeErrorThrower()` Deprecated. `typeErrorThrower(Context)`
    `static BaseFunction` | `typeErrorThrower(Context cx)` Returns representation of the [[ThrowTypeError]] object.
    `static java.lang.String` | `typeof(java.lang.Object value)` The typeof operator
    `static java.lang.String` | `typeofName(Scriptable scope, java.lang.String id)` The typeof operator that correctly handles the undefined case
    `static java.lang.RuntimeException` | `undefCallError(java.lang.Object object, java.lang.Object id)`
    `static java.lang.RuntimeException` | `undefReadError(java.lang.Object object, java.lang.Object id)`
    `static java.lang.RuntimeException` | `undefWriteError(java.lang.Object object, java.lang.Object id, java.lang.Object value)`
    `static java.lang.Object` | `updateDotQuery(boolean value, Scriptable scope)`
    `static java.lang.Boolean` | `wrapBoolean(boolean b)`
    `static Scriptable` | `wrapException(java.lang.Throwable t, Scriptable scope, Context cx)`
    `static java.lang.Integer` | `wrapInt(int i)`
    `static java.lang.Number` | `wrapNumber(double x)`
    `static Scriptable` | `wrapRegExp(Context cx, Scriptable scope, java.lang.Object compiled)`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### BooleanClass

          public static final java.lang.Class<?> BooleanClass

    - #### ByteClass

          public static final java.lang.Class<?> ByteClass

    - #### CharacterClass

          public static final java.lang.Class<?> CharacterClass

    - #### ClassClass

          public static final java.lang.Class<?> ClassClass

    - #### DoubleClass

          public static final java.lang.Class<?> DoubleClass

    - #### FloatClass

          public static final java.lang.Class<?> FloatClass

    - #### IntegerClass

          public static final java.lang.Class<?> IntegerClass

    - #### LongClass

          public static final java.lang.Class<?> LongClass

    - #### NumberClass

          public static final java.lang.Class<?> NumberClass

    - #### ObjectClass

          public static final java.lang.Class<?> ObjectClass

    - #### ShortClass

          public static final java.lang.Class<?> ShortClass

    - #### StringClass

          public static final java.lang.Class<?> StringClass

    - #### DateClass

          public static final java.lang.Class<?> DateClass

    - #### ContextClass

          public static final java.lang.Class<?> ContextClass

    - #### ContextFactoryClass

          public static final java.lang.Class<?> ContextFactoryClass

    - #### FunctionClass

          public static final java.lang.Class<?> FunctionClass

    - #### ScriptableObjectClass

          public static final java.lang.Class<?> ScriptableObjectClass

    - #### ScriptableClass

          public static final java.lang.Class<Scriptable> ScriptableClass

    - #### ROOT_LOCALE

          public static java.util.Locale ROOT_LOCALE

    - #### NaN

          public static final double NaN

    - #### negativeZero

          public static final double negativeZero

    - #### NaNobj

          public static final java.lang.Double NaNobj

    - #### ENUMERATE_KEYS

          public static final int ENUMERATE_KEYS

      See Also:
        Constant Field Values

    - #### ENUMERATE_VALUES

          public static final int ENUMERATE_VALUES

      See Also:
        Constant Field Values

    - #### ENUMERATE_ARRAY

          public static final int ENUMERATE_ARRAY

      See Also:
        Constant Field Values

    - #### ENUMERATE_KEYS_NO_ITERATOR

          public static final int ENUMERATE_KEYS_NO_ITERATOR

      See Also:
        Constant Field Values

    - #### ENUMERATE_VALUES_NO_ITERATOR

          public static final int ENUMERATE_VALUES_NO_ITERATOR

      See Also:
        Constant Field Values

    - #### ENUMERATE_ARRAY_NO_ITERATOR

          public static final int ENUMERATE_ARRAY_NO_ITERATOR

      See Also:
        Constant Field Values

    - #### ENUMERATE_VALUES_IN_ORDER

          public static final int ENUMERATE_VALUES_IN_ORDER

      See Also:
        Constant Field Values

    - #### messageProvider

          public static ScriptRuntime.MessageProvider messageProvider

    - #### emptyArgs

          public static final java.lang.Object[] emptyArgs

    - #### emptyStrings

          public static final java.lang.String[] emptyStrings

  - ### Constructor Detail

    - #### ScriptRuntime

          protected ScriptRuntime()

      No instances should be created.

  - ### Method Detail

    - #### typeErrorThrower

          @Deprecated
          public static BaseFunction typeErrorThrower()

      Deprecated. `typeErrorThrower(Context)`
      Returns representation of the [[ThrowTypeError]] object. See ECMA 5 spec, 13.2.3

    - #### typeErrorThrower

          public static BaseFunction typeErrorThrower(Context cx)

      Returns representation of the [[ThrowTypeError]] object. See ECMA 5 spec, 13.2.3

    - #### isRhinoRuntimeType

          public static boolean isRhinoRuntimeType(java.lang.Class<?> cl)

    - #### initSafeStandardObjects

          public static ScriptableObject initSafeStandardObjects(Context cx,
                                                                 ScriptableObject scope,
                                                                 boolean sealed)

    - #### initStandardObjects

          public static ScriptableObject initStandardObjects(Context cx,
                                                             ScriptableObject scope,
                                                             boolean sealed)

    - #### getLibraryScopeOrNull

          public static ScriptableObject getLibraryScopeOrNull(Scriptable scope)

    - #### isJSLineTerminator

          public static boolean isJSLineTerminator(int c)

    - #### isJSWhitespaceOrLineTerminator

          public static boolean isJSWhitespaceOrLineTerminator(int c)

    - #### wrapBoolean

          public static java.lang.Boolean wrapBoolean(boolean b)

    - #### wrapInt

          public static java.lang.Integer wrapInt(int i)

    - #### wrapNumber

          public static java.lang.Number wrapNumber(double x)

    - #### toBoolean

          public static boolean toBoolean(java.lang.Object val)

      Convert the value to a boolean. See ECMA 9.2.

    - #### toNumber

          public static double toNumber(java.lang.Object val)

      Convert the value to a number. See ECMA 9.3.

    - #### toNumber

          public static double toNumber(java.lang.Object[] args,
                                        int index)

    - #### toNumber

          public static double toNumber(java.lang.String s)

      ToNumber applied to the String type See ECMA 9.3.1

    - #### padArguments

          public static java.lang.Object[] padArguments(java.lang.Object[] args,
                                                        int count)

      Helper function for builtin objects that use the varargs form. ECMA function formal arguments are undefined if not supplied; this function pads the argument array out to the expected length, if necessary.

    - #### escapeString

          public static java.lang.String escapeString(java.lang.String s)

    - #### escapeString

          public static java.lang.String escapeString(java.lang.String s,
                                                      char escapeQuote)

      For escaping strings printed by object and array literals; not quite the same as 'escape.'

    - #### toCharSequence

          public static java.lang.CharSequence toCharSequence(java.lang.Object val)

    - #### toString

          public static java.lang.String toString(java.lang.Object val)

      Convert the value to a string. See ECMA 9.8.

    - #### toString

          public static java.lang.String toString(java.lang.Object[] args,
                                                  int index)

    - #### toString

          public static java.lang.String toString(double val)

      Optimized version of toString(Object) for numbers.

    - #### numberToString

          public static java.lang.String numberToString(double d,
                                                        int base)

    - #### toObject

          public static Scriptable toObject(Scriptable scope,
                                            java.lang.Object val)

    - #### toObjectOrNull

          @Deprecated
          public static Scriptable toObjectOrNull(Context cx,
                                                              java.lang.Object obj)

      Deprecated. Use `toObjectOrNull(Context, Object, Scriptable)` instead
      Warning: This doesn't allow to resolve primitive prototype properly when many top scopes are involved

    - #### toObjectOrNull

          public static Scriptable toObjectOrNull(Context cx,
                                                  java.lang.Object obj,
                                                  Scriptable scope)

      Parameters:
        `scope` - the scope that should be used to resolve primitive prototype

    - #### toObject

          @Deprecated
          public static Scriptable toObject(Scriptable scope,
                                                        java.lang.Object val,
                                                        java.lang.Class<?> staticClass)

      Deprecated. Use `toObject(Scriptable, Object)` instead.

    - #### toObject

          public static Scriptable toObject(Context cx,
                                            Scriptable scope,
                                            java.lang.Object val)

      Convert the value to an object. See ECMA 9.9.

    - #### toObject

          @Deprecated
          public static Scriptable toObject(Context cx,
                                                        Scriptable scope,
                                                        java.lang.Object val,
                                                        java.lang.Class<?> staticClass)

      Deprecated. Use `toObject(Context, Scriptable, Object)` instead.

    - #### call

          @Deprecated
          public static java.lang.Object call(Context cx,
                                                          java.lang.Object fun,
                                                          java.lang.Object thisArg,
                                                          java.lang.Object[] args,
                                                          Scriptable scope)

      Deprecated. The method is only present for compatibility.

    - #### newObject

          public static Scriptable newObject(Context cx,
                                             Scriptable scope,
                                             java.lang.String constructorName,
                                             java.lang.Object[] args)

    - #### newBuiltinObject

          public static Scriptable newBuiltinObject(Context cx,
                                                    Scriptable scope,
                                                    TopLevel.Builtins type,
                                                    java.lang.Object[] args)

    - #### toInteger

          public static double toInteger(java.lang.Object val)

      See ECMA 9.4.

    - #### toInteger

          public static double toInteger(double d)

    - #### toInteger

          public static double toInteger(java.lang.Object[] args,
                                         int index)

    - #### toInt32

          public static int toInt32(java.lang.Object val)

      See ECMA 9.5.

    - #### toInt32

          public static int toInt32(java.lang.Object[] args,
                                    int index)

    - #### toInt32

          public static int toInt32(double d)

    - #### toUint32

          public static long toUint32(double d)

      See ECMA 9.6.
      Returns:
        long value representing 32 bits unsigned integer

    - #### toUint32

          public static long toUint32(java.lang.Object val)

    - #### toUint16

          public static char toUint16(java.lang.Object val)

      See ECMA 9.7.

    - #### setDefaultNamespace

          public static java.lang.Object setDefaultNamespace(java.lang.Object namespace,
                                                             Context cx)

    - #### searchDefaultNamespace

          public static java.lang.Object searchDefaultNamespace(Context cx)

    - #### getTopLevelProp

          public static java.lang.Object getTopLevelProp(Scriptable scope,
                                                         java.lang.String id)

    - #### indexFromString

          public static long indexFromString(java.lang.String str)

      Return -1L if str is not an index, or the index value as lower 32 bits of the result. Note that the result needs to be cast to an int in order to produce the actual index, which may be negative.

    - #### testUint32String

          public static long testUint32String(java.lang.String str)

      If str is a decimal presentation of Uint32 value, return it as long. Othewise return -1L;

    - #### getObjectElem

          @Deprecated
          public static java.lang.Object getObjectElem(java.lang.Object obj,
                                                                   java.lang.Object elem,
                                                                   Context cx)

      Deprecated. Use `getObjectElem(Object, Object, Context, Scriptable)` instead
      Call obj.[[Get]](id)

    - #### getObjectElem

          public static java.lang.Object getObjectElem(java.lang.Object obj,
                                                       java.lang.Object elem,
                                                       Context cx,
                                                       Scriptable scope)

      Call obj.[[Get]](id)

    - #### getObjectElem

          public static java.lang.Object getObjectElem(Scriptable obj,
                                                       java.lang.Object elem,
                                                       Context cx)

    - #### getObjectProp

          @Deprecated
          public static java.lang.Object getObjectProp(java.lang.Object obj,
                                                                   java.lang.String property,
                                                                   Context cx)

      Deprecated. Use `getObjectProp(Object, String, Context, Scriptable)` instead
      Version of getObjectElem when elem is a valid JS identifier name.

    - #### getObjectProp

          public static java.lang.Object getObjectProp(java.lang.Object obj,
                                                       java.lang.String property,
                                                       Context cx,
                                                       Scriptable scope)

      Version of getObjectElem when elem is a valid JS identifier name.
      Parameters:
        `scope` - the scope that should be used to resolve primitive prototype

    - #### getObjectProp

          public static java.lang.Object getObjectProp(Scriptable obj,
                                                       java.lang.String property,
                                                       Context cx)

    - #### getObjectPropNoWarn

          @Deprecated
          public static java.lang.Object getObjectPropNoWarn(java.lang.Object obj,
                                                                         java.lang.String property,
                                                                         Context cx)

      Deprecated. Use `getObjectPropNoWarn(Object, String, Context, Scriptable)` instead

    - #### getObjectPropNoWarn

          public static java.lang.Object getObjectPropNoWarn(java.lang.Object obj,
                                                             java.lang.String property,
                                                             Context cx,
                                                             Scriptable scope)

    - #### getObjectIndex

          @Deprecated
          public static java.lang.Object getObjectIndex(java.lang.Object obj,
                                                                    double dblIndex,
                                                                    Context cx)

      Deprecated. Use `getObjectIndex(Object, double, Context, Scriptable)` instead
      A cheaper and less general version of the above for well-known argument types.

    - #### getObjectIndex

          public static java.lang.Object getObjectIndex(java.lang.Object obj,
                                                        double dblIndex,
                                                        Context cx,
                                                        Scriptable scope)

      A cheaper and less general version of the above for well-known argument types.

    - #### getObjectIndex

          public static java.lang.Object getObjectIndex(Scriptable obj,
                                                        int index,
                                                        Context cx)

    - #### setObjectElem

          @Deprecated
          public static java.lang.Object setObjectElem(java.lang.Object obj,
                                                                   java.lang.Object elem,
                                                                   java.lang.Object value,
                                                                   Context cx)

      Deprecated. Use `setObjectElem(Object, Object, Object, Context, Scriptable)` instead
      Call obj.[[Put]](id, value)

    - #### setObjectElem

          public static java.lang.Object setObjectElem(java.lang.Object obj,
                                                       java.lang.Object elem,
                                                       java.lang.Object value,
                                                       Context cx,
                                                       Scriptable scope)

      Call obj.[[Put]](id, value)

    - #### setObjectElem

          public static java.lang.Object setObjectElem(Scriptable obj,
                                                       java.lang.Object elem,
                                                       java.lang.Object value,
                                                       Context cx)

    - #### setObjectProp

          @Deprecated
          public static java.lang.Object setObjectProp(java.lang.Object obj,
                                                                   java.lang.String property,
                                                                   java.lang.Object value,
                                                                   Context cx)

      Deprecated. Use `setObjectProp(Object, String, Object, Context, Scriptable)` instead
      Version of setObjectElem when elem is a valid JS identifier name.

    - #### setObjectProp

          public static java.lang.Object setObjectProp(java.lang.Object obj,
                                                       java.lang.String property,
                                                       java.lang.Object value,
                                                       Context cx,
                                                       Scriptable scope)

      Version of setObjectElem when elem is a valid JS identifier name.

    - #### setObjectProp

          public static java.lang.Object setObjectProp(Scriptable obj,
                                                       java.lang.String property,
                                                       java.lang.Object value,
                                                       Context cx)

    - #### setObjectIndex

          @Deprecated
          public static java.lang.Object setObjectIndex(java.lang.Object obj,
                                                                    double dblIndex,
                                                                    java.lang.Object value,
                                                                    Context cx)

      Deprecated. Use `setObjectIndex(Object, double, Object, Context, Scriptable)` instead
      A cheaper and less general version of the above for well-known argument types.

    - #### setObjectIndex

          public static java.lang.Object setObjectIndex(java.lang.Object obj,
                                                        double dblIndex,
                                                        java.lang.Object value,
                                                        Context cx,
                                                        Scriptable scope)

      A cheaper and less general version of the above for well-known argument types.

    - #### setObjectIndex

          public static java.lang.Object setObjectIndex(Scriptable obj,
                                                        int index,
                                                        java.lang.Object value,
                                                        Context cx)

    - #### deleteObjectElem

          public static boolean deleteObjectElem(Scriptable target,
                                                 java.lang.Object elem,
                                                 Context cx)

    - #### hasObjectElem

          public static boolean hasObjectElem(Scriptable target,
                                              java.lang.Object elem,
                                              Context cx)

    - #### refGet

          public static java.lang.Object refGet(Ref ref,
                                                Context cx)

    - #### refSet

          @Deprecated
          public static java.lang.Object refSet(Ref ref,
                                                            java.lang.Object value,
                                                            Context cx)

      Deprecated. Use `refSet(Ref, Object, Context, Scriptable)` instead

    - #### refSet

          public static java.lang.Object refSet(Ref ref,
                                                java.lang.Object value,
                                                Context cx,
                                                Scriptable scope)

    - #### refDel

          public static java.lang.Object refDel(Ref ref,
                                                Context cx)

    - #### specialRef

          @Deprecated
          public static Ref specialRef(java.lang.Object obj,
                                                   java.lang.String specialProperty,
                                                   Context cx)

      Deprecated. Use `specialRef(Object, String, Context, Scriptable)` instead

    - #### specialRef

          public static Ref specialRef(java.lang.Object obj,
                                       java.lang.String specialProperty,
                                       Context cx,
                                       Scriptable scope)

    - #### delete

          @Deprecated
          public static java.lang.Object delete(java.lang.Object obj,
                                                            java.lang.Object id,
                                                            Context cx)

      Deprecated. Use `delete(Object, Object, Context, Scriptable, boolean)` instead

    - #### delete

          @Deprecated
          public static java.lang.Object delete(java.lang.Object obj,
                                                            java.lang.Object id,
                                                            Context cx,
                                                            boolean isName)

      Deprecated. Use `delete(Object, Object, Context, Scriptable, boolean)` instead
      The delete operator See ECMA 11.4.1 In ECMA 0.19, the description of the delete operator (11.4.1) assumes that the [[Delete]] method returns a value. However, the definition of the [[Delete]] operator (8.6.2.5) does not define a return value. Here we assume that the [[Delete]] method doesn't return a value.

    - #### delete

          public static java.lang.Object delete(java.lang.Object obj,
                                                java.lang.Object id,
                                                Context cx,
                                                Scriptable scope,
                                                boolean isName)

      The delete operator See ECMA 11.4.1 In ECMA 0.19, the description of the delete operator (11.4.1) assumes that the [[Delete]] method returns a value. However, the definition of the [[Delete]] operator (8.6.2.5) does not define a return value. Here we assume that the [[Delete]] method doesn't return a value.

    - #### name

          public static java.lang.Object name(Context cx,
                                              Scriptable scope,
                                              java.lang.String name)

      Looks up a name in the scope chain and returns its value.

    - #### bind

          public static Scriptable bind(Context cx,
                                        Scriptable scope,
                                        java.lang.String id)

      Returns the object in the scope chain that has a given property. The order of evaluation of an assignment expression involves evaluating the lhs to a reference, evaluating the rhs, and then modifying the reference with the rhs value. This method is used to 'bind' the given name to an object containing that property so that the side effects of evaluating the rhs do not affect which property is modified. Typically used in conjunction with setName. See ECMA 10.1.4

    - #### setName

          public static java.lang.Object setName(Scriptable bound,
                                                 java.lang.Object value,
                                                 Context cx,
                                                 Scriptable scope,
                                                 java.lang.String id)

    - #### strictSetName

          public static java.lang.Object strictSetName(Scriptable bound,
                                                       java.lang.Object value,
                                                       Context cx,
                                                       Scriptable scope,
                                                       java.lang.String id)

    - #### setConst

          public static java.lang.Object setConst(Scriptable bound,
                                                  java.lang.Object value,
                                                  Context cx,
                                                  java.lang.String id)

    - #### toIterator

          public static Scriptable toIterator(Context cx,
                                              Scriptable scope,
                                              Scriptable obj,
                                              boolean keyOnly)

    - #### enumInit

          @Deprecated
          public static java.lang.Object enumInit(java.lang.Object value,
                                                              Context cx,
                                                              boolean enumValues)

      Deprecated. Use `enumInit(Object, Context, Scriptable, int)` instead
      For backwards compatibility with generated class files

    - #### enumInit

          @Deprecated
          public static java.lang.Object enumInit(java.lang.Object value,
                                                              Context cx,
                                                              int enumType)

      Deprecated. Use `enumInit(Object, Context, Scriptable, int)` instead

    - #### enumInit

          public static java.lang.Object enumInit(java.lang.Object value,
                                                  Context cx,
                                                  Scriptable scope,
                                                  int enumType)

    - #### setEnumNumbers

          public static void setEnumNumbers(java.lang.Object enumObj,
                                            boolean enumNumbers)

    - #### enumNext

          public static java.lang.Boolean enumNext(java.lang.Object enumObj)

    - #### enumId

          public static java.lang.Object enumId(java.lang.Object enumObj,
                                                Context cx)

    - #### enumValue

          public static java.lang.Object enumValue(java.lang.Object enumObj,
                                                   Context cx)

    - #### getNameFunctionAndThis

          public static Callable getNameFunctionAndThis(java.lang.String name,
                                                        Context cx,
                                                        Scriptable scope)

      Prepare for calling name(...): return function corresponding to name and make current top scope available as ScriptRuntime.lastStoredScriptable() for consumption as thisObj. The caller must call ScriptRuntime.lastStoredScriptable() immediately after calling this method.

    - #### getElemFunctionAndThis

          @Deprecated
          public static Callable getElemFunctionAndThis(java.lang.Object obj,
                                                                    java.lang.Object elem,
                                                                    Context cx)

      Deprecated. Use `getElemFunctionAndThis(Object, Object, Context, Scriptable)` instead
      Prepare for calling obj[id](...): return function corresponding to obj[id] and make obj properly converted to Scriptable available as ScriptRuntime.lastStoredScriptable() for consumption as thisObj. The caller must call ScriptRuntime.lastStoredScriptable() immediately after calling this method.

    - #### getElemFunctionAndThis

          public static Callable getElemFunctionAndThis(java.lang.Object obj,
                                                        java.lang.Object elem,
                                                        Context cx,
                                                        Scriptable scope)

      Prepare for calling obj[id](...): return function corresponding to obj[id] and make obj properly converted to Scriptable available as ScriptRuntime.lastStoredScriptable() for consumption as thisObj. The caller must call ScriptRuntime.lastStoredScriptable() immediately after calling this method.

    - #### getPropFunctionAndThis

          @Deprecated
          public static Callable getPropFunctionAndThis(java.lang.Object obj,
                                                                    java.lang.String property,
                                                                    Context cx)

      Deprecated. Use `getPropFunctionAndThis(Object, String, Context, Scriptable)` instead
      Prepare for calling obj.property(...): return function corresponding to obj.property and make obj properly converted to Scriptable available as ScriptRuntime.lastStoredScriptable() for consumption as thisObj. The caller must call ScriptRuntime.lastStoredScriptable() immediately after calling this method. Warning: this doesn't allow to resolve primitive prototype properly when many top scopes are involved.

    - #### getPropFunctionAndThis

          public static Callable getPropFunctionAndThis(java.lang.Object obj,
                                                        java.lang.String property,
                                                        Context cx,
                                                        Scriptable scope)

      Prepare for calling obj.property(...): return function corresponding to obj.property and make obj properly converted to Scriptable available as ScriptRuntime.lastStoredScriptable() for consumption as thisObj. The caller must call ScriptRuntime.lastStoredScriptable() immediately after calling this method.

    - #### getValueFunctionAndThis

          public static Callable getValueFunctionAndThis(java.lang.Object value,
                                                         Context cx)

      Prepare for calling (...): return function corresponding to and make parent scope of the function available as ScriptRuntime.lastStoredScriptable() for consumption as thisObj. The caller must call ScriptRuntime.lastStoredScriptable() immediately after calling this method.

    - #### callRef

          public static Ref callRef(Callable function,
                                    Scriptable thisObj,
                                    java.lang.Object[] args,
                                    Context cx)

      Perform function call in reference context. Should always return value that can be passed to `refGet(Ref, Context)` or `refSet(Ref, Object, Context)` arbitrary number of times. The args array reference should not be stored in any object that is can be GC-reachable after this method returns. If this is necessary, store args.clone(), not args array itself.

    - #### newObject

          public static Scriptable newObject(java.lang.Object fun,
                                             Context cx,
                                             Scriptable scope,
                                             java.lang.Object[] args)

      Operator new. See ECMA 11.2.2

    - #### callSpecial

          public static java.lang.Object callSpecial(Context cx,
                                                     Callable fun,
                                                     Scriptable thisObj,
                                                     java.lang.Object[] args,
                                                     Scriptable scope,
                                                     Scriptable callerThis,
                                                     int callType,
                                                     java.lang.String filename,
                                                     int lineNumber)

    - #### newSpecial

          public static java.lang.Object newSpecial(Context cx,
                                                    java.lang.Object fun,
                                                    java.lang.Object[] args,
                                                    Scriptable scope,
                                                    int callType)

    - #### applyOrCall

          public static java.lang.Object applyOrCall(boolean isApply,
                                                     Context cx,
                                                     Scriptable scope,
                                                     Scriptable thisObj,
                                                     java.lang.Object[] args)

      Function.prototype.apply and Function.prototype.call See Ecma 15.3.4.[34]

    - #### evalSpecial

          public static java.lang.Object evalSpecial(Context cx,
                                                     Scriptable scope,
                                                     java.lang.Object thisArg,
                                                     java.lang.Object[] args,
                                                     java.lang.String filename,
                                                     int lineNumber)

      The eval function property of the global object. See ECMA 15.1.2.1

    - #### typeof

          public static java.lang.String typeof(java.lang.Object value)

      The typeof operator

    - #### typeofName

          public static java.lang.String typeofName(Scriptable scope,
                                                    java.lang.String id)

      The typeof operator that correctly handles the undefined case

    - #### add

          public static java.lang.Object add(java.lang.Object val1,
                                             java.lang.Object val2,
                                             Context cx)

    - #### add

          public static java.lang.CharSequence add(java.lang.CharSequence val1,
                                                   java.lang.Object val2)

    - #### add

          public static java.lang.CharSequence add(java.lang.Object val1,
                                                   java.lang.CharSequence val2)

    - #### nameIncrDecr

          @Deprecated
          public static java.lang.Object nameIncrDecr(Scriptable scopeChain,
                                                                  java.lang.String id,
                                                                  int incrDecrMask)

      Deprecated. Use `nameIncrDecr(Scriptable, String, Context, int)` instead
      The method is only present for compatibility.

    - #### nameIncrDecr

          public static java.lang.Object nameIncrDecr(Scriptable scopeChain,
                                                      java.lang.String id,
                                                      Context cx,
                                                      int incrDecrMask)

    - #### propIncrDecr

          @Deprecated
          public static java.lang.Object propIncrDecr(java.lang.Object obj,
                                                                  java.lang.String id,
                                                                  Context cx,
                                                                  int incrDecrMask)

      Deprecated. Use `propIncrDecr(Object, String, Context, Scriptable, int)` instead

    - #### propIncrDecr

          public static java.lang.Object propIncrDecr(java.lang.Object obj,
                                                      java.lang.String id,
                                                      Context cx,
                                                      Scriptable scope,
                                                      int incrDecrMask)

    - #### elemIncrDecr

          @Deprecated
          public static java.lang.Object elemIncrDecr(java.lang.Object obj,
                                                                  java.lang.Object index,
                                                                  Context cx,
                                                                  int incrDecrMask)

      Deprecated. Use `elemIncrDecr(Object, Object, Context, Scriptable, int)` instead

    - #### elemIncrDecr

          public static java.lang.Object elemIncrDecr(java.lang.Object obj,
                                                      java.lang.Object index,
                                                      Context cx,
                                                      Scriptable scope,
                                                      int incrDecrMask)

    - #### refIncrDecr

          @Deprecated
          public static java.lang.Object refIncrDecr(Ref ref,
                                                                 Context cx,
                                                                 int incrDecrMask)

      Deprecated. Use `refIncrDecr(Ref, Context, Scriptable, int)` instead

    - #### refIncrDecr

          public static java.lang.Object refIncrDecr(Ref ref,
                                                     Context cx,
                                                     Scriptable scope,
                                                     int incrDecrMask)

    - #### toPrimitive

          public static java.lang.Object toPrimitive(java.lang.Object val)

    - #### toPrimitive

          public static java.lang.Object toPrimitive(java.lang.Object val,
                                                     java.lang.Class<?> typeHint)

    - #### eq

          public static boolean eq(java.lang.Object x,
                                   java.lang.Object y)

      Equality See ECMA 11.9

    - #### same

          public static boolean same(java.lang.Object x,
                                     java.lang.Object y)

    - #### isNaN

          public static boolean isNaN(java.lang.Object n)

    - #### isPrimitive

          public static boolean isPrimitive(java.lang.Object obj)

    - #### shallowEq

          public static boolean shallowEq(java.lang.Object x,
                                          java.lang.Object y)

    - #### instanceOf

          public static boolean instanceOf(java.lang.Object a,
                                           java.lang.Object b,
                                           Context cx)

      The instanceof operator.
      Returns:
        a instanceof b

    - #### jsDelegatesTo

          public static boolean jsDelegatesTo(Scriptable lhs,
                                              Scriptable rhs)

      Delegates to
      Returns:
        true iff rhs appears in lhs' proto chain

    - #### in

          public static boolean in(java.lang.Object a,
                                   java.lang.Object b,
                                   Context cx)

      The in operator. This is a new JS 1.3 language feature. The in operator mirrors the operation of the for .. in construct, and tests whether the rhs has the property given by the lhs. It is different from the for .. in construct in that:
      - it doesn't perform ToObject on the right hand side
      - it returns true for DontEnum properties.
      Parameters:
        `a` - the left hand operand
        `b` - the right hand operand
      Returns:
        true if property name or element number a is a property of b

    - #### cmp_LT

          public static boolean cmp_LT(java.lang.Object val1,
                                       java.lang.Object val2)

    - #### cmp_LE

          public static boolean cmp_LE(java.lang.Object val1,
                                       java.lang.Object val2)

    - #### getGlobal

          public static ScriptableObject getGlobal(Context cx)

    - #### hasTopCall

          public static boolean hasTopCall(Context cx)

    - #### getTopCallScope

          public static Scriptable getTopCallScope(Context cx)

    - #### doTopCall

          public static java.lang.Object doTopCall(Callable callable,
                                                   Context cx,
                                                   Scriptable scope,
                                                   Scriptable thisObj,
                                                   java.lang.Object[] args)

      Deprecated. Use `doTopCall(Callable, Context, Scriptable, Scriptable, Object[], boolean)` instead

    - #### doTopCall

          public static java.lang.Object doTopCall(Callable callable,
                                                   Context cx,
                                                   Scriptable scope,
                                                   Scriptable thisObj,
                                                   java.lang.Object[] args,
                                                   boolean isTopLevelStrict)

    - #### addInstructionCount

          public static void addInstructionCount(Context cx,
                                                 int instructionsToAdd)

    - #### initScript

          public static void initScript(NativeFunction funObj,
                                        Scriptable thisObj,
                                        Context cx,
                                        Scriptable scope,
                                        boolean evalScript)

    - #### createFunctionActivation

          @Deprecated
          public static Scriptable createFunctionActivation(NativeFunction funObj,
                                                                        Scriptable scope,
                                                                        java.lang.Object[] args)

      Deprecated. Use `createFunctionActivation(NativeFunction, Scriptable, Object[], boolean)` instead

    - #### createFunctionActivation

          public static Scriptable createFunctionActivation(NativeFunction funObj,
                                                            Scriptable scope,
                                                            java.lang.Object[] args,
                                                            boolean isStrict)

    - #### createArrowFunctionActivation

          public static Scriptable createArrowFunctionActivation(NativeFunction funObj,
                                                                 Scriptable scope,
                                                                 java.lang.Object[] args,
                                                                 boolean isStrict)

    - #### enterActivationFunction

          public static void enterActivationFunction(Context cx,
                                                     Scriptable scope)

    - #### exitActivationFunction

          public static void exitActivationFunction(Context cx)

    - #### newCatchScope

          public static Scriptable newCatchScope(java.lang.Throwable t,
                                                 Scriptable lastCatchScope,
                                                 java.lang.String exceptionName,
                                                 Context cx,
                                                 Scriptable scope)

    - #### wrapException

          public static Scriptable wrapException(java.lang.Throwable t,
                                                 Scriptable scope,
                                                 Context cx)

    - #### enterWith

          public static Scriptable enterWith(java.lang.Object obj,
                                             Context cx,
                                             Scriptable scope)

    - #### leaveWith

          public static Scriptable leaveWith(Scriptable scope)

    - #### enterDotQuery

          public static Scriptable enterDotQuery(java.lang.Object value,
                                                 Scriptable scope)

    - #### updateDotQuery

          public static java.lang.Object updateDotQuery(boolean value,
                                                        Scriptable scope)

    - #### leaveDotQuery

          public static Scriptable leaveDotQuery(Scriptable scope)

    - #### setFunctionProtoAndParent

          public static void setFunctionProtoAndParent(BaseFunction fn,
                                                       Scriptable scope)

    - #### setObjectProtoAndParent

          public static void setObjectProtoAndParent(ScriptableObject object,
                                                     Scriptable scope)

    - #### setBuiltinProtoAndParent

          public static void setBuiltinProtoAndParent(ScriptableObject object,
                                                      Scriptable scope,
                                                      TopLevel.Builtins type)

    - #### initFunction

          public static void initFunction(Context cx,
                                          Scriptable scope,
                                          NativeFunction function,
                                          int type,
                                          boolean fromEvalCode)

    - #### newArrayLiteral

          public static Scriptable newArrayLiteral(java.lang.Object[] objects,
                                                   int[] skipIndices,
                                                   Context cx,
                                                   Scriptable scope)

    - #### newObjectLiteral

          @Deprecated
          public static Scriptable newObjectLiteral(java.lang.Object[] propertyIds,
                                                                java.lang.Object[] propertyValues,
                                                                Context cx,
                                                                Scriptable scope)

      Deprecated. Use `newObjectLiteral(Object[], Object[], int[], Context, Scriptable)` instead
      This method is here for backward compat with existing compiled code. It is called when an object literal is compiled. The next instance will be the version called from new code. This method only present for compatibility.

    - #### newObjectLiteral

          public static Scriptable newObjectLiteral(java.lang.Object[] propertyIds,
                                                    java.lang.Object[] propertyValues,
                                                    int[] getterSetters,
                                                    Context cx,
                                                    Scriptable scope)

    - #### isArrayObject

          public static boolean isArrayObject(java.lang.Object obj)

    - #### getArrayElements

          public static java.lang.Object[] getArrayElements(Scriptable object)

    - #### getMessage0

          public static java.lang.String getMessage0(java.lang.String messageId)

    - #### getMessage1

          public static java.lang.String getMessage1(java.lang.String messageId,
                                                     java.lang.Object arg1)

    - #### getMessage2

          public static java.lang.String getMessage2(java.lang.String messageId,
                                                     java.lang.Object arg1,
                                                     java.lang.Object arg2)

    - #### getMessage3

          public static java.lang.String getMessage3(java.lang.String messageId,
                                                     java.lang.Object arg1,
                                                     java.lang.Object arg2,
                                                     java.lang.Object arg3)

    - #### getMessage4

          public static java.lang.String getMessage4(java.lang.String messageId,
                                                     java.lang.Object arg1,
                                                     java.lang.Object arg2,
                                                     java.lang.Object arg3,
                                                     java.lang.Object arg4)

    - #### getMessage

          public static java.lang.String getMessage(java.lang.String messageId,
                                                    java.lang.Object[] arguments)

    - #### constructError

          public static EcmaError constructError(java.lang.String error,
                                                 java.lang.String message)

    - #### constructError

          public static EcmaError constructError(java.lang.String error,
                                                 java.lang.String message,
                                                 int lineNumberDelta)

    - #### constructError

          public static EcmaError constructError(java.lang.String error,
                                                 java.lang.String message,
                                                 java.lang.String sourceName,
                                                 int lineNumber,
                                                 java.lang.String lineSource,
                                                 int columnNumber)

    - #### rangeError

          public static EcmaError rangeError(java.lang.String message)

    - #### typeError

          public static EcmaError typeError(java.lang.String message)

    - #### typeError0

          public static EcmaError typeError0(java.lang.String messageId)

    - #### typeError1

          public static EcmaError typeError1(java.lang.String messageId,
                                             java.lang.Object arg1)

    - #### typeError2

          public static EcmaError typeError2(java.lang.String messageId,
                                             java.lang.Object arg1,
                                             java.lang.Object arg2)

    - #### typeError3

          public static EcmaError typeError3(java.lang.String messageId,
                                             java.lang.String arg1,
                                             java.lang.String arg2,
                                             java.lang.String arg3)

    - #### undefReadError

          public static java.lang.RuntimeException undefReadError(java.lang.Object object,
                                                                  java.lang.Object id)

    - #### undefCallError

          public static java.lang.RuntimeException undefCallError(java.lang.Object object,
                                                                  java.lang.Object id)

    - #### undefWriteError

          public static java.lang.RuntimeException undefWriteError(java.lang.Object object,
                                                                   java.lang.Object id,
                                                                   java.lang.Object value)

    - #### notFoundError

          public static java.lang.RuntimeException notFoundError(Scriptable object,
                                                                 java.lang.String property)

    - #### notFunctionError

          public static java.lang.RuntimeException notFunctionError(java.lang.Object value)

    - #### notFunctionError

          public static java.lang.RuntimeException notFunctionError(java.lang.Object value,
                                                                    java.lang.Object messageHelper)

    - #### notFunctionError

          public static java.lang.RuntimeException notFunctionError(java.lang.Object obj,
                                                                    java.lang.Object value,
                                                                    java.lang.String propertyName)

    - #### getRegExpProxy

          public static RegExpProxy getRegExpProxy(Context cx)

    - #### setRegExpProxy

          public static void setRegExpProxy(Context cx,
                                            RegExpProxy proxy)

    - #### checkRegExpProxy

          public static RegExpProxy checkRegExpProxy(Context cx)

    - #### wrapRegExp

          public static Scriptable wrapRegExp(Context cx,
                                              Scriptable scope,
                                              java.lang.Object compiled)

    - #### escapeAttributeValue

          public static java.lang.String escapeAttributeValue(java.lang.Object value,
                                                              Context cx)

      Escapes the reserved characters in a value of an attribute
      Parameters:
        `value` - Unescaped text
      Returns:
        The escaped text

    - #### escapeTextValue

          public static java.lang.String escapeTextValue(java.lang.Object value,
                                                         Context cx)

      Escapes the reserved characters in a value of a text node
      Parameters:
        `value` - Unescaped text
      Returns:
        The escaped text

    - #### memberRef

          public static Ref memberRef(java.lang.Object obj,
                                      java.lang.Object elem,
                                      Context cx,
                                      int memberTypeFlags)

    - #### memberRef

          public static Ref memberRef(java.lang.Object obj,
                                      java.lang.Object namespace,
                                      java.lang.Object elem,
                                      Context cx,
                                      int memberTypeFlags)

    - #### nameRef

          public static Ref nameRef(java.lang.Object name,
                                    Context cx,
                                    Scriptable scope,
                                    int memberTypeFlags)

    - #### nameRef

          public static Ref nameRef(java.lang.Object namespace,
                                    java.lang.Object name,
                                    Context cx,
                                    Scriptable scope,
                                    int memberTypeFlags)

    - #### storeUint32Result

          public static void storeUint32Result(Context cx,
                                               long value)

    - #### lastUint32Result

          public static long lastUint32Result(Context cx)

    - #### lastStoredScriptable

          public static Scriptable lastStoredScriptable(Context cx)

    - #### throwError

          public static JavaScriptException throwError(Context cx,
                                                       Scriptable scope,
                                                       java.lang.String message)

      Equivalent to executing "new Error(message, sourceFileName, sourceLineNo)" from JavaScript.
      Parameters:
        `cx` - the current context
        `scope` - the current scope
        `message` - the message
      Returns:
        a JavaScriptException you should throw

    - #### throwCustomError

          public static JavaScriptException throwCustomError(Context cx,
                                                             Scriptable scope,
                                                             java.lang.String constructorName,
                                                             java.lang.String message)

      Equivalent to executing "new $constructorName(message, sourceFileName, sourceLineNo)" from JavaScript.
      Parameters:
        `cx` - the current context
        `scope` - the current scope
        `message` - the message
      Returns:
        a JavaScriptException you should throw