@@ -2907,14 +2907,18 @@ \section{Classes}
2907
2907
<classDeclaration> ::=
2908
2908
\ABSTRACT? \CLASS{} <typeIdentifier> <typeParameters>?
2909
2909
\gnewline{} <superclass>? <interfaces>?
2910
- \gnewline{} `{' (<metadata> <classMemberDeclaration>)* `}'
2910
+ \gnewline{} <memberedDeclarationBody>
2911
2911
\alt \ABSTRACT? \CLASS{} <mixinApplicationClass>
2912
2912
2913
2913
<typeNotVoidList> ::= <typeNotVoid> (`,' <typeNotVoid>)*
2914
2914
2915
- <classMemberDeclaration > ::= <declaration> `;'
2915
+ <memberDeclarationNoMetadata > ::= <declaration> `;'
2916
2916
\alt <methodHeader> <functionBody>
2917
2917
2918
+ <memberDeclaration> ::= <metadata> <memberDeclarationNoMetadata>
2919
+
2920
+ <memberedDeclarationBody> ::= `{' <memberDeclaration>* `}'
2921
+
2918
2922
<methodHeader> ::= <constructorHeader> <initializers>?
2919
2923
\alt <factoryConstructorHeader>
2920
2924
\alt \STATIC? <functionHeader>
@@ -6084,7 +6088,7 @@ \subsection{Mixin Declaration}
6084
6088
\begin{grammar}
6085
6089
<mixinDeclaration> ::= \MIXIN{} <typeIdentifier> <typeParameters>?
6086
6090
\gnewline{} (\ON{} <typeNotVoidList>)? <interfaces>?
6087
- \gnewline{} `\{' (<metadata> <classMemberDeclaration>)* `\}'
6091
+ \gnewline{} <memberedDeclarationBody>
6088
6092
\end{grammar}
6089
6093
6090
6094
%% TODO(eernst): Change this paragraph if we allow factory constructors.
@@ -6349,7 +6353,7 @@ \section{Extensions}
6349
6353
\begin{grammar}
6350
6354
<extensionDeclaration> ::= \gnewline{}
6351
6355
\EXTENSION{} <typeIdentifierNotType>? <typeParameters>? \ON{} <type>
6352
- \gnewline{} `\{' (<metadata> <classMemberDeclaration>)* `\}'
6356
+ \gnewline{} <memberedDeclarationBody>
6353
6357
\end{grammar}
6354
6358
6355
6359
\LMHash{}%
@@ -22333,8 +22337,8 @@ \subsection{Static Types}
22333
22337
22334
22338
<optionalPositionalParameterTypes> ::= `[' <normalParameterTypes> `,'? `]'
22335
22339
22336
- <namedParameterTypes> ::=
22337
- `\ {' <namedParameterType> (`,' <namedParameterType>)* `,'? `\ }'
22340
+ <namedParameterTypes> ::= \gnewline{}
22341
+ `{' <namedParameterType> (`,' <namedParameterType>)* `,'? `}'
22338
22342
22339
22343
<namedParameterType> ::=
22340
22344
<metadata> \REQUIRED? <typedIdentifier>
0 commit comments