Index: pkg/compiler/lib/src/kernel/kernel_strategy.dart |
diff --git a/pkg/compiler/lib/src/kernel/kernel_strategy.dart b/pkg/compiler/lib/src/kernel/kernel_strategy.dart |
index e7fa21ec430233540b9e5264e70c7871e53d03f5..842b3e331d653fece8ebd4932ea39353f8087775 100644 |
--- a/pkg/compiler/lib/src/kernel/kernel_strategy.dart |
+++ b/pkg/compiler/lib/src/kernel/kernel_strategy.dart |
@@ -9,7 +9,7 @@ import '../backend_strategy.dart'; |
import '../common.dart'; |
import '../common_elements.dart'; |
import '../common/backend_api.dart'; |
-import '../common/codegen.dart' show CodegenWorkItem; |
+import '../common/codegen.dart' show CodegenRegistry, CodegenWorkItem; |
import '../common/resolution.dart'; |
import '../common/tasks.dart'; |
import '../common/work.dart'; |
@@ -231,7 +231,8 @@ class MirrorsResolutionAnalysisImpl implements MirrorsResolutionAnalysis { |
@override |
MirrorsCodegenAnalysis close() { |
- throw new UnimplementedError('MirrorsResolutionAnalysisImpl.close'); |
+ // TODO(johnniwinther): Implement this. |
+ return new MirrorsCodegenAnalysisImpl(); |
} |
@override |
@@ -255,7 +256,6 @@ class KernelBackendStrategy implements BackendStrategy { |
void convertClosures(ClosedWorldRefiner closedWorldRefiner) { |
// TODO(johnniwinther,efortuna): Compute closure classes for kernel based |
// elements. |
- throw new UnimplementedError('KernelBackendStrategy.createClosureClasses'); |
} |
@override |
@@ -273,9 +273,35 @@ class KernelBackendStrategy implements BackendStrategy { |
} |
} |
+class MirrorsCodegenAnalysisImpl implements MirrorsCodegenAnalysis { |
+ @override |
+ int get preMirrorsMethodCount { |
+ throw new UnimplementedError( |
+ 'MirrorsCodegenAnalysisImpl.preMirrorsMethodCount'); |
+ } |
+ |
+ @override |
+ void onQueueEmpty(Enqueuer enqueuer, Iterable<ClassEntity> recentClasses) { |
+ throw new UnimplementedError('MirrorsCodegenAnalysisImpl.onQueueEmpty'); |
+ } |
+} |
+ |
class KernelCodegenWorkItemBuilder implements WorkItemBuilder { |
@override |
CodegenWorkItem createWorkItem(MemberEntity entity) { |
- throw new UnimplementedError('KernelCodegenWorkItemBuilder.createWorkItem'); |
+ return new KernelCodegenWorkItem(entity); |
+ } |
+} |
+ |
+class KernelCodegenWorkItem extends CodegenWorkItem { |
+ final MemberEntity element; |
+ final CodegenRegistry registry; |
+ |
+ KernelCodegenWorkItem(this.element) : registry = new CodegenRegistry(element); |
+ |
+ @override |
+ WorldImpact run() { |
+ // TODO(johnniwinther): Build SSA graph from kernel and run codegen on it. |
+ return const WorldImpact(); |
} |
} |