mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Add errors to grammar.
This commit is contained in:
parent
780fa1e658
commit
f787a3e7ba
@ -19,6 +19,7 @@ sourceUnit: (
|
||||
| constantVariableDeclaration
|
||||
| structDefinition
|
||||
| enumDefinition
|
||||
| errorDefinition
|
||||
)* EOF;
|
||||
|
||||
//@doc: inline
|
||||
@ -90,6 +91,7 @@ contractBodyElement:
|
||||
| enumDefinition
|
||||
| stateVariableDeclaration
|
||||
| eventDefinition
|
||||
| errorDefinition
|
||||
| usingDirective;
|
||||
//@doc:inline
|
||||
namedArgument: name=identifier Colon value=expression;
|
||||
@ -289,6 +291,18 @@ eventDefinition:
|
||||
Anonymous?
|
||||
Semicolon;
|
||||
|
||||
/**
|
||||
* Parameter of an error.
|
||||
*/
|
||||
errorParameter: type=typeName name=identifier?;
|
||||
/**
|
||||
* Definition of an error.
|
||||
*/
|
||||
errorDefinition:
|
||||
Error name=identifier
|
||||
LParen (parameters+=errorParameter (Comma parameters+=errorParameter)*)? RParen
|
||||
Semicolon;
|
||||
|
||||
/**
|
||||
* Using directive to bind library functions to types.
|
||||
* Can occur within contracts and libraries.
|
||||
@ -367,7 +381,7 @@ inlineArrayExpression: LBrack (expression ( Comma expression)* ) RBrack;
|
||||
/**
|
||||
* Besides regular non-keyword Identifiers, the 'from' keyword can also occur as identifier outside of import statements.
|
||||
*/
|
||||
identifier: Identifier | From;
|
||||
identifier: Identifier | From | Error;
|
||||
|
||||
literal: stringLiteral | numberLiteral | booleanLiteral | hexStringLiteral | unicodeStringLiteral;
|
||||
booleanLiteral: True | False;
|
||||
|
@ -29,12 +29,13 @@ Do: 'do';
|
||||
Else: 'else';
|
||||
Emit: 'emit';
|
||||
Enum: 'enum';
|
||||
Error: 'error'; // not a real keyword
|
||||
Event: 'event';
|
||||
External: 'external';
|
||||
Fallback: 'fallback';
|
||||
False: 'false';
|
||||
Fixed: 'fixed' | ('fixed' [1-9][0-9]* 'x' [1-9][0-9]*);
|
||||
From: 'from';
|
||||
From: 'from'; // not a real keyword
|
||||
/**
|
||||
* Bytes types of fixed length.
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user