@@ -2915,14 +2915,18 @@ \section{Classes}
2915
2915
<classDeclaration> ::=
2916
2916
\ABSTRACT? \CLASS{} <typeIdentifier> <typeParameters>?
2917
2917
\gnewline{} <superclass>? <interfaces>?
2918
- \gnewline{} `{' (<metadata> <classMemberDeclaration>)* `}'
2918
+ \gnewline{} <memberedDeclarationBody>
2919
2919
\alt \ABSTRACT? \CLASS{} <mixinApplicationClass>
2920
2920
2921
2921
<typeNotVoidList> ::= <typeNotVoid> (`,' <typeNotVoid>)*
2922
2922
2923
- <classMemberDeclaration > ::= <declaration> `;'
2923
+ <memberDeclarationNoMetadata > ::= <declaration> `;'
2924
2924
\alt <methodHeader> <functionBody>
2925
2925
2926
+ <memberDeclaration> ::= <metadata> <memberDeclarationNoMetadata>
2927
+
2928
+ <memberedDeclarationBody> ::= `{' <memberDeclaration>* `}'
2929
+
2926
2930
<methodHeader> ::= <constructorHeader> <initializers>?
2927
2931
\alt <factoryConstructorHeader>
2928
2932
\alt \STATIC? <functionHeader>
@@ -6092,7 +6096,7 @@ \subsection{Mixin Declaration}
6092
6096
\begin{grammar}
6093
6097
<mixinDeclaration> ::= \MIXIN{} <typeIdentifier> <typeParameters>?
6094
6098
\gnewline{} (\ON{} <typeNotVoidList>)? <interfaces>?
6095
- \gnewline{} `\{' (<metadata> <classMemberDeclaration>)* `\}'
6099
+ \gnewline{} <memberedDeclarationBody>
6096
6100
\end{grammar}
6097
6101
6098
6102
%% TODO(eernst): Change this paragraph if we allow factory constructors.
@@ -6369,7 +6373,7 @@ \section{Extensions}
6369
6373
\begin{grammar}
6370
6374
<extensionDeclaration> ::= \gnewline{}
6371
6375
\EXTENSION{} <typeIdentifierNotType>? <typeParameters>? \ON{} <type>
6372
- \gnewline{} `\{' (<metadata> <classMemberDeclaration>)* `\}'
6376
+ \gnewline{} <memberedDeclarationBody>
6373
6377
\end{grammar}
6374
6378
6375
6379
\LMHash{}%
@@ -22401,8 +22405,8 @@ \subsection{Static Types}
22401
22405
22402
22406
<optionalPositionalParameterTypes> ::= `[' <normalParameterTypes> `,'? `]'
22403
22407
22404
- <namedParameterTypes> ::=
22405
- `\ {' <namedParameterType> (`,' <namedParameterType>)* `,'? `\ }'
22408
+ <namedParameterTypes> ::= \gnewline{}
22409
+ `{' <namedParameterType> (`,' <namedParameterType>)* `,'? `}'
22406
22410
22407
22411
<namedParameterType> ::=
22408
22412
<metadata> \REQUIRED? <typedIdentifier>
0 commit comments