summaryrefslogtreecommitdiffstats
path: root/src/clangparser.h
blob: fc56b3af117465ccd9bebd0fa10d2d9456b0cf31 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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