renderMethod($o); } if ($o instanceof ClosureValue) { return $this->renderClosure($o); } return $this->renderCallable($o); } protected function renderClosure(ClosureValue $o) { $children = $this->renderer->renderChildren($o); $header = ''; if (null !== ($s = $o->getModifiers())) { $header .= ''.$s.' '; } if (null !== ($s = $o->getName())) { $header .= ''.$this->renderer->escape($s).'('.$this->renderer->escape($o->getParams()).')'; } if (null !== ($s = $o->getValueShort())) { if (RichRenderer::$strlen_max) { $s = Utils::truncateString($s, RichRenderer::$strlen_max); } $header .= ' '.$this->renderer->escape($s); } return '
'.$this->renderer->renderHeaderWrapper($o, (bool) \strlen($children), $header).$children.'
'; } protected function renderCallable(Value $o) { $children = $this->renderer->renderChildren($o); $header = ''; if (null !== ($s = $o->getModifiers())) { $header .= ''.$s.' '; } if (null !== ($s = $o->getName())) { $header .= ''.$this->renderer->escape($s).''; } if (null !== ($s = $o->getValueShort())) { if (RichRenderer::$strlen_max) { $s = Utils::truncateString($s, RichRenderer::$strlen_max); } $header .= ' '.$this->renderer->escape($s); } return '
'.$this->renderer->renderHeaderWrapper($o, (bool) \strlen($children), $header).$children.'
'; } protected function renderMethod(MethodValue $o) { if (!empty(self::$method_cache[$o->owner_class][$o->name])) { $children = self::$method_cache[$o->owner_class][$o->name]['children']; $header = $this->renderer->renderHeaderWrapper( $o, (bool) \strlen($children), self::$method_cache[$o->owner_class][$o->name]['header'] ); return '
'.$header.$children.'
'; } $children = $this->renderer->renderChildren($o); $header = ''; if (null !== ($s = $o->getModifiers()) || $o->return_reference) { $header .= ''.$s; if ($o->return_reference) { if ($s) { $header .= ' '; } $header .= $this->renderer->escape('&'); } $header .= ' '; } if (null !== ($s = $o->getName())) { $function = $this->renderer->escape($s).'('.$this->renderer->escape($o->getParams()).')'; if (null !== ($url = $o->getPhpDocUrl())) { $function = ''.$function.''; } $header .= ''.$function.''; } if (!empty($o->returntype)) { $header .= ': '; if ($o->return_reference) { $header .= $this->renderer->escape('&'); } $header .= $this->renderer->escape($o->returntype).''; } elseif ($o->docstring) { if (\preg_match('/@return\\s+(.*)\\r?\\n/m', $o->docstring, $matches)) { if (\trim($matches[1])) { $header .= ': '.$this->renderer->escape(\trim($matches[1])).''; } } } if (null !== ($s = $o->getValueShort())) { if (RichRenderer::$strlen_max) { $s = Utils::truncateString($s, RichRenderer::$strlen_max); } $header .= ' '.$this->renderer->escape($s); } if (\strlen($o->owner_class) && \strlen($o->name)) { self::$method_cache[$o->owner_class][$o->name] = [ 'header' => $header, 'children' => $children, ]; } $header = $this->renderer->renderHeaderWrapper($o, (bool) \strlen($children), $header); return '
'.$header.$children.'
'; } }