Skip to content

Commit ebe8dc2

Browse files
committed
SymbolDatabase: Extended dumpfiles. Scope: derivedFrom types. Function: overridden function.
1 parent 457a0cf commit ebe8dc2

1 file changed

Lines changed: 25 additions & 0 deletions

File tree

lib/symboldatabase.cpp

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3892,6 +3892,8 @@ void SymbolDatabase::printXml(std::ostream &out) const
38923892
out << " nestedIn=\"" << scope->nestedIn << "\"";
38933893
if (scope->function)
38943894
out << " function=\"" << scope->function << "\"";
3895+
if (scope->definedType)
3896+
out << " definedType=\"" << scope->definedType << "\"";
38953897
if (scope->functionList.empty() && scope->varlist.empty())
38963898
out << "/>" << std::endl;
38973899
else {
@@ -3921,6 +3923,8 @@ void SymbolDatabase::printXml(std::ostream &out) const
39213923
out << " isInlineKeyword=\"true\"";
39223924
if (function->isStatic())
39233925
out << " isStatic=\"true\"";
3926+
if (const Function* overriddenFunction = function->getOverriddenFunction())
3927+
out << " overriddenFunction=\"" << overriddenFunction << "\"";
39243928
if (function->argCount() == 0U)
39253929
out << "/>" << std::endl;
39263930
else {
@@ -3946,6 +3950,27 @@ void SymbolDatabase::printXml(std::ostream &out) const
39463950
}
39473951
out << " </scopes>" << std::endl;
39483952

3953+
if (!typeList.empty()) {
3954+
out << " <types>\n";
3955+
for (const Type& type:typeList) {
3956+
out << " <type id=\"" << &type << "\" classScope=\"" << type.classScope << "\"";
3957+
if (type.derivedFrom.empty()) {
3958+
out << "/>\n";
3959+
continue;
3960+
}
3961+
out << ">\n";
3962+
for (const Type::BaseInfo& baseInfo: type.derivedFrom) {
3963+
out << " <derivedFrom"
3964+
<< " access=\"" << accessControlToString(baseInfo.access) << "\""
3965+
<< " type=\"" << baseInfo.type << "\""
3966+
<< " isVirtual=\"" << (baseInfo.isVirtual ? "true" : "false") << "\""
3967+
<< "/>\n";
3968+
}
3969+
out << " </type>\n";
3970+
}
3971+
out << " </types>\n";
3972+
}
3973+
39493974
// Variables..
39503975
for (const Variable *var : mVariableList)
39513976
variables.insert(var);

0 commit comments

Comments
 (0)