| 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 |
| 6 import 'package:async_helper/async_helper.dart'; |
| 7 import 'package:compiler/compiler_new.dart' show Diagnostic; |
| 8 import 'package:compiler/src/dart2jslib.dart'; |
| 5 import 'package:expect/expect.dart'; | 9 import 'package:expect/expect.dart'; |
| 6 import "package:async_helper/async_helper.dart"; | 10 import 'memory_compiler.dart'; |
| 7 import 'memory_source_file_helper.dart'; | |
| 8 | 11 |
| 9 import 'package:compiler/compiler.dart' | 12 void main() { |
| 10 show Diagnostic; | 13 DiagnosticCollector collector = new DiagnosticCollector(); |
| 11 | 14 Compiler compiler = compilerFor( |
| 12 main() { | 15 MEMORY_SOURCE_FILES, |
| 13 Uri script = currentDirectory.resolveUri(Platform.script); | 16 diagnosticHandler: collector, |
| 14 Uri libraryRoot = script.resolve('../../../sdk/'); | 17 options: ['--analyze-all']); |
| 15 Uri packageRoot = script.resolve('./packages/'); | |
| 16 | |
| 17 var provider = new MemorySourceFileProvider(MEMORY_SOURCE_FILES); | |
| 18 var diagnostics = []; | |
| 19 void diagnosticHandler(Uri uri, int begin, int end, | |
| 20 String message, Diagnostic kind) { | |
| 21 if (kind == Diagnostic.VERBOSE_INFO) { | |
| 22 return; | |
| 23 } | |
| 24 diagnostics.add('$uri:$begin:$end:$message:$kind'); | |
| 25 } | |
| 26 | |
| 27 Compiler compiler = new Compiler(provider.readStringFromUri, | |
| 28 (name, extension) => null, | |
| 29 diagnosticHandler, | |
| 30 libraryRoot, | |
| 31 packageRoot, | |
| 32 ['--analyze-all'], | |
| 33 {}); | |
| 34 asyncTest(() => compiler.run(Uri.parse('memory:main.dart')).then((_) { | 18 asyncTest(() => compiler.run(Uri.parse('memory:main.dart')).then((_) { |
| 19 List<String> diagnostics = <String>[]; |
| 20 collector.messages.forEach((DiagnosticMessage message) { |
| 21 if (message.kind == Diagnostic.VERBOSE_INFO) return; |
| 22 diagnostics.add(message.toString()); |
| 23 }); |
| 35 diagnostics.sort(); | 24 diagnostics.sort(); |
| 36 var expected = [ | 25 var expected = [ |
| 37 "memory:exporter.dart:43:47:'hest' is defined here.:info", | 26 "memory:exporter.dart:43:47:'hest' is defined here.:info", |
| 38 "memory:library.dart:41:45:'hest' is defined here.:info", | 27 "memory:library.dart:41:45:'hest' is defined here.:info", |
| 39 "memory:main.dart:0:22:'hest' is imported here.:info", | 28 "memory:main.dart:0:22:'hest' is imported here.:info", |
| 40 "memory:main.dart:23:46:'hest' is imported here.:info", | 29 "memory:main.dart:23:46:'hest' is imported here.:info", |
| 41 "memory:main.dart:86:92:Duplicate import of 'hest'.:warning", | 30 "memory:main.dart:86:92:Duplicate import of 'hest'.:warning", |
| 42 ]; | 31 ]; |
| 43 Expect.listEquals(expected, diagnostics); | 32 Expect.listEquals(expected, diagnostics); |
| 44 Expect.isFalse(compiler.compilationFailed); | 33 Expect.isFalse(compiler.compilationFailed); |
| (...skipping 22 matching lines...) Expand all Loading... |
| 67 hest() {} | 56 hest() {} |
| 68 """, | 57 """, |
| 69 'exporter.dart': """ | 58 'exporter.dart': """ |
| 70 library exporter; | 59 library exporter; |
| 71 | 60 |
| 72 export 'library.dart'; | 61 export 'library.dart'; |
| 73 | 62 |
| 74 hest() {} | 63 hest() {} |
| 75 """, | 64 """, |
| 76 }; | 65 }; |
| OLD | NEW |