aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/3rdparty/cplusplus/Symbols.cpp
diff options
context:
space:
mode:
authorChristian Kamm <kamm@incasoftware.de>2012-10-25 07:56:01 +0200
committerhjk <qthjk@ovi.com>2012-10-31 15:09:06 +0100
commit19e03b186a976188992eab1feb3ddf0ae99e2236 (patch)
tree23fdcc0c6e5559663e1dec1b6daba7c9bef800e2 /src/libs/3rdparty/cplusplus/Symbols.cpp
parentc55620000c9298145b460f173e9f27834d3a75fb (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.cpp12
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); }