| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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 library dart2js.resolution.compute_members; | 5 library dart2js.resolution.compute_members; |
| 6 | 6 |
| 7 import '../common/names.dart' show | 7 import '../common/names.dart' show |
| 8 Identifiers; | 8 Identifiers; |
| 9 import '../compiler.dart' show | 9 import '../compiler.dart' show |
| 10 Compiler, | 10 Compiler; |
| 11 isPrivateName; | |
| 12 import '../dart_types.dart'; | 11 import '../dart_types.dart'; |
| 13 import '../diagnostics/invariant.dart' show | 12 import '../diagnostics/invariant.dart' show |
| 14 invariant; | 13 invariant; |
| 15 import '../diagnostics/messages.dart' show | 14 import '../diagnostics/messages.dart' show |
| 16 MessageKind; | 15 MessageKind; |
| 17 import '../elements/elements.dart' show | 16 import '../elements/elements.dart' show |
| 18 ClassElement, | 17 ClassElement, |
| 19 Element, | 18 Element, |
| 20 LibraryElement, | 19 LibraryElement, |
| 21 Member, | 20 Member, |
| (...skipping 810 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 832 computedMemberNames, classMembers, interfaceMembers); | 831 computedMemberNames, classMembers, interfaceMembers); |
| 833 } | 832 } |
| 834 | 833 |
| 835 static Iterable<String> _EMPTY_MEMBERS_NAMES = const <String>[]; | 834 static Iterable<String> _EMPTY_MEMBERS_NAMES = const <String>[]; |
| 836 | 835 |
| 837 /// Compute the members by the name [name] for this class. [names] collects | 836 /// Compute the members by the name [name] for this class. [names] collects |
| 838 /// the set of possible variations of [name], including getter, setter and | 837 /// the set of possible variations of [name], including getter, setter and |
| 839 /// and private names. | 838 /// and private names. |
| 840 void computeClassMember(Compiler compiler, String name, Setlet<Name> names) { | 839 void computeClassMember(Compiler compiler, String name, Setlet<Name> names) { |
| 841 if (isMemberComputed(name)) return; | 840 if (isMemberComputed(name)) return; |
| 842 if (isPrivateName(name)) { | 841 if (Name.isPrivateName(name)) { |
| 843 names..add(new Name(name, library)) | 842 names..add(new Name(name, library)) |
| 844 ..add(new Name(name, library, isSetter: true)); | 843 ..add(new Name(name, library, isSetter: true)); |
| 845 } | 844 } |
| 846 MembersCreator creator = _prepareCreator(compiler); | 845 MembersCreator creator = _prepareCreator(compiler); |
| 847 creator.computeMembersByName(name, names); | 846 creator.computeMembersByName(name, names); |
| 848 if (computedMemberNames == null) { | 847 if (computedMemberNames == null) { |
| 849 computedMemberNames = _EMPTY_MEMBERS_NAMES; | 848 computedMemberNames = _EMPTY_MEMBERS_NAMES; |
| 850 } | 849 } |
| 851 if (name != Identifiers.call) { | 850 if (name != Identifiers.call) { |
| 852 Setlet<String> set; | 851 Setlet<String> set; |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 909 message: "Members have not been fully computed for $this.")); | 908 message: "Members have not been fully computed for $this.")); |
| 910 if (interfaceMembersAreClassMembers) { | 909 if (interfaceMembersAreClassMembers) { |
| 911 classMembers.forEach((_, member) { | 910 classMembers.forEach((_, member) { |
| 912 if (!member.isStatic) f(member); | 911 if (!member.isStatic) f(member); |
| 913 }); | 912 }); |
| 914 } else { | 913 } else { |
| 915 interfaceMembers.forEach((_, member) => f(member)); | 914 interfaceMembers.forEach((_, member) => f(member)); |
| 916 } | 915 } |
| 917 } | 916 } |
| 918 } | 917 } |
| OLD | NEW |