const std::string SymbolConstantValue::getCompleteConstantMangledName() { if(m_state.isScalar(getUlamTypeIdx())) return getMangledName(); std::ostringstream mangledfullname; if(isDataMember()) { UTI dmclassuti = getDataMemberClass(); //t3881 mangledfullname << m_state.getTheInstanceMangledNameByIndex(dmclassuti).c_str(); mangledfullname << "." << getMangledName().c_str(); } else if(isLocalsFilescopeDef()) { //local filescope constant arrays end with filescope name (e.g. _3Foo4ulam) UTI locuti = getLocalsFilescopeType(); u32 mangledclassid = m_state.getMangledClassNameIdForUlamLocalsFilescope(locuti); mangledfullname << m_state.m_pool.getDataAsString(mangledclassid).c_str(); mangledfullname << "<EC>::THE_INSTANCE." << getMangledName().c_str(); } else if(isClassArgument()) { mangledfullname << m_state.getTheInstanceMangledNameByIndex(m_state.getCompileThisIdx()).c_str(); mangledfullname << "." << getMangledName().c_str(); //t3894 } else mangledfullname << getMangledName().c_str(); return mangledfullname.str(); } //getCompleteConstantMangledName
NNO SymbolWithValue::getDeclNodeNo() { assert(!isDataMember()); return m_declnno; }