diff options
author | chriseth <chris@ethereum.org> | 2018-06-29 21:45:26 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-06-29 21:45:26 +0800 |
commit | e289c36158701ba0b874051e9e426e270b0e38e2 (patch) | |
tree | 2d19dff8180f4c4a8d25ef7414820f57f3e265af /test/libsolidity/syntaxTests/constructor | |
parent | 975dddf1b17e50a13cebdabcf885dcc800bd1742 (diff) | |
parent | e6d250772d1a42c5ac113a4e045e8365805ee300 (diff) | |
download | dexon-solidity-e289c36158701ba0b874051e9e426e270b0e38e2.tar dexon-solidity-e289c36158701ba0b874051e9e426e270b0e38e2.tar.gz dexon-solidity-e289c36158701ba0b874051e9e426e270b0e38e2.tar.bz2 dexon-solidity-e289c36158701ba0b874051e9e426e270b0e38e2.tar.lz dexon-solidity-e289c36158701ba0b874051e9e426e270b0e38e2.tar.xz dexon-solidity-e289c36158701ba0b874051e9e426e270b0e38e2.tar.zst dexon-solidity-e289c36158701ba0b874051e9e426e270b0e38e2.zip |
Merge pull request #4354 from ethereum/constructorSyntaxTests
Updates tests to new constructor syntax
Diffstat (limited to 'test/libsolidity/syntaxTests/constructor')
3 files changed, 15 insertions, 4 deletions
diff --git a/test/libsolidity/syntaxTests/constructor/constructor_no_visibility.sol b/test/libsolidity/syntaxTests/constructor/constructor_no_visibility.sol new file mode 100644 index 00000000..f8820fdc --- /dev/null +++ b/test/libsolidity/syntaxTests/constructor/constructor_no_visibility.sol @@ -0,0 +1,3 @@ +contract A { constructor() {} } +// ---- +// Warning: (13-29): No visibility specified. Defaulting to "public". diff --git a/test/libsolidity/syntaxTests/constructor/constructor_no_visibility_050.sol b/test/libsolidity/syntaxTests/constructor/constructor_no_visibility_050.sol new file mode 100644 index 00000000..0f57a41f --- /dev/null +++ b/test/libsolidity/syntaxTests/constructor/constructor_no_visibility_050.sol @@ -0,0 +1,4 @@ +pragma experimental "v0.5.0"; +contract A { constructor() {} } +// ---- +// SyntaxError: (43-59): No visibility specified. diff --git a/test/libsolidity/syntaxTests/constructor/overriding_constructor.sol b/test/libsolidity/syntaxTests/constructor/overriding_constructor.sol index 3290a33b..5fb3a189 100644 --- a/test/libsolidity/syntaxTests/constructor/overriding_constructor.sol +++ b/test/libsolidity/syntaxTests/constructor/overriding_constructor.sol @@ -1,6 +1,10 @@ -// It is fine to "override" constructor of a base class since it is invisible -contract A { function A() public { } } +contract A { constructor() public {} } contract B is A { function A() public pure returns (uint8) {} } +contract C is A { function A() public pure returns (uint8) {} } +contract D is B { function B() public pure returns (uint8) {} } +contract E is D { function B() public pure returns (uint8) {} } // ---- -// Warning: (91-114): Defining constructors as functions with the same name as the contract is deprecated. Use "constructor(...) { ... }" instead. -// Warning: (135-178): This declaration shadows an existing declaration. +// Warning: (57-100): This declaration shadows an existing declaration. +// Warning: (121-164): This declaration shadows an existing declaration. +// Warning: (185-228): This declaration shadows an existing declaration. +// Warning: (249-292): This declaration shadows an existing declaration. |