in codegen/syntax/FunctionCallExpression.hack [138:173]
public function rewriteChildren<Tret as ?Node>(
(function(Node, vec<Node>): Tret) $rewriter,
vec<Node> $parents = vec[],
): this {
$parents[] = $this;
$receiver = $rewriter($this->_receiver, $parents);
$type_args = $this->_type_args === null
? null
: $rewriter($this->_type_args, $parents);
$enum_class_label = $this->_enum_class_label === null
? null
: $rewriter($this->_enum_class_label, $parents);
$left_paren = $rewriter($this->_left_paren, $parents);
$argument_list = $this->_argument_list === null
? null
: $rewriter($this->_argument_list, $parents);
$right_paren = $rewriter($this->_right_paren, $parents);
if (
$receiver === $this->_receiver &&
$type_args === $this->_type_args &&
$enum_class_label === $this->_enum_class_label &&
$left_paren === $this->_left_paren &&
$argument_list === $this->_argument_list &&
$right_paren === $this->_right_paren
) {
return $this;
}
return new static(
$receiver as Node,
$type_args as ?TypeArguments,
$enum_class_label as ?EnumClassLabelExpression,
$left_paren as LeftParenToken,
/* HH_FIXME[4110] ?NodeList<ListItem<IExpression>> may not be enforceable */ $argument_list,
$right_paren as RightParenToken,
);
}