Index: tests/compiler/dart2js/members_test.dart |
diff --git a/tests/compiler/dart2js/members_test.dart b/tests/compiler/dart2js/members_test.dart |
index d4be7ab42b24fb378c34e9526b33ea81e2d4d37d..59dbf971d91a2bc5194b5347a40576ae3efeb525 100644 |
--- a/tests/compiler/dart2js/members_test.dart |
+++ b/tests/compiler/dart2js/members_test.dart |
@@ -12,7 +12,7 @@ import "package:compiler/src/elements/elements.dart" |
show Element, ClassElement, MemberSignature, Name, PublicName, |
DeclaredMember, Member; |
import "package:compiler/src/resolution/class_members.dart" |
- show DeclaredMember, ErroneousMember, SyntheticMember; |
+ show MembersCreator, DeclaredMember, ErroneousMember, SyntheticMember; |
void main() { |
testClassMembers(); |
@@ -212,6 +212,8 @@ void testClassMembers() { |
functionType: env.functionType(String_, [])); |
InterfaceType A = env['A']; |
+ MembersCreator.computeAllClassMembers(env.compiler, A.element); |
+ |
checkMemberCount(A, 5 /*inherited*/ + 9 /*non-static declared*/, |
interfaceMembers: true); |
checkMemberCount(A, 5 /*inherited*/ + 9 /*non-abstract declared*/ + |
@@ -255,6 +257,7 @@ void testClassMembers() { |
isStatic: true, functionType: env.functionType(dynamic_, [])); |
ClassElement B = env.getElement('B'); |
+ MembersCreator.computeAllClassMembers(env.compiler, B); |
InterfaceType B_this = B.thisType; |
TypeVariableType B_T = B_this.typeArguments.first; |
checkMemberCount(B_this, 4 /*inherited*/ + 4 /*non-static declared*/, |
@@ -280,6 +283,7 @@ void testClassMembers() { |
optionalParameters: [B_T])); |
ClassElement C = env.getElement('C'); |
+ MembersCreator.computeAllClassMembers(env.compiler, C); |
InterfaceType C_this = C.thisType; |
TypeVariableType C_S = C_this.typeArguments.first; |
checkMemberCount(C_this, 8 /*inherited*/, interfaceMembers: true); |
@@ -306,6 +310,7 @@ void testClassMembers() { |
optionalParameters: [C_S])); |
InterfaceType D = env['D']; |
+ MembersCreator.computeAllClassMembers(env.compiler, D.element); |
checkMemberCount(D, 8 /*inherited*/, interfaceMembers: true); |
checkMemberCount(D, 8 /*inherited*/, interfaceMembers: false); |
InterfaceType B_int = instantiate(B, [int_]); |
@@ -330,6 +335,7 @@ void testClassMembers() { |
optionalParameters: [int_])); |
InterfaceType E = env['E']; |
+ MembersCreator.computeAllClassMembers(env.compiler, E.element); |
checkMemberCount(E, 8 /*inherited*/, interfaceMembers: true); |
checkMemberCount(E, 8 /*inherited*/, interfaceMembers: false); |
@@ -411,6 +417,9 @@ void testInterfaceMembers() { |
InterfaceType C = env['C']; |
InterfaceType D = env['D']; |
+ // Ensure that members have been computed on all classes. |
+ MembersCreator.computeAllClassMembers(env.compiler, D.element); |
+ |
// A: num method1() |
// B: int method1() |
// D: dynamic method1() -- synthesized from A and B. |
@@ -576,6 +585,9 @@ void testClassVsInterfaceMembers() { |
InterfaceType B = env['B']; |
InterfaceType C = env['C']; |
+ // Ensure that members have been computed on all classes. |
+ MembersCreator.computeAllClassMembers(env.compiler, C.element); |
+ |
// A: method1() |
// B: method1() |
// C class: method1() -- inherited from A. |
@@ -634,6 +646,9 @@ void testMixinMembers() { |
InterfaceType A_U = instantiate(A, [C_U]); |
InterfaceType B_V = instantiate(B, [C_V]); |
+ // Ensure that members have been computed on all classes. |
+ MembersCreator.computeAllClassMembers(env.compiler, C); |
+ |
// A: method1() |
// B: method1() |
// C class: method1() -- inherited from A. |
@@ -702,6 +717,9 @@ void testMixinMembersWithoutImplements() { |
InterfaceType B = env['B']; |
InterfaceType C = env['C']; |
+ // Ensure that members have been computed on all classes. |
+ MembersCreator.computeAllClassMembers(env.compiler, C.element); |
+ |
checkMember(C, 'm', checkType: NO_CLASS_MEMBER, |
inheritedFrom: A, |
functionType: env.functionType(dynamic_ , [])); |