summaryrefslogtreecommitdiffstats
path: root/src/util.h
diff options
context:
space:
mode:
authorDimitri van Heesch <doxygen@gmail.com>2020-11-05 17:53:20 (GMT)
committerDimitri van Heesch <doxygen@gmail.com>2020-11-09 18:47:45 (GMT)
commit075229e586b391c3ec7ad79597aaeae392ca64e5 (patch)
tree2ad99929371727ad0811a55e597fa81a70ba43a7 /src/util.h
parent6922d5d63d77c8f640c58e9c68a9955f9f0aa9a7 (diff)
downloadDoxygen-075229e586b391c3ec7ad79597aaeae392ca64e5.zip
Doxygen-075229e586b391c3ec7ad79597aaeae392ca64e5.tar.gz
Doxygen-075229e586b391c3ec7ad79597aaeae392ca64e5.tar.bz2
Refactoring: Introduce immutable and mutable interfaces
Split Definition/ClassDef/NamespaceDef/MemberDef into a immutable and mutable part Aliases are immutable, other symbols are stored using an immutable interface but can be made mutable explicitly by dynamic casting.
Diffstat (limited to 'src/util.h')
-rw-r--r--src/util.h14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/util.h b/src/util.h
index 2ae24be..1d14ea9 100644
--- a/src/util.h
+++ b/src/util.h
@@ -34,6 +34,7 @@
#include "classdef.h"
#include "arguments.h"
#include "containers.h"
+#include "namespacedef.h"
//--------------------------------------------------------------------
@@ -152,8 +153,7 @@ bool getDefs(const QCString &scopeName,
const GroupDef *&gd,
bool forceEmptyScope=FALSE,
const FileDef *currentFile=0,
- bool checkCV=FALSE,
- const char *forceTagFile=0
+ bool checkCV=FALSE
);
QCString getFileFilter(const char* name,bool isSourceCode);
@@ -205,8 +205,16 @@ QCString selectBlock(const QCString& s,const QCString &name,bool which);
QCString resolveDefines(const char *n);
ClassDef *getClass(const char *key);
+inline ClassDefMutable *getClassMutable(const char *key)
+{
+ return ClassDef::make_mutable(getClass(key));
+}
NamespaceDef *getResolvedNamespace(const char *key);
+inline NamespaceDefMutable *getResolvedNamespaceMutable(const char *key)
+{
+ return NamespaceDef::make_mutable(getResolvedNamespace(key));
+}
FileDef *findFileDef(const FileNameLinkedMap *fnMap,const char *n,
bool &ambig);
@@ -456,7 +464,7 @@ QCString getDotImageExtension();
bool fileVisibleInIndex(const FileDef *fd,bool &genSourceFile);
-void addDocCrossReference(MemberDef *src,MemberDef *dst);
+void addDocCrossReference(MemberDefMutable *src,MemberDefMutable *dst);
uint getUtf8Code( const QCString& s, int idx );
uint getUtf8CodeToLower( const QCString& s, int idx );