|
- <?php
-
- namespace dokuwiki\Remote\OpenApiDoc;
-
- class DocBlockProperty extends DocBlock
- {
- /** @var Type */
- protected $type;
-
- /**
- * Parse the given docblock
- *
- * The docblock can be of a method, class or property.
- *
- * @param \ReflectionProperty $reflector
- */
- public function __construct(\ReflectionProperty $reflector)
- {
- parent::__construct($reflector);
- $this->refineVar();
- }
-
- /**
- * The Type of this property
- *
- * @return Type
- */
- public function getType()
- {
- return $this->type;
- }
-
- /**
- * Parse the var tag into its components
- *
- * @return void
- */
- protected function refineVar()
- {
- $refType = $this->reflector->getType();
- $this->type = new Type($refType ? $refType->getName() : 'string', $this->getContext());
-
-
- if (!isset($this->tags['var'])) return;
-
- [$type, $description] = array_map('trim', sexplode(' ', $this->tags['var'][0], 2, ''));
- $this->type = new Type($type, $this->getContext());
- $this->summary = $description;
- }
- }
|