本文整理汇总了C++中PropertyString::GetPropertyId方法的典型用法代码示例。如果您正苦于以下问题:C++ PropertyString::GetPropertyId方法的具体用法?C++ PropertyString::GetPropertyId怎么用?C++ PropertyString::GetPropertyId使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PropertyString
的用法示例。
在下文中一共展示了PropertyString::GetPropertyId方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: if
JavascriptString * DynamicObjectPropertyEnumerator::MoveAndGetNextWithCache(PropertyId& propertyId, PropertyAttributes* attributes)
{
#if ENABLE_TTD
AssertMsg(!this->scriptContext->GetThreadContext()->IsRuntimeInTTDMode(), "We should always trap out to explicit enumeration in this case");
#endif
Assert(enumeratedCount <= cachedData->cachedCount);
JavascriptString* propertyStringName;
PropertyAttributes propertyAttributes = PropertyNone;
if (enumeratedCount < cachedData->cachedCount)
{
PropertyString * propertyString = cachedData->strings[enumeratedCount];
propertyStringName = propertyString;
propertyId = propertyString->GetPropertyId();
#if DBG
PropertyId tempPropertyId;
/* JavascriptString * tempPropertyString = */ this->MoveAndGetNextNoCache(tempPropertyId, attributes);
Assert(tempPropertyId == propertyId);
Assert(this->objectIndex == cachedData->indexes[enumeratedCount]);
#endif
this->objectIndex = cachedData->indexes[enumeratedCount];
propertyAttributes = cachedData->attributes[enumeratedCount];
enumeratedCount++;
}
else if (!cachedData->completed)
{
propertyStringName = this->MoveAndGetNextNoCache(propertyId, &propertyAttributes);
if (propertyStringName)
{
PropertyString* propertyString = PropertyString::TryFromVar(propertyStringName);
if (propertyString != nullptr)
{
Assert(enumeratedCount < this->initialPropertyCount);
cachedData->strings[enumeratedCount] = propertyString;
cachedData->indexes[enumeratedCount] = this->objectIndex;
cachedData->attributes[enumeratedCount] = propertyAttributes;
cachedData->cachedCount = ++enumeratedCount;
}
}
else
{
cachedData->completed = true;
}
}
else
{
#if DBG
PropertyId tempPropertyId;
Assert(this->MoveAndGetNextNoCache(tempPropertyId, attributes) == nullptr);
#endif
propertyStringName = nullptr;
}
if (attributes != nullptr)
{
*attributes = propertyAttributes;
}
return propertyStringName;
}