Esempio n. 1
0
const EnumValues* EnumCache::getValuesBuiltin(const Class* klass) {
  assert(isEnum(klass));
  if (auto values = klass->getEnumValues()) {
    return values;
  }
  return s_cache.getEnumValues(klass, false);
}
Esempio n. 2
0
const EnumCache::EnumValues* EnumCache::getValues(const Class* klass,
                                                  bool recurse) {
  if (UNLIKELY(klass->classVecLen() == 1 ||
               !s_enumName.get()->same(klass->classVec()[0]->name()))) {
    std::string msg;
    msg += klass->name()->data();
    msg += " must derive from Enum";
    EnumCache::failLookup(msg);
  }
  return s_cache.getEnumValues(klass, recurse);
}
Esempio n. 3
0
const EnumCache::EnumValues* EnumCache::getValuesBuiltin(const Class* klass) {
  assert(isEnum(klass));
  return s_cache.getEnumValues(klass, false);
}