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

Unified Diff: sdk/lib/_internal/compiler/implementation/compiler.dart

Issue 13133006: Check for cyclic type variable bounds. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Rebased + pull in PostProcess code. Created 7 years, 8 months 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
« no previous file with comments | « no previous file | sdk/lib/_internal/compiler/implementation/dart_types.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sdk/lib/_internal/compiler/implementation/compiler.dart
diff --git a/sdk/lib/_internal/compiler/implementation/compiler.dart b/sdk/lib/_internal/compiler/implementation/compiler.dart
index 4270b83fd81f09f391d8b53eae757376e32d1f70..2f7fa15cfd890927c8f852c94ff30118abd6b629 100644
--- a/sdk/lib/_internal/compiler/implementation/compiler.dart
+++ b/sdk/lib/_internal/compiler/implementation/compiler.dart
@@ -85,6 +85,15 @@ class CodegenWorkItem extends WorkItem {
}
}
+typedef void PostProcessAction();
+
+class PostProcessTask {
+ final Element element;
+ final PostProcessAction action;
+
+ PostProcessTask(this.element, this.action);
+}
+
class ReadingFilesTask extends CompilerTask {
ReadingFilesTask(Compiler compiler) : super(compiler);
String get name => 'Reading input files';
@@ -835,6 +844,9 @@ abstract class Compiler implements DiagnosticListener {
withCurrentElement(work.element, () => work.run(this, world));
});
world.queueIsClosed = true;
+ world.forEachPostProcessTask((PostProcessTask work) {
+ withCurrentElement(work.element, () => work.action());
+ });
if (compilationFailed) return;
assert(world.checkNoEnqueuedInvokedInstanceMethods());
if (DUMP_INFERRED_TYPES && phase == PHASE_COMPILING) {
« no previous file with comments | « no previous file | sdk/lib/_internal/compiler/implementation/dart_types.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698