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 import '../class_hierarchy.dart'; | 7 import '../class_hierarchy.dart'; |
8 import '../core_types.dart'; | 8 import '../core_types.dart'; |
9 import '../transformations/treeshaker.dart' show ProgramRoot; | 9 import '../transformations/treeshaker.dart' show ProgramRoot; |
10 import 'flutter.dart' show FlutterTarget; | 10 import 'flutter.dart' show FlutterTarget; |
11 import 'flutter_fasta.dart' show FlutterFastaTarget; | 11 import 'flutter_fasta.dart' show FlutterFastaTarget, FlutterFastaReleaseTarget; |
12 import 'vm.dart' show VmTarget; | 12 import 'vm.dart' show VmTarget; |
13 import 'vm_fasta.dart' show VmFastaTarget; | 13 import 'vm_fasta.dart' show VmFastaTarget; |
14 import 'vmcc.dart' show VmClosureConvertedTarget; | 14 import 'vmcc.dart' show VmClosureConvertedTarget; |
15 import 'vmreify.dart' show VmGenericTypesReifiedTarget; | 15 import 'vmreify.dart' show VmGenericTypesReifiedTarget; |
16 | 16 |
17 final List<String> targetNames = targets.keys.toList(); | 17 final List<String> targetNames = targets.keys.toList(); |
18 | 18 |
19 class TargetFlags { | 19 class TargetFlags { |
20 bool strongMode; | 20 bool strongMode; |
21 bool treeShake; | 21 bool treeShake; |
(...skipping 10 matching lines...) Expand all Loading... |
32 typedef Target _TargetBuilder(TargetFlags flags); | 32 typedef Target _TargetBuilder(TargetFlags flags); |
33 | 33 |
34 final Map<String, _TargetBuilder> targets = <String, _TargetBuilder>{ | 34 final Map<String, _TargetBuilder> targets = <String, _TargetBuilder>{ |
35 'none': (TargetFlags flags) => new NoneTarget(flags), | 35 'none': (TargetFlags flags) => new NoneTarget(flags), |
36 'vm': (TargetFlags flags) => new VmTarget(flags), | 36 'vm': (TargetFlags flags) => new VmTarget(flags), |
37 'vm_fasta': (TargetFlags flags) => new VmFastaTarget(flags), | 37 'vm_fasta': (TargetFlags flags) => new VmFastaTarget(flags), |
38 'vmcc': (TargetFlags flags) => new VmClosureConvertedTarget(flags), | 38 'vmcc': (TargetFlags flags) => new VmClosureConvertedTarget(flags), |
39 'vmreify': (TargetFlags flags) => new VmGenericTypesReifiedTarget(flags), | 39 'vmreify': (TargetFlags flags) => new VmGenericTypesReifiedTarget(flags), |
40 'flutter': (TargetFlags flags) => new FlutterTarget(flags), | 40 'flutter': (TargetFlags flags) => new FlutterTarget(flags), |
41 'flutter_fasta': (TargetFlags flags) => new FlutterFastaTarget(flags), | 41 'flutter_fasta': (TargetFlags flags) => new FlutterFastaTarget(flags), |
| 42 'flutter_fasta_release': (TargetFlags flags) => |
| 43 new FlutterFastaReleaseTarget(flags), |
42 }; | 44 }; |
43 | 45 |
44 Target getTarget(String name, TargetFlags flags) { | 46 Target getTarget(String name, TargetFlags flags) { |
45 var builder = targets[name]; | 47 var builder = targets[name]; |
46 if (builder == null) return null; | 48 if (builder == null) return null; |
47 return builder(flags); | 49 return builder(flags); |
48 } | 50 } |
49 | 51 |
50 /// A target provides backend-specific options for generating kernel IR. | 52 /// A target provides backend-specific options for generating kernel IR. |
51 abstract class Target { | 53 abstract class Target { |
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
199 bool isField: false, | 201 bool isField: false, |
200 bool isLocalVariable: false, | 202 bool isLocalVariable: false, |
201 bool isDynamic: false, | 203 bool isDynamic: false, |
202 bool isSuper: false, | 204 bool isSuper: false, |
203 bool isStatic: false, | 205 bool isStatic: false, |
204 bool isConstructor: false, | 206 bool isConstructor: false, |
205 bool isTopLevel: false}) { | 207 bool isTopLevel: false}) { |
206 return new InvalidExpression(); | 208 return new InvalidExpression(); |
207 } | 209 } |
208 } | 210 } |
OLD | NEW |