if (isset($context[self::MAX_DEPTH_HANDLER
])) { $maxDepthHandler =
$context[self::MAX_DEPTH_HANDLER
];
if (!\
is_callable($maxDepthHandler)) { throw new InvalidArgumentException(sprintf('The "%s" given in the context is not callable.', self::MAX_DEPTH_HANDLER
));
} } else { $maxDepthHandler = null;
} foreach ($attributes as $attribute) { $maxDepthReached = false;
if (null !==
$attributesMetadata && ($maxDepthReached =
$this->
isMaxDepthReached($attributesMetadata,
$class,
$attribute,
$context)) && !
$maxDepthHandler) { continue;
} $attributeContext =
$this->
getAttributeNormalizationContext($object,
$attribute,
$context);
try { $attributeValue =
$this->
getAttributeValue($object,
$attribute,
$format,
$attributeContext);
} catch (UninitializedPropertyException
$e) { if ($context[self::SKIP_UNINITIALIZED_VALUES
] ??
$this->defaultContext
[self::SKIP_UNINITIALIZED_VALUES
] ?? true
) { continue;
}