aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity
diff options
context:
space:
mode:
authorliangdzou <liang.d.zou@gmail.com>2018-09-11 03:22:13 +0800
committerliangdzou <liang.d.zou@gmail.com>2018-09-13 09:55:54 +0800
commit558a4ac49c40761697580e0915490714c4370767 (patch)
tree6a58a384b8a3600a5186a303f93405fa27a26000 /libsolidity
parent9214c7c34f5e4501a50cb29de964bbf04131f9a3 (diff)
downloaddexon-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')
-rw-r--r--libsolidity/interface/SourceReferenceFormatter.cpp10
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;
}