original_string: protected function getIndexablePropertiesAndValuesFromObject($object)
      {
          $className = TypeHandling::getTypeForValue($object);
          $data = [];
          foreach ($this->indexInformer->getClassProperties($className) as $propertyName) {
              if (ObjectAccess::isPropertyGettable($object, $propertyName) === false) {
                  continue;
              }
  
              $value = ObjectAccess::getProperty($object, $propertyName);
              if (($transformAnnotation = $this->reflectionService->getPropertyAnnotation($className, $propertyName, TransformAnnotation::class)) !== null) {
                  $value = $this->transformerFactory->create($transformAnnotation->type)->transformByAnnotation($value, $transformAnnotation);
              }
  
              $data[$propertyName] = $value;
          }
  
          return $data;
      }
code: protected function getIndexablePropertiesAndValuesFromObject($object)
      {
          $className = TypeHandling::getTypeForValue($object);
          $data = [];
          foreach ($this->indexInformer->getClassProperties($className) as $propertyName) {
              if (ObjectAccess::isPropertyGettable($object, $propertyName) === false) {
                  continue;
              }
  
              $value = ObjectAccess::getProperty($object, $propertyName);
              if (($transformAnnotation = $this->reflectionService->getPropertyAnnotation($className, $propertyName, TransformAnnotation::class)) !== null) {
                  $value = $this->transformerFactory->create($transformAnnotation->type)->transformByAnnotation($value, $transformAnnotation);
              }
  
              $data[$propertyName] = $value;
          }
  
          return $data;
      }
code_tokens: protected function getIndexablePropertiesAndValuesFromObject ( $ object ) { $ className = TypeHandling :: getTypeForValue ( $ object ) ; $ data = [ ] ; foreach ( $ this -> indexInformer -> getClassProperties ( $ className ) as $ propertyName ) { if ( ObjectAccess :: isPropertyGettable ( $ object , $ propertyName ) === false ) { continue ; } $ value = ObjectAccess :: getProperty ( $ object , $ propertyName ) ; if ( ( $ transformAnnotation = $ this -> reflectionService -> getPropertyAnnotation ( $ className , $ propertyName , TransformAnnotation :: class ) ) !== null ) { $ value = $ this -> transformerFactory -> create ( $ transformAnnotation -> type ) -> transformByAnnotation ( $ value , $ transformAnnotation ) ; } $ data [ $ propertyName ] = $ value ; } return $ data ; }
docstring: Returns a multidimensional array with the indexable, probably transformed values of an object
  
  @param object $object
  @return array
docstring_tokens: Returns a multidimensional array with the indexable probably transformed values of an object