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 #include "namespacealiasdeclaration.h" 0008 0009 #include <language/duchain/duchainregister.h> 0010 #include <completioncodemodel.h> 0011 0012 #include "helper.h" 0013 0014 namespace Php { 0015 REGISTER_DUCHAIN_ITEM(NamespaceAliasDeclaration); 0016 0017 NamespaceAliasDeclaration::NamespaceAliasDeclaration(const NamespaceAliasDeclaration& rhs) 0018 : KDevelop::NamespaceAliasDeclaration(*new NamespaceAliasDeclarationData(*rhs.d_func())) 0019 { 0020 } 0021 0022 NamespaceAliasDeclaration::NamespaceAliasDeclaration(const KDevelop::RangeInRevision& range, KDevelop::DUContext* context) 0023 : KDevelop::NamespaceAliasDeclaration(*new NamespaceAliasDeclarationData) 0024 { 0025 setRange(range); 0026 d_func_dynamic()->setClassId(this); 0027 if (context) { 0028 setContext(context); 0029 } 0030 } 0031 0032 NamespaceAliasDeclaration::NamespaceAliasDeclaration(NamespaceAliasDeclarationData& data) 0033 : KDevelop::NamespaceAliasDeclaration(data) 0034 { 0035 } 0036 0037 NamespaceAliasDeclaration::~NamespaceAliasDeclaration() 0038 { 0039 } 0040 0041 KDevelop::Declaration* NamespaceAliasDeclaration::clonePrivate() const 0042 { 0043 return new NamespaceAliasDeclaration(*this); 0044 } 0045 0046 KDevelop::IndexedString NamespaceAliasDeclaration::prettyName() const 0047 { 0048 return d_func()->prettyName; 0049 } 0050 0051 void NamespaceAliasDeclaration::setPrettyName( const KDevelop::IndexedString& name ) 0052 { 0053 bool wasInSymbolTable = d_func()->m_inSymbolTable; 0054 setInSymbolTable(false); 0055 d_func_dynamic()->prettyName = name; 0056 setInSymbolTable(wasInSymbolTable); 0057 } 0058 0059 QString NamespaceAliasDeclaration::toString() const 0060 { 0061 return QStringLiteral("Import %1 as %2").arg(d_func()->m_importIdentifier.identifier().toString(), prettyName().str()); 0062 } 0063 0064 }