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) { | |
243 continue; | 242 continue; |
244 } | 243 } |
245 | 244 |
246 name = func.UserVisibleName(); | 245 name = func.UserVisibleName(); |
247 names.Add(name); | 246 names.Add(name); |
248 } | 247 } |
249 } | 248 } |
250 } else if (obj.IsLibrary()) { | 249 } else if (obj.IsLibrary()) { |
251 const Library& lib = Library::Cast(obj); | 250 const Library& lib = Library::Cast(obj); |
252 DictionaryIterator it(lib); | 251 DictionaryIterator it(lib); |
(...skipping 608 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
861 } else if (obj.IsField()) { | 860 } else if (obj.IsField()) { |
862 cls = Field::Cast(obj).origin(); | 861 cls = Field::Cast(obj).origin(); |
863 } else { | 862 } else { |
864 return Api::NewHandle(isolate, Object::empty_array().raw()); | 863 return Api::NewHandle(isolate, Object::empty_array().raw()); |
865 } | 864 } |
866 const Library& lib = Library::Handle(cls.library()); | 865 const Library& lib = Library::Handle(cls.library()); |
867 return Api::NewHandle(isolate, lib.GetMetadata(obj)); | 866 return Api::NewHandle(isolate, lib.GetMetadata(obj)); |
868 } | 867 } |
869 | 868 |
870 } // namespace dart | 869 } // namespace dart |
OLD | NEW |