@@ -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.
@@ -6365,7 +6369,7 @@ \section{Extensions}
6365
6369
\begin{grammar}
6366
6370
<extensionDeclaration> ::= \gnewline{}
6367
6371
\EXTENSION{} <typeIdentifierNotType>? <typeParameters>? \ON{} <type>
6368
- \gnewline{} `\{' (<metadata> <classMemberDeclaration>)* `\}'
6372
+ \gnewline{} <memberedDeclarationBody>
6369
6373
\end{grammar}
6370
6374
6371
6375
\LMHash{}%
@@ -22349,8 +22353,8 @@ \subsection{Static Types}
22349
22353
22350
22354
<optionalPositionalParameterTypes> ::= `[' <normalParameterTypes> `,'? `]'
22351
22355
22352
- <namedParameterTypes> ::=
22353
- `\ {' <namedParameterType> (`,' <namedParameterType>)* `,'? `\ }'
22356
+ <namedParameterTypes> ::= \gnewline{}
22357
+ `{' <namedParameterType> (`,' <namedParameterType>)* `,'? `}'
22354
22358
22355
22359
<namedParameterType> ::=
22356
22360
<metadata> \REQUIRED? <typedIdentifier>
0 commit comments