diff options
author | Christian Kamm <kamm@incasoftware.de> | 2012-10-25 07:56:01 +0200 |
---|---|---|
committer | hjk <qthjk@ovi.com> | 2012-10-31 15:09:06 +0100 |
commit | 19e03b186a976188992eab1feb3ddf0ae99e2236 (patch) | |
tree | 23fdcc0c6e5559663e1dec1b6daba7c9bef800e2 /src/libs/3rdparty/cplusplus/Symbols.cpp | |
parent | c55620000c9298145b460f173e9f27834d3a75fb (diff) |
C++11: Correct scoping for scoped enums.
Fixes completion, highlighting and find usages.
Change-Id: I1ea12c6a9c7a4f8ba0f9d55e31d6b7986233e7d8
Reviewed-by: hjk <qthjk@ovi.com>
Diffstat (limited to 'src/libs/3rdparty/cplusplus/Symbols.cpp')
-rw-r--r-- | src/libs/3rdparty/cplusplus/Symbols.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/libs/3rdparty/cplusplus/Symbols.cpp b/src/libs/3rdparty/cplusplus/Symbols.cpp index e47a405767..1a16c5ed7f 100644 --- a/src/libs/3rdparty/cplusplus/Symbols.cpp +++ b/src/libs/3rdparty/cplusplus/Symbols.cpp @@ -421,10 +421,12 @@ void Block::visitSymbol0(SymbolVisitor *visitor) Enum::Enum(TranslationUnit *translationUnit, unsigned sourceLocation, const Name *name) : Scope(translationUnit, sourceLocation, name) + , _isScoped(false) { } Enum::Enum(Clone *clone, Subst *subst, Enum *original) : Scope(clone, subst, original) + , _isScoped(original->isScoped()) { } Enum::~Enum() @@ -447,6 +449,16 @@ bool Enum::isEqualTo(const Type *other) const return l->isEqualTo(r); } +bool Enum::isScoped() const +{ + return _isScoped; +} + +void Enum::setScoped(bool scoped) +{ + _isScoped = scoped; +} + void Enum::accept0(TypeVisitor *visitor) { visitor->visit(this); } |