/** * Checks if the class is suitable for caching * * @param ClassDefinition $classDefinition * @return boolean */ private function isClassCacheable($classDefinition) { if ($classDefinition instanceof ClassDefinition) { return true; } if ($classDefinition instanceof \ReflectionClass) { if ($classDefinition->isInternal() && $classDefinition->isInstantiable()) { $extension = $classDefinition->getExtension(); switch ($extension->getName()) { case 'Reflection': case 'Core': case 'SPL': return true; } } } return false; }