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

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

Issue 2929143002: Handle instance fields in compile_from_dill_test (Closed)
Patch Set: Cleanup Created 3 years, 6 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 79189409f6e6da1106f1439463713921b7720ef1..bf1f8b123daff1f36529a464adc6003b31a53346 100644
--- a/pkg/compiler/lib/src/kernel/kernel_backend_strategy.dart
+++ b/pkg/compiler/lib/src/kernel/kernel_backend_strategy.dart
@@ -23,6 +23,7 @@ import '../js_emitter/sorter.dart';
import '../kernel/element_map.dart';
import '../kernel/element_map_impl.dart';
import '../native/behavior.dart';
+import '../options.dart';
import '../ssa/builder_kernel.dart';
import '../ssa/nodes.dart';
import '../ssa/ssa.dart';
@@ -95,8 +96,18 @@ class KernelCodegenWorkItemBuilder implements WorkItemBuilder {
KernelCodegenWorkItemBuilder(this._backend, this._closedWorld);
+ CompilerOptions get _options => _backend.compiler.options;
+
@override
CodegenWorkItem createWorkItem(MemberEntity entity) {
+ // Codegen inlines field initializers. It only needs to generate
+ // code for checked setters.
+ if (entity.isField && entity.isInstanceMember) {
+ if (!_options.enableTypeAssertions || entity.enclosingClass.isClosure) {
+ return null;
+ }
+ }
+
return new KernelCodegenWorkItem(_backend, _closedWorld, entity);
}
}

Powered by Google App Engine
This is Rietveld 408576698