OLD | NEW |
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 | 7 |
8 import 'vm.dart'; | 8 import 'vm.dart'; |
9 import 'vmcc.dart'; | 9 import 'vmcc.dart'; |
10 import 'flutter.dart'; | 10 import 'flutter.dart'; |
11 | 11 |
12 final List<String> targetNames = targets.keys.toList(); | 12 final List<String> targetNames = targets.keys.toList(); |
13 | 13 |
14 class TargetFlags { | 14 class TargetFlags { |
15 bool strongMode; | 15 bool strongMode; |
16 TargetFlags({this.strongMode: false}); | 16 bool treeShake; |
| 17 |
| 18 TargetFlags({this.strongMode: false, this.treeShake: false}); |
17 } | 19 } |
18 | 20 |
19 typedef Target _TargetBuilder(TargetFlags flags); | 21 typedef Target _TargetBuilder(TargetFlags flags); |
20 | 22 |
21 final Map<String, _TargetBuilder> targets = <String, _TargetBuilder>{ | 23 final Map<String, _TargetBuilder> targets = <String, _TargetBuilder>{ |
22 'none': (TargetFlags flags) => new NoneTarget(flags), | 24 'none': (TargetFlags flags) => new NoneTarget(flags), |
23 'vm': (TargetFlags flags) => new VmTarget(flags), | 25 'vm': (TargetFlags flags) => new VmTarget(flags), |
24 'vmcc': (TargetFlags flags) => new VmClosureConvertedTarget(flags), | 26 'vmcc': (TargetFlags flags) => new VmClosureConvertedTarget(flags), |
25 'flutter': (TargetFlags flags) => new FlutterTarget(flags), | 27 'flutter': (TargetFlags flags) => new FlutterTarget(flags), |
26 }; | 28 }; |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
60 class NoneTarget extends Target { | 62 class NoneTarget extends Target { |
61 final TargetFlags flags; | 63 final TargetFlags flags; |
62 | 64 |
63 NoneTarget(this.flags); | 65 NoneTarget(this.flags); |
64 | 66 |
65 bool get strongMode => flags.strongMode; | 67 bool get strongMode => flags.strongMode; |
66 String get name => 'none'; | 68 String get name => 'none'; |
67 List<String> get extraRequiredLibraries => <String>[]; | 69 List<String> get extraRequiredLibraries => <String>[]; |
68 void transformProgram(Program program) {} | 70 void transformProgram(Program program) {} |
69 } | 71 } |
OLD | NEW |