| 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 dart2js.typechecker; | 5 library dart2js.typechecker; |
| 6 | 6 |
| 7 import 'common.dart'; | 7 import 'common.dart'; |
| 8 import 'common/names.dart' show | 8 import 'common/names.dart' show |
| 9 Identifiers; | 9 Identifiers; |
| 10 import 'common/resolution.dart' show | 10 import 'common/resolution.dart' show |
| (...skipping 811 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 822 if (lookupClassMember) { | 822 if (lookupClassMember) { |
| 823 interface.element.forEachClassMember(findPrivateMember); | 823 interface.element.forEachClassMember(findPrivateMember); |
| 824 } else { | 824 } else { |
| 825 interface.element.forEachInterfaceMember(findPrivateMember); | 825 interface.element.forEachInterfaceMember(findPrivateMember); |
| 826 } | 826 } |
| 827 | 827 |
| 828 } | 828 } |
| 829 if (!foundPrivateMember) { | 829 if (!foundPrivateMember) { |
| 830 switch (memberKind) { | 830 switch (memberKind) { |
| 831 case MemberKind.METHOD: | 831 case MemberKind.METHOD: |
| 832 reportMessage(node, MessageKind.METHOD_NOT_FOUND, | 832 reportMessage(node, MessageKind.UNDEFINED_METHOD, |
| 833 {'className': receiverType.name, 'memberName': name}, | 833 {'className': receiverType.name, 'memberName': name}, |
| 834 isHint: isHint); | 834 isHint: isHint); |
| 835 break; | 835 break; |
| 836 case MemberKind.OPERATOR: | 836 case MemberKind.OPERATOR: |
| 837 reportMessage(node, MessageKind.OPERATOR_NOT_FOUND, | 837 reportMessage(node, MessageKind.UNDEFINED_OPERATOR, |
| 838 {'className': receiverType.name, 'memberName': name}, | 838 {'className': receiverType.name, 'memberName': name}, |
| 839 isHint: isHint); | 839 isHint: isHint); |
| 840 break; | 840 break; |
| 841 case MemberKind.GETTER: | 841 case MemberKind.GETTER: |
| 842 if (lookupMemberSignature(memberName.setter, interface) != null) { | 842 if (lookupMemberSignature(memberName.setter, interface) != null) { |
| 843 // A setter is present so warn explicitly about the missing | 843 // A setter is present so warn explicitly about the missing |
| 844 // getter. | 844 // getter. |
| 845 reportMessage(node, MessageKind.GETTER_NOT_FOUND, | 845 reportMessage(node, MessageKind.UNDEFINED_INSTANCE_GETTER_BUT_SETT
ER, |
| 846 {'className': receiverType.name, 'memberName': name}, | 846 {'className': receiverType.name, 'memberName': name}, |
| 847 isHint: isHint); | 847 isHint: isHint); |
| 848 } else if (name == 'await') { | 848 } else if (name == 'await') { |
| 849 Map arguments = {'className': receiverType.name}; | 849 Map arguments = {'className': receiverType.name}; |
| 850 String functionName = executableContext.name; | 850 String functionName = executableContext.name; |
| 851 MessageKind kind; | 851 MessageKind kind; |
| 852 if (functionName == '') { | 852 if (functionName == '') { |
| 853 kind = MessageKind.AWAIT_MEMBER_NOT_FOUND_IN_CLOSURE; | 853 kind = MessageKind.AWAIT_MEMBER_NOT_FOUND_IN_CLOSURE; |
| 854 } else { | 854 } else { |
| 855 kind = MessageKind.AWAIT_MEMBER_NOT_FOUND; | 855 kind = MessageKind.AWAIT_MEMBER_NOT_FOUND; |
| 856 arguments['functionName'] = functionName; | 856 arguments['functionName'] = functionName; |
| 857 } | 857 } |
| 858 reportMessage(node, kind, arguments, isHint: isHint); | 858 reportMessage(node, kind, arguments, isHint: isHint); |
| 859 } else { | 859 } else { |
| 860 reportMessage(node, MessageKind.MEMBER_NOT_FOUND, | 860 reportMessage(node, MessageKind.UNDEFINED_GETTER, |
| 861 {'className': receiverType.name, 'memberName': name}, | 861 {'className': receiverType.name, 'memberName': name}, |
| 862 isHint: isHint); | 862 isHint: isHint); |
| 863 } | 863 } |
| 864 break; | 864 break; |
| 865 case MemberKind.SETTER: | 865 case MemberKind.SETTER: |
| 866 reportMessage(node, MessageKind.SETTER_NOT_FOUND, | 866 reportMessage(node, MessageKind.UNDEFINED_SETTER, |
| 867 {'className': receiverType.name, 'memberName': name}, | 867 {'className': receiverType.name, 'memberName': name}, |
| 868 isHint: isHint); | 868 isHint: isHint); |
| 869 break; | 869 break; |
| 870 } | 870 } |
| 871 } | 871 } |
| 872 } | 872 } |
| 873 return const DynamicAccess(); | 873 return const DynamicAccess(); |
| 874 } | 874 } |
| 875 | 875 |
| 876 DartType lookupMemberType(Node node, DartType type, String name, | 876 DartType lookupMemberType(Node node, DartType type, String name, |
| (...skipping 1126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2003 | 2003 |
| 2004 visitTypedef(Typedef node) { | 2004 visitTypedef(Typedef node) { |
| 2005 // Do not typecheck [Typedef] nodes. | 2005 // Do not typecheck [Typedef] nodes. |
| 2006 } | 2006 } |
| 2007 | 2007 |
| 2008 visitNode(Node node) { | 2008 visitNode(Node node) { |
| 2009 reporter.internalError(node, | 2009 reporter.internalError(node, |
| 2010 'Unexpected node ${node.getObjectDescription()} in the type checker.'); | 2010 'Unexpected node ${node.getObjectDescription()} in the type checker.'); |
| 2011 } | 2011 } |
| 2012 } | 2012 } |
| OLD | NEW |