def register_builtin_transform(transform, builtin_name):
def _transform_wrapper(node, context=None):<EOL><INDENT>result = transform(node, context=context)<EOL>if result:<EOL><INDENT>if not result.parent:<EOL><INDENT>result.parent = node<EOL><DEDENT>if result.lineno is None:<EOL><INDENT>result.lineno = node.lineno<EOL><DEDENT>if result.col_offset is None:<EOL><INDENT>result.col_offset = node.col_offset<EOL><DEDENT><DEDENT>return iter([result])<EOL><DEDENT>MANAGER.register_transform(<EOL>nodes.Call,<EOL>inference_tip(_transform_wrapper),<EOL>partial(_builtin_filter_predicate, builtin_name=builtin_name),<EOL>)<EOL>
Register a new transform function for the given *builtin_name*.

    The transform function must accept two parameters, a node and
    an optional context.