File indexing completed on 2024-04-28 15:52:42

0001 /*
0002     SPDX-FileCopyrightText: 2007 David Nolden <david.nolden.kdevelop@art-master.de>
0003     SPDX-FileCopyrightText: 2008 Niko Sams <niko.sams@gmail.com>
0004 
0005     SPDX-License-Identifier: LGPL-2.0-only
0006 */
0007 
0008 #ifndef DECLARATIONNAVIGATIONCONTEXT_H
0009 #define DECLARATIONNAVIGATIONCONTEXT_H
0010 
0011 #include <language/duchain/navigation/abstractdeclarationnavigationcontext.h>
0012 #include <language/duchain/types/abstracttype.h>
0013 
0014 namespace Php
0015 {
0016 
0017 class DeclarationNavigationContext : public KDevelop::AbstractDeclarationNavigationContext
0018 {
0019 public:
0020     DeclarationNavigationContext(KDevelop::DeclarationPointer decl, KDevelop::TopDUContextPointer topContext, KDevelop::AbstractNavigationContext* previousContext = nullptr);
0021 
0022 protected:
0023     KDevelop::NavigationContextPointer registerChild(KDevelop::DeclarationPointer declaration);
0024     KDevelop::QualifiedIdentifier prettyQualifiedIdentifier(const KDevelop::DeclarationPointer& decl) const override;
0025     void htmlClass() override;
0026     void htmlAdditionalNavigation() override;
0027     void htmlFunction() override;
0028 
0029     void makeLink(const QString& name, const KDevelop::DeclarationPointer& declaration, KDevelop::NavigationAction::Type actionType) override;
0030 
0031     QString declarationKind(const KDevelop::DeclarationPointer& decl) override;
0032 };
0033 
0034 }
0035 
0036 #endif