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

Method testFunctionDefinitionVsDeclaration

plugins/clang/tests/test_duchain.cpp:816–831  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

814}
815
816void TestDUChain::testFunctionDefinitionVsDeclaration()
817{
818 TestFile file(QStringLiteral("void func(); void func() {}\n"), QStringLiteral("cpp"));
819 file.parse(TopDUContext::AllDeclarationsContextsAndUses);
820 QVERIFY(file.waitForParsed());
821
822 DUChainReadLocker lock;
823 QVERIFY(file.topContext());
824 QCOMPARE(file.topContext()->localDeclarations().size(), 2);
825 auto funcDecl = file.topContext()->localDeclarations()[0];
826 QVERIFY(!funcDecl->isDefinition());
827 QVERIFY(!dynamic_cast<FunctionDefinition*>(funcDecl));
828 auto funcDef = file.topContext()->localDeclarations()[1];
829 QVERIFY(dynamic_cast<FunctionDefinition*>(funcDef));
830 QVERIFY(funcDef->isDefinition());
831}
832
833void TestDUChain::testEnsureNoDoubleVisit()
834{

Callers

nothing calls this directly

Calls 6

waitForParsedMethod · 0.80
localDeclarationsMethod · 0.80
isDefinitionMethod · 0.80
parseMethod · 0.45
topContextMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected