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