• Skip to content
  • Skip to link menu
KDE 4.4 API Reference
  • KDE API Reference
  • KDevelop Platform Libraries
  • Sitemap
  • Contact Us
 

language/duchain

classmemberdeclaration.h

00001 /* This file is part of KDevelop
00002     Copyright 2002-2005 Roberto Raggi <roberto@kdevelop.org>
00003     Copyright 2006 Adam Treat <treat@kde.org>
00004     Copyright 2006 Hamish Rodda <rodda@kde.org>
00005     Copyright 2007-2008 David Nolden <david.nolden.kdevelop@art-master.de>
00006 
00007    This library is free software; you can redistribute it and/or
00008    modify it under the terms of the GNU Library General Public
00009    License version 2 as published by the Free Software Foundation.
00010 
00011    This library is distributed in the hope that it will be useful,
00012    but WITHOUT ANY WARRANTY; without even the implied warranty of
00013    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014    Library General Public License for more details.
00015 
00016    You should have received a copy of the GNU Library General Public License
00017    along with this library; see the file COPYING.LIB.  If not, write to
00018    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00019    Boston, MA 02110-1301, USA.
00020 */
00021 
00022 #ifndef CLASSMEMBERDECLARATION_H
00023 #define CLASSMEMBERDECLARATION_H
00024 
00025 #include "declaration.h"
00026 
00027 namespace KDevelop
00028 {
00029 class ClassMemberDeclarationData;
00033 class KDEVPLATFORMLANGUAGE_EXPORT ClassMemberDeclaration : public Declaration
00034 {
00035 public:
00036   ClassMemberDeclaration(const ClassMemberDeclaration& rhs);
00037   ClassMemberDeclaration(const SimpleRange& range, DUContext* context);
00038   ClassMemberDeclaration(ClassMemberDeclarationData& dd);
00039   ~ClassMemberDeclaration();
00040 
00041   AccessPolicy accessPolicy() const;
00042   void setAccessPolicy(AccessPolicy accessPolicy);
00043 
00044   enum StorageSpecifier {
00045     StaticSpecifier   = 0x1  ,
00046     AutoSpecifier     = 0x2  ,
00047     FriendSpecifier   = 0x4  ,
00048     ExternSpecifier   = 0x8  ,
00049     RegisterSpecifier = 0x10 ,
00050     MutableSpecifier  = 0x20 ,
00051     FinalSpecifier    = 0x40 ,
00052     NativeSpecifier   = 0x80,
00053     SynchronizedSpecifier = 0x100,
00054     StrictFPSpecifier = 0x200,
00055     AbstractSpecifier = 0x400
00056   };
00057   Q_DECLARE_FLAGS(StorageSpecifiers, StorageSpecifier)
00058 
00059   void setStorageSpecifiers(StorageSpecifiers specifiers);
00060 
00061   bool isStatic() const;
00062   void setStatic(bool isStatic);
00063 
00064   bool isAuto() const;
00065   void setAuto(bool isAuto);
00066 
00067   bool isFriend() const;
00068   void setFriend(bool isFriend);
00069 
00070   bool isRegister() const;
00071   void setRegister(bool isRegister);
00072 
00073   bool isExtern() const;
00074   void setExtern(bool isExtern);
00075 
00076   bool isMutable() const;
00077   void setMutable(bool isMutable);
00078 
00079   bool isNative() const;
00080   void setNative(bool native);
00081 
00082   bool isSynchronized() const;
00083   void setSynchronized(bool synchronized);
00084 
00085   bool isStrictFP() const;
00086   void setStrictFP(bool strictFP);
00087 
00088   bool isAbstract() const;
00089   void setAbstract(bool abstract);
00090 
00091   enum {
00092     Identity = 9
00093   };
00094 
00095 protected:
00096   ClassMemberDeclaration(ClassMemberDeclarationData& dd, const SimpleRange& range);
00097 
00098   DUCHAIN_DECLARE_DATA(ClassMemberDeclaration)
00099 private:
00100   virtual Declaration* clonePrivate() const;
00101 
00102 };
00103 }
00104 
00105 Q_DECLARE_OPERATORS_FOR_FLAGS(KDevelop::ClassMemberDeclaration::StorageSpecifiers)
00106 
00107 #endif // CLASSMEMBERDECLARATION_H
00108 
00109 // kate: space-indent on; indent-width 2; tab-width 4; replace-tabs on; auto-insert-doxygen on

language/duchain

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

KDevelop Platform Libraries

Skip menu "KDevelop Platform Libraries"
  • interfaces
  • language
  •   codegen
  •   duchain
  •   editor
  • outputview
  • project
  • shell
  • sublime
  • util
  • vcs
Generated for KDevelop Platform Libraries by doxygen 1.5.9-20090814
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal