aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/3rdparty/cplusplus/TranslationUnit.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/3rdparty/cplusplus/TranslationUnit.h')
-rw-r--r--src/libs/3rdparty/cplusplus/TranslationUnit.h26
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,