diff options
author | Christian Kamm <christian.d.kamm@nokia.com> | 2011-10-25 11:28:51 +0200 |
---|---|---|
committer | Christian Kamm <christian.d.kamm@nokia.com> | 2011-10-25 11:32:18 +0200 |
commit | e4a7b0642b63856f3cd4f3c6df55fa50fd9cc437 (patch) | |
tree | cbec7572e30e68da10598d80969aad31e689c50f /src/libs/3rdparty | |
parent | bf9782e30788fe34d5213a2c7ad8c24379b2e3f6 (diff) |
C++: Fix a crash in debug builds when rewriting functions.
Change-Id: I35266b69d1cc433c4d9176cc849efd03ea1cc1cd
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
Diffstat (limited to 'src/libs/3rdparty')
-rw-r--r-- | src/libs/3rdparty/cplusplus/Symbol.cpp | 5 | ||||
-rw-r--r-- | src/libs/3rdparty/cplusplus/Symbol.h | 1 |
2 files changed, 6 insertions, 0 deletions
diff --git a/src/libs/3rdparty/cplusplus/Symbol.cpp b/src/libs/3rdparty/cplusplus/Symbol.cpp index b7caa001c96..b6216f002c8 100644 --- a/src/libs/3rdparty/cplusplus/Symbol.cpp +++ b/src/libs/3rdparty/cplusplus/Symbol.cpp @@ -237,6 +237,11 @@ void Symbol::setScope(Scope *scope) _scope = scope; } +void Symbol::resetScope() +{ + _scope = 0; +} + Namespace *Symbol::enclosingNamespace() const { for (Scope *s = _scope; s; s = s->enclosingScope()) { diff --git a/src/libs/3rdparty/cplusplus/Symbol.h b/src/libs/3rdparty/cplusplus/Symbol.h index 34231207456..a995f436312 100644 --- a/src/libs/3rdparty/cplusplus/Symbol.h +++ b/src/libs/3rdparty/cplusplus/Symbol.h @@ -291,6 +291,7 @@ public: Block *enclosingBlock() const; void setScope(Scope *enclosingScope); // ### make me private + void resetScope(); // ### make me private void setSourceLocation(unsigned sourceLocation, TranslationUnit *translationUnit); // ### make me private void visitSymbol(SymbolVisitor *visitor); |