File indexing completed on 2024-05-12 04:39:12

0001 /*
0002     SPDX-FileCopyrightText: 2014 Kevin Funk <kfunk@kde.org>
0003 
0004     SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0005 */
0006 
0007 #ifndef DUCHAINUTILS_H
0008 #define DUCHAINUTILS_H
0009 
0010 #include "clangprivateexport.h"
0011 
0012 #include "duchain/parsesession.h"
0013 
0014 namespace KTextEditor {
0015 class Range;
0016 }
0017 
0018 namespace KDevelop {
0019 class Declaration;
0020 }
0021 
0022 namespace ClangIntegration {
0023 namespace DUChainUtils
0024 {
0025 
0026 KDEVCLANGPRIVATE_EXPORT KTextEditor::Range functionSignatureRange(const KDevelop::Declaration* decl);
0027 
0028 KDEVCLANGPRIVATE_EXPORT void registerDUChainItems();
0029 KDEVCLANGPRIVATE_EXPORT void unregisterDUChainItems();
0030 
0031 /**
0032  * Finds attached parse session data (aka AST) to the @p file
0033  *
0034  * If no session data found, then @p tuFile asked for the attached session data
0035  */
0036 KDEVCLANGPRIVATE_EXPORT ParseSessionData::Ptr findParseSessionData(const KDevelop::IndexedString &file, const KDevelop::IndexedString &tufile);
0037 }
0038 
0039 }
0040 
0041 #endif // DUCHAINUTILS_H