annotationToAttributeMappers = $annotationToAttributeMappers; } /** * @return \PhpParser\Node\Expr|string * @param mixed $value */ public function map($value) { foreach ($this->annotationToAttributeMappers as $annotationToAttributeMapper) { if ($annotationToAttributeMapper->isCandidate($value)) { return $annotationToAttributeMapper->map($value); } } if ($value instanceof Expr) { return $value; } // remove node, as handled elsewhere if ($value instanceof DoctrineAnnotationTagValueNode) { return DocTagNodeState::REMOVE_ARRAY; } // fallback return BuilderHelpers::normalizeValue($value); } }