summaryrefslogtreecommitdiff
path: root/src/libs/3rdparty/cplusplus/Parser.cpp
diff options
context:
space:
mode:
authorPrzemyslaw Gorszkowski <pgorszkowski@gmail.com>2013-04-10 23:30:18 +0200
committerErik Verbruggen <erik.verbruggen@digia.com>2013-04-19 12:14:56 +0200
commit080bf4ecb8b7b70d6410e3342e37dacd5aef8ff3 (patch)
treeafee321dc0eff8017c0a4e3243bf64aefa901581 /src/libs/3rdparty/cplusplus/Parser.cpp
parenta2b2857b44d6f6bfdf9ab07a51165b56ef2705bf (diff)
downloadqt-creator-080bf4ecb8b7b70d6410e3342e37dacd5aef8ff3.tar.gz
C++: improve support for anonymous classes
Fix: * highlighting * find usages * follow symbol * code completion Task-number: QTCREATORBUG-6497 Task-number: QTCREATORBUG-8963 Task-number: QTCREATORBUG-3610 Task-number: QTCREATORBUG-7579 Change-Id: I3dcaf1c515d0199c3e6bee72284fbb40064686ee Reviewed-by: Petar Perisin <petar.perisin@gmail.com> Reviewed-by: Orgad Shaneh <orgads@gmail.com> Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com> Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
Diffstat (limited to 'src/libs/3rdparty/cplusplus/Parser.cpp')
-rw-r--r--src/libs/3rdparty/cplusplus/Parser.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/libs/3rdparty/cplusplus/Parser.cpp b/src/libs/3rdparty/cplusplus/Parser.cpp
index 00b79dfc25..38938d3545 100644
--- a/src/libs/3rdparty/cplusplus/Parser.cpp
+++ b/src/libs/3rdparty/cplusplus/Parser.cpp
@@ -2003,6 +2003,12 @@ bool Parser::parseClassSpecifier(SpecifierListAST *&node)
NameAST *name = 0;
parseName(name);
+ if (! name && LA() == T_LBRACE && (LA(0) == T_CLASS || LA(0) == T_STRUCT || LA(0) == T_UNION || LA(0) == T_ENUM)) {
+ AnonymousNameAST *ast = new (_pool) AnonymousNameAST;
+ ast->class_token = classkey_token;
+ name = ast;
+ }
+
bool parsed = false;
const bool previousInFunctionBody = _inFunctionBody;