File indexing completed on 2024-05-05 16:41:08
0001 /* 0002 SPDX-FileCopyrightText: 2008 Milian Wolff <mail@milianw.de> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #ifndef PHP_NAMESPACEDECLARATION_H 0008 #define PHP_NAMESPACEDECLARATION_H 0009 0010 #include <language/duchain/declaration.h> 0011 0012 #include <language/duchain/declarationdata.h> 0013 #include <serialization/indexedstring.h> 0014 0015 #include "phpduchainexport.h" 0016 namespace Php 0017 { 0018 0019 class KDEVPHPDUCHAIN_EXPORT NamespaceDeclarationData : public KDevelop::DeclarationData 0020 { 0021 public: 0022 NamespaceDeclarationData() 0023 : KDevelop::DeclarationData() {} 0024 0025 NamespaceDeclarationData(const NamespaceDeclarationData& rhs) 0026 : KDevelop::DeclarationData(rhs) 0027 { 0028 prettyName = rhs.prettyName; 0029 } 0030 0031 ~NamespaceDeclarationData() {} 0032 0033 KDevelop::IndexedString prettyName; 0034 }; 0035 0036 class KDEVPHPDUCHAIN_EXPORT NamespaceDeclaration : public KDevelop::Declaration 0037 { 0038 public: 0039 NamespaceDeclaration(const NamespaceDeclaration &rhs); 0040 NamespaceDeclaration(const KDevelop::RangeInRevision &range, KDevelop::DUContext *parentContext); 0041 NamespaceDeclaration(NamespaceDeclarationData &data); 0042 ~NamespaceDeclaration() override; 0043 0044 QString toString() const override; 0045 0046 void setPrettyName(const KDevelop::IndexedString& name); 0047 KDevelop::IndexedString prettyName() const; 0048 0049 enum { 0050 Identity = 87 0051 }; 0052 0053 KDevelop::Declaration* clonePrivate() const override; 0054 private: 0055 DUCHAIN_DECLARE_DATA(NamespaceDeclaration) 0056 }; 0057 0058 } 0059 0060 #endif // PHP_NAMESPACEDECLARATION_H