Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3504)

Unified Diff: docs/language/dartLangSpec.tex

Issue 2060163002: Add trailing commas to argument and parameter lists. (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Address comments Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: docs/language/dartLangSpec.tex
diff --git a/docs/language/dartLangSpec.tex b/docs/language/dartLangSpec.tex
index 140a8df4fafc328bc0b4fd246f9ad83805d0d7b9..0b76367151cb8dc4d241284cec129433f7401bc4 100644
--- a/docs/language/dartLangSpec.tex
+++ b/docs/language/dartLangSpec.tex
@@ -655,9 +655,11 @@ The body of a function introduces a new scope known as the function's {\em body
It is a compile-time error if a formal parameter is declared as a constant variable (\ref{variables}).
\begin{grammar}
-{\bf formalParameterList:}`(' `)';
- `(' normalFormalParameters ( `,' optionalFormalParameters)? `)';
- `(' optionalFormalParameters `)'
+{\bf formalParameterList:}
+ `(' `)';
+ `(' normalFormalParameters `,'? `)';
+ `(' normalFormalParameters `,' optionalFormalParameters `)';
+ `(' optionalFormalParameters `)'
.
%\end{grammar}
%}
@@ -673,18 +675,21 @@ It is a compile-time error if a formal parameter is declared as a constant varia
normalFormalParameter (`,' normalFormalParameter)*
.
-{\bf optionalFormalParameters:}optionalPositionalFormalParameters;
+{\bf optionalFormalParameters:}
+ optionalPositionalFormalParameters;
namedFormalParameters
.
{\bf optionalPositionalFormalParameters:}
- `[' defaultFormalParameter (`,' defaultFormalParameter)* `]'
+ `[' defaultFormalParameter (`,' defaultFormalParameter)* `,'? `]'
.
{\bf namedFormalParameters:}
- `\{' defaultNamedParameter (`,' defaultNamedParameter)* `\}'
+ `\{' defaultNamedParameter (`,' defaultNamedParameter)* `,'? `\}'
.
\end{grammar}
+Formal parameter lists allow an optional trailing comma after the last parameter ($`,'?$). A parameter list with such a trailing comma is equivalent in all ways to the same parameter list without the trailing comma. All parameter lists in this specification are shown without a trailing comma, but the rules and semantics apply equally to the corresponding parameter list with a trailing comma.
+
%Formal parameters are always \FINAL{}.
%\Q{We're awaiting some data on whether enforcing this would cause widespread pain.}
%A formal parameter is always considered to be initialized. \rationale{This is because it will always be initialized by the call - even if it is optional.}
@@ -3608,10 +3613,11 @@ Function invocation involves evaluation of the list of actual arguments to the f
\begin{grammar}
{\bf arguments:}
- `(' argumentList? `)'
+ `(' (argumentList `,'?)? `)'
.
-{\bf argumentList:}namedArgument (`,' namedArgument)*;
+{\bf argumentList:}
+ namedArgument (`,' namedArgument)*;
% expressionList ',' spreadArgument;
expressionList (`,' namedArgument)*
% spreadArgument
@@ -3622,6 +3628,8 @@ Function invocation involves evaluation of the list of actual arguments to the f
.
\end{grammar}
+Argument lists allow an optional trailing comma after the last argument ($`,'?$). An argument list with such a trailing comma is equivalent in all ways to the same parameter list without the trailing comma. All argument lists in this specification are shown without a trailing comma, but the rules and semantics apply equally to the corresponding argument list with a trailing comma.
+
\LMHash{}
Evaluation of an actual argument list of the form
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698