OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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 "include/dart_mirrors_api.h" | 5 #include "include/dart_mirrors_api.h" |
6 | 6 |
7 #include "platform/assert.h" | 7 #include "platform/assert.h" |
8 #include "vm/class_finalizer.h" | 8 #include "vm/class_finalizer.h" |
9 #include "vm/dart.h" | 9 #include "vm/dart.h" |
10 #include "vm/dart_api_impl.h" | 10 #include "vm/dart_api_impl.h" |
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
231 | 231 |
232 // Some special types like 'dynamic' have a null functions list. | 232 // Some special types like 'dynamic' have a null functions list. |
233 if (!func_array.IsNull()) { | 233 if (!func_array.IsNull()) { |
234 for (intptr_t i = 0; i < func_array.Length(); ++i) { | 234 for (intptr_t i = 0; i < func_array.Length(); ++i) { |
235 func ^= func_array.At(i); | 235 func ^= func_array.At(i); |
236 | 236 |
237 // Skip implicit getters and setters. | 237 // Skip implicit getters and setters. |
238 if (func.kind() == RawFunction::kImplicitGetter || | 238 if (func.kind() == RawFunction::kImplicitGetter || |
239 func.kind() == RawFunction::kImplicitSetter || | 239 func.kind() == RawFunction::kImplicitSetter || |
240 func.kind() == RawFunction::kConstImplicitGetter || | 240 func.kind() == RawFunction::kConstImplicitGetter || |
241 func.kind() == RawFunction::kMethodExtractor) { | 241 func.kind() == RawFunction::kMethodExtractor || |
| 242 func.kind() == RawFunction::kNoSuchMethodDispatcher) { |
242 continue; | 243 continue; |
243 } | 244 } |
244 | 245 |
245 name = func.UserVisibleName(); | 246 name = func.UserVisibleName(); |
246 names.Add(name); | 247 names.Add(name); |
247 } | 248 } |
248 } | 249 } |
249 } else if (obj.IsLibrary()) { | 250 } else if (obj.IsLibrary()) { |
250 const Library& lib = Library::Cast(obj); | 251 const Library& lib = Library::Cast(obj); |
251 DictionaryIterator it(lib); | 252 DictionaryIterator it(lib); |
(...skipping 608 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
860 } else if (obj.IsField()) { | 861 } else if (obj.IsField()) { |
861 cls = Field::Cast(obj).origin(); | 862 cls = Field::Cast(obj).origin(); |
862 } else { | 863 } else { |
863 return Api::NewHandle(isolate, Object::empty_array().raw()); | 864 return Api::NewHandle(isolate, Object::empty_array().raw()); |
864 } | 865 } |
865 const Library& lib = Library::Handle(cls.library()); | 866 const Library& lib = Library::Handle(cls.library()); |
866 return Api::NewHandle(isolate, lib.GetMetadata(obj)); | 867 return Api::NewHandle(isolate, lib.GetMetadata(obj)); |
867 } | 868 } |
868 | 869 |
869 } // namespace dart | 870 } // namespace dart |
OLD | NEW |