original_string: protected function propertyIsMixedType($className, $property)
      {
          $mixedType = false;
  
          $propertySchema = $this->reflectionService->getClassSchema($className)->getProperty($property);
  
          if ($this->classIsMixedType($propertySchema['type'])) {
              $mixedType = true;
          } else {
              if ($this->reflectionService->isPropertyTaggedWith($className, $property, MixedTypesService::PROPERTY_ANNOTATION_MIXED_TYPE)) {
                  $tags = $this->reflectionService->getPropertyTagValues($className, $property, MixedTypesService::PROPERTY_ANNOTATION_MIXED_TYPE);
                  $mixedTypeClassName = reset($tags);
  
                  if ($this->classIsMixedType($mixedTypeClassName)) {
                      $mixedType = true;
                  }
              }
          }
  
          return $mixedType;
      }
code: protected function propertyIsMixedType($className, $property)
      {
          $mixedType = false;
  
          $propertySchema = $this->reflectionService->getClassSchema($className)->getProperty($property);
  
          if ($this->classIsMixedType($propertySchema['type'])) {
              $mixedType = true;
          } else {
              if ($this->reflectionService->isPropertyTaggedWith($className, $property, MixedTypesService::PROPERTY_ANNOTATION_MIXED_TYPE)) {
                  $tags = $this->reflectionService->getPropertyTagValues($className, $property, MixedTypesService::PROPERTY_ANNOTATION_MIXED_TYPE);
                  $mixedTypeClassName = reset($tags);
  
                  if ($this->classIsMixedType($mixedTypeClassName)) {
                      $mixedType = true;
                  }
              }
          }
  
          return $mixedType;
      }
code_tokens: protected function propertyIsMixedType ( $ className , $ property ) { $ mixedType = false ; $ propertySchema = $ this -> reflectionService -> getClassSchema ( $ className ) -> getProperty ( $ property ) ; if ( $ this -> classIsMixedType ( $ propertySchema [ 'type' ] ) ) { $ mixedType = true ; } else { if ( $ this -> reflectionService -> isPropertyTaggedWith ( $ className , $ property , MixedTypesService :: PROPERTY_ANNOTATION_MIXED_TYPE ) ) { $ tags = $ this -> reflectionService -> getPropertyTagValues ( $ className , $ property , MixedTypesService :: PROPERTY_ANNOTATION_MIXED_TYPE ) ; $ mixedTypeClassName = reset ( $ tags ) ; if ( $ this -> classIsMixedType ( $ mixedTypeClassName ) ) { $ mixedType = true ; } } } return $ mixedType ; }
docstring: Checks if the given property is a mixed type.
  
  First, we check if the type of the property is a class that implements
  the interface `MixedTypesInterface`.
  
  If not, we check if the property has the annotation `@mixedTypesResolver`
  with a class name that implements the interface `MixedTypesInterface`.
  
  If one was found, `true` is returned.
  
  @param string $className
  @param string $property
  @return bool
docstring_tokens: Checks if the given property is a mixed type .