File indexing completed on 2024-04-28 15:52:41
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_FUNCTIONDECLARATION_H 0008 #define PHP_FUNCTIONDECLARATION_H 0009 0010 #include <language/duchain/functiondeclaration.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 FunctionDeclarationData : public KDevelop::FunctionDeclarationData 0021 { 0022 public: 0023 FunctionDeclarationData() 0024 : KDevelop::FunctionDeclarationData() {} 0025 0026 FunctionDeclarationData(const FunctionDeclarationData& rhs) 0027 : KDevelop::FunctionDeclarationData(rhs) 0028 { 0029 prettyName = rhs.prettyName; 0030 } 0031 0032 ~FunctionDeclarationData() {} 0033 0034 KDevelop::IndexedString prettyName; 0035 }; 0036 0037 class KDEVPHPDUCHAIN_EXPORT FunctionDeclaration : public KDevelop::FunctionDeclaration 0038 { 0039 public: 0040 FunctionDeclaration(const FunctionDeclaration &rhs); 0041 FunctionDeclaration(const KDevelop::RangeInRevision &range, KDevelop::DUContext *context); 0042 FunctionDeclaration(FunctionDeclarationData &data); 0043 FunctionDeclaration(FunctionDeclarationData &data, const KDevelop::RangeInRevision &range, KDevelop::DUContext *context); 0044 ~FunctionDeclaration() override; 0045 0046 QString toString() const override; 0047 0048 void setPrettyName(const KDevelop::IndexedString& name); 0049 KDevelop::IndexedString prettyName() const; 0050 0051 enum { 0052 Identity = 86 0053 }; 0054 0055 KDevelop::Declaration* clonePrivate() const override; 0056 private: 0057 DUCHAIN_DECLARE_DATA(FunctionDeclaration) 0058 }; 0059 0060 } 0061 0062 #endif // PHP_FUNCTIONDECLARATION_H