forked from M-Labs/artiq
Improve builtin call error message.
This commit is contained in:
parent
196acb37f6
commit
8a65266f14
|
@ -374,9 +374,13 @@ class Inferencer(algorithm.Visitor):
|
|||
node.func.loc)
|
||||
|
||||
def diagnose(valid_forms):
|
||||
printer = types.TypePrinter()
|
||||
args = [printer.name(arg.type) for arg in node.args]
|
||||
args += ["%s=%s" % (kw.arg, printer.name(kw.value.type)) for kw in node.keywords]
|
||||
|
||||
diag = diagnostic.Diagnostic("error",
|
||||
"{func} cannot be invoked with these arguments",
|
||||
{"func": typ.name},
|
||||
"{func} cannot be invoked with the arguments ({args})",
|
||||
{"func": typ.name, "args": ", ".join(args)},
|
||||
node.func.loc, notes=valid_forms)
|
||||
self.engine.process(diag)
|
||||
|
||||
|
|
Loading…
Reference in New Issue