feat: add keyword of functions

add keyword "view" for functions, to record functions that don't change contract status after execution
This commit is contained in:
Frank.R.Wu
2021-11-01 17:11:32 +08:00
parent af0637377e
commit df920d4cf1
3 changed files with 13 additions and 8 deletions

View File

@@ -147,11 +147,15 @@ AtLeastOnce: 'AT_LEAST_ONCE';
AtMostOnce: 'AT_MOST_ONCE';
OnlyOnce: 'ONLY_ONCE';
// Event Global or Local
/// Event Global or Local
Global: 'global';
Local: 'local';
/// Function Type
View: 'view';
/// Future Reserved Words
Class: 'class';

View File

@@ -63,11 +63,6 @@ clzOrFunctionDeclaration
|functionDeclaration
|eventDeclaration
;
eventSemantics
:AtLeastOnce
|AtMostOnce
|OnlyOnce
;
eventDeclaration
:Event eventGlobalOrLocal? Identifier SemiColon
|Event eventGlobalOrLocal? Identifier '(' eventSemantics? ')' SemiColon
@@ -76,6 +71,11 @@ eventGlobalOrLocal
:Global
|Local
;
eventSemantics
:AtLeastOnce
|AtMostOnce
|OnlyOnce
;
sourceElement
: statement
;
@@ -213,7 +213,7 @@ debuggerStatement
;
functionDeclaration
: annotations? Export? Function Identifier '(' formalParameterList? ')' '{' functionBody '}'
: annotations? Export? Function Identifier '(' formalParameterList? ')' View '{' functionBody '}'
;
classDeclaration