private function getCodegenClass()

in src/RouterCLILookupCodegenBuilder.hack [97:123]


  private function getCodegenClass(
    string $router_classname,
    string $utility_classname,
  ): CodegenClass {
    return $this->cg->codegenClass($utility_classname)
      ->setIsFinal(true)
      ->addMethod(
        $this->cg->codegenMethod('getRouter')
          ->setReturnType('\\'.$router_classname)
          ->setPrivate()
          ->setManualBody(true)
          ->setBodyf(
            'return new \\%s();',
            $router_classname,
          )
      )
      ->addMethod(
        $this->cg->codegenMethod('prettifyControllerName')
          ->addParameter('string $controller')
          ->setReturnType('string')
          ->setPrivate()
          ->setManualBody(true)
          ->setBody('return $controller;')
      )
      ->addMethod($this->getControllersForPathMethod())
      ->addMethod($this->getMainMethod());
  }