本文整理汇总了C++中NodeBlockClass::setNodeType方法的典型用法代码示例。如果您正苦于以下问题:C++ NodeBlockClass::setNodeType方法的具体用法?C++ NodeBlockClass::setNodeType怎么用?C++ NodeBlockClass::setNodeType使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类NodeBlockClass
的用法示例。
在下文中一共展示了NodeBlockClass::setNodeType方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: setBitSizeOfClassInstances
bool SymbolClassName::setBitSizeOfClassInstances()
{
bool aok = true;
NodeBlockClass * classNode = getClassBlockNode();
assert(classNode); //infinite loop "Incomplete Class <> was never defined, fails sizing"
m_state.pushClassContext(getUlamTypeIdx(), classNode, classNode, false, NULL);
s32 totalbits = 0;
aok = SymbolClass::trySetBitsizeWithUTIValues(totalbits);
if(aok)
{
UTI cuti = getUlamTypeIdx();
m_state.setBitSize(cuti, totalbits); //"scalar" Class bitsize KEY ADJUSTED
if(m_state.getBitSize(cuti) != totalbits)
{
std::ostringstream msg;
msg << "CLASS (regular) '" << m_state.getUlamTypeNameByIndex(cuti).c_str();
msg << "' SIZED " << totalbits << " FAILED";
MSG(Symbol::getTokPtr(), msg.str().c_str(),ERR);
classNode->setNodeType(Nav); //avoid assert in resolving loop
}
else
{
std::ostringstream msg;
msg << "CLASS (regular) '" << m_state.getUlamTypeNameByIndex(cuti).c_str();
msg << "' SIZED: " << totalbits;
MSG(Symbol::getTokPtr(), msg.str().c_str(),DEBUG);
}
}
m_state.popClassContext(); //restore
return aok;
} //setBitSizeOfClassInstances