in codegen/syntax/MethodishTraitResolution.hack [126:158]
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);
$function_decl_header = $this->_function_decl_header === null
? null
: $rewriter($this->_function_decl_header, $parents);
$equal = $this->_equal === null ? null : $rewriter($this->_equal, $parents);
$name = $this->_name === null ? null : $rewriter($this->_name, $parents);
$semicolon = $this->_semicolon === null
? null
: $rewriter($this->_semicolon, $parents);
if (
$attribute === $this->_attribute &&
$function_decl_header === $this->_function_decl_header &&
$equal === $this->_equal &&
$name === $this->_name &&
$semicolon === $this->_semicolon
) {
return $this;
}
return new static(
$attribute as ?Node,
$function_decl_header as ?Node,
$equal as ?Node,
$name as ?Node,
$semicolon as ?Node,
);
}