diff options
Diffstat (limited to 'src/libs/3rdparty/cplusplus/TranslationUnit.h')
-rw-r--r-- | src/libs/3rdparty/cplusplus/TranslationUnit.h | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/src/libs/3rdparty/cplusplus/TranslationUnit.h b/src/libs/3rdparty/cplusplus/TranslationUnit.h index 7422885a7e..40f79d0091 100644 --- a/src/libs/3rdparty/cplusplus/TranslationUnit.h +++ b/src/libs/3rdparty/cplusplus/TranslationUnit.h @@ -28,6 +28,10 @@ #include <unordered_map> #include <vector> +QT_BEGIN_NAMESPACE +class QTextDocument; +QT_END_NAMESPACE + namespace CPlusPlus { class CPLUSPLUS_EXPORT TranslationUnit @@ -61,6 +65,9 @@ public: int commentCount() const; const Token &commentAt(int index) const; + // Including comments. + std::vector<Token> allTokens() const; + int matchingBrace(int index) const; const Identifier *identifier(int index) const; const Literal *literal(int index) const; @@ -106,23 +113,26 @@ public: void resetAST(); void release(); - void getTokenStartPosition(int index, int *line, - int *column = nullptr, - const StringLiteral **fileName = nullptr) const; - + void getTokenPosition(int index, int *line, + int *column = nullptr, + const StringLiteral **fileName = nullptr) const; void getTokenEndPosition(int index, int *line, int *column = nullptr, const StringLiteral **fileName = nullptr) const; - void getPosition(int utf16charOffset, int *line, int *column = nullptr, const StringLiteral **fileName = nullptr) const; - void getTokenPosition(int index, - int *line, - int *column = nullptr, + int getTokenPositionInDocument(int index, const QTextDocument *doc) const; + int getTokenEndPositionInDocument(int index, const QTextDocument *doc) const; + + void getTokenPosition(const Token &token, int *line, int *column = nullptr, const StringLiteral **fileName = nullptr) const; + void getTokenEndPosition(const Token &token, int *line, int *column = nullptr, + const StringLiteral **fileName = nullptr) const; + int getTokenPositionInDocument(const Token token, const QTextDocument *doc) const; + int getTokenEndPositionInDocument(const Token &token, const QTextDocument *doc) const; void pushLineOffset(int offset); void pushPreprocessorLine(int utf16charOffset, |