|  | // Copyright (c) 2011, the Dart project authors.  Please see the AUTHORS file | 
|  | // for details. All rights reserved. Use of this source code is governed by a | 
|  | // BSD-style license that can be found in the LICENSE file. | 
|  |  | 
|  | #ifndef RUNTIME_LIB_MIRRORS_H_ | 
|  | #define RUNTIME_LIB_MIRRORS_H_ | 
|  |  | 
|  | #include "vm/allocation.h" | 
|  |  | 
|  | namespace dart { | 
|  |  | 
|  | class Mirrors : public AllStatic { | 
|  | public: | 
|  | #define MIRRORS_KIND_SHIFT_LIST(V)                                             \ | 
|  | V(kAbstract)                                                                 \ | 
|  | V(kGetter)                                                                   \ | 
|  | V(kSetter)                                                                   \ | 
|  | V(kConstructor)                                                              \ | 
|  | V(kConstCtor)                                                                \ | 
|  | V(kGenerativeCtor)                                                           \ | 
|  | V(kRedirectingCtor)                                                          \ | 
|  | V(kFactoryCtor)                                                              \ | 
|  | V(kExternal) | 
|  |  | 
|  | // These offsets much be kept in sync with those in mirrors_impl.dart. | 
|  | enum KindShifts { | 
|  | #define DEFINE_KIND_SHIFT_ENUM(name) name, | 
|  | MIRRORS_KIND_SHIFT_LIST(DEFINE_KIND_SHIFT_ENUM) | 
|  | #undef DEFINE_KIND_SHIFT_ENUM | 
|  | }; | 
|  | }; | 
|  |  | 
|  | }  // namespace dart | 
|  |  | 
|  | #endif  // RUNTIME_LIB_MIRRORS_H_ |