Merge pull request #9326 from ethereum/eventOverwriting

[BREAKING] Disallow multiple events with same name and types.
This commit is contained in:
chriseth
2020-07-13 15:44:35 +02:00
committed by GitHub
10 changed files with 61 additions and 2 deletions
@@ -0,0 +1,8 @@
contract A {
event X();
}
contract B is A {
event X() anonymous;
}
// ----
// DeclarationError 5883: (52-72): Event with same name and parameter types defined twice.
@@ -0,0 +1,8 @@
contract A {
event X(uint);
}
contract B is A {
event X(uint indexed);
}
// ----
// DeclarationError 5883: (56-78): Event with same name and parameter types defined twice.
@@ -0,0 +1,6 @@
contract A {
event X();
}
contract B is A {
event X(uint);
}
@@ -0,0 +1,8 @@
contract A {
event X(uint);
}
contract B is A {
event X(uint);
}
// ----
// DeclarationError 5883: (56-70): Event with same name and parameter types defined twice.
@@ -0,0 +1,10 @@
contract A {
event X(uint, uint indexed);
}
contract B {
event X(uint, uint);
}
contract C is A, B {
}
// ----
// DeclarationError 5883: (65-85): Event with same name and parameter types defined twice.
@@ -0,0 +1,8 @@
contract A {
event X(uint, uint indexed);
}
contract B is A {
event X(uint, uint);
}
// ----
// DeclarationError 5883: (70-90): Event with same name and parameter types defined twice.
@@ -0,0 +1,4 @@
contract A { event X(uint); }
contract B is A {}
contract C is A {}
contract D is B, C {}
@@ -0,0 +1,5 @@
contract A {
event X();
event X(uint);
}
// ----