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

Side by Side Diff: docs/language/dartLangSpec.tex

Issue 843013003: Remove restrictions on scope of doc comments. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 5 years, 11 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 \documentclass{article} 1 \documentclass{article}
2 \usepackage{epsfig} 2 \usepackage{epsfig}
3 \usepackage{color} 3 \usepackage{color}
4 \usepackage{dart} 4 \usepackage{dart}
5 \usepackage{bnf} 5 \usepackage{bnf}
6 \usepackage{hyperref} 6 \usepackage{hyperref}
7 \usepackage{lmodern} 7 \usepackage{lmodern}
8 \newcommand{\code}[1]{{\sf #1}} 8 \newcommand{\code}[1]{{\sf #1}}
9 \title{Dart Programming Language Specification \\ 9 \title{Dart Programming Language Specification \\
10 {\large Version 1.9}} 10 {\large Version 1.9}}
(...skipping 3489 matching lines...) Expand 10 before | Expand all | Expand 10 after
3500 3500
3501 \LMHash{} 3501 \LMHash{}
3502 If $f$ is asynchronous then, when $f$ terminates, any open stream subscriptions associated with any asynchronous for loops (\ref{asynchronousFor-in}) or yield- each statements (\ref{yieldEach}) executing within $f$ are canceled. 3502 If $f$ is asynchronous then, when $f$ terminates, any open stream subscriptions associated with any asynchronous for loops (\ref{asynchronousFor-in}) or yield- each statements (\ref{yieldEach}) executing within $f$ are canceled.
3503 3503
3504 \rationale{Such streams may be left open by for loops that were escaped when an exception was thrown within them for example. 3504 \rationale{Such streams may be left open by for loops that were escaped when an exception was thrown within them for example.
3505 } 3505 }
3506 3506
3507 \LMHash{} 3507 \LMHash{}
3508 If $f$ is marked \SYNC* (\ref{functions}), then a fresh instance $i$ implementin g the built-in class \code{Iterable} is associated with the invocation and immed iately returned. When iteration over the iterable is started, by getting an iter ator $j$ from the iterable and calling \code{moveNext()} on it, execution of the body of $f$ will begin. When $f$ terminates, $j$ is positioned after its last e lement, so that its current value is \NULL{} and the current call to \code{moveN ext()} on $j$ returns false, as will all further calls. 3508 If $f$ is marked \SYNC* (\ref{functions}), then a fresh instance $i$ implementin g the built-in class \code{Iterable} is associated with the invocation and immed iately returned. When iteration over the iterable is started, by getting an iter ator $j$ from the iterable and calling \code{moveNext()} on it, execution of the body of $f$ will begin. When $f$ terminates, $j$ is positioned after its last e lement, so that its current value is \NULL{} and the current call to \code{moveN ext()} on $j$ returns false, as will all further calls.
3509 3509
3510 % Can we get more than one iterator from this Iterable? I'd say yes. And if so, do they restart the computation or do they iterate over previously computed resu lts. My guess is the latter.
3511 % I also assume we extend the IterableBase implementation; otherwise one can pre -compute
3512 % it all
3513
3510 \LMHash{} 3514 \LMHash{}
3511 If $f$ is synchronous and is not a generator (\ref{functions}) then execution of the body of $f$ begins immediately. When $f$ terminates the current return val ue is returned to the caller. 3515 If $f$ is synchronous and is not a generator (\ref{functions}) then execution of the body of $f$ begins immediately. When $f$ terminates the current return val ue is returned to the caller.
3512 3516
3513 3517
3514 \LMHash{} 3518 \LMHash{}
3515 Execution of $f$ terminates when the first of the following occurs: 3519 Execution of $f$ terminates when the first of the following occurs:
3516 \begin{itemize} 3520 \begin{itemize}
3517 \item An exception is thrown and not caught within the current function activati on. 3521 \item An exception is thrown and not caught within the current function activati on.
3518 \item A return statement (\ref{return}) immediately nested in the body of $f$ is executed and not intercepted in a \FINALLY{} (\ref{try}) clause. 3522 \item A return statement (\ref{return}) immediately nested in the body of $f$ is executed and not intercepted in a \FINALLY{} (\ref{try}) clause.
3519 \item The last statement of the body completes execution. 3523 \item The last statement of the body completes execution.
(...skipping 3595 matching lines...) Expand 10 before | Expand all | Expand 10 after
7115 7119
7116 \LMHash{} 7120 \LMHash{}
7117 Dart supports both single-line and multi-line comments. A {\em single line comme nt} begins with the token \code{//}. Everything between \code{//} and the end of line must be ignored by the Dart compiler unless the comment is a documentation comment. . 7121 Dart supports both single-line and multi-line comments. A {\em single line comme nt} begins with the token \code{//}. Everything between \code{//} and the end of line must be ignored by the Dart compiler unless the comment is a documentation comment. .
7118 7122
7119 \LMHash{} 7123 \LMHash{}
7120 A {\em multi-line comment} begins with the token \code{/*} and ends with the tok en \code{*/}. Everything between \code{/}* and \code{*}/ must be ignored by the Dart compiler unless the comment is a documentation comment. Comments may nest. 7124 A {\em multi-line comment} begins with the token \code{/*} and ends with the tok en \code{*/}. Everything between \code{/}* and \code{*}/ must be ignored by the Dart compiler unless the comment is a documentation comment. Comments may nest.
7121 7125
7122 \LMHash{} 7126 \LMHash{}
7123 {\em Documentation comments} are comments that begin with the tokens \code{///} or \code{/**}. Documentation comments are intended to be processed by a tool t hat produces human readable documentation. 7127 {\em Documentation comments} are comments that begin with the tokens \code{///} or \code{/**}. Documentation comments are intended to be processed by a tool t hat produces human readable documentation.
7124 7128
7125 \LMHash{}
7126 The scope of a documentation comment always excludes the imported namespace of the enclosing library. Only names declared in the enclosing library are consider ed in scope within a documentation comment.
7127 7129
7128 \LMHash{} 7130 \LMHash{}
7129 The scope of a documentation comment immediately preceding the declaration of a class $C$ is the instance scope of $C$, excluding any names introduced via the i mport namespace of the enclosing library. 7131 The scope of a documentation comment immediately preceding the declaration of a class $C$ is the instance scope of $C$.
7130 7132
7131 \LMHash{} 7133 \LMHash{}
7132 The scope of a documentation comment immediately preceding the declaration of a function $f$ is the scope in force at the very beginning of the body of $f$, excluding any names introduced via the import namespace of the enclosing library . 7134 The scope of a documentation comment immediately preceding the declaration of a function $f$ is the scope in force at the very beginning of the body of $f$.
7133 7135
7134 7136
7135 7137
7136 7138
7137 7139
7138 %\subsection{Grammar} 7140 %\subsection{Grammar}
7139 %\LMLabel{grammar} 7141 %\LMLabel{grammar}
7140 \subsection{Operator Precedence} 7142 \subsection{Operator Precedence}
7141 \LMLabel{operatorPrecedence} 7143 \LMLabel{operatorPrecedence}
7142 7144
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after
7349 7351
7350 The invariant that each normative paragraph is associated with a line 7352 The invariant that each normative paragraph is associated with a line
7351 containing the text \LMHash{} should be maintained. Extra occurrences 7353 containing the text \LMHash{} should be maintained. Extra occurrences
7352 of \LMHash{} can be added if needed, e.g., in order to make 7354 of \LMHash{} can be added if needed, e.g., in order to make
7353 individual \item{}s in itemized lists addressable. Each \LM.. command 7355 individual \item{}s in itemized lists addressable. Each \LM.. command
7354 must occur on a separate line. \LMHash{} must occur immediately 7356 must occur on a separate line. \LMHash{} must occur immediately
7355 before the associated paragraph, and \LMLabel must occur immediately 7357 before the associated paragraph, and \LMLabel must occur immediately
7356 after the associated \section{}, \subsection{} etc. 7358 after the associated \section{}, \subsection{} etc.
7357 7359
7358 ---------------------------------------------------------------------- 7360 ----------------------------------------------------------------------
OLDNEW
« 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