# Buggy code
def report(self, msg: str, context: Context, severity: str, file: str = None) -> None:
    """Report an error or note (unless disabled)."""
    if self.disable_count <= 0:
        self.errors.report(
            context.get_line(), msg.strip(), severity=severity, file=file
        )


# Traceback (AttributeError)
Traceback (most recent call last):
File "/usr/lib/python-exec/python3.4/mypy", line 6, in <module>
main(__file__)
File "/usr/lib64/python3.4/site-packages/mypy/main.py", line 54, in main
res = type_check_only(sources, bin_dir, options)
File "/usr/lib64/python3.4/site-packages/mypy/main.py", line 102, in type_check_only
python_path=options.python_path)
File "/usr/lib64/python3.4/site-packages/mypy/build.py", line 209, in build
dispatch(sources, manager)
File "/usr/lib64/python3.4/site-packages/mypy/build.py", line 1325, in dispatch
process_graph(graph, manager)
File "/usr/lib64/python3.4/site-packages/mypy/build.py", line 1456, in process_graph
process_stale_scc(graph, scc)
File "/usr/lib64/python3.4/site-packages/mypy/build.py", line 1486, in process_stale_scc
graph[id].type_check()
File "/usr/lib64/python3.4/site-packages/mypy/build.py", line 1305, in type_check
manager.type_checker.visit_file(self.tree, self.xpath)
File "/usr/lib64/python3.4/site-packages/mypy/checker.py", line 424, in visit_file
self.accept(d)
File "/usr/lib64/python3.4/site-packages/mypy/checker.py", line 465, in accept
typ = node.accept(self)
File "/usr/lib64/python3.4/site-packages/mypy/nodes.py", line 729, in accept
return visitor.visit_expression_stmt(self)
File "/usr/lib64/python3.4/site-packages/mypy/checker.py", line 1570, in visit_expression_stmt
self.accept(s.expr)
File "/usr/lib64/python3.4/site-packages/mypy/checker.py", line 465, in accept
typ = node.accept(self)
File "/usr/lib64/python3.4/site-packages/mypy/nodes.py", line 1185, in accept
return visitor.visit_call_expr(self)
File "/usr/lib64/python3.4/site-packages/mypy/checker.py", line 1997, in visit_call_expr
return self.expr_checker.visit_call_expr(e)
File "/usr/lib64/python3.4/site-packages/mypy/checkexpr.py", line 141, in visit_call_expr
return self.check_call_expr_with_callee_type(callee_type, e)
File "/usr/lib64/python3.4/site-packages/mypy/checkexpr.py", line 192, in check_call_expr_with_callee_type
e.arg_names, callable_node=e.callee)[0]
File "/usr/lib64/python3.4/site-packages/mypy/checkexpr.py", line 257, in check_call
messages=arg_messages)
File "/usr/lib64/python3.4/site-packages/mypy/checkexpr.py", line 666, in overload_call_target
typ)
File "/usr/lib64/python3.4/site-packages/mypy/checkexpr.py", line 742, in erased_signature_similarity
None, check_arg=check_arg)
File "/usr/lib64/python3.4/site-packages/mypy/checkexpr.py", line 614, in check_argument_types
messages.invalid_keyword_var_arg(arg_type, context)
File "/usr/lib64/python3.4/site-packages/mypy/messages.py", line 687, in invalid_keyword_var_arg
context)
File "/usr/lib64/python3.4/site-packages/mypy/messages.py", line 147, in fail
self.report(msg, context, 'error', file=file)
File "/usr/lib64/python3.4/site-packages/mypy/messages.py", line 143, in report
self.errors.report(context.get_line(), msg.strip(), severity=severity, file=file)
AttributeError: 'NoneType' object has no attribute 'get_line'

# Fixed code
def report(self, msg: str, context: Context, severity: str, file: str = None) -> None:
    """Report an error or note (unless disabled)."""
    if self.disable_count <= 0:
        self.errors.report(
            context.get_line() if context else -1,
            msg.strip(),
            severity=severity,
            file=file,
        )