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

0001 /*
0002     SPDX-FileCopyrightText: 2006 Hamish Rodda <rodda@kde.org>
0003     SPDX-FileCopyrightText: 2007-2008 David Nolden <david.nolden.kdevelop@art-master.de>
0004 
0005     SPDX-License-Identifier: LGPL-2.0-only
0006 */
0007 
0008 #ifndef KDEVPLATFORM_TOPDUCONTEXTUTILS_H
0009 #define KDEVPLATFORM_TOPDUCONTEXTUTILS_H
0010 
0011 #include "topducontext.h"
0012 
0013 namespace KDevelop {
0014 /// \todo move data to private d pointer classes
0015 struct KDEVPLATFORMLANGUAGE_EXPORT TopDUContext::DeclarationChecker
0016 {
0017     DeclarationChecker(const TopDUContext* _top, const CursorInRevision& _position, const AbstractType::Ptr& _dataType,
0018                        DUContext::SearchFlags _flags,
0019                        KDevVarLengthArray<IndexedDeclaration>* _createVisibleCache = nullptr);
0020     bool operator()(const Declaration* dec) const;
0021 
0022     mutable KDevVarLengthArray<IndexedDeclaration>* createVisibleCache;
0023     const TopDUContext* top;
0024     const TopDUContextData* topDFunc;
0025     const CursorInRevision& position;
0026     const AbstractType::Ptr dataType;
0027     DUContext::SearchFlags flags;
0028 };
0029 }
0030 
0031 #endif // KDEVPLATFORM_TOPDUCONTEXTUTILS_H