Skip to content

Commit 561c3ce

Browse files
committed
Write all base classes
1 parent 1e01629 commit 561c3ce

File tree

1 file changed

+19
-1
lines changed

1 file changed

+19
-1
lines changed

src/main/dumpers/schemas/schemas.cpp

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,25 @@ void DumpClasses(CSchemaSystemTypeScope* typeScope, std::filesystem::path schema
101101
Globals::stringsIgnoreStream << classInfo->m_pszName << "\n";
102102

103103
if (classInfo->m_nBaseClassCount > 0)
104-
output << " : public " << classInfo->m_pBaseClasses[0].m_pClass->m_pszName;
104+
{
105+
bool wroteBase = false;
106+
for (uint16_t baseIndex = 0; baseIndex < classInfo->m_nBaseClassCount; ++baseIndex)
107+
{
108+
const auto* baseClass = classInfo->m_pBaseClasses[baseIndex].m_pClass;
109+
if (!baseClass)
110+
continue;
111+
112+
if (!wroteBase)
113+
{
114+
output << " : public " << baseClass->m_pszName;
115+
wroteBase = true;
116+
}
117+
else
118+
{
119+
output << ", public " << baseClass->m_pszName;
120+
}
121+
}
122+
}
105123

106124
output << "\n{\n";
107125

0 commit comments

Comments
 (0)