File indexing completed on 2024-05-19 08:26:10
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_NAMESPACEALIASDECLARATION_H 0008 #define PHP_NAMESPACEALIASDECLARATION_H 0009 0010 #include <language/duchain/namespacealiasdeclaration.h> 0011 0012 #include <language/duchain/declaration.h> 0013 #include <language/duchain/declarationdata.h> 0014 #include <serialization/indexedstring.h> 0015 0016 #include "phpduchainexport.h" 0017 namespace Php 0018 { 0019 0020 class KDEVPHPDUCHAIN_EXPORT NamespaceAliasDeclarationData : public KDevelop::NamespaceAliasDeclarationData 0021 { 0022 public: 0023 NamespaceAliasDeclarationData() 0024 : KDevelop::NamespaceAliasDeclarationData() {} 0025 0026 NamespaceAliasDeclarationData(const NamespaceAliasDeclarationData& rhs) 0027 : KDevelop::NamespaceAliasDeclarationData(rhs) 0028 { 0029 prettyName = rhs.prettyName; 0030 } 0031 0032 ~NamespaceAliasDeclarationData() {} 0033 0034 KDevelop::IndexedString prettyName; 0035 }; 0036 0037 class KDEVPHPDUCHAIN_EXPORT NamespaceAliasDeclaration : public KDevelop::NamespaceAliasDeclaration 0038 { 0039 public: 0040 NamespaceAliasDeclaration(const NamespaceAliasDeclaration& rhs); 0041 NamespaceAliasDeclaration(const KDevelop::RangeInRevision& range, KDevelop::DUContext* context); 0042 NamespaceAliasDeclaration(NamespaceAliasDeclarationData& data); 0043 ~NamespaceAliasDeclaration() override; 0044 0045 QString toString() const override; 0046 0047 void setPrettyName(const KDevelop::IndexedString& name); 0048 KDevelop::IndexedString prettyName() const; 0049 0050 enum { 0051 Identity = 88 0052 }; 0053 0054 KDevelop::Declaration* clonePrivate() const override; 0055 private: 0056 DUCHAIN_DECLARE_DATA(NamespaceAliasDeclaration) 0057 }; 0058 0059 } 0060 0061 #endif // PHP_NAMESPACEALIASDECLARATION_H