* @license http://www.opensource.org/licenses/mit-license.php MIT * @link http://phpdoc.org */ namespace phpDocumentor\Reflection\Types; use phpDocumentor\Reflection\Type; /** * Value Object representing a nullable type. The real type is wrapped. */ final class Nullable implements Type { /** * @var Type */ private $realType; /** * Initialises this nullable type using the real type embedded * * @param Type $realType */ public function __construct(Type $realType) { $this->realType = $realType; } /** * Provide access to the actual type directly, if needed. * * @return Type */ public function getActualType() { return $this->realType; } /** * Returns a rendered output of the Type as it would be used in a DocBlock. * * @return string */ public function __toString() { return '?' . $this->realType->__toString(); } }