зеркало из https://github.com/mozilla/pjs.git
Missing JSFunction API (129545, r=shaver, sr=jband, a=asa).
This commit is contained in:
Родитель
1342cbd5b2
Коммит
85f61aea80
|
@ -2769,6 +2769,24 @@ JS_GetFunctionName(JSFunction *fun)
|
|||
: js_anonymous_str;
|
||||
}
|
||||
|
||||
JS_PUBLIC_API(JSString *)
|
||||
JS_GetFunctionId(JSFunction *fun)
|
||||
{
|
||||
return fun->atom ? ATOM_TO_STRING(fun->atom) : NULL;
|
||||
}
|
||||
|
||||
JS_PUBLIC_API(uintN)
|
||||
JS_GetFunctionFlags(JSFunction *fun)
|
||||
{
|
||||
return fun->flags;
|
||||
}
|
||||
|
||||
JS_PUBLIC_API(JSBool)
|
||||
JS_ObjectIsFunction(JSContext *cx, JSObject *obj)
|
||||
{
|
||||
return OBJ_GET_CLASS(cx, obj) == &js_FunctionClass;
|
||||
}
|
||||
|
||||
JS_PUBLIC_API(JSBool)
|
||||
JS_DefineFunctions(JSContext *cx, JSObject *obj, JSFunctionSpec *fs)
|
||||
{
|
||||
|
@ -3037,6 +3055,12 @@ JS_NewScriptObject(JSContext *cx, JSScript *script)
|
|||
return obj;
|
||||
}
|
||||
|
||||
JS_PUBLIC_API(JSObject *)
|
||||
JS_GetScriptObject(JSScript *script)
|
||||
{
|
||||
return script->object;
|
||||
}
|
||||
|
||||
JS_PUBLIC_API(void)
|
||||
JS_DestroyScript(JSContext *cx, JSScript *script)
|
||||
{
|
||||
|
|
|
@ -1098,9 +1098,41 @@ JS_NewFunction(JSContext *cx, JSNative call, uintN nargs, uintN flags,
|
|||
extern JS_PUBLIC_API(JSObject *)
|
||||
JS_GetFunctionObject(JSFunction *fun);
|
||||
|
||||
/*
|
||||
* Deprecated, useful only for diagnostics. Use JS_GetFunctionId instead for
|
||||
* anonymous vs. "anonymous" disambiguation and Unicode fidelity.
|
||||
*/
|
||||
extern JS_PUBLIC_API(const char *)
|
||||
JS_GetFunctionName(JSFunction *fun);
|
||||
|
||||
/*
|
||||
* Return the function's identifier as a JSString, or null if fun is unnamed.
|
||||
* The returned string lives as long as fun, so you don't need to root a saved
|
||||
* reference to it if fun is well-connected or rooted, and provided you bound
|
||||
* the use of the saved reference by fun's lifetime.
|
||||
*
|
||||
* Prefer JS_GetFunctionId over JS_GetFunctionName because it returns null for
|
||||
* truly anonymous functions, and because it doesn't chop to ISO-Latin-1 chars
|
||||
* from UTF-16-ish jschars.
|
||||
*/
|
||||
extern JS_PUBLIC_API(JSString *)
|
||||
JS_GetFunctionId(JSFunction *fun);
|
||||
|
||||
/*
|
||||
* Return JSFUN_* flags for fun.
|
||||
*/
|
||||
extern JS_PUBLIC_API(uintN)
|
||||
JS_GetFunctionFlags(JSFunction *fun);
|
||||
|
||||
/*
|
||||
* Infallible predicate to test whether obj is a function object (faster than
|
||||
* comparing obj's class name to "Function", but equivalent unless someone has
|
||||
* overwritten the "Function" identifier with a different constructor and then
|
||||
* created instances using that constructor that might be passed in as obj).
|
||||
*/
|
||||
extern JS_PUBLIC_API(JSBool)
|
||||
JS_ObjectIsFunction(JSContext *cx, JSObject *obj);
|
||||
|
||||
extern JS_PUBLIC_API(JSBool)
|
||||
JS_DefineFunctions(JSContext *cx, JSObject *obj, JSFunctionSpec *fs);
|
||||
|
||||
|
@ -1182,6 +1214,13 @@ JS_CompileFileHandleForPrincipals(JSContext *cx, JSObject *obj,
|
|||
extern JS_PUBLIC_API(JSObject *)
|
||||
JS_NewScriptObject(JSContext *cx, JSScript *script);
|
||||
|
||||
/*
|
||||
* Infallible getter for a script's object. If JS_NewScriptObject has not been
|
||||
* called on script yet, the return value will be null.
|
||||
*/
|
||||
extern JS_PUBLIC_API(JSObject *)
|
||||
JS_GetScriptObject(JSScript *script);
|
||||
|
||||
extern JS_PUBLIC_API(void)
|
||||
JS_DestroyScript(JSContext *cx, JSScript *script);
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче