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.

Author:
  Norris Boyd

### Nested Class Summary

Nested Classes
`static interface` `ScriptRuntime.MessageProvider` This is an interface defining a message provider.

### Field Summary

Fields
`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_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
`protected` `ScriptRuntime()` No instances should be created.

### Method Summary

Methods
`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` `createFunctionActivation(NativeFunction funObj, Scriptable scope, java.lang.Object[] args)`
`static java.lang.Object` `delete(java.lang.Object obj, java.lang.Object id, Context cx)` Deprecated.
`static java.lang.Object` `delete(java.lang.Object obj, java.lang.Object id, Context cx, 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)`
`static java.lang.Object` `elemIncrDecr(java.lang.Object obj, java.lang.Object index, Context cx, 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)`
`static java.lang.Object` `enumInit(java.lang.Object value, Context cx, 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)` 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)` Call obj.[[Get]](id)
`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)`
`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)` Version of getObjectElem when elem is a valid JS identifier name.
`static java.lang.Object` `getObjectProp(java.lang.Object obj, java.lang.String property, Context cx, Scriptable scope)`
`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)`
`static Callable` `getPropFunctionAndThis(java.lang.Object obj, java.lang.String property, Context cx)` 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 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 <expression>(...): return function corresponding to <expression> 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 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` `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. The method is only present for compatibility.
`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. This method only present for compatibility.
`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)`
`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)`
`static java.lang.Object` `refSet(Ref ref, java.lang.Object value, Context cx)`
`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)`
`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)`
`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)` 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)`
`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` `throwError(Context cx, Scriptable scope, java.lang.String message)` Equivalent to executing "new Error(message)" 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)` Warning: this doesn't allow to resolve primitive prototype properly when many top scopes are involved
`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.String arg1)`
`static EcmaError` `typeError2(java.lang.String messageId, java.lang.String arg1, java.lang.String arg2)`
`static EcmaError` `typeError3(java.lang.String messageId, java.lang.String arg1, java.lang.String arg2, java.lang.String arg3)`
`static BaseFunction` `typeErrorThrower()` 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 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

#### 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

    public static BaseFunction typeErrorThrower()

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

#### isRhinoRuntimeType

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

#### 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

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

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

    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

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

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

#### call

    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

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

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

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

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)

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

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

#### getObjectIndex

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

#### getObjectIndex

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

#### setObjectElem

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

#### setObjectElem

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

#### setObjectProp

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

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

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

#### 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

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

#### refDel

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

#### specialRef

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

#### delete

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

Deprecated.

#### delete

    public static java.lang.Object delete(java.lang.Object obj,
                          java.lang.Object id,
                          Context cx,
                          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

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

#### enumInit

    public static java.lang.Object enumInit(java.lang.Object value,
                            Context cx,
                            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

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

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

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

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 <expression>(...): return function corresponding to <expression> 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

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

Deprecated. 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

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

#### elemIncrDecr

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

#### refIncrDecr

    public static java.lang.Object refIncrDecr(Ref ref,
                               Context cx,
                               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

#### 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)

#### 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

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

#### 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)

#### 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

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

Deprecated. This method only present for compatibility.
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.

#### 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)

#### 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.String arg1)

#### typeError2

    public static EcmaError typeError2(java.lang.String messageId,
                       java.lang.String arg1,
                       java.lang.String 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)" from JavaScript.

Parameters:
  `cx` - the current context
  `scope` - the current scope
  `message` - the message
Returns:
  a JavaScriptException you should throw