aboutsummaryrefslogtreecommitdiffstats
path: root/test/libsolidity/SolidityEndToEndTest.cpp
diff options
context:
space:
mode:
authorchriseth <chris@ethereum.org>2018-07-04 04:49:02 +0800
committerGitHub <noreply@github.com>2018-07-04 04:49:02 +0800
commit533d5d4b1cc4374decc704de8c86ad4cef6214fc (patch)
treee4b053a8c1ce438d199c53fff6a5a71dab7298dc /test/libsolidity/SolidityEndToEndTest.cpp
parent16f8c23aa01ae9472088e46224dd089153540291 (diff)
parent8747079746c1ca78dfabaca22bf1c011a342bb97 (diff)
downloaddexon-solidity-533d5d4b1cc4374decc704de8c86ad4cef6214fc.tar
dexon-solidity-533d5d4b1cc4374decc704de8c86ad4cef6214fc.tar.gz
dexon-solidity-533d5d4b1cc4374decc704de8c86ad4cef6214fc.tar.bz2
dexon-solidity-533d5d4b1cc4374decc704de8c86ad4cef6214fc.tar.lz
dexon-solidity-533d5d4b1cc4374decc704de8c86ad4cef6214fc.tar.xz
dexon-solidity-533d5d4b1cc4374decc704de8c86ad4cef6214fc.tar.zst
dexon-solidity-533d5d4b1cc4374decc704de8c86ad4cef6214fc.zip
Merge pull request #4379 from ethereum/constructorArgsTwice
Disallow constructor arguments given multiple times.
Diffstat (limited to 'test/libsolidity/SolidityEndToEndTest.cpp')
-rw-r--r--test/libsolidity/SolidityEndToEndTest.cpp28
1 files changed, 6 insertions, 22 deletions
diff --git a/test/libsolidity/SolidityEndToEndTest.cpp b/test/libsolidity/SolidityEndToEndTest.cpp
index 31842777..9e6aa43d 100644
--- a/test/libsolidity/SolidityEndToEndTest.cpp
+++ b/test/libsolidity/SolidityEndToEndTest.cpp
@@ -2783,24 +2783,6 @@ BOOST_AUTO_TEST_CASE(virtual_function_usage_in_constructor_arguments)
ABI_CHECK(callContractFunction("getA()"), encodeArgs(2));
}
-BOOST_AUTO_TEST_CASE(constructor_argument_overriding)
-{
- char const* sourceCode = R"(
- contract BaseBase {
- uint m_a;
- constructor(uint a) {
- m_a = a;
- }
- }
- contract Base is BaseBase(2) { }
- contract Derived is BaseBase(3), Base {
- function getA() returns (uint r) { return m_a; }
- }
- )";
- compileAndRun(sourceCode, 0, "Derived");
- ABI_CHECK(callContractFunction("getA()"), encodeArgs(3));
-}
-
BOOST_AUTO_TEST_CASE(internal_constructor)
{
char const* sourceCode = R"(
@@ -5521,10 +5503,10 @@ BOOST_AUTO_TEST_CASE(pass_dynamic_arguments_to_the_base_base)
uint public m_i;
}
contract Base1 is Base {
- constructor(uint k) Base(k*k) {}
+ constructor(uint k) Base(k) {}
}
contract Derived is Base, Base1 {
- constructor(uint i) Base(i) Base1(i)
+ constructor(uint i) Base1(i)
{}
}
contract Final is Derived(4) {
@@ -5544,9 +5526,11 @@ BOOST_AUTO_TEST_CASE(pass_dynamic_arguments_to_the_base_base_with_gap)
}
uint public m_i;
}
- contract Base1 is Base(3) {}
+ contract Base1 is Base {
+ constructor(uint k) {}
+ }
contract Derived is Base, Base1 {
- constructor(uint i) Base(i) {}
+ constructor(uint i) Base(i) Base1(7) {}
}
contract Final is Derived(4) {
}