in src/definitions/ScannedConstant.hack [15:35]
public function __construct(
HHAST\Node $node,
string $name,
self::TContext $context,
?string $docblock,
private ?ScannedExpression $value,
private ?ScannedTypehint $typehint,
private AbstractnessToken $abstractness,
) {
parent::__construct(
$node,
$name,
$context,
/* attributes = */ dict[],
$docblock,
);
invariant(
($value === null) === ($abstractness === AbstractnessToken::IS_ABSTRACT),
'Abstract constants with value or non-abstract constant without',
);
}