| OLD | NEW |
| 1 // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 part of world_builder; | 5 part of world_builder; |
| 6 | 6 |
| 7 abstract class AbstractUsage<T> { | 7 abstract class AbstractUsage<T> { |
| 8 final EnumSet<T> _pendingUse = new EnumSet<T>(); | 8 final EnumSet<T> _pendingUse = new EnumSet<T>(); |
| 9 | 9 |
| 10 AbstractUsage() { | 10 AbstractUsage() { |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 42 if (member.isAssignable) { | 42 if (member.isAssignable) { |
| 43 return new _FieldUsage(member, isNative: isNative); | 43 return new _FieldUsage(member, isNative: isNative); |
| 44 } else { | 44 } else { |
| 45 return new _FinalFieldUsage(member, isNative: isNative); | 45 return new _FinalFieldUsage(member, isNative: isNative); |
| 46 } | 46 } |
| 47 } else if (member.isGetter) { | 47 } else if (member.isGetter) { |
| 48 return new _GetterUsage(member); | 48 return new _GetterUsage(member); |
| 49 } else if (member.isSetter) { | 49 } else if (member.isSetter) { |
| 50 return new _SetterUsage(member); | 50 return new _SetterUsage(member); |
| 51 } else { | 51 } else { |
| 52 assert(member.isFunction); | 52 assert(member.isFunction, failedAt(member, "Unexpected member: $member")); |
| 53 return new _FunctionUsage(member); | 53 return new _FunctionUsage(member); |
| 54 } | 54 } |
| 55 } | 55 } |
| 56 | 56 |
| 57 /// `true` if [entity] has been read as a value. For a field this is a normal | 57 /// `true` if [entity] has been read as a value. For a field this is a normal |
| 58 /// read access, for a function this is a closurization. | 58 /// read access, for a function this is a closurization. |
| 59 bool get hasRead => false; | 59 bool get hasRead => false; |
| 60 | 60 |
| 61 /// `true` if a value has been written to [entity]. | 61 /// `true` if a value has been written to [entity]. |
| 62 bool get hasWrite => false; | 62 bool get hasWrite => false; |
| (...skipping 316 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 379 if (hasClosurization) { | 379 if (hasClosurization) { |
| 380 return MemberUses.NONE; | 380 return MemberUses.NONE; |
| 381 } | 381 } |
| 382 hasNormalUse = hasClosurization = true; | 382 hasNormalUse = hasClosurization = true; |
| 383 return _pendingUse.removeAll(MemberUses.ALL_STATIC); | 383 return _pendingUse.removeAll(MemberUses.ALL_STATIC); |
| 384 } | 384 } |
| 385 | 385 |
| 386 @override | 386 @override |
| 387 EnumSet<MemberUse> get _originalUse => MemberUses.ALL_STATIC; | 387 EnumSet<MemberUse> get _originalUse => MemberUses.ALL_STATIC; |
| 388 } | 388 } |
| OLD | NEW |