@@ -2911,14 +2911,18 @@ \section{Classes}
2911
2911
<classDeclaration> ::=
2912
2912
\ABSTRACT? \CLASS{} <typeIdentifier> <typeParameters>?
2913
2913
\gnewline{} <superclass>? <interfaces>?
2914
- \gnewline{} `{' (<metadata> <classMemberDeclaration>)* `}'
2914
+ \gnewline{} <memberedDeclarationBody>
2915
2915
\alt \ABSTRACT? \CLASS{} <mixinApplicationClass>
2916
2916
2917
2917
<typeNotVoidList> ::= <typeNotVoid> (`,' <typeNotVoid>)*
2918
2918
2919
- <classMemberDeclaration > ::= <declaration> `;'
2919
+ <memberDeclarationNoMetadata > ::= <declaration> `;'
2920
2920
\alt <methodHeader> <functionBody>
2921
2921
2922
+ <memberDeclaration> ::= <metadata> <memberDeclarationNoMetadata>
2923
+
2924
+ <memberedDeclarationBody> ::= `{' <memberDeclaration>* `}'
2925
+
2922
2926
<methodHeader> ::= <constructorHeader> <initializers>?
2923
2927
\alt <factoryConstructorHeader>
2924
2928
\alt \STATIC? <functionHeader>
@@ -6088,7 +6092,7 @@ \subsection{Mixin Declaration}
6088
6092
\begin{grammar}
6089
6093
<mixinDeclaration> ::= \MIXIN{} <typeIdentifier> <typeParameters>?
6090
6094
\gnewline{} (\ON{} <typeNotVoidList>)? <interfaces>?
6091
- \gnewline{} `\{' (<metadata> <classMemberDeclaration>)* `\}'
6095
+ \gnewline{} <memberedDeclarationBody>
6092
6096
\end{grammar}
6093
6097
6094
6098
%% TODO(eernst): Change this paragraph if we allow factory constructors.
@@ -6353,7 +6357,7 @@ \section{Extensions}
6353
6357
\begin{grammar}
6354
6358
<extensionDeclaration> ::= \gnewline{}
6355
6359
\EXTENSION{} <typeIdentifierNotType>? <typeParameters>? \ON{} <type>
6356
- \gnewline{} `\{' (<metadata> <classMemberDeclaration>)* `\}'
6360
+ \gnewline{} <memberedDeclarationBody>
6357
6361
\end{grammar}
6358
6362
6359
6363
\LMHash{}%
@@ -22337,8 +22341,8 @@ \subsection{Static Types}
22337
22341
22338
22342
<optionalPositionalParameterTypes> ::= `[' <normalParameterTypes> `,'? `]'
22339
22343
22340
- <namedParameterTypes> ::=
22341
- `\ {' <namedParameterType> (`,' <namedParameterType>)* `,'? `\ }'
22344
+ <namedParameterTypes> ::= \gnewline{}
22345
+ `{' <namedParameterType> (`,' <namedParameterType>)* `,'? `}'
22342
22346
22343
22347
<namedParameterType> ::=
22344
22348
<metadata> \REQUIRED? <typedIdentifier>
0 commit comments