diff options
author | liangdzou <liang.d.zou@gmail.com> | 2018-09-11 03:22:13 +0800 |
---|---|---|
committer | liangdzou <liang.d.zou@gmail.com> | 2018-09-13 09:55:54 +0800 |
commit | 558a4ac49c40761697580e0915490714c4370767 (patch) | |
tree | 6a58a384b8a3600a5186a303f93405fa27a26000 /libsolidity/interface/SourceReferenceFormatter.cpp | |
parent | 9214c7c34f5e4501a50cb29de964bbf04131f9a3 (diff) | |
download | dexon-solidity-558a4ac49c40761697580e0915490714c4370767.tar.gz dexon-solidity-558a4ac49c40761697580e0915490714c4370767.tar.zst dexon-solidity-558a4ac49c40761697580e0915490714c4370767.zip |
give more information (at most 35 chars before and after) for too long lines
add tests for giving more informations for too long lines
add edge tests for giving more informations for too long lines
avoid printing out tailing white space
update test case after avoiding printing out trailing whitespace
update test case for removing the pre-release warning from reference
refactor the code to if-else flavor
rename folder to cmdlineErrorReports under test
rename folder to cmdlineErrorReports under test
ignore whitespace for reference files
avoiding to modify the file stderr_path by call sed without -i option
print ' ...' instead of ' ... ' at the end of a line
Diffstat (limited to 'libsolidity/interface/SourceReferenceFormatter.cpp')
-rw-r--r-- | libsolidity/interface/SourceReferenceFormatter.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/libsolidity/interface/SourceReferenceFormatter.cpp b/libsolidity/interface/SourceReferenceFormatter.cpp index 0f014372..4724fc7f 100644 --- a/libsolidity/interface/SourceReferenceFormatter.cpp +++ b/libsolidity/interface/SourceReferenceFormatter.cpp @@ -55,8 +55,14 @@ void SourceReferenceFormatter::printSourceLocation(SourceLocation const* _locati } if (line.length() > 150) { - line = " ... " + line.substr(startColumn, locationLength) + " ... "; - startColumn = 5; + int len = line.length(); + line = line.substr(max(0, startColumn - 35), min(startColumn, 35) + min(locationLength + 35, len - startColumn)); + if (startColumn + locationLength + 35 < len) + line += " ..."; + if (startColumn > 35) { + line = " ... " + line; + startColumn = 40; + } endColumn = startColumn + locationLength; } |