• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdevelop API Reference
  • KDE Home
  • Contact Us
 

kdevplatform/language/duchain

  • sources
  • kfour-appscomplete
  • kdevelop
  • kdevplatform
  • language
  • duchain
classmemberdeclaration.h
Go to the documentation of this file.
1 /* This file is part of KDevelop
2  Copyright 2002-2005 Roberto Raggi <[email protected]>
3  Copyright 2006 Adam Treat <[email protected]>
4  Copyright 2006 Hamish Rodda <[email protected]>
5  Copyright 2007-2008 David Nolden <[email protected]>
6 
7  This library is free software; you can redistribute it and/or
8  modify it under the terms of the GNU Library General Public
9  License version 2 as published by the Free Software Foundation.
10 
11  This library is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  Library General Public License for more details.
15 
16  You should have received a copy of the GNU Library General Public License
17  along with this library; see the file COPYING.LIB. If not, write to
18  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
19  Boston, MA 02110-1301, USA.
20  */
21 
22 #ifndef KDEVPLATFORM_CLASSMEMBERDECLARATION_H
23 #define KDEVPLATFORM_CLASSMEMBERDECLARATION_H
24 
25 #include "declaration.h"
26 
27 namespace KDevelop {
28 class ClassMemberDeclarationData;
32 class KDEVPLATFORMLANGUAGE_EXPORT ClassMemberDeclaration
33  : public Declaration
34 {
35 public:
36  ClassMemberDeclaration(const ClassMemberDeclaration& rhs);
37  ClassMemberDeclaration(const RangeInRevision& range, DUContext* context);
38  explicit ClassMemberDeclaration(ClassMemberDeclarationData& dd);
39  ~ClassMemberDeclaration() override;
40 
41  ClassMemberDeclaration& operator=(const ClassMemberDeclaration& rhs) = delete;
42 
43  AccessPolicy accessPolicy() const;
44  void setAccessPolicy(AccessPolicy accessPolicy);
45 
46  enum StorageSpecifier {
47  StaticSpecifier = 0x1 ,
48  AutoSpecifier = 0x2 ,
49  FriendSpecifier = 0x4 ,
50  ExternSpecifier = 0x8 ,
51  RegisterSpecifier = 0x10 ,
52  MutableSpecifier = 0x20
53  };
54  Q_DECLARE_FLAGS(StorageSpecifiers, StorageSpecifier)
55 
56  void setStorageSpecifiers(StorageSpecifiers specifiers);
57 
58  bool isStatic() const;
59  void setStatic(bool isStatic);
60 
61  bool isAuto() const;
62  void setAuto(bool isAuto);
63 
64  bool isFriend() const;
65  void setFriend(bool isFriend);
66 
67  bool isRegister() const;
68  void setRegister(bool isRegister);
69 
70  bool isExtern() const;
71  void setExtern(bool isExtern);
72 
73  bool isMutable() const;
74  void setMutable(bool isMutable);
75 
79  int64_t bitOffsetOf() const;
80 
84  void setBitOffsetOf(int64_t bitOffsetOf);
85 
89  int bitWidth() const;
90 
94  void setBitWidth(int bitWidth);
95 
96  enum {
97  Identity = 9
98  };
99 
100 protected:
101  ClassMemberDeclaration(ClassMemberDeclarationData& dd, const RangeInRevision& range);
102 
103  DUCHAIN_DECLARE_DATA(ClassMemberDeclaration)
104 
105 private:
106  Declaration* clonePrivate() const override;
107 };
108 
109 #if QT_VERSION >= QT_VERSION_CHECK(5, 12, 0)
110 Q_DECLARE_OPERATORS_FOR_FLAGS(ClassMemberDeclaration::StorageSpecifiers)
111 #endif
112 
113 }
114 
115 #if QT_VERSION < QT_VERSION_CHECK(5, 12, 0)
116 Q_DECLARE_OPERATORS_FOR_FLAGS(KDevelop::ClassMemberDeclaration::StorageSpecifiers)
117 #endif
118 
119 #endif // KDEVPLATFORM_CLASSMEMBERDECLARATION_H
DUCHAIN_DECLARE_DATA
#define DUCHAIN_DECLARE_DATA(Class)
Use this to declare the data functions in your DUChainBase based class.
Definition: duchainbase.h:41
KDevelop::Declaration
Represents a single declaration in a definition-use chain.
Definition: declaration.h:51
declaration.h
KDevelop::ClassMemberDeclaration
Represents a single class member definition in a definition-use chain.
Definition: classmemberdeclaration.h:32
KDevelop::ClassMemberDeclaration::StorageSpecifier
StorageSpecifier
Definition: classmemberdeclaration.h:46
KDevelop::Declaration::AccessPolicy
AccessPolicy
Access types.
Definition: declaration.h:56
KDevelop::ClassMemberDeclarationData
Definition: classmemberdeclarationdata.h:29
KDevelop
Definition: abstractfunctiondeclaration.cpp:27
KDevelop::DUContext
A single context in source code, represented as a node in a directed acyclic graph.
Definition: ducontext.h:72
This file is part of the KDE documentation.
Documentation copyright © 1996-2021 The KDE developers.
Generated on Sat Apr 10 2021 23:30:23 by doxygen 1.8.16 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

kdevplatform/language/duchain

Skip menu "kdevplatform/language/duchain"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdevelop API Reference

Skip menu "kdevelop API Reference"
  • kdevplatform
  •   debugger
  •   documentation
  •   interfaces
  •   language
  •     assistant
  •     backgroundparser
  •     checks
  •     classmodel
  •     codecompletion
  •     codegen
  •     duchain
  •     editor
  •     highlighting
  •     interfaces
  •     util
  •   outputview
  •   project
  •   serialization
  •   shell
  •   sublime
  •   tests
  •   util
  •   vcs

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal