| 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();
|
| }
|
| }
|
|
|