/**
* This method will extract the type information of a property from it's
* doc comment information. The returned value will be <b>null</b> when no
* type information exists.
*
* @return \PDepend\Source\AST\ASTType
* @since 0.9.6
*/
private function parseFieldDeclarationType()
{
// Skip, if ignore annotations is set
if ($this->ignoreAnnotations === true) {
return null;
}
$reference = $this->parseFieldDeclarationClassOrInterfaceReference();
if ($reference !== null) {
return $reference;
}
$annotations = $this->parseVarAnnotation($this->docComment);
foreach ($annotations as $annotation) {
if (Type::isPrimitiveType($annotation) === true) {
return $this->builder->buildAstPrimitiveType(Type::getPrimitiveType($annotation));
} elseif (Type::isArrayType($annotation) === true) {
return $this->builder->buildAstTypeArray();
}
}
return null;
}