mirror of
https://github.com/matrix-construct/construct
synced 2024-06-02 18:18:56 +02:00
ircd::js: Add property flag reflection.
This commit is contained in:
parent
1adc76034c
commit
8a3f592753
|
@ -32,6 +32,7 @@ const char *reflect(const JSGCStatus &);
|
|||
const char *reflect(const JSGCParamKey &);
|
||||
const char *reflect(const JSFinalizeStatus &);
|
||||
const char *reflect(const JSContextOp &);
|
||||
const char *reflect_prop(const uint &flag);
|
||||
const char *reflect_telemetry(const int &id);
|
||||
|
||||
// Returns single-line string
|
||||
|
|
50
ircd/js.cc
50
ircd/js.cc
|
@ -439,16 +439,18 @@ ircd::js::object
|
|||
ircd::js::trap::operator()(const object &parent,
|
||||
const object &parent_proto)
|
||||
{
|
||||
return JS_InitClass(*cx,
|
||||
parent,
|
||||
parent_proto,
|
||||
_class.get(),
|
||||
nullptr,
|
||||
0,
|
||||
ps,
|
||||
fs,
|
||||
nullptr,
|
||||
nullptr);
|
||||
object proto(JS_InitClass(*cx,
|
||||
parent,
|
||||
parent_proto,
|
||||
_class.get(),
|
||||
nullptr,
|
||||
0,
|
||||
ps,
|
||||
fs,
|
||||
nullptr,
|
||||
nullptr));
|
||||
|
||||
return JS_New(*cx, proto, JS::HandleValueArray::empty());
|
||||
}
|
||||
|
||||
ircd::js::trap &
|
||||
|
@ -1750,6 +1752,34 @@ ircd::js::reflect_telemetry(const int &id)
|
|||
return "";
|
||||
}
|
||||
|
||||
const char *
|
||||
ircd::js::reflect_prop(const uint &flag)
|
||||
{
|
||||
switch(flag)
|
||||
{
|
||||
case JSPROP_ENUMERATE: return "JSPROP_ENUMERATE";
|
||||
case JSPROP_READONLY: return "JSPROP_READONLY";
|
||||
case JSPROP_PERMANENT: return "JSPROP_PERMANENT";
|
||||
case JSPROP_PROPOP_ACCESSORS: return "JSPROP_PROPOP_ACCESSORS";
|
||||
case JSPROP_GETTER: return "JSPROP_GETTER";
|
||||
case JSPROP_SETTER: return "JSPROP_SETTER";
|
||||
case JSPROP_SHARED: return "JSPROP_SHARED";
|
||||
case JSPROP_INTERNAL_USE_BIT: return "JSPROP_INTERNAL_USE_BIT";
|
||||
case JSPROP_DEFINE_LATE: return "JSPROP_DEFINE_LATE";
|
||||
case JSFUN_STUB_GSOPS: return "JSFUN_STUB_GSOPS";
|
||||
case JSFUN_CONSTRUCTOR: return "JSFUN_CONSTRUCTOR";
|
||||
case JSFUN_GENERIC_NATIVE: return "JSFUN_GENERIC_NATIVE";
|
||||
case JSPROP_REDEFINE_NONCONFIGURABLE: return "JSPROP_REDEFINE_NONCONFIGURABLE";
|
||||
case JSPROP_RESOLVING: return "JSPROP_RESOLVING";
|
||||
case JSPROP_IGNORE_ENUMERATE: return "JSPROP_IGNORE_ENUMERATE";
|
||||
case JSPROP_IGNORE_READONLY: return "JSPROP_IGNORE_READONLY";
|
||||
case JSPROP_IGNORE_PERMANENT: return "JSPROP_IGNORE_PERMANENT";
|
||||
case JSPROP_IGNORE_VALUE: return "JSPROP_IGNORE_VALUE";
|
||||
}
|
||||
|
||||
return "";
|
||||
}
|
||||
|
||||
const char *
|
||||
ircd::js::reflect(const ::js::CTypesActivityType &t)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue