Chromium Code Reviews| Index: docs/language/dartLangSpec.tex |
| diff --git a/docs/language/dartLangSpec.tex b/docs/language/dartLangSpec.tex |
| index 4e37d5dc799d6982466ca5651ff04395e839e2b6..d9c3df16d6a78428a308b91ae7d3e33be02cdad1 100644 |
| --- a/docs/language/dartLangSpec.tex |
| +++ b/docs/language/dartLangSpec.tex |
| @@ -6900,22 +6900,32 @@ A {\em part directive} specifies a URI where a Dart compilation unit that should |
| \begin{grammar} |
| {\bf partDirective:} |
| - metadata \PART{} uri `{\escapegrammar ;}' |
| + metadata \PART{} uri `{\escapegrammar ;}' |
| . |
| {\bf partHeader:} |
| - metadata \PART{} \OF{} identifier (`{\escapegrammar .}' identifier)* `{\escapegrammar ;}' |
| + metadata \PART{} \OF{} libraryDesignator `{\escapegrammar ;}' |
| . |
| + |
| +{\bf libraryDesignator:} |
| + identifier (`{\escapegrammar .}' identifier)*; |
| + uri |
| + . |
| + |
| {\bf partDeclaration:} |
| partHeader topLevelDefinition* EOF |
| . |
| \end{grammar} |
| \LMHash{} |
| -A {\em part header} begins with \PART{} \OF{} followed by the name of the library the part belongs to. A part declaration consists of a part header followed by a sequence of top-level declarations. |
| +A {\em part header} begins with \code{\PART{} \OF{}} followed by the name or URI of the library the part belongs to. |
| +A part declaration consists of a part header followed by a sequence of top-level declarations. |
| \LMHash{} |
| -Compiling a part directive of the form \code{\PART{} $s$;} causes the Dart system to attempt to compile the contents of the URI that is the value of $s$. The top-level declarations at that URI are then compiled by the Dart compiler in the scope of the current library. It is a compile-time error if the contents of the URI are not a valid part declaration. It is a static warning if the referenced part declaration $p$ names a library other than the current library as the library to which $p$ belongs. |
| +Compiling a part directive of the form \code{\PART{} $s$;} causes the Dart system to attempt to compile the contents of the URI that is the value of $s$. |
| +The top-level declarations at that URI are then compiled by the Dart compiler in the scope of the current library. |
| +It is a compile-time error if the contents of the URI are not a valid part declaration. |
| +It is a static warning if the referenced part declaration $p$ has a library name or URI different from the name or URI of the current library. |
| \LMHash{} |
| It's a compile-time error if the same library contains two part directives with the same URI. |
| @@ -6987,7 +6997,7 @@ The intent is that, during development, Dart programmers can rely on a package m |
| } |
| \LMHash{} |
| -Otherwise, any relative URI is interpreted as relative to the location of the current library. All further interpretation of URIs is implementation dependent. |
| +Otherwise, any relative URI reference is interpreted as relative to the location of the current library. All further interpretation of URIs is implementation dependent. |
|
eernst
2016/11/11 10:37:42
I cannot find any other occurrences of `URI refere
Lasse Reichstein Nielsen
2016/11/18 09:50:24
Because a URI cannot be relative, but a URI refere
eernst
2016/11/18 13:12:06
Wow! - acknowledged.
|
| \commentary{This means it is dependent on the embedder.} |