File indexing completed on 2024-05-12 04:37:56

0001 /*
0002     SPDX-FileCopyrightText: 2002-2005 Roberto Raggi <roberto@kdevelop.org>
0003     SPDX-FileCopyrightText: 2006 Adam Treat <treat@kde.org>
0004     SPDX-FileCopyrightText: 2006 Hamish Rodda <rodda@kde.org>
0005     SPDX-FileCopyrightText: 2007-2008 David Nolden <david.nolden.kdevelop@art-master.de>
0006 
0007     SPDX-License-Identifier: LGPL-2.0-only
0008 */
0009 
0010 #ifndef KDEVPLATFORM_CLASSMEMBERDECLARATIONDATA_H
0011 #define KDEVPLATFORM_CLASSMEMBERDECLARATIONDATA_H
0012 
0013 #include "declarationdata.h"
0014 #include <language/languageexport.h>
0015 
0016 namespace KDevelop {
0017 class KDEVPLATFORMLANGUAGE_EXPORT ClassMemberDeclarationData
0018     : public DeclarationData
0019 {
0020 public:
0021     ClassMemberDeclarationData();
0022     ClassMemberDeclarationData(const ClassMemberDeclarationData& rhs) = default;
0023 
0024     Declaration::AccessPolicy m_accessPolicy;
0025 
0026     bool m_isStatic : 1;
0027     bool m_isAuto : 1;
0028     bool m_isFriend : 1;
0029     bool m_isRegister : 1;
0030     bool m_isExtern : 1;
0031     bool m_isMutable : 1;
0032 
0033     /// Stores bitWidth in bits or a ClassMemberDeclaration::BitWidthSpecialValue.
0034     int16_t m_bitWidth;
0035 
0036     /// Stores bitOffsetOf in bits or -1 if unknown.
0037     int64_t m_bitOffsetOf;
0038 };
0039 }
0040 
0041 #endif