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

Unified Diff: docs/language/dartLangSpec.tex

Issue 2316483002: Adjusted grammar in spec to handle nullability token `?`.
Patch Set: Added two questionmarks that I forgot at first. Created 4 years, 3 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 c1d9e6b06ac936769a15bcd52f42dcfcd577a356..9cda514a2a457fc6e9bd996ca289ae7302ba8df7 100644
--- a/docs/language/dartLangSpec.tex
+++ b/docs/language/dartLangSpec.tex
@@ -707,7 +707,7 @@ A {\em required formal parameter} may be specified in one of three ways:
\end{itemize}
\begin{grammar}
-{\bf normalFormalParameter:}functionSignature;
+{\bf normalFormalParameter:}functionSignature `?'?;
fieldFormalParameter;
simpleFormalParameter
.
@@ -820,8 +820,20 @@ metadata \ABSTRACT{}? \CLASS{} identifier typeParameters? (superclass mixins?)?
metadata \ABSTRACT{}? \CLASS{} mixinApplicationClass
.
+{\bf classDenotation:}
+ className typeArguments?
Lasse Reichstein Nielsen 2017/05/30 10:52:30 className is equivalent to typeName, so this could
+ .
+
+{\bf className:}
+ qualified
+ .
+
+{\bf classDenotationList:}
+ classDenotation (`,$\!\!$' classDenotation)*
+ .
+
{\bf mixins:}
- \WITH{} typeList
+ \WITH{} classDenotationList
.
{\bf classMemberDefinition:}declaration `{\escapegrammar ;}' ;
@@ -1438,7 +1450,7 @@ A {\em redirecting factory constructor} specifies a call to a constructor of ano
\begin{grammar}
{\bf redirectingFactoryConstructorSignature:}
- \CONST{}? \FACTORY{} identifier (`{\escapegrammar .}' identifier)? formalParameterList `=' type (`{\escapegrammar .}' identifier)?
+ \CONST{}? \FACTORY{} identifier (`{\escapegrammar .}' identifier)? formalParameterList `=' classDenotation (`{\escapegrammar .}' identifier)?
.
\end{grammar}
@@ -1716,7 +1728,7 @@ It is a compile-time error to specify an \EXTENDS{} clause for class \code{Objec
\begin{grammar}
{\bf superclass:}
- \EXTENDS{} type
+ \EXTENDS{} classDenotation
.
\end{grammar}
@@ -1857,8 +1869,8 @@ A class has a set of direct superinterfaces. This set includes the interface of
\begin{grammar}
{\bf interfaces:}
- \IMPLEMENTS{} typeList
- .
+ \IMPLEMENTS{} classDenotationList
+ .
\end{grammar}
\LMHash{}
@@ -2046,7 +2058,7 @@ A mixin may be applied to a superclass, yielding a new class. Mixin application
identifier typeParameters? `=' mixinApplication `{\escapegrammar ;}' .
{\bf mixinApplication:}
- type mixins interfaces?
+ classDenotation mixins interfaces?
.
\end{grammar}
@@ -2364,7 +2376,7 @@ An {\em expression} is a fragment of Dart code that can be evaluated at run time
literal;
identifier;
newExpression;
- \NEW{} type `\#' (`{\escapegrammar .}' identifier)?;
+ \NEW{} classDenotation `\#' (`{\escapegrammar .}' identifier)?;
constObjectExpression;
`(' expression `)'
.
@@ -3287,8 +3299,8 @@ The {\em new expression} invokes a constructor (\ref{constructors}).
\begin{grammar}
{\bf newExpression:}
-\NEW{} type (`{\escapegrammar .}' identifier)? arguments
-.
+ \NEW{} classDenotation (`{\escapegrammar .}' identifier)? arguments
+ .
\end{grammar}
\LMHash{}
@@ -3405,8 +3417,8 @@ A {\em constant object expression} invokes a constant constructor (\ref{constant
\begin{grammar}
{\bf constObjectExpression:}
-\CONST{} type ('{\escapegrammar .}' identifier)? arguments
-.
+ \CONST{} classDenotation ('{\escapegrammar .}' identifier)? arguments
Lasse Reichstein Nielsen 2017/05/30 10:52:30 ' -> ` maybe?
+ .
\end{grammar}
\LMHash{}
@@ -7031,7 +7043,7 @@ Static type annotations are used in variable declarations (\ref{variables}) (inc
\begin{grammar}
{\bf type:}
- typeName typeArguments?
+ typeName typeArguments? `?'?
.
{\bf typeName:}
« 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