diff options
author | Erik Kundt <bitshift@posteo.org> | 2018-07-18 04:46:17 +0800 |
---|---|---|
committer | Erik Kundt <bitshift@posteo.org> | 2018-07-18 20:29:01 +0800 |
commit | b0b35e1e6b762d3849710054fdb2e1909f6780d9 (patch) | |
tree | 89286fe1b0d2b74aad406f2c4a3e6699c29676b3 /test/libsolidity/syntaxTests/constructor | |
parent | de6cd2425b6ea9cdf2a7b7f49cd88e4f18fa20e3 (diff) | |
download | dexon-solidity-b0b35e1e6b762d3849710054fdb2e1909f6780d9.tar dexon-solidity-b0b35e1e6b762d3849710054fdb2e1909f6780d9.tar.gz dexon-solidity-b0b35e1e6b762d3849710054fdb2e1909f6780d9.tar.bz2 dexon-solidity-b0b35e1e6b762d3849710054fdb2e1909f6780d9.tar.lz dexon-solidity-b0b35e1e6b762d3849710054fdb2e1909f6780d9.tar.xz dexon-solidity-b0b35e1e6b762d3849710054fdb2e1909f6780d9.tar.zst dexon-solidity-b0b35e1e6b762d3849710054fdb2e1909f6780d9.zip |
Adds warning if function is shadowing a contract.
Diffstat (limited to 'test/libsolidity/syntaxTests/constructor')
-rw-r--r-- | test/libsolidity/syntaxTests/constructor/constructor_old.sol | 1 | ||||
-rw-r--r-- | test/libsolidity/syntaxTests/constructor/overriding_constructor.sol | 14 |
2 files changed, 10 insertions, 5 deletions
diff --git a/test/libsolidity/syntaxTests/constructor/constructor_old.sol b/test/libsolidity/syntaxTests/constructor/constructor_old.sol index 127f9176..9ead6858 100644 --- a/test/libsolidity/syntaxTests/constructor/constructor_old.sol +++ b/test/libsolidity/syntaxTests/constructor/constructor_old.sol @@ -1,3 +1,4 @@ contract A { function A() public {} } // ---- // SyntaxError: (13-35): Functions are not allowed to have the same name as the contract. If you intend this to be a constructor, use "constructor(...) { ... }" to define it. +// Warning: (13-35): This declaration shadows an existing declaration. diff --git a/test/libsolidity/syntaxTests/constructor/overriding_constructor.sol b/test/libsolidity/syntaxTests/constructor/overriding_constructor.sol index a38d901d..30cf3bce 100644 --- a/test/libsolidity/syntaxTests/constructor/overriding_constructor.sol +++ b/test/libsolidity/syntaxTests/constructor/overriding_constructor.sol @@ -1,6 +1,10 @@ -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) {} } +contract A { function f() public {} } +contract B is A { + function A() public pure returns (uint8) {} + function g() public { + A.f(); + } +} // ---- +// 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). |