protected function resolveDocTagType(Type $type) { return $type->walk(function (Type $type) { if ($type instanceof ObjectType) { $nameStr = $type->getClass(); if ($nameStr !== null && $nameStr !== '') { if ($nameStr[0] === '\\') { $name = new FullyQualified(substr($nameStr, 1)); } else { $name = new Name($nameStr); } $name = $this->resolveClassName($name)->getAttribute('resolved'); $nameStr = $name->toString(); if ($name instanceof FullyQualified) { $nameStr = '\\' . $nameStr; } return Type::object_($nameStr); } } return $type; }); }