From 19e03b186a976188992eab1feb3ddf0ae99e2236 Mon Sep 17 00:00:00 2001 From: Christian Kamm Date: Thu, 25 Oct 2012 07:56:01 +0200 Subject: C++11: Correct scoping for scoped enums. Fixes completion, highlighting and find usages. Change-Id: I1ea12c6a9c7a4f8ba0f9d55e31d6b7986233e7d8 Reviewed-by: hjk --- src/libs/3rdparty/cplusplus/Symbols.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src/libs/3rdparty/cplusplus/Symbols.cpp') diff --git a/src/libs/3rdparty/cplusplus/Symbols.cpp b/src/libs/3rdparty/cplusplus/Symbols.cpp index e47a405767f..1a16c5ed7ff 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); } -- cgit v1.2.3