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

Side by Side Diff: tests/compiler/dart2js/compiler_helper.dart

Issue 2531303002: Decouple WorkItem from Compiler (Closed)
Patch Set: Created 4 years 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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 compiler_helper; 5 library compiler_helper;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 import "package:expect/expect.dart"; 8 import "package:expect/expect.dart";
9 9
10 import 'package:compiler/src/elements/elements.dart' as lego; 10 import 'package:compiler/src/elements/elements.dart' as lego;
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
70 await compiler.init(); 70 await compiler.init();
71 compiler.parseScript(code); 71 compiler.parseScript(code);
72 lego.Element element = compiler.mainApp.find(entry); 72 lego.Element element = compiler.mainApp.find(entry);
73 if (element == null) return null; 73 if (element == null) return null;
74 compiler.phase = Compiler.PHASE_RESOLVING; 74 compiler.phase = Compiler.PHASE_RESOLVING;
75 compiler.enqueuer.resolution 75 compiler.enqueuer.resolution
76 .applyImpact(compiler.backend.computeHelpersImpact()); 76 .applyImpact(compiler.backend.computeHelpersImpact());
77 compiler.processQueue(compiler.enqueuer.resolution, element); 77 compiler.processQueue(compiler.enqueuer.resolution, element);
78 compiler.openWorld.closeWorld(compiler.reporter); 78 compiler.openWorld.closeWorld(compiler.reporter);
79 compiler.backend.onResolutionComplete(); 79 compiler.backend.onResolutionComplete();
80 ResolutionWorkItem resolutionWork = new ResolutionWorkItem(element); 80 ResolutionWorkItem resolutionWork =
81 resolutionWork.run(compiler, compiler.enqueuer.resolution); 81 new ResolutionWorkItem(compiler.resolution, element);
82 CodegenWorkItem work = new CodegenWorkItem(compiler, element); 82 resolutionWork.run();
83 CodegenWorkItem work = new CodegenWorkItem(compiler.backend, element);
83 compiler.phase = Compiler.PHASE_COMPILING; 84 compiler.phase = Compiler.PHASE_COMPILING;
84 work.run(compiler, compiler.enqueuer.codegen); 85 work.run();
85 js.JavaScriptBackend backend = compiler.backend; 86 js.JavaScriptBackend backend = compiler.backend;
86 String generated = backend.getGeneratedCode(element); 87 String generated = backend.getGeneratedCode(element);
87 if (check != null) { 88 if (check != null) {
88 check(generated); 89 check(generated);
89 } 90 }
90 return returnAll ? outputCollector.getOutput('', 'js') : generated; 91 return returnAll ? outputCollector.getOutput('', 'js') : generated;
91 } else { 92 } else {
92 List<String> options = <String>[Flags.disableTypeInference]; 93 List<String> options = <String>[Flags.disableTypeInference];
93 if (enableTypeAssertions) { 94 if (enableTypeAssertions) {
94 options.add(Flags.enableCheckedMode); 95 options.add(Flags.enableCheckedMode);
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after
281 regexp = regexp.replaceAll(xRe, '(?:$anyIdentifier)'); 282 regexp = regexp.replaceAll(xRe, '(?:$anyIdentifier)');
282 final spaceRe = new RegExp('\\s+'); 283 final spaceRe = new RegExp('\\s+');
283 regexp = regexp.replaceAll(spaceRe, '(?:\\s*)'); 284 regexp = regexp.replaceAll(spaceRe, '(?:\\s*)');
284 if (shouldMatch) { 285 if (shouldMatch) {
285 Expect.isTrue(new RegExp(regexp).hasMatch(generated)); 286 Expect.isTrue(new RegExp(regexp).hasMatch(generated));
286 } else { 287 } else {
287 Expect.isFalse(new RegExp(regexp).hasMatch(generated)); 288 Expect.isFalse(new RegExp(regexp).hasMatch(generated));
288 } 289 }
289 }); 290 });
290 } 291 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698