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 resolution.compute_members; | 5 library resolution.compute_members; |
6 | 6 |
7 import '../elements/elements.dart' | 7 import '../elements/elements.dart' |
8 show Element, | 8 show Element, |
9 Name, | 9 Name, |
10 PublicName, | 10 PublicName, |
(...skipping 381 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
392 | 392 |
393 if (declared.isDeclaredByField && inherited.isMethod) { | 393 if (declared.isDeclaredByField && inherited.isMethod) { |
394 reportError(MessageKind.CANNOT_OVERRIDE_METHOD_WITH_FIELD, | 394 reportError(MessageKind.CANNOT_OVERRIDE_METHOD_WITH_FIELD, |
395 MessageKind.CANNOT_OVERRIDE_METHOD_WITH_FIELD_CONT); | 395 MessageKind.CANNOT_OVERRIDE_METHOD_WITH_FIELD_CONT); |
396 } else if (declared.isMethod && inherited.isDeclaredByField) { | 396 } else if (declared.isMethod && inherited.isDeclaredByField) { |
397 reportError(MessageKind.CANNOT_OVERRIDE_FIELD_WITH_METHOD, | 397 reportError(MessageKind.CANNOT_OVERRIDE_FIELD_WITH_METHOD, |
398 MessageKind.CANNOT_OVERRIDE_FIELD_WITH_METHOD_CONT); | 398 MessageKind.CANNOT_OVERRIDE_FIELD_WITH_METHOD_CONT); |
399 } else if (declared.isGetter && inherited.isMethod) { | 399 } else if (declared.isGetter && inherited.isMethod) { |
400 reportError(MessageKind.CANNOT_OVERRIDE_METHOD_WITH_GETTER, | 400 reportError(MessageKind.CANNOT_OVERRIDE_METHOD_WITH_GETTER, |
401 MessageKind.CANNOT_OVERRIDE_METHOD_WITH_GETTER_CONT); | 401 MessageKind.CANNOT_OVERRIDE_METHOD_WITH_GETTER_CONT); |
402 } else if (declared.isMethod && inherited.isGetter) { | 402 /*} else if (declared.isMethod && inherited.isGetter) { |
403 reportError(MessageKind.CANNOT_OVERRIDE_GETTER_WITH_METHOD, | 403 reportError(MessageKind.CANNOT_OVERRIDE_GETTER_WITH_METHOD, |
404 MessageKind.CANNOT_OVERRIDE_GETTER_WITH_METHOD_CONT); | 404 MessageKind.CANNOT_OVERRIDE_GETTER_WITH_METHOD_CONT); |
405 } else { | 405 */} else { |
406 DartType inheritedType = inherited.functionType; | 406 DartType inheritedType = inherited.functionType; |
407 if (!compiler.types.isSubtype(declaredType, inheritedType)) { | 407 if (!compiler.types.isSubtype(declaredType, inheritedType)) { |
408 void reportWarning(var marker, | 408 void reportWarning(var marker, |
409 MessageKind warningKind, | 409 MessageKind warningKind, |
410 MessageKind infoKind) { | 410 MessageKind infoKind) { |
411 reportMessage(marker, MessageKind.INVALID_OVERRIDE_METHOD, () { | 411 reportMessage(marker, MessageKind.INVALID_OVERRIDE_METHOD, () { |
412 compiler.reportWarning(declared.element, warningKind, | 412 compiler.reportWarning(declared.element, warningKind, |
413 {'declaredType': declared.type, | 413 {'declaredType': declared.type, |
414 'name': declared.name.text, | 414 'name': declared.name.text, |
415 'class': cls.thisType, | 415 'class': cls.thisType, |
(...skipping 488 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
904 message: "Members have not been fully computed for $this.")); | 904 message: "Members have not been fully computed for $this.")); |
905 if (interfaceMembersAreClassMembers) { | 905 if (interfaceMembersAreClassMembers) { |
906 classMembers.forEach((_, member) { | 906 classMembers.forEach((_, member) { |
907 if (!member.isStatic) f(member); | 907 if (!member.isStatic) f(member); |
908 }); | 908 }); |
909 } else { | 909 } else { |
910 interfaceMembers.forEach((_, member) => f(member)); | 910 interfaceMembers.forEach((_, member) => f(member)); |
911 } | 911 } |
912 } | 912 } |
913 } | 913 } |
OLD | NEW |