diff options
author | Roberto Raggi <roberto.raggi@nokia.com> | 2010-05-10 16:21:12 +0200 |
---|---|---|
committer | Roberto Raggi <roberto.raggi@nokia.com> | 2010-05-10 16:21:55 +0200 |
commit | c2f231750740a645ec7f17e60c3e662a3df76b42 (patch) | |
tree | 0bcff275fd146acf94305459ed897832ccba4a37 /src/shared/cplusplus/Symbol.cpp | |
parent | 9190fce7de78a4818e7a06ef150e4dbe3e05d95e (diff) | |
download | qt-creator-c2f231750740a645ec7f17e60c3e662a3df76b42.tar.gz |
Check for valid translation units.
Diffstat (limited to 'src/shared/cplusplus/Symbol.cpp')
-rw-r--r-- | src/shared/cplusplus/Symbol.cpp | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/src/shared/cplusplus/Symbol.cpp b/src/shared/cplusplus/Symbol.cpp index fa2d00f316..63672f13c0 100644 --- a/src/shared/cplusplus/Symbol.cpp +++ b/src/shared/cplusplus/Symbol.cpp @@ -209,18 +209,17 @@ void Symbol::setDeprecated(bool isDeprecated) void Symbol::setSourceLocation(unsigned sourceLocation, TranslationUnit *translationUnit) { _sourceLocation = sourceLocation; - unsigned offset = 0; - if (! _sourceLocation) { - _isGenerated = false; - - } else { + if (translationUnit) { const Token &tk = translationUnit->tokenAt(sourceLocation); _isGenerated = tk.f.generated; - offset = tk.offset; + translationUnit->getPosition(tk.offset, &_line, &_column, &_fileId); + } else { + _isGenerated = false; + _line = 0; + _column = 0; + _fileId = 0; } - - translationUnit->getPosition(offset, &_line, &_column, &_fileId); } unsigned Symbol::line() const |