Index: pkg/compiler/lib/src/resolution/class_members.dart |
diff --git a/pkg/compiler/lib/src/resolution/class_members.dart b/pkg/compiler/lib/src/resolution/class_members.dart |
index f2f670b657c0f802aeec0460fd884b8deb1c5bf3..bfa9cf653694483108c05878076e0c000a97df07 100644 |
--- a/pkg/compiler/lib/src/resolution/class_members.dart |
+++ b/pkg/compiler/lib/src/resolution/class_members.dart |
@@ -7,6 +7,7 @@ library dart2js.resolution.compute_members; |
import '../common.dart'; |
import '../common/names.dart' show Identifiers, Names; |
import '../common/resolution.dart' show Resolution; |
+import '../core_types.dart' show CommonElements; |
import '../elements/resolution_types.dart'; |
import '../elements/elements.dart' |
show |
@@ -192,11 +193,15 @@ abstract class MembersCreator { |
addDeclaredMember( |
name, type, new ResolutionFunctionType.synthesized(type)); |
if (!element.isConst && !element.isFinal) { |
+ // TODO(floitsch): would be nice to have the voidType directly |
+ // on commonElements. |
+ ClassElement objectClass = resolution.commonElements.objectClass; |
+ ResolutionVoidType voidType = new ResolutionVoidType(objectClass); |
addDeclaredMember( |
name.setter, |
type, |
new ResolutionFunctionType.synthesized( |
- const ResolutionVoidType(), <ResolutionDartType>[type])); |
+ voidType, <ResolutionDartType>[type])); |
} |
} else if (element.isGetter) { |
ResolutionFunctionType functionType = element.computeType(resolution); |
@@ -858,6 +863,8 @@ abstract class ClassMemberMixin implements ClassElement { |
Map<Name, Member> classMembers; |
Map<Name, MemberSignature> interfaceMembers; |
+ CommonElements commonElements; |
+ |
/// Creates the necessary maps and [MembersCreator] for compute members of |
/// this class. |
MembersCreator _prepareCreator(Resolution resolution) { |
@@ -868,6 +875,7 @@ abstract class ClassMemberMixin implements ClassElement { |
interfaceMembers = new Map<Name, MemberSignature>(); |
} |
} |
+ commonElements = resolution.commonElements; |
return interfaceMembersAreClassMembers |
? new ClassMembersCreator( |
resolution, this, computedMemberNames, classMembers) |