public function __construct()

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',
    );
  }