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

Side by Side Diff: pkg/kernel/lib/target/targets.dart

Issue 2832353002: Add support for building patched_sdk and platform.dill for dart2js: (Closed)
Patch Set: rebase Created 3 years, 8 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
OLDNEW
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2016, 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 kernel.target.targets; 4 library kernel.target.targets;
5 5
6 import '../ast.dart'; 6 import '../ast.dart';
7 import '../core_types.dart'; 7 import '../core_types.dart';
8 import '../transformations/treeshaker.dart' show ProgramRoot; 8 import '../transformations/treeshaker.dart' show ProgramRoot;
9 import 'dart2js.dart';
9 import 'flutter.dart'; 10 import 'flutter.dart';
10 import 'vm.dart'; 11 import 'vm.dart';
11 import 'vmcc.dart'; 12 import 'vmcc.dart';
12 import 'vmreify.dart'; 13 import 'vmreify.dart';
13 14
14 final List<String> targetNames = targets.keys.toList(); 15 final List<String> targetNames = targets.keys.toList();
15 16
16 class TargetFlags { 17 class TargetFlags {
17 bool strongMode; 18 bool strongMode;
18 bool treeShake; 19 bool treeShake;
19 List<ProgramRoot> programRoots; 20 List<ProgramRoot> programRoots;
20 Uri kernelRuntime; 21 Uri kernelRuntime;
21 22
22 TargetFlags( 23 TargetFlags(
23 {this.strongMode: false, 24 {this.strongMode: false,
24 this.treeShake: false, 25 this.treeShake: false,
25 this.programRoots: const <ProgramRoot>[], 26 this.programRoots: const <ProgramRoot>[],
26 this.kernelRuntime}); 27 this.kernelRuntime});
27 } 28 }
28 29
29 typedef Target _TargetBuilder(TargetFlags flags); 30 typedef Target _TargetBuilder(TargetFlags flags);
30 31
31 final Map<String, _TargetBuilder> targets = <String, _TargetBuilder>{ 32 final Map<String, _TargetBuilder> targets = <String, _TargetBuilder>{
32 'none': (TargetFlags flags) => new NoneTarget(flags), 33 'none': (TargetFlags flags) => new NoneTarget(flags),
34 'dart2js': (TargetFlags flags) => new Dart2jsTarget(flags),
ahe 2017/04/27 11:48:31 Since targets is public, you can add this target f
Siggi Cherem (dart-lang) 2017/04/28 21:37:20 Done, actually gone :-) - I have no need to create
33 'vm': (TargetFlags flags) => new VmTarget(flags), 35 'vm': (TargetFlags flags) => new VmTarget(flags),
34 'vmcc': (TargetFlags flags) => new VmClosureConvertedTarget(flags), 36 'vmcc': (TargetFlags flags) => new VmClosureConvertedTarget(flags),
35 'vmreify': (TargetFlags flags) => new VmGenericTypesReifiedTarget(flags), 37 'vmreify': (TargetFlags flags) => new VmGenericTypesReifiedTarget(flags),
36 'flutter': (TargetFlags flags) => new FlutterTarget(flags), 38 'flutter': (TargetFlags flags) => new FlutterTarget(flags),
37 }; 39 };
38 40
39 Target getTarget(String name, TargetFlags flags) { 41 Target getTarget(String name, TargetFlags flags) {
40 var builder = targets[name]; 42 var builder = targets[name];
41 if (builder == null) return null; 43 if (builder == null) return null;
42 return builder(flags); 44 return builder(flags);
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
87 final TargetFlags flags; 89 final TargetFlags flags;
88 90
89 NoneTarget(this.flags); 91 NoneTarget(this.flags);
90 92
91 bool get strongMode => flags.strongMode; 93 bool get strongMode => flags.strongMode;
92 String get name => 'none'; 94 String get name => 'none';
93 List<String> get extraRequiredLibraries => <String>[]; 95 List<String> get extraRequiredLibraries => <String>[];
94 void performModularTransformations(Program program) {} 96 void performModularTransformations(Program program) {}
95 void performGlobalTransformations(Program program) {} 97 void performGlobalTransformations(Program program) {}
96 } 98 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698