• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdevelop API Reference
  • KDE Home
  • Contact Us
 

kdevelop/kdevplatform/language/duchain

  • extragear
  • kdevelop
  • kdevelop
  • kdevplatform
  • language
  • duchain
forwarddeclaration.h
Go to the documentation of this file.
1 /* This file is part of KDevelop
2  Copyright 2006-2008 Hamish Rodda <[email protected]>
3  Copyright 2007-2008 David Nolden <[email protected]>
4 
5  This library is free software; you can redistribute it and/or
6  modify it under the terms of the GNU Library General Public
7  License version 2 as published by the Free Software Foundation.
8 
9  This library is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  Library General Public License for more details.
13 
14  You should have received a copy of the GNU Library General Public License
15  along with this library; see the file COPYING.LIB. If not, write to
16  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17  Boston, MA 02110-1301, USA.
18  */
19 
20 #ifndef KDEVPLATFORM_FORWARDDECLARATION_H
21 #define KDEVPLATFORM_FORWARDDECLARATION_H
22 
23 #include "declaration.h"
24 #include "declarationdata.h"
25 
26 namespace KDevelop {
27 class KDEVPLATFORMLANGUAGE_EXPORT ForwardDeclarationData
28  : public DeclarationData
29 {
30 public:
31  ForwardDeclarationData()
32  {
33  }
34  ForwardDeclarationData(const ForwardDeclarationData& rhs)
35  : DeclarationData(rhs)
36  {
37  }
38  ~ForwardDeclarationData() = default;
39  ForwardDeclarationData& operator=(const ForwardDeclarationData& rhs) = delete;
40 };
44 class KDEVPLATFORMLANGUAGE_EXPORT ForwardDeclaration
45  : public Declaration
46 {
47 public:
56  ForwardDeclaration(const RangeInRevision& range, DUContext* context);
57  explicit ForwardDeclaration(ForwardDeclarationData& data);
58 
60  ForwardDeclaration(const ForwardDeclaration& rhs);
61 
63  ~ForwardDeclaration() override;
64 
65  ForwardDeclaration& operator=(const ForwardDeclaration& rhs) = delete;
66 
67  bool isForwardDeclaration() const override;
68 
78  virtual Declaration* resolve(const TopDUContext* topContext) const;
79 
80  DUContext* logicalInternalContext(const TopDUContext* topContext) const override;
81 
82  QString toString() const override;
83 
84  enum {
85  Identity = 10
86  };
87 
88  using BaseClass = Declaration;
89 
90 private:
91  Declaration* clonePrivate() const override;
92  DUCHAIN_DECLARE_DATA(ForwardDeclaration)
93 };
94 }
95 
96 #endif // KDEVPLATFORM_DECLARATION_H
KDevelop::Declaration
Represents a single declaration in a definition-use chain.
Definition: declaration.h:51
KDevelop::ForwardDeclaration
Represents a forward declaration.
Definition: forwarddeclaration.h:44
declarationdata.h
DUCHAIN_DECLARE_DATA
#define DUCHAIN_DECLARE_DATA(Class)
Use this to declare the data functions in your DUChainBase based class.
Definition: duchainbase.h:41
KDevelop::TopDUContext
The top context in a definition-use chain for one source file.
Definition: topducontext.h:113
KDevelop::ForwardDeclarationData::ForwardDeclarationData
ForwardDeclarationData()
Definition: forwarddeclaration.h:31
declaration.h
KDevelop::operator=
ClassDeclarationData & operator=(const ClassDeclarationData &rhs)=delete
QString
KDevelop::DeclarationData
Definition: declarationdata.h:35
KDevelop::ForwardDeclarationData
Definition: forwarddeclaration.h:27
KDevelop::DUContext
A single context in source code, represented as a node in a directed acyclic graph.
Definition: ducontext.h:72
KDevelop::ForwardDeclarationData::ForwardDeclarationData
ForwardDeclarationData(const ForwardDeclarationData &rhs)
Definition: forwarddeclaration.h:34
This file is part of the KDE documentation.
Documentation copyright © 1996-2019 The KDE developers.
Generated on Mon Dec 9 2019 02:48:09 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

kdevelop/kdevplatform/language/duchain

Skip menu "kdevelop/kdevplatform/language/duchain"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdevelop API Reference

Skip menu "kdevelop API Reference"
  •   kdevplatform
  •     debugger
  •     documentation
  •     interfaces
  •     language
  •       assistant
  •       backgroundparser
  •       checks
  •       classmodel
  •       codecompletion
  •       codegen
  •       duchain
  •       editor
  •       highlighting
  •       interfaces
  •       util
  •     outputview
  •     project
  •     serialization
  •     shell
  •     sublime
  •     tests
  •     util
  •     vcs

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal