C++: Fix accessing invalid file id of Symbol

Symbol::_fileId can be null if the Symbol was created with a null
translation unit. That is the case for temporary symbols created for
lookup purposes (CreateBindings has a _control with no translation unit
and thus creates symbols with no fileId).

Task-number: QTCREATORBUG-15967
Change-Id: Iee518b39ba3b636fe1658e74179db3aad054d6f2
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
This commit is contained in:
Nikolai Kosjar
2016-04-18 11:12:05 +02:00
parent 65046c2003
commit 9a35b121ee
2 changed files with 31 additions and 2 deletions

View File

@@ -191,10 +191,10 @@ const StringLiteral *Symbol::fileId() const
}
const char *Symbol::fileName() const
{ return fileId()->chars(); }
{ return _fileId ? _fileId->chars() : ""; }
unsigned Symbol::fileNameLength() const
{ return fileId()->size(); }
{ return _fileId ? _fileId->size() : 0; }
const Name *Symbol::unqualifiedName() const
{