in codegen/syntax/ClassishDeclaration.hack [221:284]
public function rewriteChildren<Tret as ?Node>(
(function(Node, vec<Node>): Tret) $rewriter,
vec<Node> $parents = vec[],
): this {
$parents[] = $this;
$attribute = $this->_attribute === null
? null
: $rewriter($this->_attribute, $parents);
$modifiers = $this->_modifiers === null
? null
: $rewriter($this->_modifiers, $parents);
$xhp = $this->_xhp === null ? null : $rewriter($this->_xhp, $parents);
$keyword = $rewriter($this->_keyword, $parents);
$name = $rewriter($this->_name, $parents);
$type_parameters = $this->_type_parameters === null
? null
: $rewriter($this->_type_parameters, $parents);
$extends_keyword = $this->_extends_keyword === null
? null
: $rewriter($this->_extends_keyword, $parents);
$extends_list = $this->_extends_list === null
? null
: $rewriter($this->_extends_list, $parents);
$implements_keyword = $this->_implements_keyword === null
? null
: $rewriter($this->_implements_keyword, $parents);
$implements_list = $this->_implements_list === null
? null
: $rewriter($this->_implements_list, $parents);
$where_clause = $this->_where_clause === null
? null
: $rewriter($this->_where_clause, $parents);
$body = $rewriter($this->_body, $parents);
if (
$attribute === $this->_attribute &&
$modifiers === $this->_modifiers &&
$xhp === $this->_xhp &&
$keyword === $this->_keyword &&
$name === $this->_name &&
$type_parameters === $this->_type_parameters &&
$extends_keyword === $this->_extends_keyword &&
$extends_list === $this->_extends_list &&
$implements_keyword === $this->_implements_keyword &&
$implements_list === $this->_implements_list &&
$where_clause === $this->_where_clause &&
$body === $this->_body
) {
return $this;
}
return new static(
$attribute as ?OldAttributeSpecification,
/* HH_FIXME[4110] ?NodeList<Token> may not be enforceable */ $modifiers,
$xhp as ?Node,
$keyword as Token,
$name as Token,
$type_parameters as ?TypeParameters,
$extends_keyword as ?ExtendsToken,
/* HH_FIXME[4110] ?NodeList<ListItem<ISimpleCreationSpecifier>> may not be enforceable */ $extends_list,
$implements_keyword as ?ImplementsToken,
/* HH_FIXME[4110] ?NodeList<ListItem<ISimpleCreationSpecifier>> may not be enforceable */ $implements_list,
$where_clause as ?Node,
$body as ClassishBody,
);
}