summaryrefslogtreecommitdiff
path: root/src/shared/cplusplus
diff options
context:
space:
mode:
authorRoberto Raggi <roberto.raggi@nokia.com>2009-09-29 11:34:11 +0200
committerRoberto Raggi <roberto.raggi@nokia.com>2009-09-29 11:35:43 +0200
commite40cd82f8c12ca3d0a3b0e9c89737acf940def44 (patch)
treeb5a4688f2213166dde97d575d2afbd0d7935aa23 /src/shared/cplusplus
parent1ce92c0ed6fad332c1ef7a1eb1d770fbd23932fb (diff)
downloadqt-creator-e40cd82f8c12ca3d0a3b0e9c89737acf940def44.tar.gz
Introduced T_CPP_COMMENT and T_CPP_DOXY_COMMENT to handle C++-style comments and improved CPPEditor::isInComment to handle the newly introduced tokens.
As side effect,this change should fix the regression we introduced in the "automagically" quote/brace insertion.
Diffstat (limited to 'src/shared/cplusplus')
-rw-r--r--src/shared/cplusplus/Lexer.cpp2
-rw-r--r--src/shared/cplusplus/Token.cpp1
-rw-r--r--src/shared/cplusplus/Token.h5
3 files changed, 6 insertions, 2 deletions
diff --git a/src/shared/cplusplus/Lexer.cpp b/src/shared/cplusplus/Lexer.cpp
index a9ef6cce3f..79c9bf4af1 100644
--- a/src/shared/cplusplus/Lexer.cpp
+++ b/src/shared/cplusplus/Lexer.cpp
@@ -428,7 +428,7 @@ void Lexer::scan_helper(Token *tok)
if (! f._scanCommentTokens)
goto _Lagain;
- tok->f.kind = doxy ? T_DOXY_COMMENT : T_COMMENT;
+ tok->f.kind = doxy ? T_CPP_DOXY_COMMENT : T_CPP_COMMENT;
} else if (_yychar == '*') {
yyinp();
diff --git a/src/shared/cplusplus/Token.cpp b/src/shared/cplusplus/Token.cpp
index 14a62f3db3..547849b1cc 100644
--- a/src/shared/cplusplus/Token.cpp
+++ b/src/shared/cplusplus/Token.cpp
@@ -54,6 +54,7 @@ CPLUSPLUS_BEGIN_NAMESPACE
static const char *token_names[] = {
(""), ("<error>"),
+ ("<C++ comment>"), ("<C++ doxy comment>"),
("<comment>"), ("<doxy comment>"),
("<identifier>"), ("<numeric literal>"), ("<char literal>"),
diff --git a/src/shared/cplusplus/Token.h b/src/shared/cplusplus/Token.h
index 861c21da27..00d42b7f89 100644
--- a/src/shared/cplusplus/Token.h
+++ b/src/shared/cplusplus/Token.h
@@ -59,6 +59,8 @@ enum Kind {
T_EOF_SYMBOL = 0,
T_ERROR,
+ T_CPP_COMMENT,
+ T_CPP_DOXY_COMMENT,
T_COMMENT,
T_DOXY_COMMENT,
T_IDENTIFIER,
@@ -297,7 +299,8 @@ public:
{ return f.kind >= T_FIRST_KEYWORD && f.kind < T_FIRST_QT_KEYWORD; }
inline bool isComment() const
- { return f.kind == T_COMMENT || f.kind == T_DOXY_COMMENT; }
+ { return f.kind == T_COMMENT || f.kind == T_DOXY_COMMENT ||
+ f.kind == T_CPP_COMMENT || f.kind == T_CPP_DOXY_COMMENT; }
inline bool isObjCAtKeyword() const
{ return f.kind >= T_FIRST_OBJC_AT_KEYWORD && f.kind <= T_LAST_OBJC_AT_KEYWORD; }