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

Unified Diff: pkg/compiler/lib/src/kernel/kernel_backend_strategy.dart

Issue 2898983005: Add ClosureClassMaps super interface for ClosureTask (Closed)
Patch Set: Created 3 years, 7 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
Index: pkg/compiler/lib/src/kernel/kernel_backend_strategy.dart
diff --git a/pkg/compiler/lib/src/kernel/kernel_backend_strategy.dart b/pkg/compiler/lib/src/kernel/kernel_backend_strategy.dart
index a47e2a773735c513091c12ab29f15070bcd40025..1546c2f49343a57df4e225ab0a97bdbbbd43b72a 100644
--- a/pkg/compiler/lib/src/kernel/kernel_backend_strategy.dart
+++ b/pkg/compiler/lib/src/kernel/kernel_backend_strategy.dart
@@ -7,6 +7,7 @@ library dart2js.kernel.backend_strategy;
import 'package:kernel/ast.dart' as ir;
import '../backend_strategy.dart';
+import '../closure.dart';
import '../common/codegen.dart' show CodegenRegistry, CodegenWorkItem;
import '../common/tasks.dart';
import '../compiler.dart';
@@ -17,6 +18,7 @@ import '../js_backend/backend.dart';
import '../js_backend/native_data.dart';
import '../js_emitter/sorter.dart';
import '../kernel/element_map.dart';
+import '../kernel/element_map_impl.dart';
import '../native/behavior.dart';
import '../ssa/builder_kernel.dart';
import '../ssa/nodes.dart';
@@ -106,7 +108,7 @@ class KernelSsaBuilderTask extends CompilerTask implements SsaBuilderTask {
KernelSsaBuilderTask(this._compiler) : super(_compiler.measurer);
- KernelToElementMap get _elementMap {
+ KernelToElementMapImpl get _elementMap {
KernelFrontEndStrategy frontEndStrategy = _compiler.frontEndStrategy;
return frontEndStrategy.elementMap;
}
@@ -115,13 +117,17 @@ class KernelSsaBuilderTask extends CompilerTask implements SsaBuilderTask {
HGraph build(CodegenWorkItem work, ClosedWorld closedWorld) {
KernelSsaBuilder builder = new KernelSsaBuilder(
work.element,
+ _elementMap.getMemberRoot(work.element),
_compiler,
_elementMap,
new KernelToTypeInferenceMapImpl(closedWorld),
closedWorld,
work.registry,
+ const KernelClosureClassMaps(),
const SourceInformationBuilder(),
- null);
+ // TODO(johnniwinther): Support these:
+ null, // Function node used as capture scope id.
+ targetIsConstructorBody: false);
return builder.build();
}
}
@@ -200,3 +206,18 @@ class KernelToTypeInferenceMapImpl implements KernelToTypeInferenceMap {
return _closedWorld.commonMasks.dynamicType;
}
}
+
+/// TODO(johnniwinther,efortuna): Implement this.
+class KernelClosureClassMaps implements ClosureClassMaps {
+ const KernelClosureClassMaps();
+
+ @override
+ ClosureClassMap getLocalFunctionMap(Local localFunction) {
+ return new ClosureClassMap(null, null, null, null);
+ }
+
+ @override
+ ClosureClassMap getMemberMap(MemberEntity member) {
+ return new ClosureClassMap(null, null, null, null);
+ }
+}

Powered by Google App Engine
This is Rietveld 408576698