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
10namespace dart {
11
12class 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