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

Side by Side Diff: initialize/lib/initialize.dart

Issue 1400473008: Roll Observatory packages and add a roll script (Closed) Base URL: git@github.com:dart-lang/observatory_pub_packages.git@master
Patch Set: Created 5 years, 2 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
« no previous file with comments | « initialize/lib/build/loader_replacer.dart ('k') | initialize/lib/src/init_method.dart » ('j') | 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) 2015, 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 library initialize;
5
6 // The `loader_replacer` transformer will replace this with a static_loader.
7 import 'src/mirror_loader.dart' as loader;
8 import 'dart:async';
9 import 'dart:collection';
10
11 part 'src/init_method.dart';
12 part 'src/initializer.dart';
13
14 /// Top level function which crawls the dependency graph and runs initializers.
15 /// If [typeFilter] and/or [customFilter] are supplied then only those types of
16 /// annotations will be parsed. If both filters are supplied they are treated
17 /// as an AND.
18 ///
19 /// If [from] is supplied then initializers will be found starting from the
20 /// library at the supplied uri.
21 ///
22 /// **Warning**: Do not use [from] directly in your code unless you are building
23 /// a framework that will use a transformer to remove this argument later. This
24 /// parameter is supported in Dartium, but [run] will throw if you use the
25 /// argument after building an application with `pub build` or `pub serve`.
26 Future run({List<Type> typeFilter, InitializerFilter customFilter, Uri from}) {
27 return _runInitQueue(loader.loadInitializers(
28 typeFilter: typeFilter, customFilter: customFilter, from: from));
29 }
30
31 Future _runInitQueue(Queue<Function> initializers) {
32 if (initializers.isEmpty) return new Future.value(null);
33
34 var initializer = initializers.removeFirst();
35 var val = initializer();
36 if (val is! Future) val = new Future.value(val);
37
38 return val.then((_) => _runInitQueue(initializers));
39 }
OLDNEW
« no previous file with comments | « initialize/lib/build/loader_replacer.dart ('k') | initialize/lib/src/init_method.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698