/**
* @param string $className
* @param PropertyReflection $property
* @param string $tagName
* @param array $tagValues
* @return array
*/
protected function reflectPropertyTag($className, PropertyReflection $property, $tagName, $tagValues)
{
if ($this->isTagIgnored($tagName)) {
return null;
}
if ($tagName !== 'var' || !isset($tagValues[0])) {
return $tagValues;
}
$propertyName = $property->getName();
$propertyDeclaringClass = $property->getDeclaringClass();
if ($propertyDeclaringClass->getName() !== $className && isset($this->classReflectionData[$propertyDeclaringClass->getName()][self::DATA_CLASS_PROPERTIES][$propertyName][self::DATA_PROPERTY_TAGS_VALUES][$tagName])) {
$tagValues = $this->classReflectionData[$propertyDeclaringClass->getName()][self::DATA_CLASS_PROPERTIES][$propertyName][self::DATA_PROPERTY_TAGS_VALUES][$tagName];
} else {
$tagValues[0] = $this->expandType($propertyDeclaringClass, $tagValues[0]);
}
return $tagValues;
}