aboutsummaryrefslogtreecommitdiffstats
path: root/parser/binder.cpp
diff options
context:
space:
mode:
authorMarcelo Lira <marcelo.lira@openbossa.org>2010-09-20 11:36:45 -0300
committerHugo Parente Lima <hugo.pl@gmail.com>2012-03-09 19:10:09 -0300
commit5179bca73955373e087d6b51edcabf038c964ac8 (patch)
tree255a4ca87763fb6c203ee31aa91815a6c0d8f548 /parser/binder.cpp
parentc182be3e4c89fe81c15722708d8b712598a528b8 (diff)
Anonymous enums now supported.
Diffstat (limited to 'parser/binder.cpp')
-rw-r--r--parser/binder.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/parser/binder.cpp b/parser/binder.cpp
index 8b6c4c024..faace02ca 100644
--- a/parser/binder.cpp
+++ b/parser/binder.cpp
@@ -657,7 +657,8 @@ void Binder::visitEnumSpecifier(EnumSpecifierAST *node)
name_cc.run(node->name);
QString name = name_cc.name();
- if (name.isEmpty()) {
+ bool isAnonymous = name.isEmpty();
+ if (isAnonymous) {
// anonymous enum
QString key = _M_context.join("::");
int current = ++_M_anonymous_enums[key];
@@ -669,6 +670,7 @@ void Binder::visitEnumSpecifier(EnumSpecifierAST *node)
_M_current_enum->setAccessPolicy(_M_current_access);
updateItemPosition(_M_current_enum->toItem(), node);
_M_current_enum->setName(name);
+ _M_current_enum->setAnonymous(isAnonymous);
_M_current_enum->setScope(enumScope->qualifiedName());
_M_qualified_types[_M_current_enum->qualifiedName().join(".")] = QString();