OLD | NEW |
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2011, 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 #include "vm/class_finalizer.h" | 5 #include "vm/class_finalizer.h" |
6 | 6 |
7 #include "vm/flags.h" | 7 #include "vm/flags.h" |
8 #include "vm/heap.h" | 8 #include "vm/heap.h" |
9 #include "vm/isolate.h" | 9 #include "vm/isolate.h" |
10 #include "vm/longjump.h" | 10 #include "vm/longjump.h" |
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
157 while (class_function.IsNull()) { | 157 while (class_function.IsNull()) { |
158 test_class = test_class.SuperClass(); | 158 test_class = test_class.SuperClass(); |
159 if (test_class.IsNull()) break; | 159 if (test_class.IsNull()) break; |
160 class_function = test_class.LookupDynamicFunction(function_name); | 160 class_function = test_class.LookupDynamicFunction(function_name); |
161 } | 161 } |
162 if (class_function.IsNull()) { | 162 if (class_function.IsNull()) { |
163 OS::Print("%s implements '%s' missing: '%s'\n", | 163 OS::Print("%s implements '%s' missing: '%s'\n", |
164 class_name.ToCString(), | 164 class_name.ToCString(), |
165 interface_name.ToCString(), | 165 interface_name.ToCString(), |
166 function_name.ToCString()); | 166 function_name.ToCString()); |
167 } else if (class_function.IsSubtypeOf(interface_function)) { | 167 } else if (class_function.IsSubtypeOf(TypeArguments::Handle(), |
| 168 interface_function, |
| 169 TypeArguments::Handle())) { |
168 OS::Print("The type of instance method '%s' in class '%s' is not a " | 170 OS::Print("The type of instance method '%s' in class '%s' is not a " |
169 "subtype of the type of '%s' in interface '%s'\n", | 171 "subtype of the type of '%s' in interface '%s'\n", |
170 function_name.ToCString(), | 172 function_name.ToCString(), |
171 class_name.ToCString(), | 173 class_name.ToCString(), |
172 function_name.ToCString(), | 174 function_name.ToCString(), |
173 interface_name.ToCString()); | 175 interface_name.ToCString()); |
174 } | 176 } |
175 } | 177 } |
176 } | 178 } |
177 } | 179 } |
(...skipping 832 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1010 ASSERT(msg_buffer != NULL); | 1012 ASSERT(msg_buffer != NULL); |
1011 va_list args; | 1013 va_list args; |
1012 va_start(args, format); | 1014 va_start(args, format); |
1013 OS::VSNPrint(msg_buffer, kBufferLength, format, args); | 1015 OS::VSNPrint(msg_buffer, kBufferLength, format, args); |
1014 va_end(args); | 1016 va_end(args); |
1015 isolate->long_jump_base()->Jump(1, msg_buffer); | 1017 isolate->long_jump_base()->Jump(1, msg_buffer); |
1016 UNREACHABLE(); | 1018 UNREACHABLE(); |
1017 } | 1019 } |
1018 | 1020 |
1019 } // namespace dart | 1021 } // namespace dart |
OLD | NEW |