mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Merge pull request #5741 from ethereum/fix-5730-SourceLocation
Fixes SourceLocation extraction on multiline locations with a too long first line
This commit is contained in:
commit
ff7bc85478
@ -58,7 +58,9 @@ SourceReference SourceReferenceExtractor::extract(SourceLocation const* _locatio
|
||||
int locationLength = isMultiline ? line.length() - start.column : end.column - start.column;
|
||||
if (locationLength > 150)
|
||||
{
|
||||
line = line.substr(0, start.column + 35) + " ... " + line.substr(end.column - 35);
|
||||
int const lhs = start.column + 35;
|
||||
int const rhs = (isMultiline ? line.length() : end.column) - 35;
|
||||
line = line.substr(0, lhs) + " ... " + line.substr(rhs);
|
||||
end.column = start.column + 75;
|
||||
locationLength = 75;
|
||||
}
|
||||
|
13
test/cmdlineTests/too_long_line_multiline.sol
Normal file
13
test/cmdlineTests/too_long_line_multiline.sol
Normal file
@ -0,0 +1,13 @@
|
||||
contract C {
|
||||
function f() returns (byte _b, bytes2 _b2, bytes3 _b3, bytes memory _blit, bytes5 _b5, bytes6 _b6, string memory _str, bytes7 _b7, bytes22 _b22, bytes32 _b32) {
|
||||
_b = 0x12;
|
||||
_b2 = 0x1223;
|
||||
_b5 = hex"043245";
|
||||
_b6 = hex"2345532532";
|
||||
_b7 = hex"03252353253253";
|
||||
_b22 = hex"325235235325325325235325";
|
||||
_b32 = hex"032523532532523532523532523532";
|
||||
_blit = hex"123498";
|
||||
_str = "heidy";
|
||||
}
|
||||
}
|
6
test/cmdlineTests/too_long_line_multiline.sol.err
Normal file
6
test/cmdlineTests/too_long_line_multiline.sol.err
Normal file
@ -0,0 +1,6 @@
|
||||
too_long_line_multiline.sol:2:5: Error: No visibility specified. Did you intend to add "public"?
|
||||
function f() returns (byte _b, byte ... _b7, bytes22 _b22, bytes32 _b32) {
|
||||
^ (Relevant source part starts here and spans across multiple lines).
|
||||
too_long_line_multiline.sol:1:1: Warning: Source file does not specify required compiler version!
|
||||
contract C {
|
||||
^ (Relevant source part starts here and spans across multiple lines).
|
1
test/cmdlineTests/too_long_line_multiline.sol.exit
Normal file
1
test/cmdlineTests/too_long_line_multiline.sol.exit
Normal file
@ -0,0 +1 @@
|
||||
1
|
Loading…
Reference in New Issue
Block a user