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 3692 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
3703 An unqualified function invocation $i$ has the form | 3703 An unqualified function invocation $i$ has the form |
3704 | 3704 |
3705 $id(a_1, \ldots, a_n, x_{n+1}: a_{n+1}, \ldots, x_{n+k}: a_{n+k})$, | 3705 $id(a_1, \ldots, a_n, x_{n+1}: a_{n+1}, \ldots, x_{n+k}: a_{n+k})$, |
3706 | 3706 |
3707 where $id$ is an identifier. | 3707 where $id$ is an identifier. |
3708 | 3708 |
3709 \LMHash{} | 3709 \LMHash{} |
3710 If there exists a lexically visible declaration named $id$, let $f_{id}$ be the innermost such declaration. Then: | 3710 If there exists a lexically visible declaration named $id$, let $f_{id}$ be the innermost such declaration. Then: |
3711 \begin{itemize} | 3711 \begin{itemize} |
3712 \item | 3712 \item |
3713 If $f_{id}$ is a prefix object, a compile-time error occurs. | 3713 If $f_{id}$ is a prefix object or a type literal, a compile-time error occurs. |
Lasse Reichstein Nielsen
2016/10/24 10:36:59
We could add "or type variable", but it's not as n
Lasse Reichstein Nielsen
2016/10/24 10:36:59
This case was unhandeled in the existing specifica
| |
3714 \item | 3714 \item |
3715 If $f_{id}$ is a local function, a library function, a library or static getter or a variable then $i$ is interpreted as a function expression invocation (\ref {functionExpressionInvocation}). | 3715 If $f_{id}$ is a local function, a library function, a library or static getter or a variable then $i$ is interpreted as a function expression invocation (\ref {functionExpressionInvocation}). |
3716 \item | 3716 \item |
3717 Otherwise, if $f_{id}$ is a static method of the enclosing class $C$, $i$ is equ ivalent to $C.id(a_1, \ldots , a_n, x_{n+1}: a_{n+1}, \ldots , x_{n+k}: a_{n+k}) $. | 3717 Otherwise, if $f_{id}$ is a static method of the enclosing class $C$, $i$ is equ ivalent to $C.id(a_1, \ldots , a_n, x_{n+1}: a_{n+1}, \ldots , x_{n+k}: a_{n+k}) $. |
3718 \item Otherwise, $f_{id}$ is considered equivalent to the ordinary method invoca tion $\THIS{}.id(a_1, \ldots , a_n, x_{n+1}: a_{n+1}, \ldots , x_{n+k}: a_{n+k}) $. | 3718 \item Otherwise, $f_{id}$ is considered equivalent to the ordinary method invoca tion $\THIS{}.id(a_1, \ldots , a_n, x_{n+1}: a_{n+1}, \ldots , x_{n+k}: a_{n+k}) $. |
3719 \end{itemize} | 3719 \end{itemize} |
3720 | 3720 |
3721 \LMHash{} | 3721 \LMHash{} |
3722 Otherwise, if $i$ occurs inside a top level or static function (be it function, method, getter, or setter) or variable initializer, evaluation of $i$ causes a \cd{NoSuchMethodError} to be thrown. | 3722 Otherwise, if $i$ occurs inside a top level or static function (be it function, method, getter, or setter) or variable initializer, evaluation of $i$ causes a \cd{NoSuchMethodError} to be thrown. |
3723 | 3723 |
(...skipping 4188 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
7912 | 7912 |
7913 The invariant that each normative paragraph is associated with a line | 7913 The invariant that each normative paragraph is associated with a line |
7914 containing the text \LMHash{} should be maintained. Extra occurrences | 7914 containing the text \LMHash{} should be maintained. Extra occurrences |
7915 of \LMHash{} can be added if needed, e.g., in order to make | 7915 of \LMHash{} can be added if needed, e.g., in order to make |
7916 individual \item{}s in itemized lists addressable. Each \LM.. command | 7916 individual \item{}s in itemized lists addressable. Each \LM.. command |
7917 must occur on a separate line. \LMHash{} must occur immediately | 7917 must occur on a separate line. \LMHash{} must occur immediately |
7918 before the associated paragraph, and \LMLabel must occur immediately | 7918 before the associated paragraph, and \LMLabel must occur immediately |
7919 after the associated \section{}, \subsection{} etc. | 7919 after the associated \section{}, \subsection{} etc. |
7920 | 7920 |
7921 ---------------------------------------------------------------------- | 7921 ---------------------------------------------------------------------- |
OLD | NEW |