mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Grammar for fallback returning.
This commit is contained in:
parent
fda352094f
commit
bb9688e0fe
@ -84,7 +84,8 @@ contractBodyElement:
|
|||||||
constructorDefinition
|
constructorDefinition
|
||||||
| functionDefinition
|
| functionDefinition
|
||||||
| modifierDefinition
|
| modifierDefinition
|
||||||
| fallbackReceiveFunctionDefinition
|
| fallbackFunctionDefinition
|
||||||
|
| receiveFunctionDefinition
|
||||||
| structDefinition
|
| structDefinition
|
||||||
| enumDefinition
|
| enumDefinition
|
||||||
| stateVariableDeclaration
|
| stateVariableDeclaration
|
||||||
@ -189,9 +190,32 @@ locals[
|
|||||||
(Semicolon | body=block);
|
(Semicolon | body=block);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Definitions of the special fallback and receive functions.
|
* Definition of the special fallback function.
|
||||||
*/
|
*/
|
||||||
fallbackReceiveFunctionDefinition
|
fallbackFunctionDefinition
|
||||||
|
locals[
|
||||||
|
boolean visibilitySet = false,
|
||||||
|
boolean mutabilitySet = false,
|
||||||
|
boolean virtualSet = false,
|
||||||
|
boolean overrideSpecifierSet = false,
|
||||||
|
boolean hasParameters = false
|
||||||
|
]
|
||||||
|
:
|
||||||
|
kind=Fallback LParen (parameterList { $hasParameters = true; } )? RParen
|
||||||
|
(
|
||||||
|
{!$visibilitySet}? External {$visibilitySet = true;}
|
||||||
|
| {!$mutabilitySet}? stateMutability {$mutabilitySet = true;}
|
||||||
|
| modifierInvocation
|
||||||
|
| {!$virtualSet}? Virtual {$virtualSet = true;}
|
||||||
|
| {!$overrideSpecifierSet}? overrideSpecifier {$overrideSpecifierSet = true;}
|
||||||
|
)*
|
||||||
|
( {$hasParameters}? Returns LParen returnParameters=parameterList RParen | {!$hasParameters}? )
|
||||||
|
(Semicolon | body=block);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Definition of the special receive function.
|
||||||
|
*/
|
||||||
|
receiveFunctionDefinition
|
||||||
locals[
|
locals[
|
||||||
boolean visibilitySet = false,
|
boolean visibilitySet = false,
|
||||||
boolean mutabilitySet = false,
|
boolean mutabilitySet = false,
|
||||||
@ -199,10 +223,10 @@ locals[
|
|||||||
boolean overrideSpecifierSet = false
|
boolean overrideSpecifierSet = false
|
||||||
]
|
]
|
||||||
:
|
:
|
||||||
kind=(Fallback | Receive) LParen RParen
|
kind=Receive LParen RParen
|
||||||
(
|
(
|
||||||
{!$visibilitySet}? visibility {$visibilitySet = true;}
|
{!$visibilitySet}? External {$visibilitySet = true;}
|
||||||
| {!$mutabilitySet}? stateMutability {$mutabilitySet = true;}
|
| {!$mutabilitySet}? Payable {$mutabilitySet = true;}
|
||||||
| modifierInvocation
|
| modifierInvocation
|
||||||
| {!$virtualSet}? Virtual {$virtualSet = true;}
|
| {!$virtualSet}? Virtual {$virtualSet = true;}
|
||||||
| {!$overrideSpecifierSet}? overrideSpecifier {$overrideSpecifierSet = true;}
|
| {!$overrideSpecifierSet}? overrideSpecifier {$overrideSpecifierSet = true;}
|
||||||
|
Loading…
Reference in New Issue
Block a user