Warning, file /kdevelop/kdev-php/duchain/declarations/classdeclaration.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

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_CLASSDECLARATION_H
0008 #define PHP_CLASSDECLARATION_H
0009 
0010 #include <language/duchain/classdeclaration.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 ClassDeclarationData : public KDevelop::ClassDeclarationData
0021 {
0022 public:
0023     ClassDeclarationData()
0024             : KDevelop::ClassDeclarationData() {}
0025 
0026     ClassDeclarationData(const ClassDeclarationData& rhs)
0027             : KDevelop::ClassDeclarationData(rhs)
0028     {
0029         prettyName = rhs.prettyName;
0030     }
0031 
0032     ~ClassDeclarationData() {}
0033 
0034     KDevelop::IndexedString prettyName;
0035 };
0036 
0037 class KDEVPHPDUCHAIN_EXPORT ClassDeclaration : public KDevelop::ClassDeclaration
0038 {
0039 public:
0040     ClassDeclaration(const ClassDeclaration &rhs);
0041     ClassDeclaration(const KDevelop::RangeInRevision &range, KDevelop::DUContext *context);
0042     ClassDeclaration(ClassDeclarationData &data);
0043     ClassDeclaration(ClassDeclarationData &data, const KDevelop::RangeInRevision &range, KDevelop::DUContext *context);
0044     ~ClassDeclaration() override;
0045 
0046     QString toString() const override;
0047 
0048     void setPrettyName(const KDevelop::IndexedString& name);
0049     KDevelop::IndexedString prettyName() const;
0050 
0051     void updateCompletionCodeModelItem();
0052 
0053     enum {
0054         Identity = 85
0055     };
0056 
0057     KDevelop::Declaration* clonePrivate() const override;
0058 private:
0059     DUCHAIN_DECLARE_DATA(ClassDeclaration)
0060 };
0061 
0062 }
0063 
0064 #endif // PHP_CLASSDECLARATION_H