summaryrefslogtreecommitdiff
path: root/src/shared/cplusplus/Symbol.cpp
diff options
context:
space:
mode:
authorRoberto Raggi <roberto.raggi@nokia.com>2010-05-10 16:21:12 +0200
committerRoberto Raggi <roberto.raggi@nokia.com>2010-05-10 16:21:55 +0200
commitc2f231750740a645ec7f17e60c3e662a3df76b42 (patch)
tree0bcff275fd146acf94305459ed897832ccba4a37 /src/shared/cplusplus/Symbol.cpp
parent9190fce7de78a4818e7a06ef150e4dbe3e05d95e (diff)
downloadqt-creator-c2f231750740a645ec7f17e60c3e662a3df76b42.tar.gz
Check for valid translation units.
Diffstat (limited to 'src/shared/cplusplus/Symbol.cpp')
-rw-r--r--src/shared/cplusplus/Symbol.cpp15
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