ConstantArrayTypeBuilder::ARRAY_COUNT_LIMIT) { $arrayBuilder->degradeToGeneralArray(); } foreach ($value as $k => $v) { $arrayBuilder->setOffsetValueType(self::getTypeFromValue($k), self::getTypeFromValue($v)); } return $arrayBuilder->getArray(); } elseif (is_object($value)) { $class = get_class($value); /** phpcs:disable SlevomatCodingStandard.Namespaces.ReferenceUsedNamesOnly.ReferenceViaFullyQualifiedName */ if (function_exists('enum_exists') && \enum_exists($class)) { /** @var UnitEnum $value */ return new EnumCaseObjectType($class, $value->name); } /** phpcs:enable */ return new ObjectType(get_class($value)); } return new MixedType(); } }