diff options
author | Bob Summerwill <bob@summerwill.net> | 2016-04-01 00:29:30 +0800 |
---|---|---|
committer | Bob Summerwill <bob@summerwill.net> | 2016-04-01 00:29:30 +0800 |
commit | 9fbd5c32157731a7d8f8a14bfd67ff746bf605d7 (patch) | |
tree | 91c14b57f526f7d5e40aabb190d39216855bf9fc /libsolidity | |
parent | 4d200e3ee681d47b11fc31f343901b30f9a15fef (diff) | |
parent | e31ecc8f77432197e99b4ee966d4b1f75b0f4b02 (diff) | |
download | dexon-solidity-9fbd5c32157731a7d8f8a14bfd67ff746bf605d7.tar.gz dexon-solidity-9fbd5c32157731a7d8f8a14bfd67ff746bf605d7.tar.zst dexon-solidity-9fbd5c32157731a7d8f8a14bfd67ff746bf605d7.zip |
Merge pull request #467 from chriseth/fixerrors
Do not use source reference if it is empty.
Diffstat (limited to 'libsolidity')
-rw-r--r-- | libsolidity/interface/SourceReferenceFormatter.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/libsolidity/interface/SourceReferenceFormatter.cpp b/libsolidity/interface/SourceReferenceFormatter.cpp index 65d7fbc8..7b91dd2c 100644 --- a/libsolidity/interface/SourceReferenceFormatter.cpp +++ b/libsolidity/interface/SourceReferenceFormatter.cpp @@ -91,7 +91,7 @@ void SourceReferenceFormatter::printExceptionInformation( auto secondarylocation = boost::get_error_info<errinfo_secondarySourceLocation>(_exception); Scanner const* scannerPtr = nullptr; - if (location) + if (location && location->sourceName) { scannerPtr = &_scannerFromSourceName(*location->sourceName); printSourceName(_stream, *location, *scannerPtr); @@ -101,7 +101,7 @@ void SourceReferenceFormatter::printExceptionInformation( if (string const* description = boost::get_error_info<errinfo_comment>(_exception)) _stream << ": " << *description << endl; - if (location) + if (location && location->sourceName) { scannerPtr = &_scannerFromSourceName(*location->sourceName); printSourceLocation(_stream, *location, *scannerPtr); @@ -111,8 +111,13 @@ void SourceReferenceFormatter::printExceptionInformation( { for (auto info: secondarylocation->infos) { - scannerPtr = &_scannerFromSourceName(*info.second.sourceName); _stream << info.first << " "; + if (!info.second.sourceName) + { + _stream << endl; + continue; + } + scannerPtr = &_scannerFromSourceName(*info.second.sourceName); printSourceName(_stream, info.second, *scannerPtr); _stream << endl; printSourceLocation(_stream, info.second, *scannerPtr); |