Index: docs/language/dartLangSpec.tex |
=================================================================== |
--- docs/language/dartLangSpec.tex (revision 31896) |
+++ docs/language/dartLangSpec.tex (working copy) |
@@ -5,7 +5,7 @@ |
\usepackage{hyperref} |
\newcommand{\code}[1]{{\sf #1}} |
\title{Dart Programming Language Specification \\ |
-{\large Version 1.1}} |
+{\large Version 1.11}} |
\author{The Dart Team} |
\begin{document} |
\maketitle |
@@ -3114,7 +3114,7 @@ |
A function expression invocation $e_f(a_1, \ldots , a_n, x_{n+1}: a_{n+1}, \ldots , x_{n+k}: a_{n+k})$ is equivalent to $e_f.call(a_1, \ldots , a_n, x_{n+1}: a_{n+1}, \ldots , x_{n+k}: a_{n+k})$. |
\commentary{ |
-The implication of this definition, and the other definitions involving the method \code{call()}, is that user defined types can be used as function values provided they define a \code{call()} method. The method \code{call()} is special in this regard. The signature of the \code{call()} method determines the signature used when using the object via the built-in invocation syntax. |
+The implication of this definition, and the other definitions involving the method \code{call()}, is that user defined types can be used as function values provided they define a \CALL{} method. The method \CALL{} is special in this regard. The signature of the \CALL{} method determines the signature used when using the object via the built-in invocation syntax. |
} |
It is a static warning if the static type $F$ of $e_f$ may not be assigned to a function type. If $F$ is not a function type, the static type of $i$ is \DYNAMIC{}. Otherwise |
@@ -4312,16 +4312,20 @@ |
\subsubsection{For-in} |
\label{for-in} |
-A for statement of the form \code{ \FOR{} ($varOrType?$ id \IN{} $e$) $s$} is equivalent to the following code: |
+A for statement of the form \code{ \FOR{} ($finalConstVarOrType?$ id \IN{} $e$) $s$} is equivalent to the following code: |
\begin{dartCode} |
var n0 = $e$.iterator; |
\WHILE{} (n0.moveNext()) \{ |
- $varOrType?$ id = n0.current; |
+ $finalConstVarOrType?$ id = n0.current; |
$s$ |
\} |
\end{dartCode} |
where \code{n0} is an identifier that does not occur anywhere in the program. |
+ |
+\commentary{ |
+Note that in fact, using a \CONST{} variable would give rise to a compile time error since \cd{n0.current} is not a constant expression. |
+} |
\subsection{While} |
\label{while} |