def visit_FunctionReference()

in fluent/migrate/helpers.py [0:0]


    def visit_FunctionReference(self, node):
        name = node.id.name
        if name in self.IMPLICIT_TRANSFORMS:
            raise NotSupportedError(
                "{} may not be used with transforms_from(). It runs "
                "implicitly on all Patterns anyways.".format(name)
            )
        if name in self.FORBIDDEN_TRANSFORMS:
            raise NotSupportedError(
                "{} may not be used with transforms_from(). It requires "
                "additional logic in Python code.".format(name)
            )
        if name in ("COPY", "COPY_PATTERN"):
            args = (self.into_argument(arg) for arg in node.arguments.positional)
            kwargs = {
                arg.name.name: self.into_argument(arg.value)
                for arg in node.arguments.named
            }
            if name == "COPY":
                return COPY(*args, **kwargs)
            return COPY_PATTERN(*args, **kwargs)
        return self.generic_visit(node)