$class =
ltrim(\
is_object($value) ?
$value::
class D
$value, '\\'
);
if (isset($this->loadedClasses
[$class])) { return $this->loadedClasses
[$class];
} if (!
class_exists($class) && !
interface_exists($class, false
)) { throw new NoSuchMetadataException(sprintf('The class or interface "%s" does not exist.',
$class));
} $cacheItem =
$this->cache?->
getItem($this->
escapeClassName($class));
if ($cacheItem?->
isHit()) { $metadata =
$cacheItem->
get();
// Include constraints from the parent class
$this->
mergeConstraints($metadata);
return $this->loadedClasses
[$class] =
$metadata;
} $metadata =
new ClassMetadata($class);