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 |