const EnumValues* EnumCache::getValuesBuiltin(const Class* klass) { assert(isEnum(klass)); if (auto values = klass->getEnumValues()) { return values; } return s_cache.getEnumValues(klass, false); }
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); }
const EnumCache::EnumValues* EnumCache::getValuesBuiltin(const Class* klass) { assert(isEnum(klass)); return s_cache.getEnumValues(klass, false); }