return self::STATUS_INITIALIZED_FULL;
} if (\
is_array($this->initializer
)) { $class =
$instance::
class;
$propertyScope ??=
$class;
$propertyScopes = Hydrator::
$propertyScopes[$class];
$propertyScopes[$k = "\0
$propertyScope\0
$propertyName"
] ??
$propertyScopes[$k = "\0*\0
$propertyName"
] ??
$k =
$propertyName;
if ($initializer =
$this->initializer
[$k] ?? null
) { $value =
$initializer(...
[$instance,
$propertyName,
$propertyScope, LazyObjectRegistry::
$defaultProperties[$class][$k] ?? null
]);
$accessor = LazyObjectRegistry::
$classAccessors[$propertyScope] ??= LazyObjectRegistry::
getClassAccessors($propertyScope);
$accessor['set'
]($instance,
$propertyName,
$value);
return $this->status = self::STATUS_INITIALIZED_PARTIAL;
} $status = self::STATUS_UNINITIALIZED_PARTIAL;
if ($initializer =
$this->initializer
["\0"
] ?? null
) { if (!\
is_array($values =
$initializer($instance, LazyObjectRegistry::
$defaultProperties[$class]))) { throw new \
TypeError(sprintf('The lazy-initializer defined for instance of "%s" must return an array, got "%s".',
$class,
get_debug_type($values)));
}