mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Use quote function for all errors/warnings
This commit is contained in:
@@ -4,7 +4,7 @@ contract A1 { function a(uint x) public pure { assert(x > 0); } } contract A2 {
|
||||
","message":"Source file does not specify required compiler version!","severity":"warning","sourceLocation":{"end":131,"file":"a.sol","start":0},"type":"Warning"},{"component":"general","formattedMessage":"b.sol:1:1: Warning: Source file does not specify required compiler version!
|
||||
contract A1 { function b(uint x) public { assert(x > 0); } } contract B2 { function b(uint x) public pure { assert(x > 0); } }
|
||||
^----------------------------------------------------------------------------------------------------------------------------^
|
||||
","message":"Source file does not specify required compiler version!","severity":"warning","sourceLocation":{"end":126,"file":"b.sol","start":0},"type":"Warning"},{"component":"general","formattedMessage":"b.sol:1:15: Warning: Function state mutability can be restricted to pure
|
||||
","message":"Source file does not specify required compiler version!","severity":"warning","sourceLocation":{"end":126,"file":"b.sol","start":0},"type":"Warning"},{"component":"general","formattedMessage":"b.sol:1:15: Warning: Function state mutability can be restricted to \"pure\".
|
||||
contract A1 { function b(uint x) public { assert(x > 0); } } contract B2 { function b(uint x) public pure { assert(x > 0); } }
|
||||
^------------------------------------------^
|
||||
","message":"Function state mutability can be restricted to pure","severity":"warning","sourceLocation":{"end":58,"file":"b.sol","start":14},"type":"Warning"}],"sources":{"a.sol":{"id":0},"b.sol":{"id":1}}}
|
||||
","message":"Function state mutability can be restricted to \"pure\".","severity":"warning","sourceLocation":{"end":58,"file":"b.sol","start":14},"type":"Warning"}],"sources":{"a.sol":{"id":0},"b.sol":{"id":1}}}
|
||||
|
||||
@@ -4,7 +4,7 @@ contract A1 { function a(uint x) public pure { assert(x > 0); } } contract A2 {
|
||||
","message":"Source file does not specify required compiler version!","severity":"warning","sourceLocation":{"end":131,"file":"a.sol","start":0},"type":"Warning"},{"component":"general","formattedMessage":"b.sol:1:1: Warning: Source file does not specify required compiler version!
|
||||
contract A1 { function b(uint x) public { assert(x > 0); } } contract B2 { function b(uint x) public pure { assert(x > 0); } }
|
||||
^----------------------------------------------------------------------------------------------------------------------------^
|
||||
","message":"Source file does not specify required compiler version!","severity":"warning","sourceLocation":{"end":126,"file":"b.sol","start":0},"type":"Warning"},{"component":"general","formattedMessage":"b.sol:1:15: Warning: Function state mutability can be restricted to pure
|
||||
","message":"Source file does not specify required compiler version!","severity":"warning","sourceLocation":{"end":126,"file":"b.sol","start":0},"type":"Warning"},{"component":"general","formattedMessage":"b.sol:1:15: Warning: Function state mutability can be restricted to \"pure\".
|
||||
contract A1 { function b(uint x) public { assert(x > 0); } } contract B2 { function b(uint x) public pure { assert(x > 0); } }
|
||||
^------------------------------------------^
|
||||
","message":"Function state mutability can be restricted to pure","severity":"warning","sourceLocation":{"end":58,"file":"b.sol","start":14},"type":"Warning"}],"sources":{"a.sol":{"id":0},"b.sol":{"id":1}}}
|
||||
","message":"Function state mutability can be restricted to \"pure\".","severity":"warning","sourceLocation":{"end":58,"file":"b.sol","start":14},"type":"Warning"}],"sources":{"a.sol":{"id":0},"b.sol":{"id":1}}}
|
||||
|
||||
@@ -4,7 +4,7 @@ contract A1 { function a(uint x) public pure { assert(x > 0); } } contract A2 {
|
||||
","message":"Source file does not specify required compiler version!","severity":"warning","sourceLocation":{"end":131,"file":"a.sol","start":0},"type":"Warning"},{"component":"general","formattedMessage":"b.sol:1:1: Warning: Source file does not specify required compiler version!
|
||||
contract A1 { function b(uint x) public { assert(x > 0); } } contract B2 { function b(uint x) public pure { assert(x > 0); } }
|
||||
^----------------------------------------------------------------------------------------------------------------------------^
|
||||
","message":"Source file does not specify required compiler version!","severity":"warning","sourceLocation":{"end":126,"file":"b.sol","start":0},"type":"Warning"},{"component":"general","formattedMessage":"b.sol:1:15: Warning: Function state mutability can be restricted to pure
|
||||
","message":"Source file does not specify required compiler version!","severity":"warning","sourceLocation":{"end":126,"file":"b.sol","start":0},"type":"Warning"},{"component":"general","formattedMessage":"b.sol:1:15: Warning: Function state mutability can be restricted to \"pure\".
|
||||
contract A1 { function b(uint x) public { assert(x > 0); } } contract B2 { function b(uint x) public pure { assert(x > 0); } }
|
||||
^------------------------------------------^
|
||||
","message":"Function state mutability can be restricted to pure","severity":"warning","sourceLocation":{"end":58,"file":"b.sol","start":14},"type":"Warning"}],"sources":{"a.sol":{"id":0},"b.sol":{"id":1}}}
|
||||
","message":"Function state mutability can be restricted to \"pure\".","severity":"warning","sourceLocation":{"end":58,"file":"b.sol","start":14},"type":"Warning"}],"sources":{"a.sol":{"id":0},"b.sol":{"id":1}}}
|
||||
|
||||
@@ -4,7 +4,7 @@ contract A1 { function a(uint x) public pure { assert(x > 0); } } contract A2 {
|
||||
","message":"Source file does not specify required compiler version!","severity":"warning","sourceLocation":{"end":131,"file":"a.sol","start":0},"type":"Warning"},{"component":"general","formattedMessage":"b.sol:1:1: Warning: Source file does not specify required compiler version!
|
||||
contract A1 { function b(uint x) public { assert(x > 0); } } contract B2 { function b(uint x) public pure { assert(x > 0); } }
|
||||
^----------------------------------------------------------------------------------------------------------------------------^
|
||||
","message":"Source file does not specify required compiler version!","severity":"warning","sourceLocation":{"end":126,"file":"b.sol","start":0},"type":"Warning"},{"component":"general","formattedMessage":"b.sol:1:15: Warning: Function state mutability can be restricted to pure
|
||||
","message":"Source file does not specify required compiler version!","severity":"warning","sourceLocation":{"end":126,"file":"b.sol","start":0},"type":"Warning"},{"component":"general","formattedMessage":"b.sol:1:15: Warning: Function state mutability can be restricted to \"pure\".
|
||||
contract A1 { function b(uint x) public { assert(x > 0); } } contract B2 { function b(uint x) public pure { assert(x > 0); } }
|
||||
^------------------------------------------^
|
||||
","message":"Function state mutability can be restricted to pure","severity":"warning","sourceLocation":{"end":58,"file":"b.sol","start":14},"type":"Warning"}],"sources":{"a.sol":{"id":0},"b.sol":{"id":1}}}
|
||||
","message":"Function state mutability can be restricted to \"pure\".","severity":"warning","sourceLocation":{"end":58,"file":"b.sol","start":14},"type":"Warning"}],"sources":{"a.sol":{"id":0},"b.sol":{"id":1}}}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{"contracts":{"b.sol":{"B2":{"evm":{"bytecode":{"linkReferences":{},"object":"bytecode removed","opcodes":"opcodes removed","sourceMap":"sourceMap removed"}}}}},"errors":[{"component":"general","formattedMessage":"b.sol:1:1: Warning: Source file does not specify required compiler version!
|
||||
contract A1 { function b(uint x) public { assert(x > 0); } } contract B2 { function b(uint x) public pure { assert(x > 0); } }
|
||||
^----------------------------------------------------------------------------------------------------------------------------^
|
||||
","message":"Source file does not specify required compiler version!","severity":"warning","sourceLocation":{"end":126,"file":"b.sol","start":0},"type":"Warning"},{"component":"general","formattedMessage":"b.sol:1:15: Warning: Function state mutability can be restricted to pure
|
||||
","message":"Source file does not specify required compiler version!","severity":"warning","sourceLocation":{"end":126,"file":"b.sol","start":0},"type":"Warning"},{"component":"general","formattedMessage":"b.sol:1:15: Warning: Function state mutability can be restricted to \"pure\".
|
||||
contract A1 { function b(uint x) public { assert(x > 0); } } contract B2 { function b(uint x) public pure { assert(x > 0); } }
|
||||
^------------------------------------------^
|
||||
","message":"Function state mutability can be restricted to pure","severity":"warning","sourceLocation":{"end":58,"file":"b.sol","start":14},"type":"Warning"}],"sources":{"a.sol":{"id":0},"b.sol":{"id":1}}}
|
||||
","message":"Function state mutability can be restricted to \"pure\".","severity":"warning","sourceLocation":{"end":58,"file":"b.sol","start":14},"type":"Warning"}],"sources":{"a.sol":{"id":0},"b.sol":{"id":1}}}
|
||||
|
||||
@@ -4,7 +4,7 @@ Error: Expected primary expression.
|
||||
5 | balances[tx.origin] = ; // missing RHS.
|
||||
| ^
|
||||
|
||||
Warning: Recovered in Statement at ';'.
|
||||
Warning: Recovered in Statement at ";".
|
||||
--> recovery_ast_constructor/input.sol:5:27:
|
||||
|
|
||||
5 | balances[tx.origin] = ; // missing RHS.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{"errors":[{"component":"general","formattedMessage":"A:1:58: ParserError: Expected type name
|
||||
pragma solidity >=0.0; contract Errort6 { using foo for ; /* missing type name */ }
|
||||
^
|
||||
","message":"Expected type name","severity":"error","sourceLocation":{"end":58,"file":"A","start":57},"type":"ParserError"},{"component":"general","formattedMessage":"A:1:84: Warning: Recovered in ContractDefinition at '}'.
|
||||
","message":"Expected type name","severity":"error","sourceLocation":{"end":58,"file":"A","start":57},"type":"ParserError"},{"component":"general","formattedMessage":"A:1:84: Warning: Recovered in ContractDefinition at \"}\".
|
||||
pragma solidity >=0.0; contract Errort6 { using foo for ; /* missing type name */ }
|
||||
^
|
||||
","message":"Recovered in ContractDefinition at '}'.","severity":"warning","sourceLocation":{"end":84,"file":"A","start":83},"type":"Warning"}],"sources":{"A":{"ast":{"absolutePath":"A","exportedSymbols":{"Errort6":[3]},"id":4,"nodeType":"SourceUnit","nodes":[{"id":1,"literals":["solidity",">=","0.0"],"nodeType":"PragmaDirective","src":"0:22:0"},{"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"contract","documentation":null,"fullyImplemented":true,"id":3,"linearizedBaseContracts":[3],"name":"Errort6","nodeType":"ContractDefinition","nodes":[],"scope":4,"src":"23:35:0"}],"src":"0:84:0"},"id":0}}}
|
||||
","message":"Recovered in ContractDefinition at \"}\".","severity":"warning","sourceLocation":{"end":84,"file":"A","start":83},"type":"Warning"}],"sources":{"A":{"ast":{"absolutePath":"A","exportedSymbols":{"Errort6":[3]},"id":4,"nodeType":"SourceUnit","nodes":[{"id":1,"literals":["solidity",">=","0.0"],"nodeType":"PragmaDirective","src":"0:22:0"},{"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"contract","documentation":null,"fullyImplemented":true,"id":3,"linearizedBaseContracts":[3],"name":"Errort6","nodeType":"ContractDefinition","nodes":[],"scope":4,"src":"23:35:0"}],"src":"0:84:0"},"id":0}}}
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"errors":[{"component":"general","formattedMessage":"\"Providing yulDetails requires Yul optimizer to be enabled.","message":"\"Providing yulDetails requires Yul optimizer to be enabled.","severity":"error","type":"JSONError"}]}
|
||||
{"errors":[{"component":"general","formattedMessage":"Providing \"yulDetails\" requires Yul optimizer to be enabled.","message":"Providing \"yulDetails\" requires Yul optimizer to be enabled.","severity":"error","type":"JSONError"}]}
|
||||
|
||||
@@ -179,7 +179,7 @@ BOOST_AUTO_TEST_CASE(smoke_test)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(surplus_input)
|
||||
{
|
||||
CHECK_PARSE_ERROR("{ } { }", ParserError, "Expected end of source but got '{'");
|
||||
CHECK_PARSE_ERROR("{ } { }", ParserError, "Expected end of source but got " + quote("{"));
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(simple_instructions)
|
||||
@@ -209,7 +209,7 @@ BOOST_AUTO_TEST_CASE(vardecl)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(vardecl_name_clashes)
|
||||
{
|
||||
CHECK_PARSE_ERROR("{ let x := 1 let x := 2 }", DeclarationError, "Variable name x already taken in this scope.");
|
||||
CHECK_PARSE_ERROR("{ let x := 1 let x := 2 }", DeclarationError, "Variable name" + quoteSpace("x") + "already taken in this scope.");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(vardecl_multi)
|
||||
@@ -219,7 +219,7 @@ BOOST_AUTO_TEST_CASE(vardecl_multi)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(vardecl_multi_conflict)
|
||||
{
|
||||
CHECK_PARSE_ERROR("{ function f() -> x, y {} let x, x := f() }", DeclarationError, "Variable name x already taken in this scope.");
|
||||
CHECK_PARSE_ERROR("{ function f() -> x, y {} let x, x := f() }", DeclarationError, "Variable name" + quoteSpace("x") + "already taken in this scope.");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(vardecl_bool)
|
||||
@@ -240,7 +240,7 @@ BOOST_AUTO_TEST_CASE(functional)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(functional_partial)
|
||||
{
|
||||
CHECK_PARSE_ERROR("{ let x := byte }", ParserError, "Expected '(' but got '}'");
|
||||
CHECK_PARSE_ERROR("{ let x := byte }", ParserError, "Expected" + quoteSpace("(") + "but got " + quote("}"));
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(functional_partial_success)
|
||||
@@ -265,8 +265,8 @@ BOOST_AUTO_TEST_CASE(vardecl_complex)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(variable_use_before_decl)
|
||||
{
|
||||
CHECK_PARSE_ERROR("{ x := 2 let x := 3 }", DeclarationError, "Variable x used before it was declared.");
|
||||
CHECK_PARSE_ERROR("{ let x := mul(2, x) }", DeclarationError, "Variable x used before it was declared.");
|
||||
CHECK_PARSE_ERROR("{ x := 2 let x := 3 }", DeclarationError, "Variable" + quoteSpace("x") + "used before it was declared.");
|
||||
CHECK_PARSE_ERROR("{ let x := mul(2, x) }", DeclarationError, "Variable" + quoteSpace("x") + "used before it was declared.");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(if_statement)
|
||||
@@ -284,10 +284,10 @@ BOOST_AUTO_TEST_CASE(if_statement_scope)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(if_statement_invalid)
|
||||
{
|
||||
CHECK_PARSE_ERROR("{ if mload {} }", ParserError, "Expected '(' but got '{'");
|
||||
CHECK_PARSE_ERROR("{ if mload {} }", ParserError, "Expected" + quoteSpace("(") + "but got " + quote("{"));
|
||||
BOOST_CHECK("{ if calldatasize() {}");
|
||||
CHECK_PARSE_ERROR("{ if mstore(1, 1) {} }", TypeError, "Expected expression to return one item to the stack, but did return 0 items");
|
||||
CHECK_PARSE_ERROR("{ if 32 let x := 3 }", ParserError, "Expected '{' but got reserved keyword 'let'");
|
||||
CHECK_PARSE_ERROR("{ if mstore(1, 1) {} }", TypeError, "Expected expression to return one item to the stack, but it returned 0 items.");
|
||||
CHECK_PARSE_ERROR("{ if 32 let x := 3 }", ParserError, "Expected" + quoteSpace("{") + "but got reserved keyword " + quote("let"));
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(switch_statement)
|
||||
@@ -314,8 +314,8 @@ BOOST_AUTO_TEST_CASE(switch_duplicate_case)
|
||||
BOOST_AUTO_TEST_CASE(switch_invalid_expression)
|
||||
{
|
||||
CHECK_PARSE_ERROR("{ switch {} default {} }", ParserError, "Literal, identifier or instruction expected.");
|
||||
CHECK_PARSE_ERROR("{ switch mload default {} }", ParserError, "Expected '(' but got reserved keyword 'default'");
|
||||
CHECK_PARSE_ERROR("{ switch mstore(1, 1) default {} }", TypeError, "Expected expression to return one item to the stack, but did return 0 items");
|
||||
CHECK_PARSE_ERROR("{ switch mload default {} }", ParserError, "Expected" + quoteSpace("(") + "but got reserved keyword " + quote("default"));
|
||||
CHECK_PARSE_ERROR("{ switch mstore(1, 1) default {} }", TypeError, "Expected expression to return one item to the stack, but it returned 0 items.");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(switch_default_before_case)
|
||||
@@ -335,7 +335,7 @@ BOOST_AUTO_TEST_CASE(switch_invalid_case)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(switch_invalid_body)
|
||||
{
|
||||
CHECK_PARSE_ERROR("{ switch 42 case 1 mul case 2 {} default {} }", ParserError, "Expected '{' but got identifier");
|
||||
CHECK_PARSE_ERROR("{ switch 42 case 1 mul case 2 {} default {} }", ParserError, "Expected" + quoteSpace("{") + "but got identifier");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(for_statement)
|
||||
@@ -347,11 +347,11 @@ BOOST_AUTO_TEST_CASE(for_statement)
|
||||
BOOST_AUTO_TEST_CASE(for_invalid_expression)
|
||||
{
|
||||
CHECK_PARSE_ERROR("{ for {} {} {} {} }", ParserError, "Literal, identifier or instruction expected.");
|
||||
CHECK_PARSE_ERROR("{ for 1 1 {} {} }", ParserError, "Expected '{' but got 'Number'");
|
||||
CHECK_PARSE_ERROR("{ for {} 1 1 {} }", ParserError, "Expected '{' but got 'Number'");
|
||||
CHECK_PARSE_ERROR("{ for {} 1 {} 1 }", ParserError, "Expected '{' but got 'Number'");
|
||||
CHECK_PARSE_ERROR("{ for {} mload {} {} }", ParserError, "Expected '(' but got '{'");
|
||||
CHECK_PARSE_ERROR("{ for {} mstore(1, 1) {} {} }", TypeError, "Expected expression to return one item to the stack, but did return 0 items");
|
||||
CHECK_PARSE_ERROR("{ for 1 1 {} {} }", ParserError, "Expected" + quoteSpace("{") + "but got " + quote("Number"));
|
||||
CHECK_PARSE_ERROR("{ for {} 1 1 {} }", ParserError, "Expected" + quoteSpace("{") + "but got " + quote("Number"));
|
||||
CHECK_PARSE_ERROR("{ for {} 1 {} 1 }", ParserError, "Expected" + quoteSpace("{") + "but got " + quote("Number"));
|
||||
CHECK_PARSE_ERROR("{ for {} mload {} {} }", ParserError, "Expected" + quoteSpace("(") + "but got " + quote("{"));
|
||||
CHECK_PARSE_ERROR("{ for {} mstore(1, 1) {} {} }", TypeError, "Expected expression to return one item to the stack, but it returned 0 items.");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(for_visibility)
|
||||
@@ -364,11 +364,11 @@ BOOST_AUTO_TEST_CASE(for_visibility)
|
||||
CHECK_PARSE_ERROR("{ for { pop(i) } 1 { } { let i := 1 } }", DeclarationError, "Identifier not found");
|
||||
CHECK_PARSE_ERROR("{ for {} i {} { let i := 1 } }", DeclarationError, "Identifier not found");
|
||||
CHECK_PARSE_ERROR("{ for {} 1 { pop(i) } { let i := 1 } }", DeclarationError, "Identifier not found");
|
||||
CHECK_PARSE_ERROR("{ for { let x := 1 } 1 { let x := 1 } {} }", DeclarationError, "Variable name x already taken in this scope");
|
||||
CHECK_PARSE_ERROR("{ for { let x := 1 } 1 {} { let x := 1 } }", DeclarationError, "Variable name x already taken in this scope");
|
||||
CHECK_PARSE_ERROR("{ let x := 1 for { let x := 1 } 1 {} {} }", DeclarationError, "Variable name x already taken in this scope");
|
||||
CHECK_PARSE_ERROR("{ let x := 1 for {} 1 { let x := 1 } {} }", DeclarationError, "Variable name x already taken in this scope");
|
||||
CHECK_PARSE_ERROR("{ let x := 1 for {} 1 {} { let x := 1 } }", DeclarationError, "Variable name x already taken in this scope");
|
||||
CHECK_PARSE_ERROR("{ for { let x := 1 } 1 { let x := 1 } {} }", DeclarationError, "Variable name" + quoteSpace("x") + "already taken in this scope");
|
||||
CHECK_PARSE_ERROR("{ for { let x := 1 } 1 {} { let x := 1 } }", DeclarationError, "Variable name" + quoteSpace("x") + "already taken in this scope");
|
||||
CHECK_PARSE_ERROR("{ let x := 1 for { let x := 1 } 1 {} {} }", DeclarationError, "Variable name" + quoteSpace("x") + "already taken in this scope");
|
||||
CHECK_PARSE_ERROR("{ let x := 1 for {} 1 { let x := 1 } {} }", DeclarationError, "Variable name" + quoteSpace("x") + "already taken in this scope");
|
||||
CHECK_PARSE_ERROR("{ let x := 1 for {} 1 {} { let x := 1 } }", DeclarationError, "Variable name" + quoteSpace("x") + "already taken in this scope");
|
||||
// Check that body and post are not sub-scopes of each other.
|
||||
BOOST_CHECK(successParse("{ for {} 1 { let x := 1 } { let x := 1 } }"));
|
||||
}
|
||||
@@ -415,27 +415,27 @@ BOOST_AUTO_TEST_CASE(opcode_for_function_args)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(name_clashes)
|
||||
{
|
||||
CHECK_PARSE_ERROR("{ let g := 2 function g() { } }", DeclarationError, "Variable name g already taken in this scope");
|
||||
CHECK_PARSE_ERROR("{ let g := 2 function g() { } }", DeclarationError, "Variable name" + quoteSpace("g") + "already taken in this scope");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(name_clashes_function_subscope)
|
||||
{
|
||||
CHECK_PARSE_ERROR("{ function g() { function g() {} } }", DeclarationError, "Function name g already taken in this scope");
|
||||
CHECK_PARSE_ERROR("{ function g() { function g() {} } }", DeclarationError, "Function name" + quoteSpace("g") + "already taken in this scope");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(name_clashes_function_subscope_reverse)
|
||||
{
|
||||
CHECK_PARSE_ERROR("{ { function g() {} } function g() { } }", DeclarationError, "Function name g already taken in this scope");
|
||||
CHECK_PARSE_ERROR("{ { function g() {} } function g() { } }", DeclarationError, "Function name" + quoteSpace("g") + "already taken in this scope");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(name_clashes_function_variable_subscope)
|
||||
{
|
||||
CHECK_PARSE_ERROR("{ function g() { let g := 0 } }", DeclarationError, "Variable name g already taken in this scope");
|
||||
CHECK_PARSE_ERROR("{ function g() { let g := 0 } }", DeclarationError, "Variable name" + quoteSpace("g") + "already taken in this scope");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(name_clashes_function_variable_subscope_reverse)
|
||||
{
|
||||
CHECK_PARSE_ERROR("{ { let g := 0 } function g() { } }", DeclarationError, "Variable name g already taken in this scope");
|
||||
CHECK_PARSE_ERROR("{ { let g := 0 } function g() { } }", DeclarationError, "Variable name" + quoteSpace("g") + "already taken in this scope");
|
||||
}
|
||||
BOOST_AUTO_TEST_CASE(functions_in_parallel_scopes)
|
||||
{
|
||||
@@ -477,8 +477,8 @@ BOOST_AUTO_TEST_CASE(recursion_depth)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(multiple_assignment)
|
||||
{
|
||||
CHECK_PARSE_ERROR("{ let x function f() -> a, b {} 123, x := f() }", ParserError, "Variable name must precede \",\" in multiple assignment.");
|
||||
CHECK_PARSE_ERROR("{ let x function f() -> a, b {} x, 123 := f() }", ParserError, "Variable name must precede \":=\" in assignment.");
|
||||
CHECK_PARSE_ERROR("{ let x function f() -> a, b {} 123, x := f() }", ParserError, "Variable name must precede" + quoteSpace(",") + "in multiple assignment.");
|
||||
CHECK_PARSE_ERROR("{ let x function f() -> a, b {} x, 123 := f() }", ParserError, "Variable name must precede" + quoteSpace(":=") + "in assignment.");
|
||||
|
||||
/// NOTE: Travis hiccups if not having a variable
|
||||
char const* text = R"(
|
||||
@@ -731,9 +731,9 @@ BOOST_AUTO_TEST_CASE(shift_constantinople_warning)
|
||||
{
|
||||
if (solidity::test::Options::get().evmVersion().hasBitwiseShifting())
|
||||
return;
|
||||
CHECK_PARSE_WARNING("{ pop(shl(10, 32)) }", TypeError, "The \"shl\" instruction is only available for Constantinople-compatible VMs");
|
||||
CHECK_PARSE_WARNING("{ pop(shr(10, 32)) }", TypeError, "The \"shr\" instruction is only available for Constantinople-compatible VMs");
|
||||
CHECK_PARSE_WARNING("{ pop(sar(10, 32)) }", TypeError, "The \"sar\" instruction is only available for Constantinople-compatible VMs");
|
||||
CHECK_PARSE_WARNING("{ pop(shl(10, 32)) }", TypeError, "The" + quoteSpace("shl") + "instruction is only available for Constantinople-compatible VMs");
|
||||
CHECK_PARSE_WARNING("{ pop(shr(10, 32)) }", TypeError, "The" + quoteSpace("shr") + "instruction is only available for Constantinople-compatible VMs");
|
||||
CHECK_PARSE_WARNING("{ pop(sar(10, 32)) }", TypeError, "The" + quoteSpace("sar") + "instruction is only available for Constantinople-compatible VMs");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(jump_error)
|
||||
|
||||
@@ -362,7 +362,7 @@ BOOST_AUTO_TEST_CASE(dynamic_return_types_not_possible)
|
||||
}
|
||||
)";
|
||||
if (solidity::test::Options::get().evmVersion() == EVMVersion::homestead())
|
||||
CHECK_ERROR(sourceCode, TypeError, "Type inaccessible dynamic type is not implicitly convertible to expected type string memory.");
|
||||
CHECK_ERROR(sourceCode, TypeError, "Type" + quoteSpace("inaccessible dynamic type") + "is not implicitly convertible to expected type " + quote("string memory") + ".");
|
||||
else
|
||||
CHECK_SUCCESS_NO_WARNINGS(sourceCode);
|
||||
}
|
||||
@@ -387,7 +387,7 @@ BOOST_AUTO_TEST_CASE(returndatasize_as_variable)
|
||||
{Error::Type::Warning, "Variable is shadowed in inline assembly by an instruction of the same name"}
|
||||
});
|
||||
if (!solidity::test::Options::get().evmVersion().supportsReturndata())
|
||||
expectations.emplace_back(make_pair(Error::Type::TypeError, std::string("\"returndatasize\" instruction is only available for Byzantium-compatible VMs")));
|
||||
expectations.emplace_back(make_pair(Error::Type::TypeError, quote("returndatasize") + " instruction is only available for Byzantium-compatible VMs"));
|
||||
CHECK_ALLOW_MULTI(text, expectations);
|
||||
}
|
||||
|
||||
@@ -402,7 +402,7 @@ BOOST_AUTO_TEST_CASE(create2_as_variable)
|
||||
{Error::Type::Warning, "Variable is shadowed in inline assembly by an instruction of the same name"}
|
||||
});
|
||||
if (!solidity::test::Options::get().evmVersion().hasCreate2())
|
||||
expectations.emplace_back(make_pair(Error::Type::TypeError, std::string("\"create2\" instruction is only available for Constantinople-compatible VMs")));
|
||||
expectations.emplace_back(make_pair(Error::Type::TypeError, quote("create2") + " instruction is only available for Constantinople-compatible VMs"));
|
||||
CHECK_ALLOW_MULTI(text, expectations);
|
||||
}
|
||||
|
||||
@@ -417,7 +417,7 @@ BOOST_AUTO_TEST_CASE(extcodehash_as_variable)
|
||||
{Error::Type::Warning, "Variable is shadowed in inline assembly by an instruction of the same name"}
|
||||
});
|
||||
if (!solidity::test::Options::get().evmVersion().hasExtCodeHash())
|
||||
expectations.emplace_back(make_pair(Error::Type::TypeError, std::string("\"extcodehash\" instruction is only available for Constantinople-compatible VMs")));
|
||||
expectations.emplace_back(make_pair(Error::Type::TypeError, quote("extcodehash") + " instruction is only available for Constantinople-compatible VMs"));
|
||||
CHECK_ALLOW_MULTI(text, expectations);
|
||||
}
|
||||
|
||||
@@ -455,7 +455,7 @@ BOOST_AUTO_TEST_CASE(address_staticcall)
|
||||
if (solidity::test::Options::get().evmVersion().hasStaticCall())
|
||||
CHECK_SUCCESS_NO_WARNINGS(sourceCode);
|
||||
else
|
||||
CHECK_ERROR(sourceCode, TypeError, "\"staticcall\" is not supported by the VM version.");
|
||||
CHECK_ERROR(sourceCode, TypeError, quote("staticcall") + " is not supported by the VM version.");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(address_staticcall_value)
|
||||
@@ -469,7 +469,7 @@ BOOST_AUTO_TEST_CASE(address_staticcall_value)
|
||||
}
|
||||
}
|
||||
)";
|
||||
CHECK_ERROR(sourceCode, TypeError, "Member \"value\" is only available for payable functions.");
|
||||
CHECK_ERROR(sourceCode, TypeError, "Member" + quoteSpace("value") + "is only available for payable functions.");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -487,7 +487,7 @@ BOOST_AUTO_TEST_CASE(address_call_full_return_type)
|
||||
if (solidity::test::Options::get().evmVersion().supportsReturndata())
|
||||
CHECK_SUCCESS_NO_WARNINGS(sourceCode);
|
||||
else
|
||||
CHECK_ERROR(sourceCode, TypeError, "Type inaccessible dynamic type is not implicitly convertible to expected type bytes memory.");
|
||||
CHECK_ERROR(sourceCode, TypeError, "Type" + quoteSpace("inaccessible dynamic type") + "is not implicitly convertible to expected type " + quote("bytes memory") + ".");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(address_delegatecall_full_return_type)
|
||||
@@ -504,7 +504,7 @@ BOOST_AUTO_TEST_CASE(address_delegatecall_full_return_type)
|
||||
if (solidity::test::Options::get().evmVersion().supportsReturndata())
|
||||
CHECK_SUCCESS_NO_WARNINGS(sourceCode);
|
||||
else
|
||||
CHECK_ERROR(sourceCode, TypeError, "Type inaccessible dynamic type is not implicitly convertible to expected type bytes memory.");
|
||||
CHECK_ERROR(sourceCode, TypeError, "Type" + quoteSpace("inaccessible dynamic type") + "is not implicitly convertible to expected type " + quote("bytes memory") + ".");
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -148,7 +148,7 @@ BOOST_AUTO_TEST_CASE(unsatisfied_version_with_recovery)
|
||||
}
|
||||
)";
|
||||
Error err = getError(text, true);
|
||||
BOOST_CHECK(searchErrorMessage(err, "Expected identifier but got ';'"));
|
||||
BOOST_CHECK(searchErrorMessage(err, "Expected identifier but got " + quote(";")));
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(function_natspec_documentation)
|
||||
@@ -516,13 +516,13 @@ BOOST_AUTO_TEST_CASE(multiple_visibility_specifiers)
|
||||
uint private internal a;
|
||||
}
|
||||
)";
|
||||
CHECK_PARSE_ERROR(text, "Visibility already specified as \"private\".");
|
||||
CHECK_PARSE_ERROR(text, "Visibility already specified as " + quote("private"));
|
||||
text = R"(
|
||||
contract c {
|
||||
function f() private external {}
|
||||
}
|
||||
)";
|
||||
CHECK_PARSE_ERROR(text, "Visibility already specified as \"private\".");
|
||||
CHECK_PARSE_ERROR(text, "Visibility already specified as " + quote("private"));
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(keyword_is_reserved)
|
||||
@@ -568,7 +568,7 @@ BOOST_AUTO_TEST_CASE(keyword_is_reserved)
|
||||
for (auto const& keyword: keywords)
|
||||
{
|
||||
auto text = std::string("contract ") + keyword + " {}";
|
||||
CHECK_PARSE_ERROR(text.c_str(), string("Expected identifier but got reserved keyword '") + keyword + "'");
|
||||
CHECK_PARSE_ERROR(text.c_str(), string("Expected identifier but got reserved keyword ") + quote(keyword));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -24,10 +24,12 @@
|
||||
#include <libsolidity/interface/StandardCompiler.h>
|
||||
#include <libsolidity/interface/Version.h>
|
||||
#include <libsolutil/JSON.h>
|
||||
#include <liblangutil/ErrorReporter.h>
|
||||
#include <test/Metadata.h>
|
||||
|
||||
using namespace std;
|
||||
using namespace solidity::evmasm;
|
||||
using namespace solidity::langutil;
|
||||
|
||||
namespace solidity::frontend::test
|
||||
{
|
||||
@@ -126,7 +128,7 @@ BOOST_AUTO_TEST_CASE(invalid_language)
|
||||
}
|
||||
)";
|
||||
Json::Value result = compile(input);
|
||||
BOOST_CHECK(containsError(result, "JSONError", "Only \"Solidity\" or \"Yul\" is supported as a language."));
|
||||
BOOST_CHECK(containsError(result, "JSONError", "Only" + quoteSpace("Solidity") + "or" + quoteSpace("Yul") + "is supported as a language."));
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(valid_language)
|
||||
@@ -137,7 +139,7 @@ BOOST_AUTO_TEST_CASE(valid_language)
|
||||
}
|
||||
)";
|
||||
Json::Value result = compile(input);
|
||||
BOOST_CHECK(!containsError(result, "JSONError", "Only \"Solidity\" or \"Yul\" is supported as a language."));
|
||||
BOOST_CHECK(!containsError(result, "JSONError", "Only" + quoteSpace("Solidity") + "or" + quoteSpace("Yul") + "is supported as a language."));
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(no_sources)
|
||||
@@ -172,7 +174,7 @@ BOOST_AUTO_TEST_CASE(no_sources_empty_array)
|
||||
}
|
||||
)";
|
||||
Json::Value result = compile(input);
|
||||
BOOST_CHECK(containsError(result, "JSONError", "\"sources\" is not a JSON object."));
|
||||
BOOST_CHECK(containsError(result, "JSONError", quote("sources") + " is not a JSON object."));
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(sources_is_array)
|
||||
@@ -184,7 +186,7 @@ BOOST_AUTO_TEST_CASE(sources_is_array)
|
||||
}
|
||||
)";
|
||||
Json::Value result = compile(input);
|
||||
BOOST_CHECK(containsError(result, "JSONError", "\"sources\" is not a JSON object."));
|
||||
BOOST_CHECK(containsError(result, "JSONError", quote("sources") + " is not a JSON object."));
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(unexpected_trailing_test)
|
||||
@@ -238,7 +240,7 @@ BOOST_AUTO_TEST_CASE(error_recovery_field)
|
||||
)";
|
||||
|
||||
Json::Value result = compile(input);
|
||||
BOOST_CHECK(containsError(result, "JSONError", "\"settings.parserErrorRecovery\" must be a Boolean."));
|
||||
BOOST_CHECK(containsError(result, "JSONError", quote("settings.parserErrorRecovery") + " must be a Boolean."));
|
||||
|
||||
input = R"(
|
||||
{
|
||||
@@ -276,7 +278,7 @@ BOOST_AUTO_TEST_CASE(optimizer_enabled_not_boolean)
|
||||
}
|
||||
)";
|
||||
Json::Value result = compile(input);
|
||||
BOOST_CHECK(containsError(result, "JSONError", "The \"enabled\" setting must be a Boolean."));
|
||||
BOOST_CHECK(containsError(result, "JSONError", "The" + quoteSpace("enabled") + "setting must be a Boolean."));
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(optimizer_runs_not_a_number)
|
||||
@@ -298,7 +300,7 @@ BOOST_AUTO_TEST_CASE(optimizer_runs_not_a_number)
|
||||
}
|
||||
)";
|
||||
Json::Value result = compile(input);
|
||||
BOOST_CHECK(containsError(result, "JSONError", "The \"runs\" setting must be an unsigned number."));
|
||||
BOOST_CHECK(containsError(result, "JSONError", "The" + quoteSpace("runs") + "setting must be an unsigned number."));
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(optimizer_runs_not_an_unsigned_number)
|
||||
@@ -320,7 +322,7 @@ BOOST_AUTO_TEST_CASE(optimizer_runs_not_an_unsigned_number)
|
||||
}
|
||||
)";
|
||||
Json::Value result = compile(input);
|
||||
BOOST_CHECK(containsError(result, "JSONError", "The \"runs\" setting must be an unsigned number."));
|
||||
BOOST_CHECK(containsError(result, "JSONError", "The" + quoteSpace("runs") + "setting must be an unsigned number."));
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(basic_compilation)
|
||||
@@ -461,8 +463,8 @@ BOOST_AUTO_TEST_CASE(compilation_error)
|
||||
{
|
||||
BOOST_CHECK_EQUAL(
|
||||
util::jsonCompactPrint(error),
|
||||
"{\"component\":\"general\",\"formattedMessage\":\"fileA:1:23: ParserError: Expected identifier but got '}'\\n"
|
||||
"contract A { function }\\n ^\\n\",\"message\":\"Expected identifier but got '}'\","
|
||||
"{\"component\":\"general\",\"formattedMessage\":\"fileA:1:23: ParserError: Expected identifier but got \\\"}\\\"\\n"
|
||||
"contract A { function }\\n ^\\n\",\"message\":\"Expected identifier but got \\\"}\\\"\","
|
||||
"\"severity\":\"error\",\"sourceLocation\":{\"end\":23,\"file\":\"fileA\",\"start\":22},\"type\":\"ParserError\"}"
|
||||
);
|
||||
}
|
||||
@@ -726,7 +728,7 @@ BOOST_AUTO_TEST_CASE(libraries_invalid_top_level)
|
||||
}
|
||||
)";
|
||||
Json::Value result = compile(input);
|
||||
BOOST_CHECK(containsError(result, "JSONError", "\"libraries\" is not a JSON object."));
|
||||
BOOST_CHECK(containsError(result, "JSONError", quote("libraries") + " is not a JSON object."));
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(libraries_invalid_entry)
|
||||
@@ -770,7 +772,7 @@ BOOST_AUTO_TEST_CASE(libraries_invalid_hex)
|
||||
}
|
||||
)";
|
||||
Json::Value result = compile(input);
|
||||
BOOST_CHECK(containsError(result, "JSONError", "Invalid library address (\"0x4200000000000000000000000000000000000xx1\") supplied."));
|
||||
BOOST_CHECK(containsError(result, "JSONError", "Invalid library address (" + quote("0x4200000000000000000000000000000000000xx1") + ") supplied."));
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(libraries_invalid_length)
|
||||
@@ -817,7 +819,7 @@ BOOST_AUTO_TEST_CASE(libraries_missing_hex_prefix)
|
||||
}
|
||||
)";
|
||||
Json::Value result = compile(input);
|
||||
BOOST_CHECK(containsError(result, "JSONError", "Library address is not prefixed with \"0x\"."));
|
||||
BOOST_CHECK(containsError(result, "JSONError", "Library address is not prefixed with " + quote("0x") + "."));
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(library_linking)
|
||||
|
||||
@@ -70,28 +70,28 @@ BOOST_AUTO_TEST_CASE(environment_access)
|
||||
CHECK_ERROR(
|
||||
"contract C { function f() pure public { " + x + "; } }",
|
||||
TypeError,
|
||||
"Function declared as pure, but this expression (potentially) reads from the environment or state and thus requires \"view\""
|
||||
"Function declared as " + quote("pure") + ", but this expression (potentially) reads from the environment or state and thus requires " + quote("view") + "."
|
||||
);
|
||||
}
|
||||
for (string const& x: pure)
|
||||
{
|
||||
CHECK_WARNING(
|
||||
"contract C { function f() view public { " + x + "; } }",
|
||||
"Function state mutability can be restricted to pure"
|
||||
"Function state mutability can be restricted to " + quote("pure") + "."
|
||||
);
|
||||
}
|
||||
|
||||
CHECK_WARNING_ALLOW_MULTI(
|
||||
"contract C { function f() view public { blockhash; } }",
|
||||
(std::vector<std::string>{
|
||||
"Function state mutability can be restricted to pure",
|
||||
"Function state mutability can be restricted to " + quote("pure") + ".",
|
||||
"Statement has no effect."
|
||||
}));
|
||||
|
||||
CHECK_ERROR(
|
||||
"contract C { function f() view public { block.blockhash; } }",
|
||||
TypeError,
|
||||
"\"block.blockhash()\" has been deprecated in favor of \"blockhash()\""
|
||||
quote("block.blockhash()") + " has been deprecated in favor of " + quote("blockhash()") + "."
|
||||
);
|
||||
}
|
||||
|
||||
@@ -106,7 +106,7 @@ BOOST_AUTO_TEST_CASE(address_staticcall)
|
||||
}
|
||||
)";
|
||||
if (!solidity::test::Options::get().evmVersion().hasStaticCall())
|
||||
CHECK_ERROR(text, TypeError, "\"staticcall\" is not supported by the VM version.");
|
||||
CHECK_ERROR(text, TypeError, quote("staticcall") + " is not supported by the VM version.");
|
||||
else
|
||||
CHECK_SUCCESS_NO_WARNINGS(text);
|
||||
}
|
||||
@@ -122,7 +122,7 @@ BOOST_AUTO_TEST_CASE(assembly_staticcall)
|
||||
}
|
||||
)";
|
||||
if (!solidity::test::Options::get().evmVersion().hasStaticCall())
|
||||
CHECK_ERROR(text, TypeError, "\"staticcall\" instruction is only available for Byzantium-compatible");
|
||||
CHECK_ERROR(text, TypeError, quote("staticcall") + " instruction is only available for Byzantium-compatible");
|
||||
else
|
||||
CHECK_SUCCESS_NO_WARNINGS(text);
|
||||
}
|
||||
|
||||
@@ -17,4 +17,4 @@ contract Error1 {
|
||||
}
|
||||
// ----
|
||||
// ParserError: (95-96): Expected primary expression.
|
||||
// Warning: (95-96): Recovered in Statement at ';'.
|
||||
// Warning: (95-96): Recovered in Statement at ";".
|
||||
|
||||
@@ -4,4 +4,4 @@ contract Errort6 {
|
||||
|
||||
// ----
|
||||
// ParserError: (36-37): Expected type name
|
||||
// Warning: (59-60): Recovered in ContractDefinition at '}'.
|
||||
// Warning: (59-60): Recovered in ContractDefinition at "}".
|
||||
|
||||
@@ -10,4 +10,4 @@ contract Error2 {
|
||||
mapping (address => uint balances; // missing ) before "balances"
|
||||
}
|
||||
// ----
|
||||
// ParserError: (417-425): Expected ')' but got identifier
|
||||
// ParserError: (417-425): Expected ")" but got identifier
|
||||
|
||||
@@ -17,7 +17,7 @@ contract SendCoin {
|
||||
}
|
||||
|
||||
// ----
|
||||
// ParserError: (212-220): Expected ')' but got identifier
|
||||
// ParserError: (220-221): Expected ';' but got ')'
|
||||
// ParserError: (212-220): Expected ")" but got identifier
|
||||
// ParserError: (220-221): Expected ";" but got ")"
|
||||
// ParserError: (220-221): Function, variable, struct or modifier declaration expected.
|
||||
// Warning: (235-236): Recovered in ContractDefinition at '}'.
|
||||
// Warning: (235-236): Recovered in ContractDefinition at "}".
|
||||
|
||||
@@ -8,4 +8,4 @@ contract Error3 {
|
||||
}
|
||||
// ----
|
||||
// ParserError: (95-96): Expected primary expression.
|
||||
// Warning: (95-96): Recovered in Statement at ';'.
|
||||
// Warning: (95-96): Recovered in Statement at ";".
|
||||
|
||||
@@ -21,9 +21,9 @@ contract Error4 {
|
||||
|
||||
}
|
||||
// ----
|
||||
// ParserError: (249-250): Expected ';' but got 'Number'
|
||||
// ParserError: (471-479): Expected ';' but got identifier
|
||||
// ParserError: (529-533): Expected ';' but got 'emit'
|
||||
// ParserError: (577-583): Expected ',' but got 'return'
|
||||
// ParserError: (249-250): Expected ";" but got "Number"
|
||||
// ParserError: (471-479): Expected ";" but got identifier
|
||||
// ParserError: (529-533): Expected ";" but got "emit"
|
||||
// ParserError: (577-583): Expected "," but got "return"
|
||||
// ParserError: (577-583): Expected primary expression.
|
||||
// Warning: (588-589): Recovered in Statement at ';'.
|
||||
// Warning: (588-589): Recovered in Statement at ";".
|
||||
|
||||
@@ -35,8 +35,8 @@ library MerkleProof {
|
||||
|
||||
// ----
|
||||
// Warning: (755-767): Assertion checker does not yet support this expression.
|
||||
// Warning: (988-991): Assertion checker does not yet implement type abi
|
||||
// Warning: (988-991): Assertion checker does not yet implement type "abi".
|
||||
// Warning: (988-1032): Assertion checker does not yet implement this type of function call.
|
||||
// Warning: (1175-1178): Assertion checker does not yet implement type abi
|
||||
// Warning: (1175-1178): Assertion checker does not yet implement type "abi".
|
||||
// Warning: (1175-1219): Assertion checker does not yet implement this type of function call.
|
||||
// Warning: (755-767): Assertion checker does not yet support this expression.
|
||||
|
||||
@@ -52,6 +52,6 @@ contract MyConc{
|
||||
}
|
||||
// ----
|
||||
// Warning: (773-792): This declaration shadows an existing declaration.
|
||||
// Warning: (1009-1086): Function state mutability can be restricted to view
|
||||
// Warning: (1009-1086): Function state mutability can be restricted to "view".
|
||||
// Warning: (985-1002): Underflow (resulting value less than 0) happens here.
|
||||
// Warning: (985-1002): Overflow (resulting value larger than 2**256 - 1) happens here.
|
||||
|
||||
@@ -117,23 +117,23 @@ contract PropagateThroughReturnValue {
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// Warning: (1886-1954): Function state mutability can be restricted to view
|
||||
// Warning: (1886-1954): Function state mutability can be restricted to "view".
|
||||
// Warning: (318-332): Assertion checker does not yet support the type of this variable.
|
||||
// Warning: (338-347): Assertion checker does not yet support the type of this variable.
|
||||
// Warning: (353-378): Assertion checker does not yet support the type of this variable.
|
||||
// Warning: (384-409): Assertion checker does not yet support the type of this variable.
|
||||
// Warning: (464-479): Assertion checker does not yet support this expression.
|
||||
// Warning: (464-475): Assertion checker does not yet implement type struct Reference.St storage ref
|
||||
// Warning: (464-475): Assertion checker does not yet implement type "struct Reference.St storage ref".
|
||||
// Warning: (464-494): Assertion checker does not yet implement such assignments.
|
||||
// Warning: (539-554): Assertion checker does not yet support this expression.
|
||||
// Warning: (539-550): Assertion checker does not yet implement type struct Reference.St storage ref
|
||||
// Warning: (539-550): Assertion checker does not yet implement type "struct Reference.St storage ref".
|
||||
// Warning: (557-567): Assertion checker does not yet support this expression.
|
||||
// Warning: (557-563): Assertion checker does not yet implement type struct Reference.St storage ref
|
||||
// Warning: (557-563): Assertion checker does not yet implement type "struct Reference.St storage ref".
|
||||
// Warning: (539-567): Assertion checker does not yet implement such assignments.
|
||||
// Warning: (629-643): Assertion checker does not yet support the type of this variable.
|
||||
// Warning: (646-668): Assertion checker does not yet implement type struct Reference.St storage ref
|
||||
// Warning: (706-728): Assertion checker does not yet implement type struct Reference.St storage ref
|
||||
// Warning: (700-728): Assertion checker does not yet implement type struct Reference.St storage pointer
|
||||
// Warning: (646-668): Assertion checker does not yet implement type "struct Reference.St storage ref".
|
||||
// Warning: (706-728): Assertion checker does not yet implement type "struct Reference.St storage ref".
|
||||
// Warning: (700-728): Assertion checker does not yet implement type "struct Reference.St storage pointer".
|
||||
// Warning: (748-755): Assertion checker does not yet support this expression.
|
||||
// Warning: (748-751): Assertion checker does not yet implement type struct Reference.St storage pointer
|
||||
// Warning: (748-751): Assertion checker does not yet implement type "struct Reference.St storage pointer".
|
||||
// Warning: (748-770): Assertion checker does not yet implement such assignments.
|
||||
|
||||
@@ -77,13 +77,13 @@ contract InternalCall {
|
||||
// Warning: (117-126): Unused local variable.
|
||||
// Warning: (260-269): Unused local variable.
|
||||
// Warning: (667-676): Unused local variable.
|
||||
// Warning: (75-137): Function state mutability can be restricted to pure
|
||||
// Warning: (218-280): Function state mutability can be restricted to pure
|
||||
// Warning: (470-539): Function state mutability can be restricted to pure
|
||||
// Warning: (1144-1206): Function state mutability can be restricted to pure
|
||||
// Warning: (1212-1274): Function state mutability can be restricted to pure
|
||||
// Warning: (1280-1342): Function state mutability can be restricted to pure
|
||||
// Warning: (771-774): Assertion checker does not yet implement type abi
|
||||
// Warning: (75-137): Function state mutability can be restricted to "pure".
|
||||
// Warning: (218-280): Function state mutability can be restricted to "pure".
|
||||
// Warning: (470-539): Function state mutability can be restricted to "pure".
|
||||
// Warning: (1144-1206): Function state mutability can be restricted to "pure".
|
||||
// Warning: (1212-1274): Function state mutability can be restricted to "pure".
|
||||
// Warning: (1280-1342): Function state mutability can be restricted to "pure".
|
||||
// Warning: (771-774): Assertion checker does not yet implement type "abi".
|
||||
// Warning: (782-813): Type conversion is not yet fully supported and might yield false positives.
|
||||
// Warning: (771-814): Assertion checker does not yet implement this type of function call.
|
||||
// Warning: (1403-1408): Assertion checker does not yet implement this type of function call.
|
||||
|
||||
@@ -9,6 +9,6 @@ contract C {
|
||||
// ----
|
||||
// Warning: (133-143): Unused local variable.
|
||||
// Warning: (133-143): Assertion checker does not yet support the type of this variable.
|
||||
// Warning: (146-147): Assertion checker does not yet implement type type(struct C.A storage pointer)
|
||||
// Warning: (146-163): Assertion checker does not yet implement type struct C.A memory
|
||||
// Warning: (146-147): Assertion checker does not yet implement type "type(struct C.A storage pointer)".
|
||||
// Warning: (146-163): Assertion checker does not yet implement type "struct C.A memory".
|
||||
// Warning: (146-163): Assertion checker does not yet implement this expression.
|
||||
|
||||
@@ -5,7 +5,7 @@ contract C {
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// Warning: (162-165): Assertion checker does not yet implement type abi
|
||||
// Warning: (162-165): Assertion checker does not yet implement type "abi".
|
||||
// Warning: (162-176): Assertion checker does not yet implement this type of function call.
|
||||
// Warning: (178-181): Assertion checker does not yet implement type abi
|
||||
// Warning: (178-181): Assertion checker does not yet implement type "abi".
|
||||
// Warning: (178-203): Assertion checker does not yet implement this type of function call.
|
||||
|
||||
@@ -17,4 +17,4 @@ contract C
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// Warning: (228-229): Assertion checker does not yet implement type type(library L)
|
||||
// Warning: (228-229): Assertion checker does not yet implement type "type(library L)".
|
||||
|
||||
@@ -17,5 +17,5 @@ contract C
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// Warning: (228-229): Assertion checker does not yet implement type type(library L)
|
||||
// Warning: (228-229): Assertion checker does not yet implement type "type(library L)".
|
||||
// Warning: (245-261): Assertion violation happens here
|
||||
|
||||
@@ -17,14 +17,14 @@ contract C
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// Warning: (73-192): Function state mutability can be restricted to pure
|
||||
// Warning: (73-192): Function state mutability can be restricted to "pure".
|
||||
// Warning: (103-113): Assertion checker does not yet support the type of this variable.
|
||||
// Warning: (117-120): Assertion checker does not yet support this expression.
|
||||
// Warning: (117-118): Assertion checker does not yet implement type struct C.S memory
|
||||
// Warning: (117-118): Assertion checker does not yet implement type "struct C.S memory".
|
||||
// Warning: (117-124): Assertion checker does not yet implement such assignments.
|
||||
// Warning: (165-168): Assertion checker does not yet support this expression.
|
||||
// Warning: (165-166): Assertion checker does not yet implement type struct C.S memory
|
||||
// Warning: (165-166): Assertion checker does not yet implement type "struct C.S memory".
|
||||
// Warning: (158-168): Assertion checker does not yet implement "delete" for this expression.
|
||||
// Warning: (179-182): Assertion checker does not yet support this expression.
|
||||
// Warning: (179-180): Assertion checker does not yet implement type struct C.S memory
|
||||
// Warning: (179-180): Assertion checker does not yet implement type "struct C.S memory".
|
||||
// Warning: (172-188): Assertion violation happens here
|
||||
|
||||
@@ -9,8 +9,8 @@ contract C {
|
||||
}
|
||||
// ----
|
||||
// Warning: (151-159): Assertion checker does not yet support the type of this variable.
|
||||
// Warning: (206-209): Assertion checker does not yet implement type abi
|
||||
// Warning: (225-226): Assertion checker does not yet implement type type(struct C.S storage pointer)
|
||||
// Warning: (235-241): Assertion checker does not yet implement type type(uint256[] memory)
|
||||
// Warning: (235-244): Assertion checker does not yet implement type type(uint256[] memory[2] memory)
|
||||
// Warning: (206-209): Assertion checker does not yet implement type "abi".
|
||||
// Warning: (225-226): Assertion checker does not yet implement type "type(struct C.S storage pointer)".
|
||||
// Warning: (235-241): Assertion checker does not yet implement type "type(uint256[] memory)".
|
||||
// Warning: (235-244): Assertion checker does not yet implement type "type(uint256[] memory[2] memory)".
|
||||
// Warning: (206-246): Assertion checker does not yet implement this type of function call.
|
||||
|
||||
@@ -12,8 +12,8 @@ contract C {
|
||||
// ----
|
||||
// Warning: (125-132): Unused local variable.
|
||||
// Warning: (183-190): Unused local variable.
|
||||
// Warning: (136-139): Assertion checker does not yet implement type abi
|
||||
// Warning: (136-139): Assertion checker does not yet implement type "abi".
|
||||
// Warning: (136-167): Assertion checker does not yet implement this type of function call.
|
||||
// Warning: (194-197): Assertion checker does not yet implement type abi
|
||||
// Warning: (194-197): Assertion checker does not yet implement type "abi".
|
||||
// Warning: (194-225): Assertion checker does not yet implement this type of function call.
|
||||
// Warning: (303-319): Assertion violation happens here
|
||||
|
||||
@@ -14,11 +14,11 @@ contract C {
|
||||
// Warning: (100-104): Unused local variable.
|
||||
// Warning: (161-171): Unused local variable.
|
||||
// Warning: (173-177): Unused local variable.
|
||||
// Warning: (108-111): Assertion checker does not yet implement type abi
|
||||
// Warning: (142-143): Assertion checker does not yet implement type type(contract C)
|
||||
// Warning: (108-111): Assertion checker does not yet implement type "abi".
|
||||
// Warning: (142-143): Assertion checker does not yet implement type "type(contract C)".
|
||||
// Warning: (108-145): Assertion checker does not yet implement this type of function call.
|
||||
// Warning: (181-184): Assertion checker does not yet implement type abi
|
||||
// Warning: (215-216): Assertion checker does not yet implement type type(contract C)
|
||||
// Warning: (181-184): Assertion checker does not yet implement type "abi".
|
||||
// Warning: (215-216): Assertion checker does not yet implement type "type(contract C)".
|
||||
// Warning: (181-218): Assertion checker does not yet implement this type of function call.
|
||||
// Warning: (296-312): Assertion violation happens here
|
||||
// Warning: (315-331): Assertion violation happens here
|
||||
|
||||
@@ -10,6 +10,6 @@ contract C
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// Warning: (132-133): Assertion checker does not yet implement type type(enum C.D)
|
||||
// Warning: (132-133): Assertion checker does not yet implement type "type(enum C.D)".
|
||||
// Warning: (132-136): Type conversion is not yet fully supported and might yield false positives.
|
||||
// Warning: (140-160): Assertion violation happens here
|
||||
|
||||
+1
-1
@@ -8,6 +8,6 @@ contract C {
|
||||
// ----
|
||||
// Warning: (146-150): Assertion checker does not yet implement this type of function call.
|
||||
// Warning: (154-158): Assertion checker does not yet implement this type of function call.
|
||||
// Warning: (170-176): Assertion checker does not yet implement the type function (uint256) returns (uint256) for comparisons
|
||||
// Warning: (170-176): Assertion checker does not yet implement the type "function (uint256) returns (uint256)" for comparisons.
|
||||
// Warning: (139-159): Assertion violation happens here
|
||||
// Warning: (163-177): Assertion violation happens here
|
||||
|
||||
@@ -10,5 +10,5 @@ contract C
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// Warning: (47-148): Function state mutability can be restricted to pure
|
||||
// Warning: (47-148): Function state mutability can be restricted to "pure".
|
||||
// Warning: (128-144): Assertion violation happens here
|
||||
|
||||
@@ -12,4 +12,4 @@ contract C
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// Warning: (47-168): Function state mutability can be restricted to pure
|
||||
// Warning: (47-168): Function state mutability can be restricted to "pure".
|
||||
|
||||
@@ -15,18 +15,18 @@ contract C
|
||||
}
|
||||
// ----
|
||||
// Warning: (124-130): Assertion checker does not yet support this expression.
|
||||
// Warning: (124-128): Assertion checker does not yet implement type struct C.S memory
|
||||
// Warning: (124-128): Assertion checker does not yet implement type "struct C.S memory".
|
||||
// Warning: (124-133): Assertion checker does not yet implement this expression.
|
||||
// Warning: (124-136): Assertion checker does not yet implement this expression.
|
||||
// Warning: (154-160): Assertion checker does not yet support this expression.
|
||||
// Warning: (154-158): Assertion checker does not yet implement type struct C.S memory
|
||||
// Warning: (154-158): Assertion checker does not yet implement type "struct C.S memory".
|
||||
// Warning: (154-163): Assertion checker does not yet implement this expression.
|
||||
// Warning: (154-166): Assertion checker does not yet implement this expression.
|
||||
// Warning: (182-188): Assertion checker does not yet support this expression.
|
||||
// Warning: (182-186): Assertion checker does not yet implement type struct C.S memory
|
||||
// Warning: (182-186): Assertion checker does not yet implement type "struct C.S memory".
|
||||
// Warning: (182-191): Assertion checker does not yet implement this expression.
|
||||
// Warning: (182-194): Assertion checker does not yet implement this expression.
|
||||
// Warning: (209-215): Assertion checker does not yet support this expression.
|
||||
// Warning: (209-213): Assertion checker does not yet implement type struct C.S memory
|
||||
// Warning: (209-213): Assertion checker does not yet implement type "struct C.S memory".
|
||||
// Warning: (209-218): Assertion checker does not yet implement this expression.
|
||||
// Warning: (202-226): Assertion violation happens here
|
||||
|
||||
@@ -12,8 +12,8 @@ contract C
|
||||
// ----
|
||||
// Warning: (109-119): Assertion checker does not yet support the type of this variable.
|
||||
// Warning: (139-142): Assertion checker does not yet support this expression.
|
||||
// Warning: (139-140): Assertion checker does not yet implement type struct C.S memory
|
||||
// Warning: (139-140): Assertion checker does not yet implement type "struct C.S memory".
|
||||
// Warning: (139-151): Assertion checker does not yet implement such assignments.
|
||||
// Warning: (162-165): Assertion checker does not yet support this expression.
|
||||
// Warning: (162-163): Assertion checker does not yet implement type struct C.S memory
|
||||
// Warning: (162-163): Assertion checker does not yet implement type "struct C.S memory".
|
||||
// Warning: (155-176): Assertion violation happens here
|
||||
|
||||
@@ -14,9 +14,9 @@ contract C {
|
||||
// ----
|
||||
// Warning: (123-128): Assertion checker does not yet implement this type of function call.
|
||||
// Warning: (152-197): Assertion checker does not yet support the type of this variable.
|
||||
// Warning: (212-214): Assertion checker does not yet implement type function (function (uint256))
|
||||
// Warning: (212-214): Assertion checker does not yet implement type "function (function (uint256))".
|
||||
// Warning: (212-219): Assertion checker does not yet implement this type of function call.
|
||||
// Warning: (255-257): Internal error: Expression undefined for SMT solver.
|
||||
// Warning: (255-257): Assertion checker does not yet implement type function (function (uint256))
|
||||
// Warning: (212-214): Assertion checker does not yet implement type function (function (uint256))
|
||||
// Warning: (255-257): Assertion checker does not yet implement type "function (function (uint256))".
|
||||
// Warning: (212-214): Assertion checker does not yet implement type "function (function (uint256))".
|
||||
// Warning: (212-219): Assertion checker does not yet implement this type of function call.
|
||||
|
||||
@@ -17,11 +17,11 @@ contract C {
|
||||
// ----
|
||||
// Warning: (195-200): Assertion checker does not yet implement this type of function call.
|
||||
// Warning: (224-269): Assertion checker does not yet support the type of this variable.
|
||||
// Warning: (284-286): Assertion checker does not yet implement type function (function (uint256))
|
||||
// Warning: (284-286): Assertion checker does not yet implement type "function (function (uint256))".
|
||||
// Warning: (287-288): Assertion checker does not yet support this global variable.
|
||||
// Warning: (284-291): Assertion checker does not yet implement this type of function call.
|
||||
// Warning: (327-329): Internal error: Expression undefined for SMT solver.
|
||||
// Warning: (327-329): Assertion checker does not yet implement type function (function (uint256))
|
||||
// Warning: (284-286): Assertion checker does not yet implement type function (function (uint256))
|
||||
// Warning: (327-329): Assertion checker does not yet implement type "function (function (uint256))".
|
||||
// Warning: (284-286): Assertion checker does not yet implement type "function (function (uint256))".
|
||||
// Warning: (287-288): Assertion checker does not yet support this global variable.
|
||||
// Warning: (284-291): Assertion checker does not yet implement this type of function call.
|
||||
|
||||
@@ -15,10 +15,10 @@ contract test {
|
||||
// Warning: (140-144): Statement has no effect.
|
||||
// Warning: (148-152): Statement has no effect.
|
||||
// Warning: (156-163): Statement has no effect.
|
||||
// Warning: (125-126): Assertion checker does not yet implement type type(struct test.s storage pointer)
|
||||
// Warning: (130-131): Assertion checker does not yet implement type type(struct test.s storage pointer)
|
||||
// Warning: (130-136): Assertion checker does not yet implement type struct test.s memory
|
||||
// Warning: (125-126): Assertion checker does not yet implement type "type(struct test.s storage pointer)".
|
||||
// Warning: (130-131): Assertion checker does not yet implement type "type(struct test.s storage pointer)".
|
||||
// Warning: (130-136): Assertion checker does not yet implement type "struct test.s memory".
|
||||
// Warning: (130-136): Assertion checker does not yet implement this expression.
|
||||
// Warning: (140-141): Assertion checker does not yet implement type type(struct test.s storage pointer)
|
||||
// Warning: (140-144): Assertion checker does not yet implement type type(struct test.s memory[7] memory)
|
||||
// Warning: (156-163): Assertion checker does not yet implement type type(uint256[7] memory)
|
||||
// Warning: (140-141): Assertion checker does not yet implement type "type(struct test.s storage pointer)".
|
||||
// Warning: (140-144): Assertion checker does not yet implement type "type(struct test.s memory[7] memory)".
|
||||
// Warning: (156-163): Assertion checker does not yet implement type "type(uint256[7] memory)".
|
||||
|
||||
@@ -16,11 +16,11 @@ contract C
|
||||
// ----
|
||||
// Warning: (157-170): Unused local variable.
|
||||
// Warning: (157-170): Assertion checker does not yet support the type of this variable.
|
||||
// Warning: (139-146): Assertion checker does not yet implement type struct C.S storage ref
|
||||
// Warning: (149-150): Assertion checker does not yet implement type type(struct C.S storage pointer)
|
||||
// Warning: (149-153): Assertion checker does not yet implement type struct C.S memory
|
||||
// Warning: (139-146): Assertion checker does not yet implement type "struct C.S storage ref".
|
||||
// Warning: (149-150): Assertion checker does not yet implement type "type(struct C.S storage pointer)".
|
||||
// Warning: (149-153): Assertion checker does not yet implement type "struct C.S memory".
|
||||
// Warning: (149-153): Assertion checker does not yet implement this expression.
|
||||
// Warning: (139-153): Assertion checker does not yet implement type struct C.S storage ref
|
||||
// Warning: (173-174): Assertion checker does not yet implement type type(struct C.S storage pointer)
|
||||
// Warning: (173-177): Assertion checker does not yet implement type struct C.S memory
|
||||
// Warning: (139-153): Assertion checker does not yet implement type "struct C.S storage ref".
|
||||
// Warning: (173-174): Assertion checker does not yet implement type "type(struct C.S storage pointer)".
|
||||
// Warning: (173-177): Assertion checker does not yet implement type "struct C.S memory".
|
||||
// Warning: (173-177): Assertion checker does not yet implement this expression.
|
||||
|
||||
@@ -14,21 +14,21 @@ contract C
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// Warning: (71-197): Function state mutability can be restricted to pure
|
||||
// Warning: (71-197): Function state mutability can be restricted to "pure".
|
||||
// Warning: (101-111): Assertion checker does not yet support the type of this variable.
|
||||
// Warning: (115-118): Assertion checker does not yet support this expression.
|
||||
// Warning: (115-116): Assertion checker does not yet implement type struct C.S memory
|
||||
// Warning: (115-116): Assertion checker does not yet implement type "struct C.S memory".
|
||||
// Warning: (115-121): Assertion checker does not yet implement this expression.
|
||||
// Warning: (115-121): Assertion checker does not yet implement this expression.
|
||||
// Warning: (139-142): Assertion checker does not yet support this expression.
|
||||
// Warning: (139-140): Assertion checker does not yet implement type struct C.S memory
|
||||
// Warning: (139-140): Assertion checker does not yet implement type "struct C.S memory".
|
||||
// Warning: (139-145): Assertion checker does not yet implement this expression.
|
||||
// Warning: (139-145): Assertion checker does not yet implement this expression.
|
||||
// Warning: (161-164): Assertion checker does not yet support this expression.
|
||||
// Warning: (161-162): Assertion checker does not yet implement type struct C.S memory
|
||||
// Warning: (161-162): Assertion checker does not yet implement type "struct C.S memory".
|
||||
// Warning: (161-167): Assertion checker does not yet implement this expression.
|
||||
// Warning: (161-167): Assertion checker does not yet implement this expression.
|
||||
// Warning: (182-185): Assertion checker does not yet support this expression.
|
||||
// Warning: (182-183): Assertion checker does not yet implement type struct C.S memory
|
||||
// Warning: (182-183): Assertion checker does not yet implement type "struct C.S memory".
|
||||
// Warning: (182-188): Assertion checker does not yet implement this expression.
|
||||
// Warning: (175-193): Assertion violation happens here
|
||||
|
||||
@@ -14,21 +14,21 @@ contract C
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// Warning: (73-211): Function state mutability can be restricted to pure
|
||||
// Warning: (73-211): Function state mutability can be restricted to "pure".
|
||||
// Warning: (103-113): Assertion checker does not yet support the type of this variable.
|
||||
// Warning: (117-120): Assertion checker does not yet support this expression.
|
||||
// Warning: (117-118): Assertion checker does not yet implement type struct C.S memory
|
||||
// Warning: (117-118): Assertion checker does not yet implement type "struct C.S memory".
|
||||
// Warning: (117-123): Assertion checker does not yet implement this expression.
|
||||
// Warning: (117-126): Assertion checker does not yet implement this expression.
|
||||
// Warning: (144-147): Assertion checker does not yet support this expression.
|
||||
// Warning: (144-145): Assertion checker does not yet implement type struct C.S memory
|
||||
// Warning: (144-145): Assertion checker does not yet implement type "struct C.S memory".
|
||||
// Warning: (144-150): Assertion checker does not yet implement this expression.
|
||||
// Warning: (144-153): Assertion checker does not yet implement this expression.
|
||||
// Warning: (169-172): Assertion checker does not yet support this expression.
|
||||
// Warning: (169-170): Assertion checker does not yet implement type struct C.S memory
|
||||
// Warning: (169-170): Assertion checker does not yet implement type "struct C.S memory".
|
||||
// Warning: (169-175): Assertion checker does not yet implement this expression.
|
||||
// Warning: (169-178): Assertion checker does not yet implement this expression.
|
||||
// Warning: (193-196): Assertion checker does not yet support this expression.
|
||||
// Warning: (193-194): Assertion checker does not yet implement type struct C.S memory
|
||||
// Warning: (193-194): Assertion checker does not yet implement type "struct C.S memory".
|
||||
// Warning: (193-199): Assertion checker does not yet implement this expression.
|
||||
// Warning: (186-207): Assertion violation happens here
|
||||
|
||||
@@ -16,18 +16,18 @@ contract C
|
||||
// ----
|
||||
// Warning: (110-120): Assertion checker does not yet support the type of this variable.
|
||||
// Warning: (124-127): Assertion checker does not yet support this expression.
|
||||
// Warning: (124-125): Assertion checker does not yet implement type struct C.S memory
|
||||
// Warning: (124-125): Assertion checker does not yet implement type "struct C.S memory".
|
||||
// Warning: (124-130): Assertion checker does not yet implement this expression.
|
||||
// Warning: (124-136): Assertion checker does not yet implement this expression.
|
||||
// Warning: (154-157): Assertion checker does not yet support this expression.
|
||||
// Warning: (154-155): Assertion checker does not yet implement type struct C.S memory
|
||||
// Warning: (154-155): Assertion checker does not yet implement type "struct C.S memory".
|
||||
// Warning: (154-160): Assertion checker does not yet implement this expression.
|
||||
// Warning: (154-166): Assertion checker does not yet implement this expression.
|
||||
// Warning: (182-185): Assertion checker does not yet support this expression.
|
||||
// Warning: (182-183): Assertion checker does not yet implement type struct C.S memory
|
||||
// Warning: (182-183): Assertion checker does not yet implement type "struct C.S memory".
|
||||
// Warning: (182-188): Assertion checker does not yet implement this expression.
|
||||
// Warning: (182-194): Assertion checker does not yet implement this expression.
|
||||
// Warning: (209-212): Assertion checker does not yet support this expression.
|
||||
// Warning: (209-210): Assertion checker does not yet implement type struct C.S memory
|
||||
// Warning: (209-210): Assertion checker does not yet implement type "struct C.S memory".
|
||||
// Warning: (209-215): Assertion checker does not yet implement this expression.
|
||||
// Warning: (202-226): Assertion violation happens here
|
||||
|
||||
@@ -15,11 +15,11 @@ contract C {
|
||||
}
|
||||
// ----
|
||||
// Warning: (112-120): Assertion checker does not yet support the type of this variable.
|
||||
// Warning: (137-138): Assertion checker does not yet implement type type(struct C.S storage pointer)
|
||||
// Warning: (137-141): Assertion checker does not yet implement type struct C.S memory
|
||||
// Warning: (137-138): Assertion checker does not yet implement type "type(struct C.S storage pointer)".
|
||||
// Warning: (137-141): Assertion checker does not yet implement type "struct C.S memory".
|
||||
// Warning: (137-141): Assertion checker does not yet implement this expression.
|
||||
// Warning: (193-203): Assertion checker does not yet support the type of this variable.
|
||||
// Warning: (137-138): Assertion checker does not yet implement type type(struct C.S storage pointer)
|
||||
// Warning: (137-141): Assertion checker does not yet implement type struct C.S memory
|
||||
// Warning: (137-138): Assertion checker does not yet implement type "type(struct C.S storage pointer)".
|
||||
// Warning: (137-141): Assertion checker does not yet implement type "struct C.S memory".
|
||||
// Warning: (137-141): Assertion checker does not yet implement this expression.
|
||||
// Warning: (227-228): Assertion checker does not yet implement type struct C.S memory
|
||||
// Warning: (227-228): Assertion checker does not yet implement type "struct C.S memory".
|
||||
|
||||
@@ -6,5 +6,5 @@ function f() public pure { int[][]; }
|
||||
}
|
||||
// ----
|
||||
// Warning: (73-80): Statement has no effect.
|
||||
// Warning: (73-78): Assertion checker does not yet implement type type(int256[] memory)
|
||||
// Warning: (73-80): Assertion checker does not yet implement type type(int256[] memory[] memory)
|
||||
// Warning: (73-78): Assertion checker does not yet implement type "type(int256[] memory)".
|
||||
// Warning: (73-80): Assertion checker does not yet implement type "type(int256[] memory[] memory)".
|
||||
|
||||
@@ -6,6 +6,6 @@ function f() public pure { int[][][]; }
|
||||
}
|
||||
// ----
|
||||
// Warning: (73-82): Statement has no effect.
|
||||
// Warning: (73-78): Assertion checker does not yet implement type type(int256[] memory)
|
||||
// Warning: (73-80): Assertion checker does not yet implement type type(int256[] memory[] memory)
|
||||
// Warning: (73-82): Assertion checker does not yet implement type type(int256[] memory[] memory[] memory)
|
||||
// Warning: (73-78): Assertion checker does not yet implement type "type(int256[] memory)".
|
||||
// Warning: (73-80): Assertion checker does not yet implement type "type(int256[] memory[] memory)".
|
||||
// Warning: (73-82): Assertion checker does not yet implement type "type(int256[] memory[] memory[] memory)".
|
||||
|
||||
@@ -6,6 +6,6 @@ function f() public pure { (int[][]); }
|
||||
}
|
||||
// ----
|
||||
// Warning: (73-82): Statement has no effect.
|
||||
// Warning: (74-79): Assertion checker does not yet implement type type(int256[] memory)
|
||||
// Warning: (74-81): Assertion checker does not yet implement type type(int256[] memory[] memory)
|
||||
// Warning: (73-82): Assertion checker does not yet implement type type(int256[] memory[] memory)
|
||||
// Warning: (74-79): Assertion checker does not yet implement type "type(int256[] memory)".
|
||||
// Warning: (74-81): Assertion checker does not yet implement type "type(int256[] memory[] memory)".
|
||||
// Warning: (73-82): Assertion checker does not yet implement type "type(int256[] memory[] memory)".
|
||||
|
||||
@@ -6,7 +6,7 @@ function f() public pure { (int[][][]); }
|
||||
}
|
||||
// ----
|
||||
// Warning: (73-84): Statement has no effect.
|
||||
// Warning: (74-79): Assertion checker does not yet implement type type(int256[] memory)
|
||||
// Warning: (74-81): Assertion checker does not yet implement type type(int256[] memory[] memory)
|
||||
// Warning: (74-83): Assertion checker does not yet implement type type(int256[] memory[] memory[] memory)
|
||||
// Warning: (73-84): Assertion checker does not yet implement type type(int256[] memory[] memory[] memory)
|
||||
// Warning: (74-79): Assertion checker does not yet implement type "type(int256[] memory)".
|
||||
// Warning: (74-81): Assertion checker does not yet implement type "type(int256[] memory[] memory)".
|
||||
// Warning: (74-83): Assertion checker does not yet implement type "type(int256[] memory[] memory[] memory)".
|
||||
// Warning: (73-84): Assertion checker does not yet implement type "type(int256[] memory[] memory[] memory)".
|
||||
|
||||
@@ -5,4 +5,4 @@ contract C {
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// TypeError: (74-82): Member "pop" is not available in uint256[] memory outside of storage.
|
||||
// TypeError: (74-82): Member "pop" is not available in "uint256[] memory" outside of storage.
|
||||
|
||||
@@ -2,4 +2,4 @@ contract C {
|
||||
uint[3/0] ids;
|
||||
}
|
||||
// ----
|
||||
// TypeError: (22-25): Operator / not compatible with types int_const 3 and int_const 0
|
||||
// TypeError: (22-25): Operator "/" not compatible with types "int_const 3" and "int_const 0".
|
||||
|
||||
@@ -5,4 +5,4 @@ contract C {
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// TypeError: (63-71): Member "pop" not found or not visible after argument-dependent lookup in uint256.
|
||||
// TypeError: (63-71): Member "pop" not found or not visible after argument-dependent lookup in "uint256".
|
||||
|
||||
@@ -4,4 +4,4 @@ contract C {
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// TypeError: (66-71): Member "pop" is not available in uint256[] calldata outside of storage.
|
||||
// TypeError: (66-71): Member "pop" is not available in "uint256[] calldata" outside of storage.
|
||||
|
||||
@@ -5,4 +5,4 @@ contract C {
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// TypeError: (72-77): Member "pop" is not available in uint256[] memory outside of storage.
|
||||
// TypeError: (72-77): Member "pop" is not available in "uint256[] memory" outside of storage.
|
||||
|
||||
@@ -4,4 +4,4 @@ contract C {
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// TypeError: (66-72): Member "push" is not available in uint256[] calldata outside of storage.
|
||||
// TypeError: (66-72): Member "push" is not available in "uint256[] calldata" outside of storage.
|
||||
|
||||
@@ -5,4 +5,4 @@ contract C {
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// TypeError: (72-78): Member "push" is not available in uint256[] memory outside of storage.
|
||||
// TypeError: (72-78): Member "push" is not available in "uint256[] memory" outside of storage.
|
||||
|
||||
@@ -4,4 +4,4 @@ contract C {
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// TypeError: (65-88): Type bytes calldata slice is not implicitly convertible to expected type bytes memory.
|
||||
// TypeError: (65-88): Type "bytes calldata slice" is not implicitly convertible to expected type "bytes memory".
|
||||
|
||||
@@ -4,4 +4,4 @@ contract C {
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// TypeError: (79-85): Invalid type for argument in function call. Invalid implicit conversion from bytes calldata slice to bytes memory requested.
|
||||
// TypeError: (79-85): Invalid type for argument in function call. Invalid implicit conversion from "bytes calldata slice" to "bytes memory" requested.
|
||||
|
||||
@@ -5,4 +5,4 @@ contract C {
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// TypeError: (66-74): Member "pop" not found or not visible after argument-dependent lookup in uint256[3] storage ref.
|
||||
// TypeError: (66-74): Member "pop" not found or not visible after argument-dependent lookup in "uint256[3] storage ref".
|
||||
|
||||
@@ -5,4 +5,4 @@ contract C {
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// TypeError: (65-73): Member "pop" not found or not visible after argument-dependent lookup in string storage ref.
|
||||
// TypeError: (65-73): Member "pop" not found or not visible after argument-dependent lookup in "string storage ref".
|
||||
|
||||
@@ -3,5 +3,5 @@ contract C {
|
||||
uint constant b = mulmod(3, 4, 0.1);
|
||||
}
|
||||
// ----
|
||||
// TypeError: (48-51): Invalid type for argument in function call. Invalid implicit conversion from rational_const 1 / 10 to uint256 requested.
|
||||
// TypeError: (89-92): Invalid type for argument in function call. Invalid implicit conversion from rational_const 1 / 10 to uint256 requested.
|
||||
// TypeError: (48-51): Invalid type for argument in function call. Invalid implicit conversion from "rational_const 1 / 10" to "uint256" requested.
|
||||
// TypeError: (89-92): Invalid type for argument in function call. Invalid implicit conversion from "rational_const 1 / 10" to "uint256" requested.
|
||||
|
||||
@@ -2,4 +2,4 @@ contract C {
|
||||
uint constant a = a;
|
||||
}
|
||||
// ----
|
||||
// TypeError: (17-36): The value of the constant a has a cyclic dependency via a.
|
||||
// TypeError: (17-36): The value of the constant "a" has a cyclic dependency via "a".
|
||||
|
||||
@@ -5,6 +5,6 @@ contract C {
|
||||
uint constant d = 2 + a;
|
||||
}
|
||||
// ----
|
||||
// TypeError: (17-40): The value of the constant a has a cyclic dependency via c.
|
||||
// TypeError: (71-129): The value of the constant c has a cyclic dependency via d.
|
||||
// TypeError: (135-158): The value of the constant d has a cyclic dependency via a.
|
||||
// TypeError: (17-40): The value of the constant "a" has a cyclic dependency via "c".
|
||||
// TypeError: (71-129): The value of the constant "c" has a cyclic dependency via "d".
|
||||
// TypeError: (135-158): The value of the constant "d" has a cyclic dependency via "a".
|
||||
|
||||
@@ -5,7 +5,7 @@ contract C {
|
||||
uint constant c = b;
|
||||
}
|
||||
// ----
|
||||
// TypeError: (17-36): The value of the constant x has a cyclic dependency via a.
|
||||
// TypeError: (42-65): The value of the constant a has a cyclic dependency via b.
|
||||
// TypeError: (71-90): The value of the constant b has a cyclic dependency via c.
|
||||
// TypeError: (96-115): The value of the constant c has a cyclic dependency via b.
|
||||
// TypeError: (17-36): The value of the constant "x" has a cyclic dependency via "a".
|
||||
// TypeError: (42-65): The value of the constant "a" has a cyclic dependency via "b".
|
||||
// TypeError: (71-90): The value of the constant "b" has a cyclic dependency via "c".
|
||||
// TypeError: (96-115): The value of the constant "c" has a cyclic dependency via "b".
|
||||
|
||||
@@ -7,4 +7,4 @@ contract B is A {
|
||||
}
|
||||
// ----
|
||||
// Warning: (58-101): This declaration shadows an existing declaration.
|
||||
// TypeError: (130-133): Member "f" not found or not visible after argument-dependent lookup in function () pure returns (uint8).
|
||||
// TypeError: (130-133): Member "f" not found or not visible after argument-dependent lookup in "function () pure returns (uint8)".
|
||||
|
||||
@@ -8,4 +8,4 @@ contract C {
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// TypeError: (169-171): Invalid type for argument in function call. Invalid implicit conversion from address to address payable requested.
|
||||
// TypeError: (169-171): Invalid type for argument in function call. Invalid implicit conversion from "address" to "address payable" requested.
|
||||
|
||||
@@ -7,4 +7,4 @@ contract C {
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// TypeError: (105-144): Type function () external is not implicitly convertible to expected type function () payable external.
|
||||
// TypeError: (105-144): Type "function () external" is not implicitly convertible to expected type "function () payable external".
|
||||
|
||||
@@ -7,4 +7,4 @@ contract C {
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// TypeError: (105-141): Type function () external is not implicitly convertible to expected type function () pure external.
|
||||
// TypeError: (105-141): Type "function () external" is not implicitly convertible to expected type "function () pure external".
|
||||
|
||||
@@ -7,4 +7,4 @@ contract C {
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// TypeError: (105-141): Type function () external is not implicitly convertible to expected type function () view external.
|
||||
// TypeError: (105-141): Type "function () external" is not implicitly convertible to expected type "function () view external".
|
||||
|
||||
@@ -7,4 +7,4 @@ contract C {
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// TypeError: (113-149): Type function () payable external is not implicitly convertible to expected type function () pure external.
|
||||
// TypeError: (113-149): Type "function () payable external" is not implicitly convertible to expected type "function () pure external".
|
||||
|
||||
@@ -7,4 +7,4 @@ contract C {
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// TypeError: (113-149): Type function () payable external is not implicitly convertible to expected type function () view external.
|
||||
// TypeError: (113-149): Type "function () payable external" is not implicitly convertible to expected type "function () view external".
|
||||
|
||||
@@ -7,4 +7,4 @@ contract C {
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// TypeError: (110-149): Type function () pure external is not implicitly convertible to expected type function () payable external.
|
||||
// TypeError: (110-149): Type "function () pure external" is not implicitly convertible to expected type "function () payable external".
|
||||
|
||||
@@ -7,4 +7,4 @@ contract C {
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// TypeError: (110-149): Type function () view external is not implicitly convertible to expected type function () payable external.
|
||||
// TypeError: (110-149): Type "function () view external" is not implicitly convertible to expected type "function () payable external".
|
||||
|
||||
@@ -7,4 +7,4 @@ contract C {
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// TypeError: (110-146): Type function () view external is not implicitly convertible to expected type function () pure external.
|
||||
// TypeError: (110-146): Type "function () view external" is not implicitly convertible to expected type "function () pure external".
|
||||
|
||||
@@ -8,5 +8,5 @@ contract C {
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// TypeError: (93-94): Type int256[] memory is not implicitly convertible to expected type int256[] storage pointer.
|
||||
// TypeError: (102-110): Type int256[] memory is not implicitly convertible to expected type int256[] storage pointer.
|
||||
// TypeError: (93-94): Type "int256[] memory" is not implicitly convertible to expected type "int256[] storage pointer".
|
||||
// TypeError: (102-110): Type "int256[] memory" is not implicitly convertible to expected type "int256[] storage pointer".
|
||||
|
||||
@@ -3,4 +3,4 @@ contract C {
|
||||
ufixed constant b = ufixed(4 ether / 3 hours);
|
||||
}
|
||||
// ----
|
||||
// TypeError: (32-49): Type rational_const 10000000000000000 / 27 is not implicitly convertible to expected type uint256. Try converting to type ufixed256x62 or use an explicit conversion.
|
||||
// TypeError: (32-49): Type "rational_const 10000000000000000 / 27" is not implicitly convertible to expected type "uint256". Try converting to type "ufixed256x62" or use an explicit conversion.
|
||||
|
||||
+2
-2
@@ -9,5 +9,5 @@ contract C {
|
||||
// ----
|
||||
// TypeError: (52-76): Need at least 1 arguments for function call, but provided only 0.
|
||||
// TypeError: (86-111): Need at least 1 arguments for function call, but provided only 0.
|
||||
// TypeError: (144-151): Invalid type for argument in function call. Invalid implicit conversion from uint256 to bytes4 requested.
|
||||
// TypeError: (189-196): Invalid type for argument in function call. Invalid implicit conversion from uint256 to string memory requested.
|
||||
// TypeError: (144-151): Invalid type for argument in function call. Invalid implicit conversion from "uint256" to "bytes4" requested.
|
||||
// TypeError: (189-196): Invalid type for argument in function call. Invalid implicit conversion from "uint256" to "string memory" requested.
|
||||
|
||||
@@ -4,4 +4,4 @@ contract C {
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// TypeError: (77-92): Explicit type conversion not allowed from "function () view external returns (address)" to "address". To obtain the address of the contract of the function, you can use the .address member of the function.
|
||||
// TypeError: (77-92): Explicit type conversion not allowed from "function () view external returns (address)" to "address". To obtain the address of the contract of the function, you can use the ".address" member of the function.
|
||||
|
||||
+1
-1
@@ -4,4 +4,4 @@ contract C {
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// TypeError: (85-99): Return argument type address is not implicitly convertible to expected type (type of first return variable) address payable.
|
||||
// TypeError: (85-99): Return argument type "address" is not implicitly convertible to expected type (type of first return variable) "address payable".
|
||||
|
||||
+1
-1
@@ -3,4 +3,4 @@ contract test {
|
||||
function(bytes memory) external internal a = fa;
|
||||
}
|
||||
// ----
|
||||
// TypeError: (106-108): Type function (bytes memory) is not implicitly convertible to expected type function (bytes memory) external.
|
||||
// TypeError: (106-108): Type "function (bytes memory)" is not implicitly convertible to expected type "function (bytes memory) external".
|
||||
|
||||
@@ -12,6 +12,6 @@ contract C {
|
||||
}
|
||||
// ----
|
||||
// TypeError: (65-85): Wrong argument count for function call: 0 arguments given but expected 1. This function requires a single bytes argument. Use "" as argument to provide empty calldata.
|
||||
// TypeError: (153-171): Invalid type for argument in function call. Invalid implicit conversion from bytes4 to bytes memory requested. This function requires a single bytes argument. If all your arguments are value types, you can use abi.encode(...) to properly generate it.
|
||||
// TypeError: (240-247): Invalid type for argument in function call. Invalid implicit conversion from uint256 to bytes memory requested. This function requires a single bytes argument. If all your arguments are value types, you can use abi.encode(...) to properly generate it.
|
||||
// TypeError: (297-333): Wrong argument count for function call: 2 arguments given but expected 1. This function requires a single bytes argument. If all your arguments are value types, you can use abi.encode(...) to properly generate it.
|
||||
// TypeError: (153-171): Invalid type for argument in function call. Invalid implicit conversion from "bytes4" to "bytes memory" requested. This function requires a single "bytes" argument. If all your arguments are value types, you can use "abi.encode(...)" to properly generate it.
|
||||
// TypeError: (240-247): Invalid type for argument in function call. Invalid implicit conversion from "uint256" to "bytes memory" requested. This function requires a single "bytes" argument. If all your arguments are value types, you can use "abi.encode(...)" to properly generate it.
|
||||
// TypeError: (297-333): Wrong argument count for function call: 2 arguments given but expected 1. This function requires a single bytes argument. If all your arguments are value types, you can use "abi.encode(...)" to properly generate it.
|
||||
|
||||
@@ -10,5 +10,5 @@ contract C {
|
||||
}
|
||||
// ----
|
||||
// TypeError: (65-89): Wrong argument count for function call: 0 arguments given but expected 1. This function requires a single bytes argument. Use "" as argument to provide empty calldata.
|
||||
// TypeError: (161-168): Invalid type for argument in function call. Invalid implicit conversion from uint256 to bytes memory requested. This function requires a single bytes argument. If all your arguments are value types, you can use abi.encode(...) to properly generate it.
|
||||
// TypeError: (218-258): Wrong argument count for function call: 2 arguments given but expected 1. This function requires a single bytes argument. If all your arguments are value types, you can use abi.encode(...) to properly generate it.
|
||||
// TypeError: (161-168): Invalid type for argument in function call. Invalid implicit conversion from "uint256" to "bytes memory" requested. This function requires a single "bytes" argument. If all your arguments are value types, you can use "abi.encode(...)" to properly generate it.
|
||||
// TypeError: (218-258): Wrong argument count for function call: 2 arguments given but expected 1. This function requires a single bytes argument. If all your arguments are value types, you can use "abi.encode(...)" to properly generate it.
|
||||
|
||||
@@ -10,5 +10,5 @@ contract C {
|
||||
}
|
||||
// ----
|
||||
// TypeError: (65-93): Wrong argument count for function call: 0 arguments given but expected 1. This function requires a single bytes argument. Use "" as argument to provide empty calldata.
|
||||
// TypeError: (169-176): Invalid type for argument in function call. Invalid implicit conversion from uint256 to bytes memory requested. This function requires a single bytes argument. If all your arguments are value types, you can use abi.encode(...) to properly generate it.
|
||||
// TypeError: (226-270): Wrong argument count for function call: 2 arguments given but expected 1. This function requires a single bytes argument. If all your arguments are value types, you can use abi.encode(...) to properly generate it.
|
||||
// TypeError: (169-176): Invalid type for argument in function call. Invalid implicit conversion from "uint256" to "bytes memory" requested. This function requires a single "bytes" argument. If all your arguments are value types, you can use "abi.encode(...)" to properly generate it.
|
||||
// TypeError: (226-270): Wrong argument count for function call: 2 arguments given but expected 1. This function requires a single bytes argument. If all your arguments are value types, you can use "abi.encode(...)" to properly generate it.
|
||||
|
||||
@@ -6,6 +6,6 @@ contract C {
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// TypeError: (55-66): Wrong argument count for function call: 0 arguments given but expected 1. This function requires a single bytes argument. Use abi.encodePacked(...) to obtain the pre-0.5.0 behaviour or abi.encode(...) to use ABI encoding.
|
||||
// TypeError: (100-107): Invalid type for argument in function call. Invalid implicit conversion from uint256 to bytes memory requested. This function requires a single bytes argument. Use abi.encodePacked(...) to obtain the pre-0.5.0 behaviour or abi.encode(...) to use ABI encoding.
|
||||
// TypeError: (132-159): Wrong argument count for function call: 2 arguments given but expected 1. This function requires a single bytes argument. Use abi.encodePacked(...) to obtain the pre-0.5.0 behaviour or abi.encode(...) to use ABI encoding.
|
||||
// TypeError: (55-66): Wrong argument count for function call: 0 arguments given but expected 1. This function requires a single bytes argument. Use abi.encodePacked(...) to obtain the pre-0.5.0 behaviour or "abi.encode(...)" to use ABI encoding.
|
||||
// TypeError: (100-107): Invalid type for argument in function call. Invalid implicit conversion from "uint256" to "bytes memory" requested. This function requires a single "bytes" argument. Use "abi.encodePacked(...)" to obtain the pre-0.5.0 behaviour or "abi.encode(...)" to use ABI encoding.
|
||||
// TypeError: (132-159): Wrong argument count for function call: 2 arguments given but expected 1. This function requires a single bytes argument. Use abi.encodePacked(...) to obtain the pre-0.5.0 behaviour or "abi.encode(...)" to use ABI encoding.
|
||||
|
||||
@@ -6,6 +6,6 @@ contract C {
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// TypeError: (55-66): Wrong argument count for function call: 0 arguments given but expected 1. This function requires a single bytes argument. Use abi.encodePacked(...) to obtain the pre-0.5.0 behaviour or abi.encode(...) to use ABI encoding.
|
||||
// TypeError: (100-107): Invalid type for argument in function call. Invalid implicit conversion from uint256 to bytes memory requested. This function requires a single bytes argument. Use abi.encodePacked(...) to obtain the pre-0.5.0 behaviour or abi.encode(...) to use ABI encoding.
|
||||
// TypeError: (132-159): Wrong argument count for function call: 2 arguments given but expected 1. This function requires a single bytes argument. Use abi.encodePacked(...) to obtain the pre-0.5.0 behaviour or abi.encode(...) to use ABI encoding.
|
||||
// TypeError: (55-66): Wrong argument count for function call: 0 arguments given but expected 1. This function requires a single bytes argument. Use abi.encodePacked(...) to obtain the pre-0.5.0 behaviour or "abi.encode(...)" to use ABI encoding.
|
||||
// TypeError: (100-107): Invalid type for argument in function call. Invalid implicit conversion from "uint256" to "bytes memory" requested. This function requires a single "bytes" argument. Use "abi.encodePacked(...)" to obtain the pre-0.5.0 behaviour or "abi.encode(...)" to use ABI encoding.
|
||||
// TypeError: (132-159): Wrong argument count for function call: 2 arguments given but expected 1. This function requires a single bytes argument. Use abi.encodePacked(...) to obtain the pre-0.5.0 behaviour or "abi.encode(...)" to use ABI encoding.
|
||||
|
||||
@@ -6,6 +6,6 @@ contract C {
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// TypeError: (55-63): Wrong argument count for function call: 0 arguments given but expected 1. This function requires a single bytes argument. Use abi.encodePacked(...) to obtain the pre-0.5.0 behaviour or abi.encode(...) to use ABI encoding.
|
||||
// TypeError: (94-101): Invalid type for argument in function call. Invalid implicit conversion from uint256 to bytes memory requested. This function requires a single bytes argument. Use abi.encodePacked(...) to obtain the pre-0.5.0 behaviour or abi.encode(...) to use ABI encoding.
|
||||
// TypeError: (126-150): Wrong argument count for function call: 2 arguments given but expected 1. This function requires a single bytes argument. Use abi.encodePacked(...) to obtain the pre-0.5.0 behaviour or abi.encode(...) to use ABI encoding.
|
||||
// TypeError: (55-63): Wrong argument count for function call: 0 arguments given but expected 1. This function requires a single bytes argument. Use abi.encodePacked(...) to obtain the pre-0.5.0 behaviour or "abi.encode(...)" to use ABI encoding.
|
||||
// TypeError: (94-101): Invalid type for argument in function call. Invalid implicit conversion from "uint256" to "bytes memory" requested. This function requires a single "bytes" argument. Use "abi.encodePacked(...)" to obtain the pre-0.5.0 behaviour or "abi.encode(...)" to use ABI encoding.
|
||||
// TypeError: (126-150): Wrong argument count for function call: 2 arguments given but expected 1. This function requires a single bytes argument. Use abi.encodePacked(...) to obtain the pre-0.5.0 behaviour or "abi.encode(...)" to use ABI encoding.
|
||||
|
||||
@@ -5,7 +5,7 @@ contract C {
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// TypeError: (67-72): Type int_const 1897...(74 digits omitted)...1424 is not implicitly convertible to expected type uint256.
|
||||
// TypeError: (74-79): Type int_const 1897...(74 digits omitted)...1424 is not implicitly convertible to expected type uint256.
|
||||
// TypeError: (81-90): Type rational_const 9485...(73 digits omitted)...5712 / 5 is not implicitly convertible to expected type uint256.
|
||||
// TypeError: (67-72): Type "int_const 1897...(74 digits omitted)...1424" is not implicitly convertible to expected type "uint256".
|
||||
// TypeError: (74-79): Type "int_const 1897...(74 digits omitted)...1424" is not implicitly convertible to expected type "uint256".
|
||||
// TypeError: (81-90): Type "rational_const 9485...(73 digits omitted)...5712 / 5" is not implicitly convertible to expected type "uint256".
|
||||
// TypeError: (65-91): Index expression cannot be represented as an unsigned integer.
|
||||
|
||||
@@ -5,7 +5,7 @@ contract C {
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// TypeError: (67-72): Type int_const 1897...(74 digits omitted)...1424 is not implicitly convertible to expected type uint256.
|
||||
// TypeError: (74-79): Type int_const 1897...(74 digits omitted)...1424 is not implicitly convertible to expected type uint256.
|
||||
// TypeError: (81-90): Type int_const -189...(75 digits omitted)...1423 is not implicitly convertible to expected type uint256.
|
||||
// TypeError: (67-72): Type "int_const 1897...(74 digits omitted)...1424" is not implicitly convertible to expected type "uint256".
|
||||
// TypeError: (74-79): Type "int_const 1897...(74 digits omitted)...1424" is not implicitly convertible to expected type "uint256".
|
||||
// TypeError: (81-90): Type "int_const -189...(75 digits omitted)...1423" is not implicitly convertible to expected type "uint256".
|
||||
// TypeError: (65-91): Index expression cannot be represented as an unsigned integer.
|
||||
|
||||
@@ -5,4 +5,4 @@ contract C {
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// TypeError: (67-69): Type int_const -1 is not implicitly convertible to expected type uint256.
|
||||
// TypeError: (67-69): Type "int_const -1" is not implicitly convertible to expected type "uint256".
|
||||
|
||||
@@ -5,4 +5,4 @@ contract C {
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// TypeError: (67-178): Type int_const 8888...(103 digits omitted)...8888 is not implicitly convertible to expected type uint256.
|
||||
// TypeError: (67-178): Type "int_const 8888...(103 digits omitted)...8888" is not implicitly convertible to expected type "uint256".
|
||||
|
||||
@@ -5,5 +5,5 @@ contract C {
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// TypeError: (58-60): Type int_const -1 is not implicitly convertible to expected type uint256.
|
||||
// TypeError: (58-60): Type "int_const -1" is not implicitly convertible to expected type "uint256".
|
||||
// TypeError: (56-61): Index expression cannot be represented as an unsigned integer.
|
||||
|
||||
@@ -5,5 +5,5 @@ contract C {
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// TypeError: (58-169): Type int_const 8888...(103 digits omitted)...8888 is not implicitly convertible to expected type uint256.
|
||||
// TypeError: (58-169): Type "int_const 8888...(103 digits omitted)...8888" is not implicitly convertible to expected type "uint256".
|
||||
// TypeError: (56-170): Index expression cannot be represented as an unsigned integer.
|
||||
|
||||
@@ -4,4 +4,4 @@ contract C {
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// TypeError: (41-42): Indexed expression has to be a type, mapping or array (is function ())
|
||||
// TypeError: (41-42): Indexed expression has to be a type, mapping or array (is "function ()").
|
||||
|
||||
@@ -4,4 +4,4 @@ contract C {
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// TypeError: (41-42): Indexed expression has to be a type, mapping or array (is function ())
|
||||
// TypeError: (41-42): Indexed expression has to be a type, mapping or array (is "function ()").
|
||||
|
||||
@@ -7,4 +7,4 @@ contract test {
|
||||
}
|
||||
|
||||
// ----
|
||||
// TypeError: (101-241): Type int_const 7555...(132 digits omitted)...5555 is not implicitly convertible to expected type uint256.
|
||||
// TypeError: (101-241): Type "int_const 7555...(132 digits omitted)...5555" is not implicitly convertible to expected type "uint256".
|
||||
|
||||
@@ -2,4 +2,4 @@ interface I {
|
||||
function foo() virtual external;
|
||||
}
|
||||
// ----
|
||||
// Warning: (15-47): Interface functions are implicitly "virtual"
|
||||
// Warning: (15-47): Interface functions are implicitly "virtual".
|
||||
|
||||
@@ -4,4 +4,4 @@ contract C {
|
||||
function() external override virtual fp3;
|
||||
}
|
||||
// ----
|
||||
// ParserError: (34-41): Expected identifier but got 'virtual'
|
||||
// ParserError: (34-41): Expected identifier but got "virtual"
|
||||
|
||||
@@ -7,4 +7,4 @@ contract X is A {
|
||||
function test() internal override() returns (uint256);
|
||||
}
|
||||
// ----
|
||||
// ParserError: (164-165): Expected identifier but got ')'
|
||||
// ParserError: (164-165): Expected identifier but got ")"
|
||||
|
||||
@@ -5,4 +5,4 @@ contract X {
|
||||
int public override(A,) testvar;
|
||||
}
|
||||
// ----
|
||||
// ParserError: (95-96): Expected identifier but got ')'
|
||||
// ParserError: (95-96): Expected identifier but got ")"
|
||||
|
||||
@@ -5,4 +5,4 @@ contract X {
|
||||
function test() internal override(,) returns (uint256);
|
||||
}
|
||||
// ----
|
||||
// ParserError: (107-108): Expected identifier but got ','
|
||||
// ParserError: (107-108): Expected identifier but got ","
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user