private function getMethodListItem()

in src/PageSections/InterfaceSynopsis.hack [129:163]


  private function getMethodListItem(
    ScannedClassish $defining_class,
    ScannedMethod $m,
  ): string {
    $ns = $defining_class->getNamespaceName();
    $docs = DocBlock::nullable($m->getDocComment());

    $signature = ($m->isStatic() ? '::' : '->').
      $m->getName().
      _Private\stringify_generics($ns, $m->getGenericTypes()).
      _Private\stringify_parameters(
        $defining_class->getNamespaceName(),
        _Private\StringifyFormat::ONE_LINE,
        $m,
        $docs,
      );

    $rt = $m->getReturnType();
    if ($rt !== null) {
      $signature .= ': '._Private\stringify_typehint($ns, $rt);
    }

    $markdown = Str\format(
      '- [`%s`](%s)',
      $signature,
      $this->getLinkPathForMethod($defining_class, $m) as nonnull,
    );

    $summary = $docs?->getSummary();
    if ($summary !== null) {
      $markdown .= "\\\n".$summary;
    }

    return $markdown;
  }