1 /*
2     SPDX-FileCopyrightText: 2002-2005 Roberto Raggi <roberto@kdevelop.org>
3     SPDX-FileCopyrightText: 2006 Adam Treat <treat@kde.org>
4     SPDX-FileCopyrightText: 2006 Hamish Rodda <rodda@kde.org>
5     SPDX-FileCopyrightText: 2007-2008 David Nolden <david.nolden.kdevelop@art-master.de>
6 
7     SPDX-License-Identifier: LGPL-2.0-only
8 */
9 
10 #ifndef KDEVPLATFORM_CLASSMEMBERDECLARATIONDATA_H
11 #define KDEVPLATFORM_CLASSMEMBERDECLARATIONDATA_H
12 
13 #include "declarationdata.h"
14 #include <language/languageexport.h>
15 
16 namespace KDevelop {
17 class KDEVPLATFORMLANGUAGE_EXPORT ClassMemberDeclarationData
18     : public DeclarationData
19 {
20 public:
21     ClassMemberDeclarationData();
22     ClassMemberDeclarationData(const ClassMemberDeclarationData& rhs) = default;
23 
24     Declaration::AccessPolicy m_accessPolicy;
25 
26     bool m_isStatic : 1;
27     bool m_isAuto : 1;
28     bool m_isFriend : 1;
29     bool m_isRegister : 1;
30     bool m_isExtern : 1;
31     bool m_isMutable : 1;
32 
33     /// Stores bitWidth in bits or -1 if unknown.
34     int16_t m_bitWidth;
35 
36     /// Stores bitOffsetOf in bits or -1 if unknown.
37     int64_t m_bitOffsetOf;
38 };
39 }
40 
41 #endif
42