Chromium Code Reviews| 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..d61e0e6e18e4ee2b001cf0b5350cc96bf4c1b88f 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 PostProcess(); |
|
ahe
2013/04/02 08:22:39
I'd call this PostProcessAction or VoidFunction.
Johnni Winther
2013/04/02 09:40:14
PostProcessAction it is.
|
| + |
| +class PostProcessing { |
|
ahe
2013/04/02 08:22:39
I'd call this PostProcessTask.
Johnni Winther
2013/04/02 09:40:14
Done.
|
| + final Element element; |
| + final PostProcess process; |
| + |
| + PostProcessing(this.element, this.process); |
| +} |
| + |
| 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.forEachPostProcessing((PostProcessing work) { |
| + withCurrentElement(work.element, () => work.process()); |
| + }); |
| if (compilationFailed) return; |
| assert(world.checkNoEnqueuedInvokedInstanceMethods()); |
| if (DUMP_INFERRED_TYPES && phase == PHASE_COMPILING) { |