protected function saveProductionData()
{
$this->reflectionDataRuntimeCache->flush();
$classNames = [];
foreach ($this->classReflectionData as $className => $reflectionData) {
$classNames[$className] = true;
$cacheIdentifier = $this->produceCacheIdentifierFromClassName($className);
$this->reflectionDataRuntimeCache->set($cacheIdentifier, $reflectionData);
if (isset($this->classSchemata[$className])) {
$this->classSchemataRuntimeCache->set($cacheIdentifier, $this->classSchemata[$className]);
}
}
$this->reflectionDataRuntimeCache->set('__classNames', $classNames);
$this->reflectionDataRuntimeCache->set('__annotatedClasses', $this->annotatedClasses);
$this->reflectionDataRuntimeCache->getBackend()->freeze();
$this->classSchemataRuntimeCache->getBackend()->freeze();
$this->log(sprintf('Built and froze reflection runtime caches (%s classes).', count($this->classReflectionData)), LOG_INFO);
}