void SymbolClassName::countNavNodesInClassInstances(u32& ncnt, u32& hcnt, u32& nocnt) { assert(!isClassTemplate()); u32 navCounter = ncnt; u32 hzyCounter = hcnt; u32 unsetCounter = nocnt; NodeBlockClass * classNode = getClassBlockNode(); assert(classNode); m_state.pushClassContext(getUlamTypeIdx(), classNode, classNode, false, NULL); classNode->countNavHzyNoutiNodes(ncnt, hcnt, nocnt); if((ncnt - navCounter) > 0) { std::ostringstream msg; msg << navCounter << " data member nodes with erroneous types remain in class '"; msg << m_state.getUlamTypeNameBriefByIndex(getUlamTypeIdx()).c_str(); msg << "'"; MSG(classNode->getNodeLocationAsString().c_str(), msg.str().c_str(), INFO); } if((hcnt - hzyCounter) > 0) { std::ostringstream msg; msg << hzyCounter << " data member nodes with unresolved types remain in class '"; msg << m_state.getUlamTypeNameBriefByIndex(getUlamTypeIdx()).c_str(); msg << "'"; MSG(classNode->getNodeLocationAsString().c_str(), msg.str().c_str(), INFO); } if((nocnt - unsetCounter) > 0) { std::ostringstream msg; msg << unsetCounter << " data member nodes with unset types remain in class '"; msg << m_state.getUlamTypeNameBriefByIndex(getUlamTypeIdx()).c_str(); msg << "'"; MSG(classNode->getNodeLocationAsString().c_str(), msg.str().c_str(), INFO); } SymbolClass::countNavNodesInClassResolver(ncnt, hcnt, nocnt); m_state.popClassContext(); //restore return; } //countNavNodesInClassInstances
u32 SymbolClassName::countNavNodesInClassInstances() { assert(!isClassTemplate()); u32 navCounter = 0; NodeBlockClass * classNode = getClassBlockNode(); assert(classNode); m_state.pushClassContext(getUlamTypeIdx(), classNode, classNode, false, NULL); classNode->countNavNodes(navCounter); if(navCounter > 0) { std::ostringstream msg; msg << navCounter << " data member nodes with unresolved types remain in class '"; msg << m_state.getUlamTypeNameBriefByIndex(getUlamTypeIdx()).c_str(); msg << "'"; MSG(classNode->getNodeLocationAsString().c_str(), msg.str().c_str(), WARN); } m_state.popClassContext(); //restore return navCounter; } //countNavNodesInClassInstances