| 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)
|
|
|