| Index: pkg/compiler/lib/src/js_emitter/old_emitter/class_emitter.dart
|
| diff --git a/pkg/compiler/lib/src/js_emitter/old_emitter/class_emitter.dart b/pkg/compiler/lib/src/js_emitter/old_emitter/class_emitter.dart
|
| index 1fdda0c998ac7ae872c0fc968988eacdb232764d..0de9dc06539097f9ba7530f7ae6a52d056531c8c 100644
|
| --- a/pkg/compiler/lib/src/js_emitter/old_emitter/class_emitter.dart
|
| +++ b/pkg/compiler/lib/src/js_emitter/old_emitter/class_emitter.dart
|
| @@ -482,16 +482,11 @@ class ClassEmitter extends CodeEmitterHelper {
|
| || compiler.codegenWorld.hasInvokedSetter(field, compiler.world));
|
| }
|
|
|
| + // We never access a field in a closure (a captured variable) without knowing
|
| + // that it is there. Therefore we don't need to use a getter (that will throw
|
| + // if the getter method is missing), but can always access the field directly.
|
| static bool fieldAccessNeverThrows(VariableElement field) {
|
| - return
|
| - // Exceptions for missing static and top level fields are generated at
|
| - // compile time.
|
| - field.isStatic || field.isTopLevel ||
|
| - // We never access a field in a closure (a captured variable) without
|
| - // knowing that it is there. Therefore we don't need to use a getter
|
| - // (that will throw if the getter method is missing), but can always
|
| - // access the field directly.
|
| - field is ClosureFieldElement;
|
| + return field is ClosureFieldElement;
|
| }
|
|
|
| bool canAvoidGeneratedCheckedSetter(VariableElement member) {
|
|
|