Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(389)

Unified Diff: tests/compiler/dart2js/exit_code_test.dart

Issue 2531303002: Decouple WorkItem from Compiler (Closed)
Patch Set: Updated cf. comments. Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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(
« no previous file with comments | « tests/compiler/dart2js/embedded_category_api_boundary_test.dart ('k') | tests/compiler/dart2js/kernel/closed_world_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698