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

Side by Side Diff: dart/sdk/lib/core/load_async.dart

Issue 11784018: Skeleton API for lazy library loading. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 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
(Empty)
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file.
4
5 /**
6 * Indicates that loading of [libraryName] is deferred.
7 *
8 * Applies to library imports.
9 *
10 * Example usage:
11 *
12 * [:
13 * @DeferLoad('com.example.foo')
14 * import 'foo.dart' as foo;
15 *
16 * void main() {
17 * foo.method(); // Warning: foo may not have been loaded.
18 * load('com.example.foo').then(onFooLoaded);
19 * }
20 *
21 * @OnLibraryLoaded('com.example.foo')
kasperl 2013/01/07 12:18:07 Maybe this would be better as WhenLibraryLoaded be
Sean Eagan 2013/01/14 15:57:52 Could the libraryName possibly default to the name
ahe 2013/01/14 16:17:37 It is the name of the library, not the prefix. Thi
22 * void onFooLoaded(_) {
23 * foo.method(); // No warning.
24 * }
25 * :]
26 */
gbracha 2013/01/07 17:40:15 1. The behavior of this annotation should be prope
27 class DeferLoad {
28 final String libraryName;
29
30 const DeferLoad(this.libraryName);
31 }
32
33 /**
34 * Indicates that an element is not called until [libraryName] has
35 * been loaded.
36 *
37 * Applies to library declarations, classes, and functions.
38 */
gbracha 2013/01/07 17:40:15 1. The comment says nothing about the semantics of
ahe 2013/01/08 07:19:48 I agree. What do you suggest we do instead?
39 class OnLibraryLoaded {
40 final String libraryName;
41
42 const OnLibraryLoaded(this.libraryName);
43 }
44
45 /**
46 * Ensure that [libraryName] has been loaded.
47 *
48 * The returned future if this invocation of [load] caused the library
floitsch 2013/02/18 13:22:35 Comment seems incomplete.
49 * to be loaded.
50 */
51 external Future<bool> load(String libraryName, {String uri});
Sean Eagan 2013/01/14 15:57:52 Does this Future throw some sort of error, e.g. Li
ahe 2013/01/14 16:17:37 Yes.
floitsch 2013/02/18 13:22:35 a top-level "load" sounds dangerous to me.
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