in src/RouterCodegenBuilder.hack [82:105]
private function getCodegenClass(
string $classname,
): CodegenClass {
return $this->cg->codegenClass($classname)
->setIsAbstract($this->createAbstract)
->setIsFinal(!$this->createAbstract)
->setExtends(\sprintf(
'\\%s<classname<\\%s>>',
BaseRouter::class,
$this->responderClass,
))
->addMethod(
$this->cg->codegenMethod('getRoutes')
// method should be final only if the class is not already final
->setIsFinal($this->createAbstract)
->setIsOverride(true)
->setReturnTypef(
'ImmMap<\\%s, ImmMap<string, classname<\\%s>>>',
HttpMethod::class,
$this->responderClass,
)
->setBody($this->getUriMapBody())
);
}