in src/search/APISearchResult.php [17:58]
public function __construct(
private APIProduct $product,
private APIDefinitionType $type,
string $name,
string $href,
float $score,
) {
switch ($product) {
case APIProduct::HSL:
case APIProduct::HSL_EXPERIMENTAL:
if (Str\starts_with($name, 'HH\\Lib\\Legacy_FIXME')) {
$score *= SearchScores::HSL_LEGACY_FIXME_API_MULTIPLIER;
} else {
$score *= SearchScores::HSL_API_MULTIPLIER;
}
break;
case APIProduct::HACK:
$score *= SearchScores::HACK_API_MULTIPLIER;
break;
}
switch ($type) {
case APIDefinitionType::CLASS_DEF:
$score *= SearchScores::CLASS_MULTIPLIER;
break;
case APIDefinitionType::INTERFACE_DEF:
$score *= SearchScores::INTERFACE_MULTIPLIER;
break;
case APIDefinitionType::TRAIT_DEF:
$score *= SearchScores::TRAIT_MULTIPLIER;
break;
case APIDefinitionType::FUNCTION_DEF:
if (Str\contains($name, '::')) {
$score *= SearchScores::METHOD_MULTIPLIER;
} else {
$score *= SearchScores::FUNCTION_MULTIPLIER;
}
break;
}
parent::__construct($name, $href, $score);
}