/**
* @param string $className
* @param PropertyReflection $property
* @return integer visibility
*/
public function reflectClassProperty($className, PropertyReflection $property)
{
$propertyName = $property->getName();
$this->classReflectionData[$className][self::DATA_CLASS_PROPERTIES][$propertyName] = [];
$visibility = $property->isPublic() ? self::VISIBILITY_PUBLIC : ($property->isProtected() ? self::VISIBILITY_PROTECTED : self::VISIBILITY_PRIVATE);
$this->classReflectionData[$className][self::DATA_CLASS_PROPERTIES][$propertyName][self::DATA_PROPERTY_VISIBILITY] = $visibility;
foreach ($property->getTagsValues() as $tagName => $tagValues) {
$tagValues = $this->reflectPropertyTag($className, $property, $tagName, $tagValues);
if ($tagValues === null) {
continue;
}
$this->classReflectionData[$className][self::DATA_CLASS_PROPERTIES][$propertyName][self::DATA_PROPERTY_TAGS_VALUES][$tagName] = $tagValues;
}
foreach ($this->annotationReader->getPropertyAnnotations($property, $propertyName) as $annotation) {
$this->classReflectionData[$className][self::DATA_CLASS_PROPERTIES][$propertyName][self::DATA_PROPERTY_ANNOTATIONS][get_class($annotation)][] = $annotation;
}
return $visibility;
}