Class ScriptRuntime

  • Direct Known Subclasses:
    OptRuntime

    public class ScriptRuntime
    extends java.lang.Object
    This is the class that implements the runtime.
    • 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_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
      • emptyArgs

        public static final java.lang.Object[] emptyArgs
      • emptyStrings

        public static final java.lang.String[] emptyStrings
    • Method Detail

      • typeErrorThrower

        @Deprecated
        public static BaseFunction typeErrorThrower()
        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)
      • 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)
      • 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​(Context cx,
                                          Scriptable scope,
                                          java.lang.Object val)
        Convert the value to an object. See ECMA 9.9.
      • 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)
      • 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,
                                                     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,
                                                     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

        public static java.lang.Object getObjectPropNoWarn​(java.lang.Object obj,
                                                           java.lang.String property,
                                                           Context cx,
                                                           Scriptable scope)
      • 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

        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

        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

        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

        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

        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,
                                              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.
      • 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)
      • enumInit

        @Deprecated
        public static java.lang.Object enumInit​(java.lang.Object value,
                                                Context cx,
                                                boolean enumValues)
        For backwards compatibility with generated class files
      • 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)
        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)
        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

        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,
                                                    Scriptable scope,
                                                    int incrDecrMask)
      • elemIncrDecr

        public static java.lang.Object elemIncrDecr​(java.lang.Object obj,
                                                    java.lang.Object index,
                                                    Context cx,
                                                    Scriptable scope,
                                                    int incrDecrMask)
      • 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
      • 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)
      • hasTopCall

        public static boolean hasTopCall​(Context cx)
      • addInstructionCount

        public static void addInstructionCount​(Context cx,
                                               int instructionsToAdd)
      • enterActivationFunction

        public static void enterActivationFunction​(Context cx,
                                                   Scriptable scope)
      • exitActivationFunction

        public static void exitActivationFunction​(Context cx)
      • enterDotQuery

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

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

        public static void setFunctionProtoAndParent​(BaseFunction fn,
                                                     Scriptable scope)
      • 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)
        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)
      • 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