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

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

Issue 2531303002: Decouple WorkItem from Compiler (Closed)
Patch Set: Updated cf. comments. 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 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
65 disableTypeInference: true, 65 disableTypeInference: true,
66 enableMinification: minify, 66 enableMinification: minify,
67 disableInlining: disableInlining, 67 disableInlining: disableInlining,
68 trustJSInteropTypeAnnotations: trustJSInteropTypeAnnotations, 68 trustJSInteropTypeAnnotations: trustJSInteropTypeAnnotations,
69 outputProvider: outputCollector); 69 outputProvider: outputCollector);
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.backend.enqueueHelpers(compiler.enqueuer.resolution); 75 compiler.enqueuer.resolution
76 .applyImpact(compiler.backend.computeHelpersImpact());
76 compiler.processQueue(compiler.enqueuer.resolution, element); 77 compiler.processQueue(compiler.enqueuer.resolution, element);
77 compiler.openWorld.closeWorld(compiler.reporter); 78 compiler.openWorld.closeWorld(compiler.reporter);
78 compiler.backend.onResolutionComplete(); 79 compiler.backend.onResolutionComplete();
79 ResolutionWorkItem resolutionWork = new ResolutionWorkItem(element); 80 ResolutionWorkItem resolutionWork =
80 resolutionWork.run(compiler, compiler.enqueuer.resolution); 81 new ResolutionWorkItem(compiler.resolution, element);
81 CodegenWorkItem work = new CodegenWorkItem(compiler, element); 82 resolutionWork.run();
83 CodegenWorkItem work = new CodegenWorkItem(compiler.backend, element);
82 compiler.phase = Compiler.PHASE_COMPILING; 84 compiler.phase = Compiler.PHASE_COMPILING;
83 work.run(compiler, compiler.enqueuer.codegen); 85 work.run();
84 js.JavaScriptBackend backend = compiler.backend; 86 js.JavaScriptBackend backend = compiler.backend;
85 String generated = backend.getGeneratedCode(element); 87 String generated = backend.getGeneratedCode(element);
86 if (check != null) { 88 if (check != null) {
87 check(generated); 89 check(generated);
88 } 90 }
89 return returnAll ? outputCollector.getOutput('', 'js') : generated; 91 return returnAll ? outputCollector.getOutput('', 'js') : generated;
90 } else { 92 } else {
91 List<String> options = <String>[Flags.disableTypeInference]; 93 List<String> options = <String>[Flags.disableTypeInference];
92 if (enableTypeAssertions) { 94 if (enableTypeAssertions) {
93 options.add(Flags.enableCheckedMode); 95 options.add(Flags.enableCheckedMode);
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after
280 regexp = regexp.replaceAll(xRe, '(?:$anyIdentifier)'); 282 regexp = regexp.replaceAll(xRe, '(?:$anyIdentifier)');
281 final spaceRe = new RegExp('\\s+'); 283 final spaceRe = new RegExp('\\s+');
282 regexp = regexp.replaceAll(spaceRe, '(?:\\s*)'); 284 regexp = regexp.replaceAll(spaceRe, '(?:\\s*)');
283 if (shouldMatch) { 285 if (shouldMatch) {
284 Expect.isTrue(new RegExp(regexp).hasMatch(generated)); 286 Expect.isTrue(new RegExp(regexp).hasMatch(generated));
285 } else { 287 } else {
286 Expect.isFalse(new RegExp(regexp).hasMatch(generated)); 288 Expect.isFalse(new RegExp(regexp).hasMatch(generated));
287 } 289 }
288 }); 290 });
289 } 291 }
OLDNEW
« no previous file with comments | « pkg/dart2js_incremental/lib/caching_compiler.dart ('k') | tests/compiler/dart2js/embedded_category_api_boundary_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698