summaryrefslogtreecommitdiffstats
path: root/src/definition.h
diff options
context:
space:
mode:
authordimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2004-04-27 19:44:46 (GMT)
committerdimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2004-04-27 19:44:46 (GMT)
commit9b0cf1e08f786c5fbc0583fdeecd9b6fefda2b76 (patch)
tree73dfea63810e8b2a57aee5b37ecd2f360c69f440 /src/definition.h
parent4088d90d9abafaa51250e55a5f48a787a921ed98 (diff)
downloadDoxygen-9b0cf1e08f786c5fbc0583fdeecd9b6fefda2b76.zip
Doxygen-9b0cf1e08f786c5fbc0583fdeecd9b6fefda2b76.tar.gz
Doxygen-9b0cf1e08f786c5fbc0583fdeecd9b6fefda2b76.tar.bz2
Release-1.3.6-20040427
Diffstat (limited to 'src/definition.h')
-rw-r--r--src/definition.h19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/definition.h b/src/definition.h
index 88d0479..a0a3cd9 100644
--- a/src/definition.h
+++ b/src/definition.h
@@ -20,6 +20,7 @@
#include "qtbc.h"
#include <qlist.h>
+#include <qdict.h>
class FileDef;
class OutputList;
@@ -32,6 +33,14 @@ class GroupDef;
class GroupList;
struct ListItemInfo;
struct SectionInfo;
+class Definition;
+
+struct ReachableDefinition
+{
+ ReachableDefinition(Definition *d,int dist) : def(d), distance(dist) {}
+ Definition *def;
+ int distance;
+};
/*! The common base class of all entity definitions found in the sources. */
class Definition
@@ -58,7 +67,7 @@ class Definition
/*! Returns the base name of the output file that contains this
* definition.
*/
- virtual QCString qualifiedName() const;
+ virtual QCString qualifiedName();
QCString localName() const;
virtual QCString getOutputFileBase() const = 0;
/*! Returns the name of the source listing of this file. */
@@ -132,6 +141,7 @@ class Definition
virtual Definition *getOuterScope() const { return m_outerScope; }
virtual void addInnerCompound(Definition *d);
virtual void setOuterScope(Definition *d) { m_outerScope = d; }
+ virtual void computeReachability();
MemberSDict *getReferencesMembers() const { return m_sourceRefsDict; }
MemberSDict *getReferencedByMembers() const { return m_sourceRefByDict; }
@@ -139,6 +149,7 @@ class Definition
void makePartOfGroup(GroupDef *gd);
GroupList *partOfGroups() const { return m_partOfGroups; }
QCString convertNameToFile(const char *name,bool allowDots=FALSE) const;
+ void addReachableDef(Definition *d,int distance);
protected:
int m_startBodyLine; // line number of the start of the definition
@@ -158,6 +169,9 @@ class Definition
/*! List of groups this definition is part of */
GroupList *m_partOfGroups;
+ // reachability of other definitions from this one
+ QDict<ReachableDefinition> m_reachableDefs;
+ bool m_reachabilityComputed;
private:
int getXRefListId(const char *listName) const;
@@ -181,6 +195,9 @@ class Definition
QList<ListItemInfo> *m_xrefListItems;
QCString m_symbolName;
bool m_isSymbol;
+
+
+ QCString m_qualifiedName;
};
class DefinitionList : public QList<Definition>