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

Side by Side Diff: lib/initialize.dart

Issue 1008533003: add from option to run (Closed) Base URL: git@github.com:dart-lang/static-init.git@master
Patch Set: code review updates, remove dartium support Created 5 years, 9 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 | « CHANGELOG.md ('k') | lib/src/mirror_loader.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file 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 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. 3 // BSD-style license that can be found in the LICENSE file.
4 library initialize; 4 library initialize;
5 5
6 // The `loader_replacer` transformer will replace this with a static_loader. 6 // The `loader_replacer` transformer will replace this with a static_loader.
7 import 'src/mirror_loader.dart' as loader; 7 import 'src/mirror_loader.dart' as loader;
8 import 'dart:async'; 8 import 'dart:async';
9 import 'dart:collection'; 9 import 'dart:collection';
10 10
11 part 'src/init_method.dart'; 11 part 'src/init_method.dart';
12 part 'src/initializer.dart'; 12 part 'src/initializer.dart';
13 13
14 /// Top level function which crawls the dependency graph and runs initializers. 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 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 16 /// annotations will be parsed. If both filters are supplied they are treated
17 /// as an AND. 17 /// as an AND.
18 Future run({List<Type> typeFilter, InitializerFilter customFilter}) { 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}) {
19 return _runInitQueue(loader.loadInitializers( 27 return _runInitQueue(loader.loadInitializers(
20 typeFilter: typeFilter, customFilter: customFilter)); 28 typeFilter: typeFilter, customFilter: customFilter, from: from));
21 } 29 }
22 30
23 Future _runInitQueue(Queue<Function> initializers) { 31 Future _runInitQueue(Queue<Function> initializers) {
24 if (initializers.isEmpty) return new Future.value(null); 32 if (initializers.isEmpty) return new Future.value(null);
25 33
26 var initializer = initializers.removeFirst(); 34 var initializer = initializers.removeFirst();
27 var val = initializer(); 35 var val = initializer();
28 if (val is! Future) val = new Future.value(val); 36 if (val is! Future) val = new Future.value(val);
29 37
30 return val.then((_) => _runInitQueue(initializers)); 38 return val.then((_) => _runInitQueue(initializers));
31 } 39 }
OLDNEW
« no previous file with comments | « CHANGELOG.md ('k') | lib/src/mirror_loader.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698