mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Disallow several indexed attributes for the same event parameter
This commit is contained in:
parent
c195782f96
commit
6a0ea174b8
@ -22,6 +22,7 @@ Compiler Features:
|
||||
|
||||
|
||||
Bugfixes:
|
||||
* Parser: Disallow several ``indexed`` attributes for the same event parameter.
|
||||
* Yul Optimizer: Hash hex and decimal literals according to their value instead of their representation, improving the detection of equivalent functions.
|
||||
* Solidity Upgrade Tool ``solidity-upgrade``: Fix the tool returning success code on uncaught exceptions.
|
||||
* SMTChecker: Fix display error for negative integers that are one more than powers of two.
|
||||
|
@ -785,7 +785,12 @@ ASTPointer<VariableDeclaration> Parser::parseVariableDeclaration(
|
||||
else
|
||||
{
|
||||
if (_options.allowIndexed && token == Token::Indexed)
|
||||
{
|
||||
if (isIndexed)
|
||||
parserError(5399_error, "Indexed already specified.");
|
||||
|
||||
isIndexed = true;
|
||||
}
|
||||
else if (token == Token::Constant || token == Token::Immutable)
|
||||
{
|
||||
if (mutability != VariableDeclaration::Mutability::Mutable)
|
||||
|
@ -0,0 +1,9 @@
|
||||
contract c {
|
||||
event e(uint indexed a, bytes3 indexed indexed s, bool indexed indexed indexed b);
|
||||
event e2(uint indexed indexed a, bytes3 indexed s);
|
||||
}
|
||||
// ----
|
||||
// ParserError 5399: (56-63): Indexed already specified.
|
||||
// ParserError 5399: (80-87): Indexed already specified.
|
||||
// ParserError 5399: (88-95): Indexed already specified.
|
||||
// ParserError 5399: (126-133): Indexed already specified.
|
Loading…
Reference in New Issue
Block a user