protected function addMixedTypeValidators($targetClassName, GenericObjectValidator $validator)
    {
        foreach ($this->reflectionService->getClassPropertyNames($targetClassName) as $property) {
            /*
             * If the property already is already bound to an object validator,
             * there is no need to do further checks.
             */
            if ($this->propertyHasObjectValidator($validator, $property)) {
                continue;
            }

            if ($this->propertyIsMixedType($targetClassName, $property)) {
                /*
                 * The property is mixed, a validator with the `mixedTypes`
                 * option is added, to delegate the validator resolving to
                 * later (when the property is actually filled).
                 */
                $objectValidator = $this->createValidator(MixedTypeValidator::class);

                $validator->addPropertyValidator($property, $objectValidator);
            }
        }
    }
protected function addMixedTypeValidators($targetClassName, GenericObjectValidator $validator)
    {
        foreach ($this->reflectionService->getClassPropertyNames($targetClassName) as $property) {
            /*
             * If the property already is already bound to an object validator,
             * there is no need to do further checks.
             */
            if ($this->propertyHasObjectValidator($validator, $property)) {
                continue;
            }

            if ($this->propertyIsMixedType($targetClassName, $property)) {
                /*
                 * The property is mixed, a validator with the `mixedTypes`
                 * option is added, to delegate the validator resolving to
                 * later (when the property is actually filled).
                 */
                $objectValidator = $this->createValidator(MixedTypeValidator::class);

                $validator->addPropertyValidator($property, $objectValidator);
            }
        }
    }
protected function addMixedTypeValidators ( $ targetClassName , GenericObjectValidator $ validator ) { foreach ( $ this -> reflectionService -> getClassPropertyNames ( $ targetClassName ) as $ property ) { /*
             * If the property already is already bound to an object validator,
             * there is no need to do further checks.
             */ if ( $ this -> propertyHasObjectValidator ( $ validator , $ property ) ) { continue ; } if ( $ this -> propertyIsMixedType ( $ targetClassName , $ property ) ) { /*
                 * The property is mixed, a validator with the `mixedTypes`
                 * option is added, to delegate the validator resolving to
                 * later (when the property is actually filled).
                 */ $ objectValidator = $ this -> createValidator ( MixedTypeValidator :: class ) ; $ validator -> addPropertyValidator ( $ property , $ objectValidator ) ; } } }
This function will list the properties of the given class, and filter on
the ones that do not have a validator assigned yet.

@param string                 $targetClassName
@param GenericObjectValidator $validator
This function will list the properties of the given class and filter on the ones that do not have a validator assigned yet .