From cf347745bd8b8636ff43d7b4893e431613bb8d84 Mon Sep 17 00:00:00 2001 From: Matthew Ludwig Date: Fri, 20 Apr 2018 16:50:00 -0400 Subject: Updated constructors and pragma solidity lines. Updated the Inheritance section of the docs in order to correct old constructor formats and update them to the new constructor() format. --- docs/contracts.rst | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'docs') diff --git a/docs/contracts.rst b/docs/contracts.rst index a1f2895c..17eb23f7 100644 --- a/docs/contracts.rst +++ b/docs/contracts.rst @@ -841,10 +841,10 @@ Details are given in the following example. :: - pragma solidity ^0.4.16; + pragma solidity ^0.4.22; contract owned { - function owned() { owner = msg.sender; } + constructor() { owner = msg.sender; } address owner; } @@ -875,7 +875,7 @@ Details are given in the following example. // also a base class of `mortal`, yet there is only a single // instance of `owned` (as for virtual inheritance in C++). contract named is owned, mortal { - function named(bytes32 name) { + constructor(bytes32 name) { Config config = Config(0xD5f9D8D94886E70b06E474c3fB14Fd43E2f23970); NameReg(config.lookup(1)).register(name); } @@ -913,10 +913,10 @@ Note that above, we call ``mortal.kill()`` to "forward" the destruction request. The way this is done is problematic, as seen in the following example:: - pragma solidity ^0.4.0; + pragma solidity ^0.4.22; contract owned { - function owned() public { owner = msg.sender; } + constructor() public { owner = msg.sender; } address owner; } @@ -942,10 +942,10 @@ derived override, but this function will bypass ``Base1.kill``, basically because it does not even know about ``Base1``. The way around this is to use ``super``:: - pragma solidity ^0.4.0; + pragma solidity ^0.4.22; contract owned { - function owned() public { owner = msg.sender; } + constructor() public { owner = msg.sender; } address owner; } @@ -1033,7 +1033,7 @@ Arguments for Base Constructors Derived contracts need to provide all arguments needed for the base constructors. This can be done in two ways:: - pragma solidity ^0.4.0; + pragma solidity ^0.4.22; contract Base { uint x; -- cgit