in src/uri-patterns/UriBuilderSetters.php [24:46]
final public function setEnum<T>(
/* HH_FIXME[2053] */ classname<\HH\BuiltinEnum<T>> $class,
string $name,
T $value,
): this {
$spec = $this->parameters[$name] ?? null;
if ($spec && $spec is EnumRequestParameter<_>) {
// Null case is handled by standard checks in setValue()
$expected_class = $spec->getEnumName();
invariant(
$class === $expected_class,
'Parameter "%s" is a %s, not a %s',
$name,
$expected_class,
$class,
);
}
return $this->setValue(
EnumRequestParameter::class,
$name,
$class::assert($value),
);
}