diff options
Diffstat (limited to 'src/shared/cplusplus/Symbol.cpp')
-rw-r--r-- | src/shared/cplusplus/Symbol.cpp | 11 |
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) { |