OLD | NEW |
---|---|
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 (4th edition draft)\\ | 10 (4th edition draft)\\ |
(...skipping 1529 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1540 A superclass of $C$ cannot declare such an initializer either, because it must n ecessarily declare constant constructor as well (unless it is \code{Object}, whi ch declares no instance variables). | 1540 A superclass of $C$ cannot declare such an initializer either, because it must n ecessarily declare constant constructor as well (unless it is \code{Object}, whi ch declares no instance variables). |
1541 } | 1541 } |
1542 | 1542 |
1543 \LMHash{} | 1543 \LMHash{} |
1544 The superinitializer that appears, explicitly or implicitly, in the initializer list of a constant constructor must specify a constant constructor of the superc lass of the immediately enclosing class or a compile-time error occurs. | 1544 The superinitializer that appears, explicitly or implicitly, in the initializer list of a constant constructor must specify a constant constructor of the superc lass of the immediately enclosing class or a compile-time error occurs. |
1545 | 1545 |
1546 \LMHash{} | 1546 \LMHash{} |
1547 Any expression that appears within the initializer list of a constant constructo r must be a potentially constant expression, or a compile-time error occurs. | 1547 Any expression that appears within the initializer list of a constant constructo r must be a potentially constant expression, or a compile-time error occurs. |
1548 | 1548 |
1549 \LMHash{} | 1549 \LMHash{} |
1550 A {\em potentially constant expression} is an expression $e$ that would be a val id constant expression if all formal parameters of $e$'s immediately enclosing c onstant constructor were treated as compile-time constants that were guaranteed to evaluate to an integer, boolean or string value as required by their immediat ely enclosing superexpression. | 1550 A {\em potentially constant expression} is an expression $e$ that would be a val id constant expression if all formal parameters of $e$'s immediately enclosing c onstant constructor were treated as compile-time constants that were guaranteed to evaluate to an integer, boolean or string value as required by their immediat ely enclosing superexpression, <em>and</em> where $e$ is also a valid expression if all the formal parameters are treated as non-constant variables. |
eernst
2015/11/20 10:03:18
So, basically, you're saying that (1) is more impo
Lasse Reichstein Nielsen
2015/11/20 10:37:55
I'm saying that (1) is what we have been implement
| |
1551 | 1551 |
1552 \commentary{ | 1552 \commentary{ |
1553 Note that a parameter that is not used in a superexpression that is restricted t o certain types can be a constant of any type. For example} | 1553 Note that a parameter that is not used in a superexpression that is restricted t o certain types can be a constant of any type. For example} |
1554 | 1554 |
1555 \begin{dartCode} | 1555 \begin{dartCode} |
1556 \CLASS{} A \{ | 1556 \CLASS{} A \{ |
1557 \FINAL{} m; | 1557 \FINAL{} m; |
1558 \CONST{} A(this.m); | 1558 \CONST{} A(this.m); |
1559 \} | 1559 \} |
1560 \end{dartCode} | 1560 \end{dartCode} |
(...skipping 6306 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
7867 | 7867 |
7868 The invariant that each normative paragraph is associated with a line | 7868 The invariant that each normative paragraph is associated with a line |
7869 containing the text \LMHash{} should be maintained. Extra occurrences | 7869 containing the text \LMHash{} should be maintained. Extra occurrences |
7870 of \LMHash{} can be added if needed, e.g., in order to make | 7870 of \LMHash{} can be added if needed, e.g., in order to make |
7871 individual \item{}s in itemized lists addressable. Each \LM.. command | 7871 individual \item{}s in itemized lists addressable. Each \LM.. command |
7872 must occur on a separate line. \LMHash{} must occur immediately | 7872 must occur on a separate line. \LMHash{} must occur immediately |
7873 before the associated paragraph, and \LMLabel must occur immediately | 7873 before the associated paragraph, and \LMLabel must occur immediately |
7874 after the associated \section{}, \subsection{} etc. | 7874 after the associated \section{}, \subsection{} etc. |
7875 | 7875 |
7876 ---------------------------------------------------------------------- | 7876 ---------------------------------------------------------------------- |
OLD | NEW |