MCPcopy Create free account
hub / github.com/KDE/kdevelop / registerBaseClasses

Method registerBaseClasses

plugins/qmljs/duchain/declarationbuilder.cpp:1435–1454  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1433}
1434
1435void DeclarationBuilder::registerBaseClasses()
1436{
1437 auto* classdecl = currentDeclaration<ClassDeclaration>();
1438 DUContext *ctx = currentContext();
1439
1440 if (classdecl) {
1441 DUChainWriteLocker lock;
1442
1443 for (uint i=0; i<classdecl->baseClassesSize(); ++i)
1444 {
1445 const BaseClassInstance &baseClass = classdecl->baseClasses()[i];
1446 auto baseType = baseClass.baseClass.abstractType().dynamicCast<StructureType>();
1447 TopDUContext* topctx = topContext();
1448
1449 if (baseType && baseType->declaration(topctx)) {
1450 QmlJS::importDeclarationInContext(ctx, DeclarationPointer(baseType->declaration(topctx)));
1451 }
1452 }
1453 }
1454}
1455
1456static bool enumContainsEnumerator(const AbstractType::Ptr& a, const AbstractType::Ptr& b)
1457{

Callers

nothing calls this directly

Calls 6

topContextFunction · 0.85
baseClassesSizeMethod · 0.80
baseClassesMethod · 0.80
abstractTypeMethod · 0.45
declarationMethod · 0.45

Tested by

no test coverage detected