Resolve a standard class in an object.
Syntax
bool
JS_ResolveStandardClass(JSContext *cx, JS::HandleObject obj, JS::HandleId id,
bool *resolved);
| Name | Type | Description |
|---|---|---|
cx |
JSContext * |
Pointer to the executable script context for which to initialize JS function and object classes. Requires request. In a JS_THREADSAFE build, the caller must be in a request on this JSContext. |
obj |
JS::HandleObject |
An object to resolve id to a standard class. |
id |
JS::HandleId |
An id of a standard class name, which must contain either a string or an int. |
resolved |
bool * |
Out parameter. If the id is resolved, true is stored into *resolved if success. false otherwise. |
Description
JS_ResolveStandardClass resolves id, which must contain either a string or an int, to a standard class name in obj if possible, defining the class's constructor and/or prototype and storing true in *resolved. If id does not name a standard class or a top-level property induced by initializing a standard class, store false in *resolved and just return true. Return false on error, as usual for bool result-typed API entry points.
This API can be called directly from a global object class's resolve op, to define standard classes lazily. The class's enumerate op should call , to define eagerly during JS_EnumerateStandardClasses(cx, obj)for...in loops any classes not yet resolved lazily.
