| Index: sdk/lib/_internal/compiler/implementation/enqueue.dart
|
| diff --git a/sdk/lib/_internal/compiler/implementation/enqueue.dart b/sdk/lib/_internal/compiler/implementation/enqueue.dart
|
| index 55895480aa5a3cc4626612e512e5aeb3ae72b918..9d0ab9b313b6811253ce85a3385f3c4fc1fe6cec 100644
|
| --- a/sdk/lib/_internal/compiler/implementation/enqueue.dart
|
| +++ b/sdk/lib/_internal/compiler/implementation/enqueue.dart
|
| @@ -120,9 +120,12 @@ abstract class Enqueuer {
|
| if (isProcessed(member)) return;
|
| if (!member.isInstanceMember()) return;
|
| if (member.isField()) {
|
| - // Native fields need to go into instanceMembersByName as they are virtual
|
| - // instantiation points and escape points.
|
| - // Test the enclosing class, since the metadata has not been parsed yet.
|
| + // Fields are implicitly used by the constructor of the
|
| + // instantiated class they are part of.
|
| + compiler.world.registerUsedElement(member);
|
| + // Native fields need to go into instanceMembersByName as they
|
| + // are virtual instantiation points and escape points. Test the
|
| + // enclosing class, since the metadata has not been parsed yet.
|
| if (!member.enclosingElement.isNative()) return;
|
| }
|
|
|
|
|