18 class CompilationDatabase;
47 std::string
lookup(uint32_t line,
const char *symbol);
57 void writeLineNumber(OutputCodeList &ol,
const FileDef *fd,uint32_t line,
bool writeLineAnchor);
58 void codifyLines(OutputCodeList &ol,
const FileDef *fd,
const char *text,
59 uint32_t &line,uint32_t &column,
const char *fontClass=
nullptr);
61 const FileDef *fd,uint32_t &line,uint32_t &column,
62 const Definition *d,
const char *text);
64 uint32_t &line,uint32_t &column,
65 const char *text,
int tokenIndex);
66 void linkMacro(OutputCodeList &ol,
const FileDef *fd,
67 uint32_t &line,uint32_t &column,
70 uint32_t &line,uint32_t &column,
72 void codeFolding(OutputCodeList &ol,
const Definition *d,uint32_t line);
75 std::unique_ptr<Private>
p;
85 std::unique_ptr<ClangTUParser>
createTUParser(
const FileDef *fd)
const;
88 const clang::tooling::CompilationDatabase *
database()
const;
90 std::unique_ptr<Private>
p;
Wrapper for to let libclang assisted parsing.
static ClangParser * s_instance
std::unique_ptr< ClangTUParser > createTUParser(const FileDef *fd) const
const clang::tooling::CompilationDatabase * database() const
static ClangParser * instance()
Returns the one and only instance of the class.
std::unique_ptr< Private > p
friend class ClangTUParser
StringVector filesInSameTU() const
Returns the list of files for this translation unit.
ClangTUParser(const ClangParser &parser, const FileDef *fd)
void linkIdentifier(OutputCodeList &ol, const FileDef *fd, uint32_t &line, uint32_t &column, const char *text, int tokenIndex)
void linkInclude(OutputCodeList &ol, const FileDef *fd, uint32_t &line, uint32_t &column, const char *text)
void endCodeFold(OutputCodeList &ol, uint32_t line)
void writeLineNumber(OutputCodeList &ol, const FileDef *fd, uint32_t line, bool writeLineAnchor)
void codeFolding(OutputCodeList &ol, const Definition *d, uint32_t line)
void switchToFile(const FileDef *fd)
Switches to another file within the translation unit started with start().
void parse()
Parse the file given at construction time as a translation unit This file should already be preproces...
void codifyLines(OutputCodeList &ol, const FileDef *fd, const char *text, uint32_t &line, uint32_t &column, const char *fontClass=nullptr)
void linkMacro(OutputCodeList &ol, const FileDef *fd, uint32_t &line, uint32_t &column, const char *text)
std::string lookup(uint32_t line, const char *symbol)
Looks for symbol which should be found at line.
std::unique_ptr< Private > p
void writeMultiLineCodeLink(OutputCodeList &ol, const FileDef *fd, uint32_t &line, uint32_t &column, const Definition *d, const char *text)
void detectFunctionBody(const char *s)
void writeSources(OutputCodeList &ol, const FileDef *fd)
writes the syntax highlighted source code for a file
The common base class of all entity definitions found in the sources.
A model of a file symbol.
Class representing a list of different code generators.
#define NON_COPYABLE(cls)
Macro to help implementing the rule of 5 for a non-copyable & movable class.
std::vector< std::string > StringVector
This file contains a number of basic enums and types.