| Index: tests/compiler/dart2js/exit_code_test.dart
|
| diff --git a/tests/compiler/dart2js/exit_code_test.dart b/tests/compiler/dart2js/exit_code_test.dart
|
| index 1ca76fcb32f16ba2362fd6f437b4f849cd0ed833..8478d429ebb34d027b8e56fcc876274d8b78704a 100644
|
| --- a/tests/compiler/dart2js/exit_code_test.dart
|
| +++ b/tests/compiler/dart2js/exit_code_test.dart
|
| @@ -11,7 +11,9 @@ import 'package:async_helper/async_helper.dart';
|
| import 'package:expect/expect.dart';
|
|
|
| import 'package:compiler/compiler_new.dart' as api;
|
| +import 'package:compiler/src/common/backend_api.dart';
|
| import 'package:compiler/src/common/codegen.dart';
|
| +import 'package:compiler/src/common/resolution.dart';
|
| import 'package:compiler/src/compile_time_constants.dart';
|
| import 'package:compiler/src/compiler.dart';
|
| import 'package:compiler/src/dart2js.dart' as entry;
|
| @@ -20,8 +22,8 @@ import 'package:compiler/src/diagnostics/invariant.dart';
|
| import 'package:compiler/src/diagnostics/messages.dart';
|
| import 'package:compiler/src/diagnostics/spannable.dart';
|
| import 'package:compiler/src/apiimpl.dart' as apiimpl;
|
| -import 'package:compiler/src/enqueue.dart';
|
| import 'package:compiler/src/elements/elements.dart';
|
| +import 'package:compiler/src/js_backend/js_backend.dart';
|
| import 'package:compiler/src/library_loader.dart';
|
| import 'package:compiler/src/null_compiler_output.dart';
|
| import 'package:compiler/src/options.dart' show CompilerOptions;
|
| @@ -52,9 +54,17 @@ class TestCompiler extends apiimpl.CompilerImpl {
|
| }
|
|
|
| @override
|
| + Backend createBackend() {
|
| + return new TestBackend(this);
|
| + }
|
| +
|
| + @override
|
| ScannerTask createScannerTask() => new TestScanner(this);
|
|
|
| @override
|
| + Resolution createResolution() => new TestResolution(this);
|
| +
|
| + @override
|
| ResolverTask createResolverTask() {
|
| return new TestResolver(this, backend.constantCompilerTask);
|
| }
|
| @@ -74,16 +84,6 @@ class TestCompiler extends apiimpl.CompilerImpl {
|
| return super.onLibrariesLoaded(loadedLibraries);
|
| }
|
|
|
| - WorldImpact analyzeElement(Element element) {
|
| - test('Compiler.analyzeElement');
|
| - return super.analyzeElement(element);
|
| - }
|
| -
|
| - WorldImpact codegen(CodegenWorkItem work, Enqueuer world) {
|
| - test('Compiler.codegen');
|
| - return super.codegen(work, world);
|
| - }
|
| -
|
| test(String marker) {
|
| if (marker == testMarker) {
|
| switch (testType) {
|
| @@ -121,6 +121,23 @@ class TestCompiler extends apiimpl.CompilerImpl {
|
| }
|
| }
|
|
|
| +class TestBackend extends JavaScriptBackend {
|
| + final TestCompiler compiler;
|
| + TestBackend(TestCompiler compiler)
|
| + : this.compiler = compiler,
|
| + super(compiler,
|
| + generateSourceMap: compiler.options.generateSourceMap,
|
| + useStartupEmitter: compiler.options.useStartupEmitter,
|
| + useNewSourceInfo: compiler.options.useNewSourceInfo,
|
| + useKernel: compiler.options.useKernel);
|
| +
|
| + @override
|
| + WorldImpact codegen(CodegenWorkItem work) {
|
| + compiler.test('Compiler.codegen');
|
| + return super.codegen(work);
|
| + }
|
| +}
|
| +
|
| class TestDiagnosticReporter extends DiagnosticReporterWrapper {
|
| TestCompiler compiler;
|
| DiagnosticReporter reporter;
|
| @@ -161,6 +178,20 @@ class TestResolver extends ResolverTask {
|
| }
|
| }
|
|
|
| +class TestResolution extends CompilerResolution {
|
| + TestCompiler compiler;
|
| +
|
| + TestResolution(TestCompiler compiler)
|
| + : this.compiler = compiler,
|
| + super(compiler);
|
| +
|
| + @override
|
| + WorldImpact computeWorldImpact(Element element) {
|
| + compiler.test('Compiler.analyzeElement');
|
| + return super.computeWorldImpact(element);
|
| + }
|
| +}
|
| +
|
| int checkedResults = 0;
|
|
|
| Future testExitCode(
|
|
|