本文整理汇总了C++中MutableHandle::setShortId方法的典型用法代码示例。如果您正苦于以下问题:C++ MutableHandle::setShortId方法的具体用法?C++ MutableHandle::setShortId怎么用?C++ MutableHandle::setShortId使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MutableHandle
的用法示例。
在下文中一共展示了MutableHandle::setShortId方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: if
bool
JavaScriptShared::toDescriptor(JSContext *cx, const PPropertyDescriptor &in,
MutableHandle<JSPropertyDescriptor> out)
{
out.setAttributes(in.attrs());
out.setShortId(in.shortid());
if (!toValue(cx, in.value(), out.value()))
return false;
Rooted<JSObject*> obj(cx);
if (!unwrap(cx, in.objId(), &obj))
return false;
out.object().set(obj);
if (!in.getter()) {
out.setGetter(nullptr);
} else if (in.attrs() & JSPROP_GETTER) {
Rooted<JSObject*> getter(cx);
if (!unwrap(cx, in.getter(), &getter))
return false;
out.setGetter(JS_DATA_TO_FUNC_PTR(JSPropertyOp, getter.get()));
} else {
if (in.getter() == DefaultPropertyOp)
out.setGetter(JS_PropertyStub);
else
out.setGetter(UnknownPropertyStub);
}
if (!in.setter()) {
out.setSetter(nullptr);
} else if (in.attrs() & JSPROP_SETTER) {
Rooted<JSObject*> setter(cx);
if (!unwrap(cx, in.setter(), &setter))
return false;
out.setSetter(JS_DATA_TO_FUNC_PTR(JSStrictPropertyOp, setter.get()));
} else {
if (in.setter() == DefaultPropertyOp)
out.setSetter(JS_StrictPropertyStub);
else if (in.setter() == GetterOnlyPropertyStub)
out.setSetter(js_GetterOnlyPropertyStub);
else
out.setSetter(UnknownStrictPropertyStub);
}
return true;
}