const EnumCache::EnumValues* EnumCache::getValues( const Class* klass, bool recurse) { if (klass->classVecLen() == 1 || !enumName->same(klass->classVec()[0]->name())) { std::string msg; msg += klass->name()->data(); msg += " must derive from Enum"; EnumCache::failLookup(msg); } return cache.getEnumValues(klass, recurse); }