本文整理汇总了C++中MutableHandle::append方法的典型用法代码示例。如果您正苦于以下问题:C++ MutableHandle::append方法的具体用法?C++ MutableHandle::append怎么用?C++ MutableHandle::append使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MutableHandle
的用法示例。
在下文中一共展示了MutableHandle::append方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: obj
static bool
FillVector(JSContext* cx, MutableHandle<ShapeVec> shapes)
{
for (size_t i = 0; i < 10; ++i) {
RootedObject obj(cx, JS_NewObject(cx, nullptr));
RootedValue val(cx, UndefinedValue());
// Construct a unique property name to ensure that the object creates a
// new shape.
char buffer[2];
buffer[0] = 'a' + i;
buffer[1] = '\0';
if (!JS_SetProperty(cx, obj, buffer, val))
return false;
if (!shapes.append(obj->as<NativeObject>().lastProperty()))
return false;
}
// Ensure iterator enumeration works through the mutable handle.
for (auto shape : shapes) {
if (!shape)
return false;
}
return true;
}
示例2: Fail
static bool
ImportFunctions(JSContext* cx, HandleObject importObj, const ImportNameVector& importNames,
MutableHandle<FunctionVector> imports)
{
if (!importNames.empty() && !importObj)
return Fail(cx, "no import object given");
for (const ImportName& name : importNames) {
RootedValue v(cx);
if (!GetProperty(cx, importObj, name.module.get(), &v))
return false;
if (*name.func.get()) {
if (!v.isObject())
return Fail(cx, "import object field is not an Object");
RootedObject obj(cx, &v.toObject());
if (!GetProperty(cx, obj, name.func.get(), &v))
return false;
}
if (!IsFunctionObject(v))
return Fail(cx, "import object field is not a Function");
if (!imports.append(&v.toObject().as<JSFunction>()))
return false;
}
return true;
}