Ejemplo n.º 1
0
        def infer(context, *args):
            if signature.is_typeset:
                specialization = signature.find_match(context, args)
                if specialization is None:
                    raise UnmatchedTypeError((function, args))
            else:
                specialization = typeset.match(context, signature, args)

            assert specialization.is_function
            return specialization.return_type
Ejemplo n.º 2
0
        def infer(typesystem, *args):
            if signature.is_typeset:
                specialization = signature.find_match(typesystem.promote, args)
            else:
                specialization = typeset.match(typesystem.promote, signature, args)

            if specialization is None:
                raise UnmatchedTypeError(
                        "Unmatched argument types for function '%s': %s" %
                                                    (function.__name__, args))

            assert specialization.is_function
            return specialization.return_type
Ejemplo n.º 3
0
        def infer(context, *args):
            if signature.is_typeset:
                specialization = signature.find_match(context, args)
            else:
                specialization = typeset.match(context, signature, args)

            if specialization is None:
                raise UnmatchedTypeError(
                        "Unmatched argument types for function '%s': %s" %
                                                    (function.__name__, args))

            assert specialization.is_function
            return specialization.return_type