diff --git a/test/contracts/AuctionRegistrar.cpp b/test/contracts/AuctionRegistrar.cpp index c91e4c25c..9cf31e8ef 100644 --- a/test/contracts/AuctionRegistrar.cpp +++ b/test/contracts/AuctionRegistrar.cpp @@ -45,12 +45,12 @@ namespace static char const* registrarCode = R"DELIMITER( pragma solidity >=0.4.0 <0.7.0; -contract NameRegister { +abstract contract NameRegister { function addr(string memory _name) public view returns (address o_owner); function name(address _owner) public view returns (string memory o_name); } -contract Registrar is NameRegister { +abstract contract Registrar is NameRegister { event Changed(string indexed name); event PrimaryChanged(string indexed name, address indexed addr); @@ -62,7 +62,7 @@ contract Registrar is NameRegister { function name(address _owner) public override view returns (string memory o_name); } -contract AuctionSystem { +abstract contract AuctionSystem { event AuctionEnded(string indexed _name, address _winner); event NewBid(string indexed _name, address _bidder, uint _value); diff --git a/test/contracts/FixedFeeRegistrar.cpp b/test/contracts/FixedFeeRegistrar.cpp index 51bc5aae2..6fb937320 100644 --- a/test/contracts/FixedFeeRegistrar.cpp +++ b/test/contracts/FixedFeeRegistrar.cpp @@ -55,7 +55,7 @@ static char const* registrarCode = R"DELIMITER( pragma solidity >=0.4.0 <0.7.0; -contract Registrar { +abstract contract Registrar { event Changed(string indexed name); function owner(string memory _name) public view returns (address o_owner); diff --git a/test/contracts/Wallet.cpp b/test/contracts/Wallet.cpp index e25ac0cda..7234caa5d 100644 --- a/test/contracts/Wallet.cpp +++ b/test/contracts/Wallet.cpp @@ -276,7 +276,7 @@ contract multiowned { // inheritable "property" contract that enables methods to be protected by placing a linear limit (specifiable) // on a particular resource per calendar day. is multiowned to allow the limit to be altered. resource that method // uses is specified in the modifier. -contract daylimit is multiowned { +abstract contract daylimit is multiowned { // MODIFIERS @@ -330,7 +330,7 @@ contract daylimit is multiowned { } // interface contract for multisig proxy contracts; see below for docs. -contract multisig { +abstract contract multisig { // EVENTS diff --git a/test/libsolidity/SolidityEndToEndTest.cpp b/test/libsolidity/SolidityEndToEndTest.cpp index 0a41d9362..9a4517699 100644 --- a/test/libsolidity/SolidityEndToEndTest.cpp +++ b/test/libsolidity/SolidityEndToEndTest.cpp @@ -5446,7 +5446,7 @@ BOOST_AUTO_TEST_CASE(pass_dynamic_arguments_to_the_base_base_with_gap) } uint public m_i; } - contract Base1 is Base { + abstract contract Base1 is Base { constructor(uint k) public {} } contract Derived is Base, Base1 { @@ -10483,7 +10483,7 @@ BOOST_AUTO_TEST_CASE(mutex) BOOST_AUTO_TEST_CASE(calling_nonexisting_contract_throws) { char const* sourceCode = R"YY( - contract D { function g() public; } + abstract contract D { function g() public; } contract C { D d = D(0x1212); function f() public returns (uint) { diff --git a/test/libsolidity/SolidityNameAndTypeResolution.cpp b/test/libsolidity/SolidityNameAndTypeResolution.cpp index 414b913ec..1e6894234 100644 --- a/test/libsolidity/SolidityNameAndTypeResolution.cpp +++ b/test/libsolidity/SolidityNameAndTypeResolution.cpp @@ -48,7 +48,7 @@ BOOST_AUTO_TEST_CASE(function_no_implementation) { SourceUnit const* sourceUnit = nullptr; char const* text = R"( - contract test { + abstract contract test { function functionName(bytes32 input) public returns (bytes32 out); } )"; @@ -64,8 +64,8 @@ BOOST_AUTO_TEST_CASE(abstract_contract) { SourceUnit const* sourceUnit = nullptr; char const* text = R"( - contract base { function foo() public; } - contract derived is base { function foo() public override {} } + abstract contract base { function foo() public; } + contract derived is base { function foo() public {} } )"; sourceUnit = parseAndAnalyse(text); std::vector> nodes = sourceUnit->nodes(); @@ -83,8 +83,8 @@ BOOST_AUTO_TEST_CASE(abstract_contract_with_overload) { SourceUnit const* sourceUnit = nullptr; char const* text = R"( - contract base { function foo(bool) public; } - contract derived is base { function foo(uint) public {} } + abstract contract base { function foo(bool) public; } + abstract contract derived is base { function foo(uint) public {} } )"; sourceUnit = parseAndAnalyse(text); std::vector> nodes = sourceUnit->nodes(); @@ -100,8 +100,8 @@ BOOST_AUTO_TEST_CASE(implement_abstract_via_constructor) { SourceUnit const* sourceUnit = nullptr; char const* text = R"( - contract base { function foo() public; } - contract foo is base { constructor() public {} } + abstract contract base { function foo() public; } + abstract contract foo is base { constructor() public {} } )"; sourceUnit = parseAndAnalyse(text); std::vector> nodes = sourceUnit->nodes(); @@ -356,7 +356,7 @@ BOOST_AUTO_TEST_CASE(string) BOOST_AUTO_TEST_CASE(dynamic_return_types_not_possible) { char const* sourceCode = R"( - contract C { + abstract contract C { function f(uint) public returns (string memory); function g() public { string memory x = this.f(2); diff --git a/test/libsolidity/StandardCompiler.cpp b/test/libsolidity/StandardCompiler.cpp index aef8ee3c1..c3a4badee 100644 --- a/test/libsolidity/StandardCompiler.cpp +++ b/test/libsolidity/StandardCompiler.cpp @@ -427,7 +427,7 @@ BOOST_AUTO_TEST_CASE(basic_compilation) BOOST_CHECK_EQUAL( dev::jsonCompactPrint(result["sources"]["fileA"]["legacyAST"]), "{\"attributes\":{\"absolutePath\":\"fileA\",\"exportedSymbols\":{\"A\":[1]}},\"children\":" - "[{\"attributes\":{\"baseContracts\":[null],\"contractDependencies\":[null],\"contractKind\":\"contract\"," + "[{\"attributes\":{\"abstract\":false,\"baseContracts\":[null],\"contractDependencies\":[null],\"contractKind\":\"contract\"," "\"documentation\":null,\"fullyImplemented\":true,\"linearizedBaseContracts\":[1],\"name\":\"A\",\"nodes\":[null],\"scope\":2}," "\"id\":1,\"name\":\"ContractDefinition\",\"src\":\"0:14:0\"}],\"id\":2,\"name\":\"SourceUnit\",\"src\":\"0:14:0\"}" );