| OLD | NEW |
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, 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 members_test; | 5 library members_test; |
| 6 | 6 |
| 7 import 'package:expect/expect.dart'; | 7 import 'package:expect/expect.dart'; |
| 8 import "package:async_helper/async_helper.dart"; | 8 import "package:async_helper/async_helper.dart"; |
| 9 import 'type_test_helper.dart'; | 9 import 'type_test_helper.dart'; |
| 10 import '../../../sdk/lib/_internal/compiler/implementation/dart_types.dart'; | 10 import '../../../sdk/lib/_internal/compiler/implementation/dart_types.dart'; |
| 11 import "../../../sdk/lib/_internal/compiler/implementation/elements/elements.dar
t" | 11 import "../../../sdk/lib/_internal/compiler/implementation/elements/elements.dar
t" |
| 12 show Element, ClassElement, MemberSignature, Name, PublicName, | 12 show Element, ClassElement, MemberSignature, Name, PublicName, |
| 13 DeclaredMember, Member; | 13 DeclaredMember, Member; |
| 14 import "../../../sdk/lib/_internal/compiler/implementation/resolution/class_memb
ers.dart" | 14 import "../../../sdk/lib/_internal/compiler/implementation/resolution/class_memb
ers.dart" |
| 15 show DeclaredMember, ErroneousMember, SyntheticMember; | 15 show DeclaredMember, ErroneousMember, SyntheticMember; |
| 16 | 16 |
| 17 void main() { | 17 void main() { |
| 18 testClassMembers(); | 18 testClassMembers(); |
| 19 testInterfaceMembers(); | 19 testInterfaceMembers(); |
| 20 testClassVsInterfaceMembers(); | 20 testClassVsInterfaceMembers(); |
| 21 testMixinMembers(); | 21 testMixinMembers(); |
| 22 } | 22 } |
| 23 | 23 |
| 24 MemberSignature getMember(InterfaceType cls, String name, | 24 MemberSignature getMember(InterfaceType cls, String name, |
| 25 {bool isSetter: false, | 25 {bool isSetter: false, |
| 26 int checkType: CHECK_INTERFACE}) { | 26 int checkType: CHECK_INTERFACE}) { |
| 27 Name memberName = | 27 Name memberName = |
| 28 new Name(name, cls.element.getLibrary(), isSetter: isSetter); | 28 new Name(name, cls.element.library, isSetter: isSetter); |
| 29 MemberSignature member = checkType == CHECK_CLASS | 29 MemberSignature member = checkType == CHECK_CLASS |
| 30 ? cls.element.lookupClassMember(memberName) | 30 ? cls.element.lookupClassMember(memberName) |
| 31 : cls.element.lookupInterfaceMember(memberName); | 31 : cls.element.lookupInterfaceMember(memberName); |
| 32 if (member != null) { | 32 if (member != null) { |
| 33 Expect.equals(memberName, member.name); | 33 Expect.equals(memberName, member.name); |
| 34 } | 34 } |
| 35 return member; | 35 return member; |
| 36 } | 36 } |
| 37 | 37 |
| 38 /// Check interface member only. | 38 /// Check interface member only. |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 118 members.add(inheritedMember.inheritFrom(type)); | 118 members.add(inheritedMember.inheritFrom(type)); |
| 119 } | 119 } |
| 120 Expect.setEquals(members, member.declarations); | 120 Expect.setEquals(members, member.declarations); |
| 121 } else if (declarer != null) { | 121 } else if (declarer != null) { |
| 122 DeclaredMember declared = member; | 122 DeclaredMember declared = member; |
| 123 Expect.equals(declarer, declared.declarer, | 123 Expect.equals(declarer, declared.declarer, |
| 124 "Unexpected declarer '${declared.declarer}' of $memberKind member " | 124 "Unexpected declarer '${declared.declarer}' of $memberKind member " |
| 125 "'$member'. Expected '${declarer}'."); | 125 "'$member'. Expected '${declarer}'."); |
| 126 } else { | 126 } else { |
| 127 DeclaredMember declared = member; | 127 DeclaredMember declared = member; |
| 128 Expect.equals(cls.element, declared.element.getEnclosingClass()); | 128 Expect.equals(cls.element, declared.element.enclosingClass); |
| 129 Expect.equals(cls, declared.declarer); | 129 Expect.equals(cls, declared.declarer); |
| 130 } | 130 } |
| 131 Expect.equals(isSetter, member.isSetter); | 131 Expect.equals(isSetter, member.isSetter); |
| 132 Expect.equals(isGetter, member.isGetter); | 132 Expect.equals(isGetter, member.isGetter); |
| 133 if (type != null) { | 133 if (type != null) { |
| 134 Expect.equals(type, member.type, | 134 Expect.equals(type, member.type, |
| 135 "Unexpected type of $memberKind member '$member'."); | 135 "Unexpected type of $memberKind member '$member'."); |
| 136 } | 136 } |
| 137 if (functionType != null) { | 137 if (functionType != null) { |
| 138 if (type == null) { | 138 if (type == null) { |
| (...skipping 535 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 674 Expect.notEquals(interfaceMember, classMember); | 674 Expect.notEquals(interfaceMember, classMember); |
| 675 | 675 |
| 676 // A: method4(U a) | 676 // A: method4(U a) |
| 677 // B: -- | 677 // B: -- |
| 678 // C class: method4(U a) -- inherited from A. | 678 // C class: method4(U a) -- inherited from A. |
| 679 // C interface: method4(U a) -- inherited from A. | 679 // C interface: method4(U a) -- inherited from A. |
| 680 checkMember(C_this, 'method4', checkType: ALSO_CLASS_MEMBER, | 680 checkMember(C_this, 'method4', checkType: ALSO_CLASS_MEMBER, |
| 681 inheritedFrom: A_U); | 681 inheritedFrom: A_U); |
| 682 })); | 682 })); |
| 683 } | 683 } |
| OLD | NEW |