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