Package org.mozilla.javascript
Class ScriptRuntime
- java.lang.Object
-
- org.mozilla.javascript.ScriptRuntime
-
- Direct Known Subclasses:
OptRuntime
public class ScriptRuntime extends Object
This is the class that implements the runtime.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
ScriptRuntime.MessageProvider
This is an interface defining a message provider.
-
Field Summary
Fields Modifier and Type Field Description static Class<?>
BooleanClass
static Class<?>
ByteClass
static Class<?>
CharacterClass
static Class<?>
ClassClass
static Class<?>
ContextClass
static Class<?>
ContextFactoryClass
static Class<?>
DateClass
static Class<?>
DoubleClass
static Object[]
emptyArgs
static 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 Class<?>
FloatClass
static Class<?>
FunctionClass
static Class<?>
IntegerClass
static Class<?>
LongClass
static ScriptRuntime.MessageProvider
messageProvider
static double
NaN
static Double
NaNobj
static double
negativeZero
static Class<?>
NumberClass
static Class<?>
ObjectClass
static Locale
ROOT_LOCALE
static Class<Scriptable>
ScriptableClass
static Class<?>
ScriptableObjectClass
static Class<?>
ShortClass
static Class<?>
StringClass
-
Method Summary
All Methods Static Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static CharSequence
add(CharSequence val1, Object val2)
static CharSequence
add(Object val1, CharSequence val2)
static Object
add(Object val1, Object val2, Context cx)
static void
addInstructionCount(Context cx, int instructionsToAdd)
static Object
applyOrCall(boolean isApply, Context cx, Scriptable scope, Scriptable thisObj, Object[] args)
Function.prototype.apply and Function.prototype.call See Ecma 15.3.4.[34]static Scriptable
bind(Context cx, Scriptable scope, String id)
Returns the object in the scope chain that has a given property.static Object
call(Context cx, Object fun, Object thisArg, Object[] args, Scriptable scope)
Deprecated.The method is only present for compatibility.static Ref
callRef(Callable function, Scriptable thisObj, Object[] args, Context cx)
Perform function call in reference context.static Object
callSpecial(Context cx, Callable fun, Scriptable thisObj, Object[] args, Scriptable scope, Scriptable callerThis, int callType, String filename, int lineNumber)
static RegExpProxy
checkRegExpProxy(Context cx)
static boolean
cmp_LE(Object val1, Object val2)
static boolean
cmp_LT(Object val1, Object val2)
static EcmaError
constructError(String error, String message)
static EcmaError
constructError(String error, String message, int lineNumberDelta)
static EcmaError
constructError(String error, String message, String sourceName, int lineNumber, String lineSource, int columnNumber)
static Scriptable
createFunctionActivation(NativeFunction funObj, Scriptable scope, Object[] args)
static Object
delete(Object obj, Object id, Context cx)
Deprecated.static Object
delete(Object obj, Object id, Context cx, boolean isName)
Deprecated.static Object
delete(Object obj, Object id, Context cx, Scriptable scope, boolean isName)
The delete operator See ECMA 11.4.1 In ECMA 0.19, the description of the delete operator (11.4.1) assumes that the [[Delete]] method returns a value.static boolean
deleteObjectElem(Scriptable target, Object elem, Context cx)
static Object
doTopCall(Callable callable, Context cx, Scriptable scope, Scriptable thisObj, Object[] args)
static Object
elemIncrDecr(Object obj, Object index, Context cx, int incrDecrMask)
Deprecated.static Object
elemIncrDecr(Object obj, Object index, Context cx, Scriptable scope, int incrDecrMask)
static void
enterActivationFunction(Context cx, Scriptable scope)
static Scriptable
enterDotQuery(Object value, Scriptable scope)
static Scriptable
enterWith(Object obj, Context cx, Scriptable scope)
static Object
enumId(Object enumObj, Context cx)
static Object
enumInit(Object value, Context cx, boolean enumValues)
Deprecated.UseenumInit(Object, Context, Scriptable, int)
insteadstatic Object
enumInit(Object value, Context cx, int enumType)
Deprecated.UseenumInit(Object, Context, Scriptable, int)
insteadstatic Object
enumInit(Object value, Context cx, Scriptable scope, int enumType)
static Boolean
enumNext(Object enumObj)
static Object
enumValue(Object enumObj, Context cx)
static boolean
eq(Object x, Object y)
Equality See ECMA 11.9static String
escapeAttributeValue(Object value, Context cx)
Escapes the reserved characters in a value of an attributestatic String
escapeString(String s)
static String
escapeString(String s, char escapeQuote)
For escaping strings printed by object and array literals; not quite the same as 'escape.'static String
escapeTextValue(Object value, Context cx)
Escapes the reserved characters in a value of a text nodestatic Object
evalSpecial(Context cx, Scriptable scope, Object thisArg, Object[] args, String filename, int lineNumber)
The eval function property of the global object.static void
exitActivationFunction(Context cx)
static Object[]
getArrayElements(Scriptable object)
static Callable
getElemFunctionAndThis(Object obj, Object elem, Context cx)
Deprecated.static Callable
getElemFunctionAndThis(Object obj, Object elem, Context cx, Scriptable scope)
Prepare for calling obj[id](...): return function corresponding to obj[id] and make obj properly converted to Scriptable available as ScriptRuntime.lastStoredScriptable() for consumption as thisObj.static ScriptableObject
getGlobal(Context cx)
static ScriptableObject
getLibraryScopeOrNull(Scriptable scope)
static String
getMessage(String messageId, Object[] arguments)
static String
getMessage0(String messageId)
static String
getMessage1(String messageId, Object arg1)
static String
getMessage2(String messageId, Object arg1, Object arg2)
static String
getMessage3(String messageId, Object arg1, Object arg2, Object arg3)
static String
getMessage4(String messageId, Object arg1, Object arg2, Object arg3, Object arg4)
static Callable
getNameFunctionAndThis(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 Object
getObjectElem(Object obj, Object elem, Context cx)
Deprecated.static Object
getObjectElem(Object obj, Object elem, Context cx, Scriptable scope)
Call obj.[[Get]](id)static Object
getObjectElem(Scriptable obj, Object elem, Context cx)
static Object
getObjectIndex(Object obj, double dblIndex, Context cx)
Deprecated.static Object
getObjectIndex(Object obj, double dblIndex, Context cx, Scriptable scope)
A cheaper and less general version of the above for well-known argument types.static Object
getObjectIndex(Scriptable obj, int index, Context cx)
static Object
getObjectProp(Object obj, String property, Context cx)
Deprecated.static Object
getObjectProp(Object obj, String property, Context cx, Scriptable scope)
Version of getObjectElem when elem is a valid JS identifier name.static Object
getObjectProp(Scriptable obj, String property, Context cx)
static Object
getObjectPropNoWarn(Object obj, String property, Context cx)
Deprecated.static Object
getObjectPropNoWarn(Object obj, String property, Context cx, Scriptable scope)
static Callable
getPropFunctionAndThis(Object obj, String property, Context cx)
Deprecated.static Callable
getPropFunctionAndThis(Object obj, 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 Object
getTopLevelProp(Scriptable scope, String id)
static Callable
getValueFunctionAndThis(Object value, Context cx)
Prepare for calling(...): return function corresponding to and make parent scope of the function available as ScriptRuntime.lastStoredScriptable() for consumption as thisObj. static boolean
hasObjectElem(Scriptable target, Object elem, Context cx)
static boolean
hasTopCall(Context cx)
static boolean
in(Object a, Object b, Context cx)
The in operator.static long
indexFromString(String str)
Return -1L if str is not an index, or the index value as lower 32 bits of the result.static void
initFunction(Context cx, Scriptable scope, NativeFunction function, int type, boolean fromEvalCode)
static ScriptableObject
initSafeStandardObjects(Context cx, ScriptableObject scope, boolean sealed)
static void
initScript(NativeFunction funObj, Scriptable thisObj, Context cx, Scriptable scope, boolean evalScript)
static ScriptableObject
initStandardObjects(Context cx, ScriptableObject scope, boolean sealed)
static boolean
instanceOf(Object a, Object b, Context cx)
The instanceof operator.static boolean
isArrayObject(Object obj)
static boolean
isJSLineTerminator(int c)
static boolean
isJSWhitespaceOrLineTerminator(int c)
static boolean
isPrimitive(Object obj)
static boolean
isRhinoRuntimeType(Class<?> cl)
static boolean
jsDelegatesTo(Scriptable lhs, Scriptable rhs)
Delegates tostatic Scriptable
lastStoredScriptable(Context cx)
static long
lastUint32Result(Context cx)
static Scriptable
leaveDotQuery(Scriptable scope)
static Scriptable
leaveWith(Scriptable scope)
static Ref
memberRef(Object obj, Object namespace, Object elem, Context cx, int memberTypeFlags)
static Ref
memberRef(Object obj, Object elem, Context cx, int memberTypeFlags)
static Object
name(Context cx, Scriptable scope, String name)
Looks up a name in the scope chain and returns its value.static Object
nameIncrDecr(Scriptable scopeChain, String id, int incrDecrMask)
Deprecated.UsenameIncrDecr(Scriptable, String, Context, int)
insteadstatic Object
nameIncrDecr(Scriptable scopeChain, String id, Context cx, int incrDecrMask)
static Ref
nameRef(Object namespace, Object name, Context cx, Scriptable scope, int memberTypeFlags)
static Ref
nameRef(Object name, Context cx, Scriptable scope, int memberTypeFlags)
static Scriptable
newArrayLiteral(Object[] objects, int[] skipIndices, Context cx, Scriptable scope)
static Scriptable
newBuiltinObject(Context cx, Scriptable scope, TopLevel.Builtins type, Object[] args)
static Scriptable
newCatchScope(Throwable t, Scriptable lastCatchScope, String exceptionName, Context cx, Scriptable scope)
static Scriptable
newObject(Object fun, Context cx, Scriptable scope, Object[] args)
Operator new.static Scriptable
newObject(Context cx, Scriptable scope, String constructorName, Object[] args)
static Scriptable
newObjectLiteral(Object[] propertyIds, Object[] propertyValues, int[] getterSetters, Context cx, Scriptable scope)
static Scriptable
newObjectLiteral(Object[] propertyIds, Object[] propertyValues, Context cx, Scriptable scope)
Deprecated.static Object
newSpecial(Context cx, Object fun, Object[] args, Scriptable scope, int callType)
static RuntimeException
notFoundError(Scriptable object, String property)
static RuntimeException
notFunctionError(Object value)
static RuntimeException
notFunctionError(Object value, Object messageHelper)
static RuntimeException
notFunctionError(Object obj, Object value, String propertyName)
static String
numberToString(double d, int base)
static Object[]
padArguments(Object[] args, int count)
Helper function for builtin objects that use the varargs form.static Object
propIncrDecr(Object obj, String id, Context cx, int incrDecrMask)
Deprecated.static Object
propIncrDecr(Object obj, String id, Context cx, Scriptable scope, int incrDecrMask)
static EcmaError
rangeError(String message)
static Object
refDel(Ref ref, Context cx)
static Object
refGet(Ref ref, Context cx)
static Object
refIncrDecr(Ref ref, Context cx, int incrDecrMask)
Deprecated.UserefIncrDecr(Ref, Context, Scriptable, int)
insteadstatic Object
refIncrDecr(Ref ref, Context cx, Scriptable scope, int incrDecrMask)
static Object
refSet(Ref ref, Object value, Context cx)
Deprecated.UserefSet(Ref, Object, Context, Scriptable)
insteadstatic Object
refSet(Ref ref, Object value, Context cx, Scriptable scope)
static Scriptable
requireObjectCoercible(Scriptable val, IdFunctionObject idFuncObj)
static Object
searchDefaultNamespace(Context cx)
static void
setBuiltinProtoAndParent(ScriptableObject object, Scriptable scope, TopLevel.Builtins type)
static Object
setConst(Scriptable bound, Object value, Context cx, String id)
static Object
setDefaultNamespace(Object namespace, Context cx)
static void
setEnumNumbers(Object enumObj, boolean enumNumbers)
static void
setFunctionProtoAndParent(BaseFunction fn, Scriptable scope)
static Object
setName(Scriptable bound, Object value, Context cx, Scriptable scope, String id)
static Object
setObjectElem(Object obj, Object elem, Object value, Context cx)
Deprecated.static Object
setObjectElem(Object obj, Object elem, Object value, Context cx, Scriptable scope)
Call obj.[[Put]](id, value)static Object
setObjectElem(Scriptable obj, Object elem, Object value, Context cx)
static Object
setObjectIndex(Object obj, double dblIndex, Object value, Context cx)
Deprecated.static Object
setObjectIndex(Object obj, double dblIndex, Object value, Context cx, Scriptable scope)
A cheaper and less general version of the above for well-known argument types.static Object
setObjectIndex(Scriptable obj, int index, Object value, Context cx)
static Object
setObjectProp(Object obj, String property, Object value, Context cx)
Deprecated.static Object
setObjectProp(Object obj, String property, Object value, Context cx, Scriptable scope)
Version of setObjectElem when elem is a valid JS identifier name.static Object
setObjectProp(Scriptable obj, String property, Object value, Context cx)
static void
setObjectProtoAndParent(ScriptableObject object, Scriptable scope)
static void
setRegExpProxy(Context cx, RegExpProxy proxy)
static boolean
shallowEq(Object x, Object y)
static Ref
specialRef(Object obj, String specialProperty, Context cx)
Deprecated.UsespecialRef(Object, String, Context, Scriptable)
insteadstatic Ref
specialRef(Object obj, String specialProperty, Context cx, Scriptable scope)
static void
storeUint32Result(Context cx, long value)
static Object
strictSetName(Scriptable bound, Object value, Context cx, Scriptable scope, String id)
static long
testUint32String(String str)
If str is a decimal presentation of Uint32 value, return it as long.static JavaScriptException
throwCustomError(Context cx, Scriptable scope, String constructorName, String message)
Equivalent to executing "new $constructorName(message, sourceFileName, sourceLineNo)" from JavaScript.static JavaScriptException
throwError(Context cx, Scriptable scope, String message)
Equivalent to executing "new Error(message, sourceFileName, sourceLineNo)" from JavaScript.static boolean
toBoolean(Object val)
Convert the value to a boolean.static CharSequence
toCharSequence(Object val)
static int
toInt32(double d)
static int
toInt32(Object val)
See ECMA 9.5.static int
toInt32(Object[] args, int index)
static double
toInteger(double d)
static double
toInteger(Object val)
See ECMA 9.4.static double
toInteger(Object[] args, int index)
static Scriptable
toIterator(Context cx, Scriptable scope, Scriptable obj, boolean keyOnly)
static double
toNumber(Object val)
Convert the value to a number.static double
toNumber(Object[] args, int index)
static double
toNumber(String s)
ToNumber applied to the String type See ECMA 9.3.1static Scriptable
toObject(Context cx, Scriptable scope, Object val)
Convert the value to an object.static Scriptable
toObject(Context cx, Scriptable scope, Object val, Class<?> staticClass)
Deprecated.UsetoObject(Context, Scriptable, Object)
instead.static Scriptable
toObject(Scriptable scope, Object val)
static Scriptable
toObject(Scriptable scope, Object val, Class<?> staticClass)
Deprecated.UsetoObject(Scriptable, Object)
instead.static Scriptable
toObjectOrNull(Context cx, Object obj)
Deprecated.UsetoObjectOrNull(Context, Object, Scriptable)
insteadstatic Scriptable
toObjectOrNull(Context cx, Object obj, Scriptable scope)
static Object
toPrimitive(Object val)
static Object
toPrimitive(Object val, Class<?> typeHint)
static String
toString(double val)
Optimized version of toString(Object) for numbers.static String
toString(Object val)
Convert the value to a string.static String
toString(Object[] args, int index)
static char
toUint16(Object val)
See ECMA 9.7.static long
toUint32(double d)
See ECMA 9.6.static long
toUint32(Object val)
static EcmaError
typeError(String message)
static EcmaError
typeError0(String messageId)
static EcmaError
typeError1(String messageId, Object arg1)
static EcmaError
typeError2(String messageId, Object arg1, Object arg2)
static EcmaError
typeError3(String messageId, String arg1, String arg2, String arg3)
static BaseFunction
typeErrorThrower()
Deprecated.static BaseFunction
typeErrorThrower(Context cx)
Returns representation of the [[ThrowTypeError]] object.static String
typeof(Object value)
The typeof operatorstatic String
typeofName(Scriptable scope, String id)
The typeof operator that correctly handles the undefined casestatic RuntimeException
undefCallError(Object object, Object id)
static RuntimeException
undefReadError(Object object, Object id)
static RuntimeException
undefWriteError(Object object, Object id, Object value)
static Object
updateDotQuery(boolean value, Scriptable scope)
static Boolean
wrapBoolean(boolean b)
static Scriptable
wrapException(Throwable t, Scriptable scope, Context cx)
static Integer
wrapInt(int i)
static Number
wrapNumber(double x)
static Scriptable
wrapRegExp(Context cx, Scriptable scope, Object compiled)
-
-
-
Field Detail
-
BooleanClass
public static final Class<?> BooleanClass
-
ByteClass
public static final Class<?> ByteClass
-
CharacterClass
public static final Class<?> CharacterClass
-
ClassClass
public static final Class<?> ClassClass
-
DoubleClass
public static final Class<?> DoubleClass
-
FloatClass
public static final Class<?> FloatClass
-
IntegerClass
public static final Class<?> IntegerClass
-
LongClass
public static final Class<?> LongClass
-
NumberClass
public static final Class<?> NumberClass
-
ObjectClass
public static final Class<?> ObjectClass
-
ShortClass
public static final Class<?> ShortClass
-
StringClass
public static final Class<?> StringClass
-
DateClass
public static final Class<?> DateClass
-
ContextClass
public static final Class<?> ContextClass
-
ContextFactoryClass
public static final Class<?> ContextFactoryClass
-
FunctionClass
public static final Class<?> FunctionClass
-
ScriptableObjectClass
public static final Class<?> ScriptableObjectClass
-
ScriptableClass
public static final Class<Scriptable> ScriptableClass
-
ROOT_LOCALE
public static Locale ROOT_LOCALE
-
NaN
public static final double NaN
-
negativeZero
public static final double negativeZero
-
NaNobj
public static final 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 Object[] emptyArgs
-
emptyStrings
public static final String[] emptyStrings
-
-
Method Detail
-
typeErrorThrower
@Deprecated public static BaseFunction typeErrorThrower()
Deprecated.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(Class<?> cl)
-
initSafeStandardObjects
public static ScriptableObject initSafeStandardObjects(Context cx, ScriptableObject scope, boolean sealed)
-
initStandardObjects
public static ScriptableObject initStandardObjects(Context cx, ScriptableObject scope, boolean sealed)
-
getLibraryScopeOrNull
public static ScriptableObject getLibraryScopeOrNull(Scriptable scope)
-
isJSLineTerminator
public static boolean isJSLineTerminator(int c)
-
isJSWhitespaceOrLineTerminator
public static boolean isJSWhitespaceOrLineTerminator(int c)
-
wrapBoolean
public static Boolean wrapBoolean(boolean b)
-
wrapInt
public static Integer wrapInt(int i)
-
wrapNumber
public static Number wrapNumber(double x)
-
toBoolean
public static boolean toBoolean(Object val)
Convert the value to a boolean. See ECMA 9.2.
-
toNumber
public static double toNumber(Object val)
Convert the value to a number. See ECMA 9.3.
-
toNumber
public static double toNumber(Object[] args, int index)
-
toNumber
public static double toNumber(String s)
ToNumber applied to the String type See ECMA 9.3.1
-
padArguments
public static Object[] padArguments(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 String escapeString(String s, char escapeQuote)
For escaping strings printed by object and array literals; not quite the same as 'escape.'
-
toCharSequence
public static CharSequence toCharSequence(Object val)
-
toString
public static String toString(double val)
Optimized version of toString(Object) for numbers.
-
numberToString
public static String numberToString(double d, int base)
-
toObject
public static Scriptable toObject(Scriptable scope, Object val)
-
toObjectOrNull
@Deprecated public static Scriptable toObjectOrNull(Context cx, Object obj)
Deprecated.UsetoObjectOrNull(Context, Object, Scriptable)
insteadWarning: This doesn't allow to resolve primitive prototype properly when many top scopes are involved
-
toObjectOrNull
public static Scriptable toObjectOrNull(Context cx, Object obj, Scriptable scope)
- Parameters:
scope
- the scope that should be used to resolve primitive prototype
-
toObject
@Deprecated public static Scriptable toObject(Scriptable scope, Object val, Class<?> staticClass)
Deprecated.UsetoObject(Scriptable, Object)
instead.
-
toObject
public static Scriptable toObject(Context cx, Scriptable scope, Object val)
Convert the value to an object. See ECMA 9.9.
-
toObject
@Deprecated public static Scriptable toObject(Context cx, Scriptable scope, Object val, Class<?> staticClass)
Deprecated.UsetoObject(Context, Scriptable, Object)
instead.
-
call
@Deprecated public static Object call(Context cx, Object fun, Object thisArg, Object[] args, Scriptable scope)
Deprecated.The method is only present for compatibility.
-
newObject
public static Scriptable newObject(Context cx, Scriptable scope, String constructorName, Object[] args)
-
newBuiltinObject
public static Scriptable newBuiltinObject(Context cx, Scriptable scope, TopLevel.Builtins type, Object[] args)
-
toInteger
public static double toInteger(Object val)
See ECMA 9.4.
-
toInteger
public static double toInteger(double d)
-
toInteger
public static double toInteger(Object[] args, int index)
-
toInt32
public static int toInt32(Object val)
See ECMA 9.5.
-
toInt32
public static int toInt32(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(Object val)
-
toUint16
public static char toUint16(Object val)
See ECMA 9.7.
-
getTopLevelProp
public static Object getTopLevelProp(Scriptable scope, String id)
-
indexFromString
public static long indexFromString(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(String str)
If str is a decimal presentation of Uint32 value, return it as long. Othewise return -1L;
-
getObjectElem
@Deprecated public static Object getObjectElem(Object obj, Object elem, Context cx)
Deprecated.Call obj.[[Get]](id)
-
getObjectElem
public static Object getObjectElem(Object obj, Object elem, Context cx, Scriptable scope)
Call obj.[[Get]](id)
-
getObjectElem
public static Object getObjectElem(Scriptable obj, Object elem, Context cx)
-
getObjectProp
@Deprecated public static Object getObjectProp(Object obj, String property, Context cx)
Deprecated.Version of getObjectElem when elem is a valid JS identifier name.
-
getObjectProp
public static Object getObjectProp(Object obj, 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 Object getObjectProp(Scriptable obj, String property, Context cx)
-
getObjectPropNoWarn
@Deprecated public static Object getObjectPropNoWarn(Object obj, String property, Context cx)
Deprecated.
-
getObjectPropNoWarn
public static Object getObjectPropNoWarn(Object obj, String property, Context cx, Scriptable scope)
-
getObjectIndex
@Deprecated public static Object getObjectIndex(Object obj, double dblIndex, Context cx)
Deprecated.A cheaper and less general version of the above for well-known argument types.
-
getObjectIndex
public static Object getObjectIndex(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 Object getObjectIndex(Scriptable obj, int index, Context cx)
-
setObjectElem
@Deprecated public static Object setObjectElem(Object obj, Object elem, Object value, Context cx)
Deprecated.Call obj.[[Put]](id, value)
-
setObjectElem
public static Object setObjectElem(Object obj, Object elem, Object value, Context cx, Scriptable scope)
Call obj.[[Put]](id, value)
-
setObjectElem
public static Object setObjectElem(Scriptable obj, Object elem, Object value, Context cx)
-
setObjectProp
@Deprecated public static Object setObjectProp(Object obj, String property, Object value, Context cx)
Deprecated.Version of setObjectElem when elem is a valid JS identifier name.
-
setObjectProp
public static Object setObjectProp(Object obj, String property, Object value, Context cx, Scriptable scope)
Version of setObjectElem when elem is a valid JS identifier name.
-
setObjectProp
public static Object setObjectProp(Scriptable obj, String property, Object value, Context cx)
-
setObjectIndex
@Deprecated public static Object setObjectIndex(Object obj, double dblIndex, Object value, Context cx)
Deprecated.A cheaper and less general version of the above for well-known argument types.
-
setObjectIndex
public static Object setObjectIndex(Object obj, double dblIndex, Object value, Context cx, Scriptable scope)
A cheaper and less general version of the above for well-known argument types.
-
setObjectIndex
public static Object setObjectIndex(Scriptable obj, int index, Object value, Context cx)
-
deleteObjectElem
public static boolean deleteObjectElem(Scriptable target, Object elem, Context cx)
-
hasObjectElem
public static boolean hasObjectElem(Scriptable target, Object elem, Context cx)
-
refSet
@Deprecated public static Object refSet(Ref ref, Object value, Context cx)
Deprecated.UserefSet(Ref, Object, Context, Scriptable)
instead
-
refSet
public static Object refSet(Ref ref, Object value, Context cx, Scriptable scope)
-
specialRef
@Deprecated public static Ref specialRef(Object obj, String specialProperty, Context cx)
Deprecated.UsespecialRef(Object, String, Context, Scriptable)
instead
-
specialRef
public static Ref specialRef(Object obj, String specialProperty, Context cx, Scriptable scope)
-
delete
@Deprecated public static Object delete(Object obj, Object id, Context cx)
Deprecated.
-
delete
@Deprecated public static Object delete(Object obj, Object id, Context cx, boolean isName)
Deprecated.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 Object delete(Object obj, 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 Object name(Context cx, Scriptable scope, String name)
Looks up a name in the scope chain and returns its value.
-
bind
public static Scriptable bind(Context cx, Scriptable scope, 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 Object setName(Scriptable bound, Object value, Context cx, Scriptable scope, String id)
-
strictSetName
public static Object strictSetName(Scriptable bound, Object value, Context cx, Scriptable scope, String id)
-
setConst
public static Object setConst(Scriptable bound, Object value, Context cx, String id)
-
toIterator
public static Scriptable toIterator(Context cx, Scriptable scope, Scriptable obj, boolean keyOnly)
-
enumInit
@Deprecated public static Object enumInit(Object value, Context cx, boolean enumValues)
Deprecated.UseenumInit(Object, Context, Scriptable, int)
insteadFor backwards compatibility with generated class files
-
enumInit
@Deprecated public static Object enumInit(Object value, Context cx, int enumType)
Deprecated.UseenumInit(Object, Context, Scriptable, int)
instead
-
enumInit
public static Object enumInit(Object value, Context cx, Scriptable scope, int enumType)
-
setEnumNumbers
public static void setEnumNumbers(Object enumObj, boolean enumNumbers)
-
getNameFunctionAndThis
public static Callable getNameFunctionAndThis(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(Object obj, Object elem, Context cx)
Deprecated.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(Object obj, 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(Object obj, String property, Context cx)
Deprecated.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(Object obj, 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(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, Object[] args, Context cx)
Perform function call in reference context. Should always return value that can be passed torefGet(Ref, Context)
orrefSet(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(Object fun, Context cx, Scriptable scope, Object[] args)
Operator new. See ECMA 11.2.2
-
callSpecial
public static Object callSpecial(Context cx, Callable fun, Scriptable thisObj, Object[] args, Scriptable scope, Scriptable callerThis, int callType, String filename, int lineNumber)
-
newSpecial
public static Object newSpecial(Context cx, Object fun, Object[] args, Scriptable scope, int callType)
-
applyOrCall
public static Object applyOrCall(boolean isApply, Context cx, Scriptable scope, Scriptable thisObj, Object[] args)
Function.prototype.apply and Function.prototype.call See Ecma 15.3.4.[34]
-
evalSpecial
public static Object evalSpecial(Context cx, Scriptable scope, Object thisArg, Object[] args, String filename, int lineNumber)
The eval function property of the global object. See ECMA 15.1.2.1
-
typeofName
public static String typeofName(Scriptable scope, String id)
The typeof operator that correctly handles the undefined case
-
add
public static CharSequence add(CharSequence val1, Object val2)
-
add
public static CharSequence add(Object val1, CharSequence val2)
-
nameIncrDecr
@Deprecated public static Object nameIncrDecr(Scriptable scopeChain, String id, int incrDecrMask)
Deprecated.UsenameIncrDecr(Scriptable, String, Context, int)
insteadThe method is only present for compatibility.
-
nameIncrDecr
public static Object nameIncrDecr(Scriptable scopeChain, String id, Context cx, int incrDecrMask)
-
propIncrDecr
@Deprecated public static Object propIncrDecr(Object obj, String id, Context cx, int incrDecrMask)
Deprecated.
-
propIncrDecr
public static Object propIncrDecr(Object obj, String id, Context cx, Scriptable scope, int incrDecrMask)
-
elemIncrDecr
@Deprecated public static Object elemIncrDecr(Object obj, Object index, Context cx, int incrDecrMask)
Deprecated.
-
elemIncrDecr
public static Object elemIncrDecr(Object obj, Object index, Context cx, Scriptable scope, int incrDecrMask)
-
refIncrDecr
@Deprecated public static Object refIncrDecr(Ref ref, Context cx, int incrDecrMask)
Deprecated.UserefIncrDecr(Ref, Context, Scriptable, int)
instead
-
refIncrDecr
public static Object refIncrDecr(Ref ref, Context cx, Scriptable scope, int incrDecrMask)
-
isPrimitive
public static boolean isPrimitive(Object obj)
-
instanceOf
public static boolean instanceOf(Object a, 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(Object a, 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 operandb
- the right hand operand- Returns:
- true if property name or element number a is a property of b
-
getGlobal
public static ScriptableObject getGlobal(Context cx)
-
hasTopCall
public static boolean hasTopCall(Context cx)
-
getTopCallScope
public static Scriptable getTopCallScope(Context cx)
-
doTopCall
public static Object doTopCall(Callable callable, Context cx, Scriptable scope, Scriptable thisObj, 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, Object[] args)
-
enterActivationFunction
public static void enterActivationFunction(Context cx, Scriptable scope)
-
exitActivationFunction
public static void exitActivationFunction(Context cx)
-
newCatchScope
public static Scriptable newCatchScope(Throwable t, Scriptable lastCatchScope, String exceptionName, Context cx, Scriptable scope)
-
wrapException
public static Scriptable wrapException(Throwable t, Scriptable scope, Context cx)
-
enterWith
public static Scriptable enterWith(Object obj, Context cx, Scriptable scope)
-
leaveWith
public static Scriptable leaveWith(Scriptable scope)
-
enterDotQuery
public static Scriptable enterDotQuery(Object value, Scriptable scope)
-
updateDotQuery
public static 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(Object[] objects, int[] skipIndices, Context cx, Scriptable scope)
-
newObjectLiteral
@Deprecated public static Scriptable newObjectLiteral(Object[] propertyIds, Object[] propertyValues, Context cx, Scriptable scope)
Deprecated.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(Object[] propertyIds, Object[] propertyValues, int[] getterSetters, Context cx, Scriptable scope)
-
isArrayObject
public static boolean isArrayObject(Object obj)
-
getArrayElements
public static Object[] getArrayElements(Scriptable object)
-
getMessage3
public static String getMessage3(String messageId, Object arg1, Object arg2, Object arg3)
-
getMessage4
public static String getMessage4(String messageId, Object arg1, Object arg2, Object arg3, Object arg4)
-
constructError
public static EcmaError constructError(String error, String message, int lineNumberDelta)
-
constructError
public static EcmaError constructError(String error, String message, String sourceName, int lineNumber, String lineSource, int columnNumber)
-
typeError3
public static EcmaError typeError3(String messageId, String arg1, String arg2, String arg3)
-
undefReadError
public static RuntimeException undefReadError(Object object, Object id)
-
undefCallError
public static RuntimeException undefCallError(Object object, Object id)
-
undefWriteError
public static RuntimeException undefWriteError(Object object, Object id, Object value)
-
notFoundError
public static RuntimeException notFoundError(Scriptable object, String property)
-
notFunctionError
public static RuntimeException notFunctionError(Object value)
-
notFunctionError
public static RuntimeException notFunctionError(Object value, Object messageHelper)
-
notFunctionError
public static RuntimeException notFunctionError(Object obj, Object value, 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, Object compiled)
-
escapeAttributeValue
public static String escapeAttributeValue(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 String escapeTextValue(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(Object obj, Object namespace, Object elem, Context cx, int memberTypeFlags)
-
nameRef
public static Ref nameRef(Object name, Context cx, Scriptable scope, int memberTypeFlags)
-
nameRef
public static Ref nameRef(Object namespace, 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, String message)
Equivalent to executing "new Error(message, sourceFileName, sourceLineNo)" from JavaScript.- Parameters:
cx
- the current contextscope
- the current scopemessage
- the message- Returns:
- a JavaScriptException you should throw
-
throwCustomError
public static JavaScriptException throwCustomError(Context cx, Scriptable scope, String constructorName, String message)
Equivalent to executing "new $constructorName(message, sourceFileName, sourceLineNo)" from JavaScript.- Parameters:
cx
- the current contextscope
- the current scopemessage
- the message- Returns:
- a JavaScriptException you should throw
-
requireObjectCoercible
public static Scriptable requireObjectCoercible(Scriptable val, IdFunctionObject idFuncObj)
-
-