commit | 47f09a619ea90f1711a42c7dadbda6a67ebd63b5 | [log] [tgz] |
---|---|---|
author | Peter von der Ahé <ahe@google.com> | Wed Apr 04 16:08:57 2018 +0000 |
committer | commit-bot@chromium.org <commit-bot@chromium.org> | Wed Apr 04 16:08:57 2018 +0000 |
tree | 868b5b1716e73c36fa1e44b8e2772ff8ee6fcbfe | |
parent | 4bcf8ad411bd90da16d44ad399bf350e8423eac9 [diff] |
Redesign LibraryPart Before, the part-URI was serialized as a file-URI and conflated with source location information. The part-URI is the URI in the following declaration in a Dart source file: part "URI"; This is different from what we normally call a file-URI. A file URI is used to point to the source location of the part declaration, not the URI in the part declaration. Furthermore, the field was serialized using writeUriReference which only works for URIs that are in the uriToSource map on a Component. Although this might seem like a safe optimization, it doesn't work if the uriToSource map is omitted or if a part declaration refers to a missing file. Finally, due to the confusing use of fileUri, LibraryPart was mistakenly implementing FileUriNode and annotations were stripped of source locations if the source for the part were omitted from uriToSource. The partUri field is now an unresolved string that can be resolved against either the parent library's import- or file-URI to obtain either version as needed. Change-Id: I255cb4eeaf89928292ab32a2f6be9ead6cc8cee1 Reviewed-on: https://dart-review.googlesource.com/49500 Commit-Queue: Peter von der Ahé <ahe@google.com> Reviewed-by: Jens Johansen <jensj@google.com>
Dart is an open-source, scalable programming language, with robust libraries and runtimes, for building web, server, and mobile apps.
Visit the dartlang.org to learn more about the language, tools, getting started, and more.
Browse pub.dartlang.org for more packages and libraries contributed by the community and the Dart team.
If you want to build Dart yourself, here is a guide to getting the source, preparing your machine to build the SDK, and building.
There are more documents on our wiki.
The easiest way to contribute to Dart is to file issues.
You can also contribute patches, as described in Contributing.