public function rewriteChildren()

in codegen/syntax/ContextAliasDeclaration.hack [162:202]


  public function rewriteChildren<Tret as ?Node>(
    (function(Node, vec<Node>): Tret) $rewriter,
    vec<Node> $parents = vec[],
  ): this {
    $parents[] = $this;
    $attribute_spec = $this->_attribute_spec === null
      ? null
      : $rewriter($this->_attribute_spec, $parents);
    $keyword = $rewriter($this->_keyword, $parents);
    $name = $rewriter($this->_name, $parents);
    $generic_parameter = $this->_generic_parameter === null
      ? null
      : $rewriter($this->_generic_parameter, $parents);
    $as_constraint = $rewriter($this->_as_constraint, $parents);
    $equal = $this->_equal === null ? null : $rewriter($this->_equal, $parents);
    $context =
      $this->_context === null ? null : $rewriter($this->_context, $parents);
    $semicolon = $rewriter($this->_semicolon, $parents);
    if (
      $attribute_spec === $this->_attribute_spec &&
      $keyword === $this->_keyword &&
      $name === $this->_name &&
      $generic_parameter === $this->_generic_parameter &&
      $as_constraint === $this->_as_constraint &&
      $equal === $this->_equal &&
      $context === $this->_context &&
      $semicolon === $this->_semicolon
    ) {
      return $this;
    }
    return new static(
      $attribute_spec as ?Node,
      $keyword as NewctxToken,
      $name as NameToken,
      $generic_parameter as ?Node,
      /* HH_FIXME[4110] NodeList<ContextConstraint> may not be enforceable */ $as_constraint,
      $equal as ?Node,
      $context as ?Node,
      $semicolon as SemicolonToken,
    );
  }