Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions mypy/messages.py
Original file line number Diff line number Diff line change
Expand Up @@ -961,17 +961,20 @@ def too_few_arguments(
else:
msg = "Too few arguments" + for_function(callee)
self.fail(msg, context, code=codes.CALL_ARG)
self.note_defined_here(callee, context)

def missing_named_argument(self, callee: CallableType, context: Context, name: str) -> None:
msg = f'Missing named argument "{name}"' + for_function(callee)
self.fail(msg, context, code=codes.CALL_ARG)
self.note_defined_here(callee, context)

def too_many_arguments(self, callee: CallableType, context: Context) -> None:
if self.prefer_simple_messages():
msg = "Too many arguments"
else:
msg = "Too many arguments" + for_function(callee)
self.fail(msg, context, code=codes.CALL_ARG)
self.note_defined_here(callee, context)
self.maybe_note_about_special_args(callee, context)

def too_many_arguments_from_typed_dict(
Expand All @@ -993,6 +996,7 @@ def too_many_positional_arguments(self, callee: CallableType, context: Context)
else:
msg = "Too many positional arguments" + for_function(callee)
self.fail(msg, context)
self.note_defined_here(callee, context)
self.maybe_note_about_special_args(callee, context)

def maybe_note_about_special_args(self, callee: CallableType, context: Context) -> None:
Expand Down Expand Up @@ -1035,6 +1039,10 @@ def unexpected_keyword_argument(
self.unexpected_keyword_argument_for_function(
for_function(callee), name, context, matches=matches
)
self.note_defined_here(callee, context)

def note_defined_here(self, callee: CallableType, context: Context) -> None:
"""Add a note pointing to the definition of the callee."""
module = find_defining_module(self.modules, callee)
if module:
assert callee.definition is not None
Expand Down
Loading