if ($class->
hasMethod($method->name
) &&
$class->
getMethod($method->name
)->
isFinal()) { throw new LogicException(sprintf('Cannot generate lazy ghost: method "%s::%s()" is final.',
$class->name,
$method->name
));
} } $parent =
$class;
while ($parent =
$parent->
getParentClass()) { if (\stdClass::
class !== $parent->name &&
$parent->
isInternal()) { throw new LogicException(sprintf('Cannot generate lazy ghost: class "%s" extends "%s" which is internal.',
$class->name,
$parent->name
));
} } $propertyScopes = self::
exportPropertyScopes($class->name
);
return <<<EOPHP
extends \\{
$class->name
} implements \Symfony\Component\VarExporter\LazyObjectInterface
{
use \Symfony\Component\VarExporter\LazyGhostTrait;
private const LAZY_OBJECT_PROPERTY_SCOPES = {
$propertyScopes};
}
// Help opcache.preload discover always-needed symbols
class_exists(\Symfony\Component\VarExporter\Internal\Hydrator::class);
class_exists(\Symfony\Component\VarExporter\Internal\LazyObjectRegistry::class);
class_exists(\Symfony\Component\VarExporter\Internal\LazyObjectState::class);