in codegen/syntax/ConstDeclaration.hack [135:170]
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);
$modifiers = $this->_modifiers === null
? null
: $rewriter($this->_modifiers, $parents);
$keyword = $rewriter($this->_keyword, $parents);
$type_specifier = $this->_type_specifier === null
? null
: $rewriter($this->_type_specifier, $parents);
$declarators = $rewriter($this->_declarators, $parents);
$semicolon = $rewriter($this->_semicolon, $parents);
if (
$attribute_spec === $this->_attribute_spec &&
$modifiers === $this->_modifiers &&
$keyword === $this->_keyword &&
$type_specifier === $this->_type_specifier &&
$declarators === $this->_declarators &&
$semicolon === $this->_semicolon
) {
return $this;
}
return new static(
$attribute_spec as ?OldAttributeSpecification,
/* HH_FIXME[4110] ?NodeList<AbstractToken> may not be enforceable */ $modifiers,
$keyword as ConstToken,
$type_specifier as ?ITypeSpecifier,
/* HH_FIXME[4110] NodeList<ListItem<ConstantDeclarator>> may not be enforceable */ $declarators,
$semicolon as SemicolonToken,
);
}