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
|
||||
| functionDefinition
|
||||
| modifierDefinition
|
||||
| fallbackReceiveFunctionDefinition
|
||||
| fallbackFunctionDefinition
|
||||
| receiveFunctionDefinition
|
||||
| structDefinition
|
||||
| enumDefinition
|
||||
| stateVariableDeclaration
|
||||
@ -189,9 +190,32 @@ locals[
|
||||
(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[
|
||||
boolean visibilitySet = false,
|
||||
boolean mutabilitySet = false,
|
||||
@ -199,10 +223,10 @@ locals[
|
||||
boolean overrideSpecifierSet = false
|
||||
]
|
||||
:
|
||||
kind=(Fallback | Receive) LParen RParen
|
||||
kind=Receive LParen RParen
|
||||
(
|
||||
{!$visibilitySet}? visibility {$visibilitySet = true;}
|
||||
| {!$mutabilitySet}? stateMutability {$mutabilitySet = true;}
|
||||
{!$visibilitySet}? External {$visibilitySet = true;}
|
||||
| {!$mutabilitySet}? Payable {$mutabilitySet = true;}
|
||||
| modifierInvocation
|
||||
| {!$virtualSet}? Virtual {$virtualSet = true;}
|
||||
| {!$overrideSpecifierSet}? overrideSpecifier {$overrideSpecifierSet = true;}
|
||||
|
Loading…
Reference in New Issue
Block a user