Check for valid translation units.

This commit is contained in:
Roberto Raggi
2010-05-10 16:21:12 +02:00
parent 9190fce7de
commit c2f2317507

View File

@@ -209,18 +209,17 @@ void Symbol::setDeprecated(bool isDeprecated)
void Symbol::setSourceLocation(unsigned sourceLocation, TranslationUnit *translationUnit) void Symbol::setSourceLocation(unsigned sourceLocation, TranslationUnit *translationUnit)
{ {
_sourceLocation = sourceLocation; _sourceLocation = sourceLocation;
unsigned offset = 0;
if (! _sourceLocation) { if (translationUnit) {
_isGenerated = false;
} else {
const Token &tk = translationUnit->tokenAt(sourceLocation); const Token &tk = translationUnit->tokenAt(sourceLocation);
_isGenerated = tk.f.generated; _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 unsigned Symbol::line() const