本文整理汇总了C++中AvmCore::isObject方法的典型用法代码示例。如果您正苦于以下问题:C++ AvmCore::isObject方法的具体用法?C++ AvmCore::isObject怎么用?C++ AvmCore::isObject使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AvmCore
的用法示例。
在下文中一共展示了AvmCore::isObject方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: call
// E4X 13.3.1, page 66
// this = argv[0] (ignored)
// arg1 = argv[1]
// argN = argv[argc]
Atom QNameClass::call(int argc, Atom* argv)
{
if (argc == 1)
{
AvmCore* core = this->core();
if (core->isObject(argv[1]) && AvmCore::istype(argv[1], core->traits.qName_itraits))
return argv[1];
}
return construct (argc, argv);
}
示例2: construct
// E4X 13.3.2, page 67
Atom QNameClass::construct(int argc, Atom* argv)
{
AvmCore* core = this->core();
if (argc == 0)
return (new (core->GetGC(), ivtable()->getExtraSize()) QNameObject(this, undefinedAtom))->atom();
if (argc == 1)
{
if (core->isObject(argv[1]) && AvmCore::istype(argv[1], core->traits.qName_itraits))
return argv[1];
return (new (core->GetGC(), ivtable()->getExtraSize()) QNameObject(this, argv[1]))->atom();
}
else
{
Atom a = argv[1];
if (a == undefinedAtom)
{
// ns undefined same as unspecified
return (new (core->GetGC(), ivtable()->getExtraSize()) QNameObject(this, argv[2]))->atom();
}
else
{
Namespace* ns;
if (AvmCore::isNull(a))
ns = NULL;
// It's important to preserve the incoming namespace because it's type
// may not be public. I.E...
// namespace ns;
// q = new QName(ns, "name"); // ns is a NS_PackageInternal ns
// If we ever use this QName as a multiname, we need to preserve the exact ns
else if (core->isNamespace(a))
ns = core->atomToNamespace(a);
else
ns = core->newNamespace (a);
return (new (core->GetGC(), ivtable()->getExtraSize()) QNameObject(this, ns, argv[2]))->atom();
}
}
}