diff --git a/specification/dartLangSpec.tex b/specification/dartLangSpec.tex index cf10682fa..b598a8bdf 100644 --- a/specification/dartLangSpec.tex +++ b/specification/dartLangSpec.tex @@ -41,6 +41,11 @@ % version of the language which will actually be specified by the next stable % release of this document. % +% Oct 2025 +% - Simplify the member declaration grammar by using a single `memberDeclaration` +% to derive all kinds of member declarations (for a class, a mixin, etc), +% rather than having a dedicated `classMemberDeclaration`. +% % Sep 2025 % - Remove the rules about DartDoc comments. This topic is now handled by each % of the tools that process those comments in any way. @@ -2831,12 +2836,12 @@ \section{Classes} ::= \ABSTRACT? \CLASS{} ? \gnewline{} ? ? - \gnewline{} `{' ( )* `}' + \gnewline{} `{' ( )* `}' \alt \ABSTRACT? \CLASS{} ::= (`,' )* - ::= `;' + ::= `;' \alt ::= ? @@ -2879,6 +2884,8 @@ \section{Classes} \LMHash{}% A class has constructors, instance members and static members. +The members are declared by +\IndexCustom{member declarations}{member declaration}. The \IndexCustom{instance members}{members!instance} of a class are its instance methods, getters, setters and instance variables. The \IndexCustom{static members}{members!static} of a class @@ -5963,7 +5970,7 @@ \subsection{Mixin Declaration} \LMHash{}% A mixin defines zero or more -\IndexCustom{mixin member declarations}{mixin!member declaration}, +\IndexCustom{member declarations}{member declaration}, zero or more \IndexCustom{required superinterfaces}{mixin!required superinterface}, one @@ -5994,7 +6001,7 @@ \subsection{Mixin Declaration} \begin{grammar} ::= \MIXIN{} ? \gnewline{} (\ON{} )? ? - \gnewline{} `\{' ( )* `\}' + \gnewline{} `\{' ( )* `\}' \end{grammar} \LMHash{}% @@ -6081,7 +6088,7 @@ \subsection{Mixin Declaration} with the \NoIndex{required superinterface}s $T_1$, \ldots, $T_n$, the \NoIndex{combined superinterface} $M_S$, \NoIndex{implemented interface}s $I_1$, \ldots, $I_k$ -and the instance members declared in $M$ as \Index{mixin member declarations}. +and the instance members declared in $M$ as \Index{member declarations}. \subsection{Mixin Application} @@ -6095,7 +6102,7 @@ \subsection{Mixin Application} $M$ be a mixin with \NoIndex{required superinterface}s $T_1$, \ldots, $T_n$, \NoIndex{combined superinterface} $M_S$, \NoIndex{implemented interfaces} $I_1$, \ldots, $I_k$ and -\metavar{members} as \NoIndex{mixin member declarations}, +\metavar{members} as \NoIndex{member declarations}, and let $N$ be a name. \LMHash{}% @@ -6224,7 +6231,7 @@ \section{Extensions} \begin{grammar} ::= \gnewline{} \EXTENSION{} ? ? \ON{} - \gnewline{} `\{' ( )* `\}' + \gnewline{} `\{' ( )* `\}' \end{grammar} \LMHash{}%