summaryrefslogtreecommitdiff
path: root/src/shared/cplusplus/Symbol.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/shared/cplusplus/Symbol.cpp')
-rw-r--r--src/shared/cplusplus/Symbol.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/shared/cplusplus/Symbol.cpp b/src/shared/cplusplus/Symbol.cpp
index 2da2aa9c23..29865c9922 100644
--- a/src/shared/cplusplus/Symbol.cpp
+++ b/src/shared/cplusplus/Symbol.cpp
@@ -161,7 +161,7 @@ private:
};
Symbol::Symbol(TranslationUnit *translationUnit, unsigned sourceLocation, const Name *name)
- : _control(translationUnit->control()),
+ : _translationUnit(translationUnit),
_sourceLocation(sourceLocation),
_sourceOffset(0),
_startOffset(0),
@@ -183,10 +183,15 @@ Symbol::~Symbol()
{ }
Control *Symbol::control() const
-{ return _control; }
+{
+ if (_translationUnit)
+ return _translationUnit->control();
+
+ return 0;
+}
TranslationUnit *Symbol::translationUnit() const
-{ return _control->translationUnit(); }
+{ return _translationUnit; }
void Symbol::visitSymbol(SymbolVisitor *visitor)
{