1 /*
2     SPDX-FileCopyrightText: 2006 Hamish Rodda <rodda@kde.org>
3     SPDX-FileCopyrightText: 2007-2008 David Nolden <david.nolden.kdevelop@art-master.de>
4 
5     SPDX-License-Identifier: LGPL-2.0-only
6 */
7 
8 #ifndef KDEVPLATFORM_TOPDUCONTEXTUTILS_H
9 #define KDEVPLATFORM_TOPDUCONTEXTUTILS_H
10 
11 #include "topducontext.h"
12 
13 namespace KDevelop {
14 /// \todo move data to private d pointer classes
15 struct KDEVPLATFORMLANGUAGE_EXPORT TopDUContext::DeclarationChecker
16 {
17     DeclarationChecker(const TopDUContext* _top, const CursorInRevision& _position, const AbstractType::Ptr& _dataType,
18                        DUContext::SearchFlags _flags,
19                        KDevVarLengthArray<IndexedDeclaration>* _createVisibleCache = nullptr);
20     bool operator()(const Declaration* dec) const;
21 
22     mutable KDevVarLengthArray<IndexedDeclaration>* createVisibleCache;
23     const TopDUContext* top;
24     const TopDUContextData* topDFunc;
25     const CursorInRevision& position;
26     const AbstractType::Ptr dataType;
27     DUContext::SearchFlags flags;
28 };
29 }
30 
31 #endif // KDEVPLATFORM_TOPDUCONTEXTUTILS_H
32