in src/Codegen.hack [140:175]
private function buildRouter(): void {
$config = Shapes::idx($this->config, 'router');
if ($config === null) {
return;
}
$uri_map = (new UriMapBuilder($this->controllerFacts))->getUriMap();
(new RouterCodegenBuilder(
$this->getHackCodegenConfig(),
$this->getControllerBase(),
$uri_map,
))
->setCreateAbstractClass($config['abstract'])
->setGeneratedFrom($this->getGeneratedFrom())
->setDiscardChanges($this->config['discardChanges'] ?? false)
->renderToFile(
$config['file'],
Shapes::idx($config, 'namespace'),
$config['class'],
);
$cli_config = $config['cliLookup'] ?? null;
if ($cli_config === null) {
return;
}
(new RouterCLILookupCodegenBuilder($this->getHackCodegenConfig()))
->setGeneratedFrom($this->getGeneratedFrom())
->setDiscardChanges($this->config['discardChanges'] ?? false)
->renderToFile(
$cli_config['file'],
Shapes::idx($config, 'namespace'),
$config['class'],
$cli_config['class'],
);
}