in src/privateimpl/ControllerFacts.hack [42:65]
private function isUriMappable(
ScannedClassish $class
): bool {
if (!$class is ScannedClass) {
return false;
}
if ($class->isAbstract()) {
return false;
}
$cf = $this->classFacts;
if (!$cf->doesImplement(IncludeInUriMap::class, $class->getName())) {
return false;
}
// This is also me being opinionated.
invariant(
$class->isFinal(),
'Classes implementing IncludeInUriMap should be abstract or final; '.
'%s is neither',
$class->getName(),
);
return true;
}