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