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 |
3 | // BSD-style license that can be found in the LICENSE file. |
4 | |
5 | #ifndef RUNTIME_LIB_MIRRORS_H_ |
6 | #define RUNTIME_LIB_MIRRORS_H_ |
7 | |
8 | #include "vm/allocation.h" |
9 | |
10 | namespace dart { |
11 | |
12 | class Mirrors : public AllStatic { |
13 | public: |
14 | #define MIRRORS_KIND_SHIFT_LIST(V) \ |
15 | V(kAbstract) \ |
16 | V(kGetter) \ |
17 | V(kSetter) \ |
18 | V(kConstructor) \ |
19 | V(kConstCtor) \ |
20 | V(kGenerativeCtor) \ |
21 | V(kRedirectingCtor) \ |
22 | V(kFactoryCtor) \ |
23 | V(kExternal) \ |
24 | V(kSynthetic) \ |
25 | V(kExtensionMember) |
26 | |
27 | // These offsets much be kept in sync with those in mirrors_impl.dart. |
28 | enum KindShifts { |
29 | #define DEFINE_KIND_SHIFT_ENUM(name) name, |
30 | MIRRORS_KIND_SHIFT_LIST(DEFINE_KIND_SHIFT_ENUM) |
31 | #undef DEFINE_KIND_SHIFT_ENUM |
32 | }; |
33 | }; |
34 | |
35 | } // namespace dart |
36 | |
37 | #endif // RUNTIME_LIB_MIRRORS_H_ |
38 | |