OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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 | 4 |
5 library dart2js.test.message_kind_helper; | 5 library dart2js.test.message_kind_helper; |
6 | 6 |
7 import 'package:expect/expect.dart'; | 7 import 'package:expect/expect.dart'; |
8 import 'dart:async'; | 8 import 'dart:async'; |
9 | 9 |
| 10 import 'package:compiler/src/commandline_options.dart'; |
10 import 'package:compiler/src/compiler.dart' show | 11 import 'package:compiler/src/compiler.dart' show |
11 Compiler; | 12 Compiler; |
12 import 'package:compiler/src/dart_backend/dart_backend.dart' show | 13 import 'package:compiler/src/dart_backend/dart_backend.dart' show |
13 DartBackend; | 14 DartBackend; |
14 import 'package:compiler/src/diagnostics/messages.dart' show | 15 import 'package:compiler/src/diagnostics/messages.dart' show |
15 MessageKind, | 16 MessageKind, |
16 MessageTemplate; | 17 MessageTemplate; |
17 import 'package:compiler/src/old_to_new_api.dart' show | 18 import 'package:compiler/src/old_to_new_api.dart' show |
18 LegacyCompilerDiagnostics; | 19 LegacyCompilerDiagnostics; |
19 | 20 |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
77 | 78 |
78 bool oldBackendIsDart; | 79 bool oldBackendIsDart; |
79 if (cachedCompiler != null) { | 80 if (cachedCompiler != null) { |
80 oldBackendIsDart = cachedCompiler.backend is DartBackend; | 81 oldBackendIsDart = cachedCompiler.backend is DartBackend; |
81 } | 82 } |
82 bool newBackendIsDart = template.options.contains('--output-type=dart'); | 83 bool newBackendIsDart = template.options.contains('--output-type=dart'); |
83 | 84 |
84 Compiler compiler = compilerFor( | 85 Compiler compiler = compilerFor( |
85 memorySourceFiles: example, | 86 memorySourceFiles: example, |
86 diagnosticHandler: new LegacyCompilerDiagnostics(collect), | 87 diagnosticHandler: new LegacyCompilerDiagnostics(collect), |
87 options: ['--analyze-only', | 88 options: [Flags.analyzeOnly, |
88 '--enable-experimental-mirrors']..addAll(template.options), | 89 Flags.enableExperimentalMirrors]..addAll(template.options), |
89 cachedCompiler: | 90 cachedCompiler: |
90 // TODO(johnniwinther): Remove this restriction when constant | 91 // TODO(johnniwinther): Remove this restriction when constant |
91 // values can be computed directly from the expressions. | 92 // values can be computed directly from the expressions. |
92 oldBackendIsDart == newBackendIsDart ? cachedCompiler : null); | 93 oldBackendIsDart == newBackendIsDart ? cachedCompiler : null); |
93 | 94 |
94 return compiler.run(Uri.parse('memory:main.dart')).then((_) { | 95 return compiler.run(Uri.parse('memory:main.dart')).then((_) { |
95 | 96 |
96 Expect.isFalse(messages.isEmpty, 'No messages in """$example"""'); | 97 Expect.isFalse(messages.isEmpty, 'No messages in """$example"""'); |
97 | 98 |
98 String expectedText = !template.hasHowToFix | 99 String expectedText = !template.hasHowToFix |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
142 kindsWithPendingClasses.contains(template)); | 143 kindsWithPendingClasses.contains(template)); |
143 | 144 |
144 if (!pendingStuff) { | 145 if (!pendingStuff) { |
145 // If there is pending stuff, or the compiler was cancelled, we | 146 // If there is pending stuff, or the compiler was cancelled, we |
146 // shouldn't reuse the compiler. | 147 // shouldn't reuse the compiler. |
147 cachedCompiler = compiler; | 148 cachedCompiler = compiler; |
148 } | 149 } |
149 }); | 150 }); |
150 }).then((_) => cachedCompiler); | 151 }).then((_) => cachedCompiler); |
151 } | 152 } |
OLD | NEW |