summaryrefslogtreecommitdiffstats
path: root/src/clangparser.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/clangparser.h')
-rw-r--r--src/clangparser.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/clangparser.h b/src/clangparser.h
new file mode 100644
index 0000000..fc56b3a
--- /dev/null
+++ b/src/clangparser.h
@@ -0,0 +1,35 @@
+#ifndef CLANGPARSER_H
+#define CLANGPARSER_H
+
+#include <qcstring.h>
+
+class OutputList;
+class FileDef;
+
+class ClangParser
+{
+ public:
+ static ClangParser *instance();
+ void start(const char *fileName);
+ void finish();
+ QCString lookup(uint line,const char *symbol);
+ void writeSources(OutputList &ol,FileDef *fd);
+
+ private:
+ void linkIdentifier(OutputList &ol,FileDef *fd,
+ uint &line,uint &column,
+ const char *text,int tokenIndex);
+ void linkMacro(OutputList &ol,FileDef *fd,
+ uint &line,uint &column,
+ const char *text);
+ void linkInclude(OutputList &ol,FileDef *fd,
+ uint &line,uint &column,
+ const char *text);
+ class Private;
+ Private *p;
+ ClangParser();
+ virtual ~ClangParser();
+ static ClangParser *s_instance;
+};
+
+#endif