summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniƫl van Noord <13665637+DanielNoord@users.noreply.github.com>2021-11-24 16:52:24 +0100
committerGitHub <noreply@github.com>2021-11-24 16:52:24 +0100
commitbe149db10f756301a6f18c245fa799d7beec6648 (patch)
tree696a0591b57f0913c8831f49c600dcbb76bb43d1
parentc056248a458330b1813c144310fbc5d4bb82a3d9 (diff)
downloadpylint-git-be149db10f756301a6f18c245fa799d7beec6648.tar.gz
Update functional test expected output (#5349)
* Add ``confidence`` to all expected functional test outputs * Make OutputLine accept end_line and end_column Co-authored-by: Pierre Sassoulas <pierre.sassoulas@gmail.com>
-rw-r--r--ChangeLog9
-rw-r--r--doc/whatsnew/2.12.rst9
-rw-r--r--pylint/testutils/output_line.py95
-rw-r--r--tests/functional/a/abstract/abstract_class_instantiated.txt12
-rw-r--r--tests/functional/a/abstract/abstract_method.txt32
-rw-r--r--tests/functional/a/access/access_member_before_definition.txt4
-rw-r--r--tests/functional/a/access/access_to__name__.txt4
-rw-r--r--tests/functional/a/access/access_to_protected_members.txt56
-rw-r--r--tests/functional/a/alternative/alternative_union_syntax_error.txt48
-rw-r--r--tests/functional/a/alternative/alternative_union_syntax_py37.txt18
-rw-r--r--tests/functional/a/anomalous_backslash_escape.txt12
-rw-r--r--tests/functional/a/anomalous_unicode_escape.txt6
-rw-r--r--tests/functional/a/arguments.txt78
-rw-r--r--tests/functional/a/arguments_differ.txt22
-rw-r--r--tests/functional/a/arguments_out_of_order.txt8
-rw-r--r--tests/functional/a/arguments_renamed.txt18
-rw-r--r--tests/functional/a/assert_on_string_literal.txt4
-rw-r--r--tests/functional/a/assert_on_tuple.txt4
-rw-r--r--tests/functional/a/assign/assigning_non_slot.txt10
-rw-r--r--tests/functional/a/assign/assigning_non_slot_4509.txt2
-rw-r--r--tests/functional/a/assign/assignment_expression.txt6
-rw-r--r--tests/functional/a/assign/assignment_from_no_return.txt4
-rw-r--r--tests/functional/a/assign/assignment_from_no_return_2.txt6
-rw-r--r--tests/functional/a/async_functions.txt22
-rw-r--r--tests/functional/a/attribute_defined_outside_init.txt4
-rw-r--r--tests/functional/a/await_outside_async.txt4
-rw-r--r--tests/functional/b/bad_except_order.txt10
-rw-r--r--tests/functional/b/bad_exception_context.txt6
-rw-r--r--tests/functional/b/bad_indentation.txt4
-rw-r--r--tests/functional/b/bad_inline_option.txt2
-rw-r--r--tests/functional/b/bad_open_mode.txt12
-rw-r--r--tests/functional/b/bad_option_value.txt2
-rw-r--r--tests/functional/b/bad_reversed_sequence.txt12
-rw-r--r--tests/functional/b/bad_staticmethod_argument.txt4
-rw-r--r--tests/functional/b/bad_thread_instantiation.txt4
-rw-r--r--tests/functional/b/bare_except.txt2
-rw-r--r--tests/functional/b/blacklisted_name.txt2
-rw-r--r--tests/functional/b/broad_except.txt4
-rw-r--r--tests/functional/c/cached_property.txt2
-rw-r--r--tests/functional/c/cellvar_escaping_loop.txt26
-rw-r--r--tests/functional/c/class_members_py30.txt14
-rw-r--r--tests/functional/c/class_scope.txt14
-rw-r--r--tests/functional/c/comparison_with_callable.txt8
-rw-r--r--tests/functional/c/condition_evals_to_constant.txt30
-rw-r--r--tests/functional/c/confidence_filter.txt2
-rw-r--r--tests/functional/c/confusing_with_statement.txt2
-rw-r--r--tests/functional/c/consider/consider_iterating_dictionary.txt36
-rw-r--r--tests/functional/c/consider/consider_join.txt22
-rw-r--r--tests/functional/c/consider/consider_merging_isinstance.txt14
-rw-r--r--tests/functional/c/consider/consider_swap_variables.txt4
-rw-r--r--tests/functional/c/consider/consider_using_dict_comprehension.txt2
-rw-r--r--tests/functional/c/consider/consider_using_dict_items.txt32
-rw-r--r--tests/functional/c/consider/consider_using_enumerate.txt10
-rw-r--r--tests/functional/c/consider/consider_using_f_string.txt60
-rw-r--r--tests/functional/c/consider/consider_using_generator.txt4
-rw-r--r--tests/functional/c/consider/consider_using_get.txt8
-rw-r--r--tests/functional/c/consider/consider_using_in.txt28
-rw-r--r--tests/functional/c/consider/consider_using_min_max_builtin.txt22
-rw-r--r--tests/functional/c/consider/consider_using_set_comprehension.txt2
-rw-r--r--tests/functional/c/consider/consider_using_sys_exit.txt6
-rw-r--r--tests/functional/c/consider/consider_using_with.txt52
-rw-r--r--tests/functional/c/consider/consider_using_with_open.txt12
-rw-r--r--tests/functional/c/ctor_arguments.txt48
-rw-r--r--tests/functional/d/dangerous_default_value.txt44
-rw-r--r--tests/functional/d/dataclass_with_default_factory.txt4
-rw-r--r--tests/functional/d/dataclass_with_field.txt2
-rw-r--r--tests/functional/d/deprecated/dataclass_typecheck.txt24
-rw-r--r--tests/functional/d/deprecated/deprecated_class_py33.txt6
-rw-r--r--tests/functional/d/deprecated/deprecated_decorators.txt2
-rw-r--r--tests/functional/d/deprecated/deprecated_methods_py36.txt4
-rw-r--r--tests/functional/d/deprecated/deprecated_methods_py38.txt28
-rw-r--r--tests/functional/d/deprecated/deprecated_module_py36.txt2
-rw-r--r--tests/functional/d/deprecated/deprecated_module_py4.txt4
-rw-r--r--tests/functional/d/deprecated/deprecated_module_uninstalled.txt4
-rw-r--r--tests/functional/d/deprecated/deprecated_relative_import/dot_relative_import.txt2
-rw-r--r--tests/functional/d/deprecated/deprecated_relative_import/subpackage/dot_dot_relative_import.txt2
-rw-r--r--tests/functional/d/dict_iter_missing_items.txt2
-rw-r--r--tests/functional/d/disable_msg_next_line.txt10
-rw-r--r--tests/functional/d/disable_ungrouped_imports.txt4
-rw-r--r--tests/functional/d/disable_wrong_import_order.txt2
-rw-r--r--tests/functional/d/docstrings.txt16
-rw-r--r--tests/functional/d/dotted_ancestor.txt2
-rw-r--r--tests/functional/d/duplicate_argument_name.txt16
-rw-r--r--tests/functional/d/duplicate_argument_name_py3.txt4
-rw-r--r--tests/functional/d/duplicate_bases.txt2
-rw-r--r--tests/functional/d/duplicate_dict_literal_key.txt8
-rw-r--r--tests/functional/d/duplicate_except.txt2
-rw-r--r--tests/functional/d/duplicate_string_formatting_argument.txt4
-rw-r--r--tests/functional/e/eval_used.txt8
-rw-r--r--tests/functional/e/exception_is_binary_op.txt8
-rw-r--r--tests/functional/e/excess_escapes.txt18
-rw-r--r--tests/functional/e/exec_used.txt8
-rw-r--r--tests/functional/ext/bad_builtin/bad_builtin_extension.txt4
-rw-r--r--tests/functional/ext/bad_builtin/bad_builtins.txt8
-rw-r--r--tests/functional/ext/broad_try_clause/broad_try_clause_extension.txt8
-rw-r--r--tests/functional/ext/check_elif/check_elif.txt8
-rw-r--r--tests/functional/ext/code_style/consider_using_assignment_expr.txt36
-rw-r--r--tests/functional/ext/code_style/consider_using_namedtuple_or_dataclass.txt10
-rw-r--r--tests/functional/ext/code_style/consider_using_tuple.txt16
-rw-r--r--tests/functional/ext/comparetozero/comparetozero.txt8
-rw-r--r--tests/functional/ext/comparison_placement/misplaced_comparison_constant.txt12
-rw-r--r--tests/functional/ext/confusing_elif/confusing_elif.txt2
-rw-r--r--tests/functional/ext/consider_ternary_expression/consider_ternary_expression.txt4
-rw-r--r--tests/functional/ext/docparams/docparams.txt24
-rw-r--r--tests/functional/ext/docparams/missing_param_doc.txt36
-rw-r--r--tests/functional/ext/docparams/useless_type_doc.txt8
-rw-r--r--tests/functional/ext/docstyle/docstyle.txt14
-rw-r--r--tests/functional/ext/empty_comment/empty_comment.txt8
-rw-r--r--tests/functional/ext/emptystring/empty_string_comparison.txt8
-rw-r--r--tests/functional/ext/for_any_all/for_any_all.txt16
-rw-r--r--tests/functional/ext/mccabe/mccabe.txt30
-rw-r--r--tests/functional/ext/overlapping_exceptions/overlapping_exceptions.txt24
-rw-r--r--tests/functional/ext/plugin_does_not_exists.txt2
-rw-r--r--tests/functional/ext/redefined_variable_type/redefined_variable_type.txt20
-rw-r--r--tests/functional/ext/set_membership/use_set_membership.txt22
-rw-r--r--tests/functional/ext/typing/consider_using_alias.txt40
-rw-r--r--tests/functional/ext/typing/consider_using_alias_without_future.txt40
-rw-r--r--tests/functional/ext/typing/consider_using_union.txt20
-rw-r--r--tests/functional/ext/typing/consider_using_union_py310.txt36
-rw-r--r--tests/functional/ext/typing/consider_using_union_without_future.txt20
-rw-r--r--tests/functional/ext/typing/deprecated_alias.txt56
-rw-r--r--tests/functional/ext/while_used/while_used.txt4
-rw-r--r--tests/functional/f/f_string_without_interpolation.txt2
-rw-r--r--tests/functional/f/fallback_import_enabled.txt4
-rw-r--r--tests/functional/f/first_arg.txt18
-rw-r--r--tests/functional/f/fixme.txt18
-rw-r--r--tests/functional/f/fixme_bad_formatting_1139.txt2
-rw-r--r--tests/functional/f/forgotten_debug_statement_py37.txt8
-rw-r--r--tests/functional/f/func_disable_linebased.txt4
-rw-r--r--tests/functional/f/function_redefined.txt14
-rw-r--r--tests/functional/f/future_unicode_literals.txt2
-rw-r--r--tests/functional/g/generated_members.txt2
-rw-r--r--tests/functional/g/generic_alias/generic_alias_collections.txt32
-rw-r--r--tests/functional/g/generic_alias/generic_alias_collections_py37.txt134
-rw-r--r--tests/functional/g/generic_alias/generic_alias_collections_py37_with_typing.txt134
-rw-r--r--tests/functional/g/generic_alias/generic_alias_mixed_py37.txt10
-rw-r--r--tests/functional/g/generic_alias/generic_alias_mixed_py39.txt10
-rw-r--r--tests/functional/g/generic_alias/generic_alias_postponed_evaluation_py37.txt112
-rw-r--r--tests/functional/g/generic_alias/generic_alias_related.txt10
-rw-r--r--tests/functional/g/generic_alias/generic_alias_related_py39.txt10
-rw-r--r--tests/functional/g/generic_alias/generic_alias_side_effects.txt16
-rw-r--r--tests/functional/g/generic_alias/generic_alias_typing.txt38
-rw-r--r--tests/functional/g/genexpr_variable_scope.txt2
-rw-r--r--tests/functional/g/globals.txt22
-rw-r--r--tests/functional/i/implicit/implicit_str_concat.txt10
-rw-r--r--tests/functional/i/implicit/implicit_str_concat_multiline.txt2
-rw-r--r--tests/functional/i/import_aliasing.txt20
-rw-r--r--tests/functional/i/import_error.txt8
-rw-r--r--tests/functional/i/import_itself.txt2
-rw-r--r--tests/functional/i/import_outside_toplevel.txt18
-rw-r--r--tests/functional/i/inconsistent/inconsistent_mro.txt2
-rw-r--r--tests/functional/i/inconsistent/inconsistent_quotes.txt2
-rw-r--r--tests/functional/i/inconsistent/inconsistent_quotes2.txt2
-rw-r--r--tests/functional/i/inconsistent/inconsistent_returns.txt34
-rw-r--r--tests/functional/i/inconsistent/inconsistent_returns_noreturn.txt2
-rw-r--r--tests/functional/i/inference_crash_4692.txt2
-rw-r--r--tests/functional/i/inherit_non_class.txt22
-rw-r--r--tests/functional/i/init_is_generator.txt2
-rw-r--r--tests/functional/i/init_not_called.txt4
-rw-r--r--tests/functional/i/invalid/b/invalid_bool_returned.txt6
-rw-r--r--tests/functional/i/invalid/b/invalid_bytes_returned.txt6
-rw-r--r--tests/functional/i/invalid/e/invalid_envvar_value.txt62
-rw-r--r--tests/functional/i/invalid/e/invalid_exceptions_caught.txt24
-rw-r--r--tests/functional/i/invalid/e/invalid_exceptions_raised.txt22
-rw-r--r--tests/functional/i/invalid/g/invalid_getnewargs_ex_returned.txt12
-rw-r--r--tests/functional/i/invalid/g/invalid_getnewargs_returned.txt6
-rw-r--r--tests/functional/i/invalid/invalid_all_format.txt2
-rw-r--r--tests/functional/i/invalid/invalid_all_object.txt6
-rw-r--r--tests/functional/i/invalid/invalid_class_object.txt4
-rw-r--r--tests/functional/i/invalid/invalid_format_returned.txt6
-rw-r--r--tests/functional/i/invalid/invalid_hash_returned.txt8
-rw-r--r--tests/functional/i/invalid/invalid_index_returned.txt8
-rw-r--r--tests/functional/i/invalid/invalid_name.txt16
-rw-r--r--tests/functional/i/invalid/invalid_name_issue_3405.txt2
-rw-r--r--tests/functional/i/invalid/invalid_name_multinaming_style.txt2
-rw-r--r--tests/functional/i/invalid/invalid_overridden_method.txt12
-rw-r--r--tests/functional/i/invalid/invalid_repr_returned.txt6
-rw-r--r--tests/functional/i/invalid/invalid_unary_operand_type.txt28
-rw-r--r--tests/functional/i/invalid/l/invalid_length_hint_returned.txt6
-rw-r--r--tests/functional/i/invalid/l/invalid_length_returned.txt8
-rw-r--r--tests/functional/i/invalid/s/invalid_sequence_index.txt38
-rw-r--r--tests/functional/i/invalid/s/invalid_slice_index.txt10
-rw-r--r--tests/functional/i/invalid/s/invalid_star_assignment_target.txt2
-rw-r--r--tests/functional/i/invalid/s/invalid_str_returned.txt6
-rw-r--r--tests/functional/i/isinstance_second_argument.txt10
-rw-r--r--tests/functional/i/iterable_context.txt20
-rw-r--r--tests/functional/i/iterable_context_py3.txt2
-rw-r--r--tests/functional/i/iterable_context_py36.txt4
-rw-r--r--tests/functional/k/keyword_arg_before_vararg.txt8
-rw-r--r--tests/functional/l/line_endings.txt4
-rw-r--r--tests/functional/l/line_too_long.txt22
-rw-r--r--tests/functional/l/literal_comparison.txt24
-rw-r--r--tests/functional/l/logging_format_interpolation.txt14
-rw-r--r--tests/functional/l/logging_format_interpolation_py36.txt2
-rw-r--r--tests/functional/l/logging_fstring_interpolation_py36.txt10
-rw-r--r--tests/functional/l/logging_not_lazy.txt12
-rw-r--r--tests/functional/l/logging_not_lazy_with_logger.txt8
-rw-r--r--tests/functional/l/logical_tautology.txt24
-rw-r--r--tests/functional/l/long_lines_with_utf8.txt2
-rw-r--r--tests/functional/l/loopvar_in_dict_comp.txt2
-rw-r--r--tests/functional/l/lost_exception.txt4
-rw-r--r--tests/functional/m/mapping_context.txt4
-rw-r--r--tests/functional/m/mapping_context_py3.txt2
-rw-r--r--tests/functional/m/member/member_checks.txt38
-rw-r--r--tests/functional/m/member/member_checks_hints.txt10
-rw-r--r--tests/functional/m/member/member_checks_ignore_none.txt2
-rw-r--r--tests/functional/m/member/member_checks_no_hints.txt10
-rw-r--r--tests/functional/m/member/member_checks_opaque.txt2
-rw-r--r--tests/functional/m/member/member_checks_py37.txt2
-rw-r--r--tests/functional/m/member/member_checks_typed_annotations.txt2
-rw-r--r--tests/functional/m/member/membership_protocol.txt14
-rw-r--r--tests/functional/m/member/membership_protocol_py3.txt6
-rw-r--r--tests/functional/m/method_hidden.txt4
-rw-r--r--tests/functional/m/misplaced_bare_raise.txt14
-rw-r--r--tests/functional/m/misplaced_format_function.txt8
-rw-r--r--tests/functional/m/misplaced_future.txt2
-rw-r--r--tests/functional/m/missing/missing_docstring.txt6
-rw-r--r--tests/functional/m/missing/missing_docstring_new_style.txt10
-rw-r--r--tests/functional/m/missing/missing_final_newline.txt2
-rw-r--r--tests/functional/m/missing/missing_kwoa.txt6
-rw-r--r--tests/functional/m/missing/missing_parentheses_for_call_in_test.txt30
-rw-r--r--tests/functional/m/missing/missing_self_argument.txt6
-rw-r--r--tests/functional/m/mixin_class_rgx.txt6
-rw-r--r--tests/functional/m/module___dict__.txt2
-rw-r--r--tests/functional/m/multiple_imports.txt2
-rw-r--r--tests/functional/n/name/namePresetCamelCase.txt6
-rw-r--r--tests/functional/n/name/name_final.txt6
-rw-r--r--tests/functional/n/name/name_final_snake_case.txt10
-rw-r--r--tests/functional/n/name/name_good_bad_names_regex.txt6
-rw-r--r--tests/functional/n/name/name_preset_snake_case.txt10
-rw-r--r--tests/functional/n/name/name_styles.txt34
-rw-r--r--tests/functional/n/name/namedtuple_member_inference.txt2
-rw-r--r--tests/functional/n/name/names_in__all__.txt12
-rw-r--r--tests/functional/n/nan_comparison_check.txt24
-rw-r--r--tests/functional/n/nested_blocks_issue1088.txt4
-rw-r--r--tests/functional/n/nested_func_defined_in_loop.txt2
-rw-r--r--tests/functional/n/new_style_class_py_30.txt8
-rw-r--r--tests/functional/n/no/no_classmethod_decorator.txt6
-rw-r--r--tests/functional/n/no/no_dummy_redefined.txt4
-rw-r--r--tests/functional/n/no/no_else_break.txt14
-rw-r--r--tests/functional/n/no/no_else_continue.txt14
-rw-r--r--tests/functional/n/no/no_else_raise.txt14
-rw-r--r--tests/functional/n/no/no_else_return.txt14
-rw-r--r--tests/functional/n/no/no_member_dataclasses.txt4
-rw-r--r--tests/functional/n/no/no_member_if_statements.txt6
-rw-r--r--tests/functional/n/no/no_name_in_module.txt28
-rw-r--r--tests/functional/n/no/no_self_argument.txt4
-rw-r--r--tests/functional/n/no/no_self_argument_py37.txt2
-rw-r--r--tests/functional/n/no/no_self_use.txt4
-rw-r--r--tests/functional/n/no/no_staticmethod_decorator.txt6
-rw-r--r--tests/functional/n/non/non_ascii_name.txt4
-rw-r--r--tests/functional/n/non/non_init_parent_called.txt12
-rw-r--r--tests/functional/n/non/non_iterator_returned.txt8
-rw-r--r--tests/functional/n/non/non_str_assignment_to_dunder_name.txt16
-rw-r--r--tests/functional/n/none_dunder_protocols.txt12
-rw-r--r--tests/functional/n/nonexistent_operator.txt12
-rw-r--r--tests/functional/n/nonlocal_and_global.txt2
-rw-r--r--tests/functional/n/nonlocal_without_binding.txt6
-rw-r--r--tests/functional/n/not_async_context_manager.txt10
-rw-r--r--tests/functional/n/not_callable.txt18
-rw-r--r--tests/functional/n/not_context_manager.txt10
-rw-r--r--tests/functional/n/not_in_loop.txt16
-rw-r--r--tests/functional/o/overridden_final_method_py38.txt2
-rw-r--r--tests/functional/p/postponed_evaluation_not_activated.txt4
-rw-r--r--tests/functional/p/postponed_evaluation_pep585.txt40
-rw-r--r--tests/functional/p/postponed_evaluation_pep585_error.txt98
-rw-r--r--tests/functional/p/postponed_evaluation_pep585_py39.txt2
-rw-r--r--tests/functional/p/preferred_module.txt4
-rw-r--r--tests/functional/p/property_with_parameters.txt2
-rw-r--r--tests/functional/p/protected_access_access_different_scopes.txt4
-rw-r--r--tests/functional/p/protocol_classes.txt6
-rw-r--r--tests/functional/r/raise/raise_missing_from.txt14
-rw-r--r--tests/functional/r/raise/raising_format_tuple.txt14
-rw-r--r--tests/functional/r/raise/raising_non_exception.txt2
-rw-r--r--tests/functional/r/redeclared_assigned_name.txt8
-rw-r--r--tests/functional/r/redefine_loop.txt2
-rw-r--r--tests/functional/r/redefined_argument_from_local.txt14
-rw-r--r--tests/functional/r/redefined_builtin.txt4
-rw-r--r--tests/functional/r/redefined_builtin_allowed.txt4
-rw-r--r--tests/functional/r/redundant_u_string_prefix.txt14
-rw-r--r--tests/functional/r/redundant_unittest_assert.txt12
-rw-r--r--tests/functional/r/regression/regression_2913.txt2
-rw-r--r--tests/functional/r/regression/regression_3416_unused_argument_raise.txt6
-rw-r--r--tests/functional/r/regression/regression_4439.txt2
-rw-r--r--tests/functional/r/regression/regression_4680.txt4
-rw-r--r--tests/functional/r/regression/regression_4688_duplicated_bases_member_hints.txt2
-rw-r--r--tests/functional/r/regression/regression_4723.txt2
-rw-r--r--tests/functional/r/regression/regression___file___global.txt4
-rw-r--r--tests/functional/r/regression/regression_implicit_none_with_no_return.txt4
-rw-r--r--tests/functional/r/regression/regression_infer_call_result_3690.txt2
-rw-r--r--tests/functional/r/regression/regression_properties_in_class_context.txt4
-rw-r--r--tests/functional/r/regression_02/regression_protected_access.txt2
-rw-r--r--tests/functional/r/reimport.txt8
-rw-r--r--tests/functional/r/reimported.txt18
-rw-r--r--tests/functional/r/renamed_import_logging_not_lazy.txt4
-rw-r--r--tests/functional/r/repeated_keyword.txt2
-rw-r--r--tests/functional/r/return_in_init.txt2
-rw-r--r--tests/functional/r/return_outside_function.txt2
-rw-r--r--tests/functional/r/reused_outer_loop_variable.txt8
-rw-r--r--tests/functional/r/reused_outer_loop_variable_py3.txt2
-rw-r--r--tests/functional/s/self/self_assigning_variable.txt4
-rw-r--r--tests/functional/s/self/self_cls_assignment.txt10
-rw-r--r--tests/functional/s/signature_differs.txt2
-rw-r--r--tests/functional/s/simplifiable/simplifiable_condition.txt24
-rw-r--r--tests/functional/s/simplifiable/simplifiable_if_expression.txt8
-rw-r--r--tests/functional/s/simplifiable/simplifiable_if_statement.txt8
-rw-r--r--tests/functional/s/simplifiable/simplify_chained_comparison.txt36
-rw-r--r--tests/functional/s/singledispatch_functions.txt10
-rw-r--r--tests/functional/s/singleton_comparison.txt24
-rw-r--r--tests/functional/s/slots_checks.txt22
-rw-r--r--tests/functional/s/star/star_needs_assignment_target.txt2
-rw-r--r--tests/functional/s/statement_without_effect.txt24
-rw-r--r--tests/functional/s/statement_without_effect_py36.txt2
-rw-r--r--tests/functional/s/stop_iteration_inside_generator.txt14
-rw-r--r--tests/functional/s/string/string_formatting.txt94
-rw-r--r--tests/functional/s/string/string_formatting_disable.txt2
-rw-r--r--tests/functional/s/string/string_formatting_error.txt30
-rw-r--r--tests/functional/s/string/string_formatting_py3.txt4
-rw-r--r--tests/functional/s/string/string_log_formatting.txt12
-rw-r--r--tests/functional/s/subclassed_final_class_py38.txt2
-rw-r--r--tests/functional/s/subprocess_popen_preexec_fn.txt2
-rw-r--r--tests/functional/s/subprocess_run_check.txt2
-rw-r--r--tests/functional/s/super/super_checks.txt34
-rw-r--r--tests/functional/s/super/super_with_arguments.txt2
-rw-r--r--tests/functional/s/super/superfluous_parens.txt12
-rw-r--r--tests/functional/s/super/superfluous_parens_walrus_py38.txt10
-rw-r--r--tests/functional/s/suspicious_str_strip_call.txt6
-rw-r--r--tests/functional/s/syntax_error.txt2
-rw-r--r--tests/functional/s/sys_stream_regression_1004.txt4
-rw-r--r--tests/functional/t/ternary.txt16
-rw-r--r--tests/functional/t/tokenize_error.txt2
-rw-r--r--tests/functional/t/too/too_few_public_methods.txt2
-rw-r--r--tests/functional/t/too/too_few_public_methods_excluded.txt2
-rw-r--r--tests/functional/t/too/too_many_ancestors.txt4
-rw-r--r--tests/functional/t/too/too_many_ancestors_ignored_parents.txt2
-rw-r--r--tests/functional/t/too/too_many_arguments.txt2
-rw-r--r--tests/functional/t/too/too_many_boolean_expressions.txt8
-rw-r--r--tests/functional/t/too/too_many_branches.txt2
-rw-r--r--tests/functional/t/too/too_many_instance_attributes.txt2
-rw-r--r--tests/functional/t/too/too_many_lines.txt2
-rw-r--r--tests/functional/t/too/too_many_locals.txt6
-rw-r--r--tests/functional/t/too/too_many_nested_blocks.txt4
-rw-r--r--tests/functional/t/too/too_many_public_methods.txt2
-rw-r--r--tests/functional/t/too/too_many_return_statements.txt2
-rw-r--r--tests/functional/t/too/too_many_star_expressions.txt4
-rw-r--r--tests/functional/t/too/too_many_statements.txt6
-rw-r--r--tests/functional/t/trailing_comma_tuple.txt18
-rw-r--r--tests/functional/t/trailing_newlines.txt2
-rw-r--r--tests/functional/t/trailing_whitespaces.txt6
-rw-r--r--tests/functional/t/try_except_raise.txt12
-rw-r--r--tests/functional/t/try_except_raise_crash.txt4
-rw-r--r--tests/functional/t/typing_use.txt2
-rw-r--r--tests/functional/u/unbalanced_tuple_unpacking.txt10
-rw-r--r--tests/functional/u/undefined/undefined_loop_variable.txt6
-rw-r--r--tests/functional/u/undefined/undefined_variable.txt72
-rw-r--r--tests/functional/u/undefined/undefined_variable_py30.txt20
-rw-r--r--tests/functional/u/undefined/undefined_variable_py38.txt10
-rw-r--r--tests/functional/u/unexpected_special_method_signature.txt32
-rw-r--r--tests/functional/u/ungrouped_imports.txt10
-rw-r--r--tests/functional/u/unhashable_dict_key.txt8
-rw-r--r--tests/functional/u/unidiomatic_typecheck.txt28
-rw-r--r--tests/functional/u/unnecessary/unnecessary_comprehension.txt26
-rw-r--r--tests/functional/u/unnecessary/unnecessary_dict_index_lookup.txt46
-rw-r--r--tests/functional/u/unnecessary/unnecessary_lambda.txt14
-rw-r--r--tests/functional/u/unnecessary/unnecessary_not.txt28
-rw-r--r--tests/functional/u/unnecessary/unnecessary_pass.txt6
-rw-r--r--tests/functional/u/unpacking_generalizations.txt12
-rw-r--r--tests/functional/u/unpacking_non_sequence.txt20
-rw-r--r--tests/functional/u/unreachable.txt10
-rw-r--r--tests/functional/u/unrecognized_inline_option.txt2
-rw-r--r--tests/functional/u/unspecified_encoding_py38.txt50
-rw-r--r--tests/functional/u/unsubscriptable_value.txt30
-rw-r--r--tests/functional/u/unsubscriptable_value_py37.txt2
-rw-r--r--tests/functional/u/unsupported/unsupported_assignment_operation.txt34
-rw-r--r--tests/functional/u/unsupported/unsupported_delete_operation.txt34
-rw-r--r--tests/functional/u/unsupported/unsupported_version_for_f_string.txt4
-rw-r--r--tests/functional/u/unsupported/unsupported_version_for_final.txt18
-rw-r--r--tests/functional/u/unused/unused_argument.txt16
-rw-r--r--tests/functional/u/unused/unused_argument_py3.txt6
-rw-r--r--tests/functional/u/unused/unused_global_variable2.txt2
-rw-r--r--tests/functional/u/unused/unused_global_variable4.txt4
-rw-r--r--tests/functional/u/unused/unused_import.txt20
-rw-r--r--tests/functional/u/unused/unused_import_py30.txt2
-rw-r--r--tests/functional/u/unused/unused_name_from_wilcard_import.txt12
-rw-r--r--tests/functional/u/unused/unused_private_member.txt38
-rw-r--r--tests/functional/u/unused/unused_variable.txt52
-rw-r--r--tests/functional/u/unused/unused_variable_py38.txt12
-rw-r--r--tests/functional/u/use/use_a_generator.txt4
-rw-r--r--tests/functional/u/use/use_implicit_booleaness_not_comparison.txt60
-rw-r--r--tests/functional/u/use/use_implicit_booleaness_not_len.txt50
-rw-r--r--tests/functional/u/use/use_literal_dict.txt2
-rw-r--r--tests/functional/u/use/use_literal_list.txt2
-rw-r--r--tests/functional/u/use/use_maxsplit_arg.txt42
-rw-r--r--tests/functional/u/use/use_sequence_for_iteration.txt8
-rw-r--r--tests/functional/u/use/use_symbolic_message_instead.txt28
-rw-r--r--tests/functional/u/use/used_before_assignment.txt10
-rw-r--r--tests/functional/u/use/used_before_assignment_issue1081.txt14
-rw-r--r--tests/functional/u/use/used_before_assignment_issue626.txt10
-rw-r--r--tests/functional/u/use/used_before_assignment_nonlocal.txt12
-rw-r--r--tests/functional/u/use/used_before_assignment_py37.txt2
-rw-r--r--tests/functional/u/use/used_prior_global_declaration.txt2
-rw-r--r--tests/functional/u/use/using_constant_test.txt52
-rw-r--r--tests/functional/u/useless/useless_else_on_loop.txt12
-rw-r--r--tests/functional/u/useless/useless_object_inheritance.txt8
-rw-r--r--tests/functional/u/useless/useless_return.txt4
-rw-r--r--tests/functional/u/useless/useless_super_delegation.txt38
-rw-r--r--tests/functional/u/useless/useless_super_delegation_py3.txt4
-rw-r--r--tests/functional/u/useless/useless_super_delegation_py35.txt2
-rw-r--r--tests/functional/u/useless/useless_super_delegation_py38.txt2
-rw-r--r--tests/functional/u/useless/useless_with_lock.txt22
-rw-r--r--tests/functional/w/wildcard_import.txt4
-rw-r--r--tests/functional/w/wildcard_import_allowed.txt4
-rw-r--r--tests/functional/w/with_used_before_assign.txt4
-rw-r--r--tests/functional/w/with_using_generator.txt2
-rw-r--r--tests/functional/w/wrong_exception_operation.txt6
-rw-r--r--tests/functional/w/wrong_import_order.txt12
-rw-r--r--tests/functional/w/wrong_import_position.txt8
-rw-r--r--tests/functional/w/wrong_import_position11.txt2
-rw-r--r--tests/functional/w/wrong_import_position12.txt2
-rw-r--r--tests/functional/w/wrong_import_position13.txt2
-rw-r--r--tests/functional/w/wrong_import_position14.txt2
-rw-r--r--tests/functional/y/yield_from_iterable.txt2
-rw-r--r--tests/functional/y/yield_from_outside_func.txt2
-rw-r--r--tests/functional/y/yield_inside_async_function.txt2
-rw-r--r--tests/functional/y/yield_outside_func.txt2
-rw-r--r--tests/test_functional.py6
-rw-r--r--tests/testutils/test_output_line.py56
427 files changed, 2889 insertions, 2748 deletions
diff --git a/ChangeLog b/ChangeLog
index cffad1cf3..ce32d1628 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -44,6 +44,15 @@ Release date: TBA
* Fix exception when pyreverse parses ``property function`` of a class.
+* The functional ``testutils`` now accept ``end_lineno`` and ``end_column``. Expected
+ output files without these will trigger a ``DeprecationWarning``. Expected output files
+ can be easily updated with the ``python tests/test_functional.py --update-functional-output`` command.
+
+* The functional ``testutils`` now correctly check the distinction betweeen ``HIGH`` and
+ ``UNDEFINED`` confidence. Expected output files without defiend ``confidence`` levels will now
+ trigger a ``DeprecationWarning``. Expected output files can be easily updated with the
+ ``python tests/test_functional.py --update-functional-output`` command.
+
* Fix ``accept-no-yields-doc`` and ``accept-no-return-doc`` not allowing missing ``yield`` or
``return`` documentation when a docstring is partially correct
diff --git a/doc/whatsnew/2.12.rst b/doc/whatsnew/2.12.rst
index 24f3a9ddb..1dee53bb8 100644
--- a/doc/whatsnew/2.12.rst
+++ b/doc/whatsnew/2.12.rst
@@ -123,6 +123,15 @@ Other Changes
Closes #3031
+* The functional ``testutils`` now accept ``end_lineno`` and ``end_column``. Expected
+ output files without these will trigger a ``DeprecationWarning``. Expected output files
+ can be easily updated with the ``python tests/test_functional.py --update-functional-output`` command.
+
+* The functional ``testutils`` now correctly check the distinction betweeen ``HIGH`` and
+ ``UNDEFINED`` confidence. Expected output files without defiend ``confidence`` levels will now
+ trigger a ``DeprecationWarning``. Expected output files can be easily updated with the
+ ``python tests/test_functional.py --update-functional-output`` command.
+
* ``undefined-variable`` now correctly flags variables which only receive a type annotations
and never get assigned a value
diff --git a/pylint/testutils/output_line.py b/pylint/testutils/output_line.py
index faba6ae26..61c6f2557 100644
--- a/pylint/testutils/output_line.py
+++ b/pylint/testutils/output_line.py
@@ -1,15 +1,18 @@
# Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
# For details: https://github.com/PyCQA/pylint/blob/main/LICENSE
-from typing import Any, NamedTuple, Optional, Sequence, Tuple, Union
+import warnings
+from typing import Any, NamedTuple, Optional, Sequence, Tuple, TypeVar, Union
from astroid import nodes
from pylint.constants import PY38_PLUS
-from pylint.interfaces import HIGH, UNDEFINED, Confidence
+from pylint.interfaces import UNDEFINED, Confidence
from pylint.message.message import Message
from pylint.testutils.constants import UPDATE_OPTION
+T = TypeVar("T")
+
class MessageTest(NamedTuple):
msg_id: str
@@ -33,6 +36,8 @@ class MalformedOutputLineException(Exception):
"symbol",
"line",
"column",
+ "end_line",
+ "end_column",
"MyClass.myFunction, (or '')",
"Message",
"confidence",
@@ -61,41 +66,117 @@ class OutputLine(NamedTuple):
symbol: str
lineno: int
column: int
+ end_lineno: Optional[int]
+ end_column: Optional[int]
object: str
msg: str
confidence: str
@classmethod
def from_msg(cls, msg: Message) -> "OutputLine":
+ """Create an OutputLine from a Pylint Message"""
column = cls._get_column(msg.column)
+ end_line = cls._get_py38_none_value(msg.end_line)
+ end_column = cls._get_py38_none_value(msg.end_column)
return cls(
msg.symbol,
msg.line,
column,
+ end_line,
+ end_column,
msg.obj or "",
msg.msg.replace("\r\n", "\n"),
- msg.confidence.name if msg.confidence != UNDEFINED else HIGH.name,
+ msg.confidence.name,
)
@staticmethod
def _get_column(column: str) -> int:
+ """Handle column numbers with the exception of pylint < 3.8 not having them
+ in the ast parser.
+ """
if not PY38_PLUS:
# We check the column only for the new better ast parser introduced in python 3.8
return 0 # pragma: no cover
return int(column)
+ @staticmethod
+ def _get_py38_none_value(value: T) -> Optional[T]:
+ """Handle attributes that are always None on pylint < 3.8 similar to _get_column."""
+ if not PY38_PLUS:
+ # We check the value only for the new better ast parser introduced in python 3.8
+ return None # pragma: no cover
+ return value
+
@classmethod
def from_csv(cls, row: Union[Sequence[str], str]) -> "OutputLine":
+ """Create an OutputLine from a comma separated list (the functional tests expected
+ output .txt files).
+ """
try:
if isinstance(row, Sequence):
column = cls._get_column(row[2])
if len(row) == 5:
- return cls(row[0], int(row[1]), column, row[3], row[4], HIGH.name)
+ warnings.warn(
+ "In pylint 3.0 functional tests expected output should always include the "
+ "expected confidence level, expected end_line and expected end_column. "
+ "An OutputLine should thus have a length of 8.",
+ DeprecationWarning,
+ )
+ return cls(
+ row[0],
+ int(row[1]),
+ column,
+ None,
+ None,
+ row[3],
+ row[4],
+ UNDEFINED.name,
+ )
if len(row) == 6:
- return cls(row[0], int(row[1]), column, row[3], row[4], row[5])
+ warnings.warn(
+ "In pylint 3.0 functional tests expected output should always include the "
+ "expected end_line and expected end_column. An OutputLine should thus have "
+ "a length of 8.",
+ DeprecationWarning,
+ )
+ return cls(
+ row[0], int(row[1]), column, None, None, row[3], row[4], row[5]
+ )
+ if len(row) == 8:
+ end_line = cls._get_py38_none_value(row[3])
+ end_column = cls._get_py38_none_value(row[4])
+ return cls(
+ row[0],
+ int(row[1]),
+ column,
+ cls._value_to_optional_int(end_line),
+ cls._value_to_optional_int(end_column),
+ row[5],
+ row[6],
+ row[7],
+ )
raise IndexError
except Exception as e:
raise MalformedOutputLineException(row, e) from e
- def to_csv(self) -> Tuple[str, str, str, str, str, str]:
- return tuple(str(i) for i in self) # type: ignore[return-value] # pylint: disable=not-an-iterable
+ def to_csv(self) -> Tuple[str, str, str, str, str, str, str, str]:
+ """Convert an OutputLine to a tuple of string to be written by a
+ csv-writer.
+ """
+ return (
+ str(self.symbol),
+ str(self.lineno),
+ str(self.column),
+ str(self.end_lineno),
+ str(self.end_column),
+ str(self.object),
+ str(self.msg),
+ str(self.confidence),
+ )
+
+ @staticmethod
+ def _value_to_optional_int(value: Optional[str]) -> Optional[int]:
+ """Checks if a (stringified) value should be None or a Python integer"""
+ if value == "None" or not value:
+ return None
+ return int(value)
diff --git a/tests/functional/a/abstract/abstract_class_instantiated.txt b/tests/functional/a/abstract/abstract_class_instantiated.txt
index 757528d01..81d607769 100644
--- a/tests/functional/a/abstract/abstract_class_instantiated.txt
+++ b/tests/functional/a/abstract/abstract_class_instantiated.txt
@@ -1,6 +1,6 @@
-abstract-class-instantiated:108:4:main:Abstract class 'BadMroAbstractMethods' with abstract methods instantiated:HIGH
-abstract-class-instantiated:109:4:main:Abstract class 'BadClass' with abstract methods instantiated:HIGH
-abstract-class-instantiated:110:4:main:Abstract class 'SecondBadClass' with abstract methods instantiated:HIGH
-abstract-class-instantiated:111:4:main:Abstract class 'ThirdBadClass' with abstract methods instantiated:HIGH
-abstract-class-instantiated:128:4:main2:Abstract class 'FourthBadClass' with abstract methods instantiated:HIGH
-abstract-class-instantiated:143:4:main_two:Abstract class 'BadClassTwo' with abstract methods instantiated:HIGH
+abstract-class-instantiated:108:4:108:27:main:Abstract class 'BadMroAbstractMethods' with abstract methods instantiated:UNDEFINED
+abstract-class-instantiated:109:4:109:14:main:Abstract class 'BadClass' with abstract methods instantiated:UNDEFINED
+abstract-class-instantiated:110:4:110:20:main:Abstract class 'SecondBadClass' with abstract methods instantiated:UNDEFINED
+abstract-class-instantiated:111:4:111:19:main:Abstract class 'ThirdBadClass' with abstract methods instantiated:UNDEFINED
+abstract-class-instantiated:128:4:128:20:main2:Abstract class 'FourthBadClass' with abstract methods instantiated:UNDEFINED
+abstract-class-instantiated:143:4:143:17:main_two:Abstract class 'BadClassTwo' with abstract methods instantiated:UNDEFINED
diff --git a/tests/functional/a/abstract/abstract_method.txt b/tests/functional/a/abstract/abstract_method.txt
index 783242fd5..1eb47639c 100644
--- a/tests/functional/a/abstract/abstract_method.txt
+++ b/tests/functional/a/abstract/abstract_method.txt
@@ -1,16 +1,16 @@
-abstract-method:47:0:Concrete:Method 'bbbb' is abstract in class 'Abstract' but is not overridden
-abstract-method:70:0:Container:Method '__hash__' is abstract in class 'Structure' but is not overridden
-abstract-method:70:0:Container:Method '__iter__' is abstract in class 'Structure' but is not overridden
-abstract-method:70:0:Container:Method '__len__' is abstract in class 'Structure' but is not overridden
-abstract-method:76:0:Sizable:Method '__contains__' is abstract in class 'Structure' but is not overridden
-abstract-method:76:0:Sizable:Method '__hash__' is abstract in class 'Structure' but is not overridden
-abstract-method:76:0:Sizable:Method '__iter__' is abstract in class 'Structure' but is not overridden
-abstract-method:82:0:Hashable:Method '__contains__' is abstract in class 'Structure' but is not overridden
-abstract-method:82:0:Hashable:Method '__iter__' is abstract in class 'Structure' but is not overridden
-abstract-method:82:0:Hashable:Method '__len__' is abstract in class 'Structure' but is not overridden
-abstract-method:87:0:Iterator:Method '__contains__' is abstract in class 'Structure' but is not overridden
-abstract-method:87:0:Iterator:Method '__hash__' is abstract in class 'Structure' but is not overridden
-abstract-method:87:0:Iterator:Method '__len__' is abstract in class 'Structure' but is not overridden
-abstract-method:106:0:BadComplexMro:Method '__hash__' is abstract in class 'Structure' but is not overridden
-abstract-method:106:0:BadComplexMro:Method '__len__' is abstract in class 'AbstractSizable' but is not overridden
-abstract-method:106:0:BadComplexMro:Method 'length' is abstract in class 'AbstractSizable' but is not overridden
+abstract-method:47:0:51:38:Concrete:Method 'bbbb' is abstract in class 'Abstract' but is not overridden:UNDEFINED
+abstract-method:70:0:72:12:Container:Method '__hash__' is abstract in class 'Structure' but is not overridden:UNDEFINED
+abstract-method:70:0:72:12:Container:Method '__iter__' is abstract in class 'Structure' but is not overridden:UNDEFINED
+abstract-method:70:0:72:12:Container:Method '__len__' is abstract in class 'Structure' but is not overridden:UNDEFINED
+abstract-method:76:0:78:17:Sizable:Method '__contains__' is abstract in class 'Structure' but is not overridden:UNDEFINED
+abstract-method:76:0:78:17:Sizable:Method '__hash__' is abstract in class 'Structure' but is not overridden:UNDEFINED
+abstract-method:76:0:78:17:Sizable:Method '__iter__' is abstract in class 'Structure' but is not overridden:UNDEFINED
+abstract-method:82:0:83:17:Hashable:Method '__contains__' is abstract in class 'Structure' but is not overridden:UNDEFINED
+abstract-method:82:0:83:17:Hashable:Method '__iter__' is abstract in class 'Structure' but is not overridden:UNDEFINED
+abstract-method:82:0:83:17:Hashable:Method '__len__' is abstract in class 'Structure' but is not overridden:UNDEFINED
+abstract-method:87:0:91:19:Iterator:Method '__contains__' is abstract in class 'Structure' but is not overridden:UNDEFINED
+abstract-method:87:0:91:19:Iterator:Method '__hash__' is abstract in class 'Structure' but is not overridden:UNDEFINED
+abstract-method:87:0:91:19:Iterator:Method '__len__' is abstract in class 'Structure' but is not overridden:UNDEFINED
+abstract-method:106:0:107:8:BadComplexMro:Method '__hash__' is abstract in class 'Structure' but is not overridden:UNDEFINED
+abstract-method:106:0:107:8:BadComplexMro:Method '__len__' is abstract in class 'AbstractSizable' but is not overridden:UNDEFINED
+abstract-method:106:0:107:8:BadComplexMro:Method 'length' is abstract in class 'AbstractSizable' but is not overridden:UNDEFINED
diff --git a/tests/functional/a/access/access_member_before_definition.txt b/tests/functional/a/access/access_member_before_definition.txt
index 76ba5de50..6b7f7c4cc 100644
--- a/tests/functional/a/access/access_member_before_definition.txt
+++ b/tests/functional/a/access/access_member_before_definition.txt
@@ -1,2 +1,2 @@
-access-member-before-definition:8:15:Aaaa.__init__:Access to member '_var2' before its definition line 9
-access-member-before-definition:28:19:Bbbb.catchme:Access to member '_repo' before its definition line 30
+access-member-before-definition:8:15:8:25:Aaaa.__init__:Access to member '_var2' before its definition line 9:UNDEFINED
+access-member-before-definition:28:19:28:29:Bbbb.catchme:Access to member '_repo' before its definition line 30:UNDEFINED
diff --git a/tests/functional/a/access/access_to__name__.txt b/tests/functional/a/access/access_to__name__.txt
index 5e1f80e2a..fd6aa4162 100644
--- a/tests/functional/a/access/access_to__name__.txt
+++ b/tests/functional/a/access/access_to__name__.txt
@@ -1,2 +1,2 @@
-no-member:10:14:Aaaa.__init__:Instance of 'Aaaa' has no '__name__' member:INFERENCE
-no-member:21:22:NewClass.__init__:Instance of 'NewClass' has no '__name__' member:INFERENCE
+no-member:10:14:10:27:Aaaa.__init__:Instance of 'Aaaa' has no '__name__' member:INFERENCE
+no-member:21:22:21:35:NewClass.__init__:Instance of 'NewClass' has no '__name__' member:INFERENCE
diff --git a/tests/functional/a/access/access_to_protected_members.txt b/tests/functional/a/access/access_to_protected_members.txt
index 3f127f70c..d9dfd96ce 100644
--- a/tests/functional/a/access/access_to_protected_members.txt
+++ b/tests/functional/a/access/access_to_protected_members.txt
@@ -1,28 +1,28 @@
-protected-access:19:14:MyClass.test:Access to a protected member _haha of a client class:HIGH
-protected-access:41:0::Access to a protected member _protected of a client class:HIGH
-protected-access:42:6::Access to a protected member _protected of a client class:HIGH
-protected-access:43:0::Access to a protected member _cls_protected of a client class:HIGH
-protected-access:44:6::Access to a protected member _cls_protected of a client class:HIGH
-protected-access:58:19:Issue1031.incorrect_access:Access to a protected member _protected of a client class:HIGH
-protected-access:72:48:Issue1802.__eq__:Access to a protected member __private of a client class:HIGH
-protected-access:80:32:Issue1802.not_in_special:Access to a protected member _foo of a client class:HIGH
-protected-access:100:32:Issue1802.__fake_special__:Access to a protected member _foo of a client class:HIGH
-protected-access:162:8:Issue1159.access_other_attr:Access to a protected member _bar of a client class:HIGH
-protected-access:163:12:Issue1159.access_other_attr:Access to a protected member _foo of a client class:HIGH
-no-member:194:12:Issue1159Subclass.access_missing_member:Instance of 'Issue1159Subclass' has no '_baz' member; maybe '_bar'?:INFERENCE
-protected-access:194:12:Issue1159Subclass.access_missing_member:Access to a protected member _baz of a client class:HIGH
-attribute-defined-outside-init:203:8:Issue1159Subclass.assign_missing_member:Attribute '_qux' defined outside __init__:HIGH
-protected-access:212:8:Issue1159Subclass.access_other_attr:Access to a protected member _bar of a client class:HIGH
-protected-access:213:12:Issue1159Subclass.access_other_attr:Access to a protected member _foo of a client class:HIGH
-protected-access:232:8:Issue3066.foobar:Access to a protected member _attr of a client class:HIGH
-protected-access:233:8:Issue3066.foobar:Access to a protected member _attr of a client class:HIGH
-protected-access:236:8:Issue3066.foobar:Access to a protected member _bar of a client class:HIGH
-protected-access:237:8:Issue3066.foobar:Access to a protected member _bar of a client class:HIGH
-protected-access:247:12:Issue3066.Aclass.foobar:Access to a protected member _attr of a client class:HIGH
-protected-access:249:12:Issue3066.Aclass.foobar:Access to a protected member _attr of a client class:HIGH
-protected-access:251:12:Issue3066.Aclass.foobar:Access to a protected member _bar of a client class:HIGH
-protected-access:253:12:Issue3066.Aclass.foobar:Access to a protected member _bar of a client class:HIGH
-protected-access:267:16:Issue3066.Aclass.Bclass.foobar:Access to a protected member _attr of a client class:HIGH
-protected-access:268:16:Issue3066.Aclass.Bclass.foobar:Access to a protected member _attr of a client class:HIGH
-protected-access:271:16:Issue3066.Aclass.Bclass.foobar:Access to a protected member _bar of a client class:HIGH
-protected-access:272:16:Issue3066.Aclass.Bclass.foobar:Access to a protected member _bar of a client class:HIGH
+protected-access:19:14:19:31:MyClass.test:Access to a protected member _haha of a client class:UNDEFINED
+protected-access:41:0:41:15::Access to a protected member _protected of a client class:UNDEFINED
+protected-access:42:6:42:21::Access to a protected member _protected of a client class:UNDEFINED
+protected-access:43:0:43:19::Access to a protected member _cls_protected of a client class:UNDEFINED
+protected-access:44:6:44:25::Access to a protected member _cls_protected of a client class:UNDEFINED
+protected-access:58:19:58:40:Issue1031.incorrect_access:Access to a protected member _protected of a client class:UNDEFINED
+protected-access:72:48:72:63:Issue1802.__eq__:Access to a protected member __private of a client class:UNDEFINED
+protected-access:80:32:80:42:Issue1802.not_in_special:Access to a protected member _foo of a client class:UNDEFINED
+protected-access:100:32:100:42:Issue1802.__fake_special__:Access to a protected member _foo of a client class:UNDEFINED
+protected-access:162:8:162:21:Issue1159.access_other_attr:Access to a protected member _bar of a client class:UNDEFINED
+protected-access:163:12:163:25:Issue1159.access_other_attr:Access to a protected member _foo of a client class:UNDEFINED
+no-member:194:12:194:25:Issue1159Subclass.access_missing_member:Instance of 'Issue1159Subclass' has no '_baz' member; maybe '_bar'?:INFERENCE
+protected-access:194:12:194:25:Issue1159Subclass.access_missing_member:Access to a protected member _baz of a client class:UNDEFINED
+attribute-defined-outside-init:203:8:203:21:Issue1159Subclass.assign_missing_member:Attribute '_qux' defined outside __init__:UNDEFINED
+protected-access:212:8:212:21:Issue1159Subclass.access_other_attr:Access to a protected member _bar of a client class:UNDEFINED
+protected-access:213:12:213:25:Issue1159Subclass.access_other_attr:Access to a protected member _foo of a client class:UNDEFINED
+protected-access:232:8:232:30:Issue3066.foobar:Access to a protected member _attr of a client class:UNDEFINED
+protected-access:233:8:233:37:Issue3066.foobar:Access to a protected member _attr of a client class:UNDEFINED
+protected-access:236:8:236:29:Issue3066.foobar:Access to a protected member _bar of a client class:UNDEFINED
+protected-access:237:8:237:36:Issue3066.foobar:Access to a protected member _bar of a client class:UNDEFINED
+protected-access:247:12:247:27:Issue3066.Aclass.foobar:Access to a protected member _attr of a client class:UNDEFINED
+protected-access:249:12:249:41:Issue3066.Aclass.foobar:Access to a protected member _attr of a client class:UNDEFINED
+protected-access:251:12:251:26:Issue3066.Aclass.foobar:Access to a protected member _bar of a client class:UNDEFINED
+protected-access:253:12:253:40:Issue3066.Aclass.foobar:Access to a protected member _bar of a client class:UNDEFINED
+protected-access:267:16:267:31:Issue3066.Aclass.Bclass.foobar:Access to a protected member _attr of a client class:UNDEFINED
+protected-access:268:16:268:38:Issue3066.Aclass.Bclass.foobar:Access to a protected member _attr of a client class:UNDEFINED
+protected-access:271:16:271:30:Issue3066.Aclass.Bclass.foobar:Access to a protected member _bar of a client class:UNDEFINED
+protected-access:272:16:272:37:Issue3066.Aclass.Bclass.foobar:Access to a protected member _bar of a client class:UNDEFINED
diff --git a/tests/functional/a/alternative/alternative_union_syntax_error.txt b/tests/functional/a/alternative/alternative_union_syntax_error.txt
index d6c1bca78..5be5653f3 100644
--- a/tests/functional/a/alternative/alternative_union_syntax_error.txt
+++ b/tests/functional/a/alternative/alternative_union_syntax_error.txt
@@ -1,24 +1,24 @@
-unsupported-binary-operation:14:8::unsupported operand type(s) for |
-unsupported-binary-operation:15:7::unsupported operand type(s) for |
-unsupported-binary-operation:17:23::unsupported operand type(s) for |
-unsupported-binary-operation:18:6::unsupported operand type(s) for |
-unsupported-binary-operation:19:6::unsupported operand type(s) for |
-unsupported-binary-operation:20:18::unsupported operand type(s) for |
-unsupported-binary-operation:23:23::unsupported operand type(s) for |
-unsupported-binary-operation:25:24::unsupported operand type(s) for |
-unsupported-binary-operation:27:14::unsupported operand type(s) for |
-unsupported-binary-operation:29:5::unsupported operand type(s) for |
-unsupported-binary-operation:31:14:func:unsupported operand type(s) for |
-unsupported-binary-operation:34:15:func2:unsupported operand type(s) for |
-unsupported-binary-operation:40:9::unsupported operand type(s) for |
-unsupported-binary-operation:47:36::unsupported operand type(s) for |
-unsupported-binary-operation:50:12:CustomNamedTuple2:unsupported operand type(s) for |
-unsupported-binary-operation:53:12:CustomNamedTuple3:unsupported operand type(s) for |
-unsupported-binary-operation:57:54::unsupported operand type(s) for |
-unsupported-binary-operation:59:60::unsupported operand type(s) for |
-unsupported-binary-operation:62:12:CustomTypedDict3:unsupported operand type(s) for |
-unsupported-binary-operation:65:12:CustomTypedDict4:unsupported operand type(s) for |
-unsupported-binary-operation:76:12:CustomDataClass:unsupported operand type(s) for |
-unsupported-binary-operation:80:12:CustomDataClass2:unsupported operand type(s) for |
-unsupported-binary-operation:84:12:CustomDataClass3:unsupported operand type(s) for |
-unsupported-binary-operation:89:12:CustomDataClass4:unsupported operand type(s) for |
+unsupported-binary-operation:14:8:14:30::unsupported operand type(s) for |:UNDEFINED
+unsupported-binary-operation:15:7:15:35::unsupported operand type(s) for |:UNDEFINED
+unsupported-binary-operation:17:23:17:33::unsupported operand type(s) for |:UNDEFINED
+unsupported-binary-operation:18:6:18:15::unsupported operand type(s) for |:UNDEFINED
+unsupported-binary-operation:19:6:19:34::unsupported operand type(s) for |:UNDEFINED
+unsupported-binary-operation:20:18:20:46::unsupported operand type(s) for |:UNDEFINED
+unsupported-binary-operation:23:23:23:32::unsupported operand type(s) for |:UNDEFINED
+unsupported-binary-operation:25:24:25:33::unsupported operand type(s) for |:UNDEFINED
+unsupported-binary-operation:27:14:27:23::unsupported operand type(s) for |:UNDEFINED
+unsupported-binary-operation:29:5:29:14::unsupported operand type(s) for |:UNDEFINED
+unsupported-binary-operation:31:14:31:23:func:unsupported operand type(s) for |:UNDEFINED
+unsupported-binary-operation:34:15:34:24:func2:unsupported operand type(s) for |:UNDEFINED
+unsupported-binary-operation:40:9:40:25::unsupported operand type(s) for |:UNDEFINED
+unsupported-binary-operation:47:36:47:45::unsupported operand type(s) for |:UNDEFINED
+unsupported-binary-operation:50:12:50:21:CustomNamedTuple2:unsupported operand type(s) for |:UNDEFINED
+unsupported-binary-operation:53:12:53:21:CustomNamedTuple3:unsupported operand type(s) for |:UNDEFINED
+unsupported-binary-operation:57:54:57:63::unsupported operand type(s) for |:UNDEFINED
+unsupported-binary-operation:59:60:59:69::unsupported operand type(s) for |:UNDEFINED
+unsupported-binary-operation:62:12:62:21:CustomTypedDict3:unsupported operand type(s) for |:UNDEFINED
+unsupported-binary-operation:65:12:65:21:CustomTypedDict4:unsupported operand type(s) for |:UNDEFINED
+unsupported-binary-operation:76:12:76:21:CustomDataClass:unsupported operand type(s) for |:UNDEFINED
+unsupported-binary-operation:80:12:80:21:CustomDataClass2:unsupported operand type(s) for |:UNDEFINED
+unsupported-binary-operation:84:12:84:21:CustomDataClass3:unsupported operand type(s) for |:UNDEFINED
+unsupported-binary-operation:89:12:89:21:CustomDataClass4:unsupported operand type(s) for |:UNDEFINED
diff --git a/tests/functional/a/alternative/alternative_union_syntax_py37.txt b/tests/functional/a/alternative/alternative_union_syntax_py37.txt
index e97793af6..e92fd1d7c 100644
--- a/tests/functional/a/alternative/alternative_union_syntax_py37.txt
+++ b/tests/functional/a/alternative/alternative_union_syntax_py37.txt
@@ -1,9 +1,9 @@
-unsupported-binary-operation:15:8::unsupported operand type(s) for |
-unsupported-binary-operation:16:7::unsupported operand type(s) for |
-unsupported-binary-operation:24:23::unsupported operand type(s) for |
-unsupported-binary-operation:26:24::unsupported operand type(s) for |
-unsupported-binary-operation:28:14::unsupported operand type(s) for |
-unsupported-binary-operation:41:9::unsupported operand type(s) for |
-unsupported-binary-operation:48:36::unsupported operand type(s) for |
-unsupported-binary-operation:58:54::unsupported operand type(s) for |
-unsupported-binary-operation:60:60::unsupported operand type(s) for |
+unsupported-binary-operation:15:8:15:30::unsupported operand type(s) for |:UNDEFINED
+unsupported-binary-operation:16:7:16:35::unsupported operand type(s) for |:UNDEFINED
+unsupported-binary-operation:24:23:24:32::unsupported operand type(s) for |:UNDEFINED
+unsupported-binary-operation:26:24:26:33::unsupported operand type(s) for |:UNDEFINED
+unsupported-binary-operation:28:14:28:23::unsupported operand type(s) for |:UNDEFINED
+unsupported-binary-operation:41:9:41:25::unsupported operand type(s) for |:UNDEFINED
+unsupported-binary-operation:48:36:48:45::unsupported operand type(s) for |:UNDEFINED
+unsupported-binary-operation:58:54:58:63::unsupported operand type(s) for |:UNDEFINED
+unsupported-binary-operation:60:60:60:69::unsupported operand type(s) for |:UNDEFINED
diff --git a/tests/functional/a/anomalous_backslash_escape.txt b/tests/functional/a/anomalous_backslash_escape.txt
index 68cb8556c..a85e2c5d8 100644
--- a/tests/functional/a/anomalous_backslash_escape.txt
+++ b/tests/functional/a/anomalous_backslash_escape.txt
@@ -1,6 +1,6 @@
-anomalous-backslash-in-string:4:14::"Anomalous backslash in string: '\z'. String constant might be missing an r prefix."
-anomalous-backslash-in-string:5:27::"Anomalous backslash in string: '\z'. String constant might be missing an r prefix."
-anomalous-backslash-in-string:6:30::"Anomalous backslash in string: '\z'. String constant might be missing an r prefix."
-anomalous-backslash-in-string:8:4::"Anomalous backslash in string: '\z'. String constant might be missing an r prefix."
-anomalous-backslash-in-string:12:4::"Anomalous backslash in string: '\z'. String constant might be missing an r prefix."
-anomalous-backslash-in-string:15:23::"Anomalous backslash in string: '\z'. String constant might be missing an r prefix."
+anomalous-backslash-in-string:4:14:None:None::"Anomalous backslash in string: '\z'. String constant might be missing an r prefix.":UNDEFINED
+anomalous-backslash-in-string:5:27:None:None::"Anomalous backslash in string: '\z'. String constant might be missing an r prefix.":UNDEFINED
+anomalous-backslash-in-string:6:30:None:None::"Anomalous backslash in string: '\z'. String constant might be missing an r prefix.":UNDEFINED
+anomalous-backslash-in-string:8:4:None:None::"Anomalous backslash in string: '\z'. String constant might be missing an r prefix.":UNDEFINED
+anomalous-backslash-in-string:12:4:None:None::"Anomalous backslash in string: '\z'. String constant might be missing an r prefix.":UNDEFINED
+anomalous-backslash-in-string:15:23:None:None::"Anomalous backslash in string: '\z'. String constant might be missing an r prefix.":UNDEFINED
diff --git a/tests/functional/a/anomalous_unicode_escape.txt b/tests/functional/a/anomalous_unicode_escape.txt
index 3682db856..8341c0b33 100644
--- a/tests/functional/a/anomalous_unicode_escape.txt
+++ b/tests/functional/a/anomalous_unicode_escape.txt
@@ -1,3 +1,3 @@
-anomalous-unicode-escape-in-string:5:16::"Anomalous Unicode escape in byte string: '\u'. String constant might be missing an r or u prefix."
-anomalous-unicode-escape-in-string:6:21::"Anomalous Unicode escape in byte string: '\U'. String constant might be missing an r or u prefix."
-anomalous-unicode-escape-in-string:8:22::"Anomalous Unicode escape in byte string: '\N'. String constant might be missing an r or u prefix."
+anomalous-unicode-escape-in-string:5:16:None:None::"Anomalous Unicode escape in byte string: '\u'. String constant might be missing an r or u prefix.":UNDEFINED
+anomalous-unicode-escape-in-string:6:21:None:None::"Anomalous Unicode escape in byte string: '\U'. String constant might be missing an r or u prefix.":UNDEFINED
+anomalous-unicode-escape-in-string:8:22:None:None::"Anomalous Unicode escape in byte string: '\N'. String constant might be missing an r or u prefix.":UNDEFINED
diff --git a/tests/functional/a/arguments.txt b/tests/functional/a/arguments.txt
index d17bd4a50..400be7454 100644
--- a/tests/functional/a/arguments.txt
+++ b/tests/functional/a/arguments.txt
@@ -1,39 +1,39 @@
-no-value-for-parameter:46:0::No value for argument 'first_argument' in function call
-too-many-function-args:47:0::Too many positional arguments for function call
-no-value-for-parameter:49:0::No value for argument 'third_argument' in function call
-no-value-for-parameter:51:0::No value for argument 'first_argument' in function call
-no-value-for-parameter:51:0::No value for argument 'second_argument' in function call
-no-value-for-parameter:51:0::No value for argument 'third_argument' in function call
-too-many-function-args:53:0::Too many positional arguments for function call
-no-value-for-parameter:58:0::No value for argument 'first_argument' in function call
-unexpected-keyword-arg:58:0::Unexpected keyword argument 'bob' in function call
-unexpected-keyword-arg:59:0::Unexpected keyword argument 'coin' in function call
-redundant-keyword-arg:61:0::Argument 'one' passed by position and keyword in function call
-no-value-for-parameter:66:0::No value for argument 'arg' in lambda call
-no-value-for-parameter:71:4:method_tests:No value for argument 'arg' in staticmethod call
-no-value-for-parameter:72:4:method_tests:No value for argument 'arg' in staticmethod call
-no-value-for-parameter:74:4:method_tests:No value for argument 'arg' in classmethod call
-no-value-for-parameter:75:4:method_tests:No value for argument 'arg' in classmethod call
-no-value-for-parameter:77:4:method_tests:No value for argument 'arg' in method call
-no-value-for-parameter:78:4:method_tests:No value for argument 'arg' in unbound method call
-no-value-for-parameter:80:4:method_tests:No value for argument 'arg' in method call
-no-value-for-parameter:81:4:method_tests:No value for argument 'arg' in unbound method call
-no-value-for-parameter:110:8:TestStaticMethod.func:No value for argument 'first' in staticmethod call
-too-many-function-args:111:8:TestStaticMethod.func:Too many positional arguments for staticmethod call
-too-many-function-args:119:8:TypeCheckConstructor.test:Too many positional arguments for constructor call
-no-value-for-parameter:121:8:TypeCheckConstructor.test:No value for argument 'first' in constructor call
-no-value-for-parameter:121:8:TypeCheckConstructor.test:No value for argument 'second' in constructor call
-no-value-for-parameter:122:8:TypeCheckConstructor.test:No value for argument 'second' in constructor call
-unexpected-keyword-arg:122:8:TypeCheckConstructor.test:Unexpected keyword argument 'lala' in constructor call
-no-value-for-parameter:133:8:Test.test:No value for argument 'icon' in method call
-too-many-function-args:134:8:Test.test:Too many positional arguments for method call
-no-value-for-parameter:136:0::No value for argument 'icon' in method call
-no-value-for-parameter:163:4:no_context_but_redefined:No value for argument 'three' in function call
-no-value-for-parameter:163:4:no_context_but_redefined:No value for argument 'two' in function call
-no-value-for-parameter:166:4:no_context_one_elem:No value for argument 'three' in function call
-no-value-for-parameter:166:4:no_context_one_elem:No value for argument 'two' in function call
-unexpected-keyword-arg:202:23:namedtuple_replace_issue_1036:Unexpected keyword argument 'd' in method call
-unexpected-keyword-arg:202:23:namedtuple_replace_issue_1036:Unexpected keyword argument 'e' in method call
-no-value-for-parameter:215:0::No value for argument 'third' in function call
-no-value-for-parameter:216:0::No value for argument 'second' in function call
-unexpected-keyword-arg:217:0::Unexpected keyword argument 'fourth' in function call
+no-value-for-parameter:46:0:46:16::No value for argument 'first_argument' in function call:UNDEFINED
+too-many-function-args:47:0:47:25::Too many positional arguments for function call:UNDEFINED
+no-value-for-parameter:49:0:49:25::No value for argument 'third_argument' in function call:UNDEFINED
+no-value-for-parameter:51:0:51:17::No value for argument 'first_argument' in function call:UNDEFINED
+no-value-for-parameter:51:0:51:17::No value for argument 'second_argument' in function call:UNDEFINED
+no-value-for-parameter:51:0:51:17::No value for argument 'third_argument' in function call:UNDEFINED
+too-many-function-args:53:0:53:41::Too many positional arguments for function call:UNDEFINED
+no-value-for-parameter:58:0:58:21::No value for argument 'first_argument' in function call:UNDEFINED
+unexpected-keyword-arg:58:0:58:21::Unexpected keyword argument 'bob' in function call:UNDEFINED
+unexpected-keyword-arg:59:0:59:40::Unexpected keyword argument 'coin' in function call:UNDEFINED
+redundant-keyword-arg:61:0:61:30::Argument 'one' passed by position and keyword in function call:UNDEFINED
+no-value-for-parameter:66:0:66:8::No value for argument 'arg' in lambda call:UNDEFINED
+no-value-for-parameter:71:4:71:24:method_tests:No value for argument 'arg' in staticmethod call:UNDEFINED
+no-value-for-parameter:72:4:72:29:method_tests:No value for argument 'arg' in staticmethod call:UNDEFINED
+no-value-for-parameter:74:4:74:23:method_tests:No value for argument 'arg' in classmethod call:UNDEFINED
+no-value-for-parameter:75:4:75:28:method_tests:No value for argument 'arg' in classmethod call:UNDEFINED
+no-value-for-parameter:77:4:77:17:method_tests:No value for argument 'arg' in method call:UNDEFINED
+no-value-for-parameter:78:4:78:26:method_tests:No value for argument 'arg' in unbound method call:UNDEFINED
+no-value-for-parameter:80:4:80:27:method_tests:No value for argument 'arg' in method call:UNDEFINED
+no-value-for-parameter:81:4:81:36:method_tests:No value for argument 'arg' in unbound method call:UNDEFINED
+no-value-for-parameter:110:8:110:19:TestStaticMethod.func:No value for argument 'first' in staticmethod call:UNDEFINED
+too-many-function-args:111:8:111:29:TestStaticMethod.func:Too many positional arguments for staticmethod call:UNDEFINED
+too-many-function-args:119:8:119:27:TypeCheckConstructor.test:Too many positional arguments for constructor call:UNDEFINED
+no-value-for-parameter:121:8:121:20:TypeCheckConstructor.test:No value for argument 'first' in constructor call:UNDEFINED
+no-value-for-parameter:121:8:121:20:TypeCheckConstructor.test:No value for argument 'second' in constructor call:UNDEFINED
+no-value-for-parameter:122:8:122:29:TypeCheckConstructor.test:No value for argument 'second' in constructor call:UNDEFINED
+unexpected-keyword-arg:122:8:122:29:TypeCheckConstructor.test:Unexpected keyword argument 'lala' in constructor call:UNDEFINED
+no-value-for-parameter:133:8:133:18:Test.test:No value for argument 'icon' in method call:UNDEFINED
+too-many-function-args:134:8:134:25:Test.test:Too many positional arguments for method call:UNDEFINED
+no-value-for-parameter:136:0:136:12::No value for argument 'icon' in method call:UNDEFINED
+no-value-for-parameter:163:4:163:29:no_context_but_redefined:No value for argument 'three' in function call:UNDEFINED
+no-value-for-parameter:163:4:163:29:no_context_but_redefined:No value for argument 'two' in function call:UNDEFINED
+no-value-for-parameter:166:4:166:22:no_context_one_elem:No value for argument 'three' in function call:UNDEFINED
+no-value-for-parameter:166:4:166:22:no_context_one_elem:No value for argument 'two' in function call:UNDEFINED
+unexpected-keyword-arg:202:23:202:56:namedtuple_replace_issue_1036:Unexpected keyword argument 'd' in method call:UNDEFINED
+unexpected-keyword-arg:202:23:202:56:namedtuple_replace_issue_1036:Unexpected keyword argument 'e' in method call:UNDEFINED
+no-value-for-parameter:215:0:215:24::No value for argument 'third' in function call:UNDEFINED
+no-value-for-parameter:216:0:216:30::No value for argument 'second' in function call:UNDEFINED
+unexpected-keyword-arg:217:0:217:43::Unexpected keyword argument 'fourth' in function call:UNDEFINED
diff --git a/tests/functional/a/arguments_differ.txt b/tests/functional/a/arguments_differ.txt
index 12b730503..ea0b74dfa 100644
--- a/tests/functional/a/arguments_differ.txt
+++ b/tests/functional/a/arguments_differ.txt
@@ -1,11 +1,11 @@
-arguments-differ:12:4:Child.test:Number of parameters was 1 in 'Parent.test' and is now 2 in overridden 'Child.test' method
-arguments-differ:23:4:ChildDefaults.test:Number of parameters was 3 in 'ParentDefaults.test' and is now 2 in overridden 'ChildDefaults.test' method
-arguments-differ:41:4:ClassmethodChild.func:Number of parameters was 2 in 'Classmethod.func' and is now 0 in overridden 'ClassmethodChild.func' method
-arguments-differ:68:4:VarargsChild.has_kwargs:Variadics removed in overridden 'VarargsChild.has_kwargs' method
-arguments-renamed:71:4:VarargsChild.no_kwargs:Parameter 'args' has been renamed to 'arg' in overridden 'VarargsChild.no_kwargs' method
-arguments-differ:172:4:SecondChangesArgs.test:Number of parameters was 2 in 'FirstHasArgs.test' and is now 4 in overridden 'SecondChangesArgs.test' method
-arguments-differ:298:4:Foo.kwonly_1:Number of parameters was 4 in 'AbstractFoo.kwonly_1' and is now 3 in overridden 'Foo.kwonly_1' method
-arguments-differ:301:4:Foo.kwonly_2:Number of parameters was 3 in 'AbstractFoo.kwonly_2' and is now 2 in overridden 'Foo.kwonly_2' method
-arguments-differ:304:4:Foo.kwonly_3:Number of parameters was 3 in 'AbstractFoo.kwonly_3' and is now 3 in overridden 'Foo.kwonly_3' method
-arguments-differ:307:4:Foo.kwonly_4:Number of parameters was 3 in 'AbstractFoo.kwonly_4' and is now 3 in overridden 'Foo.kwonly_4' method
-arguments-differ:310:4:Foo.kwonly_5:Variadics removed in overridden 'Foo.kwonly_5' method
+arguments-differ:12:4:13:12:Child.test:Number of parameters was 1 in 'Parent.test' and is now 2 in overridden 'Child.test' method:UNDEFINED
+arguments-differ:23:4:24:12:ChildDefaults.test:Number of parameters was 3 in 'ParentDefaults.test' and is now 2 in overridden 'ChildDefaults.test' method:UNDEFINED
+arguments-differ:41:4:42:12:ClassmethodChild.func:Number of parameters was 2 in 'Classmethod.func' and is now 0 in overridden 'ClassmethodChild.func' method:UNDEFINED
+arguments-differ:68:4:69:64:VarargsChild.has_kwargs:Variadics removed in overridden 'VarargsChild.has_kwargs' method:UNDEFINED
+arguments-renamed:71:4:72:89:VarargsChild.no_kwargs:Parameter 'args' has been renamed to 'arg' in overridden 'VarargsChild.no_kwargs' method:UNDEFINED
+arguments-differ:172:4:173:12:SecondChangesArgs.test:Number of parameters was 2 in 'FirstHasArgs.test' and is now 4 in overridden 'SecondChangesArgs.test' method:UNDEFINED
+arguments-differ:298:4:299:60:Foo.kwonly_1:Number of parameters was 4 in 'AbstractFoo.kwonly_1' and is now 3 in overridden 'Foo.kwonly_1' method:UNDEFINED
+arguments-differ:301:4:302:82:Foo.kwonly_2:Number of parameters was 3 in 'AbstractFoo.kwonly_2' and is now 2 in overridden 'Foo.kwonly_2' method:UNDEFINED
+arguments-differ:304:4:305:32:Foo.kwonly_3:Number of parameters was 3 in 'AbstractFoo.kwonly_3' and is now 3 in overridden 'Foo.kwonly_3' method:UNDEFINED
+arguments-differ:307:4:308:32:Foo.kwonly_4:Number of parameters was 3 in 'AbstractFoo.kwonly_4' and is now 3 in overridden 'Foo.kwonly_4' method:UNDEFINED
+arguments-differ:310:4:311:41:Foo.kwonly_5:Variadics removed in overridden 'Foo.kwonly_5' method:UNDEFINED
diff --git a/tests/functional/a/arguments_out_of_order.txt b/tests/functional/a/arguments_out_of_order.txt
index b912fc999..654e1f724 100644
--- a/tests/functional/a/arguments_out_of_order.txt
+++ b/tests/functional/a/arguments_out_of_order.txt
@@ -1,4 +1,4 @@
-arguments-out-of-order:22:4:args_out_of_order:Positional arguments appear to be out of order
-arguments-out-of-order:23:4:args_out_of_order:Positional arguments appear to be out of order
-arguments-out-of-order:25:4:args_out_of_order:Positional arguments appear to be out of order
-arguments-out-of-order:51:4:args_out_of_order:Positional arguments appear to be out of order
+arguments-out-of-order:22:4:22:68:args_out_of_order:Positional arguments appear to be out of order:UNDEFINED
+arguments-out-of-order:23:4:24:50:args_out_of_order:Positional arguments appear to be out of order:UNDEFINED
+arguments-out-of-order:25:4:25:34:args_out_of_order:Positional arguments appear to be out of order:UNDEFINED
+arguments-out-of-order:51:4:51:64:args_out_of_order:Positional arguments appear to be out of order:UNDEFINED
diff --git a/tests/functional/a/arguments_renamed.txt b/tests/functional/a/arguments_renamed.txt
index 0f3b60c1f..1656c5f9e 100644
--- a/tests/functional/a/arguments_renamed.txt
+++ b/tests/functional/a/arguments_renamed.txt
@@ -1,9 +1,9 @@
-arguments-renamed:17:4:Orange.brew:Parameter 'fruit_name' has been renamed to 'orange_name' in overridden 'Orange.brew' method
-arguments-renamed:20:4:Orange.eat_with_condiment:Parameter 'fruit_name' has been renamed to 'orange_name' in overridden 'Orange.eat_with_condiment' method
-arguments-differ:27:4:Banana.eat_with_condiment:Number of parameters was 3 in 'Fruit.eat_with_condiment' and is now 4 in overridden 'Banana.eat_with_condiment' method
-arguments-renamed:40:4:Child.test:Parameter 'arg' has been renamed to 'arg1' in overridden 'Child.test' method
-arguments-renamed:43:4:Child.kwargs_test:Parameter 'var1' has been renamed to 'value1' in overridden 'Child.kwargs_test' method
-arguments-renamed:48:4:Child2.test:Parameter 'arg' has been renamed to 'var' in overridden 'Child2.test' method
-arguments-differ:51:4:Child2.kwargs_test:Number of parameters was 4 in 'Parent.kwargs_test' and is now 3 in overridden 'Child2.kwargs_test' method
-arguments-renamed:51:4:Child2.kwargs_test:Parameter 'var2' has been renamed to 'kw2' in overridden 'Child2.kwargs_test' method
-arguments-renamed:67:4:ChildDefaults.test1:Parameter 'barg' has been renamed to 'param2' in overridden 'ChildDefaults.test1' method
+arguments-renamed:17:4:18:55:Orange.brew:Parameter 'fruit_name' has been renamed to 'orange_name' in overridden 'Orange.brew' method:UNDEFINED
+arguments-renamed:20:4:21:69:Orange.eat_with_condiment:Parameter 'fruit_name' has been renamed to 'orange_name' in overridden 'Orange.eat_with_condiment' method:UNDEFINED
+arguments-differ:27:4:28:68:Banana.eat_with_condiment:Number of parameters was 3 in 'Fruit.eat_with_condiment' and is now 4 in overridden 'Banana.eat_with_condiment' method:UNDEFINED
+arguments-renamed:40:4:41:23:Child.test:Parameter 'arg' has been renamed to 'arg1' in overridden 'Child.test' method:UNDEFINED
+arguments-renamed:43:4:44:61:Child.kwargs_test:Parameter 'var1' has been renamed to 'value1' in overridden 'Child.kwargs_test' method:UNDEFINED
+arguments-renamed:48:4:49:22:Child2.test:Parameter 'arg' has been renamed to 'var' in overridden 'Child2.test' method:UNDEFINED
+arguments-differ:51:4:52:58:Child2.kwargs_test:Number of parameters was 4 in 'Parent.kwargs_test' and is now 3 in overridden 'Child2.kwargs_test' method:UNDEFINED
+arguments-renamed:51:4:52:58:Child2.kwargs_test:Parameter 'var2' has been renamed to 'kw2' in overridden 'Child2.kwargs_test' method:UNDEFINED
+arguments-renamed:67:4:68:56:ChildDefaults.test1:Parameter 'barg' has been renamed to 'param2' in overridden 'ChildDefaults.test1' method:UNDEFINED
diff --git a/tests/functional/a/assert_on_string_literal.txt b/tests/functional/a/assert_on_string_literal.txt
index 5f08165d3..6695f33af 100644
--- a/tests/functional/a/assert_on_string_literal.txt
+++ b/tests/functional/a/assert_on_string_literal.txt
@@ -1,2 +1,2 @@
-assert-on-string-literal:3:0::Assert statement has a string literal as its first argument. The assert will never fail.
-assert-on-string-literal:4:0::Assert statement has a string literal as its first argument. The assert will always fail.
+assert-on-string-literal:3:0:3:35::Assert statement has a string literal as its first argument. The assert will never fail.:UNDEFINED
+assert-on-string-literal:4:0:4:9::Assert statement has a string literal as its first argument. The assert will always fail.:UNDEFINED
diff --git a/tests/functional/a/assert_on_tuple.txt b/tests/functional/a/assert_on_tuple.txt
index c53faf935..85929cd42 100644
--- a/tests/functional/a/assert_on_tuple.txt
+++ b/tests/functional/a/assert_on_tuple.txt
@@ -1,2 +1,2 @@
-assert-on-tuple:5:0::Assert called on a 2-item-tuple. Did you mean 'assert x,y'?
-assert-on-tuple:11:0::Assert called on a 2-item-tuple. Did you mean 'assert x,y'?
+assert-on-tuple:5:0:5:23::Assert called on a 2-item-tuple. Did you mean 'assert x,y'?:UNDEFINED
+assert-on-tuple:11:0:11:26::Assert called on a 2-item-tuple. Did you mean 'assert x,y'?:UNDEFINED
diff --git a/tests/functional/a/assign/assigning_non_slot.txt b/tests/functional/a/assign/assigning_non_slot.txt
index 28bf5d4cf..8b170e088 100644
--- a/tests/functional/a/assign/assigning_non_slot.txt
+++ b/tests/functional/a/assign/assigning_non_slot.txt
@@ -1,5 +1,5 @@
-assigning-non-slot:18:8:Bad.__init__:Assigning to attribute 'missing' not defined in class slots
-assigning-non-slot:26:8:Bad2.__init__:Assigning to attribute 'missing' not defined in class slots
-assigning-non-slot:36:8:Bad3.__init__:Assigning to attribute 'missing' not defined in class slots
-assigning-non-slot:132:4:dont_emit_for_descriptors:Assigning to attribute 'non_data_descriptor' not defined in class slots
-assigning-non-slot:150:8:ClassReassingingInvalidLayoutClass.release:Assigning to attribute '__class__' not defined in class slots
+assigning-non-slot:18:8:18:20:Bad.__init__:Assigning to attribute 'missing' not defined in class slots:UNDEFINED
+assigning-non-slot:26:8:26:20:Bad2.__init__:Assigning to attribute 'missing' not defined in class slots:UNDEFINED
+assigning-non-slot:36:8:36:20:Bad3.__init__:Assigning to attribute 'missing' not defined in class slots:UNDEFINED
+assigning-non-slot:132:4:132:28:dont_emit_for_descriptors:Assigning to attribute 'non_data_descriptor' not defined in class slots:UNDEFINED
+assigning-non-slot:150:8:150:22:ClassReassingingInvalidLayoutClass.release:Assigning to attribute '__class__' not defined in class slots:UNDEFINED
diff --git a/tests/functional/a/assign/assigning_non_slot_4509.txt b/tests/functional/a/assign/assigning_non_slot_4509.txt
index a347f8c95..ff25a141a 100644
--- a/tests/functional/a/assign/assigning_non_slot_4509.txt
+++ b/tests/functional/a/assign/assigning_non_slot_4509.txt
@@ -1 +1 @@
-assigning-non-slot:18:8:Foo.__init__:Assigning to attribute '_bar' not defined in class slots
+assigning-non-slot:18:8:18:17:Foo.__init__:Assigning to attribute '_bar' not defined in class slots:UNDEFINED
diff --git a/tests/functional/a/assign/assignment_expression.txt b/tests/functional/a/assign/assignment_expression.txt
index c4b8da483..35dd1e4fb 100644
--- a/tests/functional/a/assign/assignment_expression.txt
+++ b/tests/functional/a/assign/assignment_expression.txt
@@ -1,3 +1,3 @@
-used-before-assignment:21:7::Using variable 'err_a' before assignment
-used-before-assignment:22:6::Using variable 'err_b' before assignment
-used-before-assignment:24:13::Using variable 'err_d' before assignment
+used-before-assignment:21:7:21:12::Using variable 'err_a' before assignment:UNDEFINED
+used-before-assignment:22:6:22:11::Using variable 'err_b' before assignment:UNDEFINED
+used-before-assignment:24:13:24:18::Using variable 'err_d' before assignment:UNDEFINED
diff --git a/tests/functional/a/assign/assignment_from_no_return.txt b/tests/functional/a/assign/assignment_from_no_return.txt
index 88bcd9a20..a48e2b22b 100644
--- a/tests/functional/a/assign/assignment_from_no_return.txt
+++ b/tests/functional/a/assign/assignment_from_no_return.txt
@@ -1,2 +1,2 @@
-assignment-from-no-return:26:8:Class.some_other_method:Assigning result of a function call, where the function has no return
-assignment-from-no-return:31:0::Assigning result of a function call, where the function has no return
+assignment-from-no-return:26:8:26:34:Class.some_other_method:Assigning result of a function call, where the function has no return:UNDEFINED
+assignment-from-no-return:31:0:31:19::Assigning result of a function call, where the function has no return:UNDEFINED
diff --git a/tests/functional/a/assign/assignment_from_no_return_2.txt b/tests/functional/a/assign/assignment_from_no_return_2.txt
index 4518109ac..31a878b6d 100644
--- a/tests/functional/a/assign/assignment_from_no_return_2.txt
+++ b/tests/functional/a/assign/assignment_from_no_return_2.txt
@@ -1,3 +1,3 @@
-assignment-from-no-return:18:0::Assigning result of a function call, where the function has no return
-assignment-from-none:26:0::Assigning result of a function call, where the function returns None
-assignment-from-none:33:0::Assigning result of a function call, where the function returns None
+assignment-from-no-return:18:0:18:20::Assigning result of a function call, where the function has no return:UNDEFINED
+assignment-from-none:26:0:26:22::Assigning result of a function call, where the function returns None:UNDEFINED
+assignment-from-none:33:0:33:31::Assigning result of a function call, where the function returns None:UNDEFINED
diff --git a/tests/functional/a/async_functions.txt b/tests/functional/a/async_functions.txt
index cb5324868..535e38709 100644
--- a/tests/functional/a/async_functions.txt
+++ b/tests/functional/a/async_functions.txt
@@ -1,11 +1,11 @@
-redefined-builtin:5:0:next:Redefining built-in 'next'
-unused-argument:8:30:some_function:Unused argument 'arg2'
-bad-super-call:22:8:Class.some_method:Bad first argument 'OtherClass' given to super()
-too-many-arguments:26:0:complex_function:Too many arguments (10/5)
-too-many-branches:26:0:complex_function:Too many branches (13/12)
-too-many-return-statements:26:0:complex_function:Too many return statements (10/6)
-dangerous-default-value:57:0:func:Dangerous default value [] as argument
-duplicate-argument-name:57:15:func:Duplicate argument name a in function definition
-duplicate-argument-name:57:18:func:Duplicate argument name a in function definition
-disallowed-name:62:0:foo:Disallowed name "foo"
-empty-docstring:62:0:foo:Empty function docstring
+redefined-builtin:5:0:6:8:next:Redefining built-in 'next':UNDEFINED
+unused-argument:8:30:8:34:some_function:Unused argument 'arg2':HIGH
+bad-super-call:22:8:22:31:Class.some_method:Bad first argument 'OtherClass' given to super():UNDEFINED
+too-many-arguments:26:0:53:12:complex_function:Too many arguments (10/5):UNDEFINED
+too-many-branches:26:0:53:12:complex_function:Too many branches (13/12):UNDEFINED
+too-many-return-statements:26:0:53:12:complex_function:Too many return statements (10/6):UNDEFINED
+dangerous-default-value:57:0:58:15:func:Dangerous default value [] as argument:UNDEFINED
+duplicate-argument-name:57:15:57:16:func:Duplicate argument name a in function definition:UNDEFINED
+duplicate-argument-name:57:18:57:19:func:Duplicate argument name a in function definition:UNDEFINED
+disallowed-name:62:0:63:6:foo:"Disallowed name ""foo""":UNDEFINED
+empty-docstring:62:0:63:6:foo:Empty function docstring:HIGH
diff --git a/tests/functional/a/attribute_defined_outside_init.txt b/tests/functional/a/attribute_defined_outside_init.txt
index cc7a9fd35..eb3bbce8a 100644
--- a/tests/functional/a/attribute_defined_outside_init.txt
+++ b/tests/functional/a/attribute_defined_outside_init.txt
@@ -1,2 +1,2 @@
-attribute-defined-outside-init:16:8:A.set_z:Attribute 'z' defined outside __init__
-attribute-defined-outside-init:26:8:B.test:Attribute 'z' defined outside __init__
+attribute-defined-outside-init:16:8:16:14:A.set_z:Attribute 'z' defined outside __init__:UNDEFINED
+attribute-defined-outside-init:26:8:26:14:B.test:Attribute 'z' defined outside __init__:UNDEFINED
diff --git a/tests/functional/a/await_outside_async.txt b/tests/functional/a/await_outside_async.txt
index e38a51cd3..554eeccb2 100644
--- a/tests/functional/a/await_outside_async.txt
+++ b/tests/functional/a/await_outside_async.txt
@@ -1,2 +1,2 @@
-await-outside-async:12:10:not_async:'await' should be used within an async function
-await-outside-async:25:8:func2.inner_func:'await' should be used within an async function
+await-outside-async:12:10:12:24:not_async:'await' should be used within an async function:UNDEFINED
+await-outside-async:25:8:25:30:func2.inner_func:'await' should be used within an async function:UNDEFINED
diff --git a/tests/functional/b/bad_except_order.txt b/tests/functional/b/bad_except_order.txt
index 1181676a2..c6e6b4471 100644
--- a/tests/functional/b/bad_except_order.txt
+++ b/tests/functional/b/bad_except_order.txt
@@ -1,5 +1,5 @@
-bad-except-order:9:7::Bad except clauses order (Exception is an ancestor class of TypeError)
-bad-except-order:16:7::Bad except clauses order (LookupError is an ancestor class of IndexError)
-bad-except-order:23:7::Bad except clauses order (LookupError is an ancestor class of IndexError)
-bad-except-order:23:7::Bad except clauses order (NameError is an ancestor class of UnboundLocalError)
-bad-except-order:26:0::Bad except clauses order (empty except clause should always appear last)
+bad-except-order:9:7:9:16::Bad except clauses order (Exception is an ancestor class of TypeError):UNDEFINED
+bad-except-order:16:7:16:17::Bad except clauses order (LookupError is an ancestor class of IndexError):UNDEFINED
+bad-except-order:23:7:23:38::Bad except clauses order (LookupError is an ancestor class of IndexError):UNDEFINED
+bad-except-order:23:7:23:38::Bad except clauses order (NameError is an ancestor class of UnboundLocalError):UNDEFINED
+bad-except-order:26:0:31:8::Bad except clauses order (empty except clause should always appear last):UNDEFINED
diff --git a/tests/functional/b/bad_exception_context.txt b/tests/functional/b/bad_exception_context.txt
index 11f9e404e..ef7c78632 100644
--- a/tests/functional/b/bad_exception_context.txt
+++ b/tests/functional/b/bad_exception_context.txt
@@ -1,3 +1,3 @@
-bad-exception-context:14:4:test:Exception context set to something which is not an exception, nor None
-bad-exception-context:17:4:test:Exception context set to something which is not an exception, nor None
-bad-exception-context:23:4:test:Exception context set to something which is not an exception, nor None
+bad-exception-context:14:4:14:27:test:Exception context set to something which is not an exception, nor None:UNDEFINED
+bad-exception-context:17:4:17:34:test:Exception context set to something which is not an exception, nor None:UNDEFINED
+bad-exception-context:23:4:23:36:test:Exception context set to something which is not an exception, nor None:UNDEFINED
diff --git a/tests/functional/b/bad_indentation.txt b/tests/functional/b/bad_indentation.txt
index 3963624fd..ac9f2cbd8 100644
--- a/tests/functional/b/bad_indentation.txt
+++ b/tests/functional/b/bad_indentation.txt
@@ -1,2 +1,2 @@
-bad-indentation:6:0::Bad indentation. Found 1 spaces, expected 4
-bad-indentation:12:0::Bad indentation. Found 5 spaces, expected 4
+bad-indentation:6:0:None:None::Bad indentation. Found 1 spaces, expected 4:UNDEFINED
+bad-indentation:12:0:None:None::Bad indentation. Found 5 spaces, expected 4:UNDEFINED
diff --git a/tests/functional/b/bad_inline_option.txt b/tests/functional/b/bad_inline_option.txt
index 6a97bff61..bb7793a50 100644
--- a/tests/functional/b/bad_inline_option.txt
+++ b/tests/functional/b/bad_inline_option.txt
@@ -1 +1 @@
-bad-inline-option:3:0::Unable to consider inline option 'disable'
+bad-inline-option:3:0:None:None::Unable to consider inline option 'disable':UNDEFINED
diff --git a/tests/functional/b/bad_open_mode.txt b/tests/functional/b/bad_open_mode.txt
index 1ea232598..00cb00780 100644
--- a/tests/functional/b/bad_open_mode.txt
+++ b/tests/functional/b/bad_open_mode.txt
@@ -1,6 +1,6 @@
-bad-open-mode:12:0::"""rwx"" is not a valid mode for open."
-bad-open-mode:13:0::"""rr"" is not a valid mode for open."
-bad-open-mode:14:0::"""+"" is not a valid mode for open."
-bad-open-mode:15:0::"""xw"" is not a valid mode for open."
-bad-open-mode:21:0::"""Ua"" is not a valid mode for open."
-bad-open-mode:22:0::"""Ur++"" is not a valid mode for open."
+bad-open-mode:12:0:12:35::"""rwx"" is not a valid mode for open.":UNDEFINED
+bad-open-mode:13:0:13:34::"""rr"" is not a valid mode for open.":UNDEFINED
+bad-open-mode:14:0:14:33::"""+"" is not a valid mode for open.":UNDEFINED
+bad-open-mode:15:0:15:34::"""xw"" is not a valid mode for open.":UNDEFINED
+bad-open-mode:21:0:21:34::"""Ua"" is not a valid mode for open.":UNDEFINED
+bad-open-mode:22:0:22:36::"""Ur++"" is not a valid mode for open.":UNDEFINED
diff --git a/tests/functional/b/bad_option_value.txt b/tests/functional/b/bad_option_value.txt
index 48eb85264..f64a60c2a 100644
--- a/tests/functional/b/bad_option_value.txt
+++ b/tests/functional/b/bad_option_value.txt
@@ -1 +1 @@
-bad-option-value:1:0::Bad option value 'W04044'
+bad-option-value:1:0:None:None::Bad option value 'W04044':UNDEFINED
diff --git a/tests/functional/b/bad_reversed_sequence.txt b/tests/functional/b/bad_reversed_sequence.txt
index f0597356c..2c92f2021 100644
--- a/tests/functional/b/bad_reversed_sequence.txt
+++ b/tests/functional/b/bad_reversed_sequence.txt
@@ -1,6 +1,6 @@
-bad-reversed-sequence:40:10:test:The first reversed() argument is not a sequence
-bad-reversed-sequence:43:10:test:The first reversed() argument is not a sequence
-bad-reversed-sequence:44:10:test:The first reversed() argument is not a sequence
-bad-reversed-sequence:47:10:test:The first reversed() argument is not a sequence
-bad-reversed-sequence:48:10:test:The first reversed() argument is not a sequence
-bad-reversed-sequence:50:10:test:The first reversed() argument is not a sequence
+bad-reversed-sequence:40:10:40:24:test:The first reversed() argument is not a sequence:UNDEFINED
+bad-reversed-sequence:43:10:43:25:test:The first reversed() argument is not a sequence:UNDEFINED
+bad-reversed-sequence:44:10:44:35:test:The first reversed() argument is not a sequence:UNDEFINED
+bad-reversed-sequence:47:10:47:33:test:The first reversed() argument is not a sequence:UNDEFINED
+bad-reversed-sequence:48:10:48:39:test:The first reversed() argument is not a sequence:UNDEFINED
+bad-reversed-sequence:50:10:50:32:test:The first reversed() argument is not a sequence:UNDEFINED
diff --git a/tests/functional/b/bad_staticmethod_argument.txt b/tests/functional/b/bad_staticmethod_argument.txt
index c2e0c5b0e..115555c31 100644
--- a/tests/functional/b/bad_staticmethod_argument.txt
+++ b/tests/functional/b/bad_staticmethod_argument.txt
@@ -1,2 +1,2 @@
-bad-staticmethod-argument:5:4:Abcd.method1:Static method with 'self' as first argument
-bad-staticmethod-argument:10:4:Abcd.method2:Static method with 'cls' as first argument
+bad-staticmethod-argument:5:4:6:12:Abcd.method1:Static method with 'self' as first argument:UNDEFINED
+bad-staticmethod-argument:10:4:11:12:Abcd.method2:Static method with 'cls' as first argument:UNDEFINED
diff --git a/tests/functional/b/bad_thread_instantiation.txt b/tests/functional/b/bad_thread_instantiation.txt
index 59f606aee..e969a2473 100644
--- a/tests/functional/b/bad_thread_instantiation.txt
+++ b/tests/functional/b/bad_thread_instantiation.txt
@@ -1,2 +1,2 @@
-bad-thread-instantiation:5:0::threading.Thread needs the target function
-bad-thread-instantiation:8:0::threading.Thread needs the target function
+bad-thread-instantiation:5:0:5:30::threading.Thread needs the target function:UNDEFINED
+bad-thread-instantiation:8:0:8:18::threading.Thread needs the target function:UNDEFINED
diff --git a/tests/functional/b/bare_except.txt b/tests/functional/b/bare_except.txt
index 514ffe1d6..584f1be6d 100644
--- a/tests/functional/b/bare_except.txt
+++ b/tests/functional/b/bare_except.txt
@@ -1 +1 @@
-bare-except:5:0::No exception type(s) specified
+bare-except:5:0:6:8::No exception type(s) specified:UNDEFINED
diff --git a/tests/functional/b/blacklisted_name.txt b/tests/functional/b/blacklisted_name.txt
index 747d71a95..63fe30971 100644
--- a/tests/functional/b/blacklisted_name.txt
+++ b/tests/functional/b/blacklisted_name.txt
@@ -1 +1 @@
-disallowed-name:3:0:baz:Disallowed name "baz"
+disallowed-name:3:0:4:8:baz:"Disallowed name ""baz""":UNDEFINED
diff --git a/tests/functional/b/broad_except.txt b/tests/functional/b/broad_except.txt
index 388457b40..55fce74ca 100644
--- a/tests/functional/b/broad_except.txt
+++ b/tests/functional/b/broad_except.txt
@@ -1,2 +1,2 @@
-broad-except:7:7::Catching too general exception Exception
-broad-except:13:7::Catching too general exception BaseException
+broad-except:7:7:7:16::Catching too general exception Exception:UNDEFINED
+broad-except:13:7:13:20::Catching too general exception BaseException:UNDEFINED
diff --git a/tests/functional/c/cached_property.txt b/tests/functional/c/cached_property.txt
index 6c3a6d107..a4b52237c 100644
--- a/tests/functional/c/cached_property.txt
+++ b/tests/functional/c/cached_property.txt
@@ -1 +1 @@
-invalid-overridden-method:22:4:Child.func:Method 'func' was expected to be 'method', found it instead as 'property'
+invalid-overridden-method:22:4:23:17:Child.func:Method 'func' was expected to be 'method', found it instead as 'property':UNDEFINED
diff --git a/tests/functional/c/cellvar_escaping_loop.txt b/tests/functional/c/cellvar_escaping_loop.txt
index dda2d46d2..5a8643f5d 100644
--- a/tests/functional/c/cellvar_escaping_loop.txt
+++ b/tests/functional/c/cellvar_escaping_loop.txt
@@ -1,13 +1,13 @@
-cell-var-from-loop:117:27:bad_case.<lambda>:Cell variable i defined in loop:HIGH
-cell-var-from-loop:122:20:bad_case2.<lambda>:Cell variable i defined in loop:HIGH
-cell-var-from-loop:130:27:bad_case3.<lambda>:Cell variable j defined in loop:HIGH
-cell-var-from-loop:140:19:bad_case4.nested:Cell variable i defined in loop:HIGH
-cell-var-from-loop:161:20:bad_case5.<lambda>:Cell variable i defined in loop:HIGH
-cell-var-from-loop:169:27:bad_case6.<lambda>:Cell variable i defined in loop:HIGH
-cell-var-from-loop:177:12:bad_case7.<lambda>:Cell variable x defined in loop:HIGH
-cell-var-from-loop:178:14:bad_case7.<lambda>:Cell variable y defined in loop:HIGH
-cell-var-from-loop:187:27:bad_case8.<lambda>:Cell variable j defined in loop:HIGH
-cell-var-from-loop:197:27:bad_case9.<lambda>:Cell variable i defined in loop:HIGH
-cell-var-from-loop:206:26:bad_case10.func.func2:Cell variable i defined in loop:HIGH
-cell-var-from-loop:218:17:bad_case_issue2846.<lambda>:Cell variable n defined in loop:HIGH
-cell-var-from-loop:223:18:bad_case_issue2846.<lambda>:Cell variable n defined in loop:HIGH
+cell-var-from-loop:117:27:117:28:bad_case.<lambda>:Cell variable i defined in loop:UNDEFINED
+cell-var-from-loop:122:20:122:21:bad_case2.<lambda>:Cell variable i defined in loop:UNDEFINED
+cell-var-from-loop:130:27:130:28:bad_case3.<lambda>:Cell variable j defined in loop:UNDEFINED
+cell-var-from-loop:140:19:140:20:bad_case4.nested:Cell variable i defined in loop:UNDEFINED
+cell-var-from-loop:161:20:161:21:bad_case5.<lambda>:Cell variable i defined in loop:UNDEFINED
+cell-var-from-loop:169:27:169:28:bad_case6.<lambda>:Cell variable i defined in loop:UNDEFINED
+cell-var-from-loop:177:12:177:13:bad_case7.<lambda>:Cell variable x defined in loop:UNDEFINED
+cell-var-from-loop:178:14:178:15:bad_case7.<lambda>:Cell variable y defined in loop:UNDEFINED
+cell-var-from-loop:187:27:187:28:bad_case8.<lambda>:Cell variable j defined in loop:UNDEFINED
+cell-var-from-loop:197:27:197:28:bad_case9.<lambda>:Cell variable i defined in loop:UNDEFINED
+cell-var-from-loop:206:26:206:27:bad_case10.func.func2:Cell variable i defined in loop:UNDEFINED
+cell-var-from-loop:218:17:218:18:bad_case_issue2846.<lambda>:Cell variable n defined in loop:UNDEFINED
+cell-var-from-loop:223:18:223:19:bad_case_issue2846.<lambda>:Cell variable n defined in loop:UNDEFINED
diff --git a/tests/functional/c/class_members_py30.txt b/tests/functional/c/class_members_py30.txt
index c0fab25a7..a583d1de8 100644
--- a/tests/functional/c/class_members_py30.txt
+++ b/tests/functional/c/class_members_py30.txt
@@ -1,7 +1,7 @@
-no-member:14:8:MyClass.test:Instance of 'MyClass' has no 'incorrect' member:INFERENCE
-no-member:15:12:MyClass.test:Instance of 'MyClass' has no 'havenot' member:INFERENCE
-no-member:16:8:MyClass.test:Instance of 'MyClass' has no 'nonexistent1' member:INFERENCE
-no-member:17:8:MyClass.test:Instance of 'MyClass' has no 'nonexistent2' member:INFERENCE
-no-member:48:0::Instance of 'TestMetaclass' has no 'register' member:INFERENCE
-no-member:49:0::Instance of 'UsingMetaclass' has no 'test' member:INFERENCE
-no-member:63:27:MetaClass.whatever:Class 'MetaClass' has no 'missing' member:INFERENCE
+no-member:14:8:14:22:MyClass.test:Instance of 'MyClass' has no 'incorrect' member:INFERENCE
+no-member:15:12:15:24:MyClass.test:Instance of 'MyClass' has no 'havenot' member:INFERENCE
+no-member:16:8:16:25:MyClass.test:Instance of 'MyClass' has no 'nonexistent1' member:INFERENCE
+no-member:17:8:17:25:MyClass.test:Instance of 'MyClass' has no 'nonexistent2' member:INFERENCE
+no-member:48:0:48:24::Instance of 'TestMetaclass' has no 'register' member:INFERENCE
+no-member:49:0:49:21::Instance of 'UsingMetaclass' has no 'test' member:INFERENCE
+no-member:63:27:63:38:MetaClass.whatever:Class 'MetaClass' has no 'missing' member:INFERENCE
diff --git a/tests/functional/c/class_scope.txt b/tests/functional/c/class_scope.txt
index a45d23263..d32dcfe6c 100644
--- a/tests/functional/c/class_scope.txt
+++ b/tests/functional/c/class_scope.txt
@@ -1,7 +1,7 @@
-undefined-variable:11:39:Well.<lambda>:Undefined variable 'revattr'
-used-before-assignment:11:30:Well.<lambda>:Using variable 'revattr' before assignment
-undefined-variable:13:25:Well.<lambda>:Undefined variable 'get_attr_bad'
-undefined-variable:14:19:Well:Undefined variable 'attr'
-undefined-variable:20:15:Well.Sub:Undefined variable 'Data'
-undefined-variable:23:15:Well.func:Undefined variable 'Sub'
-undefined-variable:41:22:Wrong.work:Undefined variable 'self'
+undefined-variable:11:39:11:46:Well.<lambda>:Undefined variable 'revattr':UNDEFINED
+used-before-assignment:11:30:11:37:Well.<lambda>:Using variable 'revattr' before assignment:UNDEFINED
+undefined-variable:13:25:13:37:Well.<lambda>:Undefined variable 'get_attr_bad':UNDEFINED
+undefined-variable:14:19:14:23:Well:Undefined variable 'attr':UNDEFINED
+undefined-variable:20:15:20:19:Well.Sub:Undefined variable 'Data':UNDEFINED
+undefined-variable:23:15:23:18:Well.func:Undefined variable 'Sub':UNDEFINED
+undefined-variable:41:22:41:26:Wrong.work:Undefined variable 'self':UNDEFINED
diff --git a/tests/functional/c/comparison_with_callable.txt b/tests/functional/c/comparison_with_callable.txt
index a87f0b57e..f81febae6 100644
--- a/tests/functional/c/comparison_with_callable.txt
+++ b/tests/functional/c/comparison_with_callable.txt
@@ -1,4 +1,4 @@
-comparison-with-callable:8:3::Comparing against a callable, did you omit the parenthesis?
-comparison-with-callable:11:3::Comparing against a callable, did you omit the parenthesis?
-comparison-with-callable:48:3::Comparing against a callable, did you omit the parenthesis?
-comparison-with-callable:51:3::Comparing against a callable, did you omit the parenthesis?
+comparison-with-callable:8:3:8:13::Comparing against a callable, did you omit the parenthesis?:UNDEFINED
+comparison-with-callable:11:3:11:13::Comparing against a callable, did you omit the parenthesis?:UNDEFINED
+comparison-with-callable:48:3:48:26::Comparing against a callable, did you omit the parenthesis?:UNDEFINED
+comparison-with-callable:51:3:51:41::Comparing against a callable, did you omit the parenthesis?:UNDEFINED
diff --git a/tests/functional/c/condition_evals_to_constant.txt b/tests/functional/c/condition_evals_to_constant.txt
index 04d8deb8c..13eaba89f 100644
--- a/tests/functional/c/condition_evals_to_constant.txt
+++ b/tests/functional/c/condition_evals_to_constant.txt
@@ -1,15 +1,15 @@
-condition-evals-to-constant:14:5::Boolean condition 'CONSTANT or True' will always evaluate to 'True'
-condition-evals-to-constant:15:7::Boolean condition 'CONSTANT or True' will always evaluate to 'True'
-condition-evals-to-constant:16:3::Boolean condition 'CONSTANT and False' will always evaluate to 'False'
-condition-evals-to-constant:18:5::Boolean condition 'CONSTANT and False' will always evaluate to 'False'
-condition-evals-to-constant:20:6::Boolean condition 'CONSTANT and False' will always evaluate to 'False'
-condition-evals-to-constant:22:5::Boolean condition 'CONSTANT or True' will always evaluate to 'True'
-condition-evals-to-constant:23:29::Boolean condition 'x or True' will always evaluate to 'True'
-condition-evals-to-constant:26:7::Boolean condition 'True or CONSTANT or OTHER' will always evaluate to 'True'
-condition-evals-to-constant:27:7::Boolean condition 'CONSTANT or True or CONSTANT or True' will always evaluate to 'True'
-condition-evals-to-constant:30:7::Boolean condition '3 + 4 or CONSTANT' will always evaluate to '3 + 4'
-condition-evals-to-constant:31:7::Boolean condition 'Unknown or True' will always evaluate to 'True'
-condition-evals-to-constant:33:7::Boolean condition 'True or True' will always evaluate to 'True'
-condition-evals-to-constant:34:7::Boolean condition 'False or False' will always evaluate to 'False'
-condition-evals-to-constant:35:7::Boolean condition 'True and True' will always evaluate to 'True'
-condition-evals-to-constant:36:7::Boolean condition 'False and False' will always evaluate to 'False'
+condition-evals-to-constant:14:5:14:21::Boolean condition 'CONSTANT or True' will always evaluate to 'True':UNDEFINED
+condition-evals-to-constant:15:7:15:23::Boolean condition 'CONSTANT or True' will always evaluate to 'True':UNDEFINED
+condition-evals-to-constant:16:3:16:21::Boolean condition 'CONSTANT and False' will always evaluate to 'False':UNDEFINED
+condition-evals-to-constant:18:5:18:23::Boolean condition 'CONSTANT and False' will always evaluate to 'False':UNDEFINED
+condition-evals-to-constant:20:6:20:24::Boolean condition 'CONSTANT and False' will always evaluate to 'False':UNDEFINED
+condition-evals-to-constant:22:5:22:21::Boolean condition 'CONSTANT or True' will always evaluate to 'True':UNDEFINED
+condition-evals-to-constant:23:29:23:38::Boolean condition 'x or True' will always evaluate to 'True':UNDEFINED
+condition-evals-to-constant:26:7:26:32::Boolean condition 'True or CONSTANT or OTHER' will always evaluate to 'True':UNDEFINED
+condition-evals-to-constant:27:7:27:47::Boolean condition 'CONSTANT or True or CONSTANT or True' will always evaluate to 'True':UNDEFINED
+condition-evals-to-constant:30:7:30:24::Boolean condition '3 + 4 or CONSTANT' will always evaluate to '3 + 4':UNDEFINED
+condition-evals-to-constant:31:7:31:22::Boolean condition 'Unknown or True' will always evaluate to 'True':UNDEFINED
+condition-evals-to-constant:33:7:33:19::Boolean condition 'True or True' will always evaluate to 'True':UNDEFINED
+condition-evals-to-constant:34:7:34:21::Boolean condition 'False or False' will always evaluate to 'False':UNDEFINED
+condition-evals-to-constant:35:7:35:20::Boolean condition 'True and True' will always evaluate to 'True':UNDEFINED
+condition-evals-to-constant:36:7:36:22::Boolean condition 'False and False' will always evaluate to 'False':UNDEFINED
diff --git a/tests/functional/c/confidence_filter.txt b/tests/functional/c/confidence_filter.txt
index 1c2cd8380..86a0f28c4 100644
--- a/tests/functional/c/confidence_filter.txt
+++ b/tests/functional/c/confidence_filter.txt
@@ -1 +1 @@
-no-member:16:6::Instance of 'Client' has no 'foo' member:INFERENCE
+no-member:16:6:16:18::Instance of 'Client' has no 'foo' member:INFERENCE
diff --git a/tests/functional/c/confusing_with_statement.txt b/tests/functional/c/confusing_with_statement.txt
index 5ac2e7a50..1fcb0a5c6 100644
--- a/tests/functional/c/confusing_with_statement.txt
+++ b/tests/functional/c/confusing_with_statement.txt
@@ -1 +1 @@
-confusing-with-statement:26:0::"Following ""as"" with another context manager looks like a tuple."
+confusing-with-statement:26:0:27:8::"Following ""as"" with another context manager looks like a tuple.":UNDEFINED
diff --git a/tests/functional/c/consider/consider_iterating_dictionary.txt b/tests/functional/c/consider/consider_iterating_dictionary.txt
index a3ebbac2a..305b38e52 100644
--- a/tests/functional/c/consider/consider_iterating_dictionary.txt
+++ b/tests/functional/c/consider/consider_iterating_dictionary.txt
@@ -1,18 +1,18 @@
-consider-iterating-dictionary:25:16::Consider iterating the dictionary directly instead of calling .keys():HIGH
-consider-iterating-dictionary:26:16::Consider iterating the dictionary directly instead of calling .keys():HIGH
-consider-iterating-dictionary:27:16::Consider iterating the dictionary directly instead of calling .keys():HIGH
-consider-iterating-dictionary:28:21::Consider iterating the dictionary directly instead of calling .keys():HIGH
-consider-iterating-dictionary:29:24::Consider iterating the dictionary directly instead of calling .keys():HIGH
-consider-iterating-dictionary:30:24::Consider iterating the dictionary directly instead of calling .keys():HIGH
-consider-iterating-dictionary:31:24::Consider iterating the dictionary directly instead of calling .keys():HIGH
-consider-iterating-dictionary:32:29::Consider iterating the dictionary directly instead of calling .keys():HIGH
-consider-iterating-dictionary:33:11::Consider iterating the dictionary directly instead of calling .keys():HIGH
-consider-iterating-dictionary:38:24::Consider iterating the dictionary directly instead of calling .keys():HIGH
-consider-iterating-dictionary:38:55::Consider iterating the dictionary directly instead of calling .keys():HIGH
-consider-iterating-dictionary:39:31::Consider iterating the dictionary directly instead of calling .keys():HIGH
-consider-iterating-dictionary:39:61::Consider iterating the dictionary directly instead of calling .keys():HIGH
-consider-iterating-dictionary:40:30::Consider iterating the dictionary directly instead of calling .keys():HIGH
-consider-iterating-dictionary:40:60::Consider iterating the dictionary directly instead of calling .keys():HIGH
-consider-iterating-dictionary:43:8::Consider iterating the dictionary directly instead of calling .keys():HIGH
-consider-iterating-dictionary:45:8::Consider iterating the dictionary directly instead of calling .keys():HIGH
-consider-iterating-dictionary:65:11::Consider iterating the dictionary directly instead of calling .keys():HIGH
+consider-iterating-dictionary:25:16:25:25::Consider iterating the dictionary directly instead of calling .keys():UNDEFINED
+consider-iterating-dictionary:26:16:26:25::Consider iterating the dictionary directly instead of calling .keys():UNDEFINED
+consider-iterating-dictionary:27:16:27:25::Consider iterating the dictionary directly instead of calling .keys():UNDEFINED
+consider-iterating-dictionary:28:21:28:30::Consider iterating the dictionary directly instead of calling .keys():UNDEFINED
+consider-iterating-dictionary:29:24:29:33::Consider iterating the dictionary directly instead of calling .keys():UNDEFINED
+consider-iterating-dictionary:30:24:30:33::Consider iterating the dictionary directly instead of calling .keys():UNDEFINED
+consider-iterating-dictionary:31:24:31:33::Consider iterating the dictionary directly instead of calling .keys():UNDEFINED
+consider-iterating-dictionary:32:29:32:38::Consider iterating the dictionary directly instead of calling .keys():UNDEFINED
+consider-iterating-dictionary:33:11:33:20::Consider iterating the dictionary directly instead of calling .keys():UNDEFINED
+consider-iterating-dictionary:38:24:38:35::Consider iterating the dictionary directly instead of calling .keys():UNDEFINED
+consider-iterating-dictionary:38:55:38:66::Consider iterating the dictionary directly instead of calling .keys():UNDEFINED
+consider-iterating-dictionary:39:31:39:42::Consider iterating the dictionary directly instead of calling .keys():UNDEFINED
+consider-iterating-dictionary:39:61:39:72::Consider iterating the dictionary directly instead of calling .keys():UNDEFINED
+consider-iterating-dictionary:40:30:40:41::Consider iterating the dictionary directly instead of calling .keys():UNDEFINED
+consider-iterating-dictionary:40:60:40:71::Consider iterating the dictionary directly instead of calling .keys():UNDEFINED
+consider-iterating-dictionary:43:8:43:21::Consider iterating the dictionary directly instead of calling .keys():UNDEFINED
+consider-iterating-dictionary:45:8:45:17::Consider iterating the dictionary directly instead of calling .keys():UNDEFINED
+consider-iterating-dictionary:65:11:65:20::Consider iterating the dictionary directly instead of calling .keys():UNDEFINED
diff --git a/tests/functional/c/consider/consider_join.txt b/tests/functional/c/consider/consider_join.txt
index f544e55b8..baea768be 100644
--- a/tests/functional/c/consider/consider_join.txt
+++ b/tests/functional/c/consider/consider_join.txt
@@ -1,11 +1,11 @@
-consider-using-join:6:4::Consider using str.join(sequence) for concatenating strings from an iterable
-consider-using-join:10:4::Consider using str.join(sequence) for concatenating strings from an iterable
-consider-using-join:14:4::Consider using str.join(sequence) for concatenating strings from an iterable
-consider-using-join:18:4::Consider using str.join(sequence) for concatenating strings from an iterable
-consider-using-join:58:4::Consider using str.join(sequence) for concatenating strings from an iterable
-consider-using-join:62:4::Consider using str.join(sequence) for concatenating strings from an iterable
-consider-using-join:66:4::Consider using str.join(sequence) for concatenating strings from an iterable
-consider-using-join:71:4::Consider using str.join(sequence) for concatenating strings from an iterable
-consider-using-join:75:4::Consider using str.join(sequence) for concatenating strings from an iterable
-consider-using-join:79:4::Consider using str.join(sequence) for concatenating strings from an iterable
-consider-using-join:110:31::Consider using str.join(sequence) for concatenating strings from an iterable
+consider-using-join:6:4:6:20::Consider using str.join(sequence) for concatenating strings from an iterable:UNDEFINED
+consider-using-join:10:4:10:20::Consider using str.join(sequence) for concatenating strings from an iterable:UNDEFINED
+consider-using-join:14:4:14:20::Consider using str.join(sequence) for concatenating strings from an iterable:UNDEFINED
+consider-using-join:18:4:18:20::Consider using str.join(sequence) for concatenating strings from an iterable:UNDEFINED
+consider-using-join:58:4:58:20::Consider using str.join(sequence) for concatenating strings from an iterable:UNDEFINED
+consider-using-join:62:4:62:20::Consider using str.join(sequence) for concatenating strings from an iterable:UNDEFINED
+consider-using-join:66:4:66:20::Consider using str.join(sequence) for concatenating strings from an iterable:UNDEFINED
+consider-using-join:71:4:71:20::Consider using str.join(sequence) for concatenating strings from an iterable:UNDEFINED
+consider-using-join:75:4:75:20::Consider using str.join(sequence) for concatenating strings from an iterable:UNDEFINED
+consider-using-join:79:4:79:20::Consider using str.join(sequence) for concatenating strings from an iterable:UNDEFINED
+consider-using-join:110:31:110:47::Consider using str.join(sequence) for concatenating strings from an iterable:UNDEFINED
diff --git a/tests/functional/c/consider/consider_merging_isinstance.txt b/tests/functional/c/consider/consider_merging_isinstance.txt
index 9728f1e15..3d4297fb8 100644
--- a/tests/functional/c/consider/consider_merging_isinstance.txt
+++ b/tests/functional/c/consider/consider_merging_isinstance.txt
@@ -1,7 +1,7 @@
-consider-merging-isinstance:15:7:isinstances:Consider merging these isinstance calls to isinstance(var[3], (float, int))
-consider-merging-isinstance:17:13:isinstances:Consider merging these isinstance calls to isinstance(var[4], (float, int))
-consider-merging-isinstance:19:13:isinstances:Consider merging these isinstance calls to isinstance(var[5], (float, int))
-consider-merging-isinstance:22:13:isinstances:Consider merging these isinstance calls to isinstance(var[6], (float, int))
-consider-merging-isinstance:23:13:isinstances:Consider merging these isinstance calls to isinstance(var[10], (list, str))
-consider-merging-isinstance:24:13:isinstances:Consider merging these isinstance calls to isinstance(var[11], (float, int))
-consider-merging-isinstance:30:13:isinstances:Consider merging these isinstance calls to isinstance(var[12], (float, int, list))
+consider-merging-isinstance:15:7:15:96:isinstances:Consider merging these isinstance calls to isinstance(var[3], (float, int)):UNDEFINED
+consider-merging-isinstance:17:13:17:103:isinstances:Consider merging these isinstance calls to isinstance(var[4], (float, int)):UNDEFINED
+consider-merging-isinstance:19:13:19:73:isinstances:Consider merging these isinstance calls to isinstance(var[5], (float, int)):UNDEFINED
+consider-merging-isinstance:22:13:22:127:isinstances:Consider merging these isinstance calls to isinstance(var[6], (float, int)):UNDEFINED
+consider-merging-isinstance:23:13:23:158:isinstances:Consider merging these isinstance calls to isinstance(var[10], (list, str)):UNDEFINED
+consider-merging-isinstance:24:13:24:95:isinstances:Consider merging these isinstance calls to isinstance(var[11], (float, int)):UNDEFINED
+consider-merging-isinstance:30:13:30:75:isinstances:Consider merging these isinstance calls to isinstance(var[12], (float, int, list)):UNDEFINED
diff --git a/tests/functional/c/consider/consider_swap_variables.txt b/tests/functional/c/consider/consider_swap_variables.txt
index 3e099d671..b8794ebb9 100644
--- a/tests/functional/c/consider/consider_swap_variables.txt
+++ b/tests/functional/c/consider/consider_swap_variables.txt
@@ -1,2 +1,2 @@
-consider-swap-variables:5:0::Consider using tuple unpacking for swapping variables
-consider-swap-variables:22:0::Consider using tuple unpacking for swapping variables
+consider-swap-variables:5:0:5:8::Consider using tuple unpacking for swapping variables:UNDEFINED
+consider-swap-variables:22:0:22:8::Consider using tuple unpacking for swapping variables:UNDEFINED
diff --git a/tests/functional/c/consider/consider_using_dict_comprehension.txt b/tests/functional/c/consider/consider_using_dict_comprehension.txt
index ea2bb31ae..a241d1907 100644
--- a/tests/functional/c/consider/consider_using_dict_comprehension.txt
+++ b/tests/functional/c/consider/consider_using_dict_comprehension.txt
@@ -1 +1 @@
-consider-using-dict-comprehension:9:0::Consider using a dictionary comprehension
+consider-using-dict-comprehension:9:0:9:48::Consider using a dictionary comprehension:UNDEFINED
diff --git a/tests/functional/c/consider/consider_using_dict_items.txt b/tests/functional/c/consider/consider_using_dict_items.txt
index 9951d6848..d43c0f0cf 100644
--- a/tests/functional/c/consider/consider_using_dict_items.txt
+++ b/tests/functional/c/consider/consider_using_dict_items.txt
@@ -1,16 +1,16 @@
-consider-using-dict-items:6:4:bad:Consider iterating with .items():HIGH
-consider-using-dict-items:9:4:bad:Consider iterating with .items():HIGH
-consider-using-dict-items:21:4:another_bad:Consider iterating with .items():HIGH
-consider-using-dict-items:40:0::Consider iterating with .items():HIGH
-consider-using-dict-items:44:0::Consider iterating with .items():HIGH
-consider-iterating-dictionary:47:10::Consider iterating the dictionary directly instead of calling .keys():HIGH
-consider-using-dict-items:47:0::Consider iterating with .items():HIGH
-consider-using-dict-items:54:0::Consider iterating with .items():HIGH
-consider-using-dict-items:67:0::Consider iterating with .items():HIGH
-consider-using-dict-items:68:0::Consider iterating with .items():HIGH
-consider-using-dict-items:71:0::Consider iterating with .items():HIGH
-consider-using-dict-items:72:0::Consider iterating with .items():HIGH
-consider-using-dict-items:75:0::Consider iterating with .items():HIGH
-consider-iterating-dictionary:86:25::Consider iterating the dictionary directly instead of calling .keys():HIGH
-consider-using-dict-items:86:0::Consider iterating with .items():HIGH
-consider-using-dict-items:103:0::Consider iterating with .items():HIGH
+consider-using-dict-items:6:4:7:24:bad:Consider iterating with .items():UNDEFINED
+consider-using-dict-items:9:4:10:30:bad:Consider iterating with .items():UNDEFINED
+consider-using-dict-items:21:4:22:35:another_bad:Consider iterating with .items():UNDEFINED
+consider-using-dict-items:40:0:42:18::Consider iterating with .items():UNDEFINED
+consider-using-dict-items:44:0:45:20::Consider iterating with .items():UNDEFINED
+consider-iterating-dictionary:47:10:47:23::Consider iterating the dictionary directly instead of calling .keys():UNDEFINED
+consider-using-dict-items:47:0:48:20::Consider iterating with .items():UNDEFINED
+consider-using-dict-items:54:0:55:24::Consider iterating with .items():UNDEFINED
+consider-using-dict-items:67:0:None:None::Consider iterating with .items():UNDEFINED
+consider-using-dict-items:68:0:None:None::Consider iterating with .items():UNDEFINED
+consider-using-dict-items:71:0:None:None::Consider iterating with .items():UNDEFINED
+consider-using-dict-items:72:0:None:None::Consider iterating with .items():UNDEFINED
+consider-using-dict-items:75:0:None:None::Consider iterating with .items():UNDEFINED
+consider-iterating-dictionary:86:25:86:42::Consider iterating the dictionary directly instead of calling .keys():UNDEFINED
+consider-using-dict-items:86:0:None:None::Consider iterating with .items():UNDEFINED
+consider-using-dict-items:103:0:105:24::Consider iterating with .items():UNDEFINED
diff --git a/tests/functional/c/consider/consider_using_enumerate.txt b/tests/functional/c/consider/consider_using_enumerate.txt
index 4a4738838..c7e0dbbbd 100644
--- a/tests/functional/c/consider/consider_using_enumerate.txt
+++ b/tests/functional/c/consider/consider_using_enumerate.txt
@@ -1,5 +1,5 @@
-consider-using-enumerate:7:4:bad:Consider using enumerate instead of iterating with range and len
-consider-using-enumerate:9:4:bad:Consider using enumerate instead of iterating with range and len
-consider-using-enumerate:17:8:Bad.__iter__:Consider using enumerate instead of iterating with range and len
-consider-using-enumerate:21:8:Bad.test:Consider using enumerate instead of iterating with range and len
-consider-using-enumerate:83:4:my_function:Consider using enumerate instead of iterating with range and len
+consider-using-enumerate:7:4:8:27:bad:Consider using enumerate instead of iterating with range and len:UNDEFINED
+consider-using-enumerate:9:4:10:27:bad:Consider using enumerate instead of iterating with range and len:UNDEFINED
+consider-using-enumerate:17:8:18:29:Bad.__iter__:Consider using enumerate instead of iterating with range and len:UNDEFINED
+consider-using-enumerate:21:8:22:25:Bad.test:Consider using enumerate instead of iterating with range and len:UNDEFINED
+consider-using-enumerate:83:4:85:18:my_function:Consider using enumerate instead of iterating with range and len:UNDEFINED
diff --git a/tests/functional/c/consider/consider_using_f_string.txt b/tests/functional/c/consider/consider_using_f_string.txt
index 65363cea4..f3ac4adf0 100644
--- a/tests/functional/c/consider/consider_using_f_string.txt
+++ b/tests/functional/c/consider/consider_using_f_string.txt
@@ -1,30 +1,30 @@
-consider-using-f-string:45:10:print_bad:Formatting a regular string which could be a f-string:HIGH
-consider-using-f-string:46:10:print_bad:Formatting a regular string which could be a f-string:HIGH
-consider-using-f-string:47:10:print_bad:Formatting a regular string which could be a f-string:HIGH
-consider-using-f-string:48:10:print_bad:Formatting a regular string which could be a f-string:HIGH
-consider-using-f-string:49:10:print_bad:Formatting a regular string which could be a f-string:HIGH
-consider-using-f-string:50:10:print_bad:Formatting a regular string which could be a f-string:HIGH
-consider-using-f-string:51:10:print_bad:Formatting a regular string which could be a f-string:HIGH
-consider-using-f-string:52:10:print_bad:Formatting a regular string which could be a f-string:HIGH
-consider-using-f-string:53:10:print_bad:Formatting a regular string which could be a f-string:HIGH
-consider-using-f-string:54:10:print_bad:Formatting a regular string which could be a f-string:HIGH
-consider-using-f-string:77:4:statement_bad:Formatting a regular string which could be a f-string:HIGH
-consider-using-f-string:78:4:statement_bad:Formatting a regular string which could be a f-string:HIGH
-consider-using-f-string:79:4:statement_bad:Formatting a regular string which could be a f-string:HIGH
-consider-using-f-string:80:4:statement_bad:Formatting a regular string which could be a f-string:HIGH
-consider-using-f-string:81:4:statement_bad:Formatting a regular string which could be a f-string:HIGH
-consider-using-f-string:82:4:statement_bad:Formatting a regular string which could be a f-string:HIGH
-consider-using-f-string:83:4:statement_bad:Formatting a regular string which could be a f-string:HIGH
-consider-using-f-string:84:4:statement_bad:Formatting a regular string which could be a f-string:HIGH
-consider-using-f-string:85:4:statement_bad:Formatting a regular string which could be a f-string:HIGH
-consider-using-f-string:86:4:statement_bad:Formatting a regular string which could be a f-string:HIGH
-consider-using-f-string:109:8:assignment_bad:Formatting a regular string which could be a f-string:HIGH
-consider-using-f-string:110:8:assignment_bad:Formatting a regular string which could be a f-string:HIGH
-consider-using-f-string:111:8:assignment_bad:Formatting a regular string which could be a f-string:HIGH
-consider-using-f-string:112:8:assignment_bad:Formatting a regular string which could be a f-string:HIGH
-consider-using-f-string:113:8:assignment_bad:Formatting a regular string which could be a f-string:HIGH
-consider-using-f-string:114:8:assignment_bad:Formatting a regular string which could be a f-string:HIGH
-consider-using-f-string:115:8:assignment_bad:Formatting a regular string which could be a f-string:HIGH
-consider-using-f-string:116:8:assignment_bad:Formatting a regular string which could be a f-string:HIGH
-consider-using-f-string:117:8:assignment_bad:Formatting a regular string which could be a f-string:HIGH
-consider-using-f-string:118:8:assignment_bad:Formatting a regular string which could be a f-string:HIGH
+consider-using-f-string:45:10:45:21:print_bad:Formatting a regular string which could be a f-string:UNDEFINED
+consider-using-f-string:46:10:46:21:print_bad:Formatting a regular string which could be a f-string:UNDEFINED
+consider-using-f-string:47:10:47:28:print_bad:Formatting a regular string which could be a f-string:UNDEFINED
+consider-using-f-string:48:10:48:17:print_bad:Formatting a regular string which could be a f-string:UNDEFINED
+consider-using-f-string:49:10:49:26:print_bad:Formatting a regular string which could be a f-string:UNDEFINED
+consider-using-f-string:50:10:50:21:print_bad:Formatting a regular string which could be a f-string:UNDEFINED
+consider-using-f-string:51:10:51:21:print_bad:Formatting a regular string which could be a f-string:UNDEFINED
+consider-using-f-string:52:10:52:21:print_bad:Formatting a regular string which could be a f-string:UNDEFINED
+consider-using-f-string:53:10:53:24:print_bad:Formatting a regular string which could be a f-string:UNDEFINED
+consider-using-f-string:54:10:54:21:print_bad:Formatting a regular string which could be a f-string:UNDEFINED
+consider-using-f-string:77:4:77:15:statement_bad:Formatting a regular string which could be a f-string:UNDEFINED
+consider-using-f-string:78:4:78:15:statement_bad:Formatting a regular string which could be a f-string:UNDEFINED
+consider-using-f-string:79:4:79:22:statement_bad:Formatting a regular string which could be a f-string:UNDEFINED
+consider-using-f-string:80:4:80:11:statement_bad:Formatting a regular string which could be a f-string:UNDEFINED
+consider-using-f-string:81:4:81:20:statement_bad:Formatting a regular string which could be a f-string:UNDEFINED
+consider-using-f-string:82:4:82:15:statement_bad:Formatting a regular string which could be a f-string:UNDEFINED
+consider-using-f-string:83:4:83:15:statement_bad:Formatting a regular string which could be a f-string:UNDEFINED
+consider-using-f-string:84:4:84:15:statement_bad:Formatting a regular string which could be a f-string:UNDEFINED
+consider-using-f-string:85:4:85:18:statement_bad:Formatting a regular string which could be a f-string:UNDEFINED
+consider-using-f-string:86:4:86:15:statement_bad:Formatting a regular string which could be a f-string:UNDEFINED
+consider-using-f-string:109:8:109:19:assignment_bad:Formatting a regular string which could be a f-string:UNDEFINED
+consider-using-f-string:110:8:110:19:assignment_bad:Formatting a regular string which could be a f-string:UNDEFINED
+consider-using-f-string:111:8:111:26:assignment_bad:Formatting a regular string which could be a f-string:UNDEFINED
+consider-using-f-string:112:8:112:15:assignment_bad:Formatting a regular string which could be a f-string:UNDEFINED
+consider-using-f-string:113:8:113:24:assignment_bad:Formatting a regular string which could be a f-string:UNDEFINED
+consider-using-f-string:114:8:114:19:assignment_bad:Formatting a regular string which could be a f-string:UNDEFINED
+consider-using-f-string:115:8:115:19:assignment_bad:Formatting a regular string which could be a f-string:UNDEFINED
+consider-using-f-string:116:8:116:19:assignment_bad:Formatting a regular string which could be a f-string:UNDEFINED
+consider-using-f-string:117:8:117:22:assignment_bad:Formatting a regular string which could be a f-string:UNDEFINED
+consider-using-f-string:118:8:118:19:assignment_bad:Formatting a regular string which could be a f-string:UNDEFINED
diff --git a/tests/functional/c/consider/consider_using_generator.txt b/tests/functional/c/consider/consider_using_generator.txt
index 3d3c5a494..916fc987f 100644
--- a/tests/functional/c/consider/consider_using_generator.txt
+++ b/tests/functional/c/consider/consider_using_generator.txt
@@ -1,2 +1,2 @@
-consider-using-generator:7:0::Consider using a generator instead 'list(0 for y in list(range(10)))'
-consider-using-generator:8:0::Consider using a generator instead 'tuple(0 for y in list(range(10)))'
+consider-using-generator:7:0:7:34::Consider using a generator instead 'list(0 for y in list(range(10)))':UNDEFINED
+consider-using-generator:8:0:8:35::Consider using a generator instead 'tuple(0 for y in list(range(10)))':UNDEFINED
diff --git a/tests/functional/c/consider/consider_using_get.txt b/tests/functional/c/consider/consider_using_get.txt
index d57b4a269..5b155a4df 100644
--- a/tests/functional/c/consider/consider_using_get.txt
+++ b/tests/functional/c/consider/consider_using_get.txt
@@ -1,4 +1,4 @@
-consider-using-get:5:0::Consider using dict.get for getting values from a dict if a key is present or a default if not
-consider-using-get:8:0::Consider using dict.get for getting values from a dict if a key is present or a default if not
-consider-using-get:13:0::Consider using dict.get for getting values from a dict if a key is present or a default if not
-consider-using-get:67:0::Consider using dict.get for getting values from a dict if a key is present or a default if not
+consider-using-get:5:0:6:32::Consider using dict.get for getting values from a dict if a key is present or a default if not:UNDEFINED
+consider-using-get:8:0:11:24::Consider using dict.get for getting values from a dict if a key is present or a default if not:UNDEFINED
+consider-using-get:13:0:14:30::Consider using dict.get for getting values from a dict if a key is present or a default if not:UNDEFINED
+consider-using-get:67:0:70:24::Consider using dict.get for getting values from a dict if a key is present or a default if not:UNDEFINED
diff --git a/tests/functional/c/consider/consider_using_in.txt b/tests/functional/c/consider/consider_using_in.txt
index 427c0ee04..a2b402378 100644
--- a/tests/functional/c/consider/consider_using_in.txt
+++ b/tests/functional/c/consider/consider_using_in.txt
@@ -1,14 +1,14 @@
-consider-using-in:10:0::"Consider merging these comparisons with ""in"" to 'value in (1,)'":HIGH
-consider-using-in:11:0::"Consider merging these comparisons with ""in"" to 'value in (1, 2)'":HIGH
-consider-using-in:12:0::"Consider merging these comparisons with ""in"" to ""value in ('value',)""":HIGH
-consider-using-in:13:0::"Consider merging these comparisons with ""in"" to 'value in (1, undef_value)'":HIGH
-consider-using-in:14:0::"Consider merging these comparisons with ""in"" to 'value in (1, 2, 3)'":HIGH
-consider-using-in:15:0::"Consider merging these comparisons with ""in"" to ""value in ('2', 1)""":HIGH
-consider-using-in:16:0::"Consider merging these comparisons with ""in"" to 'value in (1, 2)'":HIGH
-consider-using-in:17:0::"Consider merging these comparisons with ""in"" to 'value in (1, 2)'":HIGH
-consider-using-in:18:0::"Consider merging these comparisons with ""in"" to 'value in (1, a_list)'":HIGH
-consider-using-in:19:0::"Consider merging these comparisons with ""in"" to 'value in (a_set, a_list, a_str)'":HIGH
-consider-using-in:20:0::"Consider merging these comparisons with ""in"" to 'value not in (1, 2)'":HIGH
-consider-using-in:21:0::"Consider merging these comparisons with ""in"" to 'value1 in (value2,)'":HIGH
-consider-using-in:22:0::"Consider merging these comparisons with ""in"" to 'a_list in ([1, 2, 3], [])'":HIGH
-consider-using-in:53:0::"Consider merging these comparisons with ""in"" to 'A.value in (1, 2)'":HIGH
+consider-using-in:10:0:10:24::"Consider merging these comparisons with ""in"" to 'value in (1,)'":UNDEFINED
+consider-using-in:11:0:11:24::"Consider merging these comparisons with ""in"" to 'value in (1, 2)'":UNDEFINED
+consider-using-in:12:0:12:36::"Consider merging these comparisons with ""in"" to ""value in ('value',)""":UNDEFINED
+consider-using-in:13:0:13:34::"Consider merging these comparisons with ""in"" to 'value in (1, undef_value)'":UNDEFINED
+consider-using-in:14:0:14:38::"Consider merging these comparisons with ""in"" to 'value in (1, 2, 3)'":UNDEFINED
+consider-using-in:15:0:15:26::"Consider merging these comparisons with ""in"" to ""value in ('2', 1)""":UNDEFINED
+consider-using-in:16:0:16:24::"Consider merging these comparisons with ""in"" to 'value in (1, 2)'":UNDEFINED
+consider-using-in:17:0:17:24::"Consider merging these comparisons with ""in"" to 'value in (1, 2)'":UNDEFINED
+consider-using-in:18:0:18:29::"Consider merging these comparisons with ""in"" to 'value in (1, a_list)'":UNDEFINED
+consider-using-in:19:0:19:51::"Consider merging these comparisons with ""in"" to 'value in (a_set, a_list, a_str)'":UNDEFINED
+consider-using-in:20:0:20:25::"Consider merging these comparisons with ""in"" to 'value not in (1, 2)'":UNDEFINED
+consider-using-in:21:0:21:36::"Consider merging these comparisons with ""in"" to 'value1 in (value2,)'":UNDEFINED
+consider-using-in:22:0:22:35::"Consider merging these comparisons with ""in"" to 'a_list in ([1, 2, 3], [])'":UNDEFINED
+consider-using-in:53:0:53:28::"Consider merging these comparisons with ""in"" to 'A.value in (1, 2)'":UNDEFINED
diff --git a/tests/functional/c/consider/consider_using_min_max_builtin.txt b/tests/functional/c/consider/consider_using_min_max_builtin.txt
index 9ed5e0559..cd8f661c5 100644
--- a/tests/functional/c/consider/consider_using_min_max_builtin.txt
+++ b/tests/functional/c/consider/consider_using_min_max_builtin.txt
@@ -1,11 +1,11 @@
-consider-using-max-builtin:8:0::"Consider using 'value = max(value, 10)' instead of unnecessary if block"
-consider-using-min-builtin:11:0::"Consider using 'value = min(value, 10)' instead of unnecessary if block"
-consider-using-max-builtin:14:0::"Consider using 'value = max(value, 10)' instead of unnecessary if block"
-consider-using-min-builtin:17:0::"Consider using 'value = min(value, 10)' instead of unnecessary if block"
-consider-using-max-builtin:20:0::"Consider using 'value = max(value, value2)' instead of unnecessary if block"
-consider-using-min-builtin:23:0::"Consider using 'value = min(value, value2)' instead of unnecessary if block"
-consider-using-min-builtin:33:0::"Consider using 'value = min(value, 10)' instead of unnecessary if block"
-consider-using-min-builtin:57:0::"Consider using 'A1 = min(A1, A2)' instead of unnecessary if block"
-consider-using-max-builtin:60:0::"Consider using 'A2 = max(A2, A1)' instead of unnecessary if block"
-consider-using-min-builtin:63:0::"Consider using 'A1 = min(A1, A2)' instead of unnecessary if block"
-consider-using-max-builtin:66:0::"Consider using 'A2 = max(A2, A1)' instead of unnecessary if block"
+consider-using-max-builtin:8:0:9:14::Consider using 'value = max(value, 10)' instead of unnecessary if block:UNDEFINED
+consider-using-min-builtin:11:0:12:14::Consider using 'value = min(value, 10)' instead of unnecessary if block:UNDEFINED
+consider-using-max-builtin:14:0:15:14::Consider using 'value = max(value, 10)' instead of unnecessary if block:UNDEFINED
+consider-using-min-builtin:17:0:18:14::Consider using 'value = min(value, 10)' instead of unnecessary if block:UNDEFINED
+consider-using-max-builtin:20:0:21:18::Consider using 'value = max(value, value2)' instead of unnecessary if block:UNDEFINED
+consider-using-min-builtin:23:0:24:18::Consider using 'value = min(value, value2)' instead of unnecessary if block:UNDEFINED
+consider-using-min-builtin:33:0:34:17::Consider using 'value = min(value, 10)' instead of unnecessary if block:UNDEFINED
+consider-using-min-builtin:57:0:58:11::Consider using 'A1 = min(A1, A2)' instead of unnecessary if block:UNDEFINED
+consider-using-max-builtin:60:0:61:11::Consider using 'A2 = max(A2, A1)' instead of unnecessary if block:UNDEFINED
+consider-using-min-builtin:63:0:64:11::Consider using 'A1 = min(A1, A2)' instead of unnecessary if block:UNDEFINED
+consider-using-max-builtin:66:0:67:11::Consider using 'A2 = max(A2, A1)' instead of unnecessary if block:UNDEFINED
diff --git a/tests/functional/c/consider/consider_using_set_comprehension.txt b/tests/functional/c/consider/consider_using_set_comprehension.txt
index 4839a7a62..cb0ff0f2c 100644
--- a/tests/functional/c/consider/consider_using_set_comprehension.txt
+++ b/tests/functional/c/consider/consider_using_set_comprehension.txt
@@ -1 +1 @@
-consider-using-set-comprehension:9:0::Consider using a set comprehension
+consider-using-set-comprehension:9:0:9:35::Consider using a set comprehension:UNDEFINED
diff --git a/tests/functional/c/consider/consider_using_sys_exit.txt b/tests/functional/c/consider/consider_using_sys_exit.txt
index c429c652e..8cdeb6ba8 100644
--- a/tests/functional/c/consider/consider_using_sys_exit.txt
+++ b/tests/functional/c/consider/consider_using_sys_exit.txt
@@ -1,3 +1,3 @@
-consider-using-sys-exit:5:4:foo:Consider using sys.exit()
-consider-using-sys-exit:8:4:foo_1:Consider using sys.exit()
-consider-using-sys-exit:14:0::Consider using sys.exit()
+consider-using-sys-exit:5:4:5:10:foo:Consider using sys.exit():UNDEFINED
+consider-using-sys-exit:8:4:8:10:foo_1:Consider using sys.exit():UNDEFINED
+consider-using-sys-exit:14:0:14:6::Consider using sys.exit():UNDEFINED
diff --git a/tests/functional/c/consider/consider_using_with.txt b/tests/functional/c/consider/consider_using_with.txt
index 45311b15b..dad0eb45f 100644
--- a/tests/functional/c/consider/consider_using_with.txt
+++ b/tests/functional/c/consider/consider_using_with.txt
@@ -1,26 +1,26 @@
-consider-using-with:15:9:test_codecs_open:Consider using 'with' for resource-allocating operations:HIGH
-consider-using-with:20:8:test_urlopen:Consider using 'with' for resource-allocating operations:HIGH
-consider-using-with:24:8:test_temporary_file:Consider using 'with' for resource-allocating operations:HIGH
-consider-using-with:28:8:test_named_temporary_file:Consider using 'with' for resource-allocating operations:HIGH
-consider-using-with:32:8:test_spooled_temporary_file:Consider using 'with' for resource-allocating operations:HIGH
-consider-using-with:36:8:test_temporary_directory:Consider using 'with' for resource-allocating operations:HIGH
-consider-using-with:40:12:test_zipfile:Consider using 'with' for resource-allocating operations:HIGH
-consider-using-with:41:8:test_zipfile:Consider using 'with' for resource-allocating operations:HIGH
-consider-using-with:45:12:test_pyzipfile:Consider using 'with' for resource-allocating operations:HIGH
-consider-using-with:50:8:test_pyzipfile:Consider using 'with' for resource-allocating operations:HIGH
-consider-using-with:57:9:test_tarfile:Consider using 'with' for resource-allocating operations:HIGH
-consider-using-with:63:9:test_tarfile:Consider using 'with' for resource-allocating operations:HIGH
-consider-using-with:72:4:test_lock_acquisition:Consider using 'with' for resource-allocating operations:HIGH
-consider-using-with:79:4:test_lock_acquisition:Consider using 'with' for resource-allocating operations:HIGH
-consider-using-with:86:4:test_lock_acquisition:Consider using 'with' for resource-allocating operations:HIGH
-consider-using-with:93:4:test_lock_acquisition:Consider using 'with' for resource-allocating operations:HIGH
-consider-using-with:129:8:test_multiprocessing:Consider using 'with' for resource-allocating operations:HIGH
-consider-using-with:134:4:test_multiprocessing:Consider using 'with' for resource-allocating operations:HIGH
-consider-using-with:139:4:test_multiprocessing:Consider using 'with' for resource-allocating operations:HIGH
-consider-using-with:145:8:test_popen:Consider using 'with' for resource-allocating operations:HIGH
-consider-using-with:201:4::Consider using 'with' for resource-allocating operations:HIGH
-consider-using-with:202:4::Consider using 'with' for resource-allocating operations:HIGH
-consider-using-with:207:4::Consider using 'with' for resource-allocating operations:HIGH
-consider-using-with:213:4::Consider using 'with' for resource-allocating operations:HIGH
-consider-using-with:229:18:test_subscript_assignment:Consider using 'with' for resource-allocating operations:HIGH
-consider-using-with:231:24:test_subscript_assignment:Consider using 'with' for resource-allocating operations:HIGH
+consider-using-with:15:9:15:40:test_codecs_open:Consider using 'with' for resource-allocating operations:UNDEFINED
+consider-using-with:20:8:20:55:test_urlopen:Consider using 'with' for resource-allocating operations:UNDEFINED
+consider-using-with:24:8:24:35:test_temporary_file:Consider using 'with' for resource-allocating operations:UNDEFINED
+consider-using-with:28:8:28:40:test_named_temporary_file:Consider using 'with' for resource-allocating operations:UNDEFINED
+consider-using-with:32:8:32:42:test_spooled_temporary_file:Consider using 'with' for resource-allocating operations:UNDEFINED
+consider-using-with:36:8:36:37:test_temporary_directory:Consider using 'with' for resource-allocating operations:UNDEFINED
+consider-using-with:40:12:40:44:test_zipfile:Consider using 'with' for resource-allocating operations:UNDEFINED
+consider-using-with:41:8:41:30:test_zipfile:Consider using 'with' for resource-allocating operations:UNDEFINED
+consider-using-with:45:12:45:46:test_pyzipfile:Consider using 'with' for resource-allocating operations:UNDEFINED
+consider-using-with:50:8:50:30:test_pyzipfile:Consider using 'with' for resource-allocating operations:UNDEFINED
+consider-using-with:57:9:57:43:test_tarfile:Consider using 'with' for resource-allocating operations:UNDEFINED
+consider-using-with:63:9:63:47:test_tarfile:Consider using 'with' for resource-allocating operations:UNDEFINED
+consider-using-with:72:4:72:18:test_lock_acquisition:Consider using 'with' for resource-allocating operations:UNDEFINED
+consider-using-with:79:4:79:19:test_lock_acquisition:Consider using 'with' for resource-allocating operations:UNDEFINED
+consider-using-with:86:4:86:18:test_lock_acquisition:Consider using 'with' for resource-allocating operations:UNDEFINED
+consider-using-with:93:4:93:26:test_lock_acquisition:Consider using 'with' for resource-allocating operations:UNDEFINED
+consider-using-with:129:8:129:30:test_multiprocessing:Consider using 'with' for resource-allocating operations:UNDEFINED
+consider-using-with:134:4:134:19:test_multiprocessing:Consider using 'with' for resource-allocating operations:UNDEFINED
+consider-using-with:139:4:139:19:test_multiprocessing:Consider using 'with' for resource-allocating operations:UNDEFINED
+consider-using-with:145:8:145:30:test_popen:Consider using 'with' for resource-allocating operations:UNDEFINED
+consider-using-with:201:4:201:26::Consider using 'with' for resource-allocating operations:UNDEFINED
+consider-using-with:202:4:202:26::Consider using 'with' for resource-allocating operations:UNDEFINED
+consider-using-with:207:4:207:26::Consider using 'with' for resource-allocating operations:UNDEFINED
+consider-using-with:213:4:213:26::Consider using 'with' for resource-allocating operations:UNDEFINED
+consider-using-with:229:18:229:40:test_subscript_assignment:Consider using 'with' for resource-allocating operations:UNDEFINED
+consider-using-with:231:24:231:46:test_subscript_assignment:Consider using 'with' for resource-allocating operations:UNDEFINED
diff --git a/tests/functional/c/consider/consider_using_with_open.txt b/tests/functional/c/consider/consider_using_with_open.txt
index cf3fdc1c8..b52b661af 100644
--- a/tests/functional/c/consider/consider_using_with_open.txt
+++ b/tests/functional/c/consider/consider_using_with_open.txt
@@ -1,6 +1,6 @@
-consider-using-with:12:9::Consider using 'with' for resource-allocating operations:HIGH
-consider-using-with:16:9:test_open:Consider using 'with' for resource-allocating operations:HIGH
-consider-using-with:46:4:test_open_outside_assignment:Consider using 'with' for resource-allocating operations:HIGH
-consider-using-with:47:14:test_open_outside_assignment:Consider using 'with' for resource-allocating operations:HIGH
-consider-using-with:52:8:test_open_inside_with_block:Consider using 'with' for resource-allocating operations:HIGH
-consider-using-with:120:26:TestControlFlow.test_triggers_if_reassigned_after_if_else:Consider using 'with' for resource-allocating operations:HIGH
+consider-using-with:12:9:12:43::Consider using 'with' for resource-allocating operations:UNDEFINED
+consider-using-with:16:9:16:43:test_open:Consider using 'with' for resource-allocating operations:UNDEFINED
+consider-using-with:46:4:46:33:test_open_outside_assignment:Consider using 'with' for resource-allocating operations:UNDEFINED
+consider-using-with:47:14:47:43:test_open_outside_assignment:Consider using 'with' for resource-allocating operations:UNDEFINED
+consider-using-with:52:8:52:37:test_open_inside_with_block:Consider using 'with' for resource-allocating operations:UNDEFINED
+consider-using-with:120:26:122:13:TestControlFlow.test_triggers_if_reassigned_after_if_else:Consider using 'with' for resource-allocating operations:UNDEFINED
diff --git a/tests/functional/c/ctor_arguments.txt b/tests/functional/c/ctor_arguments.txt
index 781715c0a..286a56bd7 100644
--- a/tests/functional/c/ctor_arguments.txt
+++ b/tests/functional/c/ctor_arguments.txt
@@ -1,24 +1,24 @@
-no-value-for-parameter:35:0::No value for argument 'first_argument' in constructor call
-too-many-function-args:36:0::Too many positional arguments for constructor call
-no-value-for-parameter:38:0::No value for argument 'third_argument' in constructor call
-no-value-for-parameter:40:0::No value for argument 'first_argument' in constructor call
-no-value-for-parameter:40:0::No value for argument 'second_argument' in constructor call
-no-value-for-parameter:40:0::No value for argument 'third_argument' in constructor call
-too-many-function-args:42:0::Too many positional arguments for constructor call
-no-value-for-parameter:47:0::No value for argument 'first_argument' in constructor call
-unexpected-keyword-arg:47:0::Unexpected keyword argument 'bob' in constructor call
-unexpected-keyword-arg:48:0::Unexpected keyword argument 'coin' in constructor call
-redundant-keyword-arg:50:0::Argument 'one' passed by position and keyword in constructor call
-no-value-for-parameter:53:0::No value for argument 'first_argument' in constructor call
-too-many-function-args:54:0::Too many positional arguments for constructor call
-too-many-function-args:60:0::Too many positional arguments for constructor call
-too-many-function-args:63:0::Too many positional arguments for constructor call
-no-value-for-parameter:64:0::No value for argument 'first_argument' in constructor call
-unexpected-keyword-arg:64:0::Unexpected keyword argument 'one' in constructor call
-too-many-function-args:85:0::Too many positional arguments for constructor call
-unexpected-keyword-arg:85:0::Unexpected keyword argument 'badarg' in constructor call
-too-many-function-args:95:15:Clsmethod.from_nothing:Too many positional arguments for constructor call
-no-value-for-parameter:99:15:Clsmethod.from_nothing1:No value for argument 'first' in constructor call
-no-value-for-parameter:99:15:Clsmethod.from_nothing1:No value for argument 'second' in constructor call
-no-value-for-parameter:104:15:Clsmethod.from_nothing2:No value for argument 'second' in constructor call
-unexpected-keyword-arg:104:15:Clsmethod.from_nothing2:Unexpected keyword argument 'not_argument' in constructor call
+no-value-for-parameter:35:0:35:11::No value for argument 'first_argument' in constructor call:UNDEFINED
+too-many-function-args:36:0:36:20::Too many positional arguments for constructor call:UNDEFINED
+no-value-for-parameter:38:0:38:19::No value for argument 'third_argument' in constructor call:UNDEFINED
+no-value-for-parameter:40:0:40:11::No value for argument 'first_argument' in constructor call:UNDEFINED
+no-value-for-parameter:40:0:40:11::No value for argument 'second_argument' in constructor call:UNDEFINED
+no-value-for-parameter:40:0:40:11::No value for argument 'third_argument' in constructor call:UNDEFINED
+too-many-function-args:42:0:42:35::Too many positional arguments for constructor call:UNDEFINED
+no-value-for-parameter:47:0:47:16::No value for argument 'first_argument' in constructor call:UNDEFINED
+unexpected-keyword-arg:47:0:47:16::Unexpected keyword argument 'bob' in constructor call:UNDEFINED
+unexpected-keyword-arg:48:0:48:35::Unexpected keyword argument 'coin' in constructor call:UNDEFINED
+redundant-keyword-arg:50:0:50:25::Argument 'one' passed by position and keyword in constructor call:UNDEFINED
+no-value-for-parameter:53:0:53:14::No value for argument 'first_argument' in constructor call:UNDEFINED
+too-many-function-args:54:0:54:23::Too many positional arguments for constructor call:UNDEFINED
+too-many-function-args:60:0:60:30::Too many positional arguments for constructor call:UNDEFINED
+too-many-function-args:63:0:63:17::Too many positional arguments for constructor call:UNDEFINED
+no-value-for-parameter:64:0:64:15::No value for argument 'first_argument' in constructor call:UNDEFINED
+unexpected-keyword-arg:64:0:64:15::Unexpected keyword argument 'one' in constructor call:UNDEFINED
+too-many-function-args:85:0:85:28::Too many positional arguments for constructor call:UNDEFINED
+unexpected-keyword-arg:85:0:85:28::Unexpected keyword argument 'badarg' in constructor call:UNDEFINED
+too-many-function-args:95:15:95:30:Clsmethod.from_nothing:Too many positional arguments for constructor call:UNDEFINED
+no-value-for-parameter:99:15:99:20:Clsmethod.from_nothing1:No value for argument 'first' in constructor call:UNDEFINED
+no-value-for-parameter:99:15:99:20:Clsmethod.from_nothing1:No value for argument 'second' in constructor call:UNDEFINED
+no-value-for-parameter:104:15:104:37:Clsmethod.from_nothing2:No value for argument 'second' in constructor call:UNDEFINED
+unexpected-keyword-arg:104:15:104:37:Clsmethod.from_nothing2:Unexpected keyword argument 'not_argument' in constructor call:UNDEFINED
diff --git a/tests/functional/d/dangerous_default_value.txt b/tests/functional/d/dangerous_default_value.txt
index 8f4dd7e47..5d809f235 100644
--- a/tests/functional/d/dangerous_default_value.txt
+++ b/tests/functional/d/dangerous_default_value.txt
@@ -1,22 +1,22 @@
-dangerous-default-value:6:0:function1:Dangerous default value [] as argument
-dangerous-default-value:10:0:function2:Dangerous default value HEHE (builtins.dict) as argument
-dangerous-default-value:18:0:function4:Dangerous default value set() (builtins.set) as argument
-dangerous-default-value:28:0:function6:Dangerous default value GLOBAL_SET (builtins.set) as argument
-dangerous-default-value:32:0:function7:Dangerous default value dict() (builtins.dict) as argument
-dangerous-default-value:36:0:function8:Dangerous default value list() (builtins.list) as argument
-dangerous-default-value:40:0:function9:Dangerous default value [] as argument
-dangerous-default-value:44:0:function10:Dangerous default value {} as argument
-dangerous-default-value:48:0:function11:Dangerous default value list() (builtins.list) as argument
-dangerous-default-value:52:0:function12:Dangerous default value dict() (builtins.dict) as argument
-dangerous-default-value:61:0:function13:Dangerous default value OINK (builtins.dict) as argument
-dangerous-default-value:65:0:function14:Dangerous default value dict() (builtins.dict) as argument
-dangerous-default-value:73:0:function15:Dangerous default value INVALID_DICT (builtins.dict) as argument
-dangerous-default-value:77:0:function16:Dangerous default value set() as argument
-dangerous-default-value:81:0:function17:Dangerous default value deque() (collections.deque) as argument
-dangerous-default-value:85:0:function18:Dangerous default value ChainMap() (collections.ChainMap) as argument
-dangerous-default-value:89:0:function19:Dangerous default value Counter() (collections.Counter) as argument
-dangerous-default-value:93:0:function20:Dangerous default value OrderedDict() (collections.OrderedDict) as argument
-dangerous-default-value:97:0:function21:Dangerous default value defaultdict() (collections.defaultdict) as argument
-dangerous-default-value:101:0:function22:Dangerous default value UserDict() (collections.UserDict) as argument
-dangerous-default-value:105:0:function23:Dangerous default value UserList() (collections.UserList) as argument
-dangerous-default-value:109:0:function24:Dangerous default value [] as argument
+dangerous-default-value:6:0:8:16:function1:Dangerous default value [] as argument:UNDEFINED
+dangerous-default-value:10:0:12:16:function2:Dangerous default value HEHE (builtins.dict) as argument:UNDEFINED
+dangerous-default-value:18:0:20:16:function4:Dangerous default value set() (builtins.set) as argument:UNDEFINED
+dangerous-default-value:28:0:30:16:function6:Dangerous default value GLOBAL_SET (builtins.set) as argument:UNDEFINED
+dangerous-default-value:32:0:34:16:function7:Dangerous default value dict() (builtins.dict) as argument:UNDEFINED
+dangerous-default-value:36:0:38:16:function8:Dangerous default value list() (builtins.list) as argument:UNDEFINED
+dangerous-default-value:40:0:42:16:function9:Dangerous default value [] as argument:UNDEFINED
+dangerous-default-value:44:0:46:16:function10:Dangerous default value {} as argument:UNDEFINED
+dangerous-default-value:48:0:50:16:function11:Dangerous default value list() (builtins.list) as argument:UNDEFINED
+dangerous-default-value:52:0:54:16:function12:Dangerous default value dict() (builtins.dict) as argument:UNDEFINED
+dangerous-default-value:61:0:63:16:function13:Dangerous default value OINK (builtins.dict) as argument:UNDEFINED
+dangerous-default-value:65:0:69:16:function14:Dangerous default value dict() (builtins.dict) as argument:UNDEFINED
+dangerous-default-value:73:0:75:16:function15:Dangerous default value INVALID_DICT (builtins.dict) as argument:UNDEFINED
+dangerous-default-value:77:0:79:16:function16:Dangerous default value set() as argument:UNDEFINED
+dangerous-default-value:81:0:83:16:function17:Dangerous default value deque() (collections.deque) as argument:UNDEFINED
+dangerous-default-value:85:0:87:16:function18:Dangerous default value ChainMap() (collections.ChainMap) as argument:UNDEFINED
+dangerous-default-value:89:0:91:16:function19:Dangerous default value Counter() (collections.Counter) as argument:UNDEFINED
+dangerous-default-value:93:0:95:16:function20:Dangerous default value OrderedDict() (collections.OrderedDict) as argument:UNDEFINED
+dangerous-default-value:97:0:99:16:function21:Dangerous default value defaultdict() (collections.defaultdict) as argument:UNDEFINED
+dangerous-default-value:101:0:103:16:function22:Dangerous default value UserDict() (collections.UserDict) as argument:UNDEFINED
+dangerous-default-value:105:0:107:16:function23:Dangerous default value UserList() (collections.UserList) as argument:UNDEFINED
+dangerous-default-value:109:0:111:16:function24:Dangerous default value [] as argument:UNDEFINED
diff --git a/tests/functional/d/dataclass_with_default_factory.txt b/tests/functional/d/dataclass_with_default_factory.txt
index af789b14a..b56a34132 100644
--- a/tests/functional/d/dataclass_with_default_factory.txt
+++ b/tests/functional/d/dataclass_with_default_factory.txt
@@ -1,2 +1,2 @@
-not-an-iterable:40:9::Non-iterable value Test2.int_prop is used in an iterating context:HIGH
-unsupported-assignment-operation:44:0::'Test2.int_prop' does not support item assignment:HIGH
+not-an-iterable:40:9:40:23::Non-iterable value Test2.int_prop is used in an iterating context:UNDEFINED
+unsupported-assignment-operation:44:0:44:14::'Test2.int_prop' does not support item assignment:UNDEFINED
diff --git a/tests/functional/d/dataclass_with_field.txt b/tests/functional/d/dataclass_with_field.txt
index 1caf8470a..473c2d0f4 100644
--- a/tests/functional/d/dataclass_with_field.txt
+++ b/tests/functional/d/dataclass_with_field.txt
@@ -1 +1 @@
-import-error:7:0::Unable to import 'pydantic.dataclasses':HIGH
+import-error:7:0:7:42::Unable to import 'pydantic.dataclasses':UNDEFINED
diff --git a/tests/functional/d/deprecated/dataclass_typecheck.txt b/tests/functional/d/deprecated/dataclass_typecheck.txt
index e64b1fa80..e898c85fa 100644
--- a/tests/functional/d/deprecated/dataclass_typecheck.txt
+++ b/tests/functional/d/deprecated/dataclass_typecheck.txt
@@ -1,12 +1,12 @@
-invalid-sequence-index:32:6::Sequence index is not an int, slice, or instance with __index__:HIGH
-invalid-slice-index:36:10::Slice index is not an int, None, or instance with __index__:HIGH
-not-callable:39:0::obj.attr1 is not callable:HIGH
-invalid-unary-operand-type:44:6::"bad operand type for unary -: str":HIGH
-unsupported-membership-test:51:11::Value 'obj.attr1' doesn't support membership test:HIGH
-unsubscriptable-object:56:6::Value 'obj.attr1' is unsubscriptable:HIGH
-unsupported-assignment-operation:61:0::'obj.attr1' does not support item assignment:HIGH
-unsupported-delete-operation:66:4::'obj.attr1' does not support item deletion:HIGH
-not-context-manager:91:0::Context manager 'str' doesn't implement __enter__ and __exit__.:HIGH
-invalid-metaclass:99:0:Test2:Invalid metaclass 'Instance of builtins.int' used:HIGH
-unhashable-dict-key:105:0::Dict key is unhashable:HIGH
-isinstance-second-argument-not-valid-type:115:6::Second argument of isinstance is not a type:HIGH
+invalid-sequence-index:32:6:32:20::Sequence index is not an int, slice, or instance with __index__:UNDEFINED
+invalid-slice-index:36:10:36:19::Slice index is not an int, None, or instance with __index__:UNDEFINED
+not-callable:39:0:39:14::obj.attr1 is not callable:UNDEFINED
+invalid-unary-operand-type:44:6:44:16::"bad operand type for unary -: str":UNDEFINED
+unsupported-membership-test:51:11:51:20::Value 'obj.attr1' doesn't support membership test:UNDEFINED
+unsubscriptable-object:56:6:56:15::Value 'obj.attr1' is unsubscriptable:UNDEFINED
+unsupported-assignment-operation:61:0:61:9::'obj.attr1' does not support item assignment:UNDEFINED
+unsupported-delete-operation:66:4:66:13::'obj.attr1' does not support item deletion:UNDEFINED
+not-context-manager:91:0:92:8::Context manager 'str' doesn't implement __enter__ and __exit__.:UNDEFINED
+invalid-metaclass:99:0:100:8:Test2:Invalid metaclass 'Instance of builtins.int' used:UNDEFINED
+unhashable-dict-key:105:0:105:2::Dict key is unhashable:UNDEFINED
+isinstance-second-argument-not-valid-type:115:6:115:30::Second argument of isinstance is not a type:UNDEFINED
diff --git a/tests/functional/d/deprecated/deprecated_class_py33.txt b/tests/functional/d/deprecated/deprecated_class_py33.txt
index 9a31c0efb..ea1f8146e 100644
--- a/tests/functional/d/deprecated/deprecated_class_py33.txt
+++ b/tests/functional/d/deprecated/deprecated_class_py33.txt
@@ -1,3 +1,3 @@
-deprecated-class:4:0::Using deprecated class Iterable of module collections
-deprecated-class:6:0::Using deprecated class Set of module collections
-deprecated-class:11:4::Using deprecated class Awaitable of module collections
+deprecated-class:4:0:4:32::Using deprecated class Iterable of module collections:UNDEFINED
+deprecated-class:6:0:6:22::Using deprecated class Set of module collections:UNDEFINED
+deprecated-class:11:4:11:27::Using deprecated class Awaitable of module collections:UNDEFINED
diff --git a/tests/functional/d/deprecated/deprecated_decorators.txt b/tests/functional/d/deprecated/deprecated_decorators.txt
index a696c8bfe..38bb50f32 100644
--- a/tests/functional/d/deprecated/deprecated_decorators.txt
+++ b/tests/functional/d/deprecated/deprecated_decorators.txt
@@ -1 +1 @@
-deprecated-decorator:7:4:MyClass.my_method:Using deprecated decorator abc.abstractclassmethod()
+deprecated-decorator:7:4:7:28:MyClass.my_method:Using deprecated decorator abc.abstractclassmethod():UNDEFINED
diff --git a/tests/functional/d/deprecated/deprecated_methods_py36.txt b/tests/functional/d/deprecated/deprecated_methods_py36.txt
index 801d24b6e..7742628eb 100644
--- a/tests/functional/d/deprecated/deprecated_methods_py36.txt
+++ b/tests/functional/d/deprecated/deprecated_methods_py36.txt
@@ -1,2 +1,2 @@
-deprecated-method:6:0::Using deprecated method load_module()
-deprecated-method:7:0::Using deprecated method load_module()
+deprecated-method:6:0:6:61::Using deprecated method load_module():UNDEFINED
+deprecated-method:7:0:7:65::Using deprecated method load_module():UNDEFINED
diff --git a/tests/functional/d/deprecated/deprecated_methods_py38.txt b/tests/functional/d/deprecated/deprecated_methods_py38.txt
index 788cdd2b6..afed0c6b4 100644
--- a/tests/functional/d/deprecated/deprecated_methods_py38.txt
+++ b/tests/functional/d/deprecated/deprecated_methods_py38.txt
@@ -1,14 +1,14 @@
-deprecated-method:13:8:MyTest.test:Using deprecated method assert_():HIGH
-deprecated-method:15:0::Using deprecated method getchildren():HIGH
-deprecated-method:16:0::Using deprecated method getiterator():HIGH
-deprecated-method:17:0::Using deprecated method xpath():HIGH
-deprecated-method:20:0::Using deprecated method getargspec():HIGH
-deprecated-method:21:0::Using deprecated method warn():HIGH
-deprecated-method:22:0::Using deprecated method encodestring():HIGH
-deprecated-method:23:0::Using deprecated method decodestring():HIGH
-deprecated-method:38:8:Tests.test_foo:Using deprecated method assertEquals():HIGH
-deprecated-method:39:8:Tests.test_foo:Using deprecated method assertNotEquals():HIGH
-deprecated-method:40:8:Tests.test_foo:Using deprecated method assertAlmostEquals():HIGH
-deprecated-method:41:8:Tests.test_foo:Using deprecated method assertNotAlmostEquals():HIGH
-deprecated-method:42:8:Tests.test_foo:Using deprecated method assert_():HIGH
-deprecated-method:53:0::Using deprecated method deprecated_method():HIGH
+deprecated-method:13:8:13:26:MyTest.test:Using deprecated method assert_():UNDEFINED
+deprecated-method:15:0:15:50::Using deprecated method getchildren():UNDEFINED
+deprecated-method:16:0:16:50::Using deprecated method getiterator():UNDEFINED
+deprecated-method:17:0:17:30::Using deprecated method xpath():UNDEFINED
+deprecated-method:20:0:20:24::Using deprecated method getargspec():UNDEFINED
+deprecated-method:21:0:21:17::Using deprecated method warn():UNDEFINED
+deprecated-method:22:0:22:25::Using deprecated method encodestring():UNDEFINED
+deprecated-method:23:0:23:25::Using deprecated method decodestring():UNDEFINED
+deprecated-method:38:8:38:35:Tests.test_foo:Using deprecated method assertEquals():UNDEFINED
+deprecated-method:39:8:39:38:Tests.test_foo:Using deprecated method assertNotEquals():UNDEFINED
+deprecated-method:40:8:40:41:Tests.test_foo:Using deprecated method assertAlmostEquals():UNDEFINED
+deprecated-method:41:8:41:44:Tests.test_foo:Using deprecated method assertNotAlmostEquals():UNDEFINED
+deprecated-method:42:8:42:34:Tests.test_foo:Using deprecated method assert_():UNDEFINED
+deprecated-method:53:0:53:21::Using deprecated method deprecated_method():UNDEFINED
diff --git a/tests/functional/d/deprecated/deprecated_module_py36.txt b/tests/functional/d/deprecated/deprecated_module_py36.txt
index ab5f48996..bf41f781e 100644
--- a/tests/functional/d/deprecated/deprecated_module_py36.txt
+++ b/tests/functional/d/deprecated/deprecated_module_py36.txt
@@ -1 +1 @@
-deprecated-module:4:0::Uses of a deprecated module 'optparse'
+deprecated-module:4:0:4:15::Uses of a deprecated module 'optparse':UNDEFINED
diff --git a/tests/functional/d/deprecated/deprecated_module_py4.txt b/tests/functional/d/deprecated/deprecated_module_py4.txt
index f4800d0b9..31e7b6070 100644
--- a/tests/functional/d/deprecated/deprecated_module_py4.txt
+++ b/tests/functional/d/deprecated/deprecated_module_py4.txt
@@ -1,2 +1,2 @@
-deprecated-module:3:0::Uses of a deprecated module 'deprecated'
-deprecated-module:4:0::Uses of a deprecated module 'deprecated'
+deprecated-module:3:0:3:26::Uses of a deprecated module 'deprecated':UNDEFINED
+deprecated-module:4:0:4:17::Uses of a deprecated module 'deprecated':UNDEFINED
diff --git a/tests/functional/d/deprecated/deprecated_module_uninstalled.txt b/tests/functional/d/deprecated/deprecated_module_uninstalled.txt
index 7d9f01afa..423f55f94 100644
--- a/tests/functional/d/deprecated/deprecated_module_uninstalled.txt
+++ b/tests/functional/d/deprecated/deprecated_module_uninstalled.txt
@@ -1,2 +1,2 @@
-deprecated-module:4:0::Uses of a deprecated module 'uninstalled'
-deprecated-module:5:0::Uses of a deprecated module 'uninstalled'
+deprecated-module:4:0:4:42::Uses of a deprecated module 'uninstalled':UNDEFINED
+deprecated-module:5:0:5:18::Uses of a deprecated module 'uninstalled':UNDEFINED
diff --git a/tests/functional/d/deprecated/deprecated_relative_import/dot_relative_import.txt b/tests/functional/d/deprecated/deprecated_relative_import/dot_relative_import.txt
index 8f1b95f94..733720db1 100644
--- a/tests/functional/d/deprecated/deprecated_relative_import/dot_relative_import.txt
+++ b/tests/functional/d/deprecated/deprecated_relative_import/dot_relative_import.txt
@@ -1 +1 @@
-deprecated-module:4:0::Uses of a deprecated module 'optparse':HIGH
+deprecated-module:4:0:4:33::Uses of a deprecated module 'optparse':UNDEFINED
diff --git a/tests/functional/d/deprecated/deprecated_relative_import/subpackage/dot_dot_relative_import.txt b/tests/functional/d/deprecated/deprecated_relative_import/subpackage/dot_dot_relative_import.txt
index 8f1b95f94..733720db1 100644
--- a/tests/functional/d/deprecated/deprecated_relative_import/subpackage/dot_dot_relative_import.txt
+++ b/tests/functional/d/deprecated/deprecated_relative_import/subpackage/dot_dot_relative_import.txt
@@ -1 +1 @@
-deprecated-module:4:0::Uses of a deprecated module 'optparse':HIGH
+deprecated-module:4:0:4:33::Uses of a deprecated module 'optparse':UNDEFINED
diff --git a/tests/functional/d/dict_iter_missing_items.txt b/tests/functional/d/dict_iter_missing_items.txt
index c3eb12f2c..82eb815a5 100644
--- a/tests/functional/d/dict_iter_missing_items.txt
+++ b/tests/functional/d/dict_iter_missing_items.txt
@@ -1 +1 @@
-dict-iter-missing-items:11:0::Unpacking a dictionary in iteration without calling .items()
+dict-iter-missing-items:11:0:12:8::Unpacking a dictionary in iteration without calling .items():UNDEFINED
diff --git a/tests/functional/d/disable_msg_next_line.txt b/tests/functional/d/disable_msg_next_line.txt
index bfd0adeae..6601f7437 100644
--- a/tests/functional/d/disable_msg_next_line.txt
+++ b/tests/functional/d/disable_msg_next_line.txt
@@ -1,5 +1,5 @@
-invalid-name:15:4:function_C:"Variable name ""x"" doesn't conform to snake_case naming style":HIGH
-unused-variable:15:4:function_C:"Unused variable 'x'":HIGH
-f-string-without-interpolation:16:11:function_C:"Using an f-string that does not have any interpolated variables":HIGH
-invalid-name:19:0:function_D:"Function name ""function_D"" doesn't conform to snake_case naming style":HIGH
-unused-argument:19:21:function_D:"Unused argument 'arg2'":HIGH
+invalid-name:15:4:15:5:function_C:"Variable name ""x"" doesn't conform to snake_case naming style":HIGH
+unused-variable:15:4:15:5:function_C:Unused variable 'x':UNDEFINED
+f-string-without-interpolation:16:11:16:44:function_C:Using an f-string that does not have any interpolated variables:UNDEFINED
+invalid-name:19:0:20:15:function_D:"Function name ""function_D"" doesn't conform to snake_case naming style":HIGH
+unused-argument:19:21:19:25:function_D:Unused argument 'arg2':HIGH
diff --git a/tests/functional/d/disable_ungrouped_imports.txt b/tests/functional/d/disable_ungrouped_imports.txt
index a5a0e02a2..5314558a0 100644
--- a/tests/functional/d/disable_ungrouped_imports.txt
+++ b/tests/functional/d/disable_ungrouped_imports.txt
@@ -1,2 +1,2 @@
-ungrouped-imports:9:0::Imports from package os are not grouped
-ungrouped-imports:10:0::Imports from package logging are not grouped
+ungrouped-imports:9:0:9:24::Imports from package os are not grouped:UNDEFINED
+ungrouped-imports:10:0:10:23::Imports from package logging are not grouped:UNDEFINED
diff --git a/tests/functional/d/disable_wrong_import_order.txt b/tests/functional/d/disable_wrong_import_order.txt
index d0fcafbc4..1d01e2351 100644
--- a/tests/functional/d/disable_wrong_import_order.txt
+++ b/tests/functional/d/disable_wrong_import_order.txt
@@ -1 +1 @@
-ungrouped-imports:11:0::Imports from package first_party are not grouped
+ungrouped-imports:11:0:11:31::Imports from package first_party are not grouped:UNDEFINED
diff --git a/tests/functional/d/docstrings.txt b/tests/functional/d/docstrings.txt
index e8bb2f3de..31e25bf36 100644
--- a/tests/functional/d/docstrings.txt
+++ b/tests/functional/d/docstrings.txt
@@ -1,8 +1,8 @@
-missing-module-docstring:1:0::Missing module docstring
-empty-docstring:6:0:function0:Empty function docstring
-missing-function-docstring:10:0:function1:Missing function or method docstring
-missing-class-docstring:23:0:AAAA:Missing class docstring
-missing-function-docstring:40:4:AAAA.method1:Missing function or method docstring:INFERENCE
-empty-docstring:48:4:AAAA.method3:Empty method docstring:INFERENCE
-empty-docstring:62:4:DDDD.method2:Empty method docstring:INFERENCE
-missing-function-docstring:70:4:DDDD.method4:Missing function or method docstring:INFERENCE
+missing-module-docstring:1:0:None:None::Missing module docstring:HIGH
+empty-docstring:6:0:7:10:function0:Empty function docstring:HIGH
+missing-function-docstring:10:0:12:16:function1:Missing function or method docstring:HIGH
+missing-class-docstring:23:0:53:12:AAAA:Missing class docstring:HIGH
+missing-function-docstring:40:4:41:12:AAAA.method1:Missing function or method docstring:INFERENCE
+empty-docstring:48:4:50:12:AAAA.method3:Empty method docstring:INFERENCE
+empty-docstring:62:4:64:12:DDDD.method2:Empty method docstring:INFERENCE
+missing-function-docstring:70:4:71:12:DDDD.method4:Missing function or method docstring:INFERENCE
diff --git a/tests/functional/d/dotted_ancestor.txt b/tests/functional/d/dotted_ancestor.txt
index 20f9dbee8..9d45ae6be 100644
--- a/tests/functional/d/dotted_ancestor.txt
+++ b/tests/functional/d/dotted_ancestor.txt
@@ -1 +1 @@
-too-few-public-methods:7:0:Aaaa:Too few public methods (0/2):HIGH
+too-few-public-methods:7:0:10:50:Aaaa:Too few public methods (0/2):UNDEFINED
diff --git a/tests/functional/d/duplicate_argument_name.txt b/tests/functional/d/duplicate_argument_name.txt
index a8321d9ce..b5a0df6b2 100644
--- a/tests/functional/d/duplicate_argument_name.txt
+++ b/tests/functional/d/duplicate_argument_name.txt
@@ -1,8 +1,8 @@
-duplicate-argument-name:4:9:foo1:Duplicate argument name _ in function definition
-duplicate-argument-name:4:12:foo1:Duplicate argument name _ in function definition
-duplicate-argument-name:7:9:foo2:Duplicate argument name _abc in function definition
-duplicate-argument-name:7:18:foo2:Duplicate argument name _abc in function definition
-duplicate-argument-name:10:9:foo3:Duplicate argument name _ in function definition
-duplicate-argument-name:10:12:foo3:Duplicate argument name _ in function definition
-duplicate-argument-name:13:9:foo4:Duplicate argument name _ in function definition
-duplicate-argument-name:13:15:foo4:Duplicate argument name _ in function definition
+duplicate-argument-name:4:9:4:10:foo1:Duplicate argument name _ in function definition:UNDEFINED
+duplicate-argument-name:4:12:4:13:foo1:Duplicate argument name _ in function definition:UNDEFINED
+duplicate-argument-name:7:9:7:13:foo2:Duplicate argument name _abc in function definition:UNDEFINED
+duplicate-argument-name:7:18:7:22:foo2:Duplicate argument name _abc in function definition:UNDEFINED
+duplicate-argument-name:10:9:10:10:foo3:Duplicate argument name _ in function definition:UNDEFINED
+duplicate-argument-name:10:12:10:13:foo3:Duplicate argument name _ in function definition:UNDEFINED
+duplicate-argument-name:13:9:13:10:foo4:Duplicate argument name _ in function definition:UNDEFINED
+duplicate-argument-name:13:15:13:16:foo4:Duplicate argument name _ in function definition:UNDEFINED
diff --git a/tests/functional/d/duplicate_argument_name_py3.txt b/tests/functional/d/duplicate_argument_name_py3.txt
index 6942faaae..d3c7b2ced 100644
--- a/tests/functional/d/duplicate_argument_name_py3.txt
+++ b/tests/functional/d/duplicate_argument_name_py3.txt
@@ -1,2 +1,2 @@
-duplicate-argument-name:4:9:foo1:Duplicate argument name _ in function definition
-duplicate-argument-name:4:16:foo1:Duplicate argument name _ in function definition
+duplicate-argument-name:4:9:4:10:foo1:Duplicate argument name _ in function definition:UNDEFINED
+duplicate-argument-name:4:16:4:17:foo1:Duplicate argument name _ in function definition:UNDEFINED
diff --git a/tests/functional/d/duplicate_bases.txt b/tests/functional/d/duplicate_bases.txt
index 651086fd9..d65676320 100644
--- a/tests/functional/d/duplicate_bases.txt
+++ b/tests/functional/d/duplicate_bases.txt
@@ -1 +1 @@
-duplicate-bases:5:0:Duplicates:Duplicate bases for class 'Duplicates'
+duplicate-bases:5:0:6:8:Duplicates:Duplicate bases for class 'Duplicates':UNDEFINED
diff --git a/tests/functional/d/duplicate_dict_literal_key.txt b/tests/functional/d/duplicate_dict_literal_key.txt
index 83941b988..f10f7fd33 100644
--- a/tests/functional/d/duplicate_dict_literal_key.txt
+++ b/tests/functional/d/duplicate_dict_literal_key.txt
@@ -1,4 +1,4 @@
-duplicate-key:18:18::Duplicate key 'MyEnum.KEY' in dictionary:HIGH
-duplicate-key:23:13::Duplicate key 'tea' in dictionary:HIGH
-duplicate-key:30:0::Duplicate key 1 in dictionary:HIGH
-duplicate-key:31:0::Duplicate key 1.0 in dictionary:HIGH
+duplicate-key:18:18:21:1::Duplicate key 'MyEnum.KEY' in dictionary:UNDEFINED
+duplicate-key:23:13:28:1::Duplicate key 'tea' in dictionary:UNDEFINED
+duplicate-key:30:0:30:18::Duplicate key 1 in dictionary:UNDEFINED
+duplicate-key:31:0:31:14::Duplicate key 1.0 in dictionary:UNDEFINED
diff --git a/tests/functional/d/duplicate_except.txt b/tests/functional/d/duplicate_except.txt
index cf8df9e3f..8753f44b1 100644
--- a/tests/functional/d/duplicate_except.txt
+++ b/tests/functional/d/duplicate_except.txt
@@ -1 +1 @@
-duplicate-except:9:11:main:Catching previously caught exception type ValueError
+duplicate-except:9:11:9:21:main:Catching previously caught exception type ValueError:UNDEFINED
diff --git a/tests/functional/d/duplicate_string_formatting_argument.txt b/tests/functional/d/duplicate_string_formatting_argument.txt
index fdc438624..dfe011339 100644
--- a/tests/functional/d/duplicate_string_formatting_argument.txt
+++ b/tests/functional/d/duplicate_string_formatting_argument.txt
@@ -1,2 +1,2 @@
-duplicate-string-formatting-argument:8:8::Duplicate string formatting argument 'NAME', consider passing as named argument
-duplicate-string-formatting-argument:8:8::Duplicate string formatting argument 'OTHER_NAME', consider passing as named argument
+duplicate-string-formatting-argument:8:8:15:1::Duplicate string formatting argument 'NAME', consider passing as named argument:UNDEFINED
+duplicate-string-formatting-argument:8:8:15:1::Duplicate string formatting argument 'OTHER_NAME', consider passing as named argument:UNDEFINED
diff --git a/tests/functional/e/eval_used.txt b/tests/functional/e/eval_used.txt
index f8cdc5f53..021f3b4bf 100644
--- a/tests/functional/e/eval_used.txt
+++ b/tests/functional/e/eval_used.txt
@@ -1,4 +1,4 @@
-eval-used:3:0::Use of eval
-eval-used:4:0::Use of eval
-eval-used:6:0::Use of eval
-eval-used:10:4:func:Use of eval
+eval-used:3:0:3:23::Use of eval:UNDEFINED
+eval-used:4:0:4:35::Use of eval:UNDEFINED
+eval-used:6:0:6:42::Use of eval:UNDEFINED
+eval-used:10:4:10:17:func:Use of eval:UNDEFINED
diff --git a/tests/functional/e/exception_is_binary_op.txt b/tests/functional/e/exception_is_binary_op.txt
index 1395c67a1..4871a71d2 100644
--- a/tests/functional/e/exception_is_binary_op.txt
+++ b/tests/functional/e/exception_is_binary_op.txt
@@ -1,4 +1,4 @@
-binary-op-exception:5:0::"Exception to catch is the result of a binary ""or"" operation"
-binary-op-exception:7:0::"Exception to catch is the result of a binary ""and"" operation"
-binary-op-exception:9:0::"Exception to catch is the result of a binary ""or"" operation"
-binary-op-exception:11:0::"Exception to catch is the result of a binary ""or"" operation"
+binary-op-exception:5:0:6:20::"Exception to catch is the result of a binary ""or"" operation":UNDEFINED
+binary-op-exception:7:0:8:20::"Exception to catch is the result of a binary ""and"" operation":UNDEFINED
+binary-op-exception:9:0:10:20::"Exception to catch is the result of a binary ""or"" operation":UNDEFINED
+binary-op-exception:11:0:12:20::"Exception to catch is the result of a binary ""or"" operation":UNDEFINED
diff --git a/tests/functional/e/excess_escapes.txt b/tests/functional/e/excess_escapes.txt
index 4082e4709..1555d8ebb 100644
--- a/tests/functional/e/excess_escapes.txt
+++ b/tests/functional/e/excess_escapes.txt
@@ -1,9 +1,9 @@
-anomalous-backslash-in-string:8:5::"Anomalous backslash in string: '\['. String constant might be missing an r prefix."
-anomalous-backslash-in-string:8:7::"Anomalous backslash in string: '\]'. String constant might be missing an r prefix."
-anomalous-backslash-in-string:9:8::"Anomalous backslash in string: '\/'. String constant might be missing an r prefix."
-anomalous-backslash-in-string:10:20::"Anomalous backslash in string: '\`'. String constant might be missing an r prefix."
-anomalous-backslash-in-string:17:15::"Anomalous backslash in string: '\o'. String constant might be missing an r prefix."
-anomalous-backslash-in-string:17:20::"Anomalous backslash in string: '\o'. String constant might be missing an r prefix."
-anomalous-backslash-in-string:19:13::"Anomalous backslash in string: '\8'. String constant might be missing an r prefix."
-anomalous-backslash-in-string:19:17::"Anomalous backslash in string: '\9'. String constant might be missing an r prefix."
-anomalous-backslash-in-string:32:42::"Anomalous backslash in string: '\P'. String constant might be missing an r prefix."
+anomalous-backslash-in-string:8:5:None:None::"Anomalous backslash in string: '\['. String constant might be missing an r prefix.":UNDEFINED
+anomalous-backslash-in-string:8:7:None:None::"Anomalous backslash in string: '\]'. String constant might be missing an r prefix.":UNDEFINED
+anomalous-backslash-in-string:9:8:None:None::"Anomalous backslash in string: '\/'. String constant might be missing an r prefix.":UNDEFINED
+anomalous-backslash-in-string:10:20:None:None::"Anomalous backslash in string: '\`'. String constant might be missing an r prefix.":UNDEFINED
+anomalous-backslash-in-string:17:15:None:None::"Anomalous backslash in string: '\o'. String constant might be missing an r prefix.":UNDEFINED
+anomalous-backslash-in-string:17:20:None:None::"Anomalous backslash in string: '\o'. String constant might be missing an r prefix.":UNDEFINED
+anomalous-backslash-in-string:19:13:None:None::"Anomalous backslash in string: '\8'. String constant might be missing an r prefix.":UNDEFINED
+anomalous-backslash-in-string:19:17:None:None::"Anomalous backslash in string: '\9'. String constant might be missing an r prefix.":UNDEFINED
+anomalous-backslash-in-string:32:42:None:None::"Anomalous backslash in string: '\P'. String constant might be missing an r prefix.":UNDEFINED
diff --git a/tests/functional/e/exec_used.txt b/tests/functional/e/exec_used.txt
index ebfab1c09..d25bcfd28 100644
--- a/tests/functional/e/exec_used.txt
+++ b/tests/functional/e/exec_used.txt
@@ -1,4 +1,4 @@
-exec-used:3:0::Use of exec
-exec-used:4:0::Use of exec
-exec-used:6:0::Use of exec
-exec-used:9:4:func:Use of exec
+exec-used:3:0:3:24::Use of exec:UNDEFINED
+exec-used:4:0:4:25::Use of exec:UNDEFINED
+exec-used:6:0:6:32::Use of exec:UNDEFINED
+exec-used:9:4:9:17:func:Use of exec:UNDEFINED
diff --git a/tests/functional/ext/bad_builtin/bad_builtin_extension.txt b/tests/functional/ext/bad_builtin/bad_builtin_extension.txt
index e074657b2..3ab87ba8f 100644
--- a/tests/functional/ext/bad_builtin/bad_builtin_extension.txt
+++ b/tests/functional/ext/bad_builtin/bad_builtin_extension.txt
@@ -1,2 +1,2 @@
-bad-builtin:3:7::Used builtin function 'map'. Using a list comprehension can be clearer.:HIGH
-bad-builtin:4:8::Used builtin function 'filter'. Using a list comprehension can be clearer.:HIGH
+bad-builtin:3:7:3:26::Used builtin function 'map'. Using a list comprehension can be clearer.:UNDEFINED
+bad-builtin:4:8:4:30::Used builtin function 'filter'. Using a list comprehension can be clearer.:UNDEFINED
diff --git a/tests/functional/ext/bad_builtin/bad_builtins.txt b/tests/functional/ext/bad_builtin/bad_builtins.txt
index 093b1d1e5..737a81d1b 100644
--- a/tests/functional/ext/bad_builtin/bad_builtins.txt
+++ b/tests/functional/ext/bad_builtin/bad_builtins.txt
@@ -1,4 +1,4 @@
-bad-builtin:2:0::Used builtin function 'input'
-bad-builtin:3:15::Used builtin function 'filter'. Using a list comprehension can be clearer.
-bad-builtin:3:6::Used builtin function 'map'. Using a list comprehension can be clearer.
-bad-builtin:3:0::Used builtin function 'print'
+bad-builtin:2:0:2:31::Used builtin function 'input':UNDEFINED
+bad-builtin:3:15:3:35::Used builtin function 'filter'. Using a list comprehension can be clearer.:UNDEFINED
+bad-builtin:3:6:3:36::Used builtin function 'map'. Using a list comprehension can be clearer.:UNDEFINED
+bad-builtin:3:0:3:37::Used builtin function 'print':UNDEFINED
diff --git a/tests/functional/ext/broad_try_clause/broad_try_clause_extension.txt b/tests/functional/ext/broad_try_clause/broad_try_clause_extension.txt
index 8f97f9b24..221d3a4c4 100644
--- a/tests/functional/ext/broad_try_clause/broad_try_clause_extension.txt
+++ b/tests/functional/ext/broad_try_clause/broad_try_clause_extension.txt
@@ -1,4 +1,4 @@
-too-many-try-statements:5:0::try clause contains 3 statements, expected at most 1:HIGH
-too-many-try-statements:12:0::try clause contains 3 statements, expected at most 1:HIGH
-too-many-try-statements:19:0::try clause contains 4 statements, expected at most 1:HIGH
-too-many-try-statements:29:0::try clause contains 7 statements, expected at most 1:HIGH
+too-many-try-statements:5:0:10:8::try clause contains 3 statements, expected at most 1:UNDEFINED
+too-many-try-statements:12:0:17:8::try clause contains 3 statements, expected at most 1:UNDEFINED
+too-many-try-statements:19:0:27:8::try clause contains 4 statements, expected at most 1:UNDEFINED
+too-many-try-statements:29:0:44:8::try clause contains 7 statements, expected at most 1:UNDEFINED
diff --git a/tests/functional/ext/check_elif/check_elif.txt b/tests/functional/ext/check_elif/check_elif.txt
index 88853eb95..7da5aa884 100644
--- a/tests/functional/ext/check_elif/check_elif.txt
+++ b/tests/functional/ext/check_elif/check_elif.txt
@@ -1,4 +1,4 @@
-else-if-used:13:8:my_function:"Consider using ""elif"" instead of ""else if""":HIGH
-else-if-used:25:20:my_function:"Consider using ""elif"" instead of ""else if""":HIGH
-else-if-used:44:8:_if_in_fstring_comprehension_with_elif:"Consider using ""elif"" instead of ""else if""":HIGH
-else-if-used:47:12:_if_in_fstring_comprehension_with_elif:"Consider using ""elif"" instead of ""else if""":HIGH
+else-if-used:13:8:30:25:my_function:"Consider using ""elif"" instead of ""else if""":HIGH
+else-if-used:25:20:26:28:my_function:"Consider using ""elif"" instead of ""else if""":HIGH
+else-if-used:44:8:48:26:_if_in_fstring_comprehension_with_elif:"Consider using ""elif"" instead of ""else if""":HIGH
+else-if-used:47:12:48:26:_if_in_fstring_comprehension_with_elif:"Consider using ""elif"" instead of ""else if""":HIGH
diff --git a/tests/functional/ext/code_style/consider_using_assignment_expr.txt b/tests/functional/ext/code_style/consider_using_assignment_expr.txt
index 64179ba72..1e46656b1 100644
--- a/tests/functional/ext/code_style/consider_using_assignment_expr.txt
+++ b/tests/functional/ext/code_style/consider_using_assignment_expr.txt
@@ -1,18 +1,18 @@
-consider-using-assignment-expr:4:3::"Use 'if (a1 := 2):' instead":HIGH
-consider-using-assignment-expr:16:3::"Use 'if (a3 := 2) == a3_a:' instead":HIGH
-consider-using-assignment-expr:26:7:func_a:"Use 'if (a5 := some___object.function_name_is_just_long_enough_to_fit_in_line()) is None:' instead":HIGH
-consider-using-assignment-expr:41:3::"Use 'if (b1 := 2):' instead":HIGH
-consider-using-assignment-expr:45:3::"Use 'if (b2 := some_function(2, 3)):' instead":HIGH
-consider-using-assignment-expr:49:3::"Use 'if (b3 := some_object.variable):' instead":HIGH
-consider-using-assignment-expr:55:7::"Use 'if not (c1 := 2):' instead":HIGH
-consider-using-assignment-expr:61:3::"Use 'if (d1 := 2) is True:' instead":HIGH
-consider-using-assignment-expr:65:3::"Use 'if (d2 := 2) is not None:' instead":HIGH
-consider-using-assignment-expr:69:3::"Use 'if (d3 := 2) == 2:' instead":HIGH
-consider-using-assignment-expr:90:3::"Use 'if (o3 := 2) == 1:' instead":HIGH
-consider-using-assignment-expr:96:3::"Use 'if (o4 := 2) == 1:' instead":HIGH
-consider-using-assignment-expr:102:3::"Use 'if (o5 := 2) == 1:' instead":HIGH
-consider-using-assignment-expr:108:3::"Use 'if (o6 := 2) == 1:' instead":HIGH
-consider-using-assignment-expr:127:7:func_p:"Use 'if (p3 := 2) == 1:' instead":HIGH
-consider-using-assignment-expr:133:7:func_p:"Use 'if (p4 := 2) == 1:' instead":HIGH
-consider-using-assignment-expr:139:7:func_p:"Use 'if (p5 := 2) == 1:' instead":HIGH
-consider-using-assignment-expr:145:7:func_p:"Use 'if (p6 := 2) == 1:' instead":HIGH
+consider-using-assignment-expr:4:3:4:5::"Use 'if (a1 := 2):' instead":UNDEFINED
+consider-using-assignment-expr:16:3:16:5::"Use 'if (a3 := 2) == a3_a:' instead":UNDEFINED
+consider-using-assignment-expr:26:7:26:9:func_a:"Use 'if (a5 := some___object.function_name_is_just_long_enough_to_fit_in_line()) is None:' instead":UNDEFINED
+consider-using-assignment-expr:41:3:41:5::"Use 'if (b1 := 2):' instead":UNDEFINED
+consider-using-assignment-expr:45:3:45:5::"Use 'if (b2 := some_function(2, 3)):' instead":UNDEFINED
+consider-using-assignment-expr:49:3:49:5::"Use 'if (b3 := some_object.variable):' instead":UNDEFINED
+consider-using-assignment-expr:55:7:55:9::"Use 'if not (c1 := 2):' instead":UNDEFINED
+consider-using-assignment-expr:61:3:61:5::"Use 'if (d1 := 2) is True:' instead":UNDEFINED
+consider-using-assignment-expr:65:3:65:5::"Use 'if (d2 := 2) is not None:' instead":UNDEFINED
+consider-using-assignment-expr:69:3:69:5::"Use 'if (d3 := 2) == 2:' instead":UNDEFINED
+consider-using-assignment-expr:90:3:90:5::"Use 'if (o3 := 2) == 1:' instead":UNDEFINED
+consider-using-assignment-expr:96:3:96:5::"Use 'if (o4 := 2) == 1:' instead":UNDEFINED
+consider-using-assignment-expr:102:3:102:5::"Use 'if (o5 := 2) == 1:' instead":UNDEFINED
+consider-using-assignment-expr:108:3:108:5::"Use 'if (o6 := 2) == 1:' instead":UNDEFINED
+consider-using-assignment-expr:127:7:127:9:func_p:"Use 'if (p3 := 2) == 1:' instead":UNDEFINED
+consider-using-assignment-expr:133:7:133:9:func_p:"Use 'if (p4 := 2) == 1:' instead":UNDEFINED
+consider-using-assignment-expr:139:7:139:9:func_p:"Use 'if (p5 := 2) == 1:' instead":UNDEFINED
+consider-using-assignment-expr:145:7:145:9:func_p:"Use 'if (p6 := 2) == 1:' instead":UNDEFINED
diff --git a/tests/functional/ext/code_style/consider_using_namedtuple_or_dataclass.txt b/tests/functional/ext/code_style/consider_using_namedtuple_or_dataclass.txt
index 6c471db96..bb1857fce 100644
--- a/tests/functional/ext/code_style/consider_using_namedtuple_or_dataclass.txt
+++ b/tests/functional/ext/code_style/consider_using_namedtuple_or_dataclass.txt
@@ -1,5 +1,5 @@
-consider-using-namedtuple-or-dataclass:11:12::Consider using namedtuple or dataclass for dictionary values
-consider-using-namedtuple-or-dataclass:15:12::Consider using namedtuple or dataclass for dictionary values
-consider-using-namedtuple-or-dataclass:34:23:func:Consider using namedtuple or dataclass for dictionary values
-consider-using-namedtuple-or-dataclass:41:12::Consider using namedtuple or dataclass for dictionary values
-consider-using-namedtuple-or-dataclass:53:12::Consider using namedtuple or dataclass for dictionary values
+consider-using-namedtuple-or-dataclass:11:12:14:1::Consider using namedtuple or dataclass for dictionary values:UNDEFINED
+consider-using-namedtuple-or-dataclass:15:12:18:1::Consider using namedtuple or dataclass for dictionary values:UNDEFINED
+consider-using-namedtuple-or-dataclass:34:23:37:5:func:Consider using namedtuple or dataclass for dictionary values:UNDEFINED
+consider-using-namedtuple-or-dataclass:41:12:44:1::Consider using namedtuple or dataclass for dictionary values:UNDEFINED
+consider-using-namedtuple-or-dataclass:53:12:56:1::Consider using namedtuple or dataclass for dictionary values:UNDEFINED
diff --git a/tests/functional/ext/code_style/consider_using_tuple.txt b/tests/functional/ext/code_style/consider_using_tuple.txt
index 167c8c037..cd8ffb1e7 100644
--- a/tests/functional/ext/code_style/consider_using_tuple.txt
+++ b/tests/functional/ext/code_style/consider_using_tuple.txt
@@ -1,8 +1,8 @@
-consider-using-tuple:9:9::Consider using an in-place tuple instead of list
-consider-using-tuple:14:12::Consider using an in-place tuple instead of list
-consider-using-tuple:18:12::Consider using an in-place tuple instead of list
-consider-using-tuple:21:9::Consider using an in-place tuple instead of list
-consider-using-tuple:23:9::Consider using an in-place tuple instead of list
-consider-using-tuple:26:12::Consider using an in-place tuple instead of list
-use-sequence-for-iteration:30:12::Use a sequence type when iterating over values
-use-sequence-for-iteration:31:12::Use a sequence type when iterating over values
+consider-using-tuple:9:9:9:18::Consider using an in-place tuple instead of list:UNDEFINED
+consider-using-tuple:14:12:14:21::Consider using an in-place tuple instead of list:UNDEFINED
+consider-using-tuple:18:12:18:21::Consider using an in-place tuple instead of list:UNDEFINED
+consider-using-tuple:21:9:21:15::Consider using an in-place tuple instead of list:UNDEFINED
+consider-using-tuple:23:9:23:18::Consider using an in-place tuple instead of list:UNDEFINED
+consider-using-tuple:26:12:26:21::Consider using an in-place tuple instead of list:UNDEFINED
+use-sequence-for-iteration:30:12:30:21::Use a sequence type when iterating over values:UNDEFINED
+use-sequence-for-iteration:31:12:31:21::Use a sequence type when iterating over values:UNDEFINED
diff --git a/tests/functional/ext/comparetozero/comparetozero.txt b/tests/functional/ext/comparetozero/comparetozero.txt
index c5862e1b7..34f76c94e 100644
--- a/tests/functional/ext/comparetozero/comparetozero.txt
+++ b/tests/functional/ext/comparetozero/comparetozero.txt
@@ -1,4 +1,4 @@
-compare-to-zero:6:3::Avoid comparisons to zero:HIGH
-compare-to-zero:9:3::Avoid comparisons to zero:HIGH
-compare-to-zero:12:3::Avoid comparisons to zero:HIGH
-compare-to-zero:15:3::Avoid comparisons to zero:HIGH
+compare-to-zero:6:3:6:9::Avoid comparisons to zero:UNDEFINED
+compare-to-zero:9:3:9:13::Avoid comparisons to zero:UNDEFINED
+compare-to-zero:12:3:12:9::Avoid comparisons to zero:UNDEFINED
+compare-to-zero:15:3:15:9::Avoid comparisons to zero:UNDEFINED
diff --git a/tests/functional/ext/comparison_placement/misplaced_comparison_constant.txt b/tests/functional/ext/comparison_placement/misplaced_comparison_constant.txt
index b517b499e..22df53950 100644
--- a/tests/functional/ext/comparison_placement/misplaced_comparison_constant.txt
+++ b/tests/functional/ext/comparison_placement/misplaced_comparison_constant.txt
@@ -1,6 +1,6 @@
-misplaced-comparison-constant:19:11:bad_comparisons:Comparison should be i >= 5
-misplaced-comparison-constant:21:11:bad_comparisons:Comparison should be i == 1
-misplaced-comparison-constant:23:11:bad_comparisons:Comparison should be dummy_return() > 3
-misplaced-comparison-constant:25:11:bad_comparisons:Comparison should be instance.dummy_return() != 4
-misplaced-comparison-constant:27:11:bad_comparisons:Comparison should be instance.attr == 1
-misplaced-comparison-constant:29:11:bad_comparisons:Comparison should be instance.attr == 'aaa'
+misplaced-comparison-constant:19:11:19:17:bad_comparisons:Comparison should be i >= 5:UNDEFINED
+misplaced-comparison-constant:21:11:21:17:bad_comparisons:Comparison should be i == 1:UNDEFINED
+misplaced-comparison-constant:23:11:23:29:bad_comparisons:Comparison should be dummy_return() > 3:UNDEFINED
+misplaced-comparison-constant:25:11:25:39:bad_comparisons:Comparison should be instance.dummy_return() != 4:UNDEFINED
+misplaced-comparison-constant:27:11:27:29:bad_comparisons:Comparison should be instance.attr == 1:UNDEFINED
+misplaced-comparison-constant:29:11:29:33:bad_comparisons:Comparison should be instance.attr == 'aaa':UNDEFINED
diff --git a/tests/functional/ext/confusing_elif/confusing_elif.txt b/tests/functional/ext/confusing_elif/confusing_elif.txt
index 55cc0d13f..17fd18eb5 100644
--- a/tests/functional/ext/confusing_elif/confusing_elif.txt
+++ b/tests/functional/ext/confusing_elif/confusing_elif.txt
@@ -1 +1 @@
-confusing-consecutive-elif:11:4:check_config:Consecutive elif with differing indentation level, consider creating a function to separate the inner elif
+confusing-consecutive-elif:11:4:12:38:check_config:Consecutive elif with differing indentation level, consider creating a function to separate the inner elif:UNDEFINED
diff --git a/tests/functional/ext/consider_ternary_expression/consider_ternary_expression.txt b/tests/functional/ext/consider_ternary_expression/consider_ternary_expression.txt
index 08e51e61d..02af32f45 100644
--- a/tests/functional/ext/consider_ternary_expression/consider_ternary_expression.txt
+++ b/tests/functional/ext/consider_ternary_expression/consider_ternary_expression.txt
@@ -1,2 +1,2 @@
-consider-ternary-expression:1:0::Consider rewriting as a ternary expression
-consider-ternary-expression:14:4:a:Consider rewriting as a ternary expression
+consider-ternary-expression:1:0:4:9::Consider rewriting as a ternary expression:UNDEFINED
+consider-ternary-expression:14:4:17:13:a:Consider rewriting as a ternary expression:UNDEFINED
diff --git a/tests/functional/ext/docparams/docparams.txt b/tests/functional/ext/docparams/docparams.txt
index 7aa6631ed..1fbad6185 100644
--- a/tests/functional/ext/docparams/docparams.txt
+++ b/tests/functional/ext/docparams/docparams.txt
@@ -1,12 +1,12 @@
-missing-return-doc:4:0:_private_func1:Missing return documentation
-missing-return-type-doc:4:0:_private_func1:Missing return type documentation
-missing-yield-doc:9:0:_private_func2:Missing yield documentation
-missing-yield-type-doc:9:0:_private_func2:Missing yield type documentation
-missing-raises-doc:14:0:_private_func3:"""Exception""" not documented as being raised
-missing-any-param-doc:19:0:public_func1:"Missing any documentation in ""public_func1"""
-missing-return-doc:24:0:_async_private_func1:Missing return documentation
-missing-return-type-doc:24:0:_async_private_func1:Missing return type documentation
-missing-yield-doc:29:0:_async_private_func2:Missing yield documentation
-missing-yield-type-doc:29:0:_async_private_func2:Missing yield type documentation
-missing-raises-doc:34:0:_async_private_func3:"""Exception""" not documented as being raised
-missing-any-param-doc:39:0:async_public_func1:"Missing any documentation in ""async_public_func1"""
+missing-return-doc:4:0:6:17:_private_func1:Missing return documentation:UNDEFINED
+missing-return-type-doc:4:0:6:17:_private_func1:Missing return type documentation:UNDEFINED
+missing-yield-doc:9:0:11:16:_private_func2:Missing yield documentation:UNDEFINED
+missing-yield-type-doc:9:0:11:16:_private_func2:Missing yield type documentation:UNDEFINED
+missing-raises-doc:14:0:16:30:_private_func3:"""Exception"" not documented as being raised":UNDEFINED
+missing-any-param-doc:19:0:21:17:public_func1:"Missing any documentation in ""public_func1""":UNDEFINED
+missing-return-doc:24:0:26:17:_async_private_func1:Missing return documentation:UNDEFINED
+missing-return-type-doc:24:0:26:17:_async_private_func1:Missing return type documentation:UNDEFINED
+missing-yield-doc:29:0:31:16:_async_private_func2:Missing yield documentation:UNDEFINED
+missing-yield-type-doc:29:0:31:16:_async_private_func2:Missing yield type documentation:UNDEFINED
+missing-raises-doc:34:0:36:30:_async_private_func3:"""Exception"" not documented as being raised":UNDEFINED
+missing-any-param-doc:39:0:41:17:async_public_func1:"Missing any documentation in ""async_public_func1""":UNDEFINED
diff --git a/tests/functional/ext/docparams/missing_param_doc.txt b/tests/functional/ext/docparams/missing_param_doc.txt
index b03e20072..c52821207 100644
--- a/tests/functional/ext/docparams/missing_param_doc.txt
+++ b/tests/functional/ext/docparams/missing_param_doc.txt
@@ -1,18 +1,18 @@
-missing-any-param-doc:3:0:foobar1:"Missing any documentation in ""foobar1"""
-missing-any-param-doc:8:0:foobar2:"Missing any documentation in ""foobar2"""
-missing-param-doc:15:0:foobar3:"""arg1, arg2, arg3"" missing in parameter documentation"
-missing-type-doc:15:0:foobar3:"""arg2"" missing in parameter type documentation"
-missing-param-doc:24:0:foobar4:"""arg2"" missing in parameter documentation"
-missing-type-doc:24:0:foobar4:"""arg2"" missing in parameter type documentation"
-missing-param-doc:33:0:foobar5:"""arg2"" missing in parameter documentation"
-missing-type-doc:33:0:foobar5:"""arg1"" missing in parameter type documentation"
-missing-param-doc:43:0:foobar6:"""arg2, arg3"" missing in parameter documentation"
-missing-type-doc:43:0:foobar6:"""arg3"" missing in parameter type documentation"
-missing-any-param-doc:53:0:foobar7:"Missing any documentation in ""foobar7"""
-missing-any-param-doc:61:0:foobar8:"Missing any documentation in ""foobar8"""
-missing-param-doc:66:0:foobar9:"""arg1, arg2, arg3"" missing in parameter documentation"
-missing-param-doc:76:0:foobar10:"""arg2"" missing in parameter documentation"
-missing-type-doc:76:0:foobar10:"""arg1, arg3"" missing in parameter type documentation"
-missing-any-param-doc:88:0:foobar11:Missing any documentation in "foobar11"
-missing-param-doc:97:0:foobar12:"""arg1, arg3"" missing in parameter documentation"
-missing-type-doc:97:0:foobar12:"""arg2, arg3"" missing in parameter type documentation"
+missing-any-param-doc:3:0:6:21:foobar1:"Missing any documentation in ""foobar1""":UNDEFINED
+missing-any-param-doc:8:0:13:21:foobar2:"Missing any documentation in ""foobar2""":UNDEFINED
+missing-param-doc:15:0:22:27:foobar3:"""arg1, arg2, arg3"" missing in parameter documentation":UNDEFINED
+missing-type-doc:15:0:22:27:foobar3:"""arg2"" missing in parameter type documentation":UNDEFINED
+missing-param-doc:24:0:31:21:foobar4:"""arg2"" missing in parameter documentation":UNDEFINED
+missing-type-doc:24:0:31:21:foobar4:"""arg2"" missing in parameter type documentation":UNDEFINED
+missing-param-doc:33:0:41:21:foobar5:"""arg2"" missing in parameter documentation":UNDEFINED
+missing-type-doc:33:0:41:21:foobar5:"""arg1"" missing in parameter type documentation":UNDEFINED
+missing-param-doc:43:0:51:27:foobar6:"""arg2, arg3"" missing in parameter documentation":UNDEFINED
+missing-type-doc:43:0:51:27:foobar6:"""arg3"" missing in parameter type documentation":UNDEFINED
+missing-any-param-doc:53:0:59:21:foobar7:"Missing any documentation in ""foobar7""":UNDEFINED
+missing-any-param-doc:61:0:64:15:foobar8:"Missing any documentation in ""foobar8""":UNDEFINED
+missing-param-doc:66:0:74:27:foobar9:"""arg1, arg2, arg3"" missing in parameter documentation":UNDEFINED
+missing-param-doc:76:0:86:27:foobar10:"""arg2"" missing in parameter documentation":UNDEFINED
+missing-type-doc:76:0:86:27:foobar10:"""arg1, arg3"" missing in parameter type documentation":UNDEFINED
+missing-any-param-doc:88:0:95:21:foobar11:"Missing any documentation in ""foobar11""":UNDEFINED
+missing-param-doc:97:0:106:27:foobar12:"""arg1, arg3"" missing in parameter documentation":UNDEFINED
+missing-type-doc:97:0:106:27:foobar12:"""arg2, arg3"" missing in parameter type documentation":UNDEFINED
diff --git a/tests/functional/ext/docparams/useless_type_doc.txt b/tests/functional/ext/docparams/useless_type_doc.txt
index 9e1963e90..ae879d7f1 100644
--- a/tests/functional/ext/docparams/useless_type_doc.txt
+++ b/tests/functional/ext/docparams/useless_type_doc.txt
@@ -1,4 +1,4 @@
-useless-param-doc:34:0:function_useless_doc:"""_some_private_param"" useless ignored parameter documentation":HIGH
-useless-type-doc:34:0:function_useless_doc:"""_some_private_param"" useless ignored parameter type documentation":HIGH
-useless-param-doc:67:0:test_two:"""_new"" useless ignored parameter documentation":HIGH
-useless-type-doc:67:0:test_two:"""_new"" useless ignored parameter type documentation":HIGH
+useless-param-doc:34:0:47:11:function_useless_doc:"""_some_private_param"" useless ignored parameter documentation":UNDEFINED
+useless-type-doc:34:0:47:11:function_useless_doc:"""_some_private_param"" useless ignored parameter type documentation":UNDEFINED
+useless-param-doc:67:0:73:13:test_two:"""_new"" useless ignored parameter documentation":UNDEFINED
+useless-type-doc:67:0:73:13:test_two:"""_new"" useless ignored parameter type documentation":UNDEFINED
diff --git a/tests/functional/ext/docstyle/docstyle.txt b/tests/functional/ext/docstyle/docstyle.txt
index 8a30eedee..0b45cbf8e 100644
--- a/tests/functional/ext/docstyle/docstyle.txt
+++ b/tests/functional/ext/docstyle/docstyle.txt
@@ -1,7 +1,7 @@
-docstring-first-line-empty:4:0:check_messages:First line empty in function docstring:HIGH
-docstring-first-line-empty:14:0:FFFF:First line empty in class docstring:HIGH
-bad-docstring-quotes:19:4:FFFF.method1:"Bad docstring quotes in method, expected """""", given '''":HIGH
-docstring-first-line-empty:19:4:FFFF.method1:First line empty in method docstring:HIGH
-bad-docstring-quotes:24:4:FFFF.method2:"Bad docstring quotes in method, expected """""", given """:HIGH
-bad-docstring-quotes:27:4:FFFF.method3:"Bad docstring quotes in method, expected """""", given '":HIGH
-bad-docstring-quotes:30:4:FFFF.method4:"Bad docstring quotes in method, expected """""", given '":HIGH
+docstring-first-line-empty:4:0:7:19:check_messages:First line empty in function docstring:HIGH
+docstring-first-line-empty:14:0:41:44:FFFF:First line empty in class docstring:HIGH
+bad-docstring-quotes:19:4:22:11:FFFF.method1:"Bad docstring quotes in method, expected """""", given '''":HIGH
+docstring-first-line-empty:19:4:22:11:FFFF.method1:First line empty in method docstring:HIGH
+bad-docstring-quotes:24:4:25:25:FFFF.method2:"Bad docstring quotes in method, expected """""", given """:HIGH
+bad-docstring-quotes:27:4:28:25:FFFF.method3:"Bad docstring quotes in method, expected """""", given '":HIGH
+bad-docstring-quotes:30:4:31:30:FFFF.method4:"Bad docstring quotes in method, expected """""", given '":HIGH
diff --git a/tests/functional/ext/empty_comment/empty_comment.txt b/tests/functional/ext/empty_comment/empty_comment.txt
index ae4eee33e..fe5695639 100644
--- a/tests/functional/ext/empty_comment/empty_comment.txt
+++ b/tests/functional/ext/empty_comment/empty_comment.txt
@@ -1,4 +1,4 @@
-empty-comment:3:0::Line with empty comment:HIGH
-empty-comment:5:0::Line with empty comment:HIGH
-empty-comment:8:0::Line with empty comment:HIGH
-empty-comment:11:0::Line with empty comment:HIGH
+empty-comment:3:0:None:None::Line with empty comment:UNDEFINED
+empty-comment:5:0:None:None::Line with empty comment:UNDEFINED
+empty-comment:8:0:None:None::Line with empty comment:UNDEFINED
+empty-comment:11:0:None:None::Line with empty comment:UNDEFINED
diff --git a/tests/functional/ext/emptystring/empty_string_comparison.txt b/tests/functional/ext/emptystring/empty_string_comparison.txt
index 7e31c3d25..5b259bc46 100644
--- a/tests/functional/ext/emptystring/empty_string_comparison.txt
+++ b/tests/functional/ext/emptystring/empty_string_comparison.txt
@@ -1,4 +1,4 @@
-compare-to-empty-string:6:3::Avoid comparisons to empty string:HIGH
-compare-to-empty-string:9:3::Avoid comparisons to empty string:HIGH
-compare-to-empty-string:12:3::Avoid comparisons to empty string:HIGH
-compare-to-empty-string:15:3::Avoid comparisons to empty string:HIGH
+compare-to-empty-string:6:3:6:10::Avoid comparisons to empty string:UNDEFINED
+compare-to-empty-string:9:3:9:14::Avoid comparisons to empty string:UNDEFINED
+compare-to-empty-string:12:3:12:10::Avoid comparisons to empty string:UNDEFINED
+compare-to-empty-string:15:3:15:10::Avoid comparisons to empty string:UNDEFINED
diff --git a/tests/functional/ext/for_any_all/for_any_all.txt b/tests/functional/ext/for_any_all/for_any_all.txt
index da01f06fd..854a8abbd 100644
--- a/tests/functional/ext/for_any_all/for_any_all.txt
+++ b/tests/functional/ext/for_any_all/for_any_all.txt
@@ -1,8 +1,8 @@
-consider-using-any-or-all:5:4:any_even:`for` loop could be `any(item % 2 == 0 for item in items)`
-consider-using-any-or-all:12:4:all_even:`for` loop could be `all(item % 2 == 0 for item in items)`
-consider-using-any-or-all:19:4:any_uneven:`for` loop could be `not all(item % 2 == 0 for item in items)`
-consider-using-any-or-all:26:4:all_uneven:`for` loop could be `not any(item % 2 == 0 for item in items)`
-consider-using-any-or-all:33:4:is_from_string:`for` loop could be `any(isinstance(parent, str) for parent in item.parents())`
-consider-using-any-or-all:40:4:is_not_from_string:`for` loop could be `not all(isinstance(parent, str) for parent in item.parents())`
-consider-using-any-or-all:49:8:nested_check:`for` loop could be `not any(item in (1, 2, 3) for item in items)`
-consider-using-any-or-all:58:4:words_contains_word:`for` loop could be `any(word == 'word' for word in words)`
+consider-using-any-or-all:5:4:7:23:any_even:`for` loop could be `any(item % 2 == 0 for item in items)`:UNDEFINED
+consider-using-any-or-all:12:4:14:24:all_even:`for` loop could be `all(item % 2 == 0 for item in items)`:UNDEFINED
+consider-using-any-or-all:19:4:21:23:any_uneven:`for` loop could be `not all(item % 2 == 0 for item in items)`:UNDEFINED
+consider-using-any-or-all:26:4:28:24:all_uneven:`for` loop could be `not any(item % 2 == 0 for item in items)`:UNDEFINED
+consider-using-any-or-all:33:4:35:23:is_from_string:`for` loop could be `any(isinstance(parent, str) for parent in item.parents())`:UNDEFINED
+consider-using-any-or-all:40:4:42:23:is_not_from_string:`for` loop could be `not all(isinstance(parent, str) for parent in item.parents())`:UNDEFINED
+consider-using-any-or-all:49:8:51:28:nested_check:`for` loop could be `not any(item in (1, 2, 3) for item in items)`:UNDEFINED
+consider-using-any-or-all:58:4:60:23:words_contains_word:`for` loop could be `any(word == 'word' for word in words)`:UNDEFINED
diff --git a/tests/functional/ext/mccabe/mccabe.txt b/tests/functional/ext/mccabe/mccabe.txt
index 3e4a8431d..9f7663e69 100644
--- a/tests/functional/ext/mccabe/mccabe.txt
+++ b/tests/functional/ext/mccabe/mccabe.txt
@@ -1,15 +1,15 @@
-too-complex:9:0:f1:'f1' is too complex. The McCabe rating is 1:HIGH
-too-complex:14:0:f2:'f2' is too complex. The McCabe rating is 1:HIGH
-too-complex:21:0:f3:'f3' is too complex. The McCabe rating is 3:HIGH
-too-complex:31:0:f4:'f4' is too complex. The McCabe rating is 2:HIGH
-too-complex:37:0:f5:'f5' is too complex. The McCabe rating is 2:HIGH
-too-complex:45:0:f6:'f6' is too complex. The McCabe rating is 2:HIGH
-too-complex:53:0:f7:'f7' is too complex. The McCabe rating is 3:HIGH
-too-complex:68:0:f8:'f8' is too complex. The McCabe rating is 4:HIGH
-too-complex:80:0:f9:'f9' is too complex. The McCabe rating is 9:HIGH
-too-complex:106:0:f10:'f10' is too complex. The McCabe rating is 11:HIGH
-too-complex:138:4:MyClass1.method1:'method1' is too complex. The McCabe rating is 1:HIGH
-too-complex:142:4:MyClass1.method2:'method2' is too complex. The McCabe rating is 18:HIGH
-too-many-branches:142:4:MyClass1.method2:Too many branches (20/12):HIGH
-too-complex:198:0::This 'for' is too complex. The McCabe rating is 4:HIGH
-too-complex:207:0:method3:'method3' is too complex. The McCabe rating is 2:HIGH
+too-complex:9:0:11:8:f1:'f1' is too complex. The McCabe rating is 1:HIGH
+too-complex:14:0:18:12:f2:'f2' is too complex. The McCabe rating is 1:HIGH
+too-complex:21:0:28:47:f3:'f3' is too complex. The McCabe rating is 3:HIGH
+too-complex:31:0:34:16:f4:'f4' is too complex. The McCabe rating is 2:HIGH
+too-complex:37:0:42:19:f5:'f5' is too complex. The McCabe rating is 2:HIGH
+too-complex:45:0:50:16:f6:'f6' is too complex. The McCabe rating is 2:HIGH
+too-complex:53:0:65:7:f7:'f7' is too complex. The McCabe rating is 3:HIGH
+too-complex:68:0:77:16:f8:'f8' is too complex. The McCabe rating is 4:HIGH
+too-complex:80:0:103:25:f9:'f9' is too complex. The McCabe rating is 9:HIGH
+too-complex:106:0:130:16:f10:'f10' is too complex. The McCabe rating is 11:HIGH
+too-complex:138:4:140:12:MyClass1.method1:'method1' is too complex. The McCabe rating is 1:HIGH
+too-complex:142:4:195:21:MyClass1.method2:'method2' is too complex. The McCabe rating is 18:HIGH
+too-many-branches:142:4:195:21:MyClass1.method2:Too many branches (20/12):UNDEFINED
+too-complex:198:0:204:15::This 'for' is too complex. The McCabe rating is 4:HIGH
+too-complex:207:0:216:15:method3:'method3' is too complex. The McCabe rating is 2:HIGH
diff --git a/tests/functional/ext/overlapping_exceptions/overlapping_exceptions.txt b/tests/functional/ext/overlapping_exceptions/overlapping_exceptions.txt
index 6669ae0f8..cd2535e61 100644
--- a/tests/functional/ext/overlapping_exceptions/overlapping_exceptions.txt
+++ b/tests/functional/ext/overlapping_exceptions/overlapping_exceptions.txt
@@ -1,12 +1,12 @@
-overlapping-except:18:7::Overlapping exceptions (SomeException and SomeException are the same):HIGH
-overlapping-except:23:7::Overlapping exceptions (SomeException is an ancestor class of SubclassException):HIGH
-overlapping-except:28:7::Overlapping exceptions (SomeException and AliasException are the same):HIGH
-overlapping-except:33:7::Overlapping exceptions (AliasException is an ancestor class of SubclassException):HIGH
-overlapping-except:39:7::Overlapping exceptions (AliasException is an ancestor class of SubclassException):HIGH
-overlapping-except:39:7::Overlapping exceptions (SomeException and AliasException are the same):HIGH
-overlapping-except:39:7::Overlapping exceptions (SomeException is an ancestor class of SubclassException):HIGH
-overlapping-except:44:7::Overlapping exceptions (ArithmeticError is an ancestor class of FloatingPointError):HIGH
-overlapping-except:49:7::Overlapping exceptions (ValueError is an ancestor class of UnicodeDecodeError):HIGH
-overlapping-except:55:7::Overlapping exceptions (IOError and OSError are the same):HIGH
-overlapping-except:60:7::Overlapping exceptions (socket.error and OSError are the same):HIGH
-overlapping-except:65:7::Overlapping exceptions (socket.error is an ancestor class of ConnectionError):HIGH
+overlapping-except:18:7:18:37::Overlapping exceptions (SomeException and SomeException are the same):UNDEFINED
+overlapping-except:23:7:23:41::Overlapping exceptions (SomeException is an ancestor class of SubclassException):UNDEFINED
+overlapping-except:28:7:28:38::Overlapping exceptions (SomeException and AliasException are the same):UNDEFINED
+overlapping-except:33:7:33:42::Overlapping exceptions (AliasException is an ancestor class of SubclassException):UNDEFINED
+overlapping-except:39:7:39:57::Overlapping exceptions (AliasException is an ancestor class of SubclassException):UNDEFINED
+overlapping-except:39:7:39:57::Overlapping exceptions (SomeException and AliasException are the same):UNDEFINED
+overlapping-except:39:7:39:57::Overlapping exceptions (SomeException is an ancestor class of SubclassException):UNDEFINED
+overlapping-except:44:7:44:44::Overlapping exceptions (ArithmeticError is an ancestor class of FloatingPointError):UNDEFINED
+overlapping-except:49:7:49:39::Overlapping exceptions (ValueError is an ancestor class of UnicodeDecodeError):UNDEFINED
+overlapping-except:55:7:55:25::Overlapping exceptions (IOError and OSError are the same):UNDEFINED
+overlapping-except:60:7:60:30::Overlapping exceptions (socket.error and OSError are the same):UNDEFINED
+overlapping-except:65:7:65:38::Overlapping exceptions (socket.error is an ancestor class of ConnectionError):UNDEFINED
diff --git a/tests/functional/ext/plugin_does_not_exists.txt b/tests/functional/ext/plugin_does_not_exists.txt
index 8d5a79f24..da671f35e 100644
--- a/tests/functional/ext/plugin_does_not_exists.txt
+++ b/tests/functional/ext/plugin_does_not_exists.txt
@@ -1 +1 @@
-import-error:3:0::Unable to import 'shadok':HIGH
+import-error:3:0:3:32::Unable to import 'shadok':UNDEFINED
diff --git a/tests/functional/ext/redefined_variable_type/redefined_variable_type.txt b/tests/functional/ext/redefined_variable_type/redefined_variable_type.txt
index e2d52aed7..389571454 100644
--- a/tests/functional/ext/redefined_variable_type/redefined_variable_type.txt
+++ b/tests/functional/ext/redefined_variable_type/redefined_variable_type.txt
@@ -1,10 +1,10 @@
-redefined-variable-type:17:8:MyClass.__init__:Redefinition of self.var1 type from int to float:HIGH
-redefined-variable-type:21:8:MyClass.__init__:Redefinition of a_str type from bool to float:HIGH
-redefined-variable-type:33:12:MyClass.some_method.func:Redefinition of var type from int to str:HIGH
-redefined-variable-type:37:8:MyClass.some_method:Redefinition of myint type from int to bool:HIGH
-redefined-variable-type:39:0::Redefinition of _OK type from bool to str:HIGH
-redefined-variable-type:49:4:other_function:Redefinition of instance type from redefined_variable_type.MyClass to bool:HIGH
-redefined-variable-type:51:0::Redefinition of SOME_FLOAT type from float to int:HIGH
-redefined-variable-type:71:8:func2:Redefinition of var3 type from str to int:HIGH
-redefined-variable-type:75:4:func2:Redefinition of var type from bool to int:HIGH
-redefined-variable-type:85:8:func2:Redefinition of var4 type from float to str:HIGH
+redefined-variable-type:17:8:17:22:MyClass.__init__:Redefinition of self.var1 type from int to float:UNDEFINED
+redefined-variable-type:21:8:21:40:MyClass.__init__:Redefinition of a_str type from bool to float:UNDEFINED
+redefined-variable-type:33:12:33:23:MyClass.some_method.func:Redefinition of var type from int to str:UNDEFINED
+redefined-variable-type:37:8:37:21:MyClass.some_method:Redefinition of myint type from int to bool:UNDEFINED
+redefined-variable-type:39:0:39:18::Redefinition of _OK type from bool to str:UNDEFINED
+redefined-variable-type:49:4:49:19:other_function:Redefinition of instance type from redefined_variable_type.MyClass to bool:UNDEFINED
+redefined-variable-type:51:0:51:29::Redefinition of SOME_FLOAT type from float to int:UNDEFINED
+redefined-variable-type:71:8:71:16:func2:Redefinition of var3 type from str to int:UNDEFINED
+redefined-variable-type:75:4:75:11:func2:Redefinition of var type from bool to int:UNDEFINED
+redefined-variable-type:85:8:85:20:func2:Redefinition of var4 type from float to str:UNDEFINED
diff --git a/tests/functional/ext/set_membership/use_set_membership.txt b/tests/functional/ext/set_membership/use_set_membership.txt
index b2adb9ecd..ca4211e69 100644
--- a/tests/functional/ext/set_membership/use_set_membership.txt
+++ b/tests/functional/ext/set_membership/use_set_membership.txt
@@ -1,11 +1,11 @@
-use-set-for-membership:8:5::Consider using set for membership test:HIGH
-use-set-for-membership:9:5::Consider using set for membership test:HIGH
-use-set-for-membership:15:8::Consider using set for membership test:HIGH
-use-set-for-membership:17:8::Consider using set for membership test:HIGH
-use-set-for-membership:20:11::Consider using set for membership test:HIGH
-use-set-for-membership:21:12::Consider using set for membership test:HIGH
-use-set-for-membership:22:24::Consider using set for membership test:HIGH
-use-set-for-membership:23:11::Consider using set for membership test:HIGH
-use-set-for-membership:28:13::Consider using set for membership test:HIGH
-use-set-for-membership:29:10::Consider using set for membership test:HIGH
-use-set-for-membership:33:5::Consider using set for membership test:HIGH
+use-set-for-membership:8:5:8:14::Consider using set for membership test:UNDEFINED
+use-set-for-membership:9:5:9:14::Consider using set for membership test:UNDEFINED
+use-set-for-membership:15:8:15:17::Consider using set for membership test:UNDEFINED
+use-set-for-membership:17:8:17:17::Consider using set for membership test:UNDEFINED
+use-set-for-membership:20:11:20:20::Consider using set for membership test:UNDEFINED
+use-set-for-membership:21:12:21:21::Consider using set for membership test:UNDEFINED
+use-set-for-membership:22:24:22:33::Consider using set for membership test:UNDEFINED
+use-set-for-membership:23:11:23:20::Consider using set for membership test:UNDEFINED
+use-set-for-membership:28:13:28:22::Consider using set for membership test:UNDEFINED
+use-set-for-membership:29:10:29:19::Consider using set for membership test:UNDEFINED
+use-set-for-membership:33:5:33:36::Consider using set for membership test:UNDEFINED
diff --git a/tests/functional/ext/typing/consider_using_alias.txt b/tests/functional/ext/typing/consider_using_alias.txt
index e3deddf7e..f4ddbd213 100644
--- a/tests/functional/ext/typing/consider_using_alias.txt
+++ b/tests/functional/ext/typing/consider_using_alias.txt
@@ -1,20 +1,20 @@
-consider-using-alias:16:6::'typing.Dict' will be deprecated with PY39, consider using 'dict' instead
-consider-using-alias:17:6::'typing.List' will be deprecated with PY39, consider using 'list' instead
-consider-using-alias:19:6::'typing.OrderedDict' will be deprecated with PY39, consider using 'collections.OrderedDict' instead
-consider-using-alias:20:6::'typing.Awaitable' will be deprecated with PY39, consider using 'collections.abc.Awaitable' instead
-consider-using-alias:21:6::'typing.Iterable' will be deprecated with PY39, consider using 'collections.abc.Iterable' instead
-consider-using-alias:22:6::'typing.Hashable' will be deprecated with PY39, consider using 'collections.abc.Hashable' instead
-consider-using-alias:23:6::'typing.ContextManager' will be deprecated with PY39, consider using 'contextlib.AbstractContextManager' instead
-consider-using-alias:24:6::'typing.Pattern' will be deprecated with PY39, consider using 're.Pattern' instead
-consider-using-alias:25:7::'typing.Match' will be deprecated with PY39, consider using 're.Match' instead
-consider-using-alias:34:9::'typing.List' will be deprecated with PY39, consider using 'list' instead
-consider-using-alias:36:7::'typing.Type' will be deprecated with PY39, consider using 'type' instead
-consider-using-alias:37:7::'typing.Tuple' will be deprecated with PY39, consider using 'tuple' instead
-consider-using-alias:38:7::'typing.Callable' will be deprecated with PY39, consider using 'collections.abc.Callable' instead
-consider-using-alias:44:74:func1:'typing.Dict' will be deprecated with PY39, consider using 'dict' instead
-consider-using-alias:44:16:func1:'typing.List' will be deprecated with PY39, consider using 'list' instead
-consider-using-alias:44:37:func1:'typing.List' will be deprecated with PY39, consider using 'list' instead
-consider-using-alias:44:93:func1:'typing.Tuple' will be deprecated with PY39, consider using 'tuple' instead
-consider-using-alias:60:12:CustomNamedTuple:'typing.List' will be deprecated with PY39, consider using 'list' instead
-consider-using-alias:65:12:CustomTypedDict2:'typing.List' will be deprecated with PY39, consider using 'list' instead
-consider-using-alias:69:12:CustomDataClass:'typing.List' will be deprecated with PY39, consider using 'list' instead
+consider-using-alias:16:6:16:17::'typing.Dict' will be deprecated with PY39, consider using 'dict' instead:UNDEFINED
+consider-using-alias:17:6:17:10::'typing.List' will be deprecated with PY39, consider using 'list' instead:UNDEFINED
+consider-using-alias:19:6:19:24::'typing.OrderedDict' will be deprecated with PY39, consider using 'collections.OrderedDict' instead:UNDEFINED
+consider-using-alias:20:6:20:22::'typing.Awaitable' will be deprecated with PY39, consider using 'collections.abc.Awaitable' instead:UNDEFINED
+consider-using-alias:21:6:21:21::'typing.Iterable' will be deprecated with PY39, consider using 'collections.abc.Iterable' instead:UNDEFINED
+consider-using-alias:22:6:22:21::'typing.Hashable' will be deprecated with PY39, consider using 'collections.abc.Hashable' instead:UNDEFINED
+consider-using-alias:23:6:23:27::'typing.ContextManager' will be deprecated with PY39, consider using 'contextlib.AbstractContextManager' instead:UNDEFINED
+consider-using-alias:24:6:24:20::'typing.Pattern' will be deprecated with PY39, consider using 're.Pattern' instead:UNDEFINED
+consider-using-alias:25:7:25:22::'typing.Match' will be deprecated with PY39, consider using 're.Match' instead:UNDEFINED
+consider-using-alias:34:9:34:13::'typing.List' will be deprecated with PY39, consider using 'list' instead:UNDEFINED
+consider-using-alias:36:7:36:11::'typing.Type' will be deprecated with PY39, consider using 'type' instead:UNDEFINED
+consider-using-alias:37:7:37:12::'typing.Tuple' will be deprecated with PY39, consider using 'tuple' instead:UNDEFINED
+consider-using-alias:38:7:38:15::'typing.Callable' will be deprecated with PY39, consider using 'collections.abc.Callable' instead:UNDEFINED
+consider-using-alias:44:74:44:78:func1:'typing.Dict' will be deprecated with PY39, consider using 'dict' instead:UNDEFINED
+consider-using-alias:44:16:44:20:func1:'typing.List' will be deprecated with PY39, consider using 'list' instead:UNDEFINED
+consider-using-alias:44:37:44:41:func1:'typing.List' will be deprecated with PY39, consider using 'list' instead:UNDEFINED
+consider-using-alias:44:93:44:105:func1:'typing.Tuple' will be deprecated with PY39, consider using 'tuple' instead:UNDEFINED
+consider-using-alias:60:12:60:16:CustomNamedTuple:'typing.List' will be deprecated with PY39, consider using 'list' instead:UNDEFINED
+consider-using-alias:65:12:65:16:CustomTypedDict2:'typing.List' will be deprecated with PY39, consider using 'list' instead:UNDEFINED
+consider-using-alias:69:12:69:16:CustomDataClass:'typing.List' will be deprecated with PY39, consider using 'list' instead:UNDEFINED
diff --git a/tests/functional/ext/typing/consider_using_alias_without_future.txt b/tests/functional/ext/typing/consider_using_alias_without_future.txt
index f60436dc8..e4552cae3 100644
--- a/tests/functional/ext/typing/consider_using_alias_without_future.txt
+++ b/tests/functional/ext/typing/consider_using_alias_without_future.txt
@@ -1,20 +1,20 @@
-consider-using-alias:13:6::'typing.Dict' will be deprecated with PY39, consider using 'dict' instead. Add 'from __future__ import annotations' as well
-consider-using-alias:14:6::'typing.List' will be deprecated with PY39, consider using 'list' instead. Add 'from __future__ import annotations' as well
-consider-using-alias:16:6::'typing.OrderedDict' will be deprecated with PY39, consider using 'collections.OrderedDict' instead. Add 'from __future__ import annotations' as well
-consider-using-alias:17:6::'typing.Awaitable' will be deprecated with PY39, consider using 'collections.abc.Awaitable' instead. Add 'from __future__ import annotations' as well
-consider-using-alias:18:6::'typing.Iterable' will be deprecated with PY39, consider using 'collections.abc.Iterable' instead. Add 'from __future__ import annotations' as well
-consider-using-alias:19:6::'typing.Hashable' will be deprecated with PY39, consider using 'collections.abc.Hashable' instead
-consider-using-alias:20:6::'typing.ContextManager' will be deprecated with PY39, consider using 'contextlib.AbstractContextManager' instead. Add 'from __future__ import annotations' as well
-consider-using-alias:21:6::'typing.Pattern' will be deprecated with PY39, consider using 're.Pattern' instead. Add 'from __future__ import annotations' as well
-consider-using-alias:22:7::'typing.Match' will be deprecated with PY39, consider using 're.Match' instead. Add 'from __future__ import annotations' as well
-consider-using-alias:31:9::'typing.List' will be deprecated with PY39, consider using 'list' instead
-consider-using-alias:33:7::'typing.Type' will be deprecated with PY39, consider using 'type' instead. Add 'from __future__ import annotations' as well
-consider-using-alias:34:7::'typing.Tuple' will be deprecated with PY39, consider using 'tuple' instead. Add 'from __future__ import annotations' as well
-consider-using-alias:35:7::'typing.Callable' will be deprecated with PY39, consider using 'collections.abc.Callable' instead. Add 'from __future__ import annotations' as well
-consider-using-alias:41:74:func1:'typing.Dict' will be deprecated with PY39, consider using 'dict' instead. Add 'from __future__ import annotations' as well
-consider-using-alias:41:16:func1:'typing.List' will be deprecated with PY39, consider using 'list' instead. Add 'from __future__ import annotations' as well
-consider-using-alias:41:37:func1:'typing.List' will be deprecated with PY39, consider using 'list' instead. Add 'from __future__ import annotations' as well
-consider-using-alias:41:93:func1:'typing.Tuple' will be deprecated with PY39, consider using 'tuple' instead. Add 'from __future__ import annotations' as well
-consider-using-alias:57:12:CustomNamedTuple:'typing.List' will be deprecated with PY39, consider using 'list' instead. Add 'from __future__ import annotations' as well
-consider-using-alias:62:12:CustomTypedDict2:'typing.List' will be deprecated with PY39, consider using 'list' instead. Add 'from __future__ import annotations' as well
-consider-using-alias:66:12:CustomDataClass:'typing.List' will be deprecated with PY39, consider using 'list' instead. Add 'from __future__ import annotations' as well
+consider-using-alias:13:6:13:17::'typing.Dict' will be deprecated with PY39, consider using 'dict' instead. Add 'from __future__ import annotations' as well:UNDEFINED
+consider-using-alias:14:6:14:10::'typing.List' will be deprecated with PY39, consider using 'list' instead. Add 'from __future__ import annotations' as well:UNDEFINED
+consider-using-alias:16:6:16:24::'typing.OrderedDict' will be deprecated with PY39, consider using 'collections.OrderedDict' instead. Add 'from __future__ import annotations' as well:UNDEFINED
+consider-using-alias:17:6:17:22::'typing.Awaitable' will be deprecated with PY39, consider using 'collections.abc.Awaitable' instead. Add 'from __future__ import annotations' as well:UNDEFINED
+consider-using-alias:18:6:18:21::'typing.Iterable' will be deprecated with PY39, consider using 'collections.abc.Iterable' instead. Add 'from __future__ import annotations' as well:UNDEFINED
+consider-using-alias:19:6:19:21::'typing.Hashable' will be deprecated with PY39, consider using 'collections.abc.Hashable' instead:UNDEFINED
+consider-using-alias:20:6:20:27::'typing.ContextManager' will be deprecated with PY39, consider using 'contextlib.AbstractContextManager' instead. Add 'from __future__ import annotations' as well:UNDEFINED
+consider-using-alias:21:6:21:20::'typing.Pattern' will be deprecated with PY39, consider using 're.Pattern' instead. Add 'from __future__ import annotations' as well:UNDEFINED
+consider-using-alias:22:7:22:22::'typing.Match' will be deprecated with PY39, consider using 're.Match' instead. Add 'from __future__ import annotations' as well:UNDEFINED
+consider-using-alias:31:9:31:13::'typing.List' will be deprecated with PY39, consider using 'list' instead:UNDEFINED
+consider-using-alias:33:7:33:11::'typing.Type' will be deprecated with PY39, consider using 'type' instead. Add 'from __future__ import annotations' as well:UNDEFINED
+consider-using-alias:34:7:34:12::'typing.Tuple' will be deprecated with PY39, consider using 'tuple' instead. Add 'from __future__ import annotations' as well:UNDEFINED
+consider-using-alias:35:7:35:15::'typing.Callable' will be deprecated with PY39, consider using 'collections.abc.Callable' instead. Add 'from __future__ import annotations' as well:UNDEFINED
+consider-using-alias:41:74:41:78:func1:'typing.Dict' will be deprecated with PY39, consider using 'dict' instead. Add 'from __future__ import annotations' as well:UNDEFINED
+consider-using-alias:41:16:41:20:func1:'typing.List' will be deprecated with PY39, consider using 'list' instead. Add 'from __future__ import annotations' as well:UNDEFINED
+consider-using-alias:41:37:41:41:func1:'typing.List' will be deprecated with PY39, consider using 'list' instead. Add 'from __future__ import annotations' as well:UNDEFINED
+consider-using-alias:41:93:41:105:func1:'typing.Tuple' will be deprecated with PY39, consider using 'tuple' instead. Add 'from __future__ import annotations' as well:UNDEFINED
+consider-using-alias:57:12:57:16:CustomNamedTuple:'typing.List' will be deprecated with PY39, consider using 'list' instead. Add 'from __future__ import annotations' as well:UNDEFINED
+consider-using-alias:62:12:62:16:CustomTypedDict2:'typing.List' will be deprecated with PY39, consider using 'list' instead. Add 'from __future__ import annotations' as well:UNDEFINED
+consider-using-alias:66:12:66:16:CustomDataClass:'typing.List' will be deprecated with PY39, consider using 'list' instead. Add 'from __future__ import annotations' as well:UNDEFINED
diff --git a/tests/functional/ext/typing/consider_using_union.txt b/tests/functional/ext/typing/consider_using_union.txt
index 330a7165f..58b8e74ce 100644
--- a/tests/functional/ext/typing/consider_using_union.txt
+++ b/tests/functional/ext/typing/consider_using_union.txt
@@ -1,10 +1,10 @@
-consider-alternative-union-syntax:13:6::Consider using alternative Union syntax instead of 'Union'
-consider-alternative-union-syntax:14:11::Consider using alternative Union syntax instead of 'Union'
-consider-alternative-union-syntax:15:16::Consider using alternative Union syntax instead of 'Union'
-consider-alternative-union-syntax:16:6::Consider using alternative Union syntax instead of 'Optional'
-consider-alternative-union-syntax:24:10:func1:Consider using alternative Union syntax instead of 'Optional'
-consider-alternative-union-syntax:25:24:func1:Consider using alternative Union syntax instead of 'Union'
-consider-alternative-union-syntax:26:5:func1:Consider using alternative Union syntax instead of 'Union'
-consider-alternative-union-syntax:38:12:CustomNamedTuple:Consider using alternative Union syntax instead of 'Union'
-consider-alternative-union-syntax:43:27:CustomTypedDict2:Consider using alternative Union syntax instead of 'Union'
-consider-alternative-union-syntax:47:12:CustomDataClass:Consider using alternative Union syntax instead of 'Optional'
+consider-alternative-union-syntax:13:6:13:11::Consider using alternative Union syntax instead of 'Union':UNDEFINED
+consider-alternative-union-syntax:14:11:14:16::Consider using alternative Union syntax instead of 'Union':UNDEFINED
+consider-alternative-union-syntax:15:16:15:28::Consider using alternative Union syntax instead of 'Union':UNDEFINED
+consider-alternative-union-syntax:16:6:16:14::Consider using alternative Union syntax instead of 'Optional':UNDEFINED
+consider-alternative-union-syntax:24:10:24:18:func1:Consider using alternative Union syntax instead of 'Optional':UNDEFINED
+consider-alternative-union-syntax:25:24:25:29:func1:Consider using alternative Union syntax instead of 'Union':UNDEFINED
+consider-alternative-union-syntax:26:5:26:10:func1:Consider using alternative Union syntax instead of 'Union':UNDEFINED
+consider-alternative-union-syntax:38:12:38:17:CustomNamedTuple:Consider using alternative Union syntax instead of 'Union':UNDEFINED
+consider-alternative-union-syntax:43:27:43:32:CustomTypedDict2:Consider using alternative Union syntax instead of 'Union':UNDEFINED
+consider-alternative-union-syntax:47:12:47:20:CustomDataClass:Consider using alternative Union syntax instead of 'Optional':UNDEFINED
diff --git a/tests/functional/ext/typing/consider_using_union_py310.txt b/tests/functional/ext/typing/consider_using_union_py310.txt
index 4402eb218..dec5556e7 100644
--- a/tests/functional/ext/typing/consider_using_union_py310.txt
+++ b/tests/functional/ext/typing/consider_using_union_py310.txt
@@ -1,18 +1,18 @@
-consider-alternative-union-syntax:11:6::Consider using alternative Union syntax instead of 'Union'
-consider-alternative-union-syntax:12:11::Consider using alternative Union syntax instead of 'Union'
-consider-alternative-union-syntax:13:16::Consider using alternative Union syntax instead of 'Union'
-consider-alternative-union-syntax:14:6::Consider using alternative Union syntax instead of 'Optional'
-consider-alternative-union-syntax:16:9::Consider using alternative Union syntax instead of 'Union'
-consider-alternative-union-syntax:17:14::Consider using alternative Union syntax instead of 'Union'
-consider-alternative-union-syntax:18:19::Consider using alternative Union syntax instead of 'Union'
-consider-alternative-union-syntax:19:9::Consider using alternative Union syntax instead of 'Optional'
-consider-alternative-union-syntax:22:10:func1:Consider using alternative Union syntax instead of 'Optional'
-consider-alternative-union-syntax:23:24:func1:Consider using alternative Union syntax instead of 'Union'
-consider-alternative-union-syntax:24:5:func1:Consider using alternative Union syntax instead of 'Union'
-consider-alternative-union-syntax:27:19:Custom1:Consider using alternative Union syntax instead of 'Union'
-consider-alternative-union-syntax:31:28::Consider using alternative Union syntax instead of 'Union'
-consider-alternative-union-syntax:33:14::Consider using alternative Union syntax instead of 'Optional'
-consider-alternative-union-syntax:36:12:CustomNamedTuple:Consider using alternative Union syntax instead of 'Union'
-consider-alternative-union-syntax:38:56::Consider using alternative Union syntax instead of 'Optional'
-consider-alternative-union-syntax:41:27:CustomTypedDict2:Consider using alternative Union syntax instead of 'Union'
-consider-alternative-union-syntax:45:12:CustomDataClass:Consider using alternative Union syntax instead of 'Optional'
+consider-alternative-union-syntax:11:6:11:11::Consider using alternative Union syntax instead of 'Union':UNDEFINED
+consider-alternative-union-syntax:12:11:12:16::Consider using alternative Union syntax instead of 'Union':UNDEFINED
+consider-alternative-union-syntax:13:16:13:28::Consider using alternative Union syntax instead of 'Union':UNDEFINED
+consider-alternative-union-syntax:14:6:14:14::Consider using alternative Union syntax instead of 'Optional':UNDEFINED
+consider-alternative-union-syntax:16:9:16:14::Consider using alternative Union syntax instead of 'Union':UNDEFINED
+consider-alternative-union-syntax:17:14:17:19::Consider using alternative Union syntax instead of 'Union':UNDEFINED
+consider-alternative-union-syntax:18:19:18:31::Consider using alternative Union syntax instead of 'Union':UNDEFINED
+consider-alternative-union-syntax:19:9:19:17::Consider using alternative Union syntax instead of 'Optional':UNDEFINED
+consider-alternative-union-syntax:22:10:22:18:func1:Consider using alternative Union syntax instead of 'Optional':UNDEFINED
+consider-alternative-union-syntax:23:24:23:29:func1:Consider using alternative Union syntax instead of 'Union':UNDEFINED
+consider-alternative-union-syntax:24:5:24:10:func1:Consider using alternative Union syntax instead of 'Union':UNDEFINED
+consider-alternative-union-syntax:27:19:27:24:Custom1:Consider using alternative Union syntax instead of 'Union':UNDEFINED
+consider-alternative-union-syntax:31:28:31:33::Consider using alternative Union syntax instead of 'Union':UNDEFINED
+consider-alternative-union-syntax:33:14:33:22::Consider using alternative Union syntax instead of 'Optional':UNDEFINED
+consider-alternative-union-syntax:36:12:36:17:CustomNamedTuple:Consider using alternative Union syntax instead of 'Union':UNDEFINED
+consider-alternative-union-syntax:38:56:38:64::Consider using alternative Union syntax instead of 'Optional':UNDEFINED
+consider-alternative-union-syntax:41:27:41:32:CustomTypedDict2:Consider using alternative Union syntax instead of 'Union':UNDEFINED
+consider-alternative-union-syntax:45:12:45:20:CustomDataClass:Consider using alternative Union syntax instead of 'Optional':UNDEFINED
diff --git a/tests/functional/ext/typing/consider_using_union_without_future.txt b/tests/functional/ext/typing/consider_using_union_without_future.txt
index c43cbc3ce..4eccda951 100644
--- a/tests/functional/ext/typing/consider_using_union_without_future.txt
+++ b/tests/functional/ext/typing/consider_using_union_without_future.txt
@@ -1,10 +1,10 @@
-consider-alternative-union-syntax:11:6::Consider using alternative Union syntax instead of 'Union'. Add 'from __future__ import annotations' as well
-consider-alternative-union-syntax:12:11::Consider using alternative Union syntax instead of 'Union'. Add 'from __future__ import annotations' as well
-consider-alternative-union-syntax:13:16::Consider using alternative Union syntax instead of 'Union'. Add 'from __future__ import annotations' as well
-consider-alternative-union-syntax:14:6::Consider using alternative Union syntax instead of 'Optional'. Add 'from __future__ import annotations' as well
-consider-alternative-union-syntax:22:10:func1:Consider using alternative Union syntax instead of 'Optional'. Add 'from __future__ import annotations' as well
-consider-alternative-union-syntax:23:24:func1:Consider using alternative Union syntax instead of 'Union'. Add 'from __future__ import annotations' as well
-consider-alternative-union-syntax:24:5:func1:Consider using alternative Union syntax instead of 'Union'. Add 'from __future__ import annotations' as well
-consider-alternative-union-syntax:36:12:CustomNamedTuple:Consider using alternative Union syntax instead of 'Union'. Add 'from __future__ import annotations' as well
-consider-alternative-union-syntax:41:27:CustomTypedDict2:Consider using alternative Union syntax instead of 'Union'. Add 'from __future__ import annotations' as well
-consider-alternative-union-syntax:45:12:CustomDataClass:Consider using alternative Union syntax instead of 'Optional'. Add 'from __future__ import annotations' as well
+consider-alternative-union-syntax:11:6:11:11::Consider using alternative Union syntax instead of 'Union'. Add 'from __future__ import annotations' as well:UNDEFINED
+consider-alternative-union-syntax:12:11:12:16::Consider using alternative Union syntax instead of 'Union'. Add 'from __future__ import annotations' as well:UNDEFINED
+consider-alternative-union-syntax:13:16:13:28::Consider using alternative Union syntax instead of 'Union'. Add 'from __future__ import annotations' as well:UNDEFINED
+consider-alternative-union-syntax:14:6:14:14::Consider using alternative Union syntax instead of 'Optional'. Add 'from __future__ import annotations' as well:UNDEFINED
+consider-alternative-union-syntax:22:10:22:18:func1:Consider using alternative Union syntax instead of 'Optional'. Add 'from __future__ import annotations' as well:UNDEFINED
+consider-alternative-union-syntax:23:24:23:29:func1:Consider using alternative Union syntax instead of 'Union'. Add 'from __future__ import annotations' as well:UNDEFINED
+consider-alternative-union-syntax:24:5:24:10:func1:Consider using alternative Union syntax instead of 'Union'. Add 'from __future__ import annotations' as well:UNDEFINED
+consider-alternative-union-syntax:36:12:36:17:CustomNamedTuple:Consider using alternative Union syntax instead of 'Union'. Add 'from __future__ import annotations' as well:UNDEFINED
+consider-alternative-union-syntax:41:27:41:32:CustomTypedDict2:Consider using alternative Union syntax instead of 'Union'. Add 'from __future__ import annotations' as well:UNDEFINED
+consider-alternative-union-syntax:45:12:45:20:CustomDataClass:Consider using alternative Union syntax instead of 'Optional'. Add 'from __future__ import annotations' as well:UNDEFINED
diff --git a/tests/functional/ext/typing/deprecated_alias.txt b/tests/functional/ext/typing/deprecated_alias.txt
index 3da7cfefe..585f71c23 100644
--- a/tests/functional/ext/typing/deprecated_alias.txt
+++ b/tests/functional/ext/typing/deprecated_alias.txt
@@ -1,28 +1,28 @@
-deprecated-typing-alias:13:6::'typing.Dict' is deprecated, use 'dict' instead
-deprecated-typing-alias:14:6::'typing.List' is deprecated, use 'list' instead
-deprecated-typing-alias:16:6::'typing.OrderedDict' is deprecated, use 'collections.OrderedDict' instead
-deprecated-typing-alias:17:6::'typing.Awaitable' is deprecated, use 'collections.abc.Awaitable' instead
-deprecated-typing-alias:18:6::'typing.Iterable' is deprecated, use 'collections.abc.Iterable' instead
-deprecated-typing-alias:19:6::'typing.Hashable' is deprecated, use 'collections.abc.Hashable' instead
-deprecated-typing-alias:20:6::'typing.ContextManager' is deprecated, use 'contextlib.AbstractContextManager' instead
-deprecated-typing-alias:21:6::'typing.Pattern' is deprecated, use 're.Pattern' instead
-deprecated-typing-alias:22:7::'typing.Match' is deprecated, use 're.Match' instead
-deprecated-typing-alias:28:9::'typing.Set' is deprecated, use 'set' instead
-deprecated-typing-alias:29:9::'typing.Dict' is deprecated, use 'dict' instead
-deprecated-typing-alias:29:19::'typing.List' is deprecated, use 'list' instead
-deprecated-typing-alias:30:20::'typing.List' is deprecated, use 'list' instead
-deprecated-typing-alias:31:9::'typing.List' is deprecated, use 'list' instead
-deprecated-typing-alias:33:7::'typing.Type' is deprecated, use 'type' instead
-deprecated-typing-alias:34:7::'typing.Tuple' is deprecated, use 'tuple' instead
-deprecated-typing-alias:35:7::'typing.Callable' is deprecated, use 'collections.abc.Callable' instead
-deprecated-typing-alias:41:74:func1:'typing.Dict' is deprecated, use 'dict' instead
-deprecated-typing-alias:41:16:func1:'typing.List' is deprecated, use 'list' instead
-deprecated-typing-alias:41:37:func1:'typing.List' is deprecated, use 'list' instead
-deprecated-typing-alias:41:93:func1:'typing.Tuple' is deprecated, use 'tuple' instead
-deprecated-typing-alias:48:20:CustomIntList:'typing.List' is deprecated, use 'list' instead
-deprecated-typing-alias:52:28::'typing.List' is deprecated, use 'list' instead
-deprecated-typing-alias:54:14::'typing.List' is deprecated, use 'list' instead
-deprecated-typing-alias:57:12:CustomNamedTuple:'typing.List' is deprecated, use 'list' instead
-deprecated-typing-alias:59:56::'typing.List' is deprecated, use 'list' instead
-deprecated-typing-alias:62:12:CustomTypedDict2:'typing.List' is deprecated, use 'list' instead
-deprecated-typing-alias:66:12:CustomDataClass:'typing.List' is deprecated, use 'list' instead
+deprecated-typing-alias:13:6:13:17::'typing.Dict' is deprecated, use 'dict' instead:UNDEFINED
+deprecated-typing-alias:14:6:14:10::'typing.List' is deprecated, use 'list' instead:UNDEFINED
+deprecated-typing-alias:16:6:16:24::'typing.OrderedDict' is deprecated, use 'collections.OrderedDict' instead:UNDEFINED
+deprecated-typing-alias:17:6:17:22::'typing.Awaitable' is deprecated, use 'collections.abc.Awaitable' instead:UNDEFINED
+deprecated-typing-alias:18:6:18:21::'typing.Iterable' is deprecated, use 'collections.abc.Iterable' instead:UNDEFINED
+deprecated-typing-alias:19:6:19:21::'typing.Hashable' is deprecated, use 'collections.abc.Hashable' instead:UNDEFINED
+deprecated-typing-alias:20:6:20:27::'typing.ContextManager' is deprecated, use 'contextlib.AbstractContextManager' instead:UNDEFINED
+deprecated-typing-alias:21:6:21:20::'typing.Pattern' is deprecated, use 're.Pattern' instead:UNDEFINED
+deprecated-typing-alias:22:7:22:22::'typing.Match' is deprecated, use 're.Match' instead:UNDEFINED
+deprecated-typing-alias:28:9:28:12::'typing.Set' is deprecated, use 'set' instead:UNDEFINED
+deprecated-typing-alias:29:9:29:13::'typing.Dict' is deprecated, use 'dict' instead:UNDEFINED
+deprecated-typing-alias:29:19:29:23::'typing.List' is deprecated, use 'list' instead:UNDEFINED
+deprecated-typing-alias:30:20:30:31::'typing.List' is deprecated, use 'list' instead:UNDEFINED
+deprecated-typing-alias:31:9:31:13::'typing.List' is deprecated, use 'list' instead:UNDEFINED
+deprecated-typing-alias:33:7:33:11::'typing.Type' is deprecated, use 'type' instead:UNDEFINED
+deprecated-typing-alias:34:7:34:12::'typing.Tuple' is deprecated, use 'tuple' instead:UNDEFINED
+deprecated-typing-alias:35:7:35:15::'typing.Callable' is deprecated, use 'collections.abc.Callable' instead:UNDEFINED
+deprecated-typing-alias:41:74:41:78:func1:'typing.Dict' is deprecated, use 'dict' instead:UNDEFINED
+deprecated-typing-alias:41:16:41:20:func1:'typing.List' is deprecated, use 'list' instead:UNDEFINED
+deprecated-typing-alias:41:37:41:41:func1:'typing.List' is deprecated, use 'list' instead:UNDEFINED
+deprecated-typing-alias:41:93:41:105:func1:'typing.Tuple' is deprecated, use 'tuple' instead:UNDEFINED
+deprecated-typing-alias:48:20:48:31:CustomIntList:'typing.List' is deprecated, use 'list' instead:UNDEFINED
+deprecated-typing-alias:52:28:52:32::'typing.List' is deprecated, use 'list' instead:UNDEFINED
+deprecated-typing-alias:54:14:54:18::'typing.List' is deprecated, use 'list' instead:UNDEFINED
+deprecated-typing-alias:57:12:57:16:CustomNamedTuple:'typing.List' is deprecated, use 'list' instead:UNDEFINED
+deprecated-typing-alias:59:56:59:60::'typing.List' is deprecated, use 'list' instead:UNDEFINED
+deprecated-typing-alias:62:12:62:16:CustomTypedDict2:'typing.List' is deprecated, use 'list' instead:UNDEFINED
+deprecated-typing-alias:66:12:66:16:CustomDataClass:'typing.List' is deprecated, use 'list' instead:UNDEFINED
diff --git a/tests/functional/ext/while_used/while_used.txt b/tests/functional/ext/while_used/while_used.txt
index 80ca84d56..8dcee5e19 100644
--- a/tests/functional/ext/while_used/while_used.txt
+++ b/tests/functional/ext/while_used/while_used.txt
@@ -1,2 +1,2 @@
-while-used:3:0::Used `while` loop
-while-used:9:4:fff:Used `while` loop
+while-used:3:0:4:17::Used `while` loop:UNDEFINED
+while-used:9:4:10:14:fff:Used `while` loop:UNDEFINED
diff --git a/tests/functional/f/f_string_without_interpolation.txt b/tests/functional/f/f_string_without_interpolation.txt
index 38df260d1..56c22b5f8 100644
--- a/tests/functional/f/f_string_without_interpolation.txt
+++ b/tests/functional/f/f_string_without_interpolation.txt
@@ -1 +1 @@
-f-string-without-interpolation:9:6::Using an f-string that does not have any interpolated variables
+f-string-without-interpolation:9:6:9:14::Using an f-string that does not have any interpolated variables:UNDEFINED
diff --git a/tests/functional/f/fallback_import_enabled.txt b/tests/functional/f/fallback_import_enabled.txt
index b5ef59695..506887cb0 100644
--- a/tests/functional/f/fallback_import_enabled.txt
+++ b/tests/functional/f/fallback_import_enabled.txt
@@ -1,2 +1,2 @@
-no-name-in-module:3:4::No name 'missing' in module 'collections'
-no-name-in-module:5:4::No name 'missing' in module 'collections'
+no-name-in-module:3:4:3:30::No name 'missing' in module 'collections':UNDEFINED
+no-name-in-module:5:4:5:35::No name 'missing' in module 'collections':UNDEFINED
diff --git a/tests/functional/f/first_arg.txt b/tests/functional/f/first_arg.txt
index 8344fa8dd..8517a8ad8 100644
--- a/tests/functional/f/first_arg.txt
+++ b/tests/functional/f/first_arg.txt
@@ -1,9 +1,9 @@
-bad-classmethod-argument:10:4:Obj.__new__:Class method __new__ should have 'cls' as first argument
-no-classmethod-decorator:16:4:Obj:Consider using a decorator instead of calling classmethod
-bad-classmethod-argument:18:4:Obj.class2:Class method class2 should have 'cls' as first argument
-no-classmethod-decorator:20:4:Obj:Consider using a decorator instead of calling classmethod
-bad-mcs-classmethod-argument:25:4:Meta.__new__:Metaclass class method __new__ should have 'cls' as first argument
-bad-mcs-method-argument:32:4:Meta.method2:Metaclass method method2 should have 'cls' as first argument
-no-classmethod-decorator:38:4:Meta:Consider using a decorator instead of calling classmethod
-bad-mcs-classmethod-argument:40:4:Meta.class2:Metaclass class method class2 should have 'cls' as first argument
-no-classmethod-decorator:42:4:Meta:Consider using a decorator instead of calling classmethod
+bad-classmethod-argument:10:4:11:12:Obj.__new__:Class method __new__ should have 'cls' as first argument:UNDEFINED
+no-classmethod-decorator:16:4:16:10:Obj:Consider using a decorator instead of calling classmethod:UNDEFINED
+bad-classmethod-argument:18:4:19:12:Obj.class2:Class method class2 should have 'cls' as first argument:UNDEFINED
+no-classmethod-decorator:20:4:20:10:Obj:Consider using a decorator instead of calling classmethod:UNDEFINED
+bad-mcs-classmethod-argument:25:4:26:12:Meta.__new__:Metaclass class method __new__ should have 'cls' as first argument:UNDEFINED
+bad-mcs-method-argument:32:4:33:12:Meta.method2:Metaclass method method2 should have 'cls' as first argument:UNDEFINED
+no-classmethod-decorator:38:4:38:10:Meta:Consider using a decorator instead of calling classmethod:UNDEFINED
+bad-mcs-classmethod-argument:40:4:41:12:Meta.class2:Metaclass class method class2 should have 'cls' as first argument:UNDEFINED
+no-classmethod-decorator:42:4:42:10:Meta:Consider using a decorator instead of calling classmethod:UNDEFINED
diff --git a/tests/functional/f/fixme.txt b/tests/functional/f/fixme.txt
index 198e08a4b..53b668020 100644
--- a/tests/functional/f/fixme.txt
+++ b/tests/functional/f/fixme.txt
@@ -1,9 +1,9 @@
-fixme:5:1::"FIXME: beep"
-fixme:11:20::"FIXME: Valid test"
-fixme:14:5::"TODO: Do something with the variables"
-fixme:16:18::"XXX: Fix this later"
-fixme:18:5::"FIXME: no space after hash"
-fixme:20:5::"todo: no space after hash"
-fixme:23:2::"FIXME: this is broken"
-fixme:25:5::"./TODO: find with notes"
-fixme:27:5::"TO make something DO: find with regex"
+fixme:5:1:None:None::"FIXME: beep":UNDEFINED
+fixme:11:20:None:None::"FIXME: Valid test":UNDEFINED
+fixme:14:5:None:None::"TODO: Do something with the variables":UNDEFINED
+fixme:16:18:None:None::"XXX: Fix this later":UNDEFINED
+fixme:18:5:None:None::"FIXME: no space after hash":UNDEFINED
+fixme:20:5:None:None::"todo: no space after hash":UNDEFINED
+fixme:23:2:None:None::"FIXME: this is broken":UNDEFINED
+fixme:25:5:None:None::"./TODO: find with notes":UNDEFINED
+fixme:27:5:None:None::"TO make something DO: find with regex":UNDEFINED
diff --git a/tests/functional/f/fixme_bad_formatting_1139.txt b/tests/functional/f/fixme_bad_formatting_1139.txt
index 4da0264f2..75e5511ed 100644
--- a/tests/functional/f/fixme_bad_formatting_1139.txt
+++ b/tests/functional/f/fixme_bad_formatting_1139.txt
@@ -1 +1 @@
-fixme:6:1::TODO Lorem ipsum dolor sit amet consectetur adipiscing elit # [fixme]
+fixme:6:1:None:None::TODO Lorem ipsum dolor sit amet consectetur adipiscing elit # [fixme]:UNDEFINED
diff --git a/tests/functional/f/forgotten_debug_statement_py37.txt b/tests/functional/f/forgotten_debug_statement_py37.txt
index 40e8914a6..aa6aee449 100644
--- a/tests/functional/f/forgotten_debug_statement_py37.txt
+++ b/tests/functional/f/forgotten_debug_statement_py37.txt
@@ -1,4 +1,4 @@
-forgotten-debug-statement:6:0::"Leaving functions creating breakpoints in production code is not recommended"
-forgotten-debug-statement:7:0::"Leaving functions creating breakpoints in production code is not recommended"
-forgotten-debug-statement:8:0::"Leaving functions creating breakpoints in production code is not recommended"
-forgotten-debug-statement:10:0::"Leaving functions creating breakpoints in production code is not recommended"
+forgotten-debug-statement:6:0:6:12::Leaving functions creating breakpoints in production code is not recommended:UNDEFINED
+forgotten-debug-statement:7:0:7:20::Leaving functions creating breakpoints in production code is not recommended:UNDEFINED
+forgotten-debug-statement:8:0:8:15::Leaving functions creating breakpoints in production code is not recommended:UNDEFINED
+forgotten-debug-statement:10:0:10:3::Leaving functions creating breakpoints in production code is not recommended:UNDEFINED
diff --git a/tests/functional/f/func_disable_linebased.txt b/tests/functional/f/func_disable_linebased.txt
index 6c6455695..92a551d4b 100644
--- a/tests/functional/f/func_disable_linebased.txt
+++ b/tests/functional/f/func_disable_linebased.txt
@@ -1,2 +1,2 @@
-line-too-long:1:0::Line too long (146/100)
-line-too-long:15:0::Line too long (133/100)
+line-too-long:1:0:None:None::Line too long (146/100):UNDEFINED
+line-too-long:15:0:None:None::Line too long (133/100):UNDEFINED
diff --git a/tests/functional/f/function_redefined.txt b/tests/functional/f/function_redefined.txt
index dcf04c3b9..2a538f66a 100644
--- a/tests/functional/f/function_redefined.txt
+++ b/tests/functional/f/function_redefined.txt
@@ -1,7 +1,7 @@
-function-redefined:18:4:AAAA.method2:method already defined line 15:HIGH
-function-redefined:21:0:AAAA:class already defined line 8:HIGH
-function-redefined:35:0:func2:function already defined line 32:HIGH
-redefined-outer-name:37:4:func2:Redefining name '__revision__' from outer scope (line 7):HIGH
-function-redefined:54:4:exclusive_func2:function already defined line 48:HIGH
-function-redefined:89:0:ceil:function already defined line 88:HIGH
-function-redefined:93:0:math:function already defined line 92:HIGH
+function-redefined:18:4:19:23:AAAA.method2:method already defined line 15:UNDEFINED
+function-redefined:21:0:28:17:AAAA:class already defined line 8:UNDEFINED
+function-redefined:35:0:38:23:func2:function already defined line 32:UNDEFINED
+redefined-outer-name:37:4:37:16:func2:Redefining name '__revision__' from outer scope (line 7):UNDEFINED
+function-redefined:54:4:55:51:exclusive_func2:function already defined line 48:UNDEFINED
+function-redefined:89:0:90:8:ceil:function already defined line 88:UNDEFINED
+function-redefined:93:0:94:8:math:function already defined line 92:UNDEFINED
diff --git a/tests/functional/f/future_unicode_literals.txt b/tests/functional/f/future_unicode_literals.txt
index 3956b69f9..86b18ae62 100644
--- a/tests/functional/f/future_unicode_literals.txt
+++ b/tests/functional/f/future_unicode_literals.txt
@@ -1 +1 @@
-anomalous-unicode-escape-in-string:5:15::"Anomalous Unicode escape in byte string: '\u'. String constant might be missing an r or u prefix."
+anomalous-unicode-escape-in-string:5:15:None:None::"Anomalous Unicode escape in byte string: '\u'. String constant might be missing an r or u prefix.":UNDEFINED
diff --git a/tests/functional/g/generated_members.txt b/tests/functional/g/generated_members.txt
index 28e793c32..0e1f71f56 100644
--- a/tests/functional/g/generated_members.txt
+++ b/tests/functional/g/generated_members.txt
@@ -1 +1 @@
-no-member:13:6::Instance of 'Klass' has no 'spam' member:INFERENCE
+no-member:13:6:13:18::Instance of 'Klass' has no 'spam' member:INFERENCE
diff --git a/tests/functional/g/generic_alias/generic_alias_collections.txt b/tests/functional/g/generic_alias/generic_alias_collections.txt
index d9ce1f443..6d3914a78 100644
--- a/tests/functional/g/generic_alias/generic_alias_collections.txt
+++ b/tests/functional/g/generic_alias/generic_alias_collections.txt
@@ -1,16 +1,16 @@
-unsubscriptable-object:66:0::Value 'collections.abc.Hashable' is unsubscriptable
-unsubscriptable-object:67:0::Value 'collections.abc.Sized' is unsubscriptable
-abstract-method:74:0:DerivedHashable:Method '__hash__' is abstract in class 'Hashable' but is not overridden
-abstract-method:77:0:DerivedIterable:Method '__iter__' is abstract in class 'Iterable' but is not overridden
-abstract-method:80:0:DerivedCollection:Method '__contains__' is abstract in class 'Container' but is not overridden
-abstract-method:80:0:DerivedCollection:Method '__iter__' is abstract in class 'Iterable' but is not overridden
-abstract-method:80:0:DerivedCollection:Method '__len__' is abstract in class 'Sized' but is not overridden
-abstract-method:99:0:DerivedMultiple:Method '__hash__' is abstract in class 'Hashable' but is not overridden
-abstract-method:99:0:DerivedMultiple:Method '__len__' is abstract in class 'Sized' but is not overridden
-abstract-method:104:0:CustomAbstractCls2:Method '__iter__' is abstract in class 'Iterable' but is not overridden
-abstract-method:104:0:CustomAbstractCls2:Method '__len__' is abstract in class 'Sized' but is not overridden
-abstract-method:106:0:CustomImplementation:Method '__iter__' is abstract in class 'Iterable' but is not overridden
-abstract-method:106:0:CustomImplementation:Method '__len__' is abstract in class 'Sized' but is not overridden
-unsubscriptable-object:125:9::Value 'int' is unsubscriptable
-unsubscriptable-object:126:15::Value 'collections.abc.Hashable' is unsubscriptable
-unsubscriptable-object:127:12::Value 'collections.abc.Sized' is unsubscriptable
+unsubscriptable-object:66:0:66:24::Value 'collections.abc.Hashable' is unsubscriptable:UNDEFINED
+unsubscriptable-object:67:0:67:21::Value 'collections.abc.Sized' is unsubscriptable:UNDEFINED
+abstract-method:74:0:75:8:DerivedHashable:Method '__hash__' is abstract in class 'Hashable' but is not overridden:UNDEFINED
+abstract-method:77:0:78:8:DerivedIterable:Method '__iter__' is abstract in class 'Iterable' but is not overridden:UNDEFINED
+abstract-method:80:0:81:8:DerivedCollection:Method '__contains__' is abstract in class 'Container' but is not overridden:UNDEFINED
+abstract-method:80:0:81:8:DerivedCollection:Method '__iter__' is abstract in class 'Iterable' but is not overridden:UNDEFINED
+abstract-method:80:0:81:8:DerivedCollection:Method '__len__' is abstract in class 'Sized' but is not overridden:UNDEFINED
+abstract-method:99:0:100:8:DerivedMultiple:Method '__hash__' is abstract in class 'Hashable' but is not overridden:UNDEFINED
+abstract-method:99:0:100:8:DerivedMultiple:Method '__len__' is abstract in class 'Sized' but is not overridden:UNDEFINED
+abstract-method:104:0:105:8:CustomAbstractCls2:Method '__iter__' is abstract in class 'Iterable' but is not overridden:UNDEFINED
+abstract-method:104:0:105:8:CustomAbstractCls2:Method '__len__' is abstract in class 'Sized' but is not overridden:UNDEFINED
+abstract-method:106:0:107:8:CustomImplementation:Method '__iter__' is abstract in class 'Iterable' but is not overridden:UNDEFINED
+abstract-method:106:0:107:8:CustomImplementation:Method '__len__' is abstract in class 'Sized' but is not overridden:UNDEFINED
+unsubscriptable-object:125:9:125:12::Value 'int' is unsubscriptable:UNDEFINED
+unsubscriptable-object:126:15:126:39::Value 'collections.abc.Hashable' is unsubscriptable:UNDEFINED
+unsubscriptable-object:127:12:127:33::Value 'collections.abc.Sized' is unsubscriptable:UNDEFINED
diff --git a/tests/functional/g/generic_alias/generic_alias_collections_py37.txt b/tests/functional/g/generic_alias/generic_alias_collections_py37.txt
index 6108073e6..cd4b30b6f 100644
--- a/tests/functional/g/generic_alias/generic_alias_collections_py37.txt
+++ b/tests/functional/g/generic_alias/generic_alias_collections_py37.txt
@@ -1,67 +1,67 @@
-unsubscriptable-object:15:0::Value 'tuple' is unsubscriptable
-unsubscriptable-object:16:0::Value 'type' is unsubscriptable
-unsubscriptable-object:17:0::Value 'collections.abc.Callable' is unsubscriptable
-unsubscriptable-object:20:0::Value 'dict' is unsubscriptable
-unsubscriptable-object:21:0::Value 'list' is unsubscriptable
-unsubscriptable-object:22:0::Value 'set' is unsubscriptable
-unsubscriptable-object:23:0::Value 'frozenset' is unsubscriptable
-unsubscriptable-object:26:0::Value 'collections.defaultdict' is unsubscriptable
-unsubscriptable-object:27:0::Value 'collections.OrderedDict' is unsubscriptable
-unsubscriptable-object:28:0::Value 'collections.ChainMap' is unsubscriptable
-unsubscriptable-object:29:0::Value 'collections.Counter' is unsubscriptable
-unsubscriptable-object:30:0::Value 'collections.deque' is unsubscriptable
-unsubscriptable-object:33:0::Value 'collections.abc.Set' is unsubscriptable
-unsubscriptable-object:34:0::Value 'collections.abc.Collection' is unsubscriptable
-unsubscriptable-object:35:0::Value 'collections.abc.Container' is unsubscriptable
-unsubscriptable-object:36:0::Value 'collections.abc.ItemsView' is unsubscriptable
-unsubscriptable-object:37:0::Value 'collections.abc.KeysView' is unsubscriptable
-unsubscriptable-object:38:0::Value 'collections.abc.Mapping' is unsubscriptable
-unsubscriptable-object:39:0::Value 'collections.abc.MappingView' is unsubscriptable
-unsubscriptable-object:40:0::Value 'collections.abc.MutableMapping' is unsubscriptable
-unsubscriptable-object:41:0::Value 'collections.abc.MutableSequence' is unsubscriptable
-unsubscriptable-object:42:0::Value 'collections.abc.MutableSet' is unsubscriptable
-unsubscriptable-object:43:0::Value 'collections.abc.Sequence' is unsubscriptable
-unsubscriptable-object:44:0::Value 'collections.abc.ValuesView' is unsubscriptable
-unsubscriptable-object:46:0::Value 'collections.abc.Iterable' is unsubscriptable
-unsubscriptable-object:47:0::Value 'collections.abc.Iterator' is unsubscriptable
-unsubscriptable-object:48:0::Value 'collections.abc.Generator' is unsubscriptable
-unsubscriptable-object:49:0::Value 'collections.abc.Reversible' is unsubscriptable
-unsubscriptable-object:51:0::Value 'collections.abc.Coroutine' is unsubscriptable
-unsubscriptable-object:51:26::Value 'list' is unsubscriptable
-unsubscriptable-object:52:0::Value 'collections.abc.AsyncGenerator' is unsubscriptable
-unsubscriptable-object:53:0::Value 'collections.abc.AsyncIterable' is unsubscriptable
-unsubscriptable-object:54:0::Value 'collections.abc.AsyncIterator' is unsubscriptable
-unsubscriptable-object:55:0::Value 'collections.abc.Awaitable' is unsubscriptable
-unsubscriptable-object:58:0::Value 'contextlib.AbstractContextManager' is unsubscriptable
-unsubscriptable-object:59:0::Value 'contextlib.AbstractAsyncContextManager' is unsubscriptable
-unsubscriptable-object:62:0::Value 're.Pattern' is unsubscriptable
-unsubscriptable-object:63:0::Value 're.Match' is unsubscriptable
-unsubscriptable-object:69:0::Value 'collections.abc.Hashable' is unsubscriptable
-unsubscriptable-object:70:0::Value 'collections.abc.Sized' is unsubscriptable
-unsubscriptable-object:73:0::Value 'collections.abc.ByteString' is unsubscriptable
-abstract-method:77:0:DerivedHashable:Method '__hash__' is abstract in class 'Hashable' but is not overridden
-unsubscriptable-object:80:22:DerivedIterable:Value 'collections.abc.Iterable' is unsubscriptable
-unsubscriptable-object:83:24:DerivedCollection:Value 'collections.abc.Collection' is unsubscriptable
-unsubscriptable-object:88:18:DerivedList:Value 'list' is unsubscriptable
-unsubscriptable-object:91:17:DerivedSet:Value 'set' is unsubscriptable
-unsubscriptable-object:94:25:DerivedOrderedDict:Value 'collections.OrderedDict' is unsubscriptable
-unsubscriptable-object:97:31:DerivedListIterable:Value 'collections.abc.Iterable' is unsubscriptable
-unsubscriptable-object:97:26:DerivedListIterable:Value 'list' is unsubscriptable
-abstract-method:102:0:DerivedMultiple:Method '__hash__' is abstract in class 'Hashable' but is not overridden
-abstract-method:102:0:DerivedMultiple:Method '__len__' is abstract in class 'Sized' but is not overridden
-abstract-method:107:0:CustomAbstractCls2:Method '__len__' is abstract in class 'Sized' but is not overridden
-unsubscriptable-object:107:48:CustomAbstractCls2:Value 'collections.abc.Iterable' is unsubscriptable
-abstract-method:109:0:CustomImplementation:Method '__len__' is abstract in class 'Sized' but is not overridden
-unsubscriptable-object:114:11::Value 'tuple' is unsubscriptable
-unsubscriptable-object:115:10::Value 'dict' is unsubscriptable
-unsubscriptable-object:116:17::Value 'collections.OrderedDict' is unsubscriptable
-unsubscriptable-object:117:15::Value 'collections.abc.Container' is unsubscriptable
-unsubscriptable-object:118:14::Value 'collections.abc.Sequence' is unsubscriptable
-unsubscriptable-object:119:14::Value 'collections.abc.Iterable' is unsubscriptable
-unsubscriptable-object:120:15::Value 'collections.abc.Awaitable' is unsubscriptable
-unsubscriptable-object:121:20::Value 'contextlib.AbstractContextManager' is unsubscriptable
-unsubscriptable-object:122:13::Value 're.Pattern' is unsubscriptable
-unsubscriptable-object:128:9::Value 'int' is unsubscriptable
-unsubscriptable-object:129:15::Value 'collections.abc.Hashable' is unsubscriptable
-unsubscriptable-object:130:12::Value 'collections.abc.Sized' is unsubscriptable
-unsubscriptable-object:133:17::Value 'collections.abc.ByteString' is unsubscriptable
+unsubscriptable-object:15:0:15:5::Value 'tuple' is unsubscriptable:UNDEFINED
+unsubscriptable-object:16:0:16:4::Value 'type' is unsubscriptable:UNDEFINED
+unsubscriptable-object:17:0:17:24::Value 'collections.abc.Callable' is unsubscriptable:UNDEFINED
+unsubscriptable-object:20:0:20:4::Value 'dict' is unsubscriptable:UNDEFINED
+unsubscriptable-object:21:0:21:4::Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:22:0:22:3::Value 'set' is unsubscriptable:UNDEFINED
+unsubscriptable-object:23:0:23:9::Value 'frozenset' is unsubscriptable:UNDEFINED
+unsubscriptable-object:26:0:26:23::Value 'collections.defaultdict' is unsubscriptable:UNDEFINED
+unsubscriptable-object:27:0:27:23::Value 'collections.OrderedDict' is unsubscriptable:UNDEFINED
+unsubscriptable-object:28:0:28:20::Value 'collections.ChainMap' is unsubscriptable:UNDEFINED
+unsubscriptable-object:29:0:29:19::Value 'collections.Counter' is unsubscriptable:UNDEFINED
+unsubscriptable-object:30:0:30:17::Value 'collections.deque' is unsubscriptable:UNDEFINED
+unsubscriptable-object:33:0:33:19::Value 'collections.abc.Set' is unsubscriptable:UNDEFINED
+unsubscriptable-object:34:0:34:26::Value 'collections.abc.Collection' is unsubscriptable:UNDEFINED
+unsubscriptable-object:35:0:35:25::Value 'collections.abc.Container' is unsubscriptable:UNDEFINED
+unsubscriptable-object:36:0:36:25::Value 'collections.abc.ItemsView' is unsubscriptable:UNDEFINED
+unsubscriptable-object:37:0:37:24::Value 'collections.abc.KeysView' is unsubscriptable:UNDEFINED
+unsubscriptable-object:38:0:38:23::Value 'collections.abc.Mapping' is unsubscriptable:UNDEFINED
+unsubscriptable-object:39:0:39:27::Value 'collections.abc.MappingView' is unsubscriptable:UNDEFINED
+unsubscriptable-object:40:0:40:30::Value 'collections.abc.MutableMapping' is unsubscriptable:UNDEFINED
+unsubscriptable-object:41:0:41:31::Value 'collections.abc.MutableSequence' is unsubscriptable:UNDEFINED
+unsubscriptable-object:42:0:42:26::Value 'collections.abc.MutableSet' is unsubscriptable:UNDEFINED
+unsubscriptable-object:43:0:43:24::Value 'collections.abc.Sequence' is unsubscriptable:UNDEFINED
+unsubscriptable-object:44:0:44:26::Value 'collections.abc.ValuesView' is unsubscriptable:UNDEFINED
+unsubscriptable-object:46:0:46:24::Value 'collections.abc.Iterable' is unsubscriptable:UNDEFINED
+unsubscriptable-object:47:0:47:24::Value 'collections.abc.Iterator' is unsubscriptable:UNDEFINED
+unsubscriptable-object:48:0:48:25::Value 'collections.abc.Generator' is unsubscriptable:UNDEFINED
+unsubscriptable-object:49:0:49:26::Value 'collections.abc.Reversible' is unsubscriptable:UNDEFINED
+unsubscriptable-object:51:0:51:25::Value 'collections.abc.Coroutine' is unsubscriptable:UNDEFINED
+unsubscriptable-object:51:26:51:30::Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:52:0:52:30::Value 'collections.abc.AsyncGenerator' is unsubscriptable:UNDEFINED
+unsubscriptable-object:53:0:53:29::Value 'collections.abc.AsyncIterable' is unsubscriptable:UNDEFINED
+unsubscriptable-object:54:0:54:29::Value 'collections.abc.AsyncIterator' is unsubscriptable:UNDEFINED
+unsubscriptable-object:55:0:55:25::Value 'collections.abc.Awaitable' is unsubscriptable:UNDEFINED
+unsubscriptable-object:58:0:58:33::Value 'contextlib.AbstractContextManager' is unsubscriptable:UNDEFINED
+unsubscriptable-object:59:0:59:38::Value 'contextlib.AbstractAsyncContextManager' is unsubscriptable:UNDEFINED
+unsubscriptable-object:62:0:62:10::Value 're.Pattern' is unsubscriptable:UNDEFINED
+unsubscriptable-object:63:0:63:8::Value 're.Match' is unsubscriptable:UNDEFINED
+unsubscriptable-object:69:0:69:24::Value 'collections.abc.Hashable' is unsubscriptable:UNDEFINED
+unsubscriptable-object:70:0:70:21::Value 'collections.abc.Sized' is unsubscriptable:UNDEFINED
+unsubscriptable-object:73:0:73:26::Value 'collections.abc.ByteString' is unsubscriptable:UNDEFINED
+abstract-method:77:0:78:8:DerivedHashable:Method '__hash__' is abstract in class 'Hashable' but is not overridden:UNDEFINED
+unsubscriptable-object:80:22:80:46:DerivedIterable:Value 'collections.abc.Iterable' is unsubscriptable:UNDEFINED
+unsubscriptable-object:83:24:83:50:DerivedCollection:Value 'collections.abc.Collection' is unsubscriptable:UNDEFINED
+unsubscriptable-object:88:18:88:22:DerivedList:Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:91:17:91:20:DerivedSet:Value 'set' is unsubscriptable:UNDEFINED
+unsubscriptable-object:94:25:94:48:DerivedOrderedDict:Value 'collections.OrderedDict' is unsubscriptable:UNDEFINED
+unsubscriptable-object:97:31:97:55:DerivedListIterable:Value 'collections.abc.Iterable' is unsubscriptable:UNDEFINED
+unsubscriptable-object:97:26:97:30:DerivedListIterable:Value 'list' is unsubscriptable:UNDEFINED
+abstract-method:102:0:103:8:DerivedMultiple:Method '__hash__' is abstract in class 'Hashable' but is not overridden:UNDEFINED
+abstract-method:102:0:103:8:DerivedMultiple:Method '__len__' is abstract in class 'Sized' but is not overridden:UNDEFINED
+abstract-method:107:0:108:8:CustomAbstractCls2:Method '__len__' is abstract in class 'Sized' but is not overridden:UNDEFINED
+unsubscriptable-object:107:48:107:72:CustomAbstractCls2:Value 'collections.abc.Iterable' is unsubscriptable:UNDEFINED
+abstract-method:109:0:110:8:CustomImplementation:Method '__len__' is abstract in class 'Sized' but is not overridden:UNDEFINED
+unsubscriptable-object:114:11:114:16::Value 'tuple' is unsubscriptable:UNDEFINED
+unsubscriptable-object:115:10:115:14::Value 'dict' is unsubscriptable:UNDEFINED
+unsubscriptable-object:116:17:116:40::Value 'collections.OrderedDict' is unsubscriptable:UNDEFINED
+unsubscriptable-object:117:15:117:40::Value 'collections.abc.Container' is unsubscriptable:UNDEFINED
+unsubscriptable-object:118:14:118:38::Value 'collections.abc.Sequence' is unsubscriptable:UNDEFINED
+unsubscriptable-object:119:14:119:38::Value 'collections.abc.Iterable' is unsubscriptable:UNDEFINED
+unsubscriptable-object:120:15:120:40::Value 'collections.abc.Awaitable' is unsubscriptable:UNDEFINED
+unsubscriptable-object:121:20:121:53::Value 'contextlib.AbstractContextManager' is unsubscriptable:UNDEFINED
+unsubscriptable-object:122:13:122:23::Value 're.Pattern' is unsubscriptable:UNDEFINED
+unsubscriptable-object:128:9:128:12::Value 'int' is unsubscriptable:UNDEFINED
+unsubscriptable-object:129:15:129:39::Value 'collections.abc.Hashable' is unsubscriptable:UNDEFINED
+unsubscriptable-object:130:12:130:33::Value 'collections.abc.Sized' is unsubscriptable:UNDEFINED
+unsubscriptable-object:133:17:133:43::Value 'collections.abc.ByteString' is unsubscriptable:UNDEFINED
diff --git a/tests/functional/g/generic_alias/generic_alias_collections_py37_with_typing.txt b/tests/functional/g/generic_alias/generic_alias_collections_py37_with_typing.txt
index ad7bc4a1b..2d52319ad 100644
--- a/tests/functional/g/generic_alias/generic_alias_collections_py37_with_typing.txt
+++ b/tests/functional/g/generic_alias/generic_alias_collections_py37_with_typing.txt
@@ -1,67 +1,67 @@
-unsubscriptable-object:17:0::Value 'tuple' is unsubscriptable
-unsubscriptable-object:18:0::Value 'type' is unsubscriptable
-unsubscriptable-object:19:0::Value 'collections.abc.Callable' is unsubscriptable
-unsubscriptable-object:22:0::Value 'dict' is unsubscriptable
-unsubscriptable-object:23:0::Value 'list' is unsubscriptable
-unsubscriptable-object:24:0::Value 'set' is unsubscriptable
-unsubscriptable-object:25:0::Value 'frozenset' is unsubscriptable
-unsubscriptable-object:28:0::Value 'collections.defaultdict' is unsubscriptable
-unsubscriptable-object:29:0::Value 'collections.OrderedDict' is unsubscriptable
-unsubscriptable-object:30:0::Value 'collections.ChainMap' is unsubscriptable
-unsubscriptable-object:31:0::Value 'collections.Counter' is unsubscriptable
-unsubscriptable-object:32:0::Value 'collections.deque' is unsubscriptable
-unsubscriptable-object:35:0::Value 'collections.abc.Set' is unsubscriptable
-unsubscriptable-object:36:0::Value 'collections.abc.Collection' is unsubscriptable
-unsubscriptable-object:37:0::Value 'collections.abc.Container' is unsubscriptable
-unsubscriptable-object:38:0::Value 'collections.abc.ItemsView' is unsubscriptable
-unsubscriptable-object:39:0::Value 'collections.abc.KeysView' is unsubscriptable
-unsubscriptable-object:40:0::Value 'collections.abc.Mapping' is unsubscriptable
-unsubscriptable-object:41:0::Value 'collections.abc.MappingView' is unsubscriptable
-unsubscriptable-object:42:0::Value 'collections.abc.MutableMapping' is unsubscriptable
-unsubscriptable-object:43:0::Value 'collections.abc.MutableSequence' is unsubscriptable
-unsubscriptable-object:44:0::Value 'collections.abc.MutableSet' is unsubscriptable
-unsubscriptable-object:45:0::Value 'collections.abc.Sequence' is unsubscriptable
-unsubscriptable-object:46:0::Value 'collections.abc.ValuesView' is unsubscriptable
-unsubscriptable-object:48:0::Value 'collections.abc.Iterable' is unsubscriptable
-unsubscriptable-object:49:0::Value 'collections.abc.Iterator' is unsubscriptable
-unsubscriptable-object:50:0::Value 'collections.abc.Generator' is unsubscriptable
-unsubscriptable-object:51:0::Value 'collections.abc.Reversible' is unsubscriptable
-unsubscriptable-object:53:0::Value 'collections.abc.Coroutine' is unsubscriptable
-unsubscriptable-object:53:26::Value 'list' is unsubscriptable
-unsubscriptable-object:54:0::Value 'collections.abc.AsyncGenerator' is unsubscriptable
-unsubscriptable-object:55:0::Value 'collections.abc.AsyncIterable' is unsubscriptable
-unsubscriptable-object:56:0::Value 'collections.abc.AsyncIterator' is unsubscriptable
-unsubscriptable-object:57:0::Value 'collections.abc.Awaitable' is unsubscriptable
-unsubscriptable-object:60:0::Value 'contextlib.AbstractContextManager' is unsubscriptable
-unsubscriptable-object:61:0::Value 'contextlib.AbstractAsyncContextManager' is unsubscriptable
-unsubscriptable-object:64:0::Value 're.Pattern' is unsubscriptable
-unsubscriptable-object:65:0::Value 're.Match' is unsubscriptable
-unsubscriptable-object:71:0::Value 'collections.abc.Hashable' is unsubscriptable
-unsubscriptable-object:72:0::Value 'collections.abc.Sized' is unsubscriptable
-unsubscriptable-object:75:0::Value 'collections.abc.ByteString' is unsubscriptable
-abstract-method:79:0:DerivedHashable:Method '__hash__' is abstract in class 'Hashable' but is not overridden
-unsubscriptable-object:82:22:DerivedIterable:Value 'collections.abc.Iterable' is unsubscriptable
-unsubscriptable-object:85:24:DerivedCollection:Value 'collections.abc.Collection' is unsubscriptable
-unsubscriptable-object:90:18:DerivedList:Value 'list' is unsubscriptable
-unsubscriptable-object:93:17:DerivedSet:Value 'set' is unsubscriptable
-unsubscriptable-object:96:25:DerivedOrderedDict:Value 'collections.OrderedDict' is unsubscriptable
-unsubscriptable-object:99:31:DerivedListIterable:Value 'collections.abc.Iterable' is unsubscriptable
-unsubscriptable-object:99:26:DerivedListIterable:Value 'list' is unsubscriptable
-abstract-method:104:0:DerivedMultiple:Method '__hash__' is abstract in class 'Hashable' but is not overridden
-abstract-method:104:0:DerivedMultiple:Method '__len__' is abstract in class 'Sized' but is not overridden
-abstract-method:109:0:CustomAbstractCls2:Method '__len__' is abstract in class 'Sized' but is not overridden
-unsubscriptable-object:109:48:CustomAbstractCls2:Value 'collections.abc.Iterable' is unsubscriptable
-abstract-method:111:0:CustomImplementation:Method '__len__' is abstract in class 'Sized' but is not overridden
-unsubscriptable-object:116:11::Value 'tuple' is unsubscriptable
-unsubscriptable-object:117:10::Value 'dict' is unsubscriptable
-unsubscriptable-object:118:17::Value 'collections.OrderedDict' is unsubscriptable
-unsubscriptable-object:119:15::Value 'collections.abc.Container' is unsubscriptable
-unsubscriptable-object:120:14::Value 'collections.abc.Sequence' is unsubscriptable
-unsubscriptable-object:121:14::Value 'collections.abc.Iterable' is unsubscriptable
-unsubscriptable-object:122:15::Value 'collections.abc.Awaitable' is unsubscriptable
-unsubscriptable-object:123:20::Value 'contextlib.AbstractContextManager' is unsubscriptable
-unsubscriptable-object:124:13::Value 're.Pattern' is unsubscriptable
-unsubscriptable-object:130:9::Value 'int' is unsubscriptable
-unsubscriptable-object:131:15::Value 'collections.abc.Hashable' is unsubscriptable
-unsubscriptable-object:132:12::Value 'collections.abc.Sized' is unsubscriptable
-unsubscriptable-object:135:17::Value 'collections.abc.ByteString' is unsubscriptable
+unsubscriptable-object:17:0:17:5::Value 'tuple' is unsubscriptable:UNDEFINED
+unsubscriptable-object:18:0:18:4::Value 'type' is unsubscriptable:UNDEFINED
+unsubscriptable-object:19:0:19:24::Value 'collections.abc.Callable' is unsubscriptable:UNDEFINED
+unsubscriptable-object:22:0:22:4::Value 'dict' is unsubscriptable:UNDEFINED
+unsubscriptable-object:23:0:23:4::Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:24:0:24:3::Value 'set' is unsubscriptable:UNDEFINED
+unsubscriptable-object:25:0:25:9::Value 'frozenset' is unsubscriptable:UNDEFINED
+unsubscriptable-object:28:0:28:23::Value 'collections.defaultdict' is unsubscriptable:UNDEFINED
+unsubscriptable-object:29:0:29:23::Value 'collections.OrderedDict' is unsubscriptable:UNDEFINED
+unsubscriptable-object:30:0:30:20::Value 'collections.ChainMap' is unsubscriptable:UNDEFINED
+unsubscriptable-object:31:0:31:19::Value 'collections.Counter' is unsubscriptable:UNDEFINED
+unsubscriptable-object:32:0:32:17::Value 'collections.deque' is unsubscriptable:UNDEFINED
+unsubscriptable-object:35:0:35:19::Value 'collections.abc.Set' is unsubscriptable:UNDEFINED
+unsubscriptable-object:36:0:36:26::Value 'collections.abc.Collection' is unsubscriptable:UNDEFINED
+unsubscriptable-object:37:0:37:25::Value 'collections.abc.Container' is unsubscriptable:UNDEFINED
+unsubscriptable-object:38:0:38:25::Value 'collections.abc.ItemsView' is unsubscriptable:UNDEFINED
+unsubscriptable-object:39:0:39:24::Value 'collections.abc.KeysView' is unsubscriptable:UNDEFINED
+unsubscriptable-object:40:0:40:23::Value 'collections.abc.Mapping' is unsubscriptable:UNDEFINED
+unsubscriptable-object:41:0:41:27::Value 'collections.abc.MappingView' is unsubscriptable:UNDEFINED
+unsubscriptable-object:42:0:42:30::Value 'collections.abc.MutableMapping' is unsubscriptable:UNDEFINED
+unsubscriptable-object:43:0:43:31::Value 'collections.abc.MutableSequence' is unsubscriptable:UNDEFINED
+unsubscriptable-object:44:0:44:26::Value 'collections.abc.MutableSet' is unsubscriptable:UNDEFINED
+unsubscriptable-object:45:0:45:24::Value 'collections.abc.Sequence' is unsubscriptable:UNDEFINED
+unsubscriptable-object:46:0:46:26::Value 'collections.abc.ValuesView' is unsubscriptable:UNDEFINED
+unsubscriptable-object:48:0:48:24::Value 'collections.abc.Iterable' is unsubscriptable:UNDEFINED
+unsubscriptable-object:49:0:49:24::Value 'collections.abc.Iterator' is unsubscriptable:UNDEFINED
+unsubscriptable-object:50:0:50:25::Value 'collections.abc.Generator' is unsubscriptable:UNDEFINED
+unsubscriptable-object:51:0:51:26::Value 'collections.abc.Reversible' is unsubscriptable:UNDEFINED
+unsubscriptable-object:53:0:53:25::Value 'collections.abc.Coroutine' is unsubscriptable:UNDEFINED
+unsubscriptable-object:53:26:53:30::Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:54:0:54:30::Value 'collections.abc.AsyncGenerator' is unsubscriptable:UNDEFINED
+unsubscriptable-object:55:0:55:29::Value 'collections.abc.AsyncIterable' is unsubscriptable:UNDEFINED
+unsubscriptable-object:56:0:56:29::Value 'collections.abc.AsyncIterator' is unsubscriptable:UNDEFINED
+unsubscriptable-object:57:0:57:25::Value 'collections.abc.Awaitable' is unsubscriptable:UNDEFINED
+unsubscriptable-object:60:0:60:33::Value 'contextlib.AbstractContextManager' is unsubscriptable:UNDEFINED
+unsubscriptable-object:61:0:61:38::Value 'contextlib.AbstractAsyncContextManager' is unsubscriptable:UNDEFINED
+unsubscriptable-object:64:0:64:10::Value 're.Pattern' is unsubscriptable:UNDEFINED
+unsubscriptable-object:65:0:65:8::Value 're.Match' is unsubscriptable:UNDEFINED
+unsubscriptable-object:71:0:71:24::Value 'collections.abc.Hashable' is unsubscriptable:UNDEFINED
+unsubscriptable-object:72:0:72:21::Value 'collections.abc.Sized' is unsubscriptable:UNDEFINED
+unsubscriptable-object:75:0:75:26::Value 'collections.abc.ByteString' is unsubscriptable:UNDEFINED
+abstract-method:79:0:80:8:DerivedHashable:Method '__hash__' is abstract in class 'Hashable' but is not overridden:UNDEFINED
+unsubscriptable-object:82:22:82:46:DerivedIterable:Value 'collections.abc.Iterable' is unsubscriptable:UNDEFINED
+unsubscriptable-object:85:24:85:50:DerivedCollection:Value 'collections.abc.Collection' is unsubscriptable:UNDEFINED
+unsubscriptable-object:90:18:90:22:DerivedList:Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:93:17:93:20:DerivedSet:Value 'set' is unsubscriptable:UNDEFINED
+unsubscriptable-object:96:25:96:48:DerivedOrderedDict:Value 'collections.OrderedDict' is unsubscriptable:UNDEFINED
+unsubscriptable-object:99:31:99:55:DerivedListIterable:Value 'collections.abc.Iterable' is unsubscriptable:UNDEFINED
+unsubscriptable-object:99:26:99:30:DerivedListIterable:Value 'list' is unsubscriptable:UNDEFINED
+abstract-method:104:0:105:8:DerivedMultiple:Method '__hash__' is abstract in class 'Hashable' but is not overridden:UNDEFINED
+abstract-method:104:0:105:8:DerivedMultiple:Method '__len__' is abstract in class 'Sized' but is not overridden:UNDEFINED
+abstract-method:109:0:110:8:CustomAbstractCls2:Method '__len__' is abstract in class 'Sized' but is not overridden:UNDEFINED
+unsubscriptable-object:109:48:109:72:CustomAbstractCls2:Value 'collections.abc.Iterable' is unsubscriptable:UNDEFINED
+abstract-method:111:0:112:8:CustomImplementation:Method '__len__' is abstract in class 'Sized' but is not overridden:UNDEFINED
+unsubscriptable-object:116:11:116:16::Value 'tuple' is unsubscriptable:UNDEFINED
+unsubscriptable-object:117:10:117:14::Value 'dict' is unsubscriptable:UNDEFINED
+unsubscriptable-object:118:17:118:40::Value 'collections.OrderedDict' is unsubscriptable:UNDEFINED
+unsubscriptable-object:119:15:119:40::Value 'collections.abc.Container' is unsubscriptable:UNDEFINED
+unsubscriptable-object:120:14:120:38::Value 'collections.abc.Sequence' is unsubscriptable:UNDEFINED
+unsubscriptable-object:121:14:121:38::Value 'collections.abc.Iterable' is unsubscriptable:UNDEFINED
+unsubscriptable-object:122:15:122:40::Value 'collections.abc.Awaitable' is unsubscriptable:UNDEFINED
+unsubscriptable-object:123:20:123:53::Value 'contextlib.AbstractContextManager' is unsubscriptable:UNDEFINED
+unsubscriptable-object:124:13:124:23::Value 're.Pattern' is unsubscriptable:UNDEFINED
+unsubscriptable-object:130:9:130:12::Value 'int' is unsubscriptable:UNDEFINED
+unsubscriptable-object:131:15:131:39::Value 'collections.abc.Hashable' is unsubscriptable:UNDEFINED
+unsubscriptable-object:132:12:132:33::Value 'collections.abc.Sized' is unsubscriptable:UNDEFINED
+unsubscriptable-object:135:17:135:43::Value 'collections.abc.ByteString' is unsubscriptable:UNDEFINED
diff --git a/tests/functional/g/generic_alias/generic_alias_mixed_py37.txt b/tests/functional/g/generic_alias/generic_alias_mixed_py37.txt
index 14d784ea0..c42ad4006 100644
--- a/tests/functional/g/generic_alias/generic_alias_mixed_py37.txt
+++ b/tests/functional/g/generic_alias/generic_alias_mixed_py37.txt
@@ -1,5 +1,5 @@
-abstract-method:34:0:DerivedHashable:Method '__hash__' is abstract in class 'Hashable' but is not overridden
-abstract-method:37:0:DerivedIterable:Method '__iter__' is abstract in class 'Iterable' but is not overridden
-abstract-method:40:0:DerivedCollection:Method '__contains__' is abstract in class 'Container' but is not overridden
-abstract-method:40:0:DerivedCollection:Method '__iter__' is abstract in class 'Iterable' but is not overridden
-abstract-method:40:0:DerivedCollection:Method '__len__' is abstract in class 'Sized' but is not overridden
+abstract-method:34:0:35:8:DerivedHashable:Method '__hash__' is abstract in class 'Hashable' but is not overridden:UNDEFINED
+abstract-method:37:0:38:8:DerivedIterable:Method '__iter__' is abstract in class 'Iterable' but is not overridden:UNDEFINED
+abstract-method:40:0:41:8:DerivedCollection:Method '__contains__' is abstract in class 'Container' but is not overridden:UNDEFINED
+abstract-method:40:0:41:8:DerivedCollection:Method '__iter__' is abstract in class 'Iterable' but is not overridden:UNDEFINED
+abstract-method:40:0:41:8:DerivedCollection:Method '__len__' is abstract in class 'Sized' but is not overridden:UNDEFINED
diff --git a/tests/functional/g/generic_alias/generic_alias_mixed_py39.txt b/tests/functional/g/generic_alias/generic_alias_mixed_py39.txt
index 2247c127f..fd5746a70 100644
--- a/tests/functional/g/generic_alias/generic_alias_mixed_py39.txt
+++ b/tests/functional/g/generic_alias/generic_alias_mixed_py39.txt
@@ -1,5 +1,5 @@
-abstract-method:29:0:DerivedHashable:Method '__hash__' is abstract in class 'Hashable' but is not overridden
-abstract-method:32:0:DerivedIterable:Method '__iter__' is abstract in class 'Iterable' but is not overridden
-abstract-method:35:0:DerivedCollection:Method '__contains__' is abstract in class 'Container' but is not overridden
-abstract-method:35:0:DerivedCollection:Method '__iter__' is abstract in class 'Iterable' but is not overridden
-abstract-method:35:0:DerivedCollection:Method '__len__' is abstract in class 'Sized' but is not overridden
+abstract-method:29:0:30:8:DerivedHashable:Method '__hash__' is abstract in class 'Hashable' but is not overridden:UNDEFINED
+abstract-method:32:0:33:8:DerivedIterable:Method '__iter__' is abstract in class 'Iterable' but is not overridden:UNDEFINED
+abstract-method:35:0:36:8:DerivedCollection:Method '__contains__' is abstract in class 'Container' but is not overridden:UNDEFINED
+abstract-method:35:0:36:8:DerivedCollection:Method '__iter__' is abstract in class 'Iterable' but is not overridden:UNDEFINED
+abstract-method:35:0:36:8:DerivedCollection:Method '__len__' is abstract in class 'Sized' but is not overridden:UNDEFINED
diff --git a/tests/functional/g/generic_alias/generic_alias_postponed_evaluation_py37.txt b/tests/functional/g/generic_alias/generic_alias_postponed_evaluation_py37.txt
index 5bfcb4845..266644535 100644
--- a/tests/functional/g/generic_alias/generic_alias_postponed_evaluation_py37.txt
+++ b/tests/functional/g/generic_alias/generic_alias_postponed_evaluation_py37.txt
@@ -1,56 +1,56 @@
-unsubscriptable-object:20:0::Value 'tuple' is unsubscriptable
-unsubscriptable-object:21:0::Value 'type' is unsubscriptable
-unsubscriptable-object:22:0::Value 'collections.abc.Callable' is unsubscriptable
-unsubscriptable-object:25:0::Value 'dict' is unsubscriptable
-unsubscriptable-object:26:0::Value 'list' is unsubscriptable
-unsubscriptable-object:27:0::Value 'set' is unsubscriptable
-unsubscriptable-object:28:0::Value 'frozenset' is unsubscriptable
-unsubscriptable-object:31:0::Value 'collections.defaultdict' is unsubscriptable
-unsubscriptable-object:32:0::Value 'collections.OrderedDict' is unsubscriptable
-unsubscriptable-object:33:0::Value 'collections.ChainMap' is unsubscriptable
-unsubscriptable-object:34:0::Value 'collections.Counter' is unsubscriptable
-unsubscriptable-object:35:0::Value 'collections.deque' is unsubscriptable
-unsubscriptable-object:38:0::Value 'collections.abc.Set' is unsubscriptable
-unsubscriptable-object:39:0::Value 'collections.abc.Collection' is unsubscriptable
-unsubscriptable-object:40:0::Value 'collections.abc.Container' is unsubscriptable
-unsubscriptable-object:41:0::Value 'collections.abc.ItemsView' is unsubscriptable
-unsubscriptable-object:42:0::Value 'collections.abc.KeysView' is unsubscriptable
-unsubscriptable-object:43:0::Value 'collections.abc.Mapping' is unsubscriptable
-unsubscriptable-object:44:0::Value 'collections.abc.MappingView' is unsubscriptable
-unsubscriptable-object:45:0::Value 'collections.abc.MutableMapping' is unsubscriptable
-unsubscriptable-object:46:0::Value 'collections.abc.MutableSequence' is unsubscriptable
-unsubscriptable-object:47:0::Value 'collections.abc.MutableSet' is unsubscriptable
-unsubscriptable-object:48:0::Value 'collections.abc.Sequence' is unsubscriptable
-unsubscriptable-object:49:0::Value 'collections.abc.ValuesView' is unsubscriptable
-unsubscriptable-object:51:0::Value 'collections.abc.Iterable' is unsubscriptable
-unsubscriptable-object:52:0::Value 'collections.abc.Iterator' is unsubscriptable
-unsubscriptable-object:53:0::Value 'collections.abc.Generator' is unsubscriptable
-unsubscriptable-object:54:0::Value 'collections.abc.Reversible' is unsubscriptable
-unsubscriptable-object:56:0::Value 'collections.abc.Coroutine' is unsubscriptable
-unsubscriptable-object:56:26::Value 'list' is unsubscriptable
-unsubscriptable-object:57:0::Value 'collections.abc.AsyncGenerator' is unsubscriptable
-unsubscriptable-object:58:0::Value 'collections.abc.AsyncIterable' is unsubscriptable
-unsubscriptable-object:59:0::Value 'collections.abc.AsyncIterator' is unsubscriptable
-unsubscriptable-object:60:0::Value 'collections.abc.Awaitable' is unsubscriptable
-unsubscriptable-object:63:0::Value 'contextlib.AbstractContextManager' is unsubscriptable
-unsubscriptable-object:64:0::Value 'contextlib.AbstractAsyncContextManager' is unsubscriptable
-unsubscriptable-object:67:0::Value 're.Pattern' is unsubscriptable
-unsubscriptable-object:68:0::Value 're.Match' is unsubscriptable
-unsubscriptable-object:74:0::Value 'collections.abc.Hashable' is unsubscriptable
-unsubscriptable-object:75:0::Value 'collections.abc.Sized' is unsubscriptable
-unsubscriptable-object:78:0::Value 'collections.abc.ByteString' is unsubscriptable
-abstract-method:82:0:DerivedHashable:Method '__hash__' is abstract in class 'Hashable' but is not overridden
-unsubscriptable-object:85:22:DerivedIterable:Value 'collections.abc.Iterable' is unsubscriptable
-unsubscriptable-object:88:24:DerivedCollection:Value 'collections.abc.Collection' is unsubscriptable
-unsubscriptable-object:93:18:DerivedList:Value 'list' is unsubscriptable
-unsubscriptable-object:96:17:DerivedSet:Value 'set' is unsubscriptable
-unsubscriptable-object:99:25:DerivedOrderedDict:Value 'collections.OrderedDict' is unsubscriptable
-unsubscriptable-object:102:31:DerivedListIterable:Value 'collections.abc.Iterable' is unsubscriptable
-unsubscriptable-object:102:26:DerivedListIterable:Value 'list' is unsubscriptable
-abstract-method:107:0:DerivedMultiple:Method '__hash__' is abstract in class 'Hashable' but is not overridden
-abstract-method:107:0:DerivedMultiple:Method '__len__' is abstract in class 'Sized' but is not overridden
-abstract-method:112:0:CustomAbstractCls2:Method '__len__' is abstract in class 'Sized' but is not overridden
-unsubscriptable-object:112:48:CustomAbstractCls2:Value 'collections.abc.Iterable' is unsubscriptable
-abstract-method:114:0:CustomImplementation:Method '__len__' is abstract in class 'Sized' but is not overridden
-unsubscriptable-object:175:19::Value 'collections.abc.Hashable' is unsubscriptable
-unsubscriptable-object:176:16::Value 'collections.abc.Sized' is unsubscriptable
+unsubscriptable-object:20:0:20:5::Value 'tuple' is unsubscriptable:UNDEFINED
+unsubscriptable-object:21:0:21:4::Value 'type' is unsubscriptable:UNDEFINED
+unsubscriptable-object:22:0:22:24::Value 'collections.abc.Callable' is unsubscriptable:UNDEFINED
+unsubscriptable-object:25:0:25:4::Value 'dict' is unsubscriptable:UNDEFINED
+unsubscriptable-object:26:0:26:4::Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:27:0:27:3::Value 'set' is unsubscriptable:UNDEFINED
+unsubscriptable-object:28:0:28:9::Value 'frozenset' is unsubscriptable:UNDEFINED
+unsubscriptable-object:31:0:31:23::Value 'collections.defaultdict' is unsubscriptable:UNDEFINED
+unsubscriptable-object:32:0:32:23::Value 'collections.OrderedDict' is unsubscriptable:UNDEFINED
+unsubscriptable-object:33:0:33:20::Value 'collections.ChainMap' is unsubscriptable:UNDEFINED
+unsubscriptable-object:34:0:34:19::Value 'collections.Counter' is unsubscriptable:UNDEFINED
+unsubscriptable-object:35:0:35:17::Value 'collections.deque' is unsubscriptable:UNDEFINED
+unsubscriptable-object:38:0:38:19::Value 'collections.abc.Set' is unsubscriptable:UNDEFINED
+unsubscriptable-object:39:0:39:26::Value 'collections.abc.Collection' is unsubscriptable:UNDEFINED
+unsubscriptable-object:40:0:40:25::Value 'collections.abc.Container' is unsubscriptable:UNDEFINED
+unsubscriptable-object:41:0:41:25::Value 'collections.abc.ItemsView' is unsubscriptable:UNDEFINED
+unsubscriptable-object:42:0:42:24::Value 'collections.abc.KeysView' is unsubscriptable:UNDEFINED
+unsubscriptable-object:43:0:43:23::Value 'collections.abc.Mapping' is unsubscriptable:UNDEFINED
+unsubscriptable-object:44:0:44:27::Value 'collections.abc.MappingView' is unsubscriptable:UNDEFINED
+unsubscriptable-object:45:0:45:30::Value 'collections.abc.MutableMapping' is unsubscriptable:UNDEFINED
+unsubscriptable-object:46:0:46:31::Value 'collections.abc.MutableSequence' is unsubscriptable:UNDEFINED
+unsubscriptable-object:47:0:47:26::Value 'collections.abc.MutableSet' is unsubscriptable:UNDEFINED
+unsubscriptable-object:48:0:48:24::Value 'collections.abc.Sequence' is unsubscriptable:UNDEFINED
+unsubscriptable-object:49:0:49:26::Value 'collections.abc.ValuesView' is unsubscriptable:UNDEFINED
+unsubscriptable-object:51:0:51:24::Value 'collections.abc.Iterable' is unsubscriptable:UNDEFINED
+unsubscriptable-object:52:0:52:24::Value 'collections.abc.Iterator' is unsubscriptable:UNDEFINED
+unsubscriptable-object:53:0:53:25::Value 'collections.abc.Generator' is unsubscriptable:UNDEFINED
+unsubscriptable-object:54:0:54:26::Value 'collections.abc.Reversible' is unsubscriptable:UNDEFINED
+unsubscriptable-object:56:0:56:25::Value 'collections.abc.Coroutine' is unsubscriptable:UNDEFINED
+unsubscriptable-object:56:26:56:30::Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:57:0:57:30::Value 'collections.abc.AsyncGenerator' is unsubscriptable:UNDEFINED
+unsubscriptable-object:58:0:58:29::Value 'collections.abc.AsyncIterable' is unsubscriptable:UNDEFINED
+unsubscriptable-object:59:0:59:29::Value 'collections.abc.AsyncIterator' is unsubscriptable:UNDEFINED
+unsubscriptable-object:60:0:60:25::Value 'collections.abc.Awaitable' is unsubscriptable:UNDEFINED
+unsubscriptable-object:63:0:63:33::Value 'contextlib.AbstractContextManager' is unsubscriptable:UNDEFINED
+unsubscriptable-object:64:0:64:38::Value 'contextlib.AbstractAsyncContextManager' is unsubscriptable:UNDEFINED
+unsubscriptable-object:67:0:67:10::Value 're.Pattern' is unsubscriptable:UNDEFINED
+unsubscriptable-object:68:0:68:8::Value 're.Match' is unsubscriptable:UNDEFINED
+unsubscriptable-object:74:0:74:24::Value 'collections.abc.Hashable' is unsubscriptable:UNDEFINED
+unsubscriptable-object:75:0:75:21::Value 'collections.abc.Sized' is unsubscriptable:UNDEFINED
+unsubscriptable-object:78:0:78:26::Value 'collections.abc.ByteString' is unsubscriptable:UNDEFINED
+abstract-method:82:0:83:8:DerivedHashable:Method '__hash__' is abstract in class 'Hashable' but is not overridden:UNDEFINED
+unsubscriptable-object:85:22:85:46:DerivedIterable:Value 'collections.abc.Iterable' is unsubscriptable:UNDEFINED
+unsubscriptable-object:88:24:88:50:DerivedCollection:Value 'collections.abc.Collection' is unsubscriptable:UNDEFINED
+unsubscriptable-object:93:18:93:22:DerivedList:Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:96:17:96:20:DerivedSet:Value 'set' is unsubscriptable:UNDEFINED
+unsubscriptable-object:99:25:99:48:DerivedOrderedDict:Value 'collections.OrderedDict' is unsubscriptable:UNDEFINED
+unsubscriptable-object:102:31:102:55:DerivedListIterable:Value 'collections.abc.Iterable' is unsubscriptable:UNDEFINED
+unsubscriptable-object:102:26:102:30:DerivedListIterable:Value 'list' is unsubscriptable:UNDEFINED
+abstract-method:107:0:108:8:DerivedMultiple:Method '__hash__' is abstract in class 'Hashable' but is not overridden:UNDEFINED
+abstract-method:107:0:108:8:DerivedMultiple:Method '__len__' is abstract in class 'Sized' but is not overridden:UNDEFINED
+abstract-method:112:0:113:8:CustomAbstractCls2:Method '__len__' is abstract in class 'Sized' but is not overridden:UNDEFINED
+unsubscriptable-object:112:48:112:72:CustomAbstractCls2:Value 'collections.abc.Iterable' is unsubscriptable:UNDEFINED
+abstract-method:114:0:115:8:CustomImplementation:Method '__len__' is abstract in class 'Sized' but is not overridden:UNDEFINED
+unsubscriptable-object:175:19:175:43::Value 'collections.abc.Hashable' is unsubscriptable:UNDEFINED
+unsubscriptable-object:176:16:176:37::Value 'collections.abc.Sized' is unsubscriptable:UNDEFINED
diff --git a/tests/functional/g/generic_alias/generic_alias_related.txt b/tests/functional/g/generic_alias/generic_alias_related.txt
index b10f66f30..2d65b6213 100644
--- a/tests/functional/g/generic_alias/generic_alias_related.txt
+++ b/tests/functional/g/generic_alias/generic_alias_related.txt
@@ -1,5 +1,5 @@
-unsubscriptable-object:34:0::Value 'ClsUnsubscriptable()' is unsubscriptable
-unsubscriptable-object:35:0::Value 'ClsUnsubscriptable' is unsubscriptable
-unsubscriptable-object:38:0::Value 'ClsGetItem' is unsubscriptable
-unsubscriptable-object:40:0::Value 'ClsClassGetItem()' is unsubscriptable
-abstract-method:53:0:Derived:Method 'abstract_method' is abstract in class 'ClsAbstract' but is not overridden
+unsubscriptable-object:34:0:34:20::Value 'ClsUnsubscriptable()' is unsubscriptable:UNDEFINED
+unsubscriptable-object:35:0:35:18::Value 'ClsUnsubscriptable' is unsubscriptable:UNDEFINED
+unsubscriptable-object:38:0:38:10::Value 'ClsGetItem' is unsubscriptable:UNDEFINED
+unsubscriptable-object:40:0:40:17::Value 'ClsClassGetItem()' is unsubscriptable:UNDEFINED
+abstract-method:53:0:54:8:Derived:Method 'abstract_method' is abstract in class 'ClsAbstract' but is not overridden:UNDEFINED
diff --git a/tests/functional/g/generic_alias/generic_alias_related_py39.txt b/tests/functional/g/generic_alias/generic_alias_related_py39.txt
index be51879d6..295288f04 100644
--- a/tests/functional/g/generic_alias/generic_alias_related_py39.txt
+++ b/tests/functional/g/generic_alias/generic_alias_related_py39.txt
@@ -1,5 +1,5 @@
-unsubscriptable-object:36:0::Value 'ClsUnsubscriptable()' is unsubscriptable
-unsubscriptable-object:37:0::Value 'ClsUnsubscriptable' is unsubscriptable
-unsubscriptable-object:40:0::Value 'ClsGetItem' is unsubscriptable
-unsubscriptable-object:42:0::Value 'ClsClassGetItem()' is unsubscriptable
-abstract-method:55:0:Derived:Method 'abstract_method' is abstract in class 'ClsAbstract' but is not overridden
+unsubscriptable-object:36:0:36:20::Value 'ClsUnsubscriptable()' is unsubscriptable:UNDEFINED
+unsubscriptable-object:37:0:37:18::Value 'ClsUnsubscriptable' is unsubscriptable:UNDEFINED
+unsubscriptable-object:40:0:40:10::Value 'ClsGetItem' is unsubscriptable:UNDEFINED
+unsubscriptable-object:42:0:42:17::Value 'ClsClassGetItem()' is unsubscriptable:UNDEFINED
+abstract-method:55:0:56:8:Derived:Method 'abstract_method' is abstract in class 'ClsAbstract' but is not overridden:UNDEFINED
diff --git a/tests/functional/g/generic_alias/generic_alias_side_effects.txt b/tests/functional/g/generic_alias/generic_alias_side_effects.txt
index bbd64c12a..3e7548da6 100644
--- a/tests/functional/g/generic_alias/generic_alias_side_effects.txt
+++ b/tests/functional/g/generic_alias/generic_alias_side_effects.txt
@@ -1,8 +1,8 @@
-dangerous-default-value:19:0:function4:Dangerous default value set() (builtins.set) as argument
-dangerous-default-value:27:0:function7:Dangerous default value dict() (builtins.dict) as argument
-dangerous-default-value:31:0:function8:Dangerous default value list() (builtins.list) as argument
-dangerous-default-value:35:0:function17:Dangerous default value deque() (collections.deque) as argument
-dangerous-default-value:39:0:function18:Dangerous default value ChainMap() (collections.ChainMap) as argument
-dangerous-default-value:43:0:function19:Dangerous default value Counter() (collections.Counter) as argument
-dangerous-default-value:47:0:function20:Dangerous default value OrderedDict() (collections.OrderedDict) as argument
-dangerous-default-value:51:0:function21:Dangerous default value defaultdict() (collections.defaultdict) as argument
+dangerous-default-value:19:0:21:16:function4:Dangerous default value set() (builtins.set) as argument:UNDEFINED
+dangerous-default-value:27:0:29:16:function7:Dangerous default value dict() (builtins.dict) as argument:UNDEFINED
+dangerous-default-value:31:0:33:16:function8:Dangerous default value list() (builtins.list) as argument:UNDEFINED
+dangerous-default-value:35:0:37:16:function17:Dangerous default value deque() (collections.deque) as argument:UNDEFINED
+dangerous-default-value:39:0:41:16:function18:Dangerous default value ChainMap() (collections.ChainMap) as argument:UNDEFINED
+dangerous-default-value:43:0:45:16:function19:Dangerous default value Counter() (collections.Counter) as argument:UNDEFINED
+dangerous-default-value:47:0:49:16:function20:Dangerous default value OrderedDict() (collections.OrderedDict) as argument:UNDEFINED
+dangerous-default-value:51:0:53:16:function21:Dangerous default value defaultdict() (collections.defaultdict) as argument:UNDEFINED
diff --git a/tests/functional/g/generic_alias/generic_alias_typing.txt b/tests/functional/g/generic_alias/generic_alias_typing.txt
index 8942ca71a..b5cb449b8 100644
--- a/tests/functional/g/generic_alias/generic_alias_typing.txt
+++ b/tests/functional/g/generic_alias/generic_alias_typing.txt
@@ -1,19 +1,19 @@
-unsubscriptable-object:66:0::Value 'typing.ByteString' is unsubscriptable
-unsubscriptable-object:67:0::Value 'typing.Hashable' is unsubscriptable
-unsubscriptable-object:68:0::Value 'typing.Sized' is unsubscriptable
-abstract-method:72:0:DerivedHashable:Method '__hash__' is abstract in class 'Hashable' but is not overridden
-abstract-method:75:0:DerivedIterable:Method '__iter__' is abstract in class 'Iterable' but is not overridden
-abstract-method:78:0:DerivedCollection:Method '__contains__' is abstract in class 'Container' but is not overridden
-abstract-method:78:0:DerivedCollection:Method '__iter__' is abstract in class 'Iterable' but is not overridden
-abstract-method:78:0:DerivedCollection:Method '__len__' is abstract in class 'Sized' but is not overridden
-abstract-method:100:0:DerivedMultiple:Method '__hash__' is abstract in class 'Hashable' but is not overridden
-abstract-method:100:0:DerivedMultiple:Method '__len__' is abstract in class 'Sized' but is not overridden
-abstract-method:105:0:CustomAbstractCls2:Method '__iter__' is abstract in class 'Iterable' but is not overridden
-abstract-method:105:0:CustomAbstractCls2:Method '__len__' is abstract in class 'Sized' but is not overridden
-abstract-method:107:0:CustomImplementation:Method '__iter__' is abstract in class 'Iterable' but is not overridden
-abstract-method:107:0:CustomImplementation:Method '__len__' is abstract in class 'Sized' but is not overridden
-abstract-method:118:0:DerivedIterable2:Method '__iter__' is abstract in class 'Iterable' but is not overridden
-unsubscriptable-object:138:9::Value 'int' is unsubscriptable
-unsubscriptable-object:139:17::Value 'typing.ByteString' is unsubscriptable
-unsubscriptable-object:140:15::Value 'typing.Hashable' is unsubscriptable
-unsubscriptable-object:141:12::Value 'typing.Sized' is unsubscriptable
+unsubscriptable-object:66:0:66:17::Value 'typing.ByteString' is unsubscriptable:UNDEFINED
+unsubscriptable-object:67:0:67:15::Value 'typing.Hashable' is unsubscriptable:UNDEFINED
+unsubscriptable-object:68:0:68:12::Value 'typing.Sized' is unsubscriptable:UNDEFINED
+abstract-method:72:0:73:8:DerivedHashable:Method '__hash__' is abstract in class 'Hashable' but is not overridden:UNDEFINED
+abstract-method:75:0:76:8:DerivedIterable:Method '__iter__' is abstract in class 'Iterable' but is not overridden:UNDEFINED
+abstract-method:78:0:79:8:DerivedCollection:Method '__contains__' is abstract in class 'Container' but is not overridden:UNDEFINED
+abstract-method:78:0:79:8:DerivedCollection:Method '__iter__' is abstract in class 'Iterable' but is not overridden:UNDEFINED
+abstract-method:78:0:79:8:DerivedCollection:Method '__len__' is abstract in class 'Sized' but is not overridden:UNDEFINED
+abstract-method:100:0:101:8:DerivedMultiple:Method '__hash__' is abstract in class 'Hashable' but is not overridden:UNDEFINED
+abstract-method:100:0:101:8:DerivedMultiple:Method '__len__' is abstract in class 'Sized' but is not overridden:UNDEFINED
+abstract-method:105:0:106:8:CustomAbstractCls2:Method '__iter__' is abstract in class 'Iterable' but is not overridden:UNDEFINED
+abstract-method:105:0:106:8:CustomAbstractCls2:Method '__len__' is abstract in class 'Sized' but is not overridden:UNDEFINED
+abstract-method:107:0:108:8:CustomImplementation:Method '__iter__' is abstract in class 'Iterable' but is not overridden:UNDEFINED
+abstract-method:107:0:108:8:CustomImplementation:Method '__len__' is abstract in class 'Sized' but is not overridden:UNDEFINED
+abstract-method:118:0:119:8:DerivedIterable2:Method '__iter__' is abstract in class 'Iterable' but is not overridden:UNDEFINED
+unsubscriptable-object:138:9:138:12::Value 'int' is unsubscriptable:UNDEFINED
+unsubscriptable-object:139:17:139:34::Value 'typing.ByteString' is unsubscriptable:UNDEFINED
+unsubscriptable-object:140:15:140:30::Value 'typing.Hashable' is unsubscriptable:UNDEFINED
+unsubscriptable-object:141:12:141:24::Value 'typing.Sized' is unsubscriptable:UNDEFINED
diff --git a/tests/functional/g/genexpr_variable_scope.txt b/tests/functional/g/genexpr_variable_scope.txt
index 4567d7fc9..e59c3e988 100644
--- a/tests/functional/g/genexpr_variable_scope.txt
+++ b/tests/functional/g/genexpr_variable_scope.txt
@@ -1 +1 @@
-undefined-variable:5:6::Undefined variable 'n'
+undefined-variable:5:6:5:7::Undefined variable 'n':UNDEFINED
diff --git a/tests/functional/g/globals.txt b/tests/functional/g/globals.txt
index 1f07e0e75..92b3c6d43 100644
--- a/tests/functional/g/globals.txt
+++ b/tests/functional/g/globals.txt
@@ -1,11 +1,11 @@
-global-at-module-level:5:0::Using the global statement at the module level:HIGH
-undefined-variable:6:6::Undefined variable 'CSTE':HIGH
-global-statement:14:4:fix_contant:Using the global statement:HIGH
-global-variable-not-assigned:21:4:other:Using global for 'HOP' but no assignment is done:HIGH
-undefined-variable:22:10:other:Undefined variable 'HOP':HIGH
-global-variable-undefined:27:4:define_constant:Global variable 'SOMEVAR' undefined at the module level:HIGH
-global-statement:33:4:global_with_import:Using the global statement:HIGH
-global-variable-not-assigned:39:4:global_no_assign:Using global for 'CONSTANT' but no assignment is done:HIGH
-global-statement:45:4:global_operator_assign:Using the global statement:HIGH
-global-statement:52:4:global_function_assign:Using the global statement:HIGH
-global-statement:62:4:override_func:Using the global statement:HIGH
+global-at-module-level:5:0:5:11::Using the global statement at the module level:UNDEFINED
+undefined-variable:6:6:6:10::Undefined variable 'CSTE':UNDEFINED
+global-statement:14:4:14:19:fix_contant:Using the global statement:UNDEFINED
+global-variable-not-assigned:21:4:21:14:other:Using global for 'HOP' but no assignment is done:UNDEFINED
+undefined-variable:22:10:22:13:other:Undefined variable 'HOP':UNDEFINED
+global-variable-undefined:27:4:27:18:define_constant:Global variable 'SOMEVAR' undefined at the module level:UNDEFINED
+global-statement:33:4:33:14:global_with_import:Using the global statement:UNDEFINED
+global-variable-not-assigned:39:4:39:19:global_no_assign:Using global for 'CONSTANT' but no assignment is done:UNDEFINED
+global-statement:45:4:45:19:global_operator_assign:Using the global statement:UNDEFINED
+global-statement:52:4:52:19:global_function_assign:Using the global statement:UNDEFINED
+global-statement:62:4:62:15:override_func:Using the global statement:UNDEFINED
diff --git a/tests/functional/i/implicit/implicit_str_concat.txt b/tests/functional/i/implicit/implicit_str_concat.txt
index 11cecd777..e22a278e6 100644
--- a/tests/functional/i/implicit/implicit_str_concat.txt
+++ b/tests/functional/i/implicit/implicit_str_concat.txt
@@ -1,5 +1,5 @@
-implicit-str-concat:4:0::Implicit string concatenation found in list
-implicit-str-concat:6:0::Implicit string concatenation found in tuple
-implicit-str-concat:8:0::Implicit string concatenation found in set
-implicit-str-concat:11:0::Implicit string concatenation found in list
-implicit-str-concat:27:0::Implicit string concatenation found in assignment
+implicit-str-concat:4:0:None:None::Implicit string concatenation found in list:UNDEFINED
+implicit-str-concat:6:0:None:None::Implicit string concatenation found in tuple:UNDEFINED
+implicit-str-concat:8:0:None:None::Implicit string concatenation found in set:UNDEFINED
+implicit-str-concat:11:0:None:None::Implicit string concatenation found in list:UNDEFINED
+implicit-str-concat:27:0:None:None::Implicit string concatenation found in assignment:UNDEFINED
diff --git a/tests/functional/i/implicit/implicit_str_concat_multiline.txt b/tests/functional/i/implicit/implicit_str_concat_multiline.txt
index c796269e4..edfe2dc7a 100644
--- a/tests/functional/i/implicit/implicit_str_concat_multiline.txt
+++ b/tests/functional/i/implicit/implicit_str_concat_multiline.txt
@@ -1 +1 @@
-implicit-str-concat:3:0::Implicit string concatenation found in tuple
+implicit-str-concat:3:0:None:None::Implicit string concatenation found in tuple:UNDEFINED
diff --git a/tests/functional/i/import_aliasing.txt b/tests/functional/i/import_aliasing.txt
index 6b5e7d360..a79bd962f 100644
--- a/tests/functional/i/import_aliasing.txt
+++ b/tests/functional/i/import_aliasing.txt
@@ -1,10 +1,10 @@
-useless-import-alias:6:0::Import alias does not rename original package
-consider-using-from-import:8:0::Use 'from os import path' instead
-consider-using-from-import:10:0::Use 'from foo.bar import foobar' instead
-useless-import-alias:14:0::Import alias does not rename original package
-useless-import-alias:17:0::Import alias does not rename original package
-useless-import-alias:18:0::Import alias does not rename original package
-useless-import-alias:20:0::Import alias does not rename original package
-useless-import-alias:21:0::Import alias does not rename original package
-useless-import-alias:23:0::Import alias does not rename original package
-relative-beyond-top-level:26:0::Attempted relative import beyond top-level package
+useless-import-alias:6:0:6:50::Import alias does not rename original package:UNDEFINED
+consider-using-from-import:8:0:8:22::Use 'from os import path' instead:UNDEFINED
+consider-using-from-import:10:0:10:31::Use 'from foo.bar import foobar' instead:UNDEFINED
+useless-import-alias:14:0:14:24::Import alias does not rename original package:UNDEFINED
+useless-import-alias:17:0:17:28::Import alias does not rename original package:UNDEFINED
+useless-import-alias:18:0:18:38::Import alias does not rename original package:UNDEFINED
+useless-import-alias:20:0:20:38::Import alias does not rename original package:UNDEFINED
+useless-import-alias:21:0:21:38::Import alias does not rename original package:UNDEFINED
+useless-import-alias:23:0:23:36::Import alias does not rename original package:UNDEFINED
+relative-beyond-top-level:26:0:26:27::Attempted relative import beyond top-level package:UNDEFINED
diff --git a/tests/functional/i/import_error.txt b/tests/functional/i/import_error.txt
index 8a63cacc3..7147acecb 100644
--- a/tests/functional/i/import_error.txt
+++ b/tests/functional/i/import_error.txt
@@ -1,4 +1,4 @@
-import-error:3:0::Unable to import 'totally_missing'
-import-error:21:4::Unable to import 'maybe_missing_2'
-no-name-in-module:33:0::No name 'syntax_error' in module 'functional.s'
-syntax-error:33:0::Cannot import 'functional.s.syntax_error' due to syntax error 'invalid syntax (<unknown>, line 1)'
+import-error:3:0:3:22::Unable to import 'totally_missing':UNDEFINED
+import-error:21:4:21:26::Unable to import 'maybe_missing_2':UNDEFINED
+no-name-in-module:33:0:33:42::No name 'syntax_error' in module 'functional.s':UNDEFINED
+syntax-error:33:0:None:None::Cannot import 'functional.s.syntax_error' due to syntax error 'invalid syntax (<unknown>, line 1)':UNDEFINED
diff --git a/tests/functional/i/import_itself.txt b/tests/functional/i/import_itself.txt
index 4dd361096..67f19cd97 100644
--- a/tests/functional/i/import_itself.txt
+++ b/tests/functional/i/import_itself.txt
@@ -1 +1 @@
-import-self:4:0::Module import itself
+import-self:4:0:4:27::Module import itself:UNDEFINED
diff --git a/tests/functional/i/import_outside_toplevel.txt b/tests/functional/i/import_outside_toplevel.txt
index d4b1786ea..db44956f8 100644
--- a/tests/functional/i/import_outside_toplevel.txt
+++ b/tests/functional/i/import_outside_toplevel.txt
@@ -1,9 +1,9 @@
-import-outside-toplevel:10:4:f:Import outside toplevel (symtable)
-import-outside-toplevel:14:4:g:Import outside toplevel (os, sys)
-import-outside-toplevel:18:4:h:Import outside toplevel (time)
-import-outside-toplevel:22:4:i:Import outside toplevel (random, socket)
-import-outside-toplevel:26:4:C:Import outside toplevel (tokenize)
-import-outside-toplevel:29:8:C.j:Import outside toplevel (turtle)
-import-outside-toplevel:34:8:k:Import outside toplevel (tabnanny)
-import-outside-toplevel:38:4:j:Import outside toplevel (collections.defaultdict)
-import-outside-toplevel:42:4:m:Import outside toplevel (math.sin, math.cos)
+import-outside-toplevel:10:4:10:19:f:Import outside toplevel (symtable):UNDEFINED
+import-outside-toplevel:14:4:14:18:g:Import outside toplevel (os, sys):UNDEFINED
+import-outside-toplevel:18:4:18:24:h:Import outside toplevel (time):UNDEFINED
+import-outside-toplevel:22:4:22:41:i:Import outside toplevel (random, socket):UNDEFINED
+import-outside-toplevel:26:4:26:19:C:Import outside toplevel (tokenize):UNDEFINED
+import-outside-toplevel:29:8:29:21:C.j:Import outside toplevel (turtle):UNDEFINED
+import-outside-toplevel:34:8:34:23:k:Import outside toplevel (tabnanny):UNDEFINED
+import-outside-toplevel:38:4:38:39:j:Import outside toplevel (collections.defaultdict):UNDEFINED
+import-outside-toplevel:42:4:42:48:m:Import outside toplevel (math.sin, math.cos):UNDEFINED
diff --git a/tests/functional/i/inconsistent/inconsistent_mro.txt b/tests/functional/i/inconsistent/inconsistent_mro.txt
index a0708be85..8760dfae6 100644
--- a/tests/functional/i/inconsistent/inconsistent_mro.txt
+++ b/tests/functional/i/inconsistent/inconsistent_mro.txt
@@ -1 +1 @@
-inconsistent-mro:8:0:Inconsistent:Inconsistent method resolution order for class 'Inconsistent'
+inconsistent-mro:8:0:9:8:Inconsistent:Inconsistent method resolution order for class 'Inconsistent':UNDEFINED
diff --git a/tests/functional/i/inconsistent/inconsistent_quotes.txt b/tests/functional/i/inconsistent/inconsistent_quotes.txt
index 042fe85c2..179b17a8b 100644
--- a/tests/functional/i/inconsistent/inconsistent_quotes.txt
+++ b/tests/functional/i/inconsistent/inconsistent_quotes.txt
@@ -1 +1 @@
-inconsistent-quotes:7:0::Quote delimiter ' is inconsistent with the rest of the file
+inconsistent-quotes:7:0:None:None::Quote delimiter ' is inconsistent with the rest of the file:UNDEFINED
diff --git a/tests/functional/i/inconsistent/inconsistent_quotes2.txt b/tests/functional/i/inconsistent/inconsistent_quotes2.txt
index 0f2f77bf8..c87f71e39 100644
--- a/tests/functional/i/inconsistent/inconsistent_quotes2.txt
+++ b/tests/functional/i/inconsistent/inconsistent_quotes2.txt
@@ -1 +1 @@
-inconsistent-quotes:6:0::"Quote delimiter "" is inconsistent with the rest of the file"
+inconsistent-quotes:6:0:None:None::"Quote delimiter "" is inconsistent with the rest of the file":UNDEFINED
diff --git a/tests/functional/i/inconsistent/inconsistent_returns.txt b/tests/functional/i/inconsistent/inconsistent_returns.txt
index d0a6dd133..cf67b13ea 100644
--- a/tests/functional/i/inconsistent/inconsistent_returns.txt
+++ b/tests/functional/i/inconsistent/inconsistent_returns.txt
@@ -1,17 +1,17 @@
-inconsistent-return-statements:160:0:explicit_implicit_returns:Either all return statements in a function should return an expression, or none of them should.
-inconsistent-return-statements:164:0:empty_explicit_returns:Either all return statements in a function should return an expression, or none of them should.
-inconsistent-return-statements:169:0:explicit_implicit_returns2:Either all return statements in a function should return an expression, or none of them should.
-inconsistent-return-statements:177:0:explicit_implicit_returns3:Either all return statements in a function should return an expression, or none of them should.
-inconsistent-return-statements:185:0:returns_missing_in_catched_exceptions:Either all return statements in a function should return an expression, or none of them should.
-inconsistent-return-statements:195:0:complex_func:Either all return statements in a function should return an expression, or none of them should.
-inconsistent-return-statements:203:4:inconsistent_returns_in_nested_function.not_consistent_returns_inner:Either all return statements in a function should return an expression, or none of them should.
-inconsistent-return-statements:211:0:bug_1771_counter_example:Either all return statements in a function should return an expression, or none of them should.
-inconsistent-return-statements:229:0:bug_1772_counter_example:Either all return statements in a function should return an expression, or none of them should.
-inconsistent-return-statements:237:0:bug_1794_inner_func_in_if_counter_example_1:Either all return statements in a function should return an expression, or none of them should.
-inconsistent-return-statements:246:0:bug_1794_inner_func_in_if_counter_example_2:Either all return statements in a function should return an expression, or none of them should.
-inconsistent-return-statements:255:0:bug_1794_inner_func_in_if_counter_example_3:Either all return statements in a function should return an expression, or none of them should.
-inconsistent-return-statements:262:8:bug_1794_inner_func_in_if_counter_example_3._inner2:Either all return statements in a function should return an expression, or none of them should.
-inconsistent-return-statements:267:0:bug_3468:Either all return statements in a function should return an expression, or none of them should.
-inconsistent-return-statements:277:0:bug_3468_variant:Either all return statements in a function should return an expression, or none of them should.
-inconsistent-return-statements:322:0:bug_pylint_3873_1:Either all return statements in a function should return an expression, or none of them should.
-inconsistent-return-statements:349:0:bug_pylint_4019_wrong:Either all return statements in a function should return an expression, or none of them should.
+inconsistent-return-statements:160:0:162:29:explicit_implicit_returns:Either all return statements in a function should return an expression, or none of them should.:UNDEFINED
+inconsistent-return-statements:164:0:167:25:empty_explicit_returns:Either all return statements in a function should return an expression, or none of them should.:UNDEFINED
+inconsistent-return-statements:169:0:175:19:explicit_implicit_returns2:Either all return statements in a function should return an expression, or none of them should.:UNDEFINED
+inconsistent-return-statements:177:0:183:23:explicit_implicit_returns3:Either all return statements in a function should return an expression, or none of them should.:UNDEFINED
+inconsistent-return-statements:185:0:193:16:returns_missing_in_catched_exceptions:Either all return statements in a function should return an expression, or none of them should.:UNDEFINED
+inconsistent-return-statements:195:0:200:22:complex_func:Either all return statements in a function should return an expression, or none of them should.:UNDEFINED
+inconsistent-return-statements:203:4:208:26:inconsistent_returns_in_nested_function.not_consistent_returns_inner:Either all return statements in a function should return an expression, or none of them should.:UNDEFINED
+inconsistent-return-statements:211:0:215:22:bug_1771_counter_example:Either all return statements in a function should return an expression, or none of them should.:UNDEFINED
+inconsistent-return-statements:229:0:235:24:bug_1772_counter_example:Either all return statements in a function should return an expression, or none of them should.:UNDEFINED
+inconsistent-return-statements:237:0:244:14:bug_1794_inner_func_in_if_counter_example_1:Either all return statements in a function should return an expression, or none of them should.:UNDEFINED
+inconsistent-return-statements:246:0:253:14:bug_1794_inner_func_in_if_counter_example_2:Either all return statements in a function should return an expression, or none of them should.:UNDEFINED
+inconsistent-return-statements:255:0:265:18:bug_1794_inner_func_in_if_counter_example_3:Either all return statements in a function should return an expression, or none of them should.:UNDEFINED
+inconsistent-return-statements:262:8:265:18:bug_1794_inner_func_in_if_counter_example_3._inner2:Either all return statements in a function should return an expression, or none of them should.:UNDEFINED
+inconsistent-return-statements:267:0:275:12:bug_3468:Either all return statements in a function should return an expression, or none of them should.:UNDEFINED
+inconsistent-return-statements:277:0:289:13:bug_3468_variant:Either all return statements in a function should return an expression, or none of them should.:UNDEFINED
+inconsistent-return-statements:322:0:329:20:bug_pylint_3873_1:Either all return statements in a function should return an expression, or none of them should.:UNDEFINED
+inconsistent-return-statements:349:0:355:15:bug_pylint_4019_wrong:Either all return statements in a function should return an expression, or none of them should.:UNDEFINED
diff --git a/tests/functional/i/inconsistent/inconsistent_returns_noreturn.txt b/tests/functional/i/inconsistent/inconsistent_returns_noreturn.txt
index 9b23552d1..8e36f5b59 100644
--- a/tests/functional/i/inconsistent/inconsistent_returns_noreturn.txt
+++ b/tests/functional/i/inconsistent/inconsistent_returns_noreturn.txt
@@ -1 +1 @@
-inconsistent-return-statements:32:0:bug_pylint_4122_wrong:Either all return statements in a function should return an expression, or none of them should.
+inconsistent-return-statements:32:0:42:44:bug_pylint_4122_wrong:Either all return statements in a function should return an expression, or none of them should.:UNDEFINED
diff --git a/tests/functional/i/inference_crash_4692.txt b/tests/functional/i/inference_crash_4692.txt
index 31a55d55f..deeb3bed2 100644
--- a/tests/functional/i/inference_crash_4692.txt
+++ b/tests/functional/i/inference_crash_4692.txt
@@ -1 +1 @@
-import-error:5:0::Unable to import 'notclick':HIGH
+import-error:5:0:5:15::Unable to import 'notclick':UNDEFINED
diff --git a/tests/functional/i/inherit_non_class.txt b/tests/functional/i/inherit_non_class.txt
index e8a9b0b6f..da0f55df7 100644
--- a/tests/functional/i/inherit_non_class.txt
+++ b/tests/functional/i/inherit_non_class.txt
@@ -1,11 +1,11 @@
-inherit-non-class:21:0:Bad:Inheriting '1', which is not a class.
-inherit-non-class:24:0:Bad1:"Inheriting 'lambda abc: 42', which is not a class."
-inherit-non-class:27:0:Bad2:Inheriting 'object()', which is not a class.
-inherit-non-class:30:0:Bad3:Inheriting 'return_class', which is not a class.
-inherit-non-class:33:0:Bad4:Inheriting 'Empty()', which is not a class.
-inherit-non-class:68:0:NotInheritableBool:Inheriting 'bool', which is not a class.
-inherit-non-class:72:0:NotInheritableRange:Inheriting 'range', which is not a class.
-inherit-non-class:76:0:NotInheritableSlice:Inheriting 'slice', which is not a class.
-inherit-non-class:80:0:NotInheritableMemoryView:Inheriting 'memoryview', which is not a class.
-inherit-non-class:99:0:Child2:Inheriting 'ParentBad[int]', which is not a class.:HIGH
-unsubscriptable-object:103:13:Child3:Value 'Empty' is unsubscriptable:HIGH
+inherit-non-class:21:0:22:40:Bad:Inheriting '1', which is not a class.:UNDEFINED
+inherit-non-class:24:0:25:38:Bad1:"Inheriting 'lambda abc: 42', which is not a class.":UNDEFINED
+inherit-non-class:27:0:28:53:Bad2:Inheriting 'object()', which is not a class.:UNDEFINED
+inherit-non-class:30:0:31:40:Bad3:Inheriting 'return_class', which is not a class.:UNDEFINED
+inherit-non-class:33:0:34:40:Bad4:Inheriting 'Empty()', which is not a class.:UNDEFINED
+inherit-non-class:68:0:69:8:NotInheritableBool:Inheriting 'bool', which is not a class.:UNDEFINED
+inherit-non-class:72:0:73:8:NotInheritableRange:Inheriting 'range', which is not a class.:UNDEFINED
+inherit-non-class:76:0:77:8:NotInheritableSlice:Inheriting 'slice', which is not a class.:UNDEFINED
+inherit-non-class:80:0:81:8:NotInheritableMemoryView:Inheriting 'memoryview', which is not a class.:UNDEFINED
+inherit-non-class:99:0:100:8:Child2:Inheriting 'ParentBad[int]', which is not a class.:UNDEFINED
+unsubscriptable-object:103:13:103:18:Child3:Value 'Empty' is unsubscriptable:UNDEFINED
diff --git a/tests/functional/i/init_is_generator.txt b/tests/functional/i/init_is_generator.txt
index b341a07a8..3566e6f58 100644
--- a/tests/functional/i/init_is_generator.txt
+++ b/tests/functional/i/init_is_generator.txt
@@ -1 +1 @@
-init-is-generator:4:4:SomeClass.__init__:__init__ method is a generator
+init-is-generator:4:4:5:18:SomeClass.__init__:__init__ method is a generator:UNDEFINED
diff --git a/tests/functional/i/init_not_called.txt b/tests/functional/i/init_not_called.txt
index 332f1db67..9d04c923f 100644
--- a/tests/functional/i/init_not_called.txt
+++ b/tests/functional/i/init_not_called.txt
@@ -1,2 +1,2 @@
-super-init-not-called:25:4:ZZZZ.__init__:__init__ method from base class 'BBBB' is not called
-super-init-not-called:58:4:AssignedInit.__init__:__init__ method from base class 'NewStyleC' is not called
+super-init-not-called:25:4:26:27:ZZZZ.__init__:__init__ method from base class 'BBBB' is not called:UNDEFINED
+super-init-not-called:58:4:59:20:AssignedInit.__init__:__init__ method from base class 'NewStyleC' is not called:UNDEFINED
diff --git a/tests/functional/i/invalid/b/invalid_bool_returned.txt b/tests/functional/i/invalid/b/invalid_bool_returned.txt
index 9af5b182c..616209139 100644
--- a/tests/functional/i/invalid/b/invalid_bool_returned.txt
+++ b/tests/functional/i/invalid/b/invalid_bool_returned.txt
@@ -1,3 +1,3 @@
-invalid-bool-returned:36:4:FirstBadBool.__bool__:__bool__ does not return bool
-invalid-bool-returned:43:4:SecondBadBool.__bool__:__bool__ does not return bool
-invalid-bool-returned:50:4:ThirdBadBool.__bool__:__bool__ does not return bool
+invalid-bool-returned:36:4:37:16:FirstBadBool.__bool__:__bool__ does not return bool:UNDEFINED
+invalid-bool-returned:43:4:44:21:SecondBadBool.__bool__:__bool__ does not return bool:UNDEFINED
+invalid-bool-returned:50:4:51:24:ThirdBadBool.__bool__:__bool__ does not return bool:UNDEFINED
diff --git a/tests/functional/i/invalid/b/invalid_bytes_returned.txt b/tests/functional/i/invalid/b/invalid_bytes_returned.txt
index 63440cbbc..9d8f0ece6 100644
--- a/tests/functional/i/invalid/b/invalid_bytes_returned.txt
+++ b/tests/functional/i/invalid/b/invalid_bytes_returned.txt
@@ -1,3 +1,3 @@
-invalid-bytes-returned:36:4:FirstBadBytes.__bytes__:__bytes__ does not return bytes
-invalid-bytes-returned:43:4:SecondBadBytes.__bytes__:__bytes__ does not return bytes
-invalid-bytes-returned:50:4:ThirdBadBytes.__bytes__:__bytes__ does not return bytes
+invalid-bytes-returned:36:4:37:20:FirstBadBytes.__bytes__:__bytes__ does not return bytes:UNDEFINED
+invalid-bytes-returned:43:4:44:16:SecondBadBytes.__bytes__:__bytes__ does not return bytes:UNDEFINED
+invalid-bytes-returned:50:4:51:36:ThirdBadBytes.__bytes__:__bytes__ does not return bytes:UNDEFINED
diff --git a/tests/functional/i/invalid/e/invalid_envvar_value.txt b/tests/functional/i/invalid/e/invalid_envvar_value.txt
index cec352b61..21a20826e 100644
--- a/tests/functional/i/invalid/e/invalid_envvar_value.txt
+++ b/tests/functional/i/invalid/e/invalid_envvar_value.txt
@@ -1,31 +1,31 @@
-invalid-envvar-value:30:0::os.getenv does not support builtins.bytes type argument
-invalid-envvar-value:32:0::os.getenv does not support builtins.NoneType type argument
-invalid-envvar-value:33:0::os.getenv does not support builtins.list type argument
-invalid-envvar-value:34:0::os.getenv does not support builtins.bytes type argument
-invalid-envvar-value:35:0::os.getenv does not support builtins.bytes type argument
-invalid-envvar-value:36:0::os.getenv does not support builtins.list type argument
-invalid-envvar-value:37:0::os.getenv does not support builtins.NoneType type argument
-invalid-envvar-value:41:0::os.getenv does not support builtins.bytes type argument
-invalid-envvar-value:43:0::os.getenv does not support builtins.NoneType type argument
-invalid-envvar-value:44:0::os.getenv does not support builtins.list type argument
-invalid-envvar-value:45:0::os.getenv does not support builtins.bytes type argument
-invalid-envvar-value:46:0::os.getenv does not support builtins.list type argument
-invalid-envvar-value:47:0::os.getenv does not support builtins.NoneType type argument
-invalid-envvar-value:50:0::os.getenv does not support builtins.bytes type argument
-invalid-envvar-value:52:0::os.getenv does not support builtins.NoneType type argument
-invalid-envvar-value:53:0::os.getenv does not support builtins.list type argument
-invalid-envvar-value:54:0::os.getenv does not support builtins.bytes type argument
-invalid-envvar-value:55:0::os.getenv does not support builtins.list type argument
-invalid-envvar-value:56:0::os.getenv does not support builtins.NoneType type argument
-invalid-envvar-default:60:0::os.getenv default type is builtins.list. Expected str or None.
-invalid-envvar-default:62:0::os.getenv default type is builtins.bytes. Expected str or None.
-invalid-envvar-default:63:0::os.getenv default type is builtins.list. Expected str or None.
-invalid-envvar-default:66:0::os.getenv default type is builtins.bytes. Expected str or None.
-invalid-envvar-default:69:0::os.getenv default type is builtins.list. Expected str or None.
-invalid-envvar-default:71:0::os.getenv default type is builtins.bytes. Expected str or None.
-invalid-envvar-default:72:0::os.getenv default type is builtins.list. Expected str or None.
-invalid-envvar-default:75:0::os.getenv default type is builtins.bytes. Expected str or None.
-invalid-envvar-default:79:0::os.getenv default type is builtins.bytes. Expected str or None.
-invalid-envvar-default:80:0::os.getenv default type is builtins.list. Expected str or None.
-invalid-envvar-default:81:0::os.getenv default type is builtins.list. Expected str or None.
-invalid-envvar-default:84:0::os.getenv default type is builtins.bytes. Expected str or None.
+invalid-envvar-value:30:0:30:15::os.getenv does not support builtins.bytes type argument:UNDEFINED
+invalid-envvar-value:32:0:32:12::os.getenv does not support builtins.NoneType type argument:UNDEFINED
+invalid-envvar-value:33:0:33:16::os.getenv does not support builtins.list type argument:UNDEFINED
+invalid-envvar-value:34:0:34:34::os.getenv does not support builtins.bytes type argument:UNDEFINED
+invalid-envvar-value:35:0:35:39::os.getenv does not support builtins.bytes type argument:UNDEFINED
+invalid-envvar-value:36:0:36:33::os.getenv does not support builtins.list type argument:UNDEFINED
+invalid-envvar-value:37:0:37:33::os.getenv does not support builtins.NoneType type argument:UNDEFINED
+invalid-envvar-value:41:0:41:26::os.getenv does not support builtins.bytes type argument:UNDEFINED
+invalid-envvar-value:43:0:43:23::os.getenv does not support builtins.NoneType type argument:UNDEFINED
+invalid-envvar-value:44:0:44:27::os.getenv does not support builtins.list type argument:UNDEFINED
+invalid-envvar-value:45:0:45:45::os.getenv does not support builtins.bytes type argument:UNDEFINED
+invalid-envvar-value:46:0:46:44::os.getenv does not support builtins.list type argument:UNDEFINED
+invalid-envvar-value:47:0:47:44::os.getenv does not support builtins.NoneType type argument:UNDEFINED
+invalid-envvar-value:50:0:50:19::os.getenv does not support builtins.bytes type argument:UNDEFINED
+invalid-envvar-value:52:0:52:16::os.getenv does not support builtins.NoneType type argument:UNDEFINED
+invalid-envvar-value:53:0:53:20::os.getenv does not support builtins.list type argument:UNDEFINED
+invalid-envvar-value:54:0:54:38::os.getenv does not support builtins.bytes type argument:UNDEFINED
+invalid-envvar-value:55:0:55:37::os.getenv does not support builtins.list type argument:UNDEFINED
+invalid-envvar-value:56:0:56:37::os.getenv does not support builtins.NoneType type argument:UNDEFINED
+invalid-envvar-default:60:0:60:18::os.getenv default type is builtins.list. Expected str or None.:UNDEFINED
+invalid-envvar-default:62:0:62:22::os.getenv default type is builtins.bytes. Expected str or None.:UNDEFINED
+invalid-envvar-default:63:0:63:41::os.getenv default type is builtins.list. Expected str or None.:UNDEFINED
+invalid-envvar-default:66:0:66:42::os.getenv default type is builtins.bytes. Expected str or None.:UNDEFINED
+invalid-envvar-default:69:0:69:26::os.getenv default type is builtins.list. Expected str or None.:UNDEFINED
+invalid-envvar-default:71:0:71:30::os.getenv default type is builtins.bytes. Expected str or None.:UNDEFINED
+invalid-envvar-default:72:0:72:49::os.getenv default type is builtins.list. Expected str or None.:UNDEFINED
+invalid-envvar-default:75:0:75:50::os.getenv default type is builtins.bytes. Expected str or None.:UNDEFINED
+invalid-envvar-default:79:0:79:36::os.getenv default type is builtins.bytes. Expected str or None.:UNDEFINED
+invalid-envvar-default:80:0:80:36::os.getenv default type is builtins.list. Expected str or None.:UNDEFINED
+invalid-envvar-default:81:0:81:53::os.getenv default type is builtins.list. Expected str or None.:UNDEFINED
+invalid-envvar-default:84:0:84:54::os.getenv default type is builtins.bytes. Expected str or None.:UNDEFINED
diff --git a/tests/functional/i/invalid/e/invalid_exceptions_caught.txt b/tests/functional/i/invalid/e/invalid_exceptions_caught.txt
index 4beed611c..3c906b661 100644
--- a/tests/functional/i/invalid/e/invalid_exceptions_caught.txt
+++ b/tests/functional/i/invalid/e/invalid_exceptions_caught.txt
@@ -1,12 +1,12 @@
-catching-non-exception:27:7::"Catching an exception which doesn't inherit from Exception: MyException"
-catching-non-exception:33:7::"Catching an exception which doesn't inherit from Exception: MyException"
-catching-non-exception:33:7::"Catching an exception which doesn't inherit from Exception: MySecondException"
-catching-non-exception:54:7::"Catching an exception which doesn't inherit from Exception: None"
-catching-non-exception:54:7::"Catching an exception which doesn't inherit from Exception: list()"
-catching-non-exception:59:7::"Catching an exception which doesn't inherit from Exception: None"
-catching-non-exception:72:7::"Catching an exception which doesn't inherit from Exception: 4"
-catching-non-exception:72:7::"Catching an exception which doesn't inherit from Exception: None"
-catching-non-exception:72:7::"Catching an exception which doesn't inherit from Exception: list([4, 5, 6])"
-catching-non-exception:85:7::"Catching an exception which doesn't inherit from Exception: NON_EXCEPTION_TUPLE"
-catching-non-exception:103:7::"Catching an exception which doesn't inherit from Exception: object"
-catching-non-exception:108:7::"Catching an exception which doesn't inherit from Exception: range"
+catching-non-exception:27:7:27:18::"Catching an exception which doesn't inherit from Exception: MyException":UNDEFINED
+catching-non-exception:33:7:33:39::"Catching an exception which doesn't inherit from Exception: MyException":UNDEFINED
+catching-non-exception:33:7:33:39::"Catching an exception which doesn't inherit from Exception: MySecondException":UNDEFINED
+catching-non-exception:54:7:54:21::"Catching an exception which doesn't inherit from Exception: None":UNDEFINED
+catching-non-exception:54:7:54:21::"Catching an exception which doesn't inherit from Exception: list()":UNDEFINED
+catching-non-exception:59:7:59:11::"Catching an exception which doesn't inherit from Exception: None":UNDEFINED
+catching-non-exception:72:7:72:52::"Catching an exception which doesn't inherit from Exception: 4":UNDEFINED
+catching-non-exception:72:7:72:52::"Catching an exception which doesn't inherit from Exception: None":UNDEFINED
+catching-non-exception:72:7:72:52::"Catching an exception which doesn't inherit from Exception: list([4, 5, 6])":UNDEFINED
+catching-non-exception:85:7:85:26::"Catching an exception which doesn't inherit from Exception: NON_EXCEPTION_TUPLE":UNDEFINED
+catching-non-exception:103:7:103:13::"Catching an exception which doesn't inherit from Exception: object":UNDEFINED
+catching-non-exception:108:7:108:12::"Catching an exception which doesn't inherit from Exception: range":UNDEFINED
diff --git a/tests/functional/i/invalid/e/invalid_exceptions_raised.txt b/tests/functional/i/invalid/e/invalid_exceptions_raised.txt
index c857eab77..9e8e7ae00 100644
--- a/tests/functional/i/invalid/e/invalid_exceptions_raised.txt
+++ b/tests/functional/i/invalid/e/invalid_exceptions_raised.txt
@@ -1,11 +1,11 @@
-raising-non-exception:38:4:bad_case0:Raising a new style class which doesn't inherit from BaseException
-raising-non-exception:42:4:bad_case1:Raising a new style class which doesn't inherit from BaseException
-raising-non-exception:48:4:bad_case2:Raising a new style class which doesn't inherit from BaseException
-raising-non-exception:52:4:bad_case3:Raising a new style class which doesn't inherit from BaseException
-notimplemented-raised:56:4:bad_case4:NotImplemented raised - should raise NotImplementedError
-raising-bad-type:60:4:bad_case5:Raising int while only classes or instances are allowed
-raising-bad-type:64:4:bad_case6:Raising NoneType while only classes or instances are allowed
-raising-non-exception:68:4:bad_case7:Raising a new style class which doesn't inherit from BaseException
-raising-non-exception:72:4:bad_case8:Raising a new style class which doesn't inherit from BaseException
-raising-non-exception:76:4:bad_case9:Raising a new style class which doesn't inherit from BaseException
-raising-bad-type:110:4:bad_case10:Raising str while only classes or instances are allowed
+raising-non-exception:38:4:38:30:bad_case0:Raising a new style class which doesn't inherit from BaseException:UNDEFINED
+raising-non-exception:42:4:42:25:bad_case1:Raising a new style class which doesn't inherit from BaseException:UNDEFINED
+raising-non-exception:48:4:48:30:bad_case2:Raising a new style class which doesn't inherit from BaseException:UNDEFINED
+raising-non-exception:52:4:52:23:bad_case3:Raising a new style class which doesn't inherit from BaseException:UNDEFINED
+notimplemented-raised:56:4:56:31:bad_case4:NotImplemented raised - should raise NotImplementedError:UNDEFINED
+raising-bad-type:60:4:60:11:bad_case5:Raising int while only classes or instances are allowed:UNDEFINED
+raising-bad-type:64:4:64:14:bad_case6:Raising NoneType while only classes or instances are allowed:UNDEFINED
+raising-non-exception:68:4:68:14:bad_case7:Raising a new style class which doesn't inherit from BaseException:UNDEFINED
+raising-non-exception:72:4:72:15:bad_case8:Raising a new style class which doesn't inherit from BaseException:UNDEFINED
+raising-non-exception:76:4:76:14:bad_case9:Raising a new style class which doesn't inherit from BaseException:UNDEFINED
+raising-bad-type:110:4:110:18:bad_case10:Raising str while only classes or instances are allowed:UNDEFINED
diff --git a/tests/functional/i/invalid/g/invalid_getnewargs_ex_returned.txt b/tests/functional/i/invalid/g/invalid_getnewargs_ex_returned.txt
index ea8c1703f..198808e79 100644
--- a/tests/functional/i/invalid/g/invalid_getnewargs_ex_returned.txt
+++ b/tests/functional/i/invalid/g/invalid_getnewargs_ex_returned.txt
@@ -1,6 +1,6 @@
-invalid-getnewargs-ex-returned:36:4:FirstBadGetNewArgsEx.__getnewargs_ex__:__getnewargs_ex__ does not return a tuple containing (tuple, dict)
-invalid-getnewargs-ex-returned:43:4:SecondBadGetNewArgsEx.__getnewargs_ex__:__getnewargs_ex__ does not return a tuple containing (tuple, dict)
-invalid-getnewargs-ex-returned:50:4:ThirdBadGetNewArgsEx.__getnewargs_ex__:__getnewargs_ex__ does not return a tuple containing (tuple, dict)
-invalid-getnewargs-ex-returned:57:4:FourthBadGetNewArgsEx.__getnewargs_ex__:__getnewargs_ex__ does not return a tuple containing (tuple, dict)
-invalid-getnewargs-ex-returned:64:4:FifthBadGetNewArgsEx.__getnewargs_ex__:__getnewargs_ex__ does not return a tuple containing (tuple, dict)
-invalid-getnewargs-ex-returned:71:4:SixthBadGetNewArgsEx.__getnewargs_ex__:__getnewargs_ex__ does not return a tuple containing (tuple, dict)
+invalid-getnewargs-ex-returned:36:4:37:16:FirstBadGetNewArgsEx.__getnewargs_ex__:__getnewargs_ex__ does not return a tuple containing (tuple, dict):UNDEFINED
+invalid-getnewargs-ex-returned:43:4:44:41:SecondBadGetNewArgsEx.__getnewargs_ex__:__getnewargs_ex__ does not return a tuple containing (tuple, dict):UNDEFINED
+invalid-getnewargs-ex-returned:50:4:51:41:ThirdBadGetNewArgsEx.__getnewargs_ex__:__getnewargs_ex__ does not return a tuple containing (tuple, dict):UNDEFINED
+invalid-getnewargs-ex-returned:57:4:58:29:FourthBadGetNewArgsEx.__getnewargs_ex__:__getnewargs_ex__ does not return a tuple containing (tuple, dict):UNDEFINED
+invalid-getnewargs-ex-returned:64:4:65:33:FifthBadGetNewArgsEx.__getnewargs_ex__:__getnewargs_ex__ does not return a tuple containing (tuple, dict):UNDEFINED
+invalid-getnewargs-ex-returned:71:4:72:29:SixthBadGetNewArgsEx.__getnewargs_ex__:__getnewargs_ex__ does not return a tuple containing (tuple, dict):UNDEFINED
diff --git a/tests/functional/i/invalid/g/invalid_getnewargs_returned.txt b/tests/functional/i/invalid/g/invalid_getnewargs_returned.txt
index 3560a80f9..1c719317d 100644
--- a/tests/functional/i/invalid/g/invalid_getnewargs_returned.txt
+++ b/tests/functional/i/invalid/g/invalid_getnewargs_returned.txt
@@ -1,3 +1,3 @@
-invalid-getnewargs-returned:36:4:FirstBadGetNewArgs.__getnewargs__:__getnewargs__ does not return a tuple
-invalid-getnewargs-returned:43:4:SecondBadGetNewArgs.__getnewargs__:__getnewargs__ does not return a tuple
-invalid-getnewargs-returned:50:4:ThirdBadGetNewArgs.__getnewargs__:__getnewargs__ does not return a tuple
+invalid-getnewargs-returned:36:4:37:16:FirstBadGetNewArgs.__getnewargs__:__getnewargs__ does not return a tuple:UNDEFINED
+invalid-getnewargs-returned:43:4:44:26:SecondBadGetNewArgs.__getnewargs__:__getnewargs__ does not return a tuple:UNDEFINED
+invalid-getnewargs-returned:50:4:51:34:ThirdBadGetNewArgs.__getnewargs__:__getnewargs__ does not return a tuple:UNDEFINED
diff --git a/tests/functional/i/invalid/invalid_all_format.txt b/tests/functional/i/invalid/invalid_all_format.txt
index f10297d4e..2ba8dc17f 100644
--- a/tests/functional/i/invalid/invalid_all_format.txt
+++ b/tests/functional/i/invalid/invalid_all_format.txt
@@ -1 +1 @@
-invalid-all-format:5:11::Invalid format for __all__, must be tuple or list:HIGH
+invalid-all-format:5:11:None:None::Invalid format for __all__, must be tuple or list:UNDEFINED
diff --git a/tests/functional/i/invalid/invalid_all_object.txt b/tests/functional/i/invalid/invalid_all_object.txt
index ebcdb8d35..172fc974c 100644
--- a/tests/functional/i/invalid/invalid_all_object.txt
+++ b/tests/functional/i/invalid/invalid_all_object.txt
@@ -1,3 +1,3 @@
-invalid-all-object:3:4::Invalid object '1' in __all__, must contain only strings
-invalid-all-object:4:4:<lambda>:"Invalid object 'lambda: None' in __all__, must contain only strings"
-invalid-all-object:5:4::Invalid object 'None' in __all__, must contain only strings
+invalid-all-object:3:4:3:5::Invalid object '1' in __all__, must contain only strings:UNDEFINED
+invalid-all-object:4:4:4:16:<lambda>:"Invalid object 'lambda: None' in __all__, must contain only strings":UNDEFINED
+invalid-all-object:5:4:5:8::Invalid object 'None' in __all__, must contain only strings:UNDEFINED
diff --git a/tests/functional/i/invalid/invalid_class_object.txt b/tests/functional/i/invalid/invalid_class_object.txt
index 0c09dd334..221431b48 100644
--- a/tests/functional/i/invalid/invalid_class_object.txt
+++ b/tests/functional/i/invalid/invalid_class_object.txt
@@ -1,2 +1,2 @@
-invalid-class-object:17:0::Invalid __class__ object
-invalid-class-object:18:0::Invalid __class__ object
+invalid-class-object:17:0:17:11::Invalid __class__ object:UNDEFINED
+invalid-class-object:18:0:18:11::Invalid __class__ object:UNDEFINED
diff --git a/tests/functional/i/invalid/invalid_format_returned.txt b/tests/functional/i/invalid/invalid_format_returned.txt
index 3a3e1ae67..fc753eab3 100644
--- a/tests/functional/i/invalid/invalid_format_returned.txt
+++ b/tests/functional/i/invalid/invalid_format_returned.txt
@@ -1,3 +1,3 @@
-invalid-format-returned:36:4:FirstBadFormat.__format__:__format__ does not return str
-invalid-format-returned:43:4:SecondBadFormat.__format__:__format__ does not return str
-invalid-format-returned:50:4:ThirdBadFormat.__format__:__format__ does not return str
+invalid-format-returned:36:4:37:21:FirstBadFormat.__format__:__format__ does not return str:UNDEFINED
+invalid-format-returned:43:4:44:16:SecondBadFormat.__format__:__format__ does not return str:UNDEFINED
+invalid-format-returned:50:4:51:36:ThirdBadFormat.__format__:__format__ does not return str:UNDEFINED
diff --git a/tests/functional/i/invalid/invalid_hash_returned.txt b/tests/functional/i/invalid/invalid_hash_returned.txt
index f30e51417..3b5f2d681 100644
--- a/tests/functional/i/invalid/invalid_hash_returned.txt
+++ b/tests/functional/i/invalid/invalid_hash_returned.txt
@@ -1,4 +1,4 @@
-invalid-hash-returned:36:4:FirstBadHash.__hash__:__hash__ does not return int
-invalid-hash-returned:43:4:SecondBadHash.__hash__:__hash__ does not return int
-invalid-hash-returned:50:4:ThirdBadHash.__hash__:__hash__ does not return int
-invalid-hash-returned:57:4:FourthBadHash.__hash__:__hash__ does not return int
+invalid-hash-returned:36:4:37:17:FirstBadHash.__hash__:__hash__ does not return int:UNDEFINED
+invalid-hash-returned:43:4:44:21:SecondBadHash.__hash__:__hash__ does not return int:UNDEFINED
+invalid-hash-returned:50:4:51:19:ThirdBadHash.__hash__:__hash__ does not return int:UNDEFINED
+invalid-hash-returned:57:4:58:24:FourthBadHash.__hash__:__hash__ does not return int:UNDEFINED
diff --git a/tests/functional/i/invalid/invalid_index_returned.txt b/tests/functional/i/invalid/invalid_index_returned.txt
index 840d74a91..4479b28cf 100644
--- a/tests/functional/i/invalid/invalid_index_returned.txt
+++ b/tests/functional/i/invalid/invalid_index_returned.txt
@@ -1,4 +1,4 @@
-invalid-index-returned:36:4:FirstBadIndex.__index__:__index__ does not return int
-invalid-index-returned:43:4:SecondBadIndex.__index__:__index__ does not return int
-invalid-index-returned:50:4:ThirdBadIndex.__index__:__index__ does not return int
-invalid-index-returned:57:4:FourthBadIndex.__index__:__index__ does not return int
+invalid-index-returned:36:4:37:25:FirstBadIndex.__index__:__index__ does not return int:UNDEFINED
+invalid-index-returned:43:4:44:19:SecondBadIndex.__index__:__index__ does not return int:UNDEFINED
+invalid-index-returned:50:4:51:19:ThirdBadIndex.__index__:__index__ does not return int:UNDEFINED
+invalid-index-returned:57:4:58:24:FourthBadIndex.__index__:__index__ does not return int:UNDEFINED
diff --git a/tests/functional/i/invalid/invalid_name.txt b/tests/functional/i/invalid/invalid_name.txt
index abf0f97b9..8f464f5d6 100644
--- a/tests/functional/i/invalid/invalid_name.txt
+++ b/tests/functional/i/invalid/invalid_name.txt
@@ -1,8 +1,8 @@
-invalid-name:12:0::"Constant name ""aaa"" doesn't conform to UPPER_CASE naming style":HIGH
-invalid-name:16:4::"Constant name ""time"" doesn't conform to UPPER_CASE naming style":HIGH
-invalid-name:32:0:a:"Function name ""a"" doesn't conform to snake_case naming style":HIGH
-invalid-name:46:4::"Constant name ""Foocapfor"" doesn't conform to UPPER_CASE naming style":HIGH
-invalid-name:63:0:a_very_very_very_long_function_name_WithCamelCase_to_make_it_sad:"Function name ""a_very_very_very_long_function_name_WithCamelCase_to_make_it_sad"" doesn't conform to snake_case naming style":HIGH
-invalid-name:75:23:FooBar.__init__:"Argument name ""fooBar"" doesn't conform to snake_case naming style":HIGH
-invalid-name:81:8:FooBar.func1:"Argument name ""fooBar"" doesn't conform to snake_case naming style":HIGH
-invalid-name:101:8:FooBar.test_disable_mixed:"Argument name ""fooBar2"" doesn't conform to snake_case naming style":HIGH
+invalid-name:12:0:12:3::"Constant name ""aaa"" doesn't conform to UPPER_CASE naming style":HIGH
+invalid-name:16:4:16:8::"Constant name ""time"" doesn't conform to UPPER_CASE naming style":HIGH
+invalid-name:32:0:33:12:a:"Function name ""a"" doesn't conform to snake_case naming style":HIGH
+invalid-name:46:4:46:13::"Constant name ""Foocapfor"" doesn't conform to UPPER_CASE naming style":HIGH
+invalid-name:63:0:69:16:a_very_very_very_long_function_name_WithCamelCase_to_make_it_sad:"Function name ""a_very_very_very_long_function_name_WithCamelCase_to_make_it_sad"" doesn't conform to snake_case naming style":HIGH
+invalid-name:75:23:75:29:FooBar.__init__:"Argument name ""fooBar"" doesn't conform to snake_case naming style":HIGH
+invalid-name:81:8:81:14:FooBar.func1:"Argument name ""fooBar"" doesn't conform to snake_case naming style":HIGH
+invalid-name:101:8:101:15:FooBar.test_disable_mixed:"Argument name ""fooBar2"" doesn't conform to snake_case naming style":HIGH
diff --git a/tests/functional/i/invalid/invalid_name_issue_3405.txt b/tests/functional/i/invalid/invalid_name_issue_3405.txt
index 999137e42..c2a936a95 100644
--- a/tests/functional/i/invalid/invalid_name_issue_3405.txt
+++ b/tests/functional/i/invalid/invalid_name_issue_3405.txt
@@ -1 +1 @@
-invalid-name:11:4:Foo:"Class attribute name ""x"" doesn't conform to '^y$' pattern":HIGH
+invalid-name:11:4:11:5:Foo:"Class attribute name ""x"" doesn't conform to '^y$' pattern":HIGH
diff --git a/tests/functional/i/invalid/invalid_name_multinaming_style.txt b/tests/functional/i/invalid/invalid_name_multinaming_style.txt
index abcde057e..f948f4815 100644
--- a/tests/functional/i/invalid/invalid_name_multinaming_style.txt
+++ b/tests/functional/i/invalid/invalid_name_multinaming_style.txt
@@ -1 +1 @@
-invalid-name:4:0:UPPER:"Function name ""UPPER"" doesn't conform to the `down` group in the '^(?:(?P<UP>[A-Z]+)|(?P<down>[a-z]+))$' pattern":HIGH
+invalid-name:4:0:5:59:UPPER:"Function name ""UPPER"" doesn't conform to the `down` group in the '^(?:(?P<UP>[A-Z]+)|(?P<down>[a-z]+))$' pattern":HIGH
diff --git a/tests/functional/i/invalid/invalid_overridden_method.txt b/tests/functional/i/invalid/invalid_overridden_method.txt
index 8e09d9883..65a2d76ab 100644
--- a/tests/functional/i/invalid/invalid_overridden_method.txt
+++ b/tests/functional/i/invalid/invalid_overridden_method.txt
@@ -1,6 +1,6 @@
-invalid-overridden-method:38:4:InvalidDerived.prop:Method 'prop' was expected to be 'property', found it instead as 'method'
-invalid-overridden-method:41:4:InvalidDerived.async_method:Method 'async_method' was expected to be 'async', found it instead as 'non-async'
-invalid-overridden-method:45:4:InvalidDerived.method_a:Method 'method_a' was expected to be 'method', found it instead as 'property'
-invalid-overridden-method:48:4:InvalidDerived.method_b:Method 'method_b' was expected to be 'non-async', found it instead as 'async'
-invalid-overridden-method:122:4:B.bar:Method 'bar' was expected to be 'property', found it instead as 'method'
-invalid-overridden-method:126:4:B.bar2:Method 'bar2' was expected to be 'property', found it instead as 'method'
+invalid-overridden-method:38:4:39:19:InvalidDerived.prop:Method 'prop' was expected to be 'property', found it instead as 'method':UNDEFINED
+invalid-overridden-method:41:4:42:19:InvalidDerived.async_method:Method 'async_method' was expected to be 'async', found it instead as 'non-async':UNDEFINED
+invalid-overridden-method:45:4:46:19:InvalidDerived.method_a:Method 'method_a' was expected to be 'method', found it instead as 'property':UNDEFINED
+invalid-overridden-method:48:4:49:19:InvalidDerived.method_b:Method 'method_b' was expected to be 'non-async', found it instead as 'async':UNDEFINED
+invalid-overridden-method:122:4:123:20:B.bar:Method 'bar' was expected to be 'property', found it instead as 'method':UNDEFINED
+invalid-overridden-method:126:4:127:20:B.bar2:Method 'bar2' was expected to be 'property', found it instead as 'method':UNDEFINED
diff --git a/tests/functional/i/invalid/invalid_repr_returned.txt b/tests/functional/i/invalid/invalid_repr_returned.txt
index 4be375f1f..0f557701a 100644
--- a/tests/functional/i/invalid/invalid_repr_returned.txt
+++ b/tests/functional/i/invalid/invalid_repr_returned.txt
@@ -1,3 +1,3 @@
-invalid-repr-returned:36:4:FirstBadRepr.__repr__:__repr__ does not return str
-invalid-repr-returned:43:4:SecondBadRepr.__repr__:__repr__ does not return str
-invalid-repr-returned:50:4:ThirdBadRepr.__repr__:__repr__ does not return str
+invalid-repr-returned:36:4:37:21:FirstBadRepr.__repr__:__repr__ does not return str:UNDEFINED
+invalid-repr-returned:43:4:44:16:SecondBadRepr.__repr__:__repr__ does not return str:UNDEFINED
+invalid-repr-returned:50:4:51:34:ThirdBadRepr.__repr__:__repr__ does not return str:UNDEFINED
diff --git a/tests/functional/i/invalid/invalid_unary_operand_type.txt b/tests/functional/i/invalid/invalid_unary_operand_type.txt
index 6a3dd591d..a68842532 100644
--- a/tests/functional/i/invalid/invalid_unary_operand_type.txt
+++ b/tests/functional/i/invalid/invalid_unary_operand_type.txt
@@ -1,14 +1,14 @@
-invalid-unary-operand-type:36:18:these_are_bad:"bad operand type for unary ~: list"
-invalid-unary-operand-type:37:19:these_are_bad:"bad operand type for unary ~: tuple"
-invalid-unary-operand-type:38:18:these_are_bad:"bad operand type for unary ~: dict"
-invalid-unary-operand-type:39:20:these_are_bad:"bad operand type for unary ~: dict"
-invalid-unary-operand-type:40:17:these_are_bad:"bad operand type for unary ~: set"
-invalid-unary-operand-type:41:14:these_are_bad:"bad operand type for unary -: set"
-invalid-unary-operand-type:42:14:these_are_bad:"bad operand type for unary -: str"
-invalid-unary-operand-type:43:17:these_are_bad:"bad operand type for unary ~: str"
-invalid-unary-operand-type:44:14:these_are_bad:"bad operand type for unary +: str"
-invalid-unary-operand-type:47:18:these_are_bad:"bad operand type for unary ~: <lambda>"
-invalid-unary-operand-type:48:19:these_are_bad:"bad operand type for unary ~: A"
-invalid-unary-operand-type:49:22:these_are_bad:"bad operand type for unary ~: A"
-invalid-unary-operand-type:50:20:these_are_bad:"bad operand type for unary ~: collections"
-invalid-unary-operand-type:51:19:these_are_bad:"bad operand type for unary ~: float"
+invalid-unary-operand-type:36:18:36:21:these_are_bad:"bad operand type for unary ~: list":UNDEFINED
+invalid-unary-operand-type:37:19:37:22:these_are_bad:"bad operand type for unary ~: tuple":UNDEFINED
+invalid-unary-operand-type:38:18:38:25:these_are_bad:"bad operand type for unary ~: dict":UNDEFINED
+invalid-unary-operand-type:39:20:39:23:these_are_bad:"bad operand type for unary ~: dict":UNDEFINED
+invalid-unary-operand-type:40:17:40:23:these_are_bad:"bad operand type for unary ~: set":UNDEFINED
+invalid-unary-operand-type:41:14:41:20:these_are_bad:"bad operand type for unary -: set":UNDEFINED
+invalid-unary-operand-type:42:14:42:17:these_are_bad:"bad operand type for unary -: str":UNDEFINED
+invalid-unary-operand-type:43:17:43:20:these_are_bad:"bad operand type for unary ~: str":UNDEFINED
+invalid-unary-operand-type:44:14:44:17:these_are_bad:"bad operand type for unary +: str":UNDEFINED
+invalid-unary-operand-type:47:18:47:33:these_are_bad:"bad operand type for unary ~: <lambda>":UNDEFINED
+invalid-unary-operand-type:48:19:48:21:these_are_bad:"bad operand type for unary ~: A":UNDEFINED
+invalid-unary-operand-type:49:22:49:26:these_are_bad:"bad operand type for unary ~: A":UNDEFINED
+invalid-unary-operand-type:50:20:50:32:these_are_bad:"bad operand type for unary ~: collections":UNDEFINED
+invalid-unary-operand-type:51:19:51:23:these_are_bad:"bad operand type for unary ~: float":UNDEFINED
diff --git a/tests/functional/i/invalid/l/invalid_length_hint_returned.txt b/tests/functional/i/invalid/l/invalid_length_hint_returned.txt
index dd31af76e..2447d0743 100644
--- a/tests/functional/i/invalid/l/invalid_length_hint_returned.txt
+++ b/tests/functional/i/invalid/l/invalid_length_hint_returned.txt
@@ -1,3 +1,3 @@
-invalid-length-hint-returned:38:4:FirstBadLengthHint.__length_hint__:__length_hint__ does not return non-negative integer
-invalid-length-hint-returned:45:4:SecondBadLengthHint.__length_hint__:__length_hint__ does not return non-negative integer
-invalid-length-hint-returned:52:4:ThirdBadLengthHint.__length_hint__:__length_hint__ does not return non-negative integer
+invalid-length-hint-returned:38:4:39:17:FirstBadLengthHint.__length_hint__:__length_hint__ does not return non-negative integer:UNDEFINED
+invalid-length-hint-returned:45:4:46:18:SecondBadLengthHint.__length_hint__:__length_hint__ does not return non-negative integer:UNDEFINED
+invalid-length-hint-returned:52:4:53:24:ThirdBadLengthHint.__length_hint__:__length_hint__ does not return non-negative integer:UNDEFINED
diff --git a/tests/functional/i/invalid/l/invalid_length_returned.txt b/tests/functional/i/invalid/l/invalid_length_returned.txt
index 27b86cd13..776945e34 100644
--- a/tests/functional/i/invalid/l/invalid_length_returned.txt
+++ b/tests/functional/i/invalid/l/invalid_length_returned.txt
@@ -1,4 +1,4 @@
-invalid-length-returned:38:4:FirstBadLen.__len__:__len__ does not return non-negative integer
-invalid-length-returned:45:4:SecondBadLen.__len__:__len__ does not return non-negative integer
-invalid-length-returned:52:4:ThirdBadLen.__len__:__len__ does not return non-negative integer
-invalid-length-returned:59:4:NonRegression.__len__:__len__ does not return non-negative integer
+invalid-length-returned:38:4:39:17:FirstBadLen.__len__:__len__ does not return non-negative integer:UNDEFINED
+invalid-length-returned:45:4:46:18:SecondBadLen.__len__:__len__ does not return non-negative integer:UNDEFINED
+invalid-length-returned:52:4:53:24:ThirdBadLen.__len__:__len__ does not return non-negative integer:UNDEFINED
+invalid-length-returned:59:4:60:18:NonRegression.__len__:__len__ does not return non-negative integer:UNDEFINED
diff --git a/tests/functional/i/invalid/s/invalid_sequence_index.txt b/tests/functional/i/invalid/s/invalid_sequence_index.txt
index baf1b2167..dc04046be 100644
--- a/tests/functional/i/invalid/s/invalid_sequence_index.txt
+++ b/tests/functional/i/invalid/s/invalid_sequence_index.txt
@@ -1,19 +1,19 @@
-invalid-sequence-index:13:11:function1:Sequence index is not an int, slice, or instance with __index__
-invalid-sequence-index:17:11:function2:Sequence index is not an int, slice, or instance with __index__
-invalid-sequence-index:21:11:function3:Sequence index is not an int, slice, or instance with __index__
-invalid-sequence-index:25:11:function4:Sequence index is not an int, slice, or instance with __index__
-invalid-sequence-index:33:11:function5:Sequence index is not an int, slice, or instance with __index__
-invalid-sequence-index:37:11:function6:Sequence index is not an int, slice, or instance with __index__
-invalid-sequence-index:41:11:function7:Sequence index is not an int, slice, or instance with __index__
-invalid-sequence-index:48:11:function8:Sequence index is not an int, slice, or instance with __index__
-invalid-sequence-index:128:4:function19:Sequence index is not an int, slice, or instance with __index__
-invalid-sequence-index:133:8:function20:Sequence index is not an int, slice, or instance with __index__
-invalid-sequence-index:144:4:function21:Sequence index is not an int, slice, or instance with __index__
-invalid-sequence-index:145:8:function21:Sequence index is not an int, slice, or instance with __index__
-invalid-sequence-index:160:4:function22:Sequence index is not an int, slice, or instance with __index__
-invalid-sequence-index:162:8:function22:Sequence index is not an int, slice, or instance with __index__
-invalid-sequence-index:178:4:function23:Sequence index is not an int, slice, or instance with __index__
-invalid-sequence-index:180:4:function23:Sequence index is not an int, slice, or instance with __index__
-invalid-sequence-index:196:4:function24:Sequence index is not an int, slice, or instance with __index__
-invalid-sequence-index:198:8:function24:Sequence index is not an int, slice, or instance with __index__
-invalid-sequence-index:208:11:function25:Sequence index is not an int, slice, or instance with __index__
+invalid-sequence-index:13:11:13:23:function1:Sequence index is not an int, slice, or instance with __index__:UNDEFINED
+invalid-sequence-index:17:11:17:25:function2:Sequence index is not an int, slice, or instance with __index__:UNDEFINED
+invalid-sequence-index:21:11:21:29:function3:Sequence index is not an int, slice, or instance with __index__:UNDEFINED
+invalid-sequence-index:25:11:25:24:function4:Sequence index is not an int, slice, or instance with __index__:UNDEFINED
+invalid-sequence-index:33:11:33:35:function5:Sequence index is not an int, slice, or instance with __index__:UNDEFINED
+invalid-sequence-index:37:11:37:26:function6:Sequence index is not an int, slice, or instance with __index__:UNDEFINED
+invalid-sequence-index:41:11:41:24:function7:Sequence index is not an int, slice, or instance with __index__:UNDEFINED
+invalid-sequence-index:48:11:48:28:function8:Sequence index is not an int, slice, or instance with __index__:UNDEFINED
+invalid-sequence-index:128:4:128:18:function19:Sequence index is not an int, slice, or instance with __index__:UNDEFINED
+invalid-sequence-index:133:8:133:22:function20:Sequence index is not an int, slice, or instance with __index__:UNDEFINED
+invalid-sequence-index:144:4:144:14:function21:Sequence index is not an int, slice, or instance with __index__:UNDEFINED
+invalid-sequence-index:145:8:145:18:function21:Sequence index is not an int, slice, or instance with __index__:UNDEFINED
+invalid-sequence-index:160:4:160:14:function22:Sequence index is not an int, slice, or instance with __index__:UNDEFINED
+invalid-sequence-index:162:8:162:18:function22:Sequence index is not an int, slice, or instance with __index__:UNDEFINED
+invalid-sequence-index:178:4:178:14:function23:Sequence index is not an int, slice, or instance with __index__:UNDEFINED
+invalid-sequence-index:180:4:180:14:function23:Sequence index is not an int, slice, or instance with __index__:UNDEFINED
+invalid-sequence-index:196:4:196:14:function24:Sequence index is not an int, slice, or instance with __index__:UNDEFINED
+invalid-sequence-index:198:8:198:18:function24:Sequence index is not an int, slice, or instance with __index__:UNDEFINED
+invalid-sequence-index:208:11:208:27:function25:Sequence index is not an int, slice, or instance with __index__:UNDEFINED
diff --git a/tests/functional/i/invalid/s/invalid_slice_index.txt b/tests/functional/i/invalid/s/invalid_slice_index.txt
index 84a862414..97754e840 100644
--- a/tests/functional/i/invalid/s/invalid_slice_index.txt
+++ b/tests/functional/i/invalid/s/invalid_slice_index.txt
@@ -1,5 +1,5 @@
-invalid-slice-index:10:20:function1:Slice index is not an int, None, or instance with __index__:HIGH
-invalid-slice-index:10:23:function1:Slice index is not an int, None, or instance with __index__:HIGH
-invalid-slice-index:14:20:function2:Slice index is not an int, None, or instance with __index__:HIGH
-invalid-slice-index:14:24:function2:Slice index is not an int, None, or instance with __index__:HIGH
-invalid-slice-index:23:20:function3:Slice index is not an int, None, or instance with __index__:HIGH
+invalid-slice-index:10:20:10:22:function1:Slice index is not an int, None, or instance with __index__:UNDEFINED
+invalid-slice-index:10:23:10:25:function1:Slice index is not an int, None, or instance with __index__:UNDEFINED
+invalid-slice-index:14:20:14:23:function2:Slice index is not an int, None, or instance with __index__:UNDEFINED
+invalid-slice-index:14:24:14:27:function2:Slice index is not an int, None, or instance with __index__:UNDEFINED
+invalid-slice-index:23:20:23:33:function3:Slice index is not an int, None, or instance with __index__:UNDEFINED
diff --git a/tests/functional/i/invalid/s/invalid_star_assignment_target.txt b/tests/functional/i/invalid/s/invalid_star_assignment_target.txt
index eb9f27c90..657bbc3bb 100644
--- a/tests/functional/i/invalid/s/invalid_star_assignment_target.txt
+++ b/tests/functional/i/invalid/s/invalid_star_assignment_target.txt
@@ -1 +1 @@
-invalid-star-assignment-target:3:0::Starred assignment target must be in a list or tuple
+invalid-star-assignment-target:3:0:3:18::Starred assignment target must be in a list or tuple:UNDEFINED
diff --git a/tests/functional/i/invalid/s/invalid_str_returned.txt b/tests/functional/i/invalid/s/invalid_str_returned.txt
index 36b7ec57c..522fdb9bf 100644
--- a/tests/functional/i/invalid/s/invalid_str_returned.txt
+++ b/tests/functional/i/invalid/s/invalid_str_returned.txt
@@ -1,3 +1,3 @@
-invalid-str-returned:36:4:FirstBadStr.__str__:__str__ does not return str
-invalid-str-returned:43:4:SecondBadStr.__str__:__str__ does not return str
-invalid-str-returned:50:4:ThirdBadStr.__str__:__str__ does not return str
+invalid-str-returned:36:4:37:21:FirstBadStr.__str__:__str__ does not return str:UNDEFINED
+invalid-str-returned:43:4:44:16:SecondBadStr.__str__:__str__ does not return str:UNDEFINED
+invalid-str-returned:50:4:51:33:ThirdBadStr.__str__:__str__ does not return str:UNDEFINED
diff --git a/tests/functional/i/isinstance_second_argument.txt b/tests/functional/i/isinstance_second_argument.txt
index aef0dcc07..20c13499e 100644
--- a/tests/functional/i/isinstance_second_argument.txt
+++ b/tests/functional/i/isinstance_second_argument.txt
@@ -1,5 +1,5 @@
-isinstance-second-argument-not-valid-type:27:0::Second argument of isinstance is not a type
-isinstance-second-argument-not-valid-type:28:0::Second argument of isinstance is not a type
-isinstance-second-argument-not-valid-type:29:0::Second argument of isinstance is not a type
-isinstance-second-argument-not-valid-type:30:0::Second argument of isinstance is not a type
-isinstance-second-argument-not-valid-type:31:0::Second argument of isinstance is not a type
+isinstance-second-argument-not-valid-type:27:0:27:23::Second argument of isinstance is not a type:UNDEFINED
+isinstance-second-argument-not-valid-type:28:0:28:19::Second argument of isinstance is not a type:UNDEFINED
+isinstance-second-argument-not-valid-type:29:0:29:34::Second argument of isinstance is not a type:UNDEFINED
+isinstance-second-argument-not-valid-type:30:0:30:54::Second argument of isinstance is not a type:UNDEFINED
+isinstance-second-argument-not-valid-type:31:0:31:18::Second argument of isinstance is not a type:UNDEFINED
diff --git a/tests/functional/i/iterable_context.txt b/tests/functional/i/iterable_context.txt
index 2ec91a4b9..ef59b379c 100644
--- a/tests/functional/i/iterable_context.txt
+++ b/tests/functional/i/iterable_context.txt
@@ -1,10 +1,10 @@
-not-an-iterable:58:9::Non-iterable value powers_of_two is used in an iterating context
-not-an-iterable:93:6::Non-iterable value A() is used in an iterating context
-not-an-iterable:95:6::Non-iterable value B is used in an iterating context
-not-an-iterable:96:9::Non-iterable value A() is used in an iterating context
-not-an-iterable:100:9::Non-iterable value B is used in an iterating context
-not-an-iterable:103:9::Non-iterable value range is used in an iterating context
-not-an-iterable:107:9::Non-iterable value True is used in an iterating context
-not-an-iterable:110:9::Non-iterable value None is used in an iterating context
-not-an-iterable:113:9::Non-iterable value 8.5 is used in an iterating context
-not-an-iterable:116:9::Non-iterable value 10 is used in an iterating context
+not-an-iterable:58:9:58:22::Non-iterable value powers_of_two is used in an iterating context:UNDEFINED
+not-an-iterable:93:6:93:9::Non-iterable value A() is used in an iterating context:UNDEFINED
+not-an-iterable:95:6:95:7::Non-iterable value B is used in an iterating context:UNDEFINED
+not-an-iterable:96:9:96:12::Non-iterable value A() is used in an iterating context:UNDEFINED
+not-an-iterable:100:9:100:10::Non-iterable value B is used in an iterating context:UNDEFINED
+not-an-iterable:103:9:103:14::Non-iterable value range is used in an iterating context:UNDEFINED
+not-an-iterable:107:9:107:13::Non-iterable value True is used in an iterating context:UNDEFINED
+not-an-iterable:110:9:110:13::Non-iterable value None is used in an iterating context:UNDEFINED
+not-an-iterable:113:9:113:12::Non-iterable value 8.5 is used in an iterating context:UNDEFINED
+not-an-iterable:116:9:116:11::Non-iterable value 10 is used in an iterating context:UNDEFINED
diff --git a/tests/functional/i/iterable_context_py3.txt b/tests/functional/i/iterable_context_py3.txt
index b3849d467..24923704b 100644
--- a/tests/functional/i/iterable_context_py3.txt
+++ b/tests/functional/i/iterable_context_py3.txt
@@ -1 +1 @@
-not-an-iterable:17:9::Non-iterable value SomeClass() is used in an iterating context
+not-an-iterable:17:9:17:20::Non-iterable value SomeClass() is used in an iterating context:UNDEFINED
diff --git a/tests/functional/i/iterable_context_py36.txt b/tests/functional/i/iterable_context_py36.txt
index b4a7c1fe1..f5dd0c252 100644
--- a/tests/functional/i/iterable_context_py36.txt
+++ b/tests/functional/i/iterable_context_py36.txt
@@ -1,2 +1,2 @@
-not-an-iterable:11:35:AIter.to_list:Non-iterable value self is used in an iterating context
-not-an-iterable:12:21:AIter.to_list:Non-iterable value self is used in an iterating context
+not-an-iterable:11:35:11:39:AIter.to_list:Non-iterable value self is used in an iterating context:UNDEFINED
+not-an-iterable:12:21:12:25:AIter.to_list:Non-iterable value self is used in an iterating context:UNDEFINED
diff --git a/tests/functional/k/keyword_arg_before_vararg.txt b/tests/functional/k/keyword_arg_before_vararg.txt
index 874c09497..f20a319a7 100644
--- a/tests/functional/k/keyword_arg_before_vararg.txt
+++ b/tests/functional/k/keyword_arg_before_vararg.txt
@@ -1,4 +1,4 @@
-keyword-arg-before-vararg:5:0:check_kwargs_before_args:Keyword argument before variable positional arguments list in the definition of check_kwargs_before_args function
-keyword-arg-before-vararg:14:4:AAAA.func_in_class:Keyword argument before variable positional arguments list in the definition of func_in_class function
-keyword-arg-before-vararg:19:4:AAAA.static_method_in_class:Keyword argument before variable positional arguments list in the definition of static_method_in_class function
-keyword-arg-before-vararg:24:4:AAAA.class_method_in_class:Keyword argument before variable positional arguments list in the definition of class_method_in_class function
+keyword-arg-before-vararg:5:0:7:8:check_kwargs_before_args:Keyword argument before variable positional arguments list in the definition of check_kwargs_before_args function:UNDEFINED
+keyword-arg-before-vararg:14:4:16:12:AAAA.func_in_class:Keyword argument before variable positional arguments list in the definition of func_in_class function:UNDEFINED
+keyword-arg-before-vararg:19:4:21:12:AAAA.static_method_in_class:Keyword argument before variable positional arguments list in the definition of static_method_in_class function:UNDEFINED
+keyword-arg-before-vararg:24:4:26:12:AAAA.class_method_in_class:Keyword argument before variable positional arguments list in the definition of class_method_in_class function:UNDEFINED
diff --git a/tests/functional/l/line_endings.txt b/tests/functional/l/line_endings.txt
index 9d45f4ad6..0415bb3d4 100644
--- a/tests/functional/l/line_endings.txt
+++ b/tests/functional/l/line_endings.txt
@@ -1,2 +1,2 @@
-mixed-line-endings:3:0::Mixed line endings LF and CRLF
-unexpected-line-ending-format:3:0::Unexpected line ending format. There is 'CRLF' while it should be 'LF'.
+mixed-line-endings:3:0:None:None::Mixed line endings LF and CRLF:UNDEFINED
+unexpected-line-ending-format:3:0:None:None::Unexpected line ending format. There is 'CRLF' while it should be 'LF'.:UNDEFINED
diff --git a/tests/functional/l/line_too_long.txt b/tests/functional/l/line_too_long.txt
index 57719ce6d..86343860f 100644
--- a/tests/functional/l/line_too_long.txt
+++ b/tests/functional/l/line_too_long.txt
@@ -1,11 +1,11 @@
-line-too-long:3:0::Line too long (101/100)
-line-too-long:5:0::Line too long (104/100)
-line-too-long:18:0::Line too long (102/100)
-line-too-long:24:0::Line too long (109/100)
-line-too-long:27:0::Line too long (115/100)
-line-too-long:34:0::Line too long (105/100)
-line-too-long:62:0::Line too long (112/100)
-line-too-long:64:0::Line too long (122/100)
-line-too-long:71:0::Line too long (131/100)
-line-too-long:72:0::Line too long (135/100)
-line-too-long:76:0::Line too long (135/100)
+line-too-long:3:0:None:None::Line too long (101/100):UNDEFINED
+line-too-long:5:0:None:None::Line too long (104/100):UNDEFINED
+line-too-long:18:0:None:None::Line too long (102/100):UNDEFINED
+line-too-long:24:0:None:None::Line too long (109/100):UNDEFINED
+line-too-long:27:0:None:None::Line too long (115/100):UNDEFINED
+line-too-long:34:0:None:None::Line too long (105/100):UNDEFINED
+line-too-long:62:0:None:None::Line too long (112/100):UNDEFINED
+line-too-long:64:0:None:None::Line too long (122/100):UNDEFINED
+line-too-long:71:0:None:None::Line too long (131/100):UNDEFINED
+line-too-long:72:0:None:None::Line too long (135/100):UNDEFINED
+line-too-long:76:0:None:None::Line too long (135/100):UNDEFINED
diff --git a/tests/functional/l/literal_comparison.txt b/tests/functional/l/literal_comparison.txt
index 30d54a285..38d9b6002 100644
--- a/tests/functional/l/literal_comparison.txt
+++ b/tests/functional/l/literal_comparison.txt
@@ -1,12 +1,12 @@
-literal-comparison:4:3::Comparison to literal:HIGH
-literal-comparison:7:3::Comparison to literal:HIGH
-literal-comparison:10:3::Comparison to literal:HIGH
-literal-comparison:16:3::Comparison to literal:HIGH
-literal-comparison:19:3::Comparison to literal:HIGH
-literal-comparison:22:3::Comparison to literal:HIGH
-literal-comparison:25:3::Comparison to literal:HIGH
-literal-comparison:28:3::Comparison to literal:HIGH
-literal-comparison:31:3::Comparison to literal:HIGH
-literal-comparison:38:3::Comparison to literal:HIGH
-literal-comparison:41:3::Comparison to literal:HIGH
-literal-comparison:44:3::Comparison to literal:HIGH
+literal-comparison:4:3:4:9::Comparison to literal:UNDEFINED
+literal-comparison:7:3:7:14::Comparison to literal:UNDEFINED
+literal-comparison:10:3:10:13::Comparison to literal:UNDEFINED
+literal-comparison:16:3:16:19::Comparison to literal:UNDEFINED
+literal-comparison:19:3:19:18::Comparison to literal:UNDEFINED
+literal-comparison:22:3:22:18::Comparison to literal:UNDEFINED
+literal-comparison:25:3:25:23::Comparison to literal:UNDEFINED
+literal-comparison:28:3:28:22::Comparison to literal:UNDEFINED
+literal-comparison:31:3:31:22::Comparison to literal:UNDEFINED
+literal-comparison:38:3:38:13::Comparison to literal:UNDEFINED
+literal-comparison:41:3:41:13::Comparison to literal:UNDEFINED
+literal-comparison:44:3:44:14::Comparison to literal:UNDEFINED
diff --git a/tests/functional/l/logging_format_interpolation.txt b/tests/functional/l/logging_format_interpolation.txt
index 6437b7176..8c7d6a474 100644
--- a/tests/functional/l/logging_format_interpolation.txt
+++ b/tests/functional/l/logging_format_interpolation.txt
@@ -1,7 +1,7 @@
-logging-format-interpolation:16:22::Use lazy % formatting in logging functions
-logging-format-interpolation:17:43::Use lazy % formatting in logging functions
-logging-format-interpolation:18:22::Use lazy % formatting in logging functions
-logging-format-interpolation:19:43::Use lazy % formatting in logging functions
-logging-format-interpolation:20:21::Use lazy % formatting in logging functions
-logging-format-interpolation:36:19::Use lazy % formatting in logging functions
-logging-not-lazy:37:0::Use lazy % formatting in logging functions
+logging-format-interpolation:16:22:16:45::Use lazy % formatting in logging functions:UNDEFINED
+logging-format-interpolation:17:43:17:67::Use lazy % formatting in logging functions:UNDEFINED
+logging-format-interpolation:18:22:18:45::Use lazy % formatting in logging functions:UNDEFINED
+logging-format-interpolation:19:43:19:66::Use lazy % formatting in logging functions:UNDEFINED
+logging-format-interpolation:20:21:20:56::Use lazy % formatting in logging functions:UNDEFINED
+logging-format-interpolation:36:19:36:47::Use lazy % formatting in logging functions:UNDEFINED
+logging-not-lazy:37:0:37:41::Use lazy % formatting in logging functions:UNDEFINED
diff --git a/tests/functional/l/logging_format_interpolation_py36.txt b/tests/functional/l/logging_format_interpolation_py36.txt
index a0de664a6..582a10bb1 100644
--- a/tests/functional/l/logging_format_interpolation_py36.txt
+++ b/tests/functional/l/logging_format_interpolation_py36.txt
@@ -1 +1 @@
-logging-fstring-interpolation:5:0::Use lazy % formatting in logging functions
+logging-fstring-interpolation:5:0:5:60::Use lazy % formatting in logging functions:UNDEFINED
diff --git a/tests/functional/l/logging_fstring_interpolation_py36.txt b/tests/functional/l/logging_fstring_interpolation_py36.txt
index 5529b338e..bee0300fb 100644
--- a/tests/functional/l/logging_fstring_interpolation_py36.txt
+++ b/tests/functional/l/logging_fstring_interpolation_py36.txt
@@ -1,5 +1,5 @@
-logging-fstring-interpolation:17:0::Use lazy % formatting in logging functions
-logging-fstring-interpolation:18:0::Use lazy % formatting in logging functions
-logging-fstring-interpolation:19:0::Use lazy % formatting in logging functions
-logging-fstring-interpolation:20:0::Use lazy % formatting in logging functions
-logging-fstring-interpolation:21:0::Use lazy % formatting in logging functions
+logging-fstring-interpolation:17:0:17:53::Use lazy % formatting in logging functions:UNDEFINED
+logging-fstring-interpolation:18:0:18:65::Use lazy % formatting in logging functions:UNDEFINED
+logging-fstring-interpolation:19:0:19:59::Use lazy % formatting in logging functions:UNDEFINED
+logging-fstring-interpolation:20:0:20:46::Use lazy % formatting in logging functions:UNDEFINED
+logging-fstring-interpolation:21:0:21:45::Use lazy % formatting in logging functions:UNDEFINED
diff --git a/tests/functional/l/logging_not_lazy.txt b/tests/functional/l/logging_not_lazy.txt
index 88a1c1e81..a8b19d4b6 100644
--- a/tests/functional/l/logging_not_lazy.txt
+++ b/tests/functional/l/logging_not_lazy.txt
@@ -1,6 +1,6 @@
-logging-not-lazy:10:0::Use lazy % formatting in logging functions
-logging-not-lazy:11:0::Use lazy % formatting in logging functions
-logging-not-lazy:12:0::Use lazy % formatting in logging functions
-logging-not-lazy:13:0::Use lazy % formatting in logging functions
-logging-not-lazy:14:0::Use lazy % formatting in logging functions
-logging-not-lazy:15:0::Use lazy % formatting in logging functions
+logging-not-lazy:10:0:10:39::Use lazy % formatting in logging functions:UNDEFINED
+logging-not-lazy:11:0:11:48::Use lazy % formatting in logging functions:UNDEFINED
+logging-not-lazy:12:0:12:61::Use lazy % formatting in logging functions:UNDEFINED
+logging-not-lazy:13:0:13:56::Use lazy % formatting in logging functions:UNDEFINED
+logging-not-lazy:14:0:14:59::Use lazy % formatting in logging functions:UNDEFINED
+logging-not-lazy:15:0:15:57::Use lazy % formatting in logging functions:UNDEFINED
diff --git a/tests/functional/l/logging_not_lazy_with_logger.txt b/tests/functional/l/logging_not_lazy_with_logger.txt
index 43d9c1620..908d02b65 100644
--- a/tests/functional/l/logging_not_lazy_with_logger.txt
+++ b/tests/functional/l/logging_not_lazy_with_logger.txt
@@ -1,4 +1,4 @@
-logging-not-lazy:9:0::Use lazy % formatting in logging functions
-logging-not-lazy:10:0::Use lazy % formatting in logging functions
-logging-not-lazy:12:0::Use lazy % formatting in logging functions
-logging-not-lazy:14:0::Use lazy % formatting in logging functions
+logging-not-lazy:9:0:9:24::Use lazy % formatting in logging functions:UNDEFINED
+logging-not-lazy:10:0:10:37::Use lazy % formatting in logging functions:UNDEFINED
+logging-not-lazy:12:0:12:19::Use lazy % formatting in logging functions:UNDEFINED
+logging-not-lazy:14:0:14:48::Use lazy % formatting in logging functions:UNDEFINED
diff --git a/tests/functional/l/logical_tautology.txt b/tests/functional/l/logical_tautology.txt
index dba64ce48..775e8a1ac 100644
--- a/tests/functional/l/logical_tautology.txt
+++ b/tests/functional/l/logical_tautology.txt
@@ -1,12 +1,12 @@
-comparison-with-itself:6:7:foo:Redundant comparison - arg == arg
-comparison-with-itself:8:9:foo:Redundant comparison - arg != arg
-comparison-with-itself:10:9:foo:Redundant comparison - arg > arg
-comparison-with-itself:12:9:foo:Redundant comparison - arg <= arg
-comparison-with-itself:14:9:foo:Redundant comparison - None == None
-comparison-with-itself:16:9:foo:Redundant comparison - 786 == 786
-comparison-with-itself:18:9:foo:Redundant comparison - 786 is 786
-comparison-with-itself:20:9:foo:Redundant comparison - 786 is not 786
-comparison-with-itself:22:9:foo:Redundant comparison - arg is arg
-comparison-with-itself:24:9:foo:Redundant comparison - arg is not arg
-comparison-with-itself:26:9:foo:Redundant comparison - True is True
-comparison-with-itself:36:18:bar:Redundant comparison - arg != arg
+comparison-with-itself:6:7:6:17:foo:Redundant comparison - arg == arg:UNDEFINED
+comparison-with-itself:8:9:8:19:foo:Redundant comparison - arg != arg:UNDEFINED
+comparison-with-itself:10:9:10:18:foo:Redundant comparison - arg > arg:UNDEFINED
+comparison-with-itself:12:9:12:19:foo:Redundant comparison - arg <= arg:UNDEFINED
+comparison-with-itself:14:9:14:21:foo:Redundant comparison - None == None:UNDEFINED
+comparison-with-itself:16:9:16:19:foo:Redundant comparison - 786 == 786:UNDEFINED
+comparison-with-itself:18:9:18:19:foo:Redundant comparison - 786 is 786:UNDEFINED
+comparison-with-itself:20:9:20:23:foo:Redundant comparison - 786 is not 786:UNDEFINED
+comparison-with-itself:22:9:22:19:foo:Redundant comparison - arg is arg:UNDEFINED
+comparison-with-itself:24:9:24:23:foo:Redundant comparison - arg is not arg:UNDEFINED
+comparison-with-itself:26:9:26:21:foo:Redundant comparison - True is True:UNDEFINED
+comparison-with-itself:36:18:36:28:bar:Redundant comparison - arg != arg:UNDEFINED
diff --git a/tests/functional/l/long_lines_with_utf8.txt b/tests/functional/l/long_lines_with_utf8.txt
index 22440fa17..702476edc 100644
--- a/tests/functional/l/long_lines_with_utf8.txt
+++ b/tests/functional/l/long_lines_with_utf8.txt
@@ -1 +1 @@
-line-too-long:7:0::Line too long (108/100)
+line-too-long:7:0:None:None::Line too long (108/100):UNDEFINED
diff --git a/tests/functional/l/loopvar_in_dict_comp.txt b/tests/functional/l/loopvar_in_dict_comp.txt
index 2d98fcfff..b8fab5f9c 100644
--- a/tests/functional/l/loopvar_in_dict_comp.txt
+++ b/tests/functional/l/loopvar_in_dict_comp.txt
@@ -1 +1 @@
-cell-var-from-loop:8:23:bad_case.<lambda>:Cell variable x defined in loop
+cell-var-from-loop:8:23:8:24:bad_case.<lambda>:Cell variable x defined in loop:UNDEFINED
diff --git a/tests/functional/l/lost_exception.txt b/tests/functional/l/lost_exception.txt
index f2791dc7d..415c582e9 100644
--- a/tests/functional/l/lost_exception.txt
+++ b/tests/functional/l/lost_exception.txt
@@ -1,2 +1,2 @@
-lost-exception:14:16:insidious_break_and_return:break statement in finally block may swallow exception
-lost-exception:15:12:insidious_break_and_return:return statement in finally block may swallow exception
+lost-exception:14:16:14:21:insidious_break_and_return:break statement in finally block may swallow exception:UNDEFINED
+lost-exception:15:12:15:25:insidious_break_and_return:return statement in finally block may swallow exception:UNDEFINED
diff --git a/tests/functional/m/mapping_context.txt b/tests/functional/m/mapping_context.txt
index 232635628..7391d6765 100644
--- a/tests/functional/m/mapping_context.txt
+++ b/tests/functional/m/mapping_context.txt
@@ -1,2 +1,2 @@
-not-a-mapping:32:7::Non-mapping value CustomMapping is used in a mapping context
-not-a-mapping:37:7::Non-mapping value NotMapping() is used in a mapping context
+not-a-mapping:32:7:32:20::Non-mapping value CustomMapping is used in a mapping context:UNDEFINED
+not-a-mapping:37:7:37:19::Non-mapping value NotMapping() is used in a mapping context:UNDEFINED
diff --git a/tests/functional/m/mapping_context_py3.txt b/tests/functional/m/mapping_context_py3.txt
index f77491458..3ece329c3 100644
--- a/tests/functional/m/mapping_context_py3.txt
+++ b/tests/functional/m/mapping_context_py3.txt
@@ -1 +1 @@
-not-a-mapping:19:7::Non-mapping value SomeClass() is used in a mapping context
+not-a-mapping:19:7:19:18::Non-mapping value SomeClass() is used in a mapping context:UNDEFINED
diff --git a/tests/functional/m/member/member_checks.txt b/tests/functional/m/member/member_checks.txt
index 0b7ee9478..22eed257f 100644
--- a/tests/functional/m/member/member_checks.txt
+++ b/tests/functional/m/member/member_checks.txt
@@ -1,19 +1,19 @@
-no-member:23:27:Client.__init__:Class 'Provider' has no 'cattribute' member:INFERENCE
-no-member:33:8:Client.use_method:Instance of 'Provider' has no 'hophophop' member:INFERENCE
-no-member:38:14:Client.use_attr:Instance of 'Provider' has no 'attribute' member:INFERENCE
-no-member:50:8:Client.test_bt_types:Instance of 'list' has no 'apppend' member; maybe 'append'?:INFERENCE
-no-member:52:8:Client.test_bt_types:Instance of 'dict' has no 'set' member; maybe 'get'?:INFERENCE
-no-member:54:8:Client.test_bt_types:Instance of 'tuple' has no 'append' member:INFERENCE
-no-member:56:14:Client.test_bt_types:Instance of 'str' has no 'loower' member; maybe 'lower'?:INFERENCE
-no-member:58:14:Client.test_bt_types:Instance of 'int' has no 'whatever' member:INFERENCE
-no-member:64:8:Client.test_no_false_positives:Super of 'Client' has no 'misssing' member:INFERENCE
-no-member:96:4::Instance of 'Client' has no 'indeed' member:INFERENCE
-no-member:103:4::Class 'Client' has no 'missing' member:INFERENCE
-no-member:109:8::Class 'Client' has no 'missing' member:INFERENCE
-no-member:123:8::Class 'Client' has no 'missing' member:INFERENCE
-no-member:133:0::Class 'Client' has no 'ala' member:INFERENCE
-no-member:134:0::Class 'dict' has no 'bala' member:INFERENCE
-no-member:135:0::Class 'str' has no 'portocala' member:INFERENCE
-no-member:170:19:NoDunderNameInInstance.__init__:Instance of 'NoDunderNameInInstance' has no '__name__' member:INFERENCE
-no-member:176:14:InvalidAccessBySlots.__init__:Instance of 'InvalidAccessBySlots' has no 'teta' member:INFERENCE
-no-member:208:13::Class 'Cls' has no 'BAZ' member; maybe 'BAR'?:INFERENCE
+no-member:23:27:23:46:Client.__init__:Class 'Provider' has no 'cattribute' member:INFERENCE
+no-member:33:8:33:28:Client.use_method:Instance of 'Provider' has no 'hophophop' member:INFERENCE
+no-member:38:14:38:34:Client.use_attr:Instance of 'Provider' has no 'attribute' member:INFERENCE
+no-member:50:8:50:19:Client.test_bt_types:Instance of 'list' has no 'apppend' member; maybe 'append'?:INFERENCE
+no-member:52:8:52:15:Client.test_bt_types:Instance of 'dict' has no 'set' member; maybe 'get'?:INFERENCE
+no-member:54:8:54:18:Client.test_bt_types:Instance of 'tuple' has no 'append' member:INFERENCE
+no-member:56:14:56:27:Client.test_bt_types:Instance of 'str' has no 'loower' member; maybe 'lower'?:INFERENCE
+no-member:58:14:58:30:Client.test_bt_types:Instance of 'int' has no 'whatever' member:INFERENCE
+no-member:64:8:64:24:Client.test_no_false_positives:Super of 'Client' has no 'misssing' member:INFERENCE
+no-member:96:4:96:19::Instance of 'Client' has no 'indeed' member:INFERENCE
+no-member:103:4:103:18::Class 'Client' has no 'missing' member:INFERENCE
+no-member:109:8:109:22::Class 'Client' has no 'missing' member:INFERENCE
+no-member:123:8:123:22::Class 'Client' has no 'missing' member:INFERENCE
+no-member:133:0:133:18::Class 'Client' has no 'ala' member:INFERENCE
+no-member:134:0:134:13::Class 'dict' has no 'bala' member:INFERENCE
+no-member:135:0:135:18::Class 'str' has no 'portocala' member:INFERENCE
+no-member:170:19:170:32:NoDunderNameInInstance.__init__:Instance of 'NoDunderNameInInstance' has no '__name__' member:INFERENCE
+no-member:176:14:176:23:InvalidAccessBySlots.__init__:Instance of 'InvalidAccessBySlots' has no 'teta' member:INFERENCE
+no-member:208:13:208:20::Class 'Cls' has no 'BAZ' member; maybe 'BAR'?:INFERENCE
diff --git a/tests/functional/m/member/member_checks_hints.txt b/tests/functional/m/member/member_checks_hints.txt
index 9dd977b13..6f51af1b1 100644
--- a/tests/functional/m/member/member_checks_hints.txt
+++ b/tests/functional/m/member/member_checks_hints.txt
@@ -1,5 +1,5 @@
-no-member:21:8:Child.__init__:Instance of 'Child' has no '_similar' member; maybe one of '_similar1', '_similar2' or '_similar3'?:INFERENCE
-no-member:22:8:Child.__init__:Instance of 'Child' has no '_really_similar' member; maybe one of '_really_similar1' or '_really_similar2'?:INFERENCE
-no-member:23:8:Child.__init__:Instance of 'Child' has no '_paren' member; maybe '_parent'?:INFERENCE
-no-member:25:8:Child.__init__:Instance of 'Child' has no '_registryyyy' member:INFERENCE
-no-member:27:8:Child.__init__:Instance of 'Child' has no '_pretty_sure_this_wont_match' member:INFERENCE
+no-member:21:8:21:21:Child.__init__:Instance of 'Child' has no '_similar' member; maybe one of '_similar1', '_similar2' or '_similar3'?:INFERENCE
+no-member:22:8:22:28:Child.__init__:Instance of 'Child' has no '_really_similar' member; maybe one of '_really_similar1' or '_really_similar2'?:INFERENCE
+no-member:23:8:23:19:Child.__init__:Instance of 'Child' has no '_paren' member; maybe '_parent'?:INFERENCE
+no-member:25:8:25:25:Child.__init__:Instance of 'Child' has no '_registryyyy' member:INFERENCE
+no-member:27:8:27:41:Child.__init__:Instance of 'Child' has no '_pretty_sure_this_wont_match' member:INFERENCE
diff --git a/tests/functional/m/member/member_checks_ignore_none.txt b/tests/functional/m/member/member_checks_ignore_none.txt
index ead0e7efe..1116ee355 100644
--- a/tests/functional/m/member/member_checks_ignore_none.txt
+++ b/tests/functional/m/member/member_checks_ignore_none.txt
@@ -1 +1 @@
-no-member:7:11::Instance of 'NoneType' has no 'DOES_NOT_EXIST' member:INFERENCE
+no-member:7:11:7:32::Instance of 'NoneType' has no 'DOES_NOT_EXIST' member:INFERENCE
diff --git a/tests/functional/m/member/member_checks_no_hints.txt b/tests/functional/m/member/member_checks_no_hints.txt
index 6d818641e..c9a567c22 100644
--- a/tests/functional/m/member/member_checks_no_hints.txt
+++ b/tests/functional/m/member/member_checks_no_hints.txt
@@ -1,5 +1,5 @@
-no-member:21:8:Child.__init__:Instance of 'Child' has no '_similar' member:INFERENCE
-no-member:22:8:Child.__init__:Instance of 'Child' has no '_really_similar' member:INFERENCE
-no-member:23:8:Child.__init__:Instance of 'Child' has no '_paren' member:INFERENCE
-no-member:25:8:Child.__init__:Instance of 'Child' has no '_registryyyy' member:INFERENCE
-no-member:27:8:Child.__init__:Instance of 'Child' has no '_pretty_sure_this_wont_match' member:INFERENCE
+no-member:21:8:21:21:Child.__init__:Instance of 'Child' has no '_similar' member:INFERENCE
+no-member:22:8:22:28:Child.__init__:Instance of 'Child' has no '_really_similar' member:INFERENCE
+no-member:23:8:23:19:Child.__init__:Instance of 'Child' has no '_paren' member:INFERENCE
+no-member:25:8:25:25:Child.__init__:Instance of 'Child' has no '_registryyyy' member:INFERENCE
+no-member:27:8:27:41:Child.__init__:Instance of 'Child' has no '_pretty_sure_this_wont_match' member:INFERENCE
diff --git a/tests/functional/m/member/member_checks_opaque.txt b/tests/functional/m/member/member_checks_opaque.txt
index 2fabce4e2..dd824f85e 100644
--- a/tests/functional/m/member/member_checks_opaque.txt
+++ b/tests/functional/m/member/member_checks_opaque.txt
@@ -1 +1 @@
-no-member:12:0::Instance of 'int' has no 'test' member:INFERENCE
+no-member:12:0:12:21::Instance of 'int' has no 'test' member:INFERENCE
diff --git a/tests/functional/m/member/member_checks_py37.txt b/tests/functional/m/member/member_checks_py37.txt
index c52eab13c..cc29c1723 100644
--- a/tests/functional/m/member/member_checks_py37.txt
+++ b/tests/functional/m/member/member_checks_py37.txt
@@ -1 +1 @@
-no-member:19:10:test:AsyncGenerator 'async_generator' has no 'send' member; maybe 'asend'?:INFERENCE
+no-member:19:10:19:24:test:AsyncGenerator 'async_generator' has no 'send' member; maybe 'asend'?:INFERENCE
diff --git a/tests/functional/m/member/member_checks_typed_annotations.txt b/tests/functional/m/member/member_checks_typed_annotations.txt
index 6261a31aa..4f90ae8ad 100644
--- a/tests/functional/m/member/member_checks_typed_annotations.txt
+++ b/tests/functional/m/member/member_checks_typed_annotations.txt
@@ -1 +1 @@
-no-member:25:6::Instance of 'C' has no 'myfield' member:INFERENCE
+no-member:25:6:25:15::Instance of 'C' has no 'myfield' member:INFERENCE
diff --git a/tests/functional/m/member/membership_protocol.txt b/tests/functional/m/member/membership_protocol.txt
index e021062da..74d83e7ee 100644
--- a/tests/functional/m/member/membership_protocol.txt
+++ b/tests/functional/m/member/membership_protocol.txt
@@ -1,7 +1,7 @@
-unsupported-membership-test:113:6::Value '42' doesn't support membership test
-unsupported-membership-test:114:10::Value 'None' doesn't support membership test
-unsupported-membership-test:115:6::Value '8.5' doesn't support membership test
-unsupported-membership-test:120:10::Value 'EmptyClass()' doesn't support membership test
-unsupported-membership-test:121:6::Value 'EmptyClass' doesn't support membership test
-unsupported-membership-test:122:10::Value 'count' doesn't support membership test
-unsupported-membership-test:123:6::Value 'range' doesn't support membership test
+unsupported-membership-test:113:6:113:8::Value '42' doesn't support membership test:UNDEFINED
+unsupported-membership-test:114:10:114:14::Value 'None' doesn't support membership test:UNDEFINED
+unsupported-membership-test:115:6:115:9::Value '8.5' doesn't support membership test:UNDEFINED
+unsupported-membership-test:120:10:120:22::Value 'EmptyClass()' doesn't support membership test:UNDEFINED
+unsupported-membership-test:121:6:121:16::Value 'EmptyClass' doesn't support membership test:UNDEFINED
+unsupported-membership-test:122:10:122:15::Value 'count' doesn't support membership test:UNDEFINED
+unsupported-membership-test:123:6:123:11::Value 'range' doesn't support membership test:UNDEFINED
diff --git a/tests/functional/m/member/membership_protocol_py3.txt b/tests/functional/m/member/membership_protocol_py3.txt
index 495cf94db..cd64a4d29 100644
--- a/tests/functional/m/member/membership_protocol_py3.txt
+++ b/tests/functional/m/member/membership_protocol_py3.txt
@@ -1,3 +1,3 @@
-unsupported-membership-test:34:9:test:Value 'IterableClass()' doesn't support membership test
-unsupported-membership-test:35:9:test:Value 'OldIterableClass()' doesn't support membership test
-unsupported-membership-test:36:9:test:Value 'ContainerClass()' doesn't support membership test
+unsupported-membership-test:34:9:34:24:test:Value 'IterableClass()' doesn't support membership test:UNDEFINED
+unsupported-membership-test:35:9:35:27:test:Value 'OldIterableClass()' doesn't support membership test:UNDEFINED
+unsupported-membership-test:36:9:36:25:test:Value 'ContainerClass()' doesn't support membership test:UNDEFINED
diff --git a/tests/functional/m/method_hidden.txt b/tests/functional/m/method_hidden.txt
index a15bf30c2..2fe8628f8 100644
--- a/tests/functional/m/method_hidden.txt
+++ b/tests/functional/m/method_hidden.txt
@@ -1,2 +1,2 @@
-method-hidden:13:4:Cdef.abcd:An attribute defined in functional.m.method_hidden line 9 hides this method
-method-hidden:76:4:One.one:An attribute defined in functional.m.method_hidden line 74 hides this method
+method-hidden:13:4:16:19:Cdef.abcd:An attribute defined in functional.m.method_hidden line 9 hides this method:UNDEFINED
+method-hidden:76:4:77:12:One.one:An attribute defined in functional.m.method_hidden line 74 hides this method:UNDEFINED
diff --git a/tests/functional/m/misplaced_bare_raise.txt b/tests/functional/m/misplaced_bare_raise.txt
index d64ff43cb..e32bc46f6 100644
--- a/tests/functional/m/misplaced_bare_raise.txt
+++ b/tests/functional/m/misplaced_bare_raise.txt
@@ -1,7 +1,7 @@
-misplaced-bare-raise:5:4::The raise statement is not inside an except clause:HIGH
-misplaced-bare-raise:35:16:test1.best:The raise statement is not inside an except clause:HIGH
-misplaced-bare-raise:38:4:test1:The raise statement is not inside an except clause:HIGH
-misplaced-bare-raise:39:0::The raise statement is not inside an except clause:HIGH
-misplaced-bare-raise:48:4::The raise statement is not inside an except clause:HIGH
-misplaced-bare-raise:56:4:A:The raise statement is not inside an except clause:HIGH
-misplaced-bare-raise:67:4::The raise statement is not inside an except clause:HIGH
+misplaced-bare-raise:5:4:5:9::The raise statement is not inside an except clause:UNDEFINED
+misplaced-bare-raise:35:16:35:21:test1.best:The raise statement is not inside an except clause:UNDEFINED
+misplaced-bare-raise:38:4:38:9:test1:The raise statement is not inside an except clause:UNDEFINED
+misplaced-bare-raise:39:0:39:5::The raise statement is not inside an except clause:UNDEFINED
+misplaced-bare-raise:48:4:48:9::The raise statement is not inside an except clause:UNDEFINED
+misplaced-bare-raise:56:4:56:9:A:The raise statement is not inside an except clause:UNDEFINED
+misplaced-bare-raise:67:4:67:9::The raise statement is not inside an except clause:UNDEFINED
diff --git a/tests/functional/m/misplaced_format_function.txt b/tests/functional/m/misplaced_format_function.txt
index 2a77a2720..a3a6370a6 100644
--- a/tests/functional/m/misplaced_format_function.txt
+++ b/tests/functional/m/misplaced_format_function.txt
@@ -1,4 +1,4 @@
-misplaced-format-function:5:0::format function is not called on str
-misplaced-format-function:6:0::format function is not called on str
-misplaced-format-function:52:8:FakeClass.format_string:format function is not called on str
-misplaced-format-function:58:0::format function is not called on str
+misplaced-format-function:5:0:5:30::format function is not called on str:UNDEFINED
+misplaced-format-function:6:0:6:30::format function is not called on str:UNDEFINED
+misplaced-format-function:52:8:52:41:FakeClass.format_string:format function is not called on str:UNDEFINED
+misplaced-format-function:58:0:58:32::format function is not called on str:UNDEFINED
diff --git a/tests/functional/m/misplaced_future.txt b/tests/functional/m/misplaced_future.txt
index 645618b8a..4d89b0ce8 100644
--- a/tests/functional/m/misplaced_future.txt
+++ b/tests/functional/m/misplaced_future.txt
@@ -1 +1 @@
-misplaced-future:3:0::__future__ import is not the first non docstring statement
+misplaced-future:3:0:3:37::__future__ import is not the first non docstring statement:UNDEFINED
diff --git a/tests/functional/m/missing/missing_docstring.txt b/tests/functional/m/missing/missing_docstring.txt
index c9ec52161..af030e11c 100644
--- a/tests/functional/m/missing/missing_docstring.txt
+++ b/tests/functional/m/missing/missing_docstring.txt
@@ -1,3 +1,3 @@
-missing-module-docstring:1:0::Missing module docstring
-missing-class-docstring:21:0:ClassUndocumented:Missing class docstring
-missing-function-docstring:25:0:public_undocumented:Missing function or method docstring
+missing-module-docstring:1:0:None:None::Missing module docstring:HIGH
+missing-class-docstring:21:0:22:8:ClassUndocumented:Missing class docstring:HIGH
+missing-function-docstring:25:0:26:8:public_undocumented:Missing function or method docstring:HIGH
diff --git a/tests/functional/m/missing/missing_docstring_new_style.txt b/tests/functional/m/missing/missing_docstring_new_style.txt
index f194673fe..f0a456c24 100644
--- a/tests/functional/m/missing/missing_docstring_new_style.txt
+++ b/tests/functional/m/missing/missing_docstring_new_style.txt
@@ -1,5 +1,5 @@
-missing-module-docstring:1:0::Missing module docstring
-missing-class-docstring:9:0:UndocumentedClass:Missing class docstring
-missing-class-docstring:19:0:OtherClassUndocumented:Missing class docstring
-missing-function-docstring:36:0:public_undocumented:Missing function or method docstring
-missing-function-docstring:46:0:undocumented_other_function:Missing function or method docstring
+missing-module-docstring:1:0:None:None::Missing module docstring:HIGH
+missing-class-docstring:9:0:10:8:UndocumentedClass:Missing class docstring:HIGH
+missing-class-docstring:19:0:20:8:OtherClassUndocumented:Missing class docstring:HIGH
+missing-function-docstring:36:0:37:8:public_undocumented:Missing function or method docstring:HIGH
+missing-function-docstring:46:0:47:8:undocumented_other_function:Missing function or method docstring:HIGH
diff --git a/tests/functional/m/missing/missing_final_newline.txt b/tests/functional/m/missing/missing_final_newline.txt
index d7c329b70..92448efc2 100644
--- a/tests/functional/m/missing/missing_final_newline.txt
+++ b/tests/functional/m/missing/missing_final_newline.txt
@@ -1 +1 @@
-missing-final-newline:4:0::Final newline missing
+missing-final-newline:4:0:None:None::Final newline missing:UNDEFINED
diff --git a/tests/functional/m/missing/missing_kwoa.txt b/tests/functional/m/missing/missing_kwoa.txt
index 710635504..c752340b9 100644
--- a/tests/functional/m/missing/missing_kwoa.txt
+++ b/tests/functional/m/missing/missing_kwoa.txt
@@ -1,3 +1,3 @@
-missing-kwoa:21:4:not_forwarding_kwargs:Missing mandatory keyword argument 'keyword' in function call
-missing-kwoa:27:0::Missing mandatory keyword argument 'keyword' in function call
-too-many-function-args:27:0::Too many positional arguments for function call
+missing-kwoa:21:4:21:17:not_forwarding_kwargs:Missing mandatory keyword argument 'keyword' in function call:UNDEFINED
+missing-kwoa:27:0:27:16::Missing mandatory keyword argument 'keyword' in function call:UNDEFINED
+too-many-function-args:27:0:27:16::Too many positional arguments for function call:UNDEFINED
diff --git a/tests/functional/m/missing/missing_parentheses_for_call_in_test.txt b/tests/functional/m/missing/missing_parentheses_for_call_in_test.txt
index 0547c6e30..8c96f6e18 100644
--- a/tests/functional/m/missing/missing_parentheses_for_call_in_test.txt
+++ b/tests/functional/m/missing/missing_parentheses_for_call_in_test.txt
@@ -1,15 +1,15 @@
-missing-parentheses-for-call-in-test:29:0::Using a conditional statement with potentially wrong function or method call due to missing parentheses
-missing-parentheses-for-call-in-test:35:0::Using a conditional statement with potentially wrong function or method call due to missing parentheses
-missing-parentheses-for-call-in-test:43:0::Using a conditional statement with potentially wrong function or method call due to missing parentheses
-missing-parentheses-for-call-in-test:51:0::Using a conditional statement with potentially wrong function or method call due to missing parentheses
-missing-parentheses-for-call-in-test:56:0::Using a conditional statement with potentially wrong function or method call due to missing parentheses
-missing-parentheses-for-call-in-test:64:0::Using a conditional statement with potentially wrong function or method call due to missing parentheses
-missing-parentheses-for-call-in-test:70:11::Using a conditional statement with potentially wrong function or method call due to missing parentheses
-missing-parentheses-for-call-in-test:72:17::Using a conditional statement with potentially wrong function or method call due to missing parentheses
-missing-parentheses-for-call-in-test:73:18::Using a conditional statement with potentially wrong function or method call due to missing parentheses
-missing-parentheses-for-call-in-test:75:0::Using a conditional statement with potentially wrong function or method call due to missing parentheses
-missing-parentheses-for-call-in-test:76:0::Using a conditional statement with potentially wrong function or method call due to missing parentheses
-missing-parentheses-for-call-in-test:79:0::Using a conditional statement with potentially wrong function or method call due to missing parentheses
-missing-parentheses-for-call-in-test:80:0::Using a conditional statement with potentially wrong function or method call due to missing parentheses
-missing-parentheses-for-call-in-test:85:0::Using a conditional statement with potentially wrong function or method call due to missing parentheses
-missing-parentheses-for-call-in-test:91:0::Using a conditional statement with potentially wrong function or method call due to missing parentheses
+missing-parentheses-for-call-in-test:29:0:30:8::Using a conditional statement with potentially wrong function or method call due to missing parentheses:UNDEFINED
+missing-parentheses-for-call-in-test:35:0:36:8::Using a conditional statement with potentially wrong function or method call due to missing parentheses:UNDEFINED
+missing-parentheses-for-call-in-test:43:0:44:8::Using a conditional statement with potentially wrong function or method call due to missing parentheses:UNDEFINED
+missing-parentheses-for-call-in-test:51:0:52:8::Using a conditional statement with potentially wrong function or method call due to missing parentheses:UNDEFINED
+missing-parentheses-for-call-in-test:56:0:57:8::Using a conditional statement with potentially wrong function or method call due to missing parentheses:UNDEFINED
+missing-parentheses-for-call-in-test:64:0:65:8::Using a conditional statement with potentially wrong function or method call due to missing parentheses:UNDEFINED
+missing-parentheses-for-call-in-test:70:11:70:38::Using a conditional statement with potentially wrong function or method call due to missing parentheses:UNDEFINED
+missing-parentheses-for-call-in-test:72:17:72:42::Using a conditional statement with potentially wrong function or method call due to missing parentheses:UNDEFINED
+missing-parentheses-for-call-in-test:73:18:73:46::Using a conditional statement with potentially wrong function or method call due to missing parentheses:UNDEFINED
+missing-parentheses-for-call-in-test:75:0:None:None::Using a conditional statement with potentially wrong function or method call due to missing parentheses:UNDEFINED
+missing-parentheses-for-call-in-test:76:0:None:None::Using a conditional statement with potentially wrong function or method call due to missing parentheses:UNDEFINED
+missing-parentheses-for-call-in-test:79:0:None:None::Using a conditional statement with potentially wrong function or method call due to missing parentheses:UNDEFINED
+missing-parentheses-for-call-in-test:80:0:None:None::Using a conditional statement with potentially wrong function or method call due to missing parentheses:UNDEFINED
+missing-parentheses-for-call-in-test:85:0:86:8::Using a conditional statement with potentially wrong function or method call due to missing parentheses:UNDEFINED
+missing-parentheses-for-call-in-test:91:0:92:8::Using a conditional statement with potentially wrong function or method call due to missing parentheses:UNDEFINED
diff --git a/tests/functional/m/missing/missing_self_argument.txt b/tests/functional/m/missing/missing_self_argument.txt
index 1b7626244..855f83f58 100644
--- a/tests/functional/m/missing/missing_self_argument.txt
+++ b/tests/functional/m/missing/missing_self_argument.txt
@@ -1,3 +1,3 @@
-no-method-argument:12:4:MyClass.method:Method has no argument
-no-method-argument:15:4:MyClass.setup:Method has no argument
-undefined-variable:17:8:MyClass.setup:Undefined variable 'self'
+no-method-argument:12:4:13:47:MyClass.method:Method has no argument:UNDEFINED
+no-method-argument:15:4:17:20:MyClass.setup:Method has no argument:UNDEFINED
+undefined-variable:17:8:17:12:MyClass.setup:Undefined variable 'self':UNDEFINED
diff --git a/tests/functional/m/mixin_class_rgx.txt b/tests/functional/m/mixin_class_rgx.txt
index eb39a1185..049563fd3 100644
--- a/tests/functional/m/mixin_class_rgx.txt
+++ b/tests/functional/m/mixin_class_rgx.txt
@@ -1,3 +1,3 @@
-not-async-context-manager:24:4:check_not_async_context_manager:Async context manager 'AsyncManagerMixedin' doesn't implement __aenter__ and __aexit__.:HIGH
-attribute-defined-outside-init:38:8:OutsideInitMixedin.set_attribute:Attribute 'attr' defined outside __init__:HIGH
-no-member:55:11::Instance of 'OutsideInitMixedin' has no 'method' member:INFERENCE
+not-async-context-manager:24:4:25:12:check_not_async_context_manager:Async context manager 'AsyncManagerMixedin' doesn't implement __aenter__ and __aexit__.:UNDEFINED
+attribute-defined-outside-init:38:8:38:17:OutsideInitMixedin.set_attribute:Attribute 'attr' defined outside __init__:UNDEFINED
+no-member:55:11:55:38::Instance of 'OutsideInitMixedin' has no 'method' member:INFERENCE
diff --git a/tests/functional/m/module___dict__.txt b/tests/functional/m/module___dict__.txt
index c5b65ada1..a465b1fe9 100644
--- a/tests/functional/m/module___dict__.txt
+++ b/tests/functional/m/module___dict__.txt
@@ -1 +1 @@
-used-before-assignment:5:6::Using variable '__dict__' before assignment
+used-before-assignment:5:6:5:14::Using variable '__dict__' before assignment:UNDEFINED
diff --git a/tests/functional/m/multiple_imports.txt b/tests/functional/m/multiple_imports.txt
index 45380c350..8928cfb78 100644
--- a/tests/functional/m/multiple_imports.txt
+++ b/tests/functional/m/multiple_imports.txt
@@ -1 +1 @@
-multiple-imports:2:0::Multiple imports on one line (os, socket)
+multiple-imports:2:0:2:17::Multiple imports on one line (os, socket):UNDEFINED
diff --git a/tests/functional/n/name/namePresetCamelCase.txt b/tests/functional/n/name/namePresetCamelCase.txt
index b24b0a881..7b9ec8623 100644
--- a/tests/functional/n/name/namePresetCamelCase.txt
+++ b/tests/functional/n/name/namePresetCamelCase.txt
@@ -1,3 +1,3 @@
-invalid-name:3:0::"Constant name ""SOME_CONSTANT"" doesn't conform to camelCase naming style ('([^\\W\\dA-Z][^\\W_]*|__.*__)$' pattern)"
-invalid-name:10:0:MyClass:"Class name ""MyClass"" doesn't conform to camelCase naming style ('[^\\W\\dA-Z][^\\W_]+$' pattern)"
-invalid-name:22:0:say_hello:"Function name ""say_hello"" doesn't conform to camelCase naming style ('([^\\W\\dA-Z][^\\W_]{2,}|__[^\\W\\dA-Z_]\\w+__)$' pattern)"
+invalid-name:3:0:3:13::"Constant name ""SOME_CONSTANT"" doesn't conform to camelCase naming style ('([^\\W\\dA-Z][^\\W_]*|__.*__)$' pattern)":HIGH
+invalid-name:10:0:19:79:MyClass:"Class name ""MyClass"" doesn't conform to camelCase naming style ('[^\\W\\dA-Z][^\\W_]+$' pattern)":HIGH
+invalid-name:22:0:23:8:say_hello:"Function name ""say_hello"" doesn't conform to camelCase naming style ('([^\\W\\dA-Z][^\\W_]{2,}|__[^\\W\\dA-Z_]\\w+__)$' pattern)":HIGH
diff --git a/tests/functional/n/name/name_final.txt b/tests/functional/n/name/name_final.txt
index b9fdd20e5..47cfee5a1 100644
--- a/tests/functional/n/name/name_final.txt
+++ b/tests/functional/n/name/name_final.txt
@@ -1,3 +1,3 @@
-invalid-name:10:4:Foo:"Class constant name ""variable"" doesn't conform to UPPER_CASE naming style"
-invalid-name:12:4:Foo:"Class constant name ""variable2"" doesn't conform to UPPER_CASE naming style"
-invalid-name:16:0::"Constant name ""module_var"" doesn't conform to UPPER_CASE naming style"
+invalid-name:10:4:10:12:Foo:"Class constant name ""variable"" doesn't conform to UPPER_CASE naming style":HIGH
+invalid-name:12:4:12:13:Foo:"Class constant name ""variable2"" doesn't conform to UPPER_CASE naming style":HIGH
+invalid-name:16:0:16:10::"Constant name ""module_var"" doesn't conform to UPPER_CASE naming style":HIGH
diff --git a/tests/functional/n/name/name_final_snake_case.txt b/tests/functional/n/name/name_final_snake_case.txt
index 48f03d13b..b5ce0f92f 100644
--- a/tests/functional/n/name/name_final_snake_case.txt
+++ b/tests/functional/n/name/name_final_snake_case.txt
@@ -1,5 +1,5 @@
-invalid-name:8:4:Foo:"Class constant name ""CLASS_CONST"" doesn't conform to snake_case naming style"
-invalid-name:9:4:Foo:"Class constant name ""CLASS_CONST2"" doesn't conform to snake_case naming style"
-invalid-name:11:4:Foo:"Class constant name ""CLASS_CONST3"" doesn't conform to snake_case naming style"
-invalid-name:13:4:Foo:"Class constant name ""CLASS_CONST4"" doesn't conform to snake_case naming style"
-invalid-name:15:0::"Constant name ""MODULE_CONST"" doesn't conform to snake_case naming style"
+invalid-name:8:4:8:15:Foo:"Class constant name ""CLASS_CONST"" doesn't conform to snake_case naming style":HIGH
+invalid-name:9:4:9:16:Foo:"Class constant name ""CLASS_CONST2"" doesn't conform to snake_case naming style":HIGH
+invalid-name:11:4:11:16:Foo:"Class constant name ""CLASS_CONST3"" doesn't conform to snake_case naming style":HIGH
+invalid-name:13:4:13:16:Foo:"Class constant name ""CLASS_CONST4"" doesn't conform to snake_case naming style":HIGH
+invalid-name:15:0:15:12::"Constant name ""MODULE_CONST"" doesn't conform to snake_case naming style":HIGH
diff --git a/tests/functional/n/name/name_good_bad_names_regex.txt b/tests/functional/n/name/name_good_bad_names_regex.txt
index 537c42983..78d57990d 100644
--- a/tests/functional/n/name/name_good_bad_names_regex.txt
+++ b/tests/functional/n/name/name_good_bad_names_regex.txt
@@ -1,3 +1,3 @@
-disallowed-name:5:0::Disallowed name "explicit_bad_some_constant"
-invalid-name:7:0::"Constant name ""snake_case_bad_SOME_CONSTANT"" doesn't conform to snake_case naming style ('([^\\W\\dA-Z][^\\WA-Z]*|__.*__)$' pattern)"
-disallowed-name:19:0:disallowed_2_snake_case:Disallowed name "disallowed_2_snake_case"
+disallowed-name:5:0:5:26::"Disallowed name ""explicit_bad_some_constant""":UNDEFINED
+invalid-name:7:0:7:28::"Constant name ""snake_case_bad_SOME_CONSTANT"" doesn't conform to snake_case naming style ('([^\\W\\dA-Z][^\\WA-Z]*|__.*__)$' pattern)":HIGH
+disallowed-name:19:0:20:8:disallowed_2_snake_case:"Disallowed name ""disallowed_2_snake_case""":UNDEFINED
diff --git a/tests/functional/n/name/name_preset_snake_case.txt b/tests/functional/n/name/name_preset_snake_case.txt
index c189797e9..664b2db90 100644
--- a/tests/functional/n/name/name_preset_snake_case.txt
+++ b/tests/functional/n/name/name_preset_snake_case.txt
@@ -1,5 +1,5 @@
-invalid-name:6:0::"Constant name ""SOME_CONSTANT"" doesn't conform to snake_case naming style ('([^\\W\\dA-Z][^\\WA-Z]*|__.*__)$' pattern)"
-invalid-name:13:0:MyClass:"Class name ""MyClass"" doesn't conform to snake_case naming style ('[^\\W\\dA-Z][^\\WA-Z]+$' pattern)"
-invalid-name:25:0:sayHello:"Function name ""sayHello"" doesn't conform to snake_case naming style ('([^\\W\\dA-Z][^\\WA-Z]{2,}|_[^\\WA-Z]*|__[^\\WA-Z\\d_][^\\WA-Z]+__)$' pattern)"
-invalid-name:29:0:FooEnum:"Class name ""FooEnum"" doesn't conform to snake_case naming style ('[^\\W\\dA-Z][^\\WA-Z]+$' pattern)"
-invalid-name:34:0:Bar:"Class name ""Bar"" doesn't conform to snake_case naming style ('[^\\W\\dA-Z][^\\WA-Z]+$' pattern)"
+invalid-name:6:0:6:13::"Constant name ""SOME_CONSTANT"" doesn't conform to snake_case naming style ('([^\\W\\dA-Z][^\\WA-Z]*|__.*__)$' pattern)":HIGH
+invalid-name:13:0:22:83:MyClass:"Class name ""MyClass"" doesn't conform to snake_case naming style ('[^\\W\\dA-Z][^\\WA-Z]+$' pattern)":HIGH
+invalid-name:25:0:26:8:sayHello:"Function name ""sayHello"" doesn't conform to snake_case naming style ('([^\\W\\dA-Z][^\\WA-Z]{2,}|_[^\\WA-Z]*|__[^\\WA-Z\\d_][^\\WA-Z]+__)$' pattern)":HIGH
+invalid-name:29:0:31:22:FooEnum:"Class name ""FooEnum"" doesn't conform to snake_case naming style ('[^\\W\\dA-Z][^\\WA-Z]+$' pattern)":HIGH
+invalid-name:34:0:35:45:Bar:"Class name ""Bar"" doesn't conform to snake_case naming style ('[^\\W\\dA-Z][^\\WA-Z]+$' pattern)":HIGH
diff --git a/tests/functional/n/name/name_styles.txt b/tests/functional/n/name/name_styles.txt
index c98007d40..a6d18a166 100644
--- a/tests/functional/n/name/name_styles.txt
+++ b/tests/functional/n/name/name_styles.txt
@@ -1,17 +1,17 @@
-invalid-name:11:0::"Constant name ""bad_const_name"" doesn't conform to UPPER_CASE naming style"
-invalid-name:14:0:BADFUNCTION_name:"Function name ""BADFUNCTION_name"" doesn't conform to snake_case naming style"
-invalid-name:16:4:BADFUNCTION_name:"Variable name ""BAD_LOCAL_VAR"" doesn't conform to snake_case naming style"
-invalid-name:20:21:func_bad_argname:"Argument name ""NOT_GOOD"" doesn't conform to snake_case naming style"
-invalid-name:30:0:bad_class_name:"Class name ""bad_class_name"" doesn't conform to PascalCase naming style"
-invalid-name:41:8:CorrectClassName.__init__:"Attribute name ""_Bad_AtTR_name"" doesn't conform to snake_case naming style"
-invalid-name:42:8:CorrectClassName.__init__:"Attribute name ""Bad_PUBLIC_name"" doesn't conform to snake_case naming style"
-invalid-name:47:4:CorrectClassName.BadMethodName:"Method name ""BadMethodName"" doesn't conform to snake_case naming style":INFERENCE
-invalid-name:53:4:CorrectClassName.__DunDER_IS_not_free_for_all__:"Method name ""__DunDER_IS_not_free_for_all__"" doesn't conform to snake_case naming style":INFERENCE
-invalid-name:83:0::"Class name ""BAD_NAME_FOR_CLASS"" doesn't conform to PascalCase naming style"
-invalid-name:84:0::"Class name ""NEXT_BAD_NAME_FOR_CLASS"" doesn't conform to PascalCase naming style"
-invalid-name:91:0::"Class name ""NOT_CORRECT"" doesn't conform to PascalCase naming style"
-invalid-name:97:4:test_globals:"Constant name ""AlsoCorrect"" doesn't conform to UPPER_CASE naming style"
-invalid-name:110:4:FooClass.PROPERTY_NAME:"Attribute name ""PROPERTY_NAME"" doesn't conform to snake_case naming style":INFERENCE
-invalid-name:116:4:FooClass.ABSTRACT_PROPERTY_NAME:"Attribute name ""ABSTRACT_PROPERTY_NAME"" doesn't conform to snake_case naming style":INFERENCE
-invalid-name:121:4:FooClass.PROPERTY_NAME_SETTER:"Attribute name ""PROPERTY_NAME_SETTER"" doesn't conform to snake_case naming style":INFERENCE
-invalid-name:152:4:FooEnum:"Class constant name ""bad_enum_name"" doesn't conform to UPPER_CASE naming style"
+invalid-name:11:0:11:14::"Constant name ""bad_const_name"" doesn't conform to UPPER_CASE naming style":HIGH
+invalid-name:14:0:17:24:BADFUNCTION_name:"Function name ""BADFUNCTION_name"" doesn't conform to snake_case naming style":HIGH
+invalid-name:16:4:16:17:BADFUNCTION_name:"Variable name ""BAD_LOCAL_VAR"" doesn't conform to snake_case naming style":HIGH
+invalid-name:20:21:20:29:func_bad_argname:"Argument name ""NOT_GOOD"" doesn't conform to snake_case naming style":HIGH
+invalid-name:30:0:31:32:bad_class_name:"Class name ""bad_class_name"" doesn't conform to PascalCase naming style":HIGH
+invalid-name:41:8:41:27:CorrectClassName.__init__:"Attribute name ""_Bad_AtTR_name"" doesn't conform to snake_case naming style":HIGH
+invalid-name:42:8:42:28:CorrectClassName.__init__:"Attribute name ""Bad_PUBLIC_name"" doesn't conform to snake_case naming style":HIGH
+invalid-name:47:4:48:39:CorrectClassName.BadMethodName:"Method name ""BadMethodName"" doesn't conform to snake_case naming style":INFERENCE
+invalid-name:53:4:54:41:CorrectClassName.__DunDER_IS_not_free_for_all__:"Method name ""__DunDER_IS_not_free_for_all__"" doesn't conform to snake_case naming style":INFERENCE
+invalid-name:83:0:83:18::"Class name ""BAD_NAME_FOR_CLASS"" doesn't conform to PascalCase naming style":HIGH
+invalid-name:84:0:84:23::"Class name ""NEXT_BAD_NAME_FOR_CLASS"" doesn't conform to PascalCase naming style":HIGH
+invalid-name:91:0:91:11::"Class name ""NOT_CORRECT"" doesn't conform to PascalCase naming style":HIGH
+invalid-name:97:4:97:22:test_globals:"Constant name ""AlsoCorrect"" doesn't conform to UPPER_CASE naming style":HIGH
+invalid-name:110:4:112:12:FooClass.PROPERTY_NAME:"Attribute name ""PROPERTY_NAME"" doesn't conform to snake_case naming style":INFERENCE
+invalid-name:116:4:118:12:FooClass.ABSTRACT_PROPERTY_NAME:"Attribute name ""ABSTRACT_PROPERTY_NAME"" doesn't conform to snake_case naming style":INFERENCE
+invalid-name:121:4:123:12:FooClass.PROPERTY_NAME_SETTER:"Attribute name ""PROPERTY_NAME_SETTER"" doesn't conform to snake_case naming style":INFERENCE
+invalid-name:152:4:152:17:FooEnum:"Class constant name ""bad_enum_name"" doesn't conform to UPPER_CASE naming style":HIGH
diff --git a/tests/functional/n/name/namedtuple_member_inference.txt b/tests/functional/n/name/namedtuple_member_inference.txt
index b754e9be7..c4e778359 100644
--- a/tests/functional/n/name/namedtuple_member_inference.txt
+++ b/tests/functional/n/name/namedtuple_member_inference.txt
@@ -1 +1 @@
-no-member:17:10:test:Class 'Thing' has no 'x' member:INFERENCE
+no-member:17:10:17:17:test:Class 'Thing' has no 'x' member:INFERENCE
diff --git a/tests/functional/n/name/names_in__all__.txt b/tests/functional/n/name/names_in__all__.txt
index aa9015143..72a11c50b 100644
--- a/tests/functional/n/name/names_in__all__.txt
+++ b/tests/functional/n/name/names_in__all__.txt
@@ -1,6 +1,6 @@
-undefined-all-variable:17:4::Undefined variable name '' in __all__
-undefined-variable:19:4::Undefined variable 'SomeUndefined'
-undefined-all-variable:20:4::Undefined variable name 'NonExistant' in __all__
-undefined-all-variable:22:4::Undefined variable name 'func' in __all__
-undefined-all-variable:23:4::Undefined variable name 'inner' in __all__
-undefined-all-variable:24:4::Undefined variable name 'InnerKlass' in __all__
+undefined-all-variable:17:4:17:6::Undefined variable name '' in __all__:UNDEFINED
+undefined-variable:19:4:19:17::Undefined variable 'SomeUndefined':UNDEFINED
+undefined-all-variable:20:4:20:17::Undefined variable name 'NonExistant' in __all__:UNDEFINED
+undefined-all-variable:22:4:22:10::Undefined variable name 'func' in __all__:UNDEFINED
+undefined-all-variable:23:4:23:11::Undefined variable name 'inner' in __all__:UNDEFINED
+undefined-all-variable:24:4:24:16::Undefined variable name 'InnerKlass' in __all__:UNDEFINED
diff --git a/tests/functional/n/nan_comparison_check.txt b/tests/functional/n/nan_comparison_check.txt
index 2351ea403..162b2c378 100644
--- a/tests/functional/n/nan_comparison_check.txt
+++ b/tests/functional/n/nan_comparison_check.txt
@@ -1,12 +1,12 @@
-nan-comparison:6:4::Comparison 'x is numpy.NaN' should be 'math.isnan(x)'
-nan-comparison:7:4::Comparison 'x == numpy.NaN' should be 'math.isnan(x)'
-nan-comparison:8:4::Comparison 'x == float('nan')' should be 'math.isnan(x)'
-nan-comparison:9:4::Comparison 'numpy.NaN == numpy.NaN' should be 'math.isnan(numpy.NaN)'
-nan-comparison:12:4::Comparison 'numpy.NaN is not x' should be 'not math.isnan(x)'
-nan-comparison:13:4::Comparison 'numpy.NaN != x' should be 'not math.isnan(x)'
-nan-comparison:15:4::Comparison 'x != numpy.NaN' should be 'not math.isnan(x)'
-nan-comparison:16:5::Comparison 'x != float('nan')' should be 'not math.isnan(x)'
-nan-comparison:17:7::Comparison 'x == numpy.NaN' should be 'math.isnan(x)'
-nan-comparison:18:7::Comparison 'x is not float('nan')' should be 'not math.isnan(x)'
-nan-comparison:19:3::Comparison 'x == numpy.NaN' should be 'math.isnan(x)'
-nan-comparison:21:9::Comparison 'x is numpy.NaN' should be 'math.isnan(x)'
+nan-comparison:6:4:6:18::Comparison 'x is numpy.NaN' should be 'math.isnan(x)':UNDEFINED
+nan-comparison:7:4:7:18::Comparison 'x == numpy.NaN' should be 'math.isnan(x)':UNDEFINED
+nan-comparison:8:4:8:21::Comparison 'x == float('nan')' should be 'math.isnan(x)':UNDEFINED
+nan-comparison:9:4:9:26::Comparison 'numpy.NaN == numpy.NaN' should be 'math.isnan(numpy.NaN)':UNDEFINED
+nan-comparison:12:4:12:22::Comparison 'numpy.NaN is not x' should be 'not math.isnan(x)':UNDEFINED
+nan-comparison:13:4:13:18::Comparison 'numpy.NaN != x' should be 'not math.isnan(x)':UNDEFINED
+nan-comparison:15:4:15:18::Comparison 'x != numpy.NaN' should be 'not math.isnan(x)':UNDEFINED
+nan-comparison:16:5:16:22::Comparison 'x != float('nan')' should be 'not math.isnan(x)':UNDEFINED
+nan-comparison:17:7:17:21::Comparison 'x == numpy.NaN' should be 'math.isnan(x)':UNDEFINED
+nan-comparison:18:7:18:28::Comparison 'x is not float('nan')' should be 'not math.isnan(x)':UNDEFINED
+nan-comparison:19:3:19:17::Comparison 'x == numpy.NaN' should be 'math.isnan(x)':UNDEFINED
+nan-comparison:21:9:21:23::Comparison 'x is numpy.NaN' should be 'math.isnan(x)':UNDEFINED
diff --git a/tests/functional/n/nested_blocks_issue1088.txt b/tests/functional/n/nested_blocks_issue1088.txt
index 66dac6efd..69105627d 100644
--- a/tests/functional/n/nested_blocks_issue1088.txt
+++ b/tests/functional/n/nested_blocks_issue1088.txt
@@ -1,2 +1,2 @@
-too-many-nested-blocks:3:4:had_bug:Too many nested blocks (6/5)
-too-many-nested-blocks:14:4:was_correct:Too many nested blocks (6/5)
+too-many-nested-blocks:3:4:9:39:had_bug:Too many nested blocks (6/5):UNDEFINED
+too-many-nested-blocks:14:4:20:39:was_correct:Too many nested blocks (6/5):UNDEFINED
diff --git a/tests/functional/n/nested_func_defined_in_loop.txt b/tests/functional/n/nested_func_defined_in_loop.txt
index 9f70ebc4c..1fa11c8ef 100644
--- a/tests/functional/n/nested_func_defined_in_loop.txt
+++ b/tests/functional/n/nested_func_defined_in_loop.txt
@@ -1 +1 @@
-cell-var-from-loop:7:18:example.nested:Cell variable i defined in loop
+cell-var-from-loop:7:18:7:19:example.nested:Cell variable i defined in loop:UNDEFINED
diff --git a/tests/functional/n/new_style_class_py_30.txt b/tests/functional/n/new_style_class_py_30.txt
index b86cc2b54..ad22100f3 100644
--- a/tests/functional/n/new_style_class_py_30.txt
+++ b/tests/functional/n/new_style_class_py_30.txt
@@ -1,4 +1,4 @@
-super-with-arguments:15:8:File.__init__:Consider using Python 3 style super() without arguments
-super-with-arguments:21:8:File.write:Consider using Python 3 style super() without arguments
-super-with-arguments:26:8:File.writelines:Consider using Python 3 style super() without arguments
-super-with-arguments:33:8:File.close:Consider using Python 3 style super() without arguments
+super-with-arguments:15:8:15:25:File.__init__:Consider using Python 3 style super() without arguments:UNDEFINED
+super-with-arguments:21:8:21:25:File.write:Consider using Python 3 style super() without arguments:UNDEFINED
+super-with-arguments:26:8:26:25:File.writelines:Consider using Python 3 style super() without arguments:UNDEFINED
+super-with-arguments:33:8:33:25:File.close:Consider using Python 3 style super() without arguments:UNDEFINED
diff --git a/tests/functional/n/no/no_classmethod_decorator.txt b/tests/functional/n/no/no_classmethod_decorator.txt
index 90b10f2b1..dbece0f04 100644
--- a/tests/functional/n/no/no_classmethod_decorator.txt
+++ b/tests/functional/n/no/no_classmethod_decorator.txt
@@ -1,3 +1,3 @@
-no-classmethod-decorator:14:4:MyClass:Consider using a decorator instead of calling classmethod
-no-classmethod-decorator:17:8:MyClass:Consider using a decorator instead of calling classmethod
-no-classmethod-decorator:25:4:MyClass:Consider using a decorator instead of calling classmethod
+no-classmethod-decorator:14:4:14:11:MyClass:Consider using a decorator instead of calling classmethod:UNDEFINED
+no-classmethod-decorator:17:8:17:15:MyClass:Consider using a decorator instead of calling classmethod:UNDEFINED
+no-classmethod-decorator:25:4:25:12:MyClass:Consider using a decorator instead of calling classmethod:UNDEFINED
diff --git a/tests/functional/n/no/no_dummy_redefined.txt b/tests/functional/n/no/no_dummy_redefined.txt
index 3e6854be5..1cf7c979b 100644
--- a/tests/functional/n/no/no_dummy_redefined.txt
+++ b/tests/functional/n/no/no_dummy_redefined.txt
@@ -1,2 +1,2 @@
-invalid-name:7:0::"Constant name ""value"" doesn't conform to UPPER_CASE naming style"
-redefined-outer-name:12:4:clobbering:Redefining name 'value' from outer scope (line 7)
+invalid-name:7:0:7:5::"Constant name ""value"" doesn't conform to UPPER_CASE naming style":HIGH
+redefined-outer-name:12:4:12:9:clobbering:Redefining name 'value' from outer scope (line 7):UNDEFINED
diff --git a/tests/functional/n/no/no_else_break.txt b/tests/functional/n/no/no_else_break.txt
index d1a27f73c..1eb2ccbbe 100644
--- a/tests/functional/n/no/no_else_break.txt
+++ b/tests/functional/n/no/no_else_break.txt
@@ -1,7 +1,7 @@
-no-else-break:8:8:foo1:"Unnecessary ""else"" after ""break"""
-no-else-break:16:8:foo2:"Unnecessary ""elif"" after ""break"""
-no-else-break:28:12:foo3:"Unnecessary ""else"" after ""break"""
-no-else-break:41:8:foo4:"Unnecessary ""else"" after ""break"""
-no-else-break:54:8:foo5:"Unnecessary ""elif"" after ""break"""
-no-else-break:70:12:foo6:"Unnecessary ""else"" after ""break"""
-no-else-break:110:8:bar4:"Unnecessary ""else"" after ""break"""
+no-else-break:8:8:11:17:foo1:"Unnecessary ""else"" after ""break""":UNDEFINED
+no-else-break:16:8:21:17:foo2:"Unnecessary ""elif"" after ""break""":UNDEFINED
+no-else-break:28:12:33:21:foo3:"Unnecessary ""else"" after ""break""":UNDEFINED
+no-else-break:41:8:48:17:foo4:"Unnecessary ""else"" after ""break""":UNDEFINED
+no-else-break:54:8:63:17:foo5:"Unnecessary ""elif"" after ""break""":UNDEFINED
+no-else-break:70:12:74:21:foo6:"Unnecessary ""else"" after ""break""":UNDEFINED
+no-else-break:110:8:116:21:bar4:"Unnecessary ""else"" after ""break""":UNDEFINED
diff --git a/tests/functional/n/no/no_else_continue.txt b/tests/functional/n/no/no_else_continue.txt
index 6d659ea28..ad22f0e82 100644
--- a/tests/functional/n/no/no_else_continue.txt
+++ b/tests/functional/n/no/no_else_continue.txt
@@ -1,7 +1,7 @@
-no-else-continue:8:8:foo1:"Unnecessary ""else"" after ""continue"""
-no-else-continue:16:8:foo2:"Unnecessary ""elif"" after ""continue"""
-no-else-continue:28:12:foo3:"Unnecessary ""else"" after ""continue"""
-no-else-continue:41:8:foo4:"Unnecessary ""else"" after ""continue"""
-no-else-continue:54:8:foo5:"Unnecessary ""elif"" after ""continue"""
-no-else-continue:70:12:foo6:"Unnecessary ""else"" after ""continue"""
-no-else-continue:110:8:bar4:"Unnecessary ""else"" after ""continue"""
+no-else-continue:8:8:11:17:foo1:"Unnecessary ""else"" after ""continue""":UNDEFINED
+no-else-continue:16:8:21:17:foo2:"Unnecessary ""elif"" after ""continue""":UNDEFINED
+no-else-continue:28:12:33:24:foo3:"Unnecessary ""else"" after ""continue""":UNDEFINED
+no-else-continue:41:8:48:17:foo4:"Unnecessary ""else"" after ""continue""":UNDEFINED
+no-else-continue:54:8:63:17:foo5:"Unnecessary ""elif"" after ""continue""":UNDEFINED
+no-else-continue:70:12:74:21:foo6:"Unnecessary ""else"" after ""continue""":UNDEFINED
+no-else-continue:110:8:116:24:bar4:"Unnecessary ""else"" after ""continue""":UNDEFINED
diff --git a/tests/functional/n/no/no_else_raise.txt b/tests/functional/n/no/no_else_raise.txt
index b41f7132f..3906c3404 100644
--- a/tests/functional/n/no/no_else_raise.txt
+++ b/tests/functional/n/no/no_else_raise.txt
@@ -1,7 +1,7 @@
-no-else-raise:6:4:foo1:"Unnecessary ""else"" after ""raise"""
-no-else-raise:15:4:foo2:"Unnecessary ""elif"" after ""raise"""
-no-else-raise:29:8:foo3:"Unnecessary ""else"" after ""raise"""
-no-else-raise:41:4:foo4:"Unnecessary ""else"" after ""raise"""
-no-else-raise:53:4:foo5:"Unnecessary ""elif"" after ""raise"""
-no-else-raise:68:8:foo6:"Unnecessary ""else"" after ""raise"""
-no-else-raise:104:4:bar4:"Unnecessary ""else"" after ""raise"""
+no-else-raise:6:4:11:26:foo1:"Unnecessary ""else"" after ""raise""":UNDEFINED
+no-else-raise:15:4:23:26:foo2:"Unnecessary ""elif"" after ""raise""":UNDEFINED
+no-else-raise:29:8:34:30:foo3:"Unnecessary ""else"" after ""raise""":UNDEFINED
+no-else-raise:41:4:48:13:foo4:"Unnecessary ""else"" after ""raise""":UNDEFINED
+no-else-raise:53:4:62:13:foo5:"Unnecessary ""elif"" after ""raise""":UNDEFINED
+no-else-raise:68:8:72:17:foo6:"Unnecessary ""else"" after ""raise""":UNDEFINED
+no-else-raise:104:4:110:33:bar4:"Unnecessary ""else"" after ""raise""":UNDEFINED
diff --git a/tests/functional/n/no/no_else_return.txt b/tests/functional/n/no/no_else_return.txt
index 4560f7490..7b5f0e0f3 100644
--- a/tests/functional/n/no/no_else_return.txt
+++ b/tests/functional/n/no/no_else_return.txt
@@ -1,7 +1,7 @@
-no-else-return:6:4:foo1:"Unnecessary ""else"" after ""return"""
-no-else-return:15:4:foo2:"Unnecessary ""elif"" after ""return"""
-no-else-return:29:8:foo3:"Unnecessary ""else"" after ""return"""
-no-else-return:41:4:foo4:"Unnecessary ""else"" after ""return"""
-no-else-return:53:4:foo5:"Unnecessary ""elif"" after ""return"""
-no-else-return:68:8:foo6:"Unnecessary ""else"" after ""return"""
-no-else-return:104:4:bar4:"Unnecessary ""else"" after ""return"""
+no-else-return:6:4:11:16:foo1:"Unnecessary ""else"" after ""return""":UNDEFINED
+no-else-return:15:4:23:16:foo2:"Unnecessary ""elif"" after ""return""":UNDEFINED
+no-else-return:29:8:34:20:foo3:"Unnecessary ""else"" after ""return""":UNDEFINED
+no-else-return:41:4:48:13:foo4:"Unnecessary ""else"" after ""return""":UNDEFINED
+no-else-return:53:4:62:13:foo5:"Unnecessary ""elif"" after ""return""":UNDEFINED
+no-else-return:68:8:72:17:foo6:"Unnecessary ""else"" after ""return""":UNDEFINED
+no-else-return:104:4:110:23:bar4:"Unnecessary ""else"" after ""return""":UNDEFINED
diff --git a/tests/functional/n/no/no_member_dataclasses.txt b/tests/functional/n/no/no_member_dataclasses.txt
index ffa499e71..ee33c10fb 100644
--- a/tests/functional/n/no/no_member_dataclasses.txt
+++ b/tests/functional/n/no/no_member_dataclasses.txt
@@ -1,2 +1,2 @@
-no-member:69:26:TestClass2.some_func:Instance of 'Field' has no 'items' member:INFERENCE
-no-member:81:26:TestClass3.some_func:Instance of 'Field' has no 'items' member:INFERENCE
+no-member:69:26:69:46:TestClass2.some_func:Instance of 'Field' has no 'items' member:INFERENCE
+no-member:81:26:81:46:TestClass3.some_func:Instance of 'Field' has no 'items' member:INFERENCE
diff --git a/tests/functional/n/no/no_member_if_statements.txt b/tests/functional/n/no/no_member_if_statements.txt
index 2bc673b49..d3537e539 100644
--- a/tests/functional/n/no/no_member_if_statements.txt
+++ b/tests/functional/n/no/no_member_if_statements.txt
@@ -1,3 +1,3 @@
-no-member:6:0::Instance of 'str' has no 'isoformat' member:INFERENCE
-no-member:12:4::Instance of 'str' has no 'isoformat' member:INFERENCE
-no-member:23:3::Instance of 'str' has no 'none_existent' member:INFERENCE
+no-member:6:0:6:15::Instance of 'str' has no 'isoformat' member:INFERENCE
+no-member:12:4:12:19::Instance of 'str' has no 'isoformat' member:INFERENCE
+no-member:23:3:23:22::Instance of 'str' has no 'none_existent' member:INFERENCE
diff --git a/tests/functional/n/no/no_name_in_module.txt b/tests/functional/n/no/no_name_in_module.txt
index 25b868076..330eb9e87 100644
--- a/tests/functional/n/no/no_name_in_module.txt
+++ b/tests/functional/n/no/no_name_in_module.txt
@@ -1,14 +1,14 @@
-no-name-in-module:5:0::No name 'tutu' in module 'collections'
-no-name-in-module:6:0::No name 'toto' in module 'collections'
-no-member:10:0::Module 'xml.etree.ElementTree' has no 'nonexistant_function' member:INFERENCE
-no-member:11:0::Module 'xml.etree.ElementTree' has no 'another' member:INFERENCE
-no-member:16:6::Module 'sys' has no 'stdoout' member; maybe 'stdout'?:INFERENCE
-no-name-in-module:23:0::No name 'compiile' in module 're'
-no-name-in-module:23:0::No name 'findiiter' in module 're'
-pointless-statement:26:0::Statement seems to have no effect
-no-name-in-module:34:4::No name 'anything' in module 'collections'
-no-name-in-module:49:4::No name 'indeed_missing' in module 'collections'
-no-name-in-module:54:4::No name 'emit' in module 'collections'
-no-name-in-module:71:8::No name 'emit2' in module 'collections'
-no-name-in-module:76:0::No name 'lala' in module 'functional.n.no.no_self_use'
-no-name-in-module:77:0::No name 'bla' in module 'functional.n.no.no_self_use'
+no-name-in-module:5:0:5:23::No name 'tutu' in module 'collections':UNDEFINED
+no-name-in-module:6:0:6:28::No name 'toto' in module 'collections':UNDEFINED
+no-member:10:0:10:32::Module 'xml.etree.ElementTree' has no 'nonexistant_function' member:INFERENCE
+no-member:11:0:11:19::Module 'xml.etree.ElementTree' has no 'another' member:INFERENCE
+no-member:16:6:16:17::Module 'sys' has no 'stdoout' member; maybe 'stdout'?:INFERENCE
+no-name-in-module:23:0:23:34::No name 'compiile' in module 're':UNDEFINED
+no-name-in-module:23:0:23:34::No name 'findiiter' in module 're':UNDEFINED
+pointless-statement:26:0:26:23::Statement seems to have no effect:UNDEFINED
+no-name-in-module:34:4:34:36::No name 'anything' in module 'collections':UNDEFINED
+no-name-in-module:49:4:49:37::No name 'indeed_missing' in module 'collections':UNDEFINED
+no-name-in-module:54:4:54:27::No name 'emit' in module 'collections':UNDEFINED
+no-name-in-module:71:8:71:32::No name 'emit2' in module 'collections':UNDEFINED
+no-name-in-module:76:0:76:29::No name 'lala' in module 'functional.n.no.no_self_use':UNDEFINED
+no-name-in-module:77:0:77:34::No name 'bla' in module 'functional.n.no.no_self_use':UNDEFINED
diff --git a/tests/functional/n/no/no_self_argument.txt b/tests/functional/n/no/no_self_argument.txt
index 7e11c5ced..74f6ac7b1 100644
--- a/tests/functional/n/no/no_self_argument.txt
+++ b/tests/functional/n/no/no_self_argument.txt
@@ -1,2 +1,2 @@
-no-self-argument:8:4:NoSelfArgument.__init__:"Method should have ""self"" as first argument"
-no-self-argument:12:4:NoSelfArgument.abdc:"Method should have ""self"" as first argument"
+no-self-argument:8:4:10:16:NoSelfArgument.__init__:"Method should have ""self"" as first argument":UNDEFINED
+no-self-argument:12:4:14:18:NoSelfArgument.abdc:"Method should have ""self"" as first argument":UNDEFINED
diff --git a/tests/functional/n/no/no_self_argument_py37.txt b/tests/functional/n/no/no_self_argument_py37.txt
index d0aba8476..05cd3143d 100644
--- a/tests/functional/n/no/no_self_argument_py37.txt
+++ b/tests/functional/n/no/no_self_argument_py37.txt
@@ -1 +1 @@
-no-self-argument:13:4:Toto.__class_other__:"Method should have ""self"" as first argument"
+no-self-argument:13:4:15:12:Toto.__class_other__:"Method should have ""self"" as first argument":UNDEFINED
diff --git a/tests/functional/n/no/no_self_use.txt b/tests/functional/n/no/no_self_use.txt
index c91eff9a8..a349f0bc7 100644
--- a/tests/functional/n/no/no_self_use.txt
+++ b/tests/functional/n/no/no_self_use.txt
@@ -1,2 +1,2 @@
-no-self-use:16:4:Toto.function_method:Method could be a function
-no-self-use:24:4:Toto.async_function_method:Method could be a function
+no-self-use:16:4:18:22:Toto.function_method:Method could be a function:UNDEFINED
+no-self-use:24:4:26:22:Toto.async_function_method:Method could be a function:UNDEFINED
diff --git a/tests/functional/n/no/no_staticmethod_decorator.txt b/tests/functional/n/no/no_staticmethod_decorator.txt
index df897666a..501d8ace4 100644
--- a/tests/functional/n/no/no_staticmethod_decorator.txt
+++ b/tests/functional/n/no/no_staticmethod_decorator.txt
@@ -1,3 +1,3 @@
-no-staticmethod-decorator:14:4:MyClass:Consider using a decorator instead of calling staticmethod
-no-staticmethod-decorator:17:8:MyClass:Consider using a decorator instead of calling staticmethod
-no-staticmethod-decorator:25:4:MyClass:Consider using a decorator instead of calling staticmethod
+no-staticmethod-decorator:14:4:14:11:MyClass:Consider using a decorator instead of calling staticmethod:UNDEFINED
+no-staticmethod-decorator:17:8:17:15:MyClass:Consider using a decorator instead of calling staticmethod:UNDEFINED
+no-staticmethod-decorator:25:4:25:12:MyClass:Consider using a decorator instead of calling staticmethod:UNDEFINED
diff --git a/tests/functional/n/non/non_ascii_name.txt b/tests/functional/n/non/non_ascii_name.txt
index 076d7267d..ba5338bb9 100644
--- a/tests/functional/n/non/non_ascii_name.txt
+++ b/tests/functional/n/non/non_ascii_name.txt
@@ -1,2 +1,2 @@
-non-ascii-name:3:0::"Constant name ""Ć”Ć©Ć­Ć³Ćŗ"" contains a non-ASCII unicode character"
-non-ascii-name:5:0:ĆŗĆ³Ć­Ć©Ć”:"Function name ""ĆŗĆ³Ć­Ć©Ć”"" contains a non-ASCII unicode character"
+non-ascii-name:3:0:3:10::"Constant name ""Ć”Ć©Ć­Ć³Ćŗ"" contains a non-ASCII unicode character":HIGH
+non-ascii-name:5:0:6:12:ĆŗĆ³Ć­Ć©Ć”:"Function name ""ĆŗĆ³Ć­Ć©Ć”"" contains a non-ASCII unicode character":HIGH
diff --git a/tests/functional/n/non/non_init_parent_called.txt b/tests/functional/n/non/non_init_parent_called.txt
index 22073d63d..a6b50d5ce 100644
--- a/tests/functional/n/non/non_init_parent_called.txt
+++ b/tests/functional/n/non/non_init_parent_called.txt
@@ -1,6 +1,6 @@
-import-error:7:0::Unable to import 'nonexistant'
-non-parent-init-called:15:8:AAAA.__init__:__init__ method from a non direct base class 'BBBBMixin' is called
-no-member:23:50:CCC:Module 'functional.n.non.non_init_parent_called' has no 'BBBB' member:INFERENCE
-no-member:28:8:CCC.__init__:Module 'functional.n.non.non_init_parent_called' has no 'BBBB' member:INFERENCE
-super-init-not-called:49:4:Super2.__init__:__init__ method from base class 'dict' is not called
-no-member:51:8:Super2.__init__:Super of 'Super2' has no '__woohoo__' member:INFERENCE
+import-error:7:0:7:18::Unable to import 'nonexistant':UNDEFINED
+non-parent-init-called:15:8:15:26:AAAA.__init__:__init__ method from a non direct base class 'BBBBMixin' is called:UNDEFINED
+no-member:23:50:23:77:CCC:Module 'functional.n.non.non_init_parent_called' has no 'BBBB' member:INFERENCE
+no-member:28:8:28:35:CCC.__init__:Module 'functional.n.non.non_init_parent_called' has no 'BBBB' member:INFERENCE
+super-init-not-called:49:4:51:25:Super2.__init__:__init__ method from base class 'dict' is not called:UNDEFINED
+no-member:51:8:51:23:Super2.__init__:Super of 'Super2' has no '__woohoo__' member:INFERENCE
diff --git a/tests/functional/n/non/non_iterator_returned.txt b/tests/functional/n/non/non_iterator_returned.txt
index a78948236..a5d3337df 100644
--- a/tests/functional/n/non/non_iterator_returned.txt
+++ b/tests/functional/n/non/non_iterator_returned.txt
@@ -1,4 +1,4 @@
-non-iterator-returned:79:4:FirstBadIterator.__iter__:__iter__ returns non-iterator
-non-iterator-returned:86:4:SecondBadIterator.__iter__:__iter__ returns non-iterator
-non-iterator-returned:93:4:ThirdBadIterator.__iter__:__iter__ returns non-iterator
-non-iterator-returned:100:4:FourthBadIterator.__iter__:__iter__ returns non-iterator
+non-iterator-returned:79:4:80:17:FirstBadIterator.__iter__:__iter__ returns non-iterator:UNDEFINED
+non-iterator-returned:86:4:87:19:SecondBadIterator.__iter__:__iter__ returns non-iterator:UNDEFINED
+non-iterator-returned:93:4:94:34:ThirdBadIterator.__iter__:__iter__ returns non-iterator:UNDEFINED
+non-iterator-returned:100:4:101:31:FourthBadIterator.__iter__:__iter__ returns non-iterator:UNDEFINED
diff --git a/tests/functional/n/non/non_str_assignment_to_dunder_name.txt b/tests/functional/n/non/non_str_assignment_to_dunder_name.txt
index b6cc0ce5d..1c2c10cc0 100644
--- a/tests/functional/n/non/non_str_assignment_to_dunder_name.txt
+++ b/tests/functional/n/non/non_str_assignment_to_dunder_name.txt
@@ -1,8 +1,8 @@
-non-str-assignment-to-dunder-name:37:0::Non-string value assigned to __name__
-non-str-assignment-to-dunder-name:38:0::Non-string value assigned to __name__
-non-str-assignment-to-dunder-name:39:0::Non-string value assigned to __name__
-non-str-assignment-to-dunder-name:40:0::Non-string value assigned to __name__
-non-str-assignment-to-dunder-name:46:0::Non-string value assigned to __name__
-non-str-assignment-to-dunder-name:47:0::Non-string value assigned to __name__
-non-str-assignment-to-dunder-name:48:0::Non-string value assigned to __name__
-non-str-assignment-to-dunder-name:49:0::Non-string value assigned to __name__
+non-str-assignment-to-dunder-name:37:0:37:25::Non-string value assigned to __name__:UNDEFINED
+non-str-assignment-to-dunder-name:38:0:38:28::Non-string value assigned to __name__:UNDEFINED
+non-str-assignment-to-dunder-name:39:0:39:39::Non-string value assigned to __name__:UNDEFINED
+non-str-assignment-to-dunder-name:40:0:40:37::Non-string value assigned to __name__:UNDEFINED
+non-str-assignment-to-dunder-name:46:0:46:29::Non-string value assigned to __name__:UNDEFINED
+non-str-assignment-to-dunder-name:47:0:47:32::Non-string value assigned to __name__:UNDEFINED
+non-str-assignment-to-dunder-name:48:0:48:43::Non-string value assigned to __name__:UNDEFINED
+non-str-assignment-to-dunder-name:49:0:49:41::Non-string value assigned to __name__:UNDEFINED
diff --git a/tests/functional/n/none_dunder_protocols.txt b/tests/functional/n/none_dunder_protocols.txt
index d55000645..2d20abe05 100644
--- a/tests/functional/n/none_dunder_protocols.txt
+++ b/tests/functional/n/none_dunder_protocols.txt
@@ -1,6 +1,6 @@
-unsupported-membership-test:29:9:test:Value 'NonIterableClass' doesn't support membership test
-unsupported-membership-test:30:9:test:Value 'OldNonIterableClass' doesn't support membership test
-unsupported-membership-test:31:9:test:Value 'NonContainerClass' doesn't support membership test
-unsupported-membership-test:32:9:test:Value 'NonIterableClass()' doesn't support membership test
-unsupported-membership-test:33:9:test:Value 'OldNonIterableClass()' doesn't support membership test
-unsupported-membership-test:34:9:test:Value 'NonContainerClass()' doesn't support membership test
+unsupported-membership-test:29:9:29:25:test:Value 'NonIterableClass' doesn't support membership test:UNDEFINED
+unsupported-membership-test:30:9:30:28:test:Value 'OldNonIterableClass' doesn't support membership test:UNDEFINED
+unsupported-membership-test:31:9:31:26:test:Value 'NonContainerClass' doesn't support membership test:UNDEFINED
+unsupported-membership-test:32:9:32:27:test:Value 'NonIterableClass()' doesn't support membership test:UNDEFINED
+unsupported-membership-test:33:9:33:30:test:Value 'OldNonIterableClass()' doesn't support membership test:UNDEFINED
+unsupported-membership-test:34:9:34:28:test:Value 'NonContainerClass()' doesn't support membership test:UNDEFINED
diff --git a/tests/functional/n/nonexistent_operator.txt b/tests/functional/n/nonexistent_operator.txt
index 67d064606..80796ae3c 100644
--- a/tests/functional/n/nonexistent_operator.txt
+++ b/tests/functional/n/nonexistent_operator.txt
@@ -1,6 +1,6 @@
-nonexistent-operator:6:4::Use of the non-existent ++ operator
-nonexistent-operator:7:0::Use of the non-existent ++ operator
-nonexistent-operator:8:5::Use of the non-existent ++ operator
-nonexistent-operator:12:4::Use of the non-existent -- operator
-nonexistent-operator:14:0::Use of the non-existent -- operator
-nonexistent-operator:15:5::Use of the non-existent -- operator
+nonexistent-operator:6:4:6:7::Use of the non-existent ++ operator:UNDEFINED
+nonexistent-operator:7:0:7:3::Use of the non-existent ++ operator:UNDEFINED
+nonexistent-operator:8:5:8:8::Use of the non-existent ++ operator:UNDEFINED
+nonexistent-operator:12:4:12:7::Use of the non-existent -- operator:UNDEFINED
+nonexistent-operator:14:0:14:3::Use of the non-existent -- operator:UNDEFINED
+nonexistent-operator:15:5:15:8::Use of the non-existent -- operator:UNDEFINED
diff --git a/tests/functional/n/nonlocal_and_global.txt b/tests/functional/n/nonlocal_and_global.txt
index 3b5668aac..2bc929cdb 100644
--- a/tests/functional/n/nonlocal_and_global.txt
+++ b/tests/functional/n/nonlocal_and_global.txt
@@ -1 +1 @@
-nonlocal-and-global:4:0:bad:Name 'missing' is nonlocal and global
+nonlocal-and-global:4:0:6:18:bad:Name 'missing' is nonlocal and global:UNDEFINED
diff --git a/tests/functional/n/nonlocal_without_binding.txt b/tests/functional/n/nonlocal_without_binding.txt
index df5595aae..dc48e7539 100644
--- a/tests/functional/n/nonlocal_without_binding.txt
+++ b/tests/functional/n/nonlocal_without_binding.txt
@@ -1,3 +1,3 @@
-nonlocal-without-binding:22:8:func.other_func:nonlocal name b found without binding
-nonlocal-without-binding:25:4:SomeClass:nonlocal name x found without binding
-nonlocal-without-binding:28:8:SomeClass.func:nonlocal name some_attr found without binding
+nonlocal-without-binding:22:8:22:18:func.other_func:nonlocal name b found without binding:UNDEFINED
+nonlocal-without-binding:25:4:25:14:SomeClass:nonlocal name x found without binding:UNDEFINED
+nonlocal-without-binding:28:8:28:26:SomeClass.func:nonlocal name some_attr found without binding:UNDEFINED
diff --git a/tests/functional/n/not_async_context_manager.txt b/tests/functional/n/not_async_context_manager.txt
index 01b411303..07e4934da 100644
--- a/tests/functional/n/not_async_context_manager.txt
+++ b/tests/functional/n/not_async_context_manager.txt
@@ -1,5 +1,5 @@
-not-async-context-manager:51:4:bad_coro:Async context manager 'int' doesn't implement __aenter__ and __aexit__.
-not-async-context-manager:53:4:bad_coro:Async context manager 'generator' doesn't implement __aenter__ and __aexit__.
-not-async-context-manager:55:4:bad_coro:Async context manager 'ContextManager' doesn't implement __aenter__ and __aexit__.
-not-async-context-manager:57:4:bad_coro:Async context manager 'PartialAsyncContextManager' doesn't implement __aenter__ and __aexit__.
-not-async-context-manager:59:4:bad_coro:Async context manager 'SecondPartialAsyncContextManager' doesn't implement __aenter__ and __aexit__.
+not-async-context-manager:51:4:52:12:bad_coro:Async context manager 'int' doesn't implement __aenter__ and __aexit__.:UNDEFINED
+not-async-context-manager:53:4:54:12:bad_coro:Async context manager 'generator' doesn't implement __aenter__ and __aexit__.:UNDEFINED
+not-async-context-manager:55:4:56:12:bad_coro:Async context manager 'ContextManager' doesn't implement __aenter__ and __aexit__.:UNDEFINED
+not-async-context-manager:57:4:58:12:bad_coro:Async context manager 'PartialAsyncContextManager' doesn't implement __aenter__ and __aexit__.:UNDEFINED
+not-async-context-manager:59:4:60:12:bad_coro:Async context manager 'SecondPartialAsyncContextManager' doesn't implement __aenter__ and __aexit__.:UNDEFINED
diff --git a/tests/functional/n/not_callable.txt b/tests/functional/n/not_callable.txt
index 7926cb32b..a7066e5b2 100644
--- a/tests/functional/n/not_callable.txt
+++ b/tests/functional/n/not_callable.txt
@@ -1,9 +1,9 @@
-not-callable:5:0::REVISION is not callable:HIGH
-not-callable:23:12::INSTANCE is not callable:HIGH
-not-callable:25:12::LIST is not callable:HIGH
-not-callable:27:12::DICT is not callable:HIGH
-not-callable:29:12::TUPLE is not callable:HIGH
-not-callable:31:12::INT is not callable:HIGH
-not-callable:66:0::PROP.test is not callable:HIGH
-not-callable:67:0::PROP.custom is not callable:HIGH
-not-callable:135:18::ClassWithProperty().value is not callable:HIGH
+not-callable:5:0:5:10::REVISION is not callable:UNDEFINED
+not-callable:23:12:23:22::INSTANCE is not callable:UNDEFINED
+not-callable:25:12:25:18::LIST is not callable:UNDEFINED
+not-callable:27:12:27:18::DICT is not callable:UNDEFINED
+not-callable:29:12:29:19::TUPLE is not callable:UNDEFINED
+not-callable:31:12:31:17::INT is not callable:UNDEFINED
+not-callable:66:0:66:13::PROP.test is not callable:UNDEFINED
+not-callable:67:0:67:13::PROP.custom is not callable:UNDEFINED
+not-callable:135:18:135:45::ClassWithProperty().value is not callable:UNDEFINED
diff --git a/tests/functional/n/not_context_manager.txt b/tests/functional/n/not_context_manager.txt
index 71b3af399..6052e8883 100644
--- a/tests/functional/n/not_context_manager.txt
+++ b/tests/functional/n/not_context_manager.txt
@@ -1,5 +1,5 @@
-not-context-manager:23:0::Context manager 'NotAManager' doesn't implement __enter__ and __exit__.
-not-context-manager:37:0::Context manager 'dec' doesn't implement __enter__ and __exit__.
-not-context-manager:55:0::Context manager 'int' doesn't implement __enter__ and __exit__.
-not-context-manager:90:0::Context manager 'int' doesn't implement __enter__ and __exit__.
-not-context-manager:134:0::Context manager 'generator' doesn't implement __enter__ and __exit__.
+not-context-manager:23:0:24:8::Context manager 'NotAManager' doesn't implement __enter__ and __exit__.:UNDEFINED
+not-context-manager:37:0:38:8::Context manager 'dec' doesn't implement __enter__ and __exit__.:UNDEFINED
+not-context-manager:55:0:56:8::Context manager 'int' doesn't implement __enter__ and __exit__.:UNDEFINED
+not-context-manager:90:0:91:8::Context manager 'int' doesn't implement __enter__ and __exit__.:UNDEFINED
+not-context-manager:134:0:135:8::Context manager 'generator' doesn't implement __enter__ and __exit__.:UNDEFINED
diff --git a/tests/functional/n/not_in_loop.txt b/tests/functional/n/not_in_loop.txt
index d4f82e5c7..ed86aa110 100644
--- a/tests/functional/n/not_in_loop.txt
+++ b/tests/functional/n/not_in_loop.txt
@@ -1,8 +1,8 @@
-not-in-loop:8:8:ala:'continue' not properly in loop
-not-in-loop:13:4::'continue' not properly in loop
-not-in-loop:16:4:lala:'continue' not properly in loop
-not-in-loop:20:8:A:'continue' not properly in loop
-not-in-loop:25:4::'continue' not properly in loop
-not-in-loop:30:4::'break' not properly in loop
-not-in-loop:33:4::'continue' not properly in loop
-not-in-loop:35:4::'break' not properly in loop
+not-in-loop:8:8:8:16:ala:'continue' not properly in loop:UNDEFINED
+not-in-loop:13:4:13:12::'continue' not properly in loop:UNDEFINED
+not-in-loop:16:4:16:12:lala:'continue' not properly in loop:UNDEFINED
+not-in-loop:20:8:20:16:A:'continue' not properly in loop:UNDEFINED
+not-in-loop:25:4:25:12::'continue' not properly in loop:UNDEFINED
+not-in-loop:30:4:30:9::'break' not properly in loop:UNDEFINED
+not-in-loop:33:4:33:12::'continue' not properly in loop:UNDEFINED
+not-in-loop:35:4:35:9::'break' not properly in loop:UNDEFINED
diff --git a/tests/functional/o/overridden_final_method_py38.txt b/tests/functional/o/overridden_final_method_py38.txt
index 66bbf322d..28ca17c00 100644
--- a/tests/functional/o/overridden_final_method_py38.txt
+++ b/tests/functional/o/overridden_final_method_py38.txt
@@ -1 +1 @@
-overridden-final-method:15:4:Subclass.my_method:Method 'my_method' overrides a method decorated with typing.final which is defined in class 'Base':HIGH
+overridden-final-method:15:4:16:12:Subclass.my_method:Method 'my_method' overrides a method decorated with typing.final which is defined in class 'Base':UNDEFINED
diff --git a/tests/functional/p/postponed_evaluation_not_activated.txt b/tests/functional/p/postponed_evaluation_not_activated.txt
index ece8a13e4..30568e4a5 100644
--- a/tests/functional/p/postponed_evaluation_not_activated.txt
+++ b/tests/functional/p/postponed_evaluation_not_activated.txt
@@ -1,2 +1,2 @@
-undefined-variable:6:36:Class.from_string:Undefined variable 'Class'
-used-before-assignment:9:30:Class.validate_b:Using variable 'OtherClass' before assignment
+undefined-variable:6:36:6:41:Class.from_string:Undefined variable 'Class':UNDEFINED
+used-before-assignment:9:30:9:40:Class.validate_b:Using variable 'OtherClass' before assignment:UNDEFINED
diff --git a/tests/functional/p/postponed_evaluation_pep585.txt b/tests/functional/p/postponed_evaluation_pep585.txt
index 2d595896c..3355fc956 100644
--- a/tests/functional/p/postponed_evaluation_pep585.txt
+++ b/tests/functional/p/postponed_evaluation_pep585.txt
@@ -1,20 +1,20 @@
-unsubscriptable-object:15:15::Value 'list' is unsubscriptable
-unsubscriptable-object:20:25:CustomIntListError:Value 'list' is unsubscriptable
-unsubscriptable-object:24:28::Value 'list' is unsubscriptable
-unsubscriptable-object:26:24::Value 'list' is unsubscriptable
-unsubscriptable-object:28:14::Value 'list' is unsubscriptable
-unsubscriptable-object:33:36::Value 'list' is unsubscriptable
-unsubscriptable-object:43:54::Value 'list' is unsubscriptable
-unsubscriptable-object:45:60::Value 'list' is unsubscriptable
-unsubscriptable-object:96:15::Value 'list' is unsubscriptable
-unsubscriptable-object:97:21::Value 'list' is unsubscriptable
-unsubscriptable-object:98:15::Value 'list' is unsubscriptable
-unsubscriptable-object:99:19::Value 'list' is unsubscriptable
-unsubscriptable-object:100:15::Value 'list' is unsubscriptable
-unsubscriptable-object:101:9::Value 'list' is unsubscriptable
-unsubscriptable-object:101:14::Value 'list' is unsubscriptable
-unsubscriptable-object:111:7::Value 'OrderedDict' is unsubscriptable
-unsubscriptable-object:121:20:func3:Value 'list' is unsubscriptable
-unsubscriptable-object:123:33:func3:Value 'list' is unsubscriptable
-unsubscriptable-object:126:14:func4:Value 'list' is unsubscriptable
-unsubscriptable-object:129:32:func5:Value 'set' is unsubscriptable
+unsubscriptable-object:15:15:15:19::Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:20:25:20:29:CustomIntListError:Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:24:28:24:32::Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:26:24:26:28::Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:28:14:28:18::Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:33:36:33:40::Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:43:54:43:58::Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:45:60:45:64::Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:96:15:96:19::Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:97:21:97:25::Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:98:15:98:19::Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:99:19:99:23::Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:100:15:100:19::Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:101:9:101:13::Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:101:14:101:18::Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:111:7:111:18::Value 'OrderedDict' is unsubscriptable:UNDEFINED
+unsubscriptable-object:121:20:121:24:func3:Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:123:33:123:37:func3:Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:126:14:126:18:func4:Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:129:32:129:35:func5:Value 'set' is unsubscriptable:UNDEFINED
diff --git a/tests/functional/p/postponed_evaluation_pep585_error.txt b/tests/functional/p/postponed_evaluation_pep585_error.txt
index 3949a6253..4fe18301f 100644
--- a/tests/functional/p/postponed_evaluation_pep585_error.txt
+++ b/tests/functional/p/postponed_evaluation_pep585_error.txt
@@ -1,49 +1,49 @@
-unsubscriptable-object:14:15::Value 'list' is unsubscriptable
-unsubscriptable-object:19:25:CustomIntListError:Value 'list' is unsubscriptable
-unsubscriptable-object:23:28::Value 'list' is unsubscriptable
-unsubscriptable-object:25:24::Value 'list' is unsubscriptable
-unsubscriptable-object:27:14::Value 'list' is unsubscriptable
-unsubscriptable-object:32:36::Value 'list' is unsubscriptable
-unsubscriptable-object:35:12:CustomNamedTuple2:Value 'list' is unsubscriptable
-unsubscriptable-object:38:12:CustomNamedTuple3:Value 'list' is unsubscriptable
-unsubscriptable-object:42:54::Value 'list' is unsubscriptable
-unsubscriptable-object:44:60::Value 'list' is unsubscriptable
-unsubscriptable-object:47:12:CustomTypedDict3:Value 'list' is unsubscriptable
-unsubscriptable-object:50:12:CustomTypedDict4:Value 'list' is unsubscriptable
-unsubscriptable-object:61:12:CustomDataClass:Value 'list' is unsubscriptable
-unsubscriptable-object:65:12:CustomDataClass2:Value 'list' is unsubscriptable
-unsubscriptable-object:69:12:CustomDataClass3:Value 'list' is unsubscriptable
-unsubscriptable-object:74:12:CustomDataClass4:Value 'list' is unsubscriptable
-unsubscriptable-object:77:6::Value 'set' is unsubscriptable
-unsubscriptable-object:78:6::Value 'collections.OrderedDict' is unsubscriptable
-unsubscriptable-object:79:6::Value 'dict' is unsubscriptable
-unsubscriptable-object:79:16::Value 'list' is unsubscriptable
-unsubscriptable-object:80:16::Value 'list' is unsubscriptable
-unsubscriptable-object:81:6::Value 'dict' is unsubscriptable
-unsubscriptable-object:81:11::Value 'tuple' is unsubscriptable
-unsubscriptable-object:82:11::Value 'tuple' is unsubscriptable
-unsubscriptable-object:83:6::Value 'list' is unsubscriptable
-unsubscriptable-object:83:11::Value 'list' is unsubscriptable
-unsubscriptable-object:84:12::Value 'list' is unsubscriptable
-unsubscriptable-object:84:6::Value 'tuple' is unsubscriptable
-unsubscriptable-object:85:12::Value 'list' is unsubscriptable
-unsubscriptable-object:86:13::Value 'list' is unsubscriptable
-unsubscriptable-object:87:19::Value 'list' is unsubscriptable
-unsubscriptable-object:89:14:func:Value 'list' is unsubscriptable
-unsubscriptable-object:92:15:func2:Value 'list' is unsubscriptable
-unsubscriptable-object:95:15::Value 'list' is unsubscriptable
-unsubscriptable-object:96:21::Value 'list' is unsubscriptable
-unsubscriptable-object:97:19::Value 'list' is unsubscriptable
-unsubscriptable-object:98:15::Value 'list' is unsubscriptable
-unsubscriptable-object:99:9::Value 'list' is unsubscriptable
-unsubscriptable-object:99:14::Value 'list' is unsubscriptable
-unsubscriptable-object:103:20:func3:Value 'list' is unsubscriptable
-unsubscriptable-object:105:33:func3:Value 'list' is unsubscriptable
-unsubscriptable-object:106:11:func3:Value 'list' is unsubscriptable
-unsubscriptable-object:108:14:func4:Value 'list' is unsubscriptable
-unsubscriptable-object:111:16:func5:Value 'list' is unsubscriptable
-unsubscriptable-object:111:32:func5:Value 'set' is unsubscriptable
-unsubscriptable-object:114:75:func6:Value 'dict' is unsubscriptable
-unsubscriptable-object:114:16:func6:Value 'list' is unsubscriptable
-unsubscriptable-object:114:55:func6:Value 'set' is unsubscriptable
-unsubscriptable-object:114:37:func6:Value 'tuple' is unsubscriptable
+unsubscriptable-object:14:15:14:19::Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:19:25:19:29:CustomIntListError:Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:23:28:23:32::Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:25:24:25:28::Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:27:14:27:18::Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:32:36:32:40::Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:35:12:35:16:CustomNamedTuple2:Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:38:12:38:16:CustomNamedTuple3:Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:42:54:42:58::Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:44:60:44:64::Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:47:12:47:16:CustomTypedDict3:Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:50:12:50:16:CustomTypedDict4:Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:61:12:61:16:CustomDataClass:Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:65:12:65:16:CustomDataClass2:Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:69:12:69:16:CustomDataClass3:Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:74:12:74:16:CustomDataClass4:Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:77:6:77:9::Value 'set' is unsubscriptable:UNDEFINED
+unsubscriptable-object:78:6:78:29::Value 'collections.OrderedDict' is unsubscriptable:UNDEFINED
+unsubscriptable-object:79:6:79:10::Value 'dict' is unsubscriptable:UNDEFINED
+unsubscriptable-object:79:16:79:20::Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:80:16:80:20::Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:81:6:81:10::Value 'dict' is unsubscriptable:UNDEFINED
+unsubscriptable-object:81:11:81:16::Value 'tuple' is unsubscriptable:UNDEFINED
+unsubscriptable-object:82:11:82:16::Value 'tuple' is unsubscriptable:UNDEFINED
+unsubscriptable-object:83:6:83:10::Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:83:11:83:15::Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:84:12:84:16::Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:84:6:84:11::Value 'tuple' is unsubscriptable:UNDEFINED
+unsubscriptable-object:85:12:85:16::Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:86:13:86:17::Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:87:19:87:23::Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:89:14:89:18:func:Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:92:15:92:19:func2:Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:95:15:95:19::Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:96:21:96:25::Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:97:19:97:23::Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:98:15:98:19::Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:99:9:99:13::Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:99:14:99:18::Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:103:20:103:24:func3:Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:105:33:105:37:func3:Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:106:11:106:15:func3:Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:108:14:108:18:func4:Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:111:16:111:20:func5:Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:111:32:111:35:func5:Value 'set' is unsubscriptable:UNDEFINED
+unsubscriptable-object:114:75:114:79:func6:Value 'dict' is unsubscriptable:UNDEFINED
+unsubscriptable-object:114:16:114:20:func6:Value 'list' is unsubscriptable:UNDEFINED
+unsubscriptable-object:114:55:114:58:func6:Value 'set' is unsubscriptable:UNDEFINED
+unsubscriptable-object:114:37:114:42:func6:Value 'tuple' is unsubscriptable:UNDEFINED
diff --git a/tests/functional/p/postponed_evaluation_pep585_py39.txt b/tests/functional/p/postponed_evaluation_pep585_py39.txt
index e0d0010a2..127e252a5 100644
--- a/tests/functional/p/postponed_evaluation_pep585_py39.txt
+++ b/tests/functional/p/postponed_evaluation_pep585_py39.txt
@@ -1 +1 @@
-unsubscriptable-object:106:7::Value 'OrderedDict' is unsubscriptable
+unsubscriptable-object:106:7:106:18::Value 'OrderedDict' is unsubscriptable:UNDEFINED
diff --git a/tests/functional/p/preferred_module.txt b/tests/functional/p/preferred_module.txt
index 8ac3be36b..a23be37ce 100644
--- a/tests/functional/p/preferred_module.txt
+++ b/tests/functional/p/preferred_module.txt
@@ -1,2 +1,2 @@
-preferred-module:4:0::Prefer importing 'ujson' instead of 'json'
-preferred-module:5:0::Prefer importing 'regex' instead of 're'
+preferred-module:4:0:4:11::Prefer importing 'ujson' instead of 'json':UNDEFINED
+preferred-module:5:0:5:21::Prefer importing 'regex' instead of 're':UNDEFINED
diff --git a/tests/functional/p/property_with_parameters.txt b/tests/functional/p/property_with_parameters.txt
index 732640cc4..326f19543 100644
--- a/tests/functional/p/property_with_parameters.txt
+++ b/tests/functional/p/property_with_parameters.txt
@@ -1 +1 @@
-property-with-parameters:7:4:Cls.attribute:Cannot have defined parameters for properties
+property-with-parameters:7:4:8:29:Cls.attribute:Cannot have defined parameters for properties:UNDEFINED
diff --git a/tests/functional/p/protected_access_access_different_scopes.txt b/tests/functional/p/protected_access_access_different_scopes.txt
index 17736cc83..0d1509b0a 100644
--- a/tests/functional/p/protected_access_access_different_scopes.txt
+++ b/tests/functional/p/protected_access_access_different_scopes.txt
@@ -1,2 +1,2 @@
-undefined-variable:9:11:function:Undefined variable 'self'
-undefined-variable:13:4:func:Undefined variable 'self'
+undefined-variable:9:11:9:15:function:Undefined variable 'self':UNDEFINED
+undefined-variable:13:4:13:8:func:Undefined variable 'self':UNDEFINED
diff --git a/tests/functional/p/protocol_classes.txt b/tests/functional/p/protocol_classes.txt
index f85953fc8..f08492c27 100644
--- a/tests/functional/p/protocol_classes.txt
+++ b/tests/functional/p/protocol_classes.txt
@@ -1,3 +1,3 @@
-no-self-use:31:4:HasherFake.update:Method could be a function
-unused-argument:31:21:HasherFake.update:Unused argument 'blob':INFERENCE
-no-self-use:33:4:HasherFake.digest:Method could be a function
+no-self-use:31:4:32:11:HasherFake.update:Method could be a function:UNDEFINED
+unused-argument:31:21:31:32:HasherFake.update:Unused argument 'blob':INFERENCE
+no-self-use:33:4:34:11:HasherFake.digest:Method could be a function:UNDEFINED
diff --git a/tests/functional/r/raise/raise_missing_from.txt b/tests/functional/r/raise/raise_missing_from.txt
index 15138705a..1e163ed56 100644
--- a/tests/functional/r/raise/raise_missing_from.txt
+++ b/tests/functional/r/raise/raise_missing_from.txt
@@ -1,7 +1,7 @@
-raise-missing-from:11:4::Consider explicitly re-raising using the 'from' keyword
-raise-missing-from:19:4::Consider explicitly re-raising using the 'from' keyword
-raise-missing-from:25:4::Consider explicitly re-raising using the 'from' keyword
-raise-missing-from:31:4::Consider explicitly re-raising using the 'from' keyword
-raise-missing-from:45:20::Consider explicitly re-raising using the 'from' keyword
-raise-missing-from:53:4::Consider explicitly re-raising using the 'from' keyword
-raise-missing-from:59:4::Consider explicitly re-raising using the 'from' keyword
+raise-missing-from:11:4:11:18::Consider explicitly re-raising using the 'from' keyword:UNDEFINED
+raise-missing-from:19:4:19:25::Consider explicitly re-raising using the 'from' keyword:UNDEFINED
+raise-missing-from:25:4:25:18::Consider explicitly re-raising using the 'from' keyword:UNDEFINED
+raise-missing-from:31:4:31:18::Consider explicitly re-raising using the 'from' keyword:UNDEFINED
+raise-missing-from:45:20:45:34::Consider explicitly re-raising using the 'from' keyword:UNDEFINED
+raise-missing-from:53:4:53:20::Consider explicitly re-raising using the 'from' keyword:UNDEFINED
+raise-missing-from:59:4:59:47::Consider explicitly re-raising using the 'from' keyword:UNDEFINED
diff --git a/tests/functional/r/raise/raising_format_tuple.txt b/tests/functional/r/raise/raising_format_tuple.txt
index d663ca454..5f9283bb1 100644
--- a/tests/functional/r/raise/raising_format_tuple.txt
+++ b/tests/functional/r/raise/raising_format_tuple.txt
@@ -1,7 +1,7 @@
-raising-format-tuple:11:4:bad_percent:Exception arguments suggest string formatting might be intended
-raising-format-tuple:19:4:bad_multiarg:Exception arguments suggest string formatting might be intended
-raising-format-tuple:27:4:bad_braces:Exception arguments suggest string formatting might be intended
-raising-format-tuple:35:4:bad_multistring:Exception arguments suggest string formatting might be intended
-raising-format-tuple:41:4:bad_triplequote:Exception arguments suggest string formatting might be intended
-raising-format-tuple:47:4:bad_unicode:Exception arguments suggest string formatting might be intended
-raising-format-tuple:52:4:raise_something_without_name:Exception arguments suggest string formatting might be intended
+raising-format-tuple:11:4:11:38:bad_percent:Exception arguments suggest string formatting might be intended:UNDEFINED
+raising-format-tuple:19:4:19:53:bad_multiarg:Exception arguments suggest string formatting might be intended:UNDEFINED
+raising-format-tuple:27:4:27:40:bad_braces:Exception arguments suggest string formatting might be intended:UNDEFINED
+raising-format-tuple:35:4:37:52:bad_multistring:Exception arguments suggest string formatting might be intended:UNDEFINED
+raising-format-tuple:41:4:43:53:bad_triplequote:Exception arguments suggest string formatting might be intended:UNDEFINED
+raising-format-tuple:47:4:47:36:bad_unicode:Exception arguments suggest string formatting might be intended:UNDEFINED
+raising-format-tuple:52:4:52:56:raise_something_without_name:Exception arguments suggest string formatting might be intended:UNDEFINED
diff --git a/tests/functional/r/raise/raising_non_exception.txt b/tests/functional/r/raise/raising_non_exception.txt
index 9a2e494f1..efa816a5f 100644
--- a/tests/functional/r/raise/raising_non_exception.txt
+++ b/tests/functional/r/raise/raising_non_exception.txt
@@ -1 +1 @@
-raising-non-exception:13:0::Raising a new style class which doesn't inherit from BaseException
+raising-non-exception:13:0:13:22::Raising a new style class which doesn't inherit from BaseException:UNDEFINED
diff --git a/tests/functional/r/redeclared_assigned_name.txt b/tests/functional/r/redeclared_assigned_name.txt
index 931c8a2b6..764ead309 100644
--- a/tests/functional/r/redeclared_assigned_name.txt
+++ b/tests/functional/r/redeclared_assigned_name.txt
@@ -1,4 +1,4 @@
-redeclared-assigned-name:3:0::Redeclared variable 'FIRST' in assignment
-redeclared-assigned-name:5:4::Redeclared variable 'SECOND' in assignment
-redeclared-assigned-name:8:11::Redeclared variable 'SECOND' in assignment
-redeclared-assigned-name:11:4::Redeclared variable 'DUMM' in assignment
+redeclared-assigned-name:3:0:3:12::Redeclared variable 'FIRST' in assignment:UNDEFINED
+redeclared-assigned-name:5:4:5:18::Redeclared variable 'SECOND' in assignment:UNDEFINED
+redeclared-assigned-name:8:11:8:34::Redeclared variable 'SECOND' in assignment:UNDEFINED
+redeclared-assigned-name:11:4:11:14::Redeclared variable 'DUMM' in assignment:UNDEFINED
diff --git a/tests/functional/r/redefine_loop.txt b/tests/functional/r/redefine_loop.txt
index dec738ee8..358389c0f 100644
--- a/tests/functional/r/redefine_loop.txt
+++ b/tests/functional/r/redefine_loop.txt
@@ -1 +1 @@
-redefined-outer-name:4:4::Redefining name 'item' from outer scope (line 2)
+redefined-outer-name:4:4:6:20::Redefining name 'item' from outer scope (line 2):UNDEFINED
diff --git a/tests/functional/r/redefined_argument_from_local.txt b/tests/functional/r/redefined_argument_from_local.txt
index b811971c6..acec66975 100644
--- a/tests/functional/r/redefined_argument_from_local.txt
+++ b/tests/functional/r/redefined_argument_from_local.txt
@@ -1,7 +1,7 @@
-redefined-argument-from-local:6:48:test_redefined_in_with:Redefining argument with the local name 'name'
-redefined-argument-from-local:8:57:test_redefined_in_with:Redefining argument with the local name 'name'
-redefined-argument-from-local:12:9:test_redefined_in_with:Redefining argument with the local name 'name'
-redefined-argument-from-local:26:8:test_redefined_in_for:Redefining argument with the local name 'name'
-redefined-argument-from-local:28:9:test_redefined_in_for:Redefining argument with the local name 'name'
-redefined-argument-from-local:30:15:test_redefined_in_for:Redefining argument with the local name 'name'
-redefined-argument-from-local:50:4:test_redefined_in_except_handler:Redefining argument with the local name 'name'
+redefined-argument-from-local:6:48:6:52:test_redefined_in_with:Redefining argument with the local name 'name':UNDEFINED
+redefined-argument-from-local:8:57:8:61:test_redefined_in_with:Redefining argument with the local name 'name':UNDEFINED
+redefined-argument-from-local:12:9:12:13:test_redefined_in_with:Redefining argument with the local name 'name':UNDEFINED
+redefined-argument-from-local:26:8:26:12:test_redefined_in_for:Redefining argument with the local name 'name':UNDEFINED
+redefined-argument-from-local:28:9:28:13:test_redefined_in_for:Redefining argument with the local name 'name':UNDEFINED
+redefined-argument-from-local:30:15:30:19:test_redefined_in_for:Redefining argument with the local name 'name':UNDEFINED
+redefined-argument-from-local:50:4:51:12:test_redefined_in_except_handler:Redefining argument with the local name 'name':UNDEFINED
diff --git a/tests/functional/r/redefined_builtin.txt b/tests/functional/r/redefined_builtin.txt
index 8d652510c..e67bb7753 100644
--- a/tests/functional/r/redefined_builtin.txt
+++ b/tests/functional/r/redefined_builtin.txt
@@ -1,2 +1,2 @@
-redefined-builtin:6:4:function:Redefining built-in 'type'
-redefined-builtin:10:0::Redefining built-in 'map'
+redefined-builtin:6:4:6:8:function:Redefining built-in 'type':UNDEFINED
+redefined-builtin:10:0:10:3::Redefining built-in 'map':UNDEFINED
diff --git a/tests/functional/r/redefined_builtin_allowed.txt b/tests/functional/r/redefined_builtin_allowed.txt
index cd97f3249..a0a049e2f 100644
--- a/tests/functional/r/redefined_builtin_allowed.txt
+++ b/tests/functional/r/redefined_builtin_allowed.txt
@@ -1,2 +1,2 @@
-redefined-builtin:6:4:function:Redefining built-in 'dict'
-redefined-builtin:9:0::Redefining built-in 'list'
+redefined-builtin:6:4:6:8:function:Redefining built-in 'dict':UNDEFINED
+redefined-builtin:9:0:9:4::Redefining built-in 'list':UNDEFINED
diff --git a/tests/functional/r/redundant_u_string_prefix.txt b/tests/functional/r/redundant_u_string_prefix.txt
index f970ef8e8..9fe5c1ea5 100644
--- a/tests/functional/r/redundant_u_string_prefix.txt
+++ b/tests/functional/r/redundant_u_string_prefix.txt
@@ -1,7 +1,7 @@
-redundant-u-string-prefix:10:10::The u prefix for strings is no longer necessary in Python >=3.0:HIGH
-redundant-u-string-prefix:11:10::The u prefix for strings is no longer necessary in Python >=3.0:HIGH
-redundant-u-string-prefix:12:11::The u prefix for strings is no longer necessary in Python >=3.0:HIGH
-redundant-u-string-prefix:12:22::The u prefix for strings is no longer necessary in Python >=3.0:HIGH
-redundant-u-string-prefix:13:11::The u prefix for strings is no longer necessary in Python >=3.0:HIGH
-redundant-u-string-prefix:13:22::The u prefix for strings is no longer necessary in Python >=3.0:HIGH
-redundant-u-string-prefix:14:14::The u prefix for strings is no longer necessary in Python >=3.0:HIGH
+redundant-u-string-prefix:10:10:None:None::The u prefix for strings is no longer necessary in Python >=3.0:UNDEFINED
+redundant-u-string-prefix:11:10:None:None::The u prefix for strings is no longer necessary in Python >=3.0:UNDEFINED
+redundant-u-string-prefix:12:11:None:None::The u prefix for strings is no longer necessary in Python >=3.0:UNDEFINED
+redundant-u-string-prefix:12:22:None:None::The u prefix for strings is no longer necessary in Python >=3.0:UNDEFINED
+redundant-u-string-prefix:13:11:None:None::The u prefix for strings is no longer necessary in Python >=3.0:UNDEFINED
+redundant-u-string-prefix:13:22:None:None::The u prefix for strings is no longer necessary in Python >=3.0:UNDEFINED
+redundant-u-string-prefix:14:14:None:None::The u prefix for strings is no longer necessary in Python >=3.0:UNDEFINED
diff --git a/tests/functional/r/redundant_unittest_assert.txt b/tests/functional/r/redundant_unittest_assert.txt
index ad9d22a97..4c72539ab 100644
--- a/tests/functional/r/redundant_unittest_assert.txt
+++ b/tests/functional/r/redundant_unittest_assert.txt
@@ -1,6 +1,6 @@
-redundant-unittest-assert:17:8:Tests.test_something:Redundant use of assertTrue with constant value 'I meant assertEqual not assertTrue'
-redundant-unittest-assert:19:8:Tests.test_something:Redundant use of assertFalse with constant value 'I meant assertEqual not assertFalse'
-redundant-unittest-assert:21:8:Tests.test_something:Redundant use of assertTrue with constant value True
-redundant-unittest-assert:23:8:Tests.test_something:Redundant use of assertFalse with constant value False
-redundant-unittest-assert:25:8:Tests.test_something:Redundant use of assertFalse with constant value None
-redundant-unittest-assert:27:8:Tests.test_something:Redundant use of assertTrue with constant value 0
+redundant-unittest-assert:17:8:17:71:Tests.test_something:Redundant use of assertTrue with constant value 'I meant assertEqual not assertTrue':UNDEFINED
+redundant-unittest-assert:19:8:19:73:Tests.test_something:Redundant use of assertFalse with constant value 'I meant assertEqual not assertFalse':UNDEFINED
+redundant-unittest-assert:21:8:21:39:Tests.test_something:Redundant use of assertTrue with constant value True:UNDEFINED
+redundant-unittest-assert:23:8:23:41:Tests.test_something:Redundant use of assertFalse with constant value False:UNDEFINED
+redundant-unittest-assert:25:8:25:40:Tests.test_something:Redundant use of assertFalse with constant value None:UNDEFINED
+redundant-unittest-assert:27:8:27:36:Tests.test_something:Redundant use of assertTrue with constant value 0:UNDEFINED
diff --git a/tests/functional/r/regression/regression_2913.txt b/tests/functional/r/regression/regression_2913.txt
index 97bc38ce7..f30ae1ae9 100644
--- a/tests/functional/r/regression/regression_2913.txt
+++ b/tests/functional/r/regression/regression_2913.txt
@@ -1 +1 @@
-too-few-public-methods:17:0:BaseInner:Too few public methods (0/2):HIGH
+too-few-public-methods:17:0:19:24:BaseInner:Too few public methods (0/2):UNDEFINED
diff --git a/tests/functional/r/regression/regression_3416_unused_argument_raise.txt b/tests/functional/r/regression/regression_3416_unused_argument_raise.txt
index 44d7a6230..faec54371 100644
--- a/tests/functional/r/regression/regression_3416_unused_argument_raise.txt
+++ b/tests/functional/r/regression/regression_3416_unused_argument_raise.txt
@@ -1,3 +1,3 @@
-unused-argument:9:8:fun:Unused argument 'arg_a'
-unused-argument:9:15:fun:Unused argument 'arg_b'
-unused-argument:9:22:fun:Unused argument 'arg_c'
+unused-argument:9:8:9:13:fun:Unused argument 'arg_a':HIGH
+unused-argument:9:15:9:20:fun:Unused argument 'arg_b':HIGH
+unused-argument:9:22:9:27:fun:Unused argument 'arg_c':HIGH
diff --git a/tests/functional/r/regression/regression_4439.txt b/tests/functional/r/regression/regression_4439.txt
index 1fe96738d..4e280a1af 100644
--- a/tests/functional/r/regression/regression_4439.txt
+++ b/tests/functional/r/regression/regression_4439.txt
@@ -1 +1 @@
-unsupported-assignment-operation:13:17:User:'Optional' does not support item assignment:HIGH
+unsupported-assignment-operation:13:17:13:25:User:'Optional' does not support item assignment:UNDEFINED
diff --git a/tests/functional/r/regression/regression_4680.txt b/tests/functional/r/regression/regression_4680.txt
index 22c689eb5..19732c5d1 100644
--- a/tests/functional/r/regression/regression_4680.txt
+++ b/tests/functional/r/regression/regression_4680.txt
@@ -1,2 +1,2 @@
-import-error:3:0::Unable to import 'pkg.sub':HIGH
-undefined-variable:10:0:FailedTwo:Undefined variable 'ab':HIGH
+import-error:3:0:3:14::Unable to import 'pkg.sub':UNDEFINED
+undefined-variable:10:0:11:8:FailedTwo:Undefined variable 'ab':UNDEFINED
diff --git a/tests/functional/r/regression/regression_4688_duplicated_bases_member_hints.txt b/tests/functional/r/regression/regression_4688_duplicated_bases_member_hints.txt
index ac58fcf32..9452b0cd8 100644
--- a/tests/functional/r/regression/regression_4688_duplicated_bases_member_hints.txt
+++ b/tests/functional/r/regression/regression_4688_duplicated_bases_member_hints.txt
@@ -1 +1 @@
-no-member:7:8:Klass.get:Instance of 'Klass' has no '_non_existent_attribute' member:INFERENCE
+no-member:7:8:7:36:Klass.get:Instance of 'Klass' has no '_non_existent_attribute' member:INFERENCE
diff --git a/tests/functional/r/regression/regression_4723.txt b/tests/functional/r/regression/regression_4723.txt
index abd1fc25b..a187311ba 100644
--- a/tests/functional/r/regression/regression_4723.txt
+++ b/tests/functional/r/regression/regression_4723.txt
@@ -1 +1 @@
-no-method-argument:15:4:B.play:Method has no argument:HIGH
+no-method-argument:15:4:16:12:B.play:Method has no argument:UNDEFINED
diff --git a/tests/functional/r/regression/regression___file___global.txt b/tests/functional/r/regression/regression___file___global.txt
index 502b452ec..568719910 100644
--- a/tests/functional/r/regression/regression___file___global.txt
+++ b/tests/functional/r/regression/regression___file___global.txt
@@ -1,2 +1,2 @@
-global-statement:5:4:func:Using the global statement
-redefined-builtin:5:4:func:Redefining built-in '__file__'
+global-statement:5:4:5:19:func:Using the global statement:UNDEFINED
+redefined-builtin:5:4:5:19:func:Redefining built-in '__file__':UNDEFINED
diff --git a/tests/functional/r/regression/regression_implicit_none_with_no_return.txt b/tests/functional/r/regression/regression_implicit_none_with_no_return.txt
index 5163b7b7c..4d86e26b2 100644
--- a/tests/functional/r/regression/regression_implicit_none_with_no_return.txt
+++ b/tests/functional/r/regression/regression_implicit_none_with_no_return.txt
@@ -1,2 +1,2 @@
-not-callable:17:0::a.func() is not callable
-invalid-sequence-index:18:0::Sequence index is not an int, slice, or instance with __index__
+not-callable:17:0:17:10::a.func() is not callable:UNDEFINED
+invalid-sequence-index:18:0:18:18::Sequence index is not an int, slice, or instance with __index__:UNDEFINED
diff --git a/tests/functional/r/regression/regression_infer_call_result_3690.txt b/tests/functional/r/regression/regression_infer_call_result_3690.txt
index bd69d7f7e..e74c1c8a7 100644
--- a/tests/functional/r/regression/regression_infer_call_result_3690.txt
+++ b/tests/functional/r/regression/regression_infer_call_result_3690.txt
@@ -1 +1 @@
-deprecated-pragma:1:0::"Pragma ""disable-msg"" is deprecated, use ""disable"" instead"
+deprecated-pragma:1:0:None:None::"Pragma ""disable-msg"" is deprecated, use ""disable"" instead":UNDEFINED
diff --git a/tests/functional/r/regression/regression_properties_in_class_context.txt b/tests/functional/r/regression/regression_properties_in_class_context.txt
index 9b754bde3..3c83bdad6 100644
--- a/tests/functional/r/regression/regression_properties_in_class_context.txt
+++ b/tests/functional/r/regression/regression_properties_in_class_context.txt
@@ -1,2 +1,2 @@
-unsupported-membership-test:42:14::Value 'Child2.a_method' doesn't support membership test
-not-an-iterable:43:13::Non-iterable value Child2.a_method is used in an iterating context
+unsupported-membership-test:42:14:42:29::Value 'Child2.a_method' doesn't support membership test:UNDEFINED
+not-an-iterable:43:13:43:28::Non-iterable value Child2.a_method is used in an iterating context:UNDEFINED
diff --git a/tests/functional/r/regression_02/regression_protected_access.txt b/tests/functional/r/regression_02/regression_protected_access.txt
index e3577b4b1..914468e87 100644
--- a/tests/functional/r/regression_02/regression_protected_access.txt
+++ b/tests/functional/r/regression_02/regression_protected_access.txt
@@ -1 +1 @@
-protected-access:13:15:MyClass._a_private_method:Access to a protected member _a_private_method of a client class:HIGH
+protected-access:13:15:13:54:MyClass._a_private_method:Access to a protected member _a_private_method of a client class:UNDEFINED
diff --git a/tests/functional/r/reimport.txt b/tests/functional/r/reimport.txt
index c57d14817..7825858d2 100644
--- a/tests/functional/r/reimport.txt
+++ b/tests/functional/r/reimport.txt
@@ -1,4 +1,4 @@
-reimported:8:0::Reimport 'os' (imported line 6)
-reimported:16:4::Reimport 'exists' (imported line 7)
-reimported:21:4:func:Reimport 'os' (imported line 6)
-reimported:23:4:func:Reimport 're' (imported line 9)
+reimported:8:0:8:9::Reimport 'os' (imported line 6):UNDEFINED
+reimported:16:4:16:30::Reimport 'exists' (imported line 7):UNDEFINED
+reimported:21:4:21:20:func:Reimport 'os' (imported line 6):UNDEFINED
+reimported:23:4:23:13:func:Reimport 're' (imported line 9):UNDEFINED
diff --git a/tests/functional/r/reimported.txt b/tests/functional/r/reimported.txt
index f947012af..41b06eba3 100644
--- a/tests/functional/r/reimported.txt
+++ b/tests/functional/r/reimported.txt
@@ -1,9 +1,9 @@
-reimported:3:0::Reimport 'sleep' (imported line 3)
-reimported:4:0::Reimport 'missing' (imported line 4)
-reimported:7:0::Reimport 'missing1' (imported line 6)
-reimported:10:0::Reimport 'deque' (imported line 9)
-reimported:24:0::Reimport 'ElementTree' (imported line 23)
-reimported:27:0::Reimport 'email.encoders' (imported line 26)
-reimported:29:0::Reimport 'sys' (imported line 21)
-redefined-outer-name:40:4:reimport:Redefining name 'sys' from outer scope (line 16)
-reimported:40:4:reimport:Reimport 'sys' (imported line 21)
+reimported:3:0:3:29::Reimport 'sleep' (imported line 3):UNDEFINED
+reimported:4:0:4:33::Reimport 'missing' (imported line 4):UNDEFINED
+reimported:7:0:7:15::Reimport 'missing1' (imported line 6):UNDEFINED
+reimported:10:0:10:27::Reimport 'deque' (imported line 9):UNDEFINED
+reimported:24:0:24:33::Reimport 'ElementTree' (imported line 23):UNDEFINED
+reimported:27:0:27:21::Reimport 'email.encoders' (imported line 26):UNDEFINED
+reimported:29:0:29:10::Reimport 'sys' (imported line 21):UNDEFINED
+redefined-outer-name:40:4:40:14:reimport:Redefining name 'sys' from outer scope (line 16):UNDEFINED
+reimported:40:4:40:14:reimport:Reimport 'sys' (imported line 21):UNDEFINED
diff --git a/tests/functional/r/renamed_import_logging_not_lazy.txt b/tests/functional/r/renamed_import_logging_not_lazy.txt
index f60571e7f..71cd9a65e 100644
--- a/tests/functional/r/renamed_import_logging_not_lazy.txt
+++ b/tests/functional/r/renamed_import_logging_not_lazy.txt
@@ -1,2 +1,2 @@
-logging-not-lazy:16:0::Use lazy % formatting in logging functions
-logging-not-lazy:17:0::Use lazy % formatting in logging functions
+logging-not-lazy:16:0:16:42::Use lazy % formatting in logging functions:UNDEFINED
+logging-not-lazy:17:0:17:24::Use lazy % formatting in logging functions:UNDEFINED
diff --git a/tests/functional/r/repeated_keyword.txt b/tests/functional/r/repeated_keyword.txt
index 29b23efe4..a4ac943e1 100644
--- a/tests/functional/r/repeated_keyword.txt
+++ b/tests/functional/r/repeated_keyword.txt
@@ -1 +1 @@
-repeated-keyword:13:0::Got multiple values for keyword argument 'b' in function call
+repeated-keyword:13:0:13:26::Got multiple values for keyword argument 'b' in function call:UNDEFINED
diff --git a/tests/functional/r/return_in_init.txt b/tests/functional/r/return_in_init.txt
index f7ecc37f0..3accd6834 100644
--- a/tests/functional/r/return_in_init.txt
+++ b/tests/functional/r/return_in_init.txt
@@ -1 +1 @@
-return-in-init:5:4:MyClass.__init__:Explicit return in __init__
+return-in-init:5:4:6:16:MyClass.__init__:Explicit return in __init__:UNDEFINED
diff --git a/tests/functional/r/return_outside_function.txt b/tests/functional/r/return_outside_function.txt
index b4ae4f359..fe5739e14 100644
--- a/tests/functional/r/return_outside_function.txt
+++ b/tests/functional/r/return_outside_function.txt
@@ -1 +1 @@
-return-outside-function:2:0::Return outside function
+return-outside-function:2:0:2:6::Return outside function:UNDEFINED
diff --git a/tests/functional/r/reused_outer_loop_variable.txt b/tests/functional/r/reused_outer_loop_variable.txt
index 8edec28fb..3729dc776 100644
--- a/tests/functional/r/reused_outer_loop_variable.txt
+++ b/tests/functional/r/reused_outer_loop_variable.txt
@@ -1,4 +1,4 @@
-redefined-outer-name:7:4::Redefining name 'i' from outer scope (line 6)
-redefined-outer-name:12:4::Redefining name 'i' from outer scope (line 11)
-redefined-outer-name:17:4::Redefining name 'i' from outer scope (line 16)
-redefined-outer-name:22:4::Redefining name 'a' from outer scope (line 21)
+redefined-outer-name:7:4:8:16::Redefining name 'i' from outer scope (line 6):UNDEFINED
+redefined-outer-name:12:4:13:25::Redefining name 'i' from outer scope (line 11):UNDEFINED
+redefined-outer-name:17:4:18:25::Redefining name 'i' from outer scope (line 16):UNDEFINED
+redefined-outer-name:22:4:23:25::Redefining name 'a' from outer scope (line 21):UNDEFINED
diff --git a/tests/functional/r/reused_outer_loop_variable_py3.txt b/tests/functional/r/reused_outer_loop_variable_py3.txt
index dcc32e8dc..acaa9c847 100644
--- a/tests/functional/r/reused_outer_loop_variable_py3.txt
+++ b/tests/functional/r/reused_outer_loop_variable_py3.txt
@@ -1 +1 @@
-redefined-outer-name:4:4::Redefining name 'j' from outer scope (line 3)
+redefined-outer-name:4:4:5:16::Redefining name 'j' from outer scope (line 3):UNDEFINED
diff --git a/tests/functional/s/self/self_assigning_variable.txt b/tests/functional/s/self/self_assigning_variable.txt
index a1262decc..d2f334275 100644
--- a/tests/functional/s/self/self_assigning_variable.txt
+++ b/tests/functional/s/self/self_assigning_variable.txt
@@ -1,2 +1,2 @@
-self-assigning-variable:19:0::Assigning the same variable 'FIRST' to itself
-self-assigning-variable:20:0::Assigning the same variable 'FIRST' to itself
+self-assigning-variable:19:0:19:5::Assigning the same variable 'FIRST' to itself:UNDEFINED
+self-assigning-variable:20:0:20:5::Assigning the same variable 'FIRST' to itself:UNDEFINED
diff --git a/tests/functional/s/self/self_cls_assignment.txt b/tests/functional/s/self/self_cls_assignment.txt
index cedd256e0..1f9deb48b 100644
--- a/tests/functional/s/self/self_cls_assignment.txt
+++ b/tests/functional/s/self/self_cls_assignment.txt
@@ -1,5 +1,5 @@
-self-cls-assignment:11:8:Foo.self_foo:Invalid assignment to bar_ in method:HIGH
-self-cls-assignment:16:8:Foo.self_foofoo:Invalid assignment to self in method:HIGH
-self-cls-assignment:17:8:Foo.self_foofoo:Invalid assignment to self in method:HIGH
-self-cls-assignment:23:8:Foo.cls_foo:Invalid assignment to cls in method:HIGH
-self-cls-assignment:46:12:TestNonLocal.function._set_param:Invalid assignment to self in method:HIGH
+self-cls-assignment:11:8:11:17:Foo.self_foo:Invalid assignment to bar_ in method:UNDEFINED
+self-cls-assignment:16:8:16:19:Foo.self_foofoo:Invalid assignment to self in method:UNDEFINED
+self-cls-assignment:17:8:17:27:Foo.self_foofoo:Invalid assignment to self in method:UNDEFINED
+self-cls-assignment:23:8:23:20:Foo.cls_foo:Invalid assignment to cls in method:UNDEFINED
+self-cls-assignment:46:12:46:24:TestNonLocal.function._set_param:Invalid assignment to self in method:UNDEFINED
diff --git a/tests/functional/s/signature_differs.txt b/tests/functional/s/signature_differs.txt
index 5281903bc..4311f4ef1 100644
--- a/tests/functional/s/signature_differs.txt
+++ b/tests/functional/s/signature_differs.txt
@@ -1 +1 @@
-signature-differs:21:4:Cdef.abcd:Signature differs from overridden 'abcd' method
+signature-differs:21:4:22:24:Cdef.abcd:Signature differs from overridden 'abcd' method:UNDEFINED
diff --git a/tests/functional/s/simplifiable/simplifiable_condition.txt b/tests/functional/s/simplifiable/simplifiable_condition.txt
index b3552b50f..53a5694f7 100644
--- a/tests/functional/s/simplifiable/simplifiable_condition.txt
+++ b/tests/functional/s/simplifiable/simplifiable_condition.txt
@@ -1,12 +1,12 @@
-simplifiable-condition:13:5::Boolean condition 'CONSTANT or False' may be simplified to 'CONSTANT'
-simplifiable-condition:14:7::Boolean condition 'CONSTANT or False' may be simplified to 'CONSTANT'
-simplifiable-condition:15:3::Boolean condition 'CONSTANT and True' may be simplified to 'CONSTANT'
-simplifiable-condition:17:5::Boolean condition 'CONSTANT and True' may be simplified to 'CONSTANT'
-simplifiable-condition:19:6::Boolean condition 'CONSTANT and True' may be simplified to 'CONSTANT'
-simplifiable-condition:21:5::Boolean condition 'CONSTANT or False' may be simplified to 'CONSTANT'
-simplifiable-condition:22:29::Boolean condition 'x or False' may be simplified to 'x'
-simplifiable-condition:25:7::Boolean condition 'CONSTANT or True and False' may be simplified to 'CONSTANT'
-simplifiable-condition:26:7::Boolean condition 'True and CONSTANT and OTHER' may be simplified to 'CONSTANT and OTHER'
-simplifiable-condition:27:7::Boolean condition '(CONSTANT or False) and (OTHER or True)' may be simplified to 'CONSTANT'
-simplifiable-condition:30:7::Boolean condition '[] or CONSTANT' may be simplified to 'CONSTANT'
-simplifiable-condition:31:7::Boolean condition '{} or CONSTANT' may be simplified to 'CONSTANT'
+simplifiable-condition:13:5:13:22::Boolean condition 'CONSTANT or False' may be simplified to 'CONSTANT':UNDEFINED
+simplifiable-condition:14:7:14:24::Boolean condition 'CONSTANT or False' may be simplified to 'CONSTANT':UNDEFINED
+simplifiable-condition:15:3:15:20::Boolean condition 'CONSTANT and True' may be simplified to 'CONSTANT':UNDEFINED
+simplifiable-condition:17:5:17:22::Boolean condition 'CONSTANT and True' may be simplified to 'CONSTANT':UNDEFINED
+simplifiable-condition:19:6:19:23::Boolean condition 'CONSTANT and True' may be simplified to 'CONSTANT':UNDEFINED
+simplifiable-condition:21:5:21:22::Boolean condition 'CONSTANT or False' may be simplified to 'CONSTANT':UNDEFINED
+simplifiable-condition:22:29:22:39::Boolean condition 'x or False' may be simplified to 'x':UNDEFINED
+simplifiable-condition:25:7:25:35::Boolean condition 'CONSTANT or True and False' may be simplified to 'CONSTANT':UNDEFINED
+simplifiable-condition:26:7:26:34::Boolean condition 'True and CONSTANT and OTHER' may be simplified to 'CONSTANT and OTHER':UNDEFINED
+simplifiable-condition:27:7:27:46::Boolean condition '(CONSTANT or False) and (OTHER or True)' may be simplified to 'CONSTANT':UNDEFINED
+simplifiable-condition:30:7:30:21::Boolean condition '[] or CONSTANT' may be simplified to 'CONSTANT':UNDEFINED
+simplifiable-condition:31:7:31:21::Boolean condition '{} or CONSTANT' may be simplified to 'CONSTANT':UNDEFINED
diff --git a/tests/functional/s/simplifiable/simplifiable_if_expression.txt b/tests/functional/s/simplifiable/simplifiable_if_expression.txt
index 872df8c25..9d3f87114 100644
--- a/tests/functional/s/simplifiable/simplifiable_if_expression.txt
+++ b/tests/functional/s/simplifiable/simplifiable_if_expression.txt
@@ -1,4 +1,4 @@
-simplifiable-if-expression:8:11:test_simplifiable_1:The if expression can be replaced with 'bool(test)'
-simplifiable-if-expression:12:11:test_simplifiable_2:The if expression can be replaced with 'not test'
-simplifiable-if-expression:16:11:test_simplifiable_3:The if expression can be replaced with 'test'
-simplifiable-if-expression:20:11:test_simplifiable_4:The if expression can be replaced with 'not test'
+simplifiable-if-expression:8:11:8:33:test_simplifiable_1:The if expression can be replaced with 'bool(test)':UNDEFINED
+simplifiable-if-expression:12:11:12:33:test_simplifiable_2:The if expression can be replaced with 'not test':UNDEFINED
+simplifiable-if-expression:16:11:16:38:test_simplifiable_3:The if expression can be replaced with 'test':UNDEFINED
+simplifiable-if-expression:20:11:20:38:test_simplifiable_4:The if expression can be replaced with 'not test':UNDEFINED
diff --git a/tests/functional/s/simplifiable/simplifiable_if_statement.txt b/tests/functional/s/simplifiable/simplifiable_if_statement.txt
index aa61f4993..d36768ddd 100644
--- a/tests/functional/s/simplifiable/simplifiable_if_statement.txt
+++ b/tests/functional/s/simplifiable/simplifiable_if_statement.txt
@@ -1,4 +1,4 @@
-simplifiable-if-statement:8:4:test_simplifiable_1:The if statement can be replaced with 'return bool(test)'
-simplifiable-if-statement:16:4:test_simplifiable_2:The if statement can be replaced with 'return bool(test)'
-simplifiable-if-statement:24:4:test_simplifiable_3:The if statement can be replaced with 'var = bool(test)'
-simplifiable-if-statement:35:8:test_simplifiable_4:The if statement can be replaced with 'return bool(test)'
+simplifiable-if-statement:8:4:11:20:test_simplifiable_1:The if statement can be replaced with 'return bool(test)':UNDEFINED
+simplifiable-if-statement:16:4:19:20:test_simplifiable_2:The if statement can be replaced with 'return bool(test)':UNDEFINED
+simplifiable-if-statement:24:4:27:19:test_simplifiable_3:The if statement can be replaced with 'var = bool(test)':UNDEFINED
+simplifiable-if-statement:35:8:38:24:test_simplifiable_4:The if statement can be replaced with 'return bool(test)':UNDEFINED
diff --git a/tests/functional/s/simplifiable/simplify_chained_comparison.txt b/tests/functional/s/simplifiable/simplify_chained_comparison.txt
index fe8d3c384..52fbb9d9c 100644
--- a/tests/functional/s/simplifiable/simplify_chained_comparison.txt
+++ b/tests/functional/s/simplifiable/simplify_chained_comparison.txt
@@ -1,18 +1,18 @@
-chained-comparison:10:11:test_simplify_chained_comparison_1:Simplify chained comparison between the operands
-chained-comparison:15:11:test_simplify_chained_comparison_2:Simplify chained comparison between the operands
-chained-comparison:23:7:test_simplify_chained_comparison_3:Simplify chained comparison between the operands
-chained-comparison:25:9:test_simplify_chained_comparison_3:Simplify chained comparison between the operands
-chained-comparison:27:9:test_simplify_chained_comparison_3:Simplify chained comparison between the operands
-chained-comparison:29:9:test_simplify_chained_comparison_3:Simplify chained comparison between the operands
-chained-comparison:31:9:test_simplify_chained_comparison_3:Simplify chained comparison between the operands
-chained-comparison:33:9:test_simplify_chained_comparison_3:Simplify chained comparison between the operands
-chained-comparison:37:9:test_simplify_chained_comparison_3:Simplify chained comparison between the operands
-chained-comparison:39:9:test_simplify_chained_comparison_3:Simplify chained comparison between the operands
-chained-comparison:41:9:test_simplify_chained_comparison_3:Simplify chained comparison between the operands
-chained-comparison:43:9:test_simplify_chained_comparison_3:Simplify chained comparison between the operands
-chained-comparison:45:9:test_simplify_chained_comparison_3:Simplify chained comparison between the operands
-chained-comparison:47:9:test_simplify_chained_comparison_3:Simplify chained comparison between the operands
-chained-comparison:49:9:test_simplify_chained_comparison_3:Simplify chained comparison between the operands
-chained-comparison:51:9:test_simplify_chained_comparison_3:Simplify chained comparison between the operands
-chained-comparison:53:9:test_simplify_chained_comparison_3:Simplify chained comparison between the operands
-chained-comparison:55:9:test_simplify_chained_comparison_3:Simplify chained comparison between the operands
+chained-comparison:10:11:10:26:test_simplify_chained_comparison_1:Simplify chained comparison between the operands:UNDEFINED
+chained-comparison:15:11:15:27:test_simplify_chained_comparison_2:Simplify chained comparison between the operands:UNDEFINED
+chained-comparison:23:7:23:23:test_simplify_chained_comparison_3:Simplify chained comparison between the operands:UNDEFINED
+chained-comparison:25:9:25:25:test_simplify_chained_comparison_3:Simplify chained comparison between the operands:UNDEFINED
+chained-comparison:27:9:27:26:test_simplify_chained_comparison_3:Simplify chained comparison between the operands:UNDEFINED
+chained-comparison:29:9:29:36:test_simplify_chained_comparison_3:Simplify chained comparison between the operands:UNDEFINED
+chained-comparison:31:9:31:36:test_simplify_chained_comparison_3:Simplify chained comparison between the operands:UNDEFINED
+chained-comparison:33:9:33:38:test_simplify_chained_comparison_3:Simplify chained comparison between the operands:UNDEFINED
+chained-comparison:37:9:37:24:test_simplify_chained_comparison_3:Simplify chained comparison between the operands:UNDEFINED
+chained-comparison:39:9:39:24:test_simplify_chained_comparison_3:Simplify chained comparison between the operands:UNDEFINED
+chained-comparison:41:9:41:35:test_simplify_chained_comparison_3:Simplify chained comparison between the operands:UNDEFINED
+chained-comparison:43:9:43:37:test_simplify_chained_comparison_3:Simplify chained comparison between the operands:UNDEFINED
+chained-comparison:45:9:45:37:test_simplify_chained_comparison_3:Simplify chained comparison between the operands:UNDEFINED
+chained-comparison:47:9:47:37:test_simplify_chained_comparison_3:Simplify chained comparison between the operands:UNDEFINED
+chained-comparison:49:9:49:37:test_simplify_chained_comparison_3:Simplify chained comparison between the operands:UNDEFINED
+chained-comparison:51:9:51:28:test_simplify_chained_comparison_3:Simplify chained comparison between the operands:UNDEFINED
+chained-comparison:53:9:53:28:test_simplify_chained_comparison_3:Simplify chained comparison between the operands:UNDEFINED
+chained-comparison:55:9:55:38:test_simplify_chained_comparison_3:Simplify chained comparison between the operands:UNDEFINED
diff --git a/tests/functional/s/singledispatch_functions.txt b/tests/functional/s/singledispatch_functions.txt
index 6b26e7794..1879d136d 100644
--- a/tests/functional/s/singledispatch_functions.txt
+++ b/tests/functional/s/singledispatch_functions.txt
@@ -1,5 +1,5 @@
-unused-variable:60:4:_:Unused variable 'unused'
-unused-argument:65:24:not_single_dispatch:Unused argument 'arg'
-unused-argument:70:24:bad_single_dispatch:Unused argument 'arg'
-function-redefined:75:0:bad_single_dispatch:function already defined line 70
-unused-argument:75:24:bad_single_dispatch:Unused argument 'arg'
+unused-variable:60:4:60:10:_:Unused variable 'unused':UNDEFINED
+unused-argument:65:24:65:27:not_single_dispatch:Unused argument 'arg':HIGH
+unused-argument:70:24:70:27:bad_single_dispatch:Unused argument 'arg':HIGH
+function-redefined:75:0:76:13:bad_single_dispatch:function already defined line 70:UNDEFINED
+unused-argument:75:24:75:27:bad_single_dispatch:Unused argument 'arg':HIGH
diff --git a/tests/functional/s/singleton_comparison.txt b/tests/functional/s/singleton_comparison.txt
index 0907dcb8b..12d341430 100644
--- a/tests/functional/s/singleton_comparison.txt
+++ b/tests/functional/s/singleton_comparison.txt
@@ -1,12 +1,12 @@
-singleton-comparison:4:4::Comparison 'x == None' should be 'x is None'
-singleton-comparison:5:4::Comparison 'x == True' should be 'x is True' if checking for the singleton value True, or 'bool(x)' if testing for truthiness
-singleton-comparison:6:4::Comparison 'x == False' should be 'x is False' if checking for the singleton value False, or 'not x' if testing for falsiness
-singleton-comparison:7:4::Comparison 'True == True' should be 'True is True' if checking for the singleton value True, or 'bool(True)' if testing for truthiness
-singleton-comparison:11:4::Comparison 'None == x' should be 'None is x'
-singleton-comparison:13:4::Comparison 'x != True' should be 'x is not True' if checking for the singleton value True, or 'not x' if testing for falsiness
-singleton-comparison:14:5::Comparison 'x != False' should be 'x is not False' if checking for the singleton value False, or 'bool(x)' if testing for truthiness
-singleton-comparison:15:5::Comparison 'x != None' should be 'x is not None'
-singleton-comparison:16:7::Comparison 'x == True' should be 'x is True' if checking for the singleton value True, or 'x' if testing for truthiness
-singleton-comparison:17:7::Comparison 'x != False' should be 'x is not False' if checking for the singleton value False, or 'x' if testing for truthiness
-singleton-comparison:18:3::Comparison 'x == True' should be 'x is True' if checking for the singleton value True, or 'x' if testing for truthiness
-singleton-comparison:20:9::Comparison 'x == True' should be 'x is True' if checking for the singleton value True, or 'x' if testing for truthiness
+singleton-comparison:4:4:4:13::Comparison 'x == None' should be 'x is None':UNDEFINED
+singleton-comparison:5:4:5:13::Comparison 'x == True' should be 'x is True' if checking for the singleton value True, or 'bool(x)' if testing for truthiness:UNDEFINED
+singleton-comparison:6:4:6:14::Comparison 'x == False' should be 'x is False' if checking for the singleton value False, or 'not x' if testing for falsiness:UNDEFINED
+singleton-comparison:7:4:7:16::Comparison 'True == True' should be 'True is True' if checking for the singleton value True, or 'bool(True)' if testing for truthiness:UNDEFINED
+singleton-comparison:11:4:11:13::Comparison 'None == x' should be 'None is x':UNDEFINED
+singleton-comparison:13:4:13:13::Comparison 'x != True' should be 'x is not True' if checking for the singleton value True, or 'not x' if testing for falsiness:UNDEFINED
+singleton-comparison:14:5:14:15::Comparison 'x != False' should be 'x is not False' if checking for the singleton value False, or 'bool(x)' if testing for truthiness:UNDEFINED
+singleton-comparison:15:5:15:14::Comparison 'x != None' should be 'x is not None':UNDEFINED
+singleton-comparison:16:7:16:16::Comparison 'x == True' should be 'x is True' if checking for the singleton value True, or 'x' if testing for truthiness:UNDEFINED
+singleton-comparison:17:7:17:17::Comparison 'x != False' should be 'x is not False' if checking for the singleton value False, or 'x' if testing for truthiness:UNDEFINED
+singleton-comparison:18:3:18:12::Comparison 'x == True' should be 'x is True' if checking for the singleton value True, or 'x' if testing for truthiness:UNDEFINED
+singleton-comparison:20:9:20:18::Comparison 'x == True' should be 'x is True' if checking for the singleton value True, or 'x' if testing for truthiness:UNDEFINED
diff --git a/tests/functional/s/slots_checks.txt b/tests/functional/s/slots_checks.txt
index ffe82f8a1..c3069131b 100644
--- a/tests/functional/s/slots_checks.txt
+++ b/tests/functional/s/slots_checks.txt
@@ -1,11 +1,11 @@
-invalid-slots:36:0:Bad:Invalid __slots__ object
-invalid-slots:39:0:SecondBad:Invalid __slots__ object
-invalid-slots-object:43:22:ThirdBad:Invalid object '2' in __slots__, must contain only non empty strings
-invalid-slots:45:0:FourthBad:Invalid __slots__ object
-invalid-slots-object:49:27:FifthBad:"Invalid object ""''"" in __slots__, must contain only non empty strings"
-single-string-used-for-slots:51:0:SixthBad:Class __slots__ should be a non-string iterable
-single-string-used-for-slots:54:0:SeventhBad:Class __slots__ should be a non-string iterable
-single-string-used-for-slots:57:0:EighthBad:Class __slots__ should be a non-string iterable
-class-variable-slots-conflict:85:17:ValueInSlotConflict:Value 'first' in slots conflicts with class variable
-class-variable-slots-conflict:85:45:ValueInSlotConflict:Value 'fourth' in slots conflicts with class variable
-class-variable-slots-conflict:85:36:ValueInSlotConflict:Value 'third' in slots conflicts with class variable
+invalid-slots:36:0:37:20:Bad:Invalid __slots__ object:UNDEFINED
+invalid-slots:39:0:40:17:SecondBad:Invalid __slots__ object:UNDEFINED
+invalid-slots-object:43:22:43:23:ThirdBad:Invalid object '2' in __slots__, must contain only non empty strings:UNDEFINED
+invalid-slots:45:0:46:29:FourthBad:Invalid __slots__ object:UNDEFINED
+invalid-slots-object:49:27:49:29:FifthBad:"Invalid object ""''"" in __slots__, must contain only non empty strings":UNDEFINED
+single-string-used-for-slots:51:0:52:19:SixthBad:Class __slots__ should be a non-string iterable:UNDEFINED
+single-string-used-for-slots:54:0:55:23:SeventhBad:Class __slots__ should be a non-string iterable:UNDEFINED
+single-string-used-for-slots:57:0:58:30:EighthBad:Class __slots__ should be a non-string iterable:UNDEFINED
+class-variable-slots-conflict:85:17:85:24:ValueInSlotConflict:Value 'first' in slots conflicts with class variable:UNDEFINED
+class-variable-slots-conflict:85:45:85:53:ValueInSlotConflict:Value 'fourth' in slots conflicts with class variable:UNDEFINED
+class-variable-slots-conflict:85:36:85:43:ValueInSlotConflict:Value 'third' in slots conflicts with class variable:UNDEFINED
diff --git a/tests/functional/s/star/star_needs_assignment_target.txt b/tests/functional/s/star/star_needs_assignment_target.txt
index 57f66931d..318acad61 100644
--- a/tests/functional/s/star/star_needs_assignment_target.txt
+++ b/tests/functional/s/star/star_needs_assignment_target.txt
@@ -1 +1 @@
-star-needs-assignment-target:3:8::Can use starred expression only in assignment target
+star-needs-assignment-target:3:8:3:15::Can use starred expression only in assignment target:UNDEFINED
diff --git a/tests/functional/s/statement_without_effect.txt b/tests/functional/s/statement_without_effect.txt
index 23ccf9547..6bebf450b 100644
--- a/tests/functional/s/statement_without_effect.txt
+++ b/tests/functional/s/statement_without_effect.txt
@@ -1,12 +1,12 @@
-pointless-string-statement:5:0::String statement has no effect
-pointless-statement:9:0::Statement seems to have no effect
-pointless-statement:11:0::Statement seems to have no effect
-pointless-statement:15:0::Statement seems to have no effect
-pointless-string-statement:18:0::String statement has no effect
-unnecessary-semicolon:21:0::Unnecessary semicolon
-expression-not-assigned:23:0::"Expression ""list() and tuple()"" is assigned to nothing"
-expression-not-assigned:30:0::"Expression ""ANSWER == to_be()"" is assigned to nothing"
-expression-not-assigned:32:0::"Expression ""to_be() or not to_be()"" is assigned to nothing"
-expression-not-assigned:33:0::"Expression ""to_be().title"" is assigned to nothing"
-pointless-string-statement:58:8:ClassLevelAttributeTest.__init__:String statement has no effect
-pointless-string-statement:65:8:ClassLevelAttributeTest.test:String statement has no effect
+pointless-string-statement:5:0:5:54::String statement has no effect:UNDEFINED
+pointless-statement:9:0:9:12::Statement seems to have no effect:UNDEFINED
+pointless-statement:11:0:11:17::Statement seems to have no effect:UNDEFINED
+pointless-statement:15:0:15:25::Statement seems to have no effect:UNDEFINED
+pointless-string-statement:18:0:18:54::String statement has no effect:UNDEFINED
+unnecessary-semicolon:21:0:None:None::Unnecessary semicolon:UNDEFINED
+expression-not-assigned:23:0:23:18::"Expression ""list() and tuple()"" is assigned to nothing":UNDEFINED
+expression-not-assigned:30:0:30:17::"Expression ""ANSWER == to_be()"" is assigned to nothing":UNDEFINED
+expression-not-assigned:32:0:32:22::"Expression ""to_be() or not to_be()"" is assigned to nothing":UNDEFINED
+expression-not-assigned:33:0:33:13::"Expression ""to_be().title"" is assigned to nothing":UNDEFINED
+pointless-string-statement:58:8:58:43:ClassLevelAttributeTest.__init__:String statement has no effect:UNDEFINED
+pointless-string-statement:65:8:65:55:ClassLevelAttributeTest.test:String statement has no effect:UNDEFINED
diff --git a/tests/functional/s/statement_without_effect_py36.txt b/tests/functional/s/statement_without_effect_py36.txt
index 70fc36c6d..13ec42a5f 100644
--- a/tests/functional/s/statement_without_effect_py36.txt
+++ b/tests/functional/s/statement_without_effect_py36.txt
@@ -1 +1 @@
-pointless-string-statement:18:4:ClassLevelAttributeTest:String statement has no effect
+pointless-string-statement:18:4:18:17:ClassLevelAttributeTest:String statement has no effect:UNDEFINED
diff --git a/tests/functional/s/stop_iteration_inside_generator.txt b/tests/functional/s/stop_iteration_inside_generator.txt
index 6b1828e87..74ddc6d4e 100644
--- a/tests/functional/s/stop_iteration_inside_generator.txt
+++ b/tests/functional/s/stop_iteration_inside_generator.txt
@@ -1,7 +1,7 @@
-stop-iteration-return:24:4:gen_stopiter:Do not raise StopIteration in generator, use return statement instead
-stop-iteration-return:32:4:gen_stopiterchild:Do not raise StopIteration in generator, use return statement instead
-stop-iteration-return:39:14:gen_next_raises_stopiter:Do not raise StopIteration in generator, use return statement instead
-stop-iteration-return:59:18:gen_next_inside_wrong_try_except:Do not raise StopIteration in generator, use return statement instead
-stop-iteration-return:72:12:gen_next_inside_wrong_try_except2:Do not raise StopIteration in generator, use return statement instead
-stop-iteration-return:87:18:gen_dont_crash_on_no_exception:Do not raise StopIteration in generator, use return statement instead
-stop-iteration-return:129:10:invalid_object_passed_to_next:Do not raise StopIteration in generator, use return statement instead
+stop-iteration-return:24:4:24:23:gen_stopiter:Do not raise StopIteration in generator, use return statement instead:UNDEFINED
+stop-iteration-return:32:4:32:29:gen_stopiterchild:Do not raise StopIteration in generator, use return statement instead:UNDEFINED
+stop-iteration-return:39:14:39:21:gen_next_raises_stopiter:Do not raise StopIteration in generator, use return statement instead:UNDEFINED
+stop-iteration-return:59:18:59:25:gen_next_inside_wrong_try_except:Do not raise StopIteration in generator, use return statement instead:UNDEFINED
+stop-iteration-return:72:12:72:31:gen_next_inside_wrong_try_except2:Do not raise StopIteration in generator, use return statement instead:UNDEFINED
+stop-iteration-return:87:18:87:25:gen_dont_crash_on_no_exception:Do not raise StopIteration in generator, use return statement instead:UNDEFINED
+stop-iteration-return:129:10:129:35:invalid_object_passed_to_next:Do not raise StopIteration in generator, use return statement instead:UNDEFINED
diff --git a/tests/functional/s/string/string_formatting.txt b/tests/functional/s/string/string_formatting.txt
index 112e4ba6d..80aa4847f 100644
--- a/tests/functional/s/string/string_formatting.txt
+++ b/tests/functional/s/string/string_formatting.txt
@@ -1,47 +1,47 @@
-format-string-without-interpolation:68:4:pprint_bad:Using formatting for a string that does not have any interpolated variables
-bad-format-string:69:4:pprint_bad:Invalid format string
-bad-format-string:70:4:pprint_bad:Invalid format string
-format-combined-specification:71:4:pprint_bad:Format string contains both automatic field numbering and manual field specification
-missing-format-argument-key:73:4:pprint_bad:Missing keyword argument 'b' for format string
-unused-format-string-argument:73:4:pprint_bad:Unused format argument 'c'
-missing-format-argument-key:74:4:pprint_bad:Missing keyword argument 'a' for format string
-too-few-format-args:75:4:pprint_bad:Not enough arguments for format string
-too-many-format-args:76:4:pprint_bad:Too many arguments for format string
-missing-format-argument-key:78:4:pprint_bad:Missing keyword argument 'a' for format string
-missing-format-argument-key:78:4:pprint_bad:Missing keyword argument 'b' for format string
-missing-format-argument-key:78:4:pprint_bad:Missing keyword argument 'c' for format string
-too-few-format-args:79:4:pprint_bad:Not enough arguments for format string
-missing-format-argument-key:81:4:pprint_bad:Missing keyword argument 'a' for format string
-missing-format-argument-key:81:4:pprint_bad:Missing keyword argument 'b' for format string
-missing-format-argument-key:82:4:pprint_bad:Missing keyword argument 'a' for format string
-missing-format-attribute:84:4:pprint_bad:Missing format attribute 'length' in format specifier 'a.ids.__len__.length'
-invalid-format-index:85:4:pprint_bad:Using invalid lookup key 400 in format specifier 'a.ids[3][400]'
-invalid-format-index:86:4:pprint_bad:"Using invalid lookup key ""'string'"" in format specifier 'a.ids[3][""\'string\'""]'"
-invalid-format-index:87:4:pprint_bad:Using invalid lookup key 1 in format specifier '0[0][1]'
-invalid-format-index:88:4:pprint_bad:Using invalid lookup key 0 in format specifier '0[0][0]'
-missing-format-argument-key:90:4:pprint_bad:Missing keyword argument 'b' for format string
-unused-format-string-argument:90:4:pprint_bad:Unused format argument 'a'
-invalid-format-index:91:4:pprint_bad:Using invalid lookup key 0 in format specifier 'a[0]'
-too-many-format-args:92:8:pprint_bad:Too many arguments for format string
-missing-format-attribute:93:4:pprint_bad:Missing format attribute 'missing' in format specifier '0.missing'
-too-few-format-args:94:4:pprint_bad:Not enough arguments for format string
-too-many-format-args:95:4:pprint_bad:Too many arguments for format string
-too-few-format-args:96:4:pprint_bad:Not enough arguments for format string
-too-few-format-args:97:4:pprint_bad:Not enough arguments for format string
-too-many-format-args:98:4:pprint_bad:Too many arguments for format string
-logging-too-few-args:99:4:pprint_bad:Not enough arguments for logging format string
-logging-too-many-args:100:4:pprint_bad:Too many arguments for logging format string
-format-string-without-interpolation:101:4:pprint_bad:Using formatting for a string that does not have any interpolated variables
-format-string-without-interpolation:102:4:pprint_bad:Using formatting for a string that does not have any interpolated variables
-format-string-without-interpolation:103:4:pprint_bad:Using formatting for a string that does not have any interpolated variables
-format-string-without-interpolation:104:4:pprint_bad:Using formatting for a string that does not have any interpolated variables
-too-few-format-args:132:4:nested_issue294:Not enough arguments for format string
-too-many-format-args:133:4:nested_issue294:Too many arguments for format string
-missing-format-argument-key:134:4:nested_issue294:Missing keyword argument 'a' for format string
-missing-format-attribute:135:4:nested_issue294:Missing format attribute 'x' in format specifier 'a.x'
-too-few-format-args:141:4:issue310:Not enough arguments for format string
-too-many-format-args:149:4:issue322:Too many arguments for format string
-too-few-format-args:150:4:issue322:Not enough arguments for format string
-too-few-format-args:175:4:issue351:Not enough arguments for format string
-too-many-format-args:177:4:issue351:Too many arguments for format string
-bad-format-string:213:11:avoid_empty_attribute:Invalid format string
+format-string-without-interpolation:68:4:68:20:pprint_bad:Using formatting for a string that does not have any interpolated variables:UNDEFINED
+bad-format-string:69:4:69:19:pprint_bad:Invalid format string:UNDEFINED
+bad-format-string:70:4:70:19:pprint_bad:Invalid format string:UNDEFINED
+format-combined-specification:71:4:71:25:pprint_bad:Format string contains both automatic field numbering and manual field specification:UNDEFINED
+missing-format-argument-key:73:4:73:30:pprint_bad:Missing keyword argument 'b' for format string:UNDEFINED
+unused-format-string-argument:73:4:73:30:pprint_bad:Unused format argument 'c':UNDEFINED
+missing-format-argument-key:74:4:74:25:pprint_bad:Missing keyword argument 'a' for format string:UNDEFINED
+too-few-format-args:75:4:75:21:pprint_bad:Not enough arguments for format string:UNDEFINED
+too-many-format-args:76:4:76:27:pprint_bad:Too many arguments for format string:UNDEFINED
+missing-format-argument-key:78:4:78:26:pprint_bad:Missing keyword argument 'a' for format string:UNDEFINED
+missing-format-argument-key:78:4:78:26:pprint_bad:Missing keyword argument 'b' for format string:UNDEFINED
+missing-format-argument-key:78:4:78:26:pprint_bad:Missing keyword argument 'c' for format string:UNDEFINED
+too-few-format-args:79:4:79:28:pprint_bad:Not enough arguments for format string:UNDEFINED
+missing-format-argument-key:81:4:81:26:pprint_bad:Missing keyword argument 'a' for format string:UNDEFINED
+missing-format-argument-key:81:4:81:26:pprint_bad:Missing keyword argument 'b' for format string:UNDEFINED
+missing-format-argument-key:82:4:82:33:pprint_bad:Missing keyword argument 'a' for format string:UNDEFINED
+missing-format-attribute:84:4:84:45:pprint_bad:Missing format attribute 'length' in format specifier 'a.ids.__len__.length':UNDEFINED
+invalid-format-index:85:4:85:38:pprint_bad:Using invalid lookup key 400 in format specifier 'a.ids[3][400]':UNDEFINED
+invalid-format-index:86:4:86:43:pprint_bad:"Using invalid lookup key ""'string'"" in format specifier 'a.ids[3][""\'string\'""]'":UNDEFINED
+invalid-format-index:87:4:87:28:pprint_bad:Using invalid lookup key 1 in format specifier '0[0][1]':UNDEFINED
+invalid-format-index:88:4:88:30:pprint_bad:Using invalid lookup key 0 in format specifier '0[0][0]':UNDEFINED
+missing-format-argument-key:90:4:90:25:pprint_bad:Missing keyword argument 'b' for format string:UNDEFINED
+unused-format-string-argument:90:4:90:25:pprint_bad:Unused format argument 'a':UNDEFINED
+invalid-format-index:91:4:91:29:pprint_bad:Using invalid lookup key 0 in format specifier 'a[0]':UNDEFINED
+too-many-format-args:92:8:92:30:pprint_bad:Too many arguments for format string:UNDEFINED
+missing-format-attribute:93:4:93:27:pprint_bad:Missing format attribute 'missing' in format specifier '0.missing':UNDEFINED
+too-few-format-args:94:4:94:30:pprint_bad:Not enough arguments for format string:UNDEFINED
+too-many-format-args:95:4:95:29:pprint_bad:Too many arguments for format string:UNDEFINED
+too-few-format-args:96:4:96:25:pprint_bad:Not enough arguments for format string:UNDEFINED
+too-few-format-args:97:4:97:26:pprint_bad:Not enough arguments for format string:UNDEFINED
+too-many-format-args:98:4:98:32:pprint_bad:Too many arguments for format string:UNDEFINED
+logging-too-few-args:99:4:99:30:pprint_bad:Not enough arguments for logging format string:UNDEFINED
+logging-too-many-args:100:4:100:31:pprint_bad:Too many arguments for logging format string:UNDEFINED
+format-string-without-interpolation:101:4:101:22:pprint_bad:Using formatting for a string that does not have any interpolated variables:UNDEFINED
+format-string-without-interpolation:102:4:102:23:pprint_bad:Using formatting for a string that does not have any interpolated variables:UNDEFINED
+format-string-without-interpolation:103:4:103:23:pprint_bad:Using formatting for a string that does not have any interpolated variables:UNDEFINED
+format-string-without-interpolation:104:4:104:25:pprint_bad:Using formatting for a string that does not have any interpolated variables:UNDEFINED
+too-few-format-args:132:4:132:25:nested_issue294:Not enough arguments for format string:UNDEFINED
+too-many-format-args:133:4:133:33:nested_issue294:Too many arguments for format string:UNDEFINED
+missing-format-argument-key:134:4:134:26:nested_issue294:Missing keyword argument 'a' for format string:UNDEFINED
+missing-format-attribute:135:4:135:30:nested_issue294:Missing format attribute 'x' in format specifier 'a.x':UNDEFINED
+too-few-format-args:141:4:141:27:issue310:Not enough arguments for format string:UNDEFINED
+too-many-format-args:149:4:149:48:issue322:Too many arguments for format string:UNDEFINED
+too-few-format-args:150:4:150:29:issue322:Not enough arguments for format string:UNDEFINED
+too-few-format-args:175:4:175:15:issue351:Not enough arguments for format string:UNDEFINED
+too-many-format-args:177:4:177:31:issue351:Too many arguments for format string:UNDEFINED
+bad-format-string:213:11:213:60:avoid_empty_attribute:Invalid format string:UNDEFINED
diff --git a/tests/functional/s/string/string_formatting_disable.txt b/tests/functional/s/string/string_formatting_disable.txt
index f6e390f00..b8555220a 100644
--- a/tests/functional/s/string/string_formatting_disable.txt
+++ b/tests/functional/s/string/string_formatting_disable.txt
@@ -1 +1 @@
-bad-format-string:1:0::Invalid format string
+bad-format-string:1:0:1:18::Invalid format string:UNDEFINED
diff --git a/tests/functional/s/string/string_formatting_error.txt b/tests/functional/s/string/string_formatting_error.txt
index 9fd27478d..fec5246d1 100644
--- a/tests/functional/s/string/string_formatting_error.txt
+++ b/tests/functional/s/string/string_formatting_error.txt
@@ -1,15 +1,15 @@
-too-few-format-args:10:10:pprint:Not enough arguments for format string
-too-many-format-args:11:10:pprint:Too many arguments for format string
-mixed-format-string:12:10:pprint:Mixing named and unnamed conversion specifiers in format string
-missing-format-string-key:13:10:pprint:Missing key 'PARG_2' in format string dictionary
-unused-format-string-key:14:10:pprint:Unused key 'PARG_3' in format string dictionary
-bad-format-string-key:15:10:pprint:Format string dictionary key should be a string, not 2
-missing-format-string-key:15:10:pprint:Missing key 'PARG_2' in format string dictionary
-format-needs-mapping:16:10:pprint:Expected mapping for format string, not Tuple
-format-needs-mapping:17:10:pprint:Expected mapping for format string, not List
-bad-format-character:18:10:pprint:Unsupported format character 'z' (0x7a) at index 2
-truncated-format-string:19:10:pprint:Format string ends in middle of conversion specifier
-format-string-without-interpolation:21:10:pprint:Using formatting for a string that does not have any interpolated variables
-format-string-without-interpolation:22:10:pprint:Using formatting for a string that does not have any interpolated variables
-format-string-without-interpolation:23:10:pprint:Using formatting for a string that does not have any interpolated variables
-format-string-without-interpolation:24:10:pprint:Using formatting for a string that does not have any interpolated variables
+too-few-format-args:10:10:10:46:pprint:Not enough arguments for format string:UNDEFINED
+too-many-format-args:11:10:11:33:pprint:Too many arguments for format string:UNDEFINED
+mixed-format-string:12:10:12:54:pprint:Mixing named and unnamed conversion specifiers in format string:UNDEFINED
+missing-format-string-key:13:10:13:49:pprint:Missing key 'PARG_2' in format string dictionary:UNDEFINED
+unused-format-string-key:14:10:14:73:pprint:Unused key 'PARG_3' in format string dictionary:UNDEFINED
+bad-format-string-key:15:10:15:54:pprint:Format string dictionary key should be a string, not 2:UNDEFINED
+missing-format-string-key:15:10:15:54:pprint:Missing key 'PARG_2' in format string dictionary:UNDEFINED
+format-needs-mapping:16:10:16:42:pprint:Expected mapping for format string, not Tuple:UNDEFINED
+format-needs-mapping:17:10:17:42:pprint:Expected mapping for format string, not List:UNDEFINED
+bad-format-character:18:10:18:24:pprint:Unsupported format character 'z' (0x7a) at index 2:UNDEFINED
+truncated-format-string:19:10:19:38:pprint:Format string ends in middle of conversion specifier:UNDEFINED
+format-string-without-interpolation:21:10:21:27:pprint:Using formatting for a string that does not have any interpolated variables:UNDEFINED
+format-string-without-interpolation:22:10:22:23:pprint:Using formatting for a string that does not have any interpolated variables:UNDEFINED
+format-string-without-interpolation:23:10:23:23:pprint:Using formatting for a string that does not have any interpolated variables:UNDEFINED
+format-string-without-interpolation:24:10:24:25:pprint:Using formatting for a string that does not have any interpolated variables:UNDEFINED
diff --git a/tests/functional/s/string/string_formatting_py3.txt b/tests/functional/s/string/string_formatting_py3.txt
index bf90e016b..b55507b55 100644
--- a/tests/functional/s/string/string_formatting_py3.txt
+++ b/tests/functional/s/string/string_formatting_py3.txt
@@ -1,2 +1,2 @@
-too-many-format-args:11:10:issue_957_bad1:Too many arguments for format string
-too-few-format-args:16:10:issue_957_bad2:Not enough arguments for format string
+too-many-format-args:11:10:11:36:issue_957_bad1:Too many arguments for format string:UNDEFINED
+too-few-format-args:16:10:16:36:issue_957_bad2:Not enough arguments for format string:UNDEFINED
diff --git a/tests/functional/s/string/string_log_formatting.txt b/tests/functional/s/string/string_log_formatting.txt
index aec9c26d5..5903c75bf 100644
--- a/tests/functional/s/string/string_log_formatting.txt
+++ b/tests/functional/s/string/string_log_formatting.txt
@@ -1,6 +1,6 @@
-logging-too-many-args:14:4:pprint:Too many arguments for logging format string
-logging-too-many-args:15:4:pprint:Too many arguments for logging format string
-logging-format-truncated:16:4:pprint:Logging format string ends in middle of conversion specifier
-logging-too-few-args:17:4:pprint:Not enough arguments for logging format string
-logging-unsupported-format:18:4:pprint:Unsupported logging format character 'y' (0x79) at index 3
-logging-too-many-args:19:4:pprint:Too many arguments for logging format string
+logging-too-many-args:14:4:14:23:pprint:Too many arguments for logging format string:UNDEFINED
+logging-too-many-args:15:4:15:24:pprint:Too many arguments for logging format string:UNDEFINED
+logging-format-truncated:16:4:16:27:pprint:Logging format string ends in middle of conversion specifier:UNDEFINED
+logging-too-few-args:17:4:17:28:pprint:Not enough arguments for logging format string:UNDEFINED
+logging-unsupported-format:18:4:18:32:pprint:Unsupported logging format character 'y' (0x79) at index 3:UNDEFINED
+logging-too-many-args:19:4:19:36:pprint:Too many arguments for logging format string:UNDEFINED
diff --git a/tests/functional/s/subclassed_final_class_py38.txt b/tests/functional/s/subclassed_final_class_py38.txt
index 037e5eb4f..d7de834b1 100644
--- a/tests/functional/s/subclassed_final_class_py38.txt
+++ b/tests/functional/s/subclassed_final_class_py38.txt
@@ -1 +1 @@
-subclassed-final-class:14:0:Subclass:"Class 'Subclass' is a subclass of a class decorated with typing.final: 'Base'":HIGH
+subclassed-final-class:14:0:15:8:Subclass:"Class 'Subclass' is a subclass of a class decorated with typing.final: 'Base'":UNDEFINED
diff --git a/tests/functional/s/subprocess_popen_preexec_fn.txt b/tests/functional/s/subprocess_popen_preexec_fn.txt
index 55b886d0e..4d151b445 100644
--- a/tests/functional/s/subprocess_popen_preexec_fn.txt
+++ b/tests/functional/s/subprocess_popen_preexec_fn.txt
@@ -1 +1 @@
-subprocess-popen-preexec-fn:9:0::Using preexec_fn keyword which may be unsafe in the presence of threads
+subprocess-popen-preexec-fn:9:0:9:32::Using preexec_fn keyword which may be unsafe in the presence of threads:UNDEFINED
diff --git a/tests/functional/s/subprocess_run_check.txt b/tests/functional/s/subprocess_run_check.txt
index 3f854ad08..41887464f 100644
--- a/tests/functional/s/subprocess_run_check.txt
+++ b/tests/functional/s/subprocess_run_check.txt
@@ -1 +1 @@
-subprocess-run-check:6:0::Using subprocess.run without explicitly set `check` is not recommended.
+subprocess-run-check:6:0:6:16::Using subprocess.run without explicitly set `check` is not recommended.:UNDEFINED
diff --git a/tests/functional/s/super/super_checks.txt b/tests/functional/s/super/super_checks.txt
index bd360c831..d18c28327 100644
--- a/tests/functional/s/super/super_checks.txt
+++ b/tests/functional/s/super/super_checks.txt
@@ -1,17 +1,17 @@
-no-member:10:8:Aaaa.hop:Super of 'Aaaa' has no 'hop' member:INFERENCE
-no-member:19:8:NewAaaa.hop:Super of 'NewAaaa' has no 'hop' member:INFERENCE
-bad-super-call:22:8:NewAaaa.__init__:Bad first argument 'Aaaa' given to super()
-bad-super-call:32:8:Py3kWrongSuper.__init__:Bad first argument 'NewAaaa' given to super()
-bad-super-call:37:8:WrongNameRegression.__init__:Bad first argument 'Missing' given to super()
-bad-super-call:46:8:CrashSuper.__init__:Bad first argument 'NewAaaa' given to super()
-bad-super-call:62:8:SuperDifferentScope.test:Bad first argument 'object' given to super()
-bad-super-call:70:8:UnknownBases.__init__:Bad first argument 'Missing' given to super()
-not-callable:89:8:InvalidSuperChecks.__init__:super(InvalidSuperChecks, self).not_a_method is not callable
-no-member:90:8:InvalidSuperChecks.__init__:Super of 'InvalidSuperChecks' has no 'attribute_error' member:INFERENCE
-no-value-for-parameter:92:8:InvalidSuperChecks.__init__:No value for argument 'param' in method call
-too-many-function-args:93:8:InvalidSuperChecks.__init__:Too many positional arguments for method call
-no-value-for-parameter:95:8:InvalidSuperChecks.__init__:No value for argument 'param' in method call
-unexpected-keyword-arg:95:8:InvalidSuperChecks.__init__:Unexpected keyword argument 'lala' in method call
-no-member:98:8:InvalidSuperChecks.__init__:Super of 'InvalidSuperChecks' has no 'attribute_error' member:INFERENCE
-bad-super-call:120:8:SuperWithType.__init__:Bad first argument 'type' given to super()
-bad-super-call:125:8:SuperWithSelfClass.__init__:Bad first argument 'self.__class__' given to super()
+no-member:10:8:10:29:Aaaa.hop:Super of 'Aaaa' has no 'hop' member:INFERENCE
+no-member:19:8:19:32:NewAaaa.hop:Super of 'NewAaaa' has no 'hop' member:INFERENCE
+bad-super-call:22:8:22:25:NewAaaa.__init__:Bad first argument 'Aaaa' given to super():UNDEFINED
+bad-super-call:32:8:32:28:Py3kWrongSuper.__init__:Bad first argument 'NewAaaa' given to super():UNDEFINED
+bad-super-call:37:8:37:28:WrongNameRegression.__init__:Bad first argument 'Missing' given to super():UNDEFINED
+bad-super-call:46:8:46:33:CrashSuper.__init__:Bad first argument 'NewAaaa' given to super():UNDEFINED
+bad-super-call:62:8:62:24:SuperDifferentScope.test:Bad first argument 'object' given to super():UNDEFINED
+bad-super-call:70:8:70:28:UnknownBases.__init__:Bad first argument 'Missing' given to super():UNDEFINED
+not-callable:89:8:89:54:InvalidSuperChecks.__init__:super(InvalidSuperChecks, self).not_a_method is not callable:UNDEFINED
+no-member:90:8:90:55:InvalidSuperChecks.__init__:Super of 'InvalidSuperChecks' has no 'attribute_error' member:INFERENCE
+no-value-for-parameter:92:8:92:50:InvalidSuperChecks.__init__:No value for argument 'param' in method call:UNDEFINED
+too-many-function-args:93:8:93:60:InvalidSuperChecks.__init__:Too many positional arguments for method call:UNDEFINED
+no-value-for-parameter:95:8:95:57:InvalidSuperChecks.__init__:No value for argument 'param' in method call:UNDEFINED
+unexpected-keyword-arg:95:8:95:57:InvalidSuperChecks.__init__:Unexpected keyword argument 'lala' in method call:UNDEFINED
+no-member:98:8:98:55:InvalidSuperChecks.__init__:Super of 'InvalidSuperChecks' has no 'attribute_error' member:INFERENCE
+bad-super-call:120:8:120:31:SuperWithType.__init__:Bad first argument 'type' given to super():UNDEFINED
+bad-super-call:125:8:125:35:SuperWithSelfClass.__init__:Bad first argument 'self.__class__' given to super():UNDEFINED
diff --git a/tests/functional/s/super/super_with_arguments.txt b/tests/functional/s/super/super_with_arguments.txt
index f882848f8..712a68323 100644
--- a/tests/functional/s/super/super_with_arguments.txt
+++ b/tests/functional/s/super/super_with_arguments.txt
@@ -1 +1 @@
-super-with-arguments:7:8:Bar.__init__:Consider using Python 3 style super() without arguments
+super-with-arguments:7:8:7:24:Bar.__init__:Consider using Python 3 style super() without arguments:UNDEFINED
diff --git a/tests/functional/s/super/superfluous_parens.txt b/tests/functional/s/super/superfluous_parens.txt
index d07817e3d..f830922bc 100644
--- a/tests/functional/s/super/superfluous_parens.txt
+++ b/tests/functional/s/super/superfluous_parens.txt
@@ -1,6 +1,6 @@
-superfluous-parens:6:0::Unnecessary parens after 'if' keyword:HIGH
-superfluous-parens:8:0::Unnecessary parens after 'not' keyword:HIGH
-superfluous-parens:12:0::Unnecessary parens after 'for' keyword:HIGH
-superfluous-parens:14:0::Unnecessary parens after 'if' keyword:HIGH
-superfluous-parens:19:0::Unnecessary parens after 'del' keyword:HIGH
-superfluous-parens:31:0::Unnecessary parens after 'assert' keyword:HIGH
+superfluous-parens:6:0:None:None::Unnecessary parens after 'if' keyword:UNDEFINED
+superfluous-parens:8:0:None:None::Unnecessary parens after 'not' keyword:UNDEFINED
+superfluous-parens:12:0:None:None::Unnecessary parens after 'for' keyword:UNDEFINED
+superfluous-parens:14:0:None:None::Unnecessary parens after 'if' keyword:UNDEFINED
+superfluous-parens:19:0:None:None::Unnecessary parens after 'del' keyword:UNDEFINED
+superfluous-parens:31:0:None:None::Unnecessary parens after 'assert' keyword:UNDEFINED
diff --git a/tests/functional/s/super/superfluous_parens_walrus_py38.txt b/tests/functional/s/super/superfluous_parens_walrus_py38.txt
index 06ddf23b3..58097f520 100644
--- a/tests/functional/s/super/superfluous_parens_walrus_py38.txt
+++ b/tests/functional/s/super/superfluous_parens_walrus_py38.txt
@@ -1,5 +1,5 @@
-superfluous-parens:16:0::Unnecessary parens after 'not' keyword:HIGH
-superfluous-parens:19:0::Unnecessary parens after 'if' keyword:HIGH
-superfluous-parens:22:0::Unnecessary parens after 'not' keyword:HIGH
-superfluous-parens:25:0::Unnecessary parens after 'not' keyword:HIGH
-superfluous-parens:51:0::Unnecessary parens after 'yield' keyword:HIGH
+superfluous-parens:16:0:None:None::Unnecessary parens after 'not' keyword:UNDEFINED
+superfluous-parens:19:0:None:None::Unnecessary parens after 'if' keyword:UNDEFINED
+superfluous-parens:22:0:None:None::Unnecessary parens after 'not' keyword:UNDEFINED
+superfluous-parens:25:0:None:None::Unnecessary parens after 'not' keyword:UNDEFINED
+superfluous-parens:51:0:None:None::Unnecessary parens after 'yield' keyword:UNDEFINED
diff --git a/tests/functional/s/suspicious_str_strip_call.txt b/tests/functional/s/suspicious_str_strip_call.txt
index 7e338386c..fa9ff6d82 100644
--- a/tests/functional/s/suspicious_str_strip_call.txt
+++ b/tests/functional/s/suspicious_str_strip_call.txt
@@ -1,3 +1,3 @@
-bad-str-strip-call:8:0::Suspicious argument in str.strip call
-bad-str-strip-call:9:0::Suspicious argument in str.lstrip call
-bad-str-strip-call:10:0::Suspicious argument in bytes.rstrip call
+bad-str-strip-call:8:0:8:20::Suspicious argument in str.strip call:UNDEFINED
+bad-str-strip-call:9:0:9:21::Suspicious argument in str.lstrip call:UNDEFINED
+bad-str-strip-call:10:0:10:21::Suspicious argument in bytes.rstrip call:UNDEFINED
diff --git a/tests/functional/s/syntax_error.txt b/tests/functional/s/syntax_error.txt
index b56259d02..2dafd9eb3 100644
--- a/tests/functional/s/syntax_error.txt
+++ b/tests/functional/s/syntax_error.txt
@@ -1 +1 @@
-syntax-error:1:10::invalid syntax (<unknown>, line 1)
+syntax-error:1:10:None:None::invalid syntax (<unknown>, line 1):UNDEFINED
diff --git a/tests/functional/s/sys_stream_regression_1004.txt b/tests/functional/s/sys_stream_regression_1004.txt
index f92121a2c..d01d361ae 100644
--- a/tests/functional/s/sys_stream_regression_1004.txt
+++ b/tests/functional/s/sys_stream_regression_1004.txt
@@ -1,2 +1,2 @@
-no-member:6:0::Instance of 'TextIOWrapper' has no 'buff' member:INFERENCE
-no-member:7:0::Instance of 'BufferedWriter' has no 'write1' member; maybe 'write'?:INFERENCE
+no-member:6:0:6:19::Instance of 'TextIOWrapper' has no 'buff' member:INFERENCE
+no-member:7:0:7:28::Instance of 'BufferedWriter' has no 'write1' member; maybe 'write'?:INFERENCE
diff --git a/tests/functional/t/ternary.txt b/tests/functional/t/ternary.txt
index 1df60e2f7..bdec7bcc4 100644
--- a/tests/functional/t/ternary.txt
+++ b/tests/functional/t/ternary.txt
@@ -1,8 +1,8 @@
-consider-using-ternary:5:0::Consider using ternary (true_value if condition else false_value)
-consider-using-ternary:15:4:func2:Consider using ternary (true_value if condition else false_value)
-consider-using-ternary:18:0::Consider using ternary ('ERROR' if some_callable(condition) else 'SUCCESS')
-consider-using-ternary:19:0::Consider using ternary ('greater' if SOME_VALUE1 > 3 else 'not greater')
-consider-using-ternary:20:0::Consider using ternary ('both' if SOME_VALUE2 > 4 and SOME_VALUE3 else 'not')
-simplify-boolean-expression:23:0::Boolean expression may be simplified to SOME_VALUE2
-consider-using-ternary:33:4:func4:Consider using ternary (truth_value if condition else false_value)
-simplify-boolean-expression:39:4:func5:Boolean expression may be simplified to false_value
+consider-using-ternary:5:0:5:53::Consider using ternary (true_value if condition else false_value):UNDEFINED
+consider-using-ternary:15:4:15:50:func2:Consider using ternary (true_value if condition else false_value):UNDEFINED
+consider-using-ternary:18:0:18:63::Consider using ternary ('ERROR' if some_callable(condition) else 'SUCCESS'):UNDEFINED
+consider-using-ternary:19:0:19:60::Consider using ternary ('greater' if SOME_VALUE1 > 3 else 'not greater'):UNDEFINED
+consider-using-ternary:20:0:20:67::Consider using ternary ('both' if SOME_VALUE2 > 4 and SOME_VALUE3 else 'not'):UNDEFINED
+simplify-boolean-expression:23:0:23:50::Boolean expression may be simplified to SOME_VALUE2:UNDEFINED
+consider-using-ternary:33:4:33:51:func4:Consider using ternary (truth_value if condition else false_value):UNDEFINED
+simplify-boolean-expression:39:4:39:51:func5:Boolean expression may be simplified to false_value:UNDEFINED
diff --git a/tests/functional/t/tokenize_error.txt b/tests/functional/t/tokenize_error.txt
index bf780eb96..3943cf080 100644
--- a/tests/functional/t/tokenize_error.txt
+++ b/tests/functional/t/tokenize_error.txt
@@ -1 +1 @@
-syntax-error:7:0::EOF in multi-line statement
+syntax-error:7:0:None:None::EOF in multi-line statement:UNDEFINED
diff --git a/tests/functional/t/too/too_few_public_methods.txt b/tests/functional/t/too/too_few_public_methods.txt
index a86ba6d81..854a78078 100644
--- a/tests/functional/t/too/too_few_public_methods.txt
+++ b/tests/functional/t/too/too_few_public_methods.txt
@@ -1 +1 @@
-too-few-public-methods:8:0:Aaaa:Too few public methods (1/2)
+too-few-public-methods:8:0:17:19:Aaaa:Too few public methods (1/2):UNDEFINED
diff --git a/tests/functional/t/too/too_few_public_methods_excluded.txt b/tests/functional/t/too/too_few_public_methods_excluded.txt
index c88cde25f..00ceaea78 100644
--- a/tests/functional/t/too/too_few_public_methods_excluded.txt
+++ b/tests/functional/t/too/too_few_public_methods_excluded.txt
@@ -1 +1 @@
-too-few-public-methods:4:0:Control:Too few public methods (0/10):HIGH
+too-few-public-methods:4:0:5:7:Control:Too few public methods (0/10):UNDEFINED
diff --git a/tests/functional/t/too/too_many_ancestors.txt b/tests/functional/t/too/too_many_ancestors.txt
index d913ce4ef..204e2e599 100644
--- a/tests/functional/t/too/too_many_ancestors.txt
+++ b/tests/functional/t/too/too_many_ancestors.txt
@@ -1,2 +1,2 @@
-too-many-ancestors:21:0:Iiii:Too many ancestors (8/7)
-too-many-ancestors:24:0:Jjjj:Too many ancestors (9/7)
+too-many-ancestors:21:0:22:8:Iiii:Too many ancestors (8/7):UNDEFINED
+too-many-ancestors:24:0:25:8:Jjjj:Too many ancestors (9/7):UNDEFINED
diff --git a/tests/functional/t/too/too_many_ancestors_ignored_parents.txt b/tests/functional/t/too/too_many_ancestors_ignored_parents.txt
index e1eea426a..6ba1a7d29 100644
--- a/tests/functional/t/too/too_many_ancestors_ignored_parents.txt
+++ b/tests/functional/t/too/too_many_ancestors_ignored_parents.txt
@@ -1 +1 @@
-too-many-ancestors:39:0:A:Too many ancestors (3/2)
+too-many-ancestors:39:0:40:19:A:Too many ancestors (3/2):UNDEFINED
diff --git a/tests/functional/t/too/too_many_arguments.txt b/tests/functional/t/too/too_many_arguments.txt
index d4f551634..71d1bfd39 100644
--- a/tests/functional/t/too/too_many_arguments.txt
+++ b/tests/functional/t/too/too_many_arguments.txt
@@ -1 +1 @@
-too-many-arguments:3:0:stupid_function:Too many arguments (9/5)
+too-many-arguments:3:0:4:63:stupid_function:Too many arguments (9/5):UNDEFINED
diff --git a/tests/functional/t/too/too_many_boolean_expressions.txt b/tests/functional/t/too/too_many_boolean_expressions.txt
index 6055e7437..a608e89fa 100644
--- a/tests/functional/t/too/too_many_boolean_expressions.txt
+++ b/tests/functional/t/too/too_many_boolean_expressions.txt
@@ -1,4 +1,4 @@
-too-many-boolean-expressions:6:3::Too many boolean expressions in if statement (6/5)
-too-many-boolean-expressions:10:5::Too many boolean expressions in if statement (7/5)
-too-many-boolean-expressions:12:5::Too many boolean expressions in if statement (6/5)
-too-many-boolean-expressions:14:5::Too many boolean expressions in if statement (6/5)
+too-many-boolean-expressions:6:3:6:61::Too many boolean expressions in if statement (6/5):UNDEFINED
+too-many-boolean-expressions:10:5:10:49::Too many boolean expressions in if statement (7/5):UNDEFINED
+too-many-boolean-expressions:12:5:12:58::Too many boolean expressions in if statement (6/5):UNDEFINED
+too-many-boolean-expressions:14:5:14:64::Too many boolean expressions in if statement (6/5):UNDEFINED
diff --git a/tests/functional/t/too/too_many_branches.txt b/tests/functional/t/too/too_many_branches.txt
index e5bfd4d49..f74a70b6a 100644
--- a/tests/functional/t/too/too_many_branches.txt
+++ b/tests/functional/t/too/too_many_branches.txt
@@ -1 +1 @@
-too-many-branches:3:0:wrong:Too many branches (13/12)
+too-many-branches:3:0:30:12:wrong:Too many branches (13/12):UNDEFINED
diff --git a/tests/functional/t/too/too_many_instance_attributes.txt b/tests/functional/t/too/too_many_instance_attributes.txt
index b749ae9a9..fd1e2e58e 100644
--- a/tests/functional/t/too/too_many_instance_attributes.txt
+++ b/tests/functional/t/too/too_many_instance_attributes.txt
@@ -1 +1 @@
-too-many-instance-attributes:4:0:Aaaa:Too many instance attributes (21/7):HIGH
+too-many-instance-attributes:4:0:27:26:Aaaa:Too many instance attributes (21/7):UNDEFINED
diff --git a/tests/functional/t/too/too_many_lines.txt b/tests/functional/t/too/too_many_lines.txt
index 5c228ac49..3d00fbb9f 100644
--- a/tests/functional/t/too/too_many_lines.txt
+++ b/tests/functional/t/too/too_many_lines.txt
@@ -1 +1 @@
-too-many-lines:1:0::Too many lines in module (1015/1000)
+too-many-lines:1:0:None:None::Too many lines in module (1015/1000):UNDEFINED
diff --git a/tests/functional/t/too/too_many_locals.txt b/tests/functional/t/too/too_many_locals.txt
index 4af7f0307..5d2055c0c 100644
--- a/tests/functional/t/too/too_many_locals.txt
+++ b/tests/functional/t/too/too_many_locals.txt
@@ -1,3 +1,3 @@
-too-many-locals:4:0:function:Too many local variables (16/15)
-too-many-locals:12:0:too_many_locals_function:Too many local variables (16/15)
-too-many-arguments:32:0:too_many_arguments_function:Too many arguments (6/5)
+too-many-locals:4:0:9:51:function:Too many local variables (16/15):UNDEFINED
+too-many-locals:12:0:30:17:too_many_locals_function:Too many local variables (16/15):UNDEFINED
+too-many-arguments:32:0:39:15:too_many_arguments_function:Too many arguments (6/5):UNDEFINED
diff --git a/tests/functional/t/too/too_many_nested_blocks.txt b/tests/functional/t/too/too_many_nested_blocks.txt
index 6232b9ff0..2e97dfed5 100644
--- a/tests/functional/t/too/too_many_nested_blocks.txt
+++ b/tests/functional/t/too/too_many_nested_blocks.txt
@@ -1,2 +1,2 @@
-too-many-nested-blocks:6:4:my_function:Too many nested blocks (6/5)
-too-many-nested-blocks:77:4:else_if_function:Too many nested blocks (7/5)
+too-many-nested-blocks:6:4:14:28:my_function:Too many nested blocks (6/5):UNDEFINED
+too-many-nested-blocks:77:4:97:19:else_if_function:Too many nested blocks (7/5):UNDEFINED
diff --git a/tests/functional/t/too/too_many_public_methods.txt b/tests/functional/t/too/too_many_public_methods.txt
index 61e47e8eb..799640bbb 100644
--- a/tests/functional/t/too/too_many_public_methods.txt
+++ b/tests/functional/t/too/too_many_public_methods.txt
@@ -1 +1 @@
-too-many-public-methods:3:0:Aaaa:Too many public methods (21/20)
+too-many-public-methods:3:0:72:24:Aaaa:Too many public methods (21/20):UNDEFINED
diff --git a/tests/functional/t/too/too_many_return_statements.txt b/tests/functional/t/too/too_many_return_statements.txt
index 5abbb71b3..5e4de8028 100644
--- a/tests/functional/t/too/too_many_return_statements.txt
+++ b/tests/functional/t/too/too_many_return_statements.txt
@@ -1 +1 @@
-too-many-return-statements:3:0:stupid_function:Too many return statements (11/6)
+too-many-return-statements:3:0:24:15:stupid_function:Too many return statements (11/6):UNDEFINED
diff --git a/tests/functional/t/too/too_many_star_expressions.txt b/tests/functional/t/too/too_many_star_expressions.txt
index d1e74b624..1d0350e1e 100644
--- a/tests/functional/t/too/too_many_star_expressions.txt
+++ b/tests/functional/t/too/too_many_star_expressions.txt
@@ -1,2 +1,2 @@
-too-many-star-expressions:3:0::More than one starred expression in assignment
-too-many-star-expressions:6:0::More than one starred expression in assignment
+too-many-star-expressions:3:0:3:27::More than one starred expression in assignment:UNDEFINED
+too-many-star-expressions:6:0:6:32::More than one starred expression in assignment:UNDEFINED
diff --git a/tests/functional/t/too/too_many_statements.txt b/tests/functional/t/too/too_many_statements.txt
index c723dba13..0e74c361b 100644
--- a/tests/functional/t/too/too_many_statements.txt
+++ b/tests/functional/t/too/too_many_statements.txt
@@ -1,3 +1,3 @@
-too-many-statements:5:0:stupid_function:Too many statements (55/5):HIGH
-too-many-statements:62:0:long_function_with_inline_def:Too many statements (62/5):HIGH
-too-many-statements:128:0:exmaple_function:Too many statements (6/5):HIGH
+too-many-statements:5:0:60:16:stupid_function:Too many statements (55/5):UNDEFINED
+too-many-statements:62:0:125:13:long_function_with_inline_def:Too many statements (62/5):UNDEFINED
+too-many-statements:128:0:133:12:exmaple_function:Too many statements (6/5):UNDEFINED
diff --git a/tests/functional/t/trailing_comma_tuple.txt b/tests/functional/t/trailing_comma_tuple.txt
index 0f98b2283..9984e5afb 100644
--- a/tests/functional/t/trailing_comma_tuple.txt
+++ b/tests/functional/t/trailing_comma_tuple.txt
@@ -1,9 +1,9 @@
-trailing-comma-tuple:3:0::Disallow trailing comma tuple
-trailing-comma-tuple:4:0::Disallow trailing comma tuple
-trailing-comma-tuple:5:0::Disallow trailing comma tuple
-trailing-comma-tuple:6:0::Disallow trailing comma tuple
-trailing-comma-tuple:31:0::Disallow trailing comma tuple
-trailing-comma-tuple:34:0::Disallow trailing comma tuple
-trailing-comma-tuple:38:0::Disallow trailing comma tuple
-trailing-comma-tuple:41:0::Disallow trailing comma tuple
-trailing-comma-tuple:47:0::Disallow trailing comma tuple
+trailing-comma-tuple:3:0:None:None::Disallow trailing comma tuple:UNDEFINED
+trailing-comma-tuple:4:0:None:None::Disallow trailing comma tuple:UNDEFINED
+trailing-comma-tuple:5:0:None:None::Disallow trailing comma tuple:UNDEFINED
+trailing-comma-tuple:6:0:None:None::Disallow trailing comma tuple:UNDEFINED
+trailing-comma-tuple:31:0:None:None::Disallow trailing comma tuple:UNDEFINED
+trailing-comma-tuple:34:0:None:None::Disallow trailing comma tuple:UNDEFINED
+trailing-comma-tuple:38:0:None:None::Disallow trailing comma tuple:UNDEFINED
+trailing-comma-tuple:41:0:None:None::Disallow trailing comma tuple:UNDEFINED
+trailing-comma-tuple:47:0:None:None::Disallow trailing comma tuple:UNDEFINED
diff --git a/tests/functional/t/trailing_newlines.txt b/tests/functional/t/trailing_newlines.txt
index 2558a71f8..25822eaad 100644
--- a/tests/functional/t/trailing_newlines.txt
+++ b/tests/functional/t/trailing_newlines.txt
@@ -1 +1 @@
-trailing-newlines:3:0::Trailing newlines
+trailing-newlines:3:0:None:None::Trailing newlines:UNDEFINED
diff --git a/tests/functional/t/trailing_whitespaces.txt b/tests/functional/t/trailing_whitespaces.txt
index 1faabc84a..766a65951 100644
--- a/tests/functional/t/trailing_whitespaces.txt
+++ b/tests/functional/t/trailing_whitespaces.txt
@@ -1,3 +1,3 @@
-trailing-whitespace:6:33::Trailing whitespace
-trailing-whitespace:8:73::Trailing whitespace
-trailing-whitespace:11:46::Trailing whitespace
+trailing-whitespace:6:33:None:None::Trailing whitespace:UNDEFINED
+trailing-whitespace:8:73:None:None::Trailing whitespace:UNDEFINED
+trailing-whitespace:11:46:None:None::Trailing whitespace:UNDEFINED
diff --git a/tests/functional/t/try_except_raise.txt b/tests/functional/t/try_except_raise.txt
index 81e1fd417..20181fa7f 100644
--- a/tests/functional/t/try_except_raise.txt
+++ b/tests/functional/t/try_except_raise.txt
@@ -1,6 +1,6 @@
-try-except-raise:5:0::The except handler raises immediately
-try-except-raise:16:0::The except handler raises immediately
-try-except-raise:53:4:ddd:The except handler raises immediately
-try-except-raise:67:0::The except handler raises immediately
-try-except-raise:72:0::The except handler raises immediately
-try-except-raise:94:0::The except handler raises immediately
+try-except-raise:5:0:6:9::The except handler raises immediately:UNDEFINED
+try-except-raise:16:0:18:29::The except handler raises immediately:UNDEFINED
+try-except-raise:53:4:54:13:ddd:The except handler raises immediately:UNDEFINED
+try-except-raise:67:0:68:9::The except handler raises immediately:UNDEFINED
+try-except-raise:72:0:73:9::The except handler raises immediately:UNDEFINED
+try-except-raise:94:0:95:9::The except handler raises immediately:UNDEFINED
diff --git a/tests/functional/t/try_except_raise_crash.txt b/tests/functional/t/try_except_raise_crash.txt
index 0fab918b9..3b43877d0 100644
--- a/tests/functional/t/try_except_raise_crash.txt
+++ b/tests/functional/t/try_except_raise_crash.txt
@@ -1,2 +1,2 @@
-catching-non-exception:23:11:test:"Catching an exception which doesn't inherit from Exception: TestException"
-try-except-raise:23:4:test:The except handler raises immediately
+catching-non-exception:23:11:23:24:test:"Catching an exception which doesn't inherit from Exception: TestException":UNDEFINED
+try-except-raise:23:4:24:13:test:The except handler raises immediately:UNDEFINED
diff --git a/tests/functional/t/typing_use.txt b/tests/functional/t/typing_use.txt
index 1ff53a13e..26d353a52 100644
--- a/tests/functional/t/typing_use.txt
+++ b/tests/functional/t/typing_use.txt
@@ -1 +1 @@
-function-redefined:21:0:double_with_docstring:function already defined line 16
+function-redefined:21:0:23:18:double_with_docstring:function already defined line 16:UNDEFINED
diff --git a/tests/functional/u/unbalanced_tuple_unpacking.txt b/tests/functional/u/unbalanced_tuple_unpacking.txt
index e13d96ab9..20aa5f40f 100644
--- a/tests/functional/u/unbalanced_tuple_unpacking.txt
+++ b/tests/functional/u/unbalanced_tuple_unpacking.txt
@@ -1,5 +1,5 @@
-unbalanced-tuple-unpacking:9:4:do_stuff:"Possible unbalanced tuple unpacking with sequence (1, 2, 3): left side has 2 label(s), right side has 3 value(s)"
-unbalanced-tuple-unpacking:14:4:do_stuff1:"Possible unbalanced tuple unpacking with sequence [1, 2, 3]: left side has 2 label(s), right side has 3 value(s)"
-unbalanced-tuple-unpacking:19:4:do_stuff2:"Possible unbalanced tuple unpacking with sequence (1, 2, 3): left side has 2 label(s), right side has 3 value(s)"
-unbalanced-tuple-unpacking:69:4:do_stuff9:"Possible unbalanced tuple unpacking with sequence defined at line 7 of functional.u.unpacking: left side has 2 label(s), right side has 3 value(s)"
-unbalanced-tuple-unpacking:81:8:UnbalancedUnpacking.test:"Possible unbalanced tuple unpacking with sequence defined at line 7 of functional.u.unpacking: left side has 2 label(s), right side has 3 value(s)"
+unbalanced-tuple-unpacking:9:4:9:27:do_stuff:"Possible unbalanced tuple unpacking with sequence (1, 2, 3): left side has 2 label(s), right side has 3 value(s)":UNDEFINED
+unbalanced-tuple-unpacking:14:4:14:29:do_stuff1:"Possible unbalanced tuple unpacking with sequence [1, 2, 3]: left side has 2 label(s), right side has 3 value(s)":UNDEFINED
+unbalanced-tuple-unpacking:19:4:19:29:do_stuff2:"Possible unbalanced tuple unpacking with sequence (1, 2, 3): left side has 2 label(s), right side has 3 value(s)":UNDEFINED
+unbalanced-tuple-unpacking:69:4:69:28:do_stuff9:"Possible unbalanced tuple unpacking with sequence defined at line 7 of functional.u.unpacking: left side has 2 label(s), right side has 3 value(s)":UNDEFINED
+unbalanced-tuple-unpacking:81:8:81:33:UnbalancedUnpacking.test:"Possible unbalanced tuple unpacking with sequence defined at line 7 of functional.u.unpacking: left side has 2 label(s), right side has 3 value(s)":UNDEFINED
diff --git a/tests/functional/u/undefined/undefined_loop_variable.txt b/tests/functional/u/undefined/undefined_loop_variable.txt
index ea194e769..9157e4195 100644
--- a/tests/functional/u/undefined/undefined_loop_variable.txt
+++ b/tests/functional/u/undefined/undefined_loop_variable.txt
@@ -1,3 +1,3 @@
-undefined-loop-variable:6:11:do_stuff:Using possibly undefined loop variable 'var'
-undefined-loop-variable:25:7::Using possibly undefined loop variable 'var1'
-undefined-loop-variable:75:11:do_stuff_with_redefined_range:Using possibly undefined loop variable 'var'
+undefined-loop-variable:6:11:6:14:do_stuff:Using possibly undefined loop variable 'var':UNDEFINED
+undefined-loop-variable:25:7:25:11::Using possibly undefined loop variable 'var1':UNDEFINED
+undefined-loop-variable:75:11:75:14:do_stuff_with_redefined_range:Using possibly undefined loop variable 'var':UNDEFINED
diff --git a/tests/functional/u/undefined/undefined_variable.txt b/tests/functional/u/undefined/undefined_variable.txt
index 23bb4ff44..c5a70f7a7 100644
--- a/tests/functional/u/undefined/undefined_variable.txt
+++ b/tests/functional/u/undefined/undefined_variable.txt
@@ -1,36 +1,36 @@
-undefined-variable:12:19::Undefined variable 'unknown':HIGH
-undefined-variable:18:10:in_method:Undefined variable 'nomoreknown':HIGH
-undefined-variable:21:19::Undefined variable '__revision__':HIGH
-undefined-variable:23:8::Undefined variable '__revision__':HIGH
-undefined-variable:27:29:bad_default:Undefined variable 'unknown2':HIGH
-undefined-variable:30:10:bad_default:Undefined variable 'xxxx':HIGH
-undefined-variable:31:4:bad_default:Undefined variable 'augvar':HIGH
-undefined-variable:32:8:bad_default:Undefined variable 'vardel':HIGH
-undefined-variable:34:19:<lambda>:Undefined variable 'doesnotexist':HIGH
-undefined-variable:35:23:<lambda>:Undefined variable 'z':HIGH
-used-before-assignment:43:4::Using variable 'POUETT' before assignment:HIGH
-used-before-assignment:56:4::Using variable 'PLOUF' before assignment:HIGH
-used-before-assignment:65:11:if_branch_test:Using variable 'xxx' before assignment:HIGH
-used-before-assignment:91:23:test_arguments:Using variable 'TestClass' before assignment:HIGH
-used-before-assignment:95:16:TestClass:Using variable 'Ancestor' before assignment:HIGH
-used-before-assignment:98:26:TestClass.MissingAncestor:Using variable 'Ancestor1' before assignment:HIGH
-used-before-assignment:105:36:TestClass.test1.UsingBeforeDefinition:Using variable 'Empty' before assignment:HIGH
-undefined-variable:119:10:Self:Undefined variable 'Self':HIGH
-undefined-variable:135:7::Undefined variable 'BAT':HIGH
-used-before-assignment:146:31:KeywordArgument.test1:Using variable 'enabled' before assignment:HIGH
-undefined-variable:149:32:KeywordArgument.test2:Undefined variable 'disabled':HIGH
-undefined-variable:154:22:KeywordArgument.<lambda>:Undefined variable 'arg':HIGH
-undefined-variable:166:4::Undefined variable 'unicode_2':HIGH
-undefined-variable:171:4::Undefined variable 'unicode_3':HIGH
-undefined-variable:226:25:LambdaClass4.<lambda>:Undefined variable 'LambdaClass4':HIGH
-undefined-variable:234:25:LambdaClass5.<lambda>:Undefined variable 'LambdaClass5':HIGH
-used-before-assignment:255:26:func_should_fail:Using variable 'datetime' before assignment:HIGH
-undefined-variable:282:18:not_using_loop_variable_accordingly:Undefined variable 'iteree':HIGH
-undefined-variable:293:27:undefined_annotation:Undefined variable 'x':HIGH
-used-before-assignment:294:7:undefined_annotation:Using variable 'x' before assignment:HIGH
-undefined-variable:324:11:decorated3:Undefined variable 'x':HIGH
-undefined-variable:329:19:decorated4:Undefined variable 'y':HIGH
-undefined-variable:354:10:only_type_assignment:Undefined variable 'variable':HIGH
-undefined-variable:367:10:value_assignment_after_access:Undefined variable 'variable':HIGH
-undefined-variable:384:10:global_var_mixed_assignment:Undefined variable 'GLOBAL_VAR':HIGH
-undefined-variable:415:14:decorator_returning_incorrect_function.wrapper_with_type_and_no_value:Undefined variable 'var':HIGH
+undefined-variable:12:19:12:26::Undefined variable 'unknown':UNDEFINED
+undefined-variable:18:10:18:21:in_method:Undefined variable 'nomoreknown':UNDEFINED
+undefined-variable:21:19:21:31::Undefined variable '__revision__':UNDEFINED
+undefined-variable:23:8:23:20::Undefined variable '__revision__':UNDEFINED
+undefined-variable:27:29:27:37:bad_default:Undefined variable 'unknown2':UNDEFINED
+undefined-variable:30:10:30:14:bad_default:Undefined variable 'xxxx':UNDEFINED
+undefined-variable:31:4:31:10:bad_default:Undefined variable 'augvar':UNDEFINED
+undefined-variable:32:8:32:14:bad_default:Undefined variable 'vardel':UNDEFINED
+undefined-variable:34:19:34:31:<lambda>:Undefined variable 'doesnotexist':UNDEFINED
+undefined-variable:35:23:35:24:<lambda>:Undefined variable 'z':UNDEFINED
+used-before-assignment:43:4:43:10::Using variable 'POUETT' before assignment:UNDEFINED
+used-before-assignment:56:4:56:9::Using variable 'PLOUF' before assignment:UNDEFINED
+used-before-assignment:65:11:65:14:if_branch_test:Using variable 'xxx' before assignment:UNDEFINED
+used-before-assignment:91:23:91:32:test_arguments:Using variable 'TestClass' before assignment:UNDEFINED
+used-before-assignment:95:16:95:24:TestClass:Using variable 'Ancestor' before assignment:UNDEFINED
+used-before-assignment:98:26:98:35:TestClass.MissingAncestor:Using variable 'Ancestor1' before assignment:UNDEFINED
+used-before-assignment:105:36:105:41:TestClass.test1.UsingBeforeDefinition:Using variable 'Empty' before assignment:UNDEFINED
+undefined-variable:119:10:119:14:Self:Undefined variable 'Self':UNDEFINED
+undefined-variable:135:7:135:10::Undefined variable 'BAT':UNDEFINED
+used-before-assignment:146:31:146:38:KeywordArgument.test1:Using variable 'enabled' before assignment:UNDEFINED
+undefined-variable:149:32:149:40:KeywordArgument.test2:Undefined variable 'disabled':UNDEFINED
+undefined-variable:154:22:154:25:KeywordArgument.<lambda>:Undefined variable 'arg':UNDEFINED
+undefined-variable:166:4:166:13::Undefined variable 'unicode_2':UNDEFINED
+undefined-variable:171:4:171:13::Undefined variable 'unicode_3':UNDEFINED
+undefined-variable:226:25:226:37:LambdaClass4.<lambda>:Undefined variable 'LambdaClass4':UNDEFINED
+undefined-variable:234:25:234:37:LambdaClass5.<lambda>:Undefined variable 'LambdaClass5':UNDEFINED
+used-before-assignment:255:26:255:34:func_should_fail:Using variable 'datetime' before assignment:UNDEFINED
+undefined-variable:282:18:282:24:not_using_loop_variable_accordingly:Undefined variable 'iteree':UNDEFINED
+undefined-variable:293:27:293:28:undefined_annotation:Undefined variable 'x':UNDEFINED
+used-before-assignment:294:7:294:8:undefined_annotation:Using variable 'x' before assignment:UNDEFINED
+undefined-variable:324:11:324:12:decorated3:Undefined variable 'x':UNDEFINED
+undefined-variable:329:19:329:20:decorated4:Undefined variable 'y':UNDEFINED
+undefined-variable:354:10:354:18:only_type_assignment:Undefined variable 'variable':UNDEFINED
+undefined-variable:367:10:367:18:value_assignment_after_access:Undefined variable 'variable':UNDEFINED
+undefined-variable:384:10:384:20:global_var_mixed_assignment:Undefined variable 'GLOBAL_VAR':UNDEFINED
+undefined-variable:415:14:415:17:decorator_returning_incorrect_function.wrapper_with_type_and_no_value:Undefined variable 'var':UNDEFINED
diff --git a/tests/functional/u/undefined/undefined_variable_py30.txt b/tests/functional/u/undefined/undefined_variable_py30.txt
index e0a942202..364b5a148 100644
--- a/tests/functional/u/undefined/undefined_variable_py30.txt
+++ b/tests/functional/u/undefined/undefined_variable_py30.txt
@@ -1,10 +1,10 @@
-undefined-variable:8:20:Undefined.test:Undefined variable 'Undefined':HIGH
-undefined-variable:33:34:Undefined1.InnerScope.test_undefined:Undefined variable 'Undef':HIGH
-undefined-variable:36:25:Undefined1.InnerScope.test1:Undefined variable 'ABC':HIGH
-undefined-variable:51:28:FalsePositive342.test_bad:Undefined variable 'trop':HIGH
-undefined-variable:54:31:FalsePositive342.test_bad1:Undefined variable 'trop1':HIGH
-undefined-variable:57:31:FalsePositive342.test_bad2:Undefined variable 'trop2':HIGH
-undefined-variable:63:0:Bad:Undefined variable 'ABCMet':HIGH
-undefined-variable:66:0:SecondBad:Undefined variable 'ab':HIGH
-undefined-variable:97:53:InheritingClass:Undefined variable 'variable':HIGH
-undefined-variable:103:0:Inheritor:Undefined variable 'DefinedTooLate':HIGH
+undefined-variable:8:20:8:29:Undefined.test:Undefined variable 'Undefined':UNDEFINED
+undefined-variable:33:34:33:39:Undefined1.InnerScope.test_undefined:Undefined variable 'Undef':UNDEFINED
+undefined-variable:36:25:36:28:Undefined1.InnerScope.test1:Undefined variable 'ABC':UNDEFINED
+undefined-variable:51:28:51:32:FalsePositive342.test_bad:Undefined variable 'trop':UNDEFINED
+undefined-variable:54:31:54:36:FalsePositive342.test_bad1:Undefined variable 'trop1':UNDEFINED
+undefined-variable:57:31:57:36:FalsePositive342.test_bad2:Undefined variable 'trop2':UNDEFINED
+undefined-variable:63:0:64:27:Bad:Undefined variable 'ABCMet':UNDEFINED
+undefined-variable:66:0:67:35:SecondBad:Undefined variable 'ab':UNDEFINED
+undefined-variable:97:53:97:61:InheritingClass:Undefined variable 'variable':UNDEFINED
+undefined-variable:103:0:104:8:Inheritor:Undefined variable 'DefinedTooLate':UNDEFINED
diff --git a/tests/functional/u/undefined/undefined_variable_py38.txt b/tests/functional/u/undefined/undefined_variable_py38.txt
index d33473d98..6d7035ee1 100644
--- a/tests/functional/u/undefined/undefined_variable_py38.txt
+++ b/tests/functional/u/undefined/undefined_variable_py38.txt
@@ -1,5 +1,5 @@
-undefined-variable:17:15:typing_and_self_referncing_assignment_expression:Undefined variable 'var':HIGH
-undefined-variable:42:6::Undefined variable 'no_default':HIGH
-undefined-variable:50:6::Undefined variable 'again_no_default':HIGH
-undefined-variable:76:6::Undefined variable 'else_assign_1':HIGH
-undefined-variable:99:6::Undefined variable 'else_assign_2':HIGH
+undefined-variable:17:15:17:18:typing_and_self_referncing_assignment_expression:Undefined variable 'var':UNDEFINED
+undefined-variable:42:6:42:16::Undefined variable 'no_default':UNDEFINED
+undefined-variable:50:6:50:22::Undefined variable 'again_no_default':UNDEFINED
+undefined-variable:76:6:76:19::Undefined variable 'else_assign_1':UNDEFINED
+undefined-variable:99:6:99:19::Undefined variable 'else_assign_2':UNDEFINED
diff --git a/tests/functional/u/unexpected_special_method_signature.txt b/tests/functional/u/unexpected_special_method_signature.txt
index 607f7d1a5..9751b6447 100644
--- a/tests/functional/u/unexpected_special_method_signature.txt
+++ b/tests/functional/u/unexpected_special_method_signature.txt
@@ -1,16 +1,16 @@
-unexpected-special-method-signature:8:4:Invalid.__enter__:The special method '__enter__' expects 0 param(s), 1 was given
-unexpected-special-method-signature:11:4:Invalid.__del__:The special method '__del__' expects 0 param(s), 1 was given
-unexpected-special-method-signature:14:4:Invalid.__format__:The special method '__format__' expects 1 param(s), 2 were given
-unexpected-special-method-signature:17:4:Invalid.__setattr__:The special method '__setattr__' expects 2 param(s), 0 was given
-unexpected-special-method-signature:20:4:Invalid.__round__:The special method '__round__' expects between 0 or 1 param(s), 2 were given
-unexpected-special-method-signature:23:4:Invalid.__deepcopy__:The special method '__deepcopy__' expects 1 param(s), 2 were given
-no-method-argument:26:4:Invalid.__iter__:Method has no argument
-unexpected-special-method-signature:30:4:Invalid.__getattr__:The special method '__getattr__' expects 1 param(s), 2 were given
-unexpected-special-method-signature:37:4:FirstBadContextManager.__exit__:The special method '__exit__' expects 3 param(s), 1 was given
-unexpected-special-method-signature:43:4:SecondBadContextManager.__exit__:The special method '__exit__' expects 3 param(s), 4 were given
-unexpected-special-method-signature:51:4:ThirdBadContextManager.__exit__:The special method '__exit__' expects 3 param(s), 4 were given
-unexpected-special-method-signature:57:4:Async.__aiter__:The special method '__aiter__' expects 0 param(s), 1 was given
-unexpected-special-method-signature:59:4:Async.__anext__:The special method '__anext__' expects 0 param(s), 2 were given
-unexpected-special-method-signature:61:4:Async.__await__:The special method '__await__' expects 0 param(s), 1 was given
-unexpected-special-method-signature:63:4:Async.__aenter__:The special method '__aenter__' expects 0 param(s), 1 was given
-unexpected-special-method-signature:65:4:Async.__aexit__:The special method '__aexit__' expects 3 param(s), 0 was given
+unexpected-special-method-signature:8:4:9:12:Invalid.__enter__:The special method '__enter__' expects 0 param(s), 1 was given:UNDEFINED
+unexpected-special-method-signature:11:4:12:12:Invalid.__del__:The special method '__del__' expects 0 param(s), 1 was given:UNDEFINED
+unexpected-special-method-signature:14:4:15:12:Invalid.__format__:The special method '__format__' expects 1 param(s), 2 were given:UNDEFINED
+unexpected-special-method-signature:17:4:18:12:Invalid.__setattr__:The special method '__setattr__' expects 2 param(s), 0 was given:UNDEFINED
+unexpected-special-method-signature:20:4:21:12:Invalid.__round__:The special method '__round__' expects between 0 or 1 param(s), 2 were given:UNDEFINED
+unexpected-special-method-signature:23:4:24:12:Invalid.__deepcopy__:The special method '__deepcopy__' expects 1 param(s), 2 were given:UNDEFINED
+no-method-argument:26:4:27:12:Invalid.__iter__:Method has no argument:UNDEFINED
+unexpected-special-method-signature:30:4:31:12:Invalid.__getattr__:The special method '__getattr__' expects 1 param(s), 2 were given:UNDEFINED
+unexpected-special-method-signature:37:4:38:12:FirstBadContextManager.__exit__:The special method '__exit__' expects 3 param(s), 1 was given:UNDEFINED
+unexpected-special-method-signature:43:4:44:12:SecondBadContextManager.__exit__:The special method '__exit__' expects 3 param(s), 4 were given:UNDEFINED
+unexpected-special-method-signature:51:4:52:12:ThirdBadContextManager.__exit__:The special method '__exit__' expects 3 param(s), 4 were given:UNDEFINED
+unexpected-special-method-signature:57:4:58:12:Async.__aiter__:The special method '__aiter__' expects 0 param(s), 1 was given:UNDEFINED
+unexpected-special-method-signature:59:4:60:12:Async.__anext__:The special method '__anext__' expects 0 param(s), 2 were given:UNDEFINED
+unexpected-special-method-signature:61:4:62:12:Async.__await__:The special method '__await__' expects 0 param(s), 1 was given:UNDEFINED
+unexpected-special-method-signature:63:4:64:12:Async.__aenter__:The special method '__aenter__' expects 0 param(s), 1 was given:UNDEFINED
+unexpected-special-method-signature:65:4:66:12:Async.__aexit__:The special method '__aexit__' expects 3 param(s), 0 was given:UNDEFINED
diff --git a/tests/functional/u/ungrouped_imports.txt b/tests/functional/u/ungrouped_imports.txt
index a23d9997a..b7d9a2494 100644
--- a/tests/functional/u/ungrouped_imports.txt
+++ b/tests/functional/u/ungrouped_imports.txt
@@ -1,5 +1,5 @@
-ungrouped-imports:8:0::Imports from package logging are not grouped
-ungrouped-imports:11:4::Imports from package os are not grouped
-ungrouped-imports:17:0::Imports from package astroid are not grouped
-ungrouped-imports:19:4::Imports from package logging are not grouped
-ungrouped-imports:20:0::Imports from package os are not grouped
+ungrouped-imports:8:0:8:14::Imports from package logging are not grouped:UNDEFINED
+ungrouped-imports:11:4:11:13::Imports from package os are not grouped:UNDEFINED
+ungrouped-imports:17:0:17:30::Imports from package astroid are not grouped:UNDEFINED
+ungrouped-imports:19:4:19:27::Imports from package logging are not grouped:UNDEFINED
+ungrouped-imports:20:0:20:24::Imports from package os are not grouped:UNDEFINED
diff --git a/tests/functional/u/unhashable_dict_key.txt b/tests/functional/u/unhashable_dict_key.txt
index d10876929..87c74ab57 100644
--- a/tests/functional/u/unhashable_dict_key.txt
+++ b/tests/functional/u/unhashable_dict_key.txt
@@ -1,4 +1,4 @@
-unhashable-dict-key:7:0::Dict key is unhashable
-unhashable-dict-key:8:0::Dict key is unhashable
-unhashable-dict-key:9:0::Dict key is unhashable
-unhashable-dict-key:10:0::Dict key is unhashable
+unhashable-dict-key:7:0:7:2::Dict key is unhashable:UNDEFINED
+unhashable-dict-key:8:0:8:2::Dict key is unhashable:UNDEFINED
+unhashable-dict-key:9:0:9:2::Dict key is unhashable:UNDEFINED
+unhashable-dict-key:10:0:10:2::Dict key is unhashable:UNDEFINED
diff --git a/tests/functional/u/unidiomatic_typecheck.txt b/tests/functional/u/unidiomatic_typecheck.txt
index 7302b5a42..84f5021d9 100644
--- a/tests/functional/u/unidiomatic_typecheck.txt
+++ b/tests/functional/u/unidiomatic_typecheck.txt
@@ -1,14 +1,14 @@
-unidiomatic-typecheck:5:4:simple_positives:Use isinstance() rather than type() for a typecheck.
-unidiomatic-typecheck:6:4:simple_positives:Use isinstance() rather than type() for a typecheck.
-unidiomatic-typecheck:7:4:simple_positives:Use isinstance() rather than type() for a typecheck.
-unidiomatic-typecheck:8:4:simple_positives:Use isinstance() rather than type() for a typecheck.
-unidiomatic-typecheck:12:4:simple_inference_positives:Use isinstance() rather than type() for a typecheck.
-unidiomatic-typecheck:13:4:simple_inference_positives:Use isinstance() rather than type() for a typecheck.
-unidiomatic-typecheck:14:4:simple_inference_positives:Use isinstance() rather than type() for a typecheck.
-unidiomatic-typecheck:15:4:simple_inference_positives:Use isinstance() rather than type() for a typecheck.
-unidiomatic-typecheck:65:4:type_of_literals_positives:Use isinstance() rather than type() for a typecheck.
-unidiomatic-typecheck:66:4:type_of_literals_positives:Use isinstance() rather than type() for a typecheck.
-unidiomatic-typecheck:67:4:type_of_literals_positives:Use isinstance() rather than type() for a typecheck.
-unidiomatic-typecheck:68:4:type_of_literals_positives:Use isinstance() rather than type() for a typecheck.
-unidiomatic-typecheck:69:4:type_of_literals_positives:Use isinstance() rather than type() for a typecheck.
-unidiomatic-typecheck:70:4:type_of_literals_positives:Use isinstance() rather than type() for a typecheck.
+unidiomatic-typecheck:5:4:5:19:simple_positives:Use isinstance() rather than type() for a typecheck.:UNDEFINED
+unidiomatic-typecheck:6:4:6:23:simple_positives:Use isinstance() rather than type() for a typecheck.:UNDEFINED
+unidiomatic-typecheck:7:4:7:19:simple_positives:Use isinstance() rather than type() for a typecheck.:UNDEFINED
+unidiomatic-typecheck:8:4:8:19:simple_positives:Use isinstance() rather than type() for a typecheck.:UNDEFINED
+unidiomatic-typecheck:12:4:12:20:simple_inference_positives:Use isinstance() rather than type() for a typecheck.:UNDEFINED
+unidiomatic-typecheck:13:4:13:24:simple_inference_positives:Use isinstance() rather than type() for a typecheck.:UNDEFINED
+unidiomatic-typecheck:14:4:14:20:simple_inference_positives:Use isinstance() rather than type() for a typecheck.:UNDEFINED
+unidiomatic-typecheck:15:4:15:20:simple_inference_positives:Use isinstance() rather than type() for a typecheck.:UNDEFINED
+unidiomatic-typecheck:65:4:65:23:type_of_literals_positives:Use isinstance() rather than type() for a typecheck.:UNDEFINED
+unidiomatic-typecheck:66:4:66:27:type_of_literals_positives:Use isinstance() rather than type() for a typecheck.:UNDEFINED
+unidiomatic-typecheck:67:4:67:23:type_of_literals_positives:Use isinstance() rather than type() for a typecheck.:UNDEFINED
+unidiomatic-typecheck:68:4:68:27:type_of_literals_positives:Use isinstance() rather than type() for a typecheck.:UNDEFINED
+unidiomatic-typecheck:69:4:69:23:type_of_literals_positives:Use isinstance() rather than type() for a typecheck.:UNDEFINED
+unidiomatic-typecheck:70:4:70:27:type_of_literals_positives:Use isinstance() rather than type() for a typecheck.:UNDEFINED
diff --git a/tests/functional/u/unnecessary/unnecessary_comprehension.txt b/tests/functional/u/unnecessary/unnecessary_comprehension.txt
index 189bcc60e..6093bdba8 100644
--- a/tests/functional/u/unnecessary/unnecessary_comprehension.txt
+++ b/tests/functional/u/unnecessary/unnecessary_comprehension.txt
@@ -1,13 +1,13 @@
-unnecessary-comprehension:5:0::Unnecessary use of a comprehension, use list(iterable) instead.
-unnecessary-comprehension:8:0::Unnecessary use of a comprehension, use list(iterable) instead.
-unnecessary-comprehension:9:0::Unnecessary use of a comprehension, use list(iterable) instead.
-unnecessary-comprehension:17:0::Unnecessary use of a comprehension, use list(a_dict.items()) instead.
-unnecessary-comprehension:20:0::Unnecessary use of a comprehension, use set(iterable) instead.
-unnecessary-comprehension:23:0::Unnecessary use of a comprehension, use set(iterable) instead.
-unnecessary-comprehension:24:0::Unnecessary use of a comprehension, use set(iterable) instead.
-unnecessary-comprehension:32:0::Unnecessary use of a comprehension, use dict(iterable) instead.
-unnecessary-comprehension:34:0::Unnecessary use of a comprehension, use dict(iterable) instead.
-unnecessary-comprehension:46:0::Unnecessary use of a comprehension, use my_list instead.
-unnecessary-comprehension:47:0::Unnecessary use of a comprehension, use my_dict instead.
-consider-using-dict-items:48:0::Consider iterating with .items()
-unnecessary-comprehension:49:0::Unnecessary use of a comprehension, use my_set instead.
+unnecessary-comprehension:5:0:None:None::Unnecessary use of a comprehension, use list(iterable) instead.:UNDEFINED
+unnecessary-comprehension:8:0:None:None::Unnecessary use of a comprehension, use list(iterable) instead.:UNDEFINED
+unnecessary-comprehension:9:0:None:None::Unnecessary use of a comprehension, use list(iterable) instead.:UNDEFINED
+unnecessary-comprehension:17:0:None:None::Unnecessary use of a comprehension, use list(a_dict.items()) instead.:UNDEFINED
+unnecessary-comprehension:20:0:None:None::Unnecessary use of a comprehension, use set(iterable) instead.:UNDEFINED
+unnecessary-comprehension:23:0:None:None::Unnecessary use of a comprehension, use set(iterable) instead.:UNDEFINED
+unnecessary-comprehension:24:0:None:None::Unnecessary use of a comprehension, use set(iterable) instead.:UNDEFINED
+unnecessary-comprehension:32:0:None:None::Unnecessary use of a comprehension, use dict(iterable) instead.:UNDEFINED
+unnecessary-comprehension:34:0:None:None::Unnecessary use of a comprehension, use dict(iterable) instead.:UNDEFINED
+unnecessary-comprehension:46:0:None:None::Unnecessary use of a comprehension, use my_list instead.:UNDEFINED
+unnecessary-comprehension:47:0:None:None::Unnecessary use of a comprehension, use my_dict instead.:UNDEFINED
+consider-using-dict-items:48:0:None:None::Consider iterating with .items():UNDEFINED
+unnecessary-comprehension:49:0:None:None::Unnecessary use of a comprehension, use my_set instead.:UNDEFINED
diff --git a/tests/functional/u/unnecessary/unnecessary_dict_index_lookup.txt b/tests/functional/u/unnecessary/unnecessary_dict_index_lookup.txt
index 37956ab3f..ca43a16c0 100644
--- a/tests/functional/u/unnecessary/unnecessary_dict_index_lookup.txt
+++ b/tests/functional/u/unnecessary/unnecessary_dict_index_lookup.txt
@@ -1,23 +1,23 @@
-unnecessary-dict-index-lookup:7:10::Unnecessary dictionary index lookup, use 'v' instead:HIGH
-unnecessary-dict-index-lookup:19:36::Unnecessary dictionary index lookup, use 'v' instead:HIGH
-unnecessary-dict-index-lookup:21:1::Unnecessary dictionary index lookup, use 'v' instead:HIGH
-unnecessary-dict-index-lookup:22:1::Unnecessary dictionary index lookup, use 'v' instead:HIGH
-unnecessary-dict-index-lookup:22:44::Unnecessary dictionary index lookup, use 'v' instead:HIGH
-unnecessary-dict-index-lookup:24:33::Unnecessary dictionary index lookup, use 'v' instead:HIGH
-unnecessary-dict-index-lookup:26:1::Unnecessary dictionary index lookup, use 'v' instead:HIGH
-unnecessary-dict-index-lookup:27:1::Unnecessary dictionary index lookup, use 'v' instead:HIGH
-unnecessary-dict-index-lookup:27:41::Unnecessary dictionary index lookup, use 'v' instead:HIGH
-unnecessary-dict-index-lookup:37:10::Unnecessary dictionary index lookup, use 'v' instead:HIGH
-unnecessary-dict-index-lookup:39:19::Unnecessary dictionary index lookup, use 'v' instead:HIGH
-unnecessary-dict-index-lookup:43:40::Unnecessary dictionary index lookup, use 'v' instead:HIGH
-unnecessary-dict-index-lookup:45:1::Unnecessary dictionary index lookup, use 'v' instead:HIGH
-unnecessary-dict-index-lookup:46:1::Unnecessary dictionary index lookup, use 'v' instead:HIGH
-unnecessary-dict-index-lookup:46:52::Unnecessary dictionary index lookup, use 'v' instead:HIGH
-unnecessary-dict-index-lookup:48:37::Unnecessary dictionary index lookup, use 'v' instead:HIGH
-unnecessary-dict-index-lookup:50:1::Unnecessary dictionary index lookup, use 'v' instead:HIGH
-unnecessary-dict-index-lookup:51:1::Unnecessary dictionary index lookup, use 'v' instead:HIGH
-unnecessary-dict-index-lookup:51:49::Unnecessary dictionary index lookup, use 'v' instead:HIGH
-unnecessary-dict-index-lookup:57:10::Unnecessary dictionary index lookup, use 'item[1]' instead:HIGH
-unnecessary-dict-index-lookup:60:1::Unnecessary dictionary index lookup, use 'item[1]' instead:HIGH
-unnecessary-dict-index-lookup:65:10::Unnecessary dictionary index lookup, use 'item[1]' instead:HIGH
-unnecessary-dict-index-lookup:82:14::Unnecessary dictionary index lookup, use '_' instead:HIGH
+unnecessary-dict-index-lookup:7:10:7:19::Unnecessary dictionary index lookup, use 'v' instead:UNDEFINED
+unnecessary-dict-index-lookup:19:36:19:45::Unnecessary dictionary index lookup, use 'v' instead:UNDEFINED
+unnecessary-dict-index-lookup:21:1:21:10::Unnecessary dictionary index lookup, use 'v' instead:UNDEFINED
+unnecessary-dict-index-lookup:22:1:22:10::Unnecessary dictionary index lookup, use 'v' instead:UNDEFINED
+unnecessary-dict-index-lookup:22:44:22:53::Unnecessary dictionary index lookup, use 'v' instead:UNDEFINED
+unnecessary-dict-index-lookup:24:33:24:42::Unnecessary dictionary index lookup, use 'v' instead:UNDEFINED
+unnecessary-dict-index-lookup:26:1:26:10::Unnecessary dictionary index lookup, use 'v' instead:UNDEFINED
+unnecessary-dict-index-lookup:27:1:27:10::Unnecessary dictionary index lookup, use 'v' instead:UNDEFINED
+unnecessary-dict-index-lookup:27:41:27:50::Unnecessary dictionary index lookup, use 'v' instead:UNDEFINED
+unnecessary-dict-index-lookup:37:10:37:23::Unnecessary dictionary index lookup, use 'v' instead:UNDEFINED
+unnecessary-dict-index-lookup:39:19:39:32::Unnecessary dictionary index lookup, use 'v' instead:UNDEFINED
+unnecessary-dict-index-lookup:43:40:43:53::Unnecessary dictionary index lookup, use 'v' instead:UNDEFINED
+unnecessary-dict-index-lookup:45:1:45:14::Unnecessary dictionary index lookup, use 'v' instead:UNDEFINED
+unnecessary-dict-index-lookup:46:1:46:14::Unnecessary dictionary index lookup, use 'v' instead:UNDEFINED
+unnecessary-dict-index-lookup:46:52:46:65::Unnecessary dictionary index lookup, use 'v' instead:UNDEFINED
+unnecessary-dict-index-lookup:48:37:48:50::Unnecessary dictionary index lookup, use 'v' instead:UNDEFINED
+unnecessary-dict-index-lookup:50:1:50:14::Unnecessary dictionary index lookup, use 'v' instead:UNDEFINED
+unnecessary-dict-index-lookup:51:1:51:14::Unnecessary dictionary index lookup, use 'v' instead:UNDEFINED
+unnecessary-dict-index-lookup:51:49:51:62::Unnecessary dictionary index lookup, use 'v' instead:UNDEFINED
+unnecessary-dict-index-lookup:57:10:57:20::Unnecessary dictionary index lookup, use 'item[1]' instead:UNDEFINED
+unnecessary-dict-index-lookup:60:1:60:11::Unnecessary dictionary index lookup, use 'item[1]' instead:UNDEFINED
+unnecessary-dict-index-lookup:65:10:65:20::Unnecessary dictionary index lookup, use 'item[1]' instead:UNDEFINED
+unnecessary-dict-index-lookup:82:14:82:18::Unnecessary dictionary index lookup, use '_' instead:UNDEFINED
diff --git a/tests/functional/u/unnecessary/unnecessary_lambda.txt b/tests/functional/u/unnecessary/unnecessary_lambda.txt
index c3983b195..68b675ae4 100644
--- a/tests/functional/u/unnecessary/unnecessary_lambda.txt
+++ b/tests/functional/u/unnecessary/unnecessary_lambda.txt
@@ -1,7 +1,7 @@
-unnecessary-lambda:9:4:<lambda>:Lambda may not be necessary
-unnecessary-lambda:11:4:<lambda>:Lambda may not be necessary
-unnecessary-lambda:13:4:<lambda>:Lambda may not be necessary
-unnecessary-lambda:20:4:<lambda>:Lambda may not be necessary
-unnecessary-lambda:22:4:<lambda>:Lambda may not be necessary
-unnecessary-lambda:24:4:<lambda>:Lambda may not be necessary
-unnecessary-lambda:26:4:<lambda>:Lambda may not be necessary
+unnecessary-lambda:9:4:9:18:<lambda>:Lambda may not be necessary:UNDEFINED
+unnecessary-lambda:11:4:11:21:<lambda>:Lambda may not be necessary:UNDEFINED
+unnecessary-lambda:13:4:13:26:<lambda>:Lambda may not be necessary:UNDEFINED
+unnecessary-lambda:20:4:20:33:<lambda>:Lambda may not be necessary:UNDEFINED
+unnecessary-lambda:22:4:22:39:<lambda>:Lambda may not be necessary:UNDEFINED
+unnecessary-lambda:24:4:24:53:<lambda>:Lambda may not be necessary:UNDEFINED
+unnecessary-lambda:26:4:26:71:<lambda>:Lambda may not be necessary:UNDEFINED
diff --git a/tests/functional/u/unnecessary/unnecessary_not.txt b/tests/functional/u/unnecessary/unnecessary_not.txt
index 722f26d40..c833013e0 100644
--- a/tests/functional/u/unnecessary/unnecessary_not.txt
+++ b/tests/functional/u/unnecessary/unnecessary_not.txt
@@ -1,14 +1,14 @@
-unneeded-not:10:7:unneeded_not:"Consider changing ""not not bool_var"" to ""bool_var"""
-unneeded-not:12:7:unneeded_not:"Consider changing ""not someint == 1"" to ""someint != 1"""
-unneeded-not:14:7:unneeded_not:"Consider changing ""not someint != 1"" to ""someint == 1"""
-unneeded-not:16:7:unneeded_not:"Consider changing ""not someint < 1"" to ""someint >= 1"""
-unneeded-not:18:7:unneeded_not:"Consider changing ""not someint > 1"" to ""someint <= 1"""
-unneeded-not:20:7:unneeded_not:"Consider changing ""not someint <= 1"" to ""someint > 1"""
-unneeded-not:22:7:unneeded_not:"Consider changing ""not someint >= 1"" to ""someint < 1"""
-unneeded-not:24:7:unneeded_not:"Consider changing ""not not someint"" to ""someint"""
-unneeded-not:26:7:unneeded_not:"Consider changing ""not bool_var == True"" to ""bool_var != True"""
-unneeded-not:28:7:unneeded_not:"Consider changing ""not bool_var == False"" to ""bool_var != False"""
-unneeded-not:30:7:unneeded_not:"Consider changing ""not bool_var != True"" to ""bool_var == True"""
-unneeded-not:32:7:unneeded_not:"Consider changing ""not True == True"" to ""True != True"""
-unneeded-not:34:7:unneeded_not:"Consider changing ""not 2 in [3, 4]"" to ""2 not in [3, 4]"""
-unneeded-not:36:7:unneeded_not:"Consider changing ""not someint is 'test'"" to ""someint is not 'test'"""
+unneeded-not:10:7:10:23:unneeded_not:"Consider changing ""not not bool_var"" to ""bool_var""":UNDEFINED
+unneeded-not:12:7:12:23:unneeded_not:"Consider changing ""not someint == 1"" to ""someint != 1""":UNDEFINED
+unneeded-not:14:7:14:23:unneeded_not:"Consider changing ""not someint != 1"" to ""someint == 1""":UNDEFINED
+unneeded-not:16:7:16:22:unneeded_not:"Consider changing ""not someint < 1"" to ""someint >= 1""":UNDEFINED
+unneeded-not:18:7:18:22:unneeded_not:"Consider changing ""not someint > 1"" to ""someint <= 1""":UNDEFINED
+unneeded-not:20:7:20:23:unneeded_not:"Consider changing ""not someint <= 1"" to ""someint > 1""":UNDEFINED
+unneeded-not:22:7:22:23:unneeded_not:"Consider changing ""not someint >= 1"" to ""someint < 1""":UNDEFINED
+unneeded-not:24:7:24:22:unneeded_not:"Consider changing ""not not someint"" to ""someint""":UNDEFINED
+unneeded-not:26:7:26:27:unneeded_not:"Consider changing ""not bool_var == True"" to ""bool_var != True""":UNDEFINED
+unneeded-not:28:7:28:28:unneeded_not:"Consider changing ""not bool_var == False"" to ""bool_var != False""":UNDEFINED
+unneeded-not:30:7:30:27:unneeded_not:"Consider changing ""not bool_var != True"" to ""bool_var == True""":UNDEFINED
+unneeded-not:32:7:32:23:unneeded_not:"Consider changing ""not True == True"" to ""True != True""":UNDEFINED
+unneeded-not:34:7:34:22:unneeded_not:"Consider changing ""not 2 in [3, 4]"" to ""2 not in [3, 4]""":UNDEFINED
+unneeded-not:36:7:36:28:unneeded_not:"Consider changing ""not someint is 'test'"" to ""someint is not 'test'""":UNDEFINED
diff --git a/tests/functional/u/unnecessary/unnecessary_pass.txt b/tests/functional/u/unnecessary/unnecessary_pass.txt
index 6eabcf5bd..e8b7f1361 100644
--- a/tests/functional/u/unnecessary/unnecessary_pass.txt
+++ b/tests/functional/u/unnecessary/unnecessary_pass.txt
@@ -1,3 +1,3 @@
-unnecessary-pass:7:4::Unnecessary pass statement
-unnecessary-pass:33:4:docstring_and_pass:Unnecessary pass statement
-unnecessary-pass:49:4:DocstringAndPass:Unnecessary pass statement
+unnecessary-pass:7:4:7:8::Unnecessary pass statement:UNDEFINED
+unnecessary-pass:33:4:33:8:docstring_and_pass:Unnecessary pass statement:UNDEFINED
+unnecessary-pass:49:4:49:8:DocstringAndPass:Unnecessary pass statement:UNDEFINED
diff --git a/tests/functional/u/unpacking_generalizations.txt b/tests/functional/u/unpacking_generalizations.txt
index 96c476cc2..caecb193e 100644
--- a/tests/functional/u/unpacking_generalizations.txt
+++ b/tests/functional/u/unpacking_generalizations.txt
@@ -1,6 +1,6 @@
-too-many-function-args:24:0::Too many positional arguments for function call
-no-value-for-parameter:25:0::No value for argument 'd' in function call
-too-many-function-args:26:0::Too many positional arguments for function call
-repeated-keyword:27:0::Got multiple values for keyword argument 'd' in function call
-repeated-keyword:29:0::Got multiple values for keyword argument 'c' in function call
-repeated-keyword:29:0::Got multiple values for keyword argument 'd' in function call
+too-many-function-args:24:0:24:41::Too many positional arguments for function call:UNDEFINED
+no-value-for-parameter:25:0:25:32::No value for argument 'd' in function call:UNDEFINED
+too-many-function-args:26:0:26:43::Too many positional arguments for function call:UNDEFINED
+repeated-keyword:27:0:27:51::Got multiple values for keyword argument 'd' in function call:UNDEFINED
+repeated-keyword:29:0:29:67::Got multiple values for keyword argument 'c' in function call:UNDEFINED
+repeated-keyword:29:0:29:67::Got multiple values for keyword argument 'd' in function call:UNDEFINED
diff --git a/tests/functional/u/unpacking_non_sequence.txt b/tests/functional/u/unpacking_non_sequence.txt
index 0ac2bc29a..7a8b8a85c 100644
--- a/tests/functional/u/unpacking_non_sequence.txt
+++ b/tests/functional/u/unpacking_non_sequence.txt
@@ -1,10 +1,10 @@
-unpacking-non-sequence:77:0::Attempting to unpack a non-sequence defined at line 74
-unpacking-non-sequence:78:0::Attempting to unpack a non-sequence
-unpacking-non-sequence:79:0::Attempting to unpack a non-sequence None
-unpacking-non-sequence:80:0::Attempting to unpack a non-sequence 1
-unpacking-non-sequence:81:0::Attempting to unpack a non-sequence defined at line 9 of functional.u.unpacking
-unpacking-non-sequence:82:0::Attempting to unpack a non-sequence defined at line 11 of functional.u.unpacking
-unpacking-non-sequence:83:0::Attempting to unpack a non-sequence
-unpacking-non-sequence:98:8:ClassUnpacking.test:Attempting to unpack a non-sequence defined at line 74
-unpacking-non-sequence:99:8:ClassUnpacking.test:Attempting to unpack a non-sequence
-unpacking-non-sequence:100:8:ClassUnpacking.test:Attempting to unpack a non-sequence
+unpacking-non-sequence:77:0:77:15::Attempting to unpack a non-sequence defined at line 74:UNDEFINED
+unpacking-non-sequence:78:0:78:17::Attempting to unpack a non-sequence:UNDEFINED
+unpacking-non-sequence:79:0:79:11::Attempting to unpack a non-sequence None:UNDEFINED
+unpacking-non-sequence:80:0:80:8::Attempting to unpack a non-sequence 1:UNDEFINED
+unpacking-non-sequence:81:0:81:13::Attempting to unpack a non-sequence defined at line 9 of functional.u.unpacking:UNDEFINED
+unpacking-non-sequence:82:0:82:15::Attempting to unpack a non-sequence defined at line 11 of functional.u.unpacking:UNDEFINED
+unpacking-non-sequence:83:0:83:18::Attempting to unpack a non-sequence:UNDEFINED
+unpacking-non-sequence:98:8:98:33:ClassUnpacking.test:Attempting to unpack a non-sequence defined at line 74:UNDEFINED
+unpacking-non-sequence:99:8:99:35:ClassUnpacking.test:Attempting to unpack a non-sequence:UNDEFINED
+unpacking-non-sequence:100:8:100:31:ClassUnpacking.test:Attempting to unpack a non-sequence:UNDEFINED
diff --git a/tests/functional/u/unreachable.txt b/tests/functional/u/unreachable.txt
index 19108724c..21905a17e 100644
--- a/tests/functional/u/unreachable.txt
+++ b/tests/functional/u/unreachable.txt
@@ -1,5 +1,5 @@
-unreachable:7:4:func1:Unreachable code
-unreachable:12:8:func2:Unreachable code
-unreachable:18:8:func3:Unreachable code
-unreachable:22:4:func4:Unreachable code
-unreachable:35:4:func6:Unreachable code
+unreachable:7:4:7:24:func1:Unreachable code:UNDEFINED
+unreachable:12:8:12:28:func2:Unreachable code:UNDEFINED
+unreachable:18:8:18:28:func3:Unreachable code:UNDEFINED
+unreachable:22:4:22:16:func4:Unreachable code:UNDEFINED
+unreachable:35:4:35:24:func6:Unreachable code:UNDEFINED
diff --git a/tests/functional/u/unrecognized_inline_option.txt b/tests/functional/u/unrecognized_inline_option.txt
index a89373326..45ac6f114 100644
--- a/tests/functional/u/unrecognized_inline_option.txt
+++ b/tests/functional/u/unrecognized_inline_option.txt
@@ -1 +1 @@
-unrecognized-inline-option:2:0::Unrecognized file option 'bouboule'
+unrecognized-inline-option:2:0:None:None::Unrecognized file option 'bouboule':UNDEFINED
diff --git a/tests/functional/u/unspecified_encoding_py38.txt b/tests/functional/u/unspecified_encoding_py38.txt
index 118df7a8b..60a811eca 100644
--- a/tests/functional/u/unspecified_encoding_py38.txt
+++ b/tests/functional/u/unspecified_encoding_py38.txt
@@ -1,25 +1,25 @@
-unspecified-encoding:13:0::Using open without explicitly specifying an encoding:HIGH
-unspecified-encoding:14:0::Using open without explicitly specifying an encoding:HIGH
-unspecified-encoding:15:0::Using open without explicitly specifying an encoding:HIGH
-unspecified-encoding:16:0::Using open without explicitly specifying an encoding:HIGH
-unspecified-encoding:17:0::Using open without explicitly specifying an encoding:HIGH
-unspecified-encoding:26:5::Using open without explicitly specifying an encoding:HIGH
-unspecified-encoding:29:5::Using open without explicitly specifying an encoding:HIGH
-unspecified-encoding:33:5::Using open without explicitly specifying an encoding:HIGH
-unspecified-encoding:38:0::Using open without explicitly specifying an encoding:HIGH
-unspecified-encoding:39:0::Using open without explicitly specifying an encoding:HIGH
-unspecified-encoding:40:0::Using open without explicitly specifying an encoding:HIGH
-unspecified-encoding:41:0::Using open without explicitly specifying an encoding:HIGH
-unspecified-encoding:50:5::Using open without explicitly specifying an encoding:HIGH
-unspecified-encoding:53:5::Using open without explicitly specifying an encoding:HIGH
-unspecified-encoding:57:5::Using open without explicitly specifying an encoding:HIGH
-unspecified-encoding:66:0::Using open without explicitly specifying an encoding:HIGH
-unspecified-encoding:67:0::Using open without explicitly specifying an encoding:HIGH
-unspecified-encoding:68:0::Using open without explicitly specifying an encoding:HIGH
-unspecified-encoding:75:0::Using open without explicitly specifying an encoding:HIGH
-unspecified-encoding:76:0::Using open without explicitly specifying an encoding:HIGH
-unspecified-encoding:77:0::Using open without explicitly specifying an encoding:HIGH
-unspecified-encoding:81:0::Using open without explicitly specifying an encoding:HIGH
-unspecified-encoding:82:0::Using open without explicitly specifying an encoding:HIGH
-unspecified-encoding:83:0::Using open without explicitly specifying an encoding:HIGH
-unspecified-encoding:84:0::Using open without explicitly specifying an encoding:HIGH
+unspecified-encoding:13:0:13:14::Using open without explicitly specifying an encoding:UNDEFINED
+unspecified-encoding:14:0:14:20::Using open without explicitly specifying an encoding:UNDEFINED
+unspecified-encoding:15:0:15:20::Using open without explicitly specifying an encoding:UNDEFINED
+unspecified-encoding:16:0:16:34::Using open without explicitly specifying an encoding:UNDEFINED
+unspecified-encoding:17:0:17:19::Using open without explicitly specifying an encoding:UNDEFINED
+unspecified-encoding:26:5:26:19::Using open without explicitly specifying an encoding:UNDEFINED
+unspecified-encoding:29:5:29:34::Using open without explicitly specifying an encoding:UNDEFINED
+unspecified-encoding:33:5:33:45::Using open without explicitly specifying an encoding:UNDEFINED
+unspecified-encoding:38:0:38:17::Using open without explicitly specifying an encoding:UNDEFINED
+unspecified-encoding:39:0:39:23::Using open without explicitly specifying an encoding:UNDEFINED
+unspecified-encoding:40:0:40:23::Using open without explicitly specifying an encoding:UNDEFINED
+unspecified-encoding:41:0:41:37::Using open without explicitly specifying an encoding:UNDEFINED
+unspecified-encoding:50:5:50:22::Using open without explicitly specifying an encoding:UNDEFINED
+unspecified-encoding:53:5:53:37::Using open without explicitly specifying an encoding:UNDEFINED
+unspecified-encoding:57:5:57:48::Using open without explicitly specifying an encoding:UNDEFINED
+unspecified-encoding:66:0:66:26::Using open without explicitly specifying an encoding:UNDEFINED
+unspecified-encoding:67:0:67:39::Using open without explicitly specifying an encoding:UNDEFINED
+unspecified-encoding:68:0:68:50::Using open without explicitly specifying an encoding:UNDEFINED
+unspecified-encoding:75:0:75:35::Using open without explicitly specifying an encoding:UNDEFINED
+unspecified-encoding:76:0:76:50::Using open without explicitly specifying an encoding:UNDEFINED
+unspecified-encoding:77:0:77:61::Using open without explicitly specifying an encoding:UNDEFINED
+unspecified-encoding:81:0:81:21::Using open without explicitly specifying an encoding:UNDEFINED
+unspecified-encoding:82:0:82:25::Using open without explicitly specifying an encoding:UNDEFINED
+unspecified-encoding:83:0:83:25::Using open without explicitly specifying an encoding:UNDEFINED
+unspecified-encoding:84:0:84:39::Using open without explicitly specifying an encoding:UNDEFINED
diff --git a/tests/functional/u/unsubscriptable_value.txt b/tests/functional/u/unsubscriptable_value.txt
index c95e05cdc..d0833b600 100644
--- a/tests/functional/u/unsubscriptable_value.txt
+++ b/tests/functional/u/unsubscriptable_value.txt
@@ -1,15 +1,15 @@
-unsubscriptable-object:32:0::Value 'NonSubscriptable()' is unsubscriptable
-unsubscriptable-object:33:0::Value 'NonSubscriptable' is unsubscriptable
-unsubscriptable-object:35:0::Value 'Subscriptable' is unsubscriptable
-unsubscriptable-object:44:0::Value 'powers_of_two()' is unsubscriptable
-unsubscriptable-object:45:0::Value 'powers_of_two' is unsubscriptable
-unsubscriptable-object:49:0::Value 'True' is unsubscriptable
-unsubscriptable-object:50:0::Value 'None' is unsubscriptable
-unsubscriptable-object:51:0::Value '8.5' is unsubscriptable
-unsubscriptable-object:52:0::Value '10' is unsubscriptable
-unsubscriptable-object:55:0::Value '{x**2 for x in range(10)}' is unsubscriptable
-unsubscriptable-object:56:0::Value 'set(numbers)' is unsubscriptable
-unsubscriptable-object:57:0::Value 'frozenset(numbers)' is unsubscriptable
-unsubscriptable-object:77:0::Value 'SubscriptableClass()' is unsubscriptable
-unsubscriptable-object:84:0::Value 'test' is unsubscriptable
-unsubscriptable-object:127:11:test_one:Value 'var_one' is unsubscriptable
+unsubscriptable-object:32:0:32:18::Value 'NonSubscriptable()' is unsubscriptable:UNDEFINED
+unsubscriptable-object:33:0:33:16::Value 'NonSubscriptable' is unsubscriptable:UNDEFINED
+unsubscriptable-object:35:0:35:13::Value 'Subscriptable' is unsubscriptable:UNDEFINED
+unsubscriptable-object:44:0:44:15::Value 'powers_of_two()' is unsubscriptable:UNDEFINED
+unsubscriptable-object:45:0:45:13::Value 'powers_of_two' is unsubscriptable:UNDEFINED
+unsubscriptable-object:49:0:49:4::Value 'True' is unsubscriptable:UNDEFINED
+unsubscriptable-object:50:0:50:4::Value 'None' is unsubscriptable:UNDEFINED
+unsubscriptable-object:51:0:51:3::Value '8.5' is unsubscriptable:UNDEFINED
+unsubscriptable-object:52:0:52:2::Value '10' is unsubscriptable:UNDEFINED
+unsubscriptable-object:55:0:55:27::Value '{x**2 for x in range(10)}' is unsubscriptable:UNDEFINED
+unsubscriptable-object:56:0:56:12::Value 'set(numbers)' is unsubscriptable:UNDEFINED
+unsubscriptable-object:57:0:57:18::Value 'frozenset(numbers)' is unsubscriptable:UNDEFINED
+unsubscriptable-object:77:0:77:20::Value 'SubscriptableClass()' is unsubscriptable:UNDEFINED
+unsubscriptable-object:84:0:84:4::Value 'test' is unsubscriptable:UNDEFINED
+unsubscriptable-object:127:11:127:18:test_one:Value 'var_one' is unsubscriptable:UNDEFINED
diff --git a/tests/functional/u/unsubscriptable_value_py37.txt b/tests/functional/u/unsubscriptable_value_py37.txt
index b5959971a..3e3e55444 100644
--- a/tests/functional/u/unsubscriptable_value_py37.txt
+++ b/tests/functional/u/unsubscriptable_value_py37.txt
@@ -1 +1 @@
-unsubscriptable-object:15:0::Value 'Subscriptable()' is unsubscriptable
+unsubscriptable-object:15:0:15:15::Value 'Subscriptable()' is unsubscriptable:UNDEFINED
diff --git a/tests/functional/u/unsupported/unsupported_assignment_operation.txt b/tests/functional/u/unsupported/unsupported_assignment_operation.txt
index 854e8bfec..de3fb3f1b 100644
--- a/tests/functional/u/unsupported/unsupported_assignment_operation.txt
+++ b/tests/functional/u/unsupported/unsupported_assignment_operation.txt
@@ -1,17 +1,17 @@
-unsupported-assignment-operation:16:0::'(1, 2, 3)' does not support item assignment
-unsupported-assignment-operation:31:0::'NonSubscriptable()' does not support item assignment
-unsupported-assignment-operation:32:0::'NonSubscriptable' does not support item assignment
-unsupported-assignment-operation:34:0::'Subscriptable' does not support item assignment
-unsupported-assignment-operation:43:0::'powers_of_two()' does not support item assignment
-unsupported-assignment-operation:44:0::'powers_of_two' does not support item assignment
-unsupported-assignment-operation:48:0::'True' does not support item assignment
-unsupported-assignment-operation:49:0::'None' does not support item assignment
-unsupported-assignment-operation:50:0::'8.5' does not support item assignment
-unsupported-assignment-operation:51:0::'10' does not support item assignment
-unsupported-assignment-operation:54:0::'{x**2 for x in range(10)}' does not support item assignment
-unsupported-assignment-operation:55:0::'set(numbers)' does not support item assignment
-unsupported-assignment-operation:56:0::'frozenset(numbers)' does not support item assignment
-unsupported-assignment-operation:76:0::'SubscriptableClass()' does not support item assignment
-unsupported-assignment-operation:82:0::'test()' does not support item assignment
-unsupported-assignment-operation:83:0::'test' does not support item assignment
-unsupported-assignment-operation:94:12::'SubscriptableClass()' does not support item assignment
+unsupported-assignment-operation:16:0:16:9::'(1, 2, 3)' does not support item assignment:UNDEFINED
+unsupported-assignment-operation:31:0:31:18::'NonSubscriptable()' does not support item assignment:UNDEFINED
+unsupported-assignment-operation:32:0:32:16::'NonSubscriptable' does not support item assignment:UNDEFINED
+unsupported-assignment-operation:34:0:34:13::'Subscriptable' does not support item assignment:UNDEFINED
+unsupported-assignment-operation:43:0:43:15::'powers_of_two()' does not support item assignment:UNDEFINED
+unsupported-assignment-operation:44:0:44:13::'powers_of_two' does not support item assignment:UNDEFINED
+unsupported-assignment-operation:48:0:48:4::'True' does not support item assignment:UNDEFINED
+unsupported-assignment-operation:49:0:49:4::'None' does not support item assignment:UNDEFINED
+unsupported-assignment-operation:50:0:50:3::'8.5' does not support item assignment:UNDEFINED
+unsupported-assignment-operation:51:0:51:2::'10' does not support item assignment:UNDEFINED
+unsupported-assignment-operation:54:0:54:27::'{x**2 for x in range(10)}' does not support item assignment:UNDEFINED
+unsupported-assignment-operation:55:0:55:12::'set(numbers)' does not support item assignment:UNDEFINED
+unsupported-assignment-operation:56:0:56:18::'frozenset(numbers)' does not support item assignment:UNDEFINED
+unsupported-assignment-operation:76:0:76:20::'SubscriptableClass()' does not support item assignment:UNDEFINED
+unsupported-assignment-operation:82:0:82:6::'test()' does not support item assignment:UNDEFINED
+unsupported-assignment-operation:83:0:83:4::'test' does not support item assignment:UNDEFINED
+unsupported-assignment-operation:94:12:94:32::'SubscriptableClass()' does not support item assignment:UNDEFINED
diff --git a/tests/functional/u/unsupported/unsupported_delete_operation.txt b/tests/functional/u/unsupported/unsupported_delete_operation.txt
index 6ad92eb33..d3363f6b8 100644
--- a/tests/functional/u/unsupported/unsupported_delete_operation.txt
+++ b/tests/functional/u/unsupported/unsupported_delete_operation.txt
@@ -1,17 +1,17 @@
-unsupported-delete-operation:16:4::'(1, 2, 3)' does not support item deletion
-unsupported-delete-operation:31:4::'NonSubscriptable()' does not support item deletion
-unsupported-delete-operation:32:4::'NonSubscriptable' does not support item deletion
-unsupported-delete-operation:34:4::'Subscriptable' does not support item deletion
-unsupported-delete-operation:43:4::'powers_of_two()' does not support item deletion
-unsupported-delete-operation:44:4::'powers_of_two' does not support item deletion
-unsupported-delete-operation:48:4::'True' does not support item deletion
-unsupported-delete-operation:49:4::'None' does not support item deletion
-unsupported-delete-operation:50:4::'8.5' does not support item deletion
-unsupported-delete-operation:51:4::'10' does not support item deletion
-unsupported-delete-operation:54:4::'{x**2 for x in range(10)}' does not support item deletion
-unsupported-delete-operation:55:4::'set(numbers)' does not support item deletion
-unsupported-delete-operation:56:4::'frozenset(numbers)' does not support item deletion
-unsupported-delete-operation:76:4::'SubscriptableClass()' does not support item deletion
-unsupported-delete-operation:82:4::'test()' does not support item deletion
-unsupported-delete-operation:83:4::'test' does not support item deletion
-unsupported-delete-operation:94:16::'SubscriptableClass()' does not support item deletion
+unsupported-delete-operation:16:4:16:13::'(1, 2, 3)' does not support item deletion:UNDEFINED
+unsupported-delete-operation:31:4:31:22::'NonSubscriptable()' does not support item deletion:UNDEFINED
+unsupported-delete-operation:32:4:32:20::'NonSubscriptable' does not support item deletion:UNDEFINED
+unsupported-delete-operation:34:4:34:17::'Subscriptable' does not support item deletion:UNDEFINED
+unsupported-delete-operation:43:4:43:19::'powers_of_two()' does not support item deletion:UNDEFINED
+unsupported-delete-operation:44:4:44:17::'powers_of_two' does not support item deletion:UNDEFINED
+unsupported-delete-operation:48:4:48:8::'True' does not support item deletion:UNDEFINED
+unsupported-delete-operation:49:4:49:8::'None' does not support item deletion:UNDEFINED
+unsupported-delete-operation:50:4:50:7::'8.5' does not support item deletion:UNDEFINED
+unsupported-delete-operation:51:4:51:6::'10' does not support item deletion:UNDEFINED
+unsupported-delete-operation:54:4:54:31::'{x**2 for x in range(10)}' does not support item deletion:UNDEFINED
+unsupported-delete-operation:55:4:55:16::'set(numbers)' does not support item deletion:UNDEFINED
+unsupported-delete-operation:56:4:56:22::'frozenset(numbers)' does not support item deletion:UNDEFINED
+unsupported-delete-operation:76:4:76:24::'SubscriptableClass()' does not support item deletion:UNDEFINED
+unsupported-delete-operation:82:4:82:10::'test()' does not support item deletion:UNDEFINED
+unsupported-delete-operation:83:4:83:8::'test' does not support item deletion:UNDEFINED
+unsupported-delete-operation:94:16:94:36::'SubscriptableClass()' does not support item deletion:UNDEFINED
diff --git a/tests/functional/u/unsupported/unsupported_version_for_f_string.txt b/tests/functional/u/unsupported/unsupported_version_for_f_string.txt
index a30eda226..3c05a79c0 100644
--- a/tests/functional/u/unsupported/unsupported_version_for_f_string.txt
+++ b/tests/functional/u/unsupported/unsupported_version_for_f_string.txt
@@ -1,2 +1,2 @@
-using-f-string-in-unsupported-version:4:6::F-strings are not supported by all versions included in the py-version setting:HIGH
-using-f-string-in-unsupported-version:5:10::F-strings are not supported by all versions included in the py-version setting:HIGH
+using-f-string-in-unsupported-version:4:6:4:26::F-strings are not supported by all versions included in the py-version setting:UNDEFINED
+using-f-string-in-unsupported-version:5:10:5:53::F-strings are not supported by all versions included in the py-version setting:UNDEFINED
diff --git a/tests/functional/u/unsupported/unsupported_version_for_final.txt b/tests/functional/u/unsupported/unsupported_version_for_final.txt
index f5cc2aa05..51c55b920 100644
--- a/tests/functional/u/unsupported/unsupported_version_for_final.txt
+++ b/tests/functional/u/unsupported/unsupported_version_for_final.txt
@@ -1,9 +1,9 @@
-using-final-decorator-in-unsupported-version:10:1:MyClass1:typing.final is not supported by all versions included in the py-version setting:HIGH
-using-final-decorator-in-unsupported-version:12:5:MyClass1.my_method:typing.final is not supported by all versions included in the py-version setting:HIGH
-using-final-decorator-in-unsupported-version:13:5:MyClass1.my_method:typing.final is not supported by all versions included in the py-version setting:HIGH
-using-final-decorator-in-unsupported-version:18:1:MyClass2:typing.final is not supported by all versions included in the py-version setting:HIGH
-using-final-decorator-in-unsupported-version:20:5:MyClass2.my_method:typing.final is not supported by all versions included in the py-version setting:HIGH
-using-final-decorator-in-unsupported-version:25:1:MyClass3:typing.final is not supported by all versions included in the py-version setting:HIGH
-using-final-decorator-in-unsupported-version:27:5:MyClass3.my_method:typing.final is not supported by all versions included in the py-version setting:HIGH
-using-final-decorator-in-unsupported-version:32:1:MyClass4:typing.final is not supported by all versions included in the py-version setting:HIGH
-using-final-decorator-in-unsupported-version:34:5:MyClass4.my_method:typing.final is not supported by all versions included in the py-version setting:HIGH
+using-final-decorator-in-unsupported-version:10:1:10:6:MyClass1:typing.final is not supported by all versions included in the py-version setting:UNDEFINED
+using-final-decorator-in-unsupported-version:12:5:12:10:MyClass1.my_method:typing.final is not supported by all versions included in the py-version setting:UNDEFINED
+using-final-decorator-in-unsupported-version:13:5:13:10:MyClass1.my_method:typing.final is not supported by all versions included in the py-version setting:UNDEFINED
+using-final-decorator-in-unsupported-version:18:1:18:8:MyClass2:typing.final is not supported by all versions included in the py-version setting:UNDEFINED
+using-final-decorator-in-unsupported-version:20:5:20:12:MyClass2.my_method:typing.final is not supported by all versions included in the py-version setting:UNDEFINED
+using-final-decorator-in-unsupported-version:25:1:25:13:MyClass3:typing.final is not supported by all versions included in the py-version setting:UNDEFINED
+using-final-decorator-in-unsupported-version:27:5:27:17:MyClass3.my_method:typing.final is not supported by all versions included in the py-version setting:UNDEFINED
+using-final-decorator-in-unsupported-version:32:1:32:15:MyClass4:typing.final is not supported by all versions included in the py-version setting:UNDEFINED
+using-final-decorator-in-unsupported-version:34:5:34:19:MyClass4.my_method:typing.final is not supported by all versions included in the py-version setting:UNDEFINED
diff --git a/tests/functional/u/unused/unused_argument.txt b/tests/functional/u/unused/unused_argument.txt
index b1ad4ad5a..9d7a54b60 100644
--- a/tests/functional/u/unused/unused_argument.txt
+++ b/tests/functional/u/unused/unused_argument.txt
@@ -1,8 +1,8 @@
-unused-argument:3:16:test_unused:Unused argument 'first'
-unused-argument:3:23:test_unused:Unused argument 'second'
-unused-argument:32:29:Sub.newmethod:Unused argument 'aay':INFERENCE
-unused-argument:54:13:function:Unused argument 'arg'
-unused-argument:61:21:AAAA.method:Unused argument 'arg':INFERENCE
-unused-argument:68:0:AAAA.selected:Unused argument 'args':INFERENCE
-unused-argument:68:0:AAAA.selected:Unused argument 'kwargs':INFERENCE
-unused-argument:87:23:BBBB.__init__:Unused argument 'arg':INFERENCE
+unused-argument:3:16:3:21:test_unused:Unused argument 'first':HIGH
+unused-argument:3:23:3:29:test_unused:Unused argument 'second':HIGH
+unused-argument:32:29:32:32:Sub.newmethod:Unused argument 'aay':INFERENCE
+unused-argument:54:13:54:16:function:Unused argument 'arg':HIGH
+unused-argument:61:21:61:24:AAAA.method:Unused argument 'arg':INFERENCE
+unused-argument:68:0:None:None:AAAA.selected:Unused argument 'args':INFERENCE
+unused-argument:68:0:None:None:AAAA.selected:Unused argument 'kwargs':INFERENCE
+unused-argument:87:23:87:26:BBBB.__init__:Unused argument 'arg':INFERENCE
diff --git a/tests/functional/u/unused/unused_argument_py3.txt b/tests/functional/u/unused/unused_argument_py3.txt
index 2bddb5184..38a163a82 100644
--- a/tests/functional/u/unused/unused_argument_py3.txt
+++ b/tests/functional/u/unused/unused_argument_py3.txt
@@ -1,3 +1,3 @@
-unused-argument:3:9:func:Unused argument 'first'
-unused-argument:3:19:func:Unused argument 'second'
-unused-argument:7:23:only_raises:Unused argument 'second'
+unused-argument:3:9:3:14:func:Unused argument 'first':HIGH
+unused-argument:3:19:3:25:func:Unused argument 'second':HIGH
+unused-argument:7:23:7:29:only_raises:Unused argument 'second':HIGH
diff --git a/tests/functional/u/unused/unused_global_variable2.txt b/tests/functional/u/unused/unused_global_variable2.txt
index a670aa0e0..28755f1fa 100644
--- a/tests/functional/u/unused/unused_global_variable2.txt
+++ b/tests/functional/u/unused/unused_global_variable2.txt
@@ -1 +1 @@
-unused-variable:2:0::Unused variable 'VAR'
+unused-variable:2:0:2:3::Unused variable 'VAR':UNDEFINED
diff --git a/tests/functional/u/unused/unused_global_variable4.txt b/tests/functional/u/unused/unused_global_variable4.txt
index 67e6da979..a90f8f6ff 100644
--- a/tests/functional/u/unused/unused_global_variable4.txt
+++ b/tests/functional/u/unused/unused_global_variable4.txt
@@ -1,2 +1,2 @@
-unused-variable:2:0::Unused variable 'VAR'
-unused-variable:3:0::Unused variable 'VAR'
+unused-variable:2:0:2:3::Unused variable 'VAR':UNDEFINED
+unused-variable:3:0:3:3::Unused variable 'VAR':UNDEFINED
diff --git a/tests/functional/u/unused/unused_import.txt b/tests/functional/u/unused/unused_import.txt
index 79ac42d10..1003dafb7 100644
--- a/tests/functional/u/unused/unused_import.txt
+++ b/tests/functional/u/unused/unused_import.txt
@@ -1,10 +1,10 @@
-unused-import:3:0::Unused import xml.etree
-unused-import:4:0::Unused import xml.sax
-unused-import:5:0::Unused os.path imported as test
-unused-import:6:0::Unused argv imported from sys as test2
-unused-import:7:0::Unused flags imported from sys
-unused-import:9:0::Unused OrderedDict imported from collections
-unused-import:9:0::Unused deque imported from collections
-unused-import:10:0::Unused import re
-unused-import:13:0::Unused SomeOtherName imported from fake
-unused-import:45:0::Unused import os
+unused-import:3:0:3:16::Unused import xml.etree:UNDEFINED
+unused-import:4:0:4:14::Unused import xml.sax:UNDEFINED
+unused-import:5:0:5:22::Unused os.path imported as test:UNDEFINED
+unused-import:6:0:6:29::Unused argv imported from sys as test2:UNDEFINED
+unused-import:7:0:7:21::Unused flags imported from sys:UNDEFINED
+unused-import:9:0:9:51::Unused OrderedDict imported from collections:UNDEFINED
+unused-import:9:0:9:51::Unused deque imported from collections:UNDEFINED
+unused-import:10:0:10:22::Unused import re:UNDEFINED
+unused-import:13:0:13:40::Unused SomeOtherName imported from fake:UNDEFINED
+unused-import:45:0:45:9::Unused import os:UNDEFINED
diff --git a/tests/functional/u/unused/unused_import_py30.txt b/tests/functional/u/unused/unused_import_py30.txt
index 1a2ff4fb9..355e812ec 100644
--- a/tests/functional/u/unused/unused_import_py30.txt
+++ b/tests/functional/u/unused/unused_import_py30.txt
@@ -1 +1 @@
-reimported:7:0::Reimport 'ABCMeta' (imported line 6)
+reimported:7:0:7:40::Reimport 'ABCMeta' (imported line 6):UNDEFINED
diff --git a/tests/functional/u/unused/unused_name_from_wilcard_import.txt b/tests/functional/u/unused/unused_name_from_wilcard_import.txt
index 525afd2fc..c939b8260 100644
--- a/tests/functional/u/unused/unused_name_from_wilcard_import.txt
+++ b/tests/functional/u/unused/unused_name_from_wilcard_import.txt
@@ -1,6 +1,6 @@
-unused-wildcard-import:3:0::Unused import(s) func and only_raises from wildcard import of unused_argument_py3:HIGH
-wildcard-import:3:0::Wildcard import unused_argument_py3:HIGH
-unused-wildcard-import:4:0::Unused import(s) VAR from wildcard import of unused_global_variable1:HIGH
-wildcard-import:4:0::Wildcard import unused_global_variable1:HIGH
-unused-wildcard-import:5:0::Unused import(s) abc, sys, Meta, Meta2, Meta3, ABCMeta and SomethingElse from wildcard import of unused_import_py30:HIGH
-wildcard-import:5:0::Wildcard import unused_import_py30:HIGH
+unused-wildcard-import:3:0:3:34::Unused import(s) func and only_raises from wildcard import of unused_argument_py3:UNDEFINED
+wildcard-import:3:0:3:34::Wildcard import unused_argument_py3:UNDEFINED
+unused-wildcard-import:4:0:4:38::Unused import(s) VAR from wildcard import of unused_global_variable1:UNDEFINED
+wildcard-import:4:0:4:38::Wildcard import unused_global_variable1:UNDEFINED
+unused-wildcard-import:5:0:5:33::Unused import(s) abc, sys, Meta, Meta2, Meta3, ABCMeta and SomethingElse from wildcard import of unused_import_py30:UNDEFINED
+wildcard-import:5:0:5:33::Wildcard import unused_import_py30:UNDEFINED
diff --git a/tests/functional/u/unused/unused_private_member.txt b/tests/functional/u/unused/unused_private_member.txt
index 08adc8c15..8d69dd02c 100644
--- a/tests/functional/u/unused/unused_private_member.txt
+++ b/tests/functional/u/unused/unused_private_member.txt
@@ -1,19 +1,19 @@
-unused-private-member:4:4:AnotherClass.__test:Unused private member `AnotherClass.__test(self)`:HIGH
-unused-private-member:8:4:HasUnusedInClass:Unused private member `HasUnusedInClass.__my_secret`:HIGH
-unused-private-member:12:4:HasUnusedInClass.__private_class_method_unused:Unused private member `HasUnusedInClass.__private_class_method_unused(cls)`:HIGH
-unused-private-member:20:4:HasUnusedInClass.__private_static_method_unused:Unused private member `HasUnusedInClass.__private_static_method_unused()`:HIGH
-unused-private-member:28:8:HasUnusedInClass.__init__:Unused private member `HasUnusedInClass.__instance_secret`:HIGH
-unused-private-member:34:4:HasUnusedInClass.__test:Unused private member `HasUnusedInClass.__test(self, x, y, z)`:HIGH
-unused-private-member:55:4:HasUnusedInClass.__test_recursive:Unused private member `HasUnusedInClass.__test_recursive(self)`:HIGH
-unused-private-member:133:8:FalsePositive4657.__init__:Unused private member `FalsePositive4657.__attr_c`:HIGH
-undefined-variable:138:15:FalsePositive4657.attr_c:Undefined variable 'cls':HIGH
-unused-private-member:157:8:FalsePositive4668.__new__:Unused private member `FalsePositive4668.__unused`:HIGH
-unused-private-member:181:8:FalsePositive4673.do_thing.__true_positive:Unused private member `FalsePositive4673.do_thing.__true_positive(in_thing)`:HIGH
-unused-private-member:201:8:FalsePositive4673.complicated_example.__inner_4:Unused private member `FalsePositive4673.complicated_example.__inner_4()`:HIGH
-unused-private-member:212:8:Crash4755Context.__init__:Unused private member `Crash4755Context.__messages`:HIGH
-unused-private-member:229:4:FalsePositive4681:Unused private member `FalsePositive4681.__should_cause_error`:HIGH
-unused-private-member:239:12:FalsePositive4681.__init__:Unused private member `FalsePositive4681.__should_cause_error`:HIGH
-unused-private-member:243:12:FalsePositive4681.__init__:Unused private member `FalsePositive4681.__should_cause_error`:HIGH
-unused-private-member:274:4:FalsePositive4849.__unused_private_method:Unused private member `FalsePositive4849.__unused_private_method()`:HIGH
-unused-private-member:291:4:Pony.__init_defaults:Unused private member `Pony.__init_defaults(self)`:HIGH
-unused-private-member:296:4:Pony.__get_fur_color:Unused private member `Pony.__get_fur_color(self)`:HIGH
+unused-private-member:4:4:5:12:AnotherClass.__test:Unused private member `AnotherClass.__test(self)`:UNDEFINED
+unused-private-member:8:4:8:15:HasUnusedInClass:Unused private member `HasUnusedInClass.__my_secret`:UNDEFINED
+unused-private-member:12:4:13:35:HasUnusedInClass.__private_class_method_unused:Unused private member `HasUnusedInClass.__private_class_method_unused(cls)`:UNDEFINED
+unused-private-member:20:4:21:12:HasUnusedInClass.__private_static_method_unused:Unused private member `HasUnusedInClass.__private_static_method_unused()`:UNDEFINED
+unused-private-member:28:8:28:30:HasUnusedInClass.__init__:Unused private member `HasUnusedInClass.__instance_secret`:UNDEFINED
+unused-private-member:34:4:38:13:HasUnusedInClass.__test:Unused private member `HasUnusedInClass.__test(self, x, y, z)`:UNDEFINED
+unused-private-member:55:4:56:31:HasUnusedInClass.__test_recursive:Unused private member `HasUnusedInClass.__test_recursive(self)`:UNDEFINED
+unused-private-member:133:8:133:21:FalsePositive4657.__init__:Unused private member `FalsePositive4657.__attr_c`:UNDEFINED
+undefined-variable:138:15:138:18:FalsePositive4657.attr_c:Undefined variable 'cls':UNDEFINED
+unused-private-member:157:8:157:26:FalsePositive4668.__new__:Unused private member `FalsePositive4668.__unused`:UNDEFINED
+unused-private-member:181:8:182:27:FalsePositive4673.do_thing.__true_positive:Unused private member `FalsePositive4673.do_thing.__true_positive(in_thing)`:UNDEFINED
+unused-private-member:201:8:202:16:FalsePositive4673.complicated_example.__inner_4:Unused private member `FalsePositive4673.complicated_example.__inner_4()`:UNDEFINED
+unused-private-member:212:8:212:23:Crash4755Context.__init__:Unused private member `Crash4755Context.__messages`:UNDEFINED
+unused-private-member:229:4:229:24:FalsePositive4681:Unused private member `FalsePositive4681.__should_cause_error`:UNDEFINED
+unused-private-member:239:12:239:50:FalsePositive4681.__init__:Unused private member `FalsePositive4681.__should_cause_error`:UNDEFINED
+unused-private-member:243:12:243:50:FalsePositive4681.__init__:Unused private member `FalsePositive4681.__should_cause_error`:UNDEFINED
+unused-private-member:274:4:275:26:FalsePositive4849.__unused_private_method:Unused private member `FalsePositive4849.__unused_private_method()`:UNDEFINED
+unused-private-member:291:4:294:44:Pony.__init_defaults:Unused private member `Pony.__init_defaults(self)`:UNDEFINED
+unused-private-member:296:4:298:20:Pony.__get_fur_color:Unused private member `Pony.__get_fur_color(self)`:UNDEFINED
diff --git a/tests/functional/u/unused/unused_variable.txt b/tests/functional/u/unused/unused_variable.txt
index bfe5dc91b..20cf42928 100644
--- a/tests/functional/u/unused/unused_variable.txt
+++ b/tests/functional/u/unused/unused_variable.txt
@@ -1,26 +1,26 @@
-unused-import:4:4:test_regression_737:Unused import xml
-unused-import:7:4:test_regression_923:Unused import unittest.case
-unused-import:8:4:test_regression_923:Unused xml imported as sql
-unused-variable:15:4:test_unused_with_prepended_underscore:Unused variable '_a_'
-unused-variable:16:4:test_unused_with_prepended_underscore:Unused variable '__a__'
-unused-variable:20:4:test_local_field_prefixed_with_unused_or_ignored:Unused variable 'flagged_local_field'
-unused-variable:28:8:HasUnusedDunderClass.test:Unused variable '__class__'
-possibly-unused-variable:35:4:locals_example_defined_before:Possibly unused variable 'value'
-unused-variable:41:4:locals_example_defined_after:Unused variable 'value'
-unused-variable:46:4:locals_does_not_account_for_subscopes:Unused variable 'value'
-unused-import:54:4:unused_import_from:Unused wraps imported from functools as abc
-unused-import:55:4:unused_import_from:Unused namedtuple imported from collections
-unused-import:59:4:unused_import_in_function:Unused hexdigits imported from string
-unused-variable:64:4:hello:Unused variable 'my_var'
-unused-variable:76:4:function:Unused variable 'aaaa'
-global-variable-not-assigned:97:4:test_global:Using global for 'PATH' but no assignment is done:HIGH
-global-variable-not-assigned:97:4:test_global:Using global for 'deque' but no assignment is done:HIGH
-unused-import:103:4:test_global:Unused platform imported from sys
-unused-import:104:4:test_global:Unused version imported from sys as VERSION
-unused-import:105:4:test_global:Unused import this
-unused-import:106:4:test_global:Unused re imported as RE
-unused-variable:110:4:function2:Unused variable 'unused'
-unused-variable:147:8:func3:Unused variable 'error'
-unused-variable:153:4:func4:Unused variable 'error'
-unused-variable:165:4:main:Unused variable 'e'
-undefined-loop-variable:172:10:main:Using possibly undefined loop variable 'e'
+unused-import:4:4:4:14:test_regression_737:Unused import xml:UNDEFINED
+unused-import:7:4:7:24:test_regression_923:Unused import unittest.case:UNDEFINED
+unused-import:8:4:8:21:test_regression_923:Unused xml imported as sql:UNDEFINED
+unused-variable:15:4:15:7:test_unused_with_prepended_underscore:Unused variable '_a_':UNDEFINED
+unused-variable:16:4:16:9:test_unused_with_prepended_underscore:Unused variable '__a__':UNDEFINED
+unused-variable:20:4:20:23:test_local_field_prefixed_with_unused_or_ignored:Unused variable 'flagged_local_field':UNDEFINED
+unused-variable:28:8:28:17:HasUnusedDunderClass.test:Unused variable '__class__':UNDEFINED
+possibly-unused-variable:35:4:35:9:locals_example_defined_before:Possibly unused variable 'value':UNDEFINED
+unused-variable:41:4:41:9:locals_example_defined_after:Unused variable 'value':UNDEFINED
+unused-variable:46:4:46:9:locals_does_not_account_for_subscopes:Unused variable 'value':UNDEFINED
+unused-import:54:4:54:38:unused_import_from:Unused wraps imported from functools as abc:UNDEFINED
+unused-import:55:4:55:38:unused_import_from:Unused namedtuple imported from collections:UNDEFINED
+unused-import:59:4:59:40:unused_import_in_function:Unused hexdigits imported from string:UNDEFINED
+unused-variable:64:4:64:10:hello:Unused variable 'my_var':UNDEFINED
+unused-variable:76:4:76:8:function:Unused variable 'aaaa':UNDEFINED
+global-variable-not-assigned:97:4:97:39:test_global:Using global for 'PATH' but no assignment is done:UNDEFINED
+global-variable-not-assigned:97:4:97:39:test_global:Using global for 'deque' but no assignment is done:UNDEFINED
+unused-import:103:4:103:28:test_global:Unused platform imported from sys:UNDEFINED
+unused-import:104:4:104:38:test_global:Unused version imported from sys as VERSION:UNDEFINED
+unused-import:105:4:105:15:test_global:Unused import this:UNDEFINED
+unused-import:106:4:106:19:test_global:Unused re imported as RE:UNDEFINED
+unused-variable:110:4:110:10:function2:Unused variable 'unused':UNDEFINED
+unused-variable:147:8:148:28:func3:Unused variable 'error':UNDEFINED
+unused-variable:153:4:158:26:func4:Unused variable 'error':UNDEFINED
+unused-variable:165:4:166:12:main:Unused variable 'e':UNDEFINED
+undefined-loop-variable:172:10:172:11:main:Using possibly undefined loop variable 'e':UNDEFINED
diff --git a/tests/functional/u/unused/unused_variable_py38.txt b/tests/functional/u/unused/unused_variable_py38.txt
index 40d4e80a5..62a9e8b6c 100644
--- a/tests/functional/u/unused/unused_variable_py38.txt
+++ b/tests/functional/u/unused/unused_variable_py38.txt
@@ -1,6 +1,6 @@
-unused-variable:4:0:typed_assignment_in_function_default:Unused variable 'typed_assignment_in_function_default':HIGH
-unused-variable:5:18::Unused variable 'typed_default':HIGH
-unused-variable:11:0:assignment_in_function_default:Unused variable 'assignment_in_function_default':HIGH
-unused-variable:12:11::Unused variable 'default':HIGH
-unused-variable:18:0:assignment_used_in_function_scope:Unused variable 'assignment_used_in_function_scope':HIGH
-unused-variable:26:0:assignment_used_in_global_scope:Unused variable 'assignment_used_in_global_scope':HIGH
+unused-variable:4:0:8:16:typed_assignment_in_function_default:Unused variable 'typed_assignment_in_function_default':UNDEFINED
+unused-variable:5:18:5:31::Unused variable 'typed_default':UNDEFINED
+unused-variable:11:0:15:16:assignment_in_function_default:Unused variable 'assignment_in_function_default':UNDEFINED
+unused-variable:12:11:12:18::Unused variable 'default':UNDEFINED
+unused-variable:18:0:23:16:assignment_used_in_function_scope:Unused variable 'assignment_used_in_function_scope':UNDEFINED
+unused-variable:26:0:30:16:assignment_used_in_global_scope:Unused variable 'assignment_used_in_global_scope':UNDEFINED
diff --git a/tests/functional/u/use/use_a_generator.txt b/tests/functional/u/use/use_a_generator.txt
index e7be228f0..7ab70dc68 100644
--- a/tests/functional/u/use/use_a_generator.txt
+++ b/tests/functional/u/use/use_a_generator.txt
@@ -1,2 +1,2 @@
-use-a-generator:7:0::Use a generator instead 'any(0 for x in list(range(10)))'
-use-a-generator:8:0::Use a generator instead 'all(0 for y in list(range(10)))'
+use-a-generator:7:0:7:33::Use a generator instead 'any(0 for x in list(range(10)))':UNDEFINED
+use-a-generator:8:0:8:33::Use a generator instead 'all(0 for y in list(range(10)))':UNDEFINED
diff --git a/tests/functional/u/use/use_implicit_booleaness_not_comparison.txt b/tests/functional/u/use/use_implicit_booleaness_not_comparison.txt
index 1aace6be8..ecd9189d6 100644
--- a/tests/functional/u/use/use_implicit_booleaness_not_comparison.txt
+++ b/tests/functional/u/use/use_implicit_booleaness_not_comparison.txt
@@ -1,30 +1,30 @@
-use-implicit-booleaness-not-comparison:14:7:github_issue_4774:'bad_list == []' can be simplified to 'not bad_list' as an empty sequence is falsey:HIGH
-use-implicit-booleaness-not-comparison:22:3::'empty_tuple == ()' can be simplified to 'not empty_tuple' as an empty sequence is falsey:HIGH
-use-implicit-booleaness-not-comparison:25:3::'empty_list == []' can be simplified to 'not empty_list' as an empty sequence is falsey:HIGH
-use-implicit-booleaness-not-comparison:28:3::'empty_dict == {}' can be simplified to 'not empty_dict' as an empty sequence is falsey:HIGH
-use-implicit-booleaness-not-comparison:31:3::'empty_tuple == ()' can be simplified to 'not empty_tuple' as an empty sequence is falsey:HIGH
-use-implicit-booleaness-not-comparison:34:3::'empty_list == []' can be simplified to 'not empty_list' as an empty sequence is falsey:HIGH
-use-implicit-booleaness-not-comparison:37:3::'empty_dict == {}' can be simplified to 'not empty_dict' as an empty sequence is falsey:HIGH
-use-implicit-booleaness-not-comparison:42:11:bad_tuple_return:'t == ()' can be simplified to 'not t' as an empty sequence is falsey:HIGH
-use-implicit-booleaness-not-comparison:46:11:bad_list_return:'b == []' can be simplified to 'not b' as an empty sequence is falsey:HIGH
-use-implicit-booleaness-not-comparison:50:11:bad_dict_return:'c == {}' can be simplified to 'not c' as an empty sequence is falsey:HIGH
-use-implicit-booleaness-not-comparison:52:7::'empty_tuple == ()' can be simplified to 'not empty_tuple' as an empty sequence is falsey:HIGH
-use-implicit-booleaness-not-comparison:53:7::'empty_list == []' can be simplified to 'not empty_list' as an empty sequence is falsey:HIGH
-use-implicit-booleaness-not-comparison:54:7::'empty_dict != {}' can be simplified to 'empty_dict' as an empty sequence is falsey:HIGH
-use-implicit-booleaness-not-comparison:55:7::'empty_tuple < ()' can be simplified to 'not empty_tuple' as an empty sequence is falsey:HIGH
-use-implicit-booleaness-not-comparison:56:7::'empty_list <= []' can be simplified to 'not empty_list' as an empty sequence is falsey:HIGH
-use-implicit-booleaness-not-comparison:57:7::'empty_tuple > ()' can be simplified to 'not empty_tuple' as an empty sequence is falsey:HIGH
-use-implicit-booleaness-not-comparison:58:7::'empty_list >= []' can be simplified to 'not empty_list' as an empty sequence is falsey:HIGH
-use-implicit-booleaness-not-comparison:83:3::'a == []' can be simplified to 'not a' as an empty sequence is falsey:HIGH
-use-implicit-booleaness-not-comparison:95:3::'e == []' can be simplified to 'not e' as an empty sequence is falsey:HIGH
-use-implicit-booleaness-not-comparison:95:15::'f == {}' can be simplified to 'not f' as an empty sequence is falsey:HIGH
-use-implicit-booleaness-not-comparison:133:3::'A.lst == []' can be simplified to 'not A.lst' as an empty sequence is falsey:HIGH
-use-implicit-booleaness-not-comparison:137:3::'A.lst == []' can be simplified to 'not A.lst' as an empty sequence is falsey:HIGH
-use-implicit-booleaness-not-comparison:141:3::'A.test(...) == []' can be simplified to 'not A.test(...)' as an empty sequence is falsey:HIGH
-use-implicit-booleaness-not-comparison:149:3::'test_function(...) == []' can be simplified to 'not test_function(...)' as an empty sequence is falsey:HIGH
-use-implicit-booleaness-not-comparison:156:3::'numpy_array == []' can be simplified to 'not numpy_array' as an empty sequence is falsey:HIGH
-use-implicit-booleaness-not-comparison:158:3::'numpy_array != []' can be simplified to 'numpy_array' as an empty sequence is falsey:HIGH
-use-implicit-booleaness-not-comparison:160:3::'numpy_array >= ()' can be simplified to 'not numpy_array' as an empty sequence is falsey:HIGH
-use-implicit-booleaness-not-comparison:185:3::'data == {}' can be simplified to 'not data' as an empty sequence is falsey:HIGH
-use-implicit-booleaness-not-comparison:187:3::'data != {}' can be simplified to 'data' as an empty sequence is falsey:HIGH
-use-implicit-booleaness-not-comparison:195:3::'long_test == {}' can be simplified to 'not long_test' as an empty sequence is falsey:HIGH
+use-implicit-booleaness-not-comparison:14:7:14:21:github_issue_4774:'bad_list == []' can be simplified to 'not bad_list' as an empty sequence is falsey:UNDEFINED
+use-implicit-booleaness-not-comparison:22:3:22:20::'empty_tuple == ()' can be simplified to 'not empty_tuple' as an empty sequence is falsey:UNDEFINED
+use-implicit-booleaness-not-comparison:25:3:25:19::'empty_list == []' can be simplified to 'not empty_list' as an empty sequence is falsey:UNDEFINED
+use-implicit-booleaness-not-comparison:28:3:28:19::'empty_dict == {}' can be simplified to 'not empty_dict' as an empty sequence is falsey:UNDEFINED
+use-implicit-booleaness-not-comparison:31:3:31:20::'empty_tuple == ()' can be simplified to 'not empty_tuple' as an empty sequence is falsey:UNDEFINED
+use-implicit-booleaness-not-comparison:34:3:34:19::'empty_list == []' can be simplified to 'not empty_list' as an empty sequence is falsey:UNDEFINED
+use-implicit-booleaness-not-comparison:37:3:37:19::'empty_dict == {}' can be simplified to 'not empty_dict' as an empty sequence is falsey:UNDEFINED
+use-implicit-booleaness-not-comparison:42:11:42:18:bad_tuple_return:'t == ()' can be simplified to 'not t' as an empty sequence is falsey:UNDEFINED
+use-implicit-booleaness-not-comparison:46:11:46:18:bad_list_return:'b == []' can be simplified to 'not b' as an empty sequence is falsey:UNDEFINED
+use-implicit-booleaness-not-comparison:50:11:50:18:bad_dict_return:'c == {}' can be simplified to 'not c' as an empty sequence is falsey:UNDEFINED
+use-implicit-booleaness-not-comparison:52:7:52:24::'empty_tuple == ()' can be simplified to 'not empty_tuple' as an empty sequence is falsey:UNDEFINED
+use-implicit-booleaness-not-comparison:53:7:53:23::'empty_list == []' can be simplified to 'not empty_list' as an empty sequence is falsey:UNDEFINED
+use-implicit-booleaness-not-comparison:54:7:54:23::'empty_dict != {}' can be simplified to 'empty_dict' as an empty sequence is falsey:UNDEFINED
+use-implicit-booleaness-not-comparison:55:7:55:23::'empty_tuple < ()' can be simplified to 'not empty_tuple' as an empty sequence is falsey:UNDEFINED
+use-implicit-booleaness-not-comparison:56:7:56:23::'empty_list <= []' can be simplified to 'not empty_list' as an empty sequence is falsey:UNDEFINED
+use-implicit-booleaness-not-comparison:57:7:57:23::'empty_tuple > ()' can be simplified to 'not empty_tuple' as an empty sequence is falsey:UNDEFINED
+use-implicit-booleaness-not-comparison:58:7:58:23::'empty_list >= []' can be simplified to 'not empty_list' as an empty sequence is falsey:UNDEFINED
+use-implicit-booleaness-not-comparison:83:3:83:10::'a == []' can be simplified to 'not a' as an empty sequence is falsey:UNDEFINED
+use-implicit-booleaness-not-comparison:95:3:95:10::'e == []' can be simplified to 'not e' as an empty sequence is falsey:UNDEFINED
+use-implicit-booleaness-not-comparison:95:15:95:22::'f == {}' can be simplified to 'not f' as an empty sequence is falsey:UNDEFINED
+use-implicit-booleaness-not-comparison:133:3:133:14::'A.lst == []' can be simplified to 'not A.lst' as an empty sequence is falsey:UNDEFINED
+use-implicit-booleaness-not-comparison:137:3:137:14::'A.lst == []' can be simplified to 'not A.lst' as an empty sequence is falsey:UNDEFINED
+use-implicit-booleaness-not-comparison:141:3:141:20::'A.test(...) == []' can be simplified to 'not A.test(...)' as an empty sequence is falsey:UNDEFINED
+use-implicit-booleaness-not-comparison:149:3:149:24::'test_function(...) == []' can be simplified to 'not test_function(...)' as an empty sequence is falsey:UNDEFINED
+use-implicit-booleaness-not-comparison:156:3:156:20::'numpy_array == []' can be simplified to 'not numpy_array' as an empty sequence is falsey:UNDEFINED
+use-implicit-booleaness-not-comparison:158:3:158:20::'numpy_array != []' can be simplified to 'numpy_array' as an empty sequence is falsey:UNDEFINED
+use-implicit-booleaness-not-comparison:160:3:160:20::'numpy_array >= ()' can be simplified to 'not numpy_array' as an empty sequence is falsey:UNDEFINED
+use-implicit-booleaness-not-comparison:185:3:185:13::'data == {}' can be simplified to 'not data' as an empty sequence is falsey:UNDEFINED
+use-implicit-booleaness-not-comparison:187:3:187:13::'data != {}' can be simplified to 'data' as an empty sequence is falsey:UNDEFINED
+use-implicit-booleaness-not-comparison:195:3:195:26::'long_test == {}' can be simplified to 'not long_test' as an empty sequence is falsey:UNDEFINED
diff --git a/tests/functional/u/use/use_implicit_booleaness_not_len.txt b/tests/functional/u/use/use_implicit_booleaness_not_len.txt
index f5020c80e..cb77a1f79 100644
--- a/tests/functional/u/use/use_implicit_booleaness_not_len.txt
+++ b/tests/functional/u/use/use_implicit_booleaness_not_len.txt
@@ -1,25 +1,25 @@
-use-implicit-booleaness-not-len:4:3::Do not use `len(SEQUENCE)` without comparison to determine if a sequence is empty:HIGH
-use-implicit-booleaness-not-len:7:3::Do not use `len(SEQUENCE)` without comparison to determine if a sequence is empty:HIGH
-use-implicit-booleaness-not-len:11:9::Do not use `len(SEQUENCE)` without comparison to determine if a sequence is empty:HIGH
-use-implicit-booleaness-not-len:14:11::Do not use `len(SEQUENCE)` without comparison to determine if a sequence is empty:HIGH
-use-implicit-booleaness-not-len:55:5::Do not use `len(SEQUENCE)` without comparison to determine if a sequence is empty:HIGH
-use-implicit-booleaness-not-len:60:5::Do not use `len(SEQUENCE)` without comparison to determine if a sequence is empty:HIGH
-use-implicit-booleaness-not-len:63:6::Do not use `len(SEQUENCE)` without comparison to determine if a sequence is empty:HIGH
-use-implicit-booleaness-not-len:66:6::Do not use `len(SEQUENCE)` without comparison to determine if a sequence is empty:HIGH
-use-implicit-booleaness-not-len:69:12::Do not use `len(SEQUENCE)` without comparison to determine if a sequence is empty:HIGH
-use-implicit-booleaness-not-len:72:6::Do not use `len(SEQUENCE)` without comparison to determine if a sequence is empty:HIGH
-use-implicit-booleaness-not-len:95:11:github_issue_1331_v2:Do not use `len(SEQUENCE)` without comparison to determine if a sequence is empty:HIGH
-use-implicit-booleaness-not-len:98:11:github_issue_1331_v3:Do not use `len(SEQUENCE)` without comparison to determine if a sequence is empty:HIGH
-use-implicit-booleaness-not-len:101:17:github_issue_1331_v4:Do not use `len(SEQUENCE)` without comparison to determine if a sequence is empty:HIGH
-use-implicit-booleaness-not-len:103:9::Do not use `len(SEQUENCE)` without comparison to determine if a sequence is empty:HIGH
-use-implicit-booleaness-not-len:104:9::Do not use `len(SEQUENCE)` without comparison to determine if a sequence is empty:HIGH
-use-implicit-booleaness-not-len:123:11:github_issue_1879:Do not use `len(SEQUENCE)` without comparison to determine if a sequence is empty:HIGH
-use-implicit-booleaness-not-len:124:11:github_issue_1879:Do not use `len(SEQUENCE)` without comparison to determine if a sequence is empty:HIGH
-use-implicit-booleaness-not-len:125:11:github_issue_1879:Do not use `len(SEQUENCE)` without comparison to determine if a sequence is empty:HIGH
-use-implicit-booleaness-not-len:126:11:github_issue_1879:Do not use `len(SEQUENCE)` without comparison to determine if a sequence is empty:HIGH
-use-implicit-booleaness-not-len:127:11:github_issue_1879:Do not use `len(SEQUENCE)` without comparison to determine if a sequence is empty:HIGH
-use-implicit-booleaness-not-len:128:11:github_issue_1879:Do not use `len(SEQUENCE)` without comparison to determine if a sequence is empty:HIGH
-use-implicit-booleaness-not-len:129:11:github_issue_1879:Do not use `len(SEQUENCE)` without comparison to determine if a sequence is empty:HIGH
-use-implicit-booleaness-not-len:170:11:github_issue_1879:Do not use `len(SEQUENCE)` without comparison to determine if a sequence is empty:HIGH
-undefined-variable:182:11:github_issue_4215:Undefined variable 'undefined_var':HIGH
-undefined-variable:184:11:github_issue_4215:Undefined variable 'undefined_var2':HIGH
+use-implicit-booleaness-not-len:4:3:4:14::Do not use `len(SEQUENCE)` without comparison to determine if a sequence is empty:UNDEFINED
+use-implicit-booleaness-not-len:7:3:7:18::Do not use `len(SEQUENCE)` without comparison to determine if a sequence is empty:UNDEFINED
+use-implicit-booleaness-not-len:11:9:11:34::Do not use `len(SEQUENCE)` without comparison to determine if a sequence is empty:UNDEFINED
+use-implicit-booleaness-not-len:14:11:14:22::Do not use `len(SEQUENCE)` without comparison to determine if a sequence is empty:UNDEFINED
+use-implicit-booleaness-not-len:55:5:55:16::Do not use `len(SEQUENCE)` without comparison to determine if a sequence is empty:UNDEFINED
+use-implicit-booleaness-not-len:60:5:60:20::Do not use `len(SEQUENCE)` without comparison to determine if a sequence is empty:UNDEFINED
+use-implicit-booleaness-not-len:63:6:63:17::Do not use `len(SEQUENCE)` without comparison to determine if a sequence is empty:UNDEFINED
+use-implicit-booleaness-not-len:66:6:66:21::Do not use `len(SEQUENCE)` without comparison to determine if a sequence is empty:UNDEFINED
+use-implicit-booleaness-not-len:69:12:69:23::Do not use `len(SEQUENCE)` without comparison to determine if a sequence is empty:UNDEFINED
+use-implicit-booleaness-not-len:72:6:72:21::Do not use `len(SEQUENCE)` without comparison to determine if a sequence is empty:UNDEFINED
+use-implicit-booleaness-not-len:95:11:95:20:github_issue_1331_v2:Do not use `len(SEQUENCE)` without comparison to determine if a sequence is empty:UNDEFINED
+use-implicit-booleaness-not-len:98:11:98:20:github_issue_1331_v3:Do not use `len(SEQUENCE)` without comparison to determine if a sequence is empty:UNDEFINED
+use-implicit-booleaness-not-len:101:17:101:26:github_issue_1331_v4:Do not use `len(SEQUENCE)` without comparison to determine if a sequence is empty:UNDEFINED
+use-implicit-booleaness-not-len:103:9:103:15::Do not use `len(SEQUENCE)` without comparison to determine if a sequence is empty:UNDEFINED
+use-implicit-booleaness-not-len:104:9:104:20::Do not use `len(SEQUENCE)` without comparison to determine if a sequence is empty:UNDEFINED
+use-implicit-booleaness-not-len:123:11:123:34:github_issue_1879:Do not use `len(SEQUENCE)` without comparison to determine if a sequence is empty:UNDEFINED
+use-implicit-booleaness-not-len:124:11:124:39:github_issue_1879:Do not use `len(SEQUENCE)` without comparison to determine if a sequence is empty:UNDEFINED
+use-implicit-booleaness-not-len:125:11:125:24:github_issue_1879:Do not use `len(SEQUENCE)` without comparison to determine if a sequence is empty:UNDEFINED
+use-implicit-booleaness-not-len:126:11:126:35:github_issue_1879:Do not use `len(SEQUENCE)` without comparison to determine if a sequence is empty:UNDEFINED
+use-implicit-booleaness-not-len:127:11:127:33:github_issue_1879:Do not use `len(SEQUENCE)` without comparison to determine if a sequence is empty:UNDEFINED
+use-implicit-booleaness-not-len:128:11:128:41:github_issue_1879:Do not use `len(SEQUENCE)` without comparison to determine if a sequence is empty:UNDEFINED
+use-implicit-booleaness-not-len:129:11:129:43:github_issue_1879:Do not use `len(SEQUENCE)` without comparison to determine if a sequence is empty:UNDEFINED
+use-implicit-booleaness-not-len:170:11:170:42:github_issue_1879:Do not use `len(SEQUENCE)` without comparison to determine if a sequence is empty:UNDEFINED
+undefined-variable:182:11:182:24:github_issue_4215:Undefined variable 'undefined_var':UNDEFINED
+undefined-variable:184:11:184:25:github_issue_4215:Undefined variable 'undefined_var2':UNDEFINED
diff --git a/tests/functional/u/use/use_literal_dict.txt b/tests/functional/u/use/use_literal_dict.txt
index eede5530d..cbcb83f24 100644
--- a/tests/functional/u/use/use_literal_dict.txt
+++ b/tests/functional/u/use/use_literal_dict.txt
@@ -1 +1 @@
-use-dict-literal:3:4::"Consider using {} instead of dict()"
+use-dict-literal:3:4:3:10::Consider using {} instead of dict():UNDEFINED
diff --git a/tests/functional/u/use/use_literal_list.txt b/tests/functional/u/use/use_literal_list.txt
index 07987027d..897e139a1 100644
--- a/tests/functional/u/use/use_literal_list.txt
+++ b/tests/functional/u/use/use_literal_list.txt
@@ -1 +1 @@
-use-list-literal:3:4::"Consider using [] instead of list()"
+use-list-literal:3:4:3:10::Consider using [] instead of list():UNDEFINED
diff --git a/tests/functional/u/use/use_maxsplit_arg.txt b/tests/functional/u/use/use_maxsplit_arg.txt
index 8137374aa..d9c108446 100644
--- a/tests/functional/u/use/use_maxsplit_arg.txt
+++ b/tests/functional/u/use/use_maxsplit_arg.txt
@@ -1,21 +1,21 @@
-use-maxsplit-arg:5:12::Use '1,2,3'.split(',', maxsplit=1)[0] instead
-use-maxsplit-arg:6:11::"Use '1,2,3'[::-1].split(',', maxsplit=1)[0] instead"
-use-maxsplit-arg:9:12::Use SEQ.split(',', maxsplit=1)[0] instead
-use-maxsplit-arg:10:11::Use SEQ.rsplit(',', maxsplit=1)[-1] instead
-use-maxsplit-arg:11:12::Use SEQ.split(',', maxsplit=1)[0] instead
-use-maxsplit-arg:12:11::Use SEQ.rsplit(',', maxsplit=1)[-1] instead
-use-maxsplit-arg:45:12::Use Foo.class_str.split(',', maxsplit=1)[0] instead
-use-maxsplit-arg:46:11::Use Foo.class_str.rsplit(',', maxsplit=1)[-1] instead
-use-maxsplit-arg:47:12::Use Foo.class_str.split(',', maxsplit=1)[0] instead
-use-maxsplit-arg:48:11::Use Foo.class_str.rsplit(',', maxsplit=1)[-1] instead
-use-maxsplit-arg:56:12::Use bar.get_string().split(',', maxsplit=1)[0] instead
-use-maxsplit-arg:57:11::Use bar.get_string().rsplit(',', maxsplit=1)[-1] instead
-use-maxsplit-arg:66:10::Use s.split(' ', maxsplit=1)[0] instead
-use-maxsplit-arg:67:10::Use s.rsplit(' ', maxsplit=1)[-1] instead
-use-maxsplit-arg:76:6::Use Bar.split.split(',', maxsplit=1)[0] instead
-use-maxsplit-arg:77:6::Use Bar.split.rsplit(',', maxsplit=1)[-1] instead
-use-maxsplit-arg:78:6::Use Bar.split.split(',', maxsplit=1)[0] instead
-use-maxsplit-arg:79:6::Use Bar.split.rsplit(',', maxsplit=1)[-1] instead
-use-maxsplit-arg:82:4::Use '1,2,3'.split('\n', maxsplit=1)[0] instead
-use-maxsplit-arg:83:4::Use '1,2,3'.rsplit('split', maxsplit=1)[-1] instead
-use-maxsplit-arg:84:4::Use '1,2,3'.split('rsplit', maxsplit=1)[0] instead
+use-maxsplit-arg:5:12:5:30::Use '1,2,3'.split(',', maxsplit=1)[0] instead:UNDEFINED
+use-maxsplit-arg:6:11:6:35::"Use '1,2,3'[::-1].split(',', maxsplit=1)[0] instead":UNDEFINED
+use-maxsplit-arg:9:12:9:26::Use SEQ.split(',', maxsplit=1)[0] instead:UNDEFINED
+use-maxsplit-arg:10:11:10:25::Use SEQ.rsplit(',', maxsplit=1)[-1] instead:UNDEFINED
+use-maxsplit-arg:11:12:11:27::Use SEQ.split(',', maxsplit=1)[0] instead:UNDEFINED
+use-maxsplit-arg:12:11:12:26::Use SEQ.rsplit(',', maxsplit=1)[-1] instead:UNDEFINED
+use-maxsplit-arg:45:12:45:36::Use Foo.class_str.split(',', maxsplit=1)[0] instead:UNDEFINED
+use-maxsplit-arg:46:11:46:35::Use Foo.class_str.rsplit(',', maxsplit=1)[-1] instead:UNDEFINED
+use-maxsplit-arg:47:12:47:37::Use Foo.class_str.split(',', maxsplit=1)[0] instead:UNDEFINED
+use-maxsplit-arg:48:11:48:36::Use Foo.class_str.rsplit(',', maxsplit=1)[-1] instead:UNDEFINED
+use-maxsplit-arg:56:12:56:39::Use bar.get_string().split(',', maxsplit=1)[0] instead:UNDEFINED
+use-maxsplit-arg:57:11:57:38::Use bar.get_string().rsplit(',', maxsplit=1)[-1] instead:UNDEFINED
+use-maxsplit-arg:66:10:66:22::Use s.split(' ', maxsplit=1)[0] instead:UNDEFINED
+use-maxsplit-arg:67:10:67:22::Use s.rsplit(' ', maxsplit=1)[-1] instead:UNDEFINED
+use-maxsplit-arg:76:6:76:26::Use Bar.split.split(',', maxsplit=1)[0] instead:UNDEFINED
+use-maxsplit-arg:77:6:77:26::Use Bar.split.rsplit(',', maxsplit=1)[-1] instead:UNDEFINED
+use-maxsplit-arg:78:6:78:27::Use Bar.split.split(',', maxsplit=1)[0] instead:UNDEFINED
+use-maxsplit-arg:79:6:79:27::Use Bar.split.rsplit(',', maxsplit=1)[-1] instead:UNDEFINED
+use-maxsplit-arg:82:4:82:23::Use '1,2,3'.split('\n', maxsplit=1)[0] instead:UNDEFINED
+use-maxsplit-arg:83:4:83:26::Use '1,2,3'.rsplit('split', maxsplit=1)[-1] instead:UNDEFINED
+use-maxsplit-arg:84:4:84:28::Use '1,2,3'.split('rsplit', maxsplit=1)[0] instead:UNDEFINED
diff --git a/tests/functional/u/use/use_sequence_for_iteration.txt b/tests/functional/u/use/use_sequence_for_iteration.txt
index 615df8a30..beb23a4df 100644
--- a/tests/functional/u/use/use_sequence_for_iteration.txt
+++ b/tests/functional/u/use/use_sequence_for_iteration.txt
@@ -1,4 +1,4 @@
-use-sequence-for-iteration:7:9::Use a sequence type when iterating over values:HIGH
-use-sequence-for-iteration:11:12::Use a sequence type when iterating over values:HIGH
-use-sequence-for-iteration:14:12::Use a sequence type when iterating over values:HIGH
-use-sequence-for-iteration:16:12::Use a sequence type when iterating over values:HIGH
+use-sequence-for-iteration:7:9:7:18::Use a sequence type when iterating over values:UNDEFINED
+use-sequence-for-iteration:11:12:11:21::Use a sequence type when iterating over values:UNDEFINED
+use-sequence-for-iteration:14:12:14:21::Use a sequence type when iterating over values:UNDEFINED
+use-sequence-for-iteration:16:12:16:21::Use a sequence type when iterating over values:UNDEFINED
diff --git a/tests/functional/u/use/use_symbolic_message_instead.txt b/tests/functional/u/use/use_symbolic_message_instead.txt
index ba4b729f6..bbc1f24bd 100644
--- a/tests/functional/u/use/use_symbolic_message_instead.txt
+++ b/tests/functional/u/use/use_symbolic_message_instead.txt
@@ -1,14 +1,14 @@
-bad-option-value:1:0::Bad option value 'T1234':HIGH
-use-symbolic-message-instead:1:0::"'C0111' is cryptic: use '# pylint: disable=missing-docstring' instead":HIGH
-use-symbolic-message-instead:1:0::"'R0903' is cryptic: use '# pylint: disable=too-few-public-methods' instead":HIGH
-use-symbolic-message-instead:2:0::"'c0111' is cryptic: use '# pylint: enable=missing-docstring' instead":HIGH
-use-symbolic-message-instead:2:0::"'w0223' is cryptic: use '# pylint: enable=abstract-method' instead":HIGH
-missing-function-docstring:4:0:my_function:Missing function or method docstring:HIGH
-use-symbolic-message-instead:7:0::"'C0111' is cryptic: use '# pylint: disable=missing-docstring' instead":HIGH
-use-symbolic-message-instead:8:0::"'R0903' is cryptic: use '# pylint: enable=too-few-public-methods' instead":HIGH
-use-symbolic-message-instead:9:0::"'R0903' is cryptic: use '# pylint: disable=too-few-public-methods' instead":HIGH
-use-symbolic-message-instead:12:0::"'C0102' is cryptic: use '# pylint: disable=blacklisted-name' instead":HIGH
-use-symbolic-message-instead:16:0::"'C0102' is cryptic: use '# pylint: disable=blacklisted-name' instead":HIGH
-use-symbolic-message-instead:16:0::"'R1711' is cryptic: use '# pylint: disable=useless-return' instead":HIGH
-missing-function-docstring:20:0:test_enabled_by_id_msg:Missing function or method docstring:HIGH
-use-symbolic-message-instead:20:0::"'C0111' is cryptic: use '# pylint: enable=missing-docstring' instead":HIGH
+bad-option-value:1:0:None:None::Bad option value 'T1234':UNDEFINED
+use-symbolic-message-instead:1:0:None:None::"'C0111' is cryptic: use '# pylint: disable=missing-docstring' instead":UNDEFINED
+use-symbolic-message-instead:1:0:None:None::"'R0903' is cryptic: use '# pylint: disable=too-few-public-methods' instead":UNDEFINED
+use-symbolic-message-instead:2:0:None:None::"'c0111' is cryptic: use '# pylint: enable=missing-docstring' instead":UNDEFINED
+use-symbolic-message-instead:2:0:None:None::"'w0223' is cryptic: use '# pylint: enable=abstract-method' instead":UNDEFINED
+missing-function-docstring:4:0:5:22:my_function:Missing function or method docstring:HIGH
+use-symbolic-message-instead:7:0:None:None::"'C0111' is cryptic: use '# pylint: disable=missing-docstring' instead":UNDEFINED
+use-symbolic-message-instead:8:0:None:None::"'R0903' is cryptic: use '# pylint: enable=too-few-public-methods' instead":UNDEFINED
+use-symbolic-message-instead:9:0:None:None::"'R0903' is cryptic: use '# pylint: disable=too-few-public-methods' instead":UNDEFINED
+use-symbolic-message-instead:12:0:None:None::"'C0102' is cryptic: use '# pylint: disable=blacklisted-name' instead":UNDEFINED
+use-symbolic-message-instead:16:0:None:None::"'C0102' is cryptic: use '# pylint: disable=blacklisted-name' instead":UNDEFINED
+use-symbolic-message-instead:16:0:None:None::"'R1711' is cryptic: use '# pylint: disable=useless-return' instead":UNDEFINED
+missing-function-docstring:20:0:21:8:test_enabled_by_id_msg:Missing function or method docstring:HIGH
+use-symbolic-message-instead:20:0:None:None::"'C0111' is cryptic: use '# pylint: enable=missing-docstring' instead":UNDEFINED
diff --git a/tests/functional/u/use/used_before_assignment.txt b/tests/functional/u/use/used_before_assignment.txt
index 096144dc7..f654f261c 100644
--- a/tests/functional/u/use/used_before_assignment.txt
+++ b/tests/functional/u/use/used_before_assignment.txt
@@ -1,5 +1,5 @@
-used-before-assignment:8:19::Using variable 'MSG' before assignment:HIGH
-used-before-assignment:10:20::Using variable 'MSG2' before assignment:HIGH
-used-before-assignment:17:21:MyClass.incorrect_typing_method:Using variable 'MyClass' before assignment:HIGH
-used-before-assignment:22:26:MyClass.incorrect_nested_typing_method:Using variable 'MyClass' before assignment:HIGH
-used-before-assignment:27:20:MyClass.incorrect_default_method:Using variable 'MyClass' before assignment:HIGH
+used-before-assignment:8:19:8:22::Using variable 'MSG' before assignment:UNDEFINED
+used-before-assignment:10:20:10:24::Using variable 'MSG2' before assignment:UNDEFINED
+used-before-assignment:17:21:17:28:MyClass.incorrect_typing_method:Using variable 'MyClass' before assignment:UNDEFINED
+used-before-assignment:22:26:22:33:MyClass.incorrect_nested_typing_method:Using variable 'MyClass' before assignment:UNDEFINED
+used-before-assignment:27:20:27:27:MyClass.incorrect_default_method:Using variable 'MyClass' before assignment:UNDEFINED
diff --git a/tests/functional/u/use/used_before_assignment_issue1081.txt b/tests/functional/u/use/used_before_assignment_issue1081.txt
index 4d43c4ad2..0aa266877 100644
--- a/tests/functional/u/use/used_before_assignment_issue1081.txt
+++ b/tests/functional/u/use/used_before_assignment_issue1081.txt
@@ -1,7 +1,7 @@
-used-before-assignment:7:7:used_before_assignment_1:Using variable 'x' before assignment
-redefined-outer-name:8:12:used_before_assignment_1:Redefining name 'x' from outer scope (line 3)
-used-before-assignment:13:7:used_before_assignment_2:Using variable 'x' before assignment
-redefined-outer-name:15:4:used_before_assignment_2:Redefining name 'x' from outer scope (line 3)
-used-before-assignment:19:7:used_before_assignment_3:Using variable 'x' before assignment
-redefined-outer-name:21:12:used_before_assignment_3:Redefining name 'x' from outer scope (line 3)
-redefined-outer-name:30:4:not_used_before_assignment_2:Redefining name 'x' from outer scope (line 3)
+used-before-assignment:7:7:7:8:used_before_assignment_1:Using variable 'x' before assignment:UNDEFINED
+redefined-outer-name:8:12:8:13:used_before_assignment_1:Redefining name 'x' from outer scope (line 3):UNDEFINED
+used-before-assignment:13:7:13:8:used_before_assignment_2:Using variable 'x' before assignment:UNDEFINED
+redefined-outer-name:15:4:15:5:used_before_assignment_2:Redefining name 'x' from outer scope (line 3):UNDEFINED
+used-before-assignment:19:7:19:8:used_before_assignment_3:Using variable 'x' before assignment:UNDEFINED
+redefined-outer-name:21:12:21:13:used_before_assignment_3:Redefining name 'x' from outer scope (line 3):UNDEFINED
+redefined-outer-name:30:4:30:5:not_used_before_assignment_2:Redefining name 'x' from outer scope (line 3):UNDEFINED
diff --git a/tests/functional/u/use/used_before_assignment_issue626.txt b/tests/functional/u/use/used_before_assignment_issue626.txt
index e7e56c195..43b86e264 100644
--- a/tests/functional/u/use/used_before_assignment_issue626.txt
+++ b/tests/functional/u/use/used_before_assignment_issue626.txt
@@ -1,5 +1,5 @@
-unused-variable:5:4:main1:Unused variable 'e'
-used-before-assignment:8:10:main1:Using variable 'e' before assignment
-unused-variable:21:4:main3:Unused variable 'e'
-unused-variable:31:4:main4:Unused variable 'e'
-used-before-assignment:44:10:main4:Using variable 'e' before assignment
+unused-variable:5:4:6:12:main1:Unused variable 'e':UNDEFINED
+used-before-assignment:8:10:8:11:main1:Using variable 'e' before assignment:UNDEFINED
+unused-variable:21:4:22:12:main3:Unused variable 'e':UNDEFINED
+unused-variable:31:4:32:12:main4:Unused variable 'e':UNDEFINED
+used-before-assignment:44:10:44:11:main4:Using variable 'e' before assignment:UNDEFINED
diff --git a/tests/functional/u/use/used_before_assignment_nonlocal.txt b/tests/functional/u/use/used_before_assignment_nonlocal.txt
index 59aa0756d..95bc19b6c 100644
--- a/tests/functional/u/use/used_before_assignment_nonlocal.txt
+++ b/tests/functional/u/use/used_before_assignment_nonlocal.txt
@@ -1,6 +1,6 @@
-used-before-assignment:18:14:test_fail.wrap:Using variable 'cnt' before assignment
-used-before-assignment:27:14:test_fail2.wrap:Using variable 'cnt' before assignment
-used-before-assignment:30:20:test_fail3:Using variable 'test_fail4' before assignment
-used-before-assignment:34:22:test_fail4:Using variable 'test_fail5' before assignment
-used-before-assignment:34:44:test_fail4:Using variable 'undefined' before assignment
-used-before-assignment:40:18:test_fail5:Using variable 'undefined1' before assignment
+used-before-assignment:18:14:18:17:test_fail.wrap:Using variable 'cnt' before assignment:UNDEFINED
+used-before-assignment:27:14:27:17:test_fail2.wrap:Using variable 'cnt' before assignment:UNDEFINED
+used-before-assignment:30:20:30:30:test_fail3:Using variable 'test_fail4' before assignment:UNDEFINED
+used-before-assignment:34:22:34:32:test_fail4:Using variable 'test_fail5' before assignment:UNDEFINED
+used-before-assignment:34:44:34:53:test_fail4:Using variable 'undefined' before assignment:UNDEFINED
+used-before-assignment:40:18:40:28:test_fail5:Using variable 'undefined1' before assignment:UNDEFINED
diff --git a/tests/functional/u/use/used_before_assignment_py37.txt b/tests/functional/u/use/used_before_assignment_py37.txt
index ec4fb036b..f819720f3 100644
--- a/tests/functional/u/use/used_before_assignment_py37.txt
+++ b/tests/functional/u/use/used_before_assignment_py37.txt
@@ -1 +1 @@
-used-before-assignment:17:20:MyClass.incorrect_default_method:Using variable 'MyClass' before assignment:HIGH
+used-before-assignment:17:20:17:27:MyClass.incorrect_default_method:Using variable 'MyClass' before assignment:UNDEFINED
diff --git a/tests/functional/u/use/used_prior_global_declaration.txt b/tests/functional/u/use/used_prior_global_declaration.txt
index 2354e0ef8..314d85234 100644
--- a/tests/functional/u/use/used_prior_global_declaration.txt
+++ b/tests/functional/u/use/used_prior_global_declaration.txt
@@ -1 +1 @@
-used-prior-global-declaration:8:4:test:Name 'CONST' is used prior to global declaration
+used-prior-global-declaration:8:4:8:9:test:Name 'CONST' is used prior to global declaration:UNDEFINED
diff --git a/tests/functional/u/use/using_constant_test.txt b/tests/functional/u/use/using_constant_test.txt
index 9d112272f..df53a28a4 100644
--- a/tests/functional/u/use/using_constant_test.txt
+++ b/tests/functional/u/use/using_constant_test.txt
@@ -1,26 +1,26 @@
-using-constant-test:22:0::Using a conditional statement with a constant value
-using-constant-test:26:0::Using a conditional statement with a constant value
-using-constant-test:29:0::Using a conditional statement with a constant value
-using-constant-test:32:0::Using a conditional statement with a constant value
-using-constant-test:35:0::Using a conditional statement with a constant value
-using-constant-test:38:0::Using a conditional statement with a constant value
-using-constant-test:41:0::Using a conditional statement with a constant value
-using-constant-test:44:0::Using a conditional statement with a constant value
-using-constant-test:47:0::Using a conditional statement with a constant value
-using-constant-test:50:0::Using a conditional statement with a constant value
-using-constant-test:53:0::Using a conditional statement with a constant value
-using-constant-test:56:0::Using a conditional statement with a constant value
-using-constant-test:59:0::Using a conditional statement with a constant value
-using-constant-test:62:0::Using a conditional statement with a constant value
-using-constant-test:65:0::Using a conditional statement with a constant value
-using-constant-test:68:0::Using a conditional statement with a constant value
-using-constant-test:73:0::Using a conditional statement with a constant value
-using-constant-test:76:3::Using a conditional statement with a constant value
-using-constant-test:80:0:test_comprehensions:Using a conditional statement with a constant value
-using-constant-test:81:0:test_comprehensions:Using a conditional statement with a constant value
-using-constant-test:82:0:test_comprehensions:Using a conditional statement with a constant value
-using-constant-test:83:0:test_comprehensions:Using a conditional statement with a constant value
-using-constant-test:84:0:test_comprehensions:Using a conditional statement with a constant value
-using-constant-test:85:0:test_comprehensions:Using a conditional statement with a constant value
-using-constant-test:89:0::Using a conditional statement with a constant value
-using-constant-test:93:0::Using a conditional statement with a constant value
+using-constant-test:22:0:23:8::Using a conditional statement with a constant value:UNDEFINED
+using-constant-test:26:0:27:8::Using a conditional statement with a constant value:UNDEFINED
+using-constant-test:29:0:30:8::Using a conditional statement with a constant value:UNDEFINED
+using-constant-test:32:0:33:8::Using a conditional statement with a constant value:UNDEFINED
+using-constant-test:35:0:36:8::Using a conditional statement with a constant value:UNDEFINED
+using-constant-test:38:0:39:8::Using a conditional statement with a constant value:UNDEFINED
+using-constant-test:41:0:42:8::Using a conditional statement with a constant value:UNDEFINED
+using-constant-test:44:0:45:8::Using a conditional statement with a constant value:UNDEFINED
+using-constant-test:47:0:48:8::Using a conditional statement with a constant value:UNDEFINED
+using-constant-test:50:0:51:8::Using a conditional statement with a constant value:UNDEFINED
+using-constant-test:53:0:54:8::Using a conditional statement with a constant value:UNDEFINED
+using-constant-test:56:0:57:8::Using a conditional statement with a constant value:UNDEFINED
+using-constant-test:59:0:60:8::Using a conditional statement with a constant value:UNDEFINED
+using-constant-test:62:0:63:8::Using a conditional statement with a constant value:UNDEFINED
+using-constant-test:65:0:66:8::Using a conditional statement with a constant value:UNDEFINED
+using-constant-test:68:0:69:8::Using a conditional statement with a constant value:UNDEFINED
+using-constant-test:73:0:74:8::Using a conditional statement with a constant value:UNDEFINED
+using-constant-test:76:3:76:16::Using a conditional statement with a constant value:UNDEFINED
+using-constant-test:80:0:None:None:test_comprehensions:Using a conditional statement with a constant value:UNDEFINED
+using-constant-test:81:0:None:None:test_comprehensions:Using a conditional statement with a constant value:UNDEFINED
+using-constant-test:82:0:None:None:test_comprehensions:Using a conditional statement with a constant value:UNDEFINED
+using-constant-test:83:0:None:None:test_comprehensions:Using a conditional statement with a constant value:UNDEFINED
+using-constant-test:84:0:None:None:test_comprehensions:Using a conditional statement with a constant value:UNDEFINED
+using-constant-test:85:0:None:None:test_comprehensions:Using a conditional statement with a constant value:UNDEFINED
+using-constant-test:89:0:90:8::Using a conditional statement with a constant value:UNDEFINED
+using-constant-test:93:0:94:8::Using a conditional statement with a constant value:UNDEFINED
diff --git a/tests/functional/u/useless/useless_else_on_loop.txt b/tests/functional/u/useless/useless_else_on_loop.txt
index dff8e318a..ac8117ac7 100644
--- a/tests/functional/u/useless/useless_else_on_loop.txt
+++ b/tests/functional/u/useless/useless_else_on_loop.txt
@@ -1,6 +1,6 @@
-useless-else-on-loop:10:4:test_return_for:Else clause on loop without a break statement
-useless-else-on-loop:18:4:test_return_while:Else clause on loop without a break statement
-useless-else-on-loop:28:0::Else clause on loop without a break statement
-useless-else-on-loop:35:0::Else clause on loop without a break statement
-useless-else-on-loop:40:0::Else clause on loop without a break statement
-useless-else-on-loop:87:4:test_break_in_orelse_deep2:Else clause on loop without a break statement
+useless-else-on-loop:10:4:11:31:test_return_for:Else clause on loop without a break statement:UNDEFINED
+useless-else-on-loop:18:4:19:31:test_return_while:Else clause on loop without a break statement:UNDEFINED
+useless-else-on-loop:28:0:29:21::Else clause on loop without a break statement:UNDEFINED
+useless-else-on-loop:35:0:36:21::Else clause on loop without a break statement:UNDEFINED
+useless-else-on-loop:40:0:43:13::Else clause on loop without a break statement:UNDEFINED
+useless-else-on-loop:87:4:88:19:test_break_in_orelse_deep2:Else clause on loop without a break statement:UNDEFINED
diff --git a/tests/functional/u/useless/useless_object_inheritance.txt b/tests/functional/u/useless/useless_object_inheritance.txt
index 1b18607fa..fe3bd2e4a 100644
--- a/tests/functional/u/useless/useless_object_inheritance.txt
+++ b/tests/functional/u/useless/useless_object_inheritance.txt
@@ -1,4 +1,4 @@
-useless-object-inheritance:8:0:A:Class 'A' inherits from object, can be safely removed from bases in python3
-useless-object-inheritance:14:0:C:Class 'C' inherits from object, can be safely removed from bases in python3
-useless-object-inheritance:17:0:D:Class 'D' inherits from object, can be safely removed from bases in python3
-useless-object-inheritance:20:0:E:Class 'E' inherits from object, can be safely removed from bases in python3
+useless-object-inheritance:8:0:9:8:A:Class 'A' inherits from object, can be safely removed from bases in python3:UNDEFINED
+useless-object-inheritance:14:0:15:8:C:Class 'C' inherits from object, can be safely removed from bases in python3:UNDEFINED
+useless-object-inheritance:17:0:18:8:D:Class 'D' inherits from object, can be safely removed from bases in python3:UNDEFINED
+useless-object-inheritance:20:0:21:8:E:Class 'E' inherits from object, can be safely removed from bases in python3:UNDEFINED
diff --git a/tests/functional/u/useless/useless_return.txt b/tests/functional/u/useless/useless_return.txt
index 9299b458a..b64b76be4 100644
--- a/tests/functional/u/useless/useless_return.txt
+++ b/tests/functional/u/useless/useless_return.txt
@@ -1,2 +1,2 @@
-useless-return:4:0:myfunc:Useless return at end of function or method
-useless-return:9:4:SomeClass.mymethod:Useless return at end of function or method
+useless-return:4:0:6:10:myfunc:Useless return at end of function or method:UNDEFINED
+useless-return:9:4:11:19:SomeClass.mymethod:Useless return at end of function or method:UNDEFINED
diff --git a/tests/functional/u/useless/useless_super_delegation.txt b/tests/functional/u/useless/useless_super_delegation.txt
index 0d4b0a1fa..43f52674a 100644
--- a/tests/functional/u/useless/useless_super_delegation.txt
+++ b/tests/functional/u/useless/useless_super_delegation.txt
@@ -1,19 +1,19 @@
-useless-super-delegation:214:4:UselessSuper.equivalent_params:Useless super delegation in method 'equivalent_params'
-useless-super-delegation:217:4:UselessSuper.equivalent_params_1:Useless super delegation in method 'equivalent_params_1'
-useless-super-delegation:220:4:UselessSuper.equivalent_params_2:Useless super delegation in method 'equivalent_params_2'
-useless-super-delegation:223:4:UselessSuper.equivalent_params_3:Useless super delegation in method 'equivalent_params_3'
-useless-super-delegation:226:4:UselessSuper.equivalent_params_4:Useless super delegation in method 'equivalent_params_4'
-useless-super-delegation:229:4:UselessSuper.equivalent_params_5:Useless super delegation in method 'equivalent_params_5'
-useless-super-delegation:232:4:UselessSuper.equivalent_params_6:Useless super delegation in method 'equivalent_params_6'
-useless-super-delegation:235:4:UselessSuper.with_default_argument:Useless super delegation in method 'with_default_argument'
-useless-super-delegation:239:4:UselessSuper.without_default_argument:Useless super delegation in method 'without_default_argument'
-useless-super-delegation:242:4:UselessSuper.with_default_argument_none:Useless super delegation in method 'with_default_argument_none'
-useless-super-delegation:246:4:UselessSuper.with_default_argument_int:Useless super delegation in method 'with_default_argument_int'
-useless-super-delegation:249:4:UselessSuper.with_default_argument_tuple:Useless super delegation in method 'with_default_argument_tuple'
-useless-super-delegation:252:4:UselessSuper.with_default_argument_dict:Useless super delegation in method 'with_default_argument_dict'
-useless-super-delegation:255:4:UselessSuper.with_default_argument_var:Useless super delegation in method 'with_default_argument_var'
-useless-super-delegation:258:4:UselessSuper.__init__:Useless super delegation in method '__init__'
-useless-super-delegation:261:4:UselessSuper.with_default_arg:Useless super delegation in method 'with_default_arg'
-useless-super-delegation:264:4:UselessSuper.with_default_arg_bis:Useless super delegation in method 'with_default_arg_bis'
-useless-super-delegation:267:4:UselessSuper.with_default_arg_ter:Useless super delegation in method 'with_default_arg_ter'
-useless-super-delegation:270:4:UselessSuper.with_default_arg_quad:Useless super delegation in method 'with_default_arg_quad'
+useless-super-delegation:214:4:215:60:UselessSuper.equivalent_params:Useless super delegation in method 'equivalent_params':UNDEFINED
+useless-super-delegation:217:4:218:67:UselessSuper.equivalent_params_1:Useless super delegation in method 'equivalent_params_1':UNDEFINED
+useless-super-delegation:220:4:221:67:UselessSuper.equivalent_params_2:Useless super delegation in method 'equivalent_params_2':UNDEFINED
+useless-super-delegation:223:4:224:77:UselessSuper.equivalent_params_3:Useless super delegation in method 'equivalent_params_3':UNDEFINED
+useless-super-delegation:226:4:227:60:UselessSuper.equivalent_params_4:Useless super delegation in method 'equivalent_params_4':UNDEFINED
+useless-super-delegation:229:4:230:67:UselessSuper.equivalent_params_5:Useless super delegation in method 'equivalent_params_5':UNDEFINED
+useless-super-delegation:232:4:233:84:UselessSuper.equivalent_params_6:Useless super delegation in method 'equivalent_params_6':UNDEFINED
+useless-super-delegation:235:4:237:82:UselessSuper.with_default_argument:Useless super delegation in method 'with_default_argument':UNDEFINED
+useless-super-delegation:239:4:240:80:UselessSuper.without_default_argument:Useless super delegation in method 'without_default_argument':UNDEFINED
+useless-super-delegation:242:4:244:80:UselessSuper.with_default_argument_none:Useless super delegation in method 'with_default_argument_none':UNDEFINED
+useless-super-delegation:246:4:247:79:UselessSuper.with_default_argument_int:Useless super delegation in method 'with_default_argument_int':UNDEFINED
+useless-super-delegation:249:4:250:81:UselessSuper.with_default_argument_tuple:Useless super delegation in method 'with_default_argument_tuple':UNDEFINED
+useless-super-delegation:252:4:253:80:UselessSuper.with_default_argument_dict:Useless super delegation in method 'with_default_argument_dict':UNDEFINED
+useless-super-delegation:255:4:256:79:UselessSuper.with_default_argument_var:Useless super delegation in method 'with_default_argument_var':UNDEFINED
+useless-super-delegation:258:4:259:44:UselessSuper.__init__:Useless super delegation in method '__init__':UNDEFINED
+useless-super-delegation:261:4:262:70:UselessSuper.with_default_arg:Useless super delegation in method 'with_default_arg':UNDEFINED
+useless-super-delegation:264:4:265:74:UselessSuper.with_default_arg_bis:Useless super delegation in method 'with_default_arg_bis':UNDEFINED
+useless-super-delegation:267:4:268:74:UselessSuper.with_default_arg_ter:Useless super delegation in method 'with_default_arg_ter':UNDEFINED
+useless-super-delegation:270:4:271:75:UselessSuper.with_default_arg_quad:Useless super delegation in method 'with_default_arg_quad':UNDEFINED
diff --git a/tests/functional/u/useless/useless_super_delegation_py3.txt b/tests/functional/u/useless/useless_super_delegation_py3.txt
index 3a1fdaa1a..bad62c1bd 100644
--- a/tests/functional/u/useless/useless_super_delegation_py3.txt
+++ b/tests/functional/u/useless/useless_super_delegation_py3.txt
@@ -1,2 +1,2 @@
-useless-super-delegation:21:4:UselessSuper.useless:Useless super delegation in method 'useless'
-useless-super-delegation:34:4:Ham.__init__:Useless super delegation in method '__init__'
+useless-super-delegation:21:4:22:36:UselessSuper.useless:Useless super delegation in method 'useless':UNDEFINED
+useless-super-delegation:34:4:35:31:Ham.__init__:Useless super delegation in method '__init__':UNDEFINED
diff --git a/tests/functional/u/useless/useless_super_delegation_py35.txt b/tests/functional/u/useless/useless_super_delegation_py35.txt
index 672ce197e..fdcf74142 100644
--- a/tests/functional/u/useless/useless_super_delegation_py35.txt
+++ b/tests/functional/u/useless/useless_super_delegation_py35.txt
@@ -1 +1 @@
-useless-super-delegation:11:4:UselessSuper.useless:Useless super delegation in method 'useless'
+useless-super-delegation:11:4:12:62:UselessSuper.useless:Useless super delegation in method 'useless':UNDEFINED
diff --git a/tests/functional/u/useless/useless_super_delegation_py38.txt b/tests/functional/u/useless/useless_super_delegation_py38.txt
index 333444554..da08eb3a7 100644
--- a/tests/functional/u/useless/useless_super_delegation_py38.txt
+++ b/tests/functional/u/useless/useless_super_delegation_py38.txt
@@ -1 +1 @@
-useless-super-delegation:16:4:Ham.__init__:Useless super delegation in method '__init__'
+useless-super-delegation:16:4:17:39:Ham.__init__:Useless super delegation in method '__init__':UNDEFINED
diff --git a/tests/functional/u/useless/useless_with_lock.txt b/tests/functional/u/useless/useless_with_lock.txt
index 51435c35e..94a6cf1ec 100644
--- a/tests/functional/u/useless/useless_with_lock.txt
+++ b/tests/functional/u/useless/useless_with_lock.txt
@@ -1,11 +1,11 @@
-useless-with-lock:7:0::'threading.Lock()' directly created in 'with' has no effect:HIGH
-useless-with-lock:10:0::'threading.Lock()' directly created in 'with' has no effect:HIGH
-useless-with-lock:13:0::'threading.Lock()' directly created in 'with' has no effect:HIGH
-useless-with-lock:16:0::'threading.RLock()' directly created in 'with' has no effect:HIGH
-useless-with-lock:19:0::'threading.RLock()' directly created in 'with' has no effect:HIGH
-useless-with-lock:22:0::'threading.Condition()' directly created in 'with' has no effect:HIGH
-useless-with-lock:25:0::'threading.Condition()' directly created in 'with' has no effect:HIGH
-useless-with-lock:28:0::'threading.Semaphore()' directly created in 'with' has no effect:HIGH
-useless-with-lock:31:0::'threading.Semaphore()' directly created in 'with' has no effect:HIGH
-useless-with-lock:34:0::'threading.BoundedSemaphore()' directly created in 'with' has no effect:HIGH
-useless-with-lock:37:0::'threading.BoundedSemaphore()' directly created in 'with' has no effect:HIGH
+useless-with-lock:7:0:8:7::'threading.Lock()' directly created in 'with' has no effect:UNDEFINED
+useless-with-lock:10:0:11:7::'threading.Lock()' directly created in 'with' has no effect:UNDEFINED
+useless-with-lock:13:0:14:7::'threading.Lock()' directly created in 'with' has no effect:UNDEFINED
+useless-with-lock:16:0:17:7::'threading.RLock()' directly created in 'with' has no effect:UNDEFINED
+useless-with-lock:19:0:20:7::'threading.RLock()' directly created in 'with' has no effect:UNDEFINED
+useless-with-lock:22:0:23:7::'threading.Condition()' directly created in 'with' has no effect:UNDEFINED
+useless-with-lock:25:0:26:7::'threading.Condition()' directly created in 'with' has no effect:UNDEFINED
+useless-with-lock:28:0:29:7::'threading.Semaphore()' directly created in 'with' has no effect:UNDEFINED
+useless-with-lock:31:0:32:7::'threading.Semaphore()' directly created in 'with' has no effect:UNDEFINED
+useless-with-lock:34:0:35:7::'threading.BoundedSemaphore()' directly created in 'with' has no effect:UNDEFINED
+useless-with-lock:37:0:38:7::'threading.BoundedSemaphore()' directly created in 'with' has no effect:UNDEFINED
diff --git a/tests/functional/w/wildcard_import.txt b/tests/functional/w/wildcard_import.txt
index 67721a6e5..4e404d4ec 100644
--- a/tests/functional/w/wildcard_import.txt
+++ b/tests/functional/w/wildcard_import.txt
@@ -1,2 +1,2 @@
-wildcard-import:2:0::Wildcard import indirect1
-wildcard-import:5:0::Wildcard import unknown.package
+wildcard-import:2:0:2:23::Wildcard import indirect1:UNDEFINED
+wildcard-import:5:0:5:29::Wildcard import unknown.package:UNDEFINED
diff --git a/tests/functional/w/wildcard_import_allowed.txt b/tests/functional/w/wildcard_import_allowed.txt
index 6413af27a..8f24a21a1 100644
--- a/tests/functional/w/wildcard_import_allowed.txt
+++ b/tests/functional/w/wildcard_import_allowed.txt
@@ -1,2 +1,2 @@
-wildcard-import:3:0::Wildcard import abc
-wildcard-import:4:0::Wildcard import UNINFERABLE
+wildcard-import:3:0:3:17::Wildcard import abc:UNDEFINED
+wildcard-import:4:0:4:25::Wildcard import UNINFERABLE:UNDEFINED
diff --git a/tests/functional/w/with_used_before_assign.txt b/tests/functional/w/with_used_before_assign.txt
index 8e1fe1be8..4ceca20ba 100644
--- a/tests/functional/w/with_used_before_assign.txt
+++ b/tests/functional/w/with_used_before_assign.txt
@@ -1,2 +1,2 @@
-undefined-variable:10:39:do_nothing:Undefined variable 'ctx'
-used-before-assignment:11:8:do_nothing:Using variable 'context' before assignment
+undefined-variable:10:39:10:42:do_nothing:Undefined variable 'ctx':UNDEFINED
+used-before-assignment:11:8:11:15:do_nothing:Using variable 'context' before assignment:UNDEFINED
diff --git a/tests/functional/w/with_using_generator.txt b/tests/functional/w/with_using_generator.txt
index 6bd65fbe7..f8d80d02d 100644
--- a/tests/functional/w/with_using_generator.txt
+++ b/tests/functional/w/with_using_generator.txt
@@ -1 +1 @@
-not-context-manager:14:8:Base.fun:Context manager 'generator' doesn't implement __enter__ and __exit__.
+not-context-manager:14:8:15:16:Base.fun:Context manager 'generator' doesn't implement __enter__ and __exit__.:UNDEFINED
diff --git a/tests/functional/w/wrong_exception_operation.txt b/tests/functional/w/wrong_exception_operation.txt
index 05624a3a0..c92fcc2a2 100644
--- a/tests/functional/w/wrong_exception_operation.txt
+++ b/tests/functional/w/wrong_exception_operation.txt
@@ -1,3 +1,3 @@
-wrong-exception-operation:6:8::Invalid exception operation. Did you mean '(ValueError, TypeError)' instead?
-wrong-exception-operation:11:8::Invalid exception operation. Did you mean '(ValueError, TypeError)' instead?
-wrong-exception-operation:17:8::Invalid exception operation. Did you mean '(ValueError, TypeError)' instead?
+wrong-exception-operation:6:8:6:30::Invalid exception operation. Did you mean '(ValueError, TypeError)' instead?:UNDEFINED
+wrong-exception-operation:11:8:11:30::Invalid exception operation. Did you mean '(ValueError, TypeError)' instead?:UNDEFINED
+wrong-exception-operation:17:8:17:30::Invalid exception operation. Did you mean '(ValueError, TypeError)' instead?:UNDEFINED
diff --git a/tests/functional/w/wrong_import_order.txt b/tests/functional/w/wrong_import_order.txt
index e520ef219..c0706a9d2 100644
--- a/tests/functional/w/wrong_import_order.txt
+++ b/tests/functional/w/wrong_import_order.txt
@@ -1,6 +1,6 @@
-wrong-import-order:12:0::"standard import ""import os.path"" should be placed before ""import six"""
-wrong-import-order:14:0::"standard import ""import sys"" should be placed before ""import six"""
-wrong-import-order:15:0::"standard import ""import datetime"" should be placed before ""import six"""
-wrong-import-order:18:0::"third party import ""import totally_missing"" should be placed before ""from .package import Class"""
-wrong-import-order:20:0::"third party import ""import astroid"" should be placed before ""from .package import Class"""
-wrong-import-order:24:0::"third party import ""from six.moves.urllib.parse import quote"" should be placed before ""from .package import Class"""
+wrong-import-order:12:0:12:14::"standard import ""import os.path"" should be placed before ""import six""":UNDEFINED
+wrong-import-order:14:0:14:10::"standard import ""import sys"" should be placed before ""import six""":UNDEFINED
+wrong-import-order:15:0:15:15::"standard import ""import datetime"" should be placed before ""import six""":UNDEFINED
+wrong-import-order:18:0:18:22::"third party import ""import totally_missing"" should be placed before ""from .package import Class""":UNDEFINED
+wrong-import-order:20:0:20:14::"third party import ""import astroid"" should be placed before ""from .package import Class""":UNDEFINED
+wrong-import-order:24:0:24:40::"third party import ""from six.moves.urllib.parse import quote"" should be placed before ""from .package import Class""":UNDEFINED
diff --git a/tests/functional/w/wrong_import_position.txt b/tests/functional/w/wrong_import_position.txt
index 22c426726..3de4d7c17 100644
--- a/tests/functional/w/wrong_import_position.txt
+++ b/tests/functional/w/wrong_import_position.txt
@@ -1,4 +1,4 @@
-wrong-import-position:22:0::"Import ""import six"" should be placed at the top of the module"
-wrong-import-position:26:0::"Import ""import datetime"" should be placed at the top of the module"
-wrong-import-position:32:0::"Import ""import scipy"" should be placed at the top of the module"
-wrong-import-position:33:0::"Import ""import astroid"" should be placed at the top of the module"
+wrong-import-position:22:0:22:10::"Import ""import six"" should be placed at the top of the module":UNDEFINED
+wrong-import-position:26:0:26:15::"Import ""import datetime"" should be placed at the top of the module":UNDEFINED
+wrong-import-position:32:0:32:12::"Import ""import scipy"" should be placed at the top of the module":UNDEFINED
+wrong-import-position:33:0:33:14::"Import ""import astroid"" should be placed at the top of the module":UNDEFINED
diff --git a/tests/functional/w/wrong_import_position11.txt b/tests/functional/w/wrong_import_position11.txt
index a08aaa95c..2e7cae207 100644
--- a/tests/functional/w/wrong_import_position11.txt
+++ b/tests/functional/w/wrong_import_position11.txt
@@ -1 +1 @@
-wrong-import-position:4:0::"Import ""import os"" should be placed at the top of the module"
+wrong-import-position:4:0:4:9::"Import ""import os"" should be placed at the top of the module":UNDEFINED
diff --git a/tests/functional/w/wrong_import_position12.txt b/tests/functional/w/wrong_import_position12.txt
index ca655ff5b..7ea2c2a3b 100644
--- a/tests/functional/w/wrong_import_position12.txt
+++ b/tests/functional/w/wrong_import_position12.txt
@@ -1 +1 @@
-wrong-import-position:5:0::"Import ""import os"" should be placed at the top of the module"
+wrong-import-position:5:0:5:9::"Import ""import os"" should be placed at the top of the module":UNDEFINED
diff --git a/tests/functional/w/wrong_import_position13.txt b/tests/functional/w/wrong_import_position13.txt
index 5010d9db4..b4c7b4a3d 100644
--- a/tests/functional/w/wrong_import_position13.txt
+++ b/tests/functional/w/wrong_import_position13.txt
@@ -1 +1 @@
-wrong-import-position:4:0::"Import ""from sys import x"" should be placed at the top of the module"
+wrong-import-position:4:0:4:17::"Import ""from sys import x"" should be placed at the top of the module":UNDEFINED
diff --git a/tests/functional/w/wrong_import_position14.txt b/tests/functional/w/wrong_import_position14.txt
index 22e09e25a..a91a24fbc 100644
--- a/tests/functional/w/wrong_import_position14.txt
+++ b/tests/functional/w/wrong_import_position14.txt
@@ -1 +1 @@
-wrong-import-position:5:0::"Import ""import y"" should be placed at the top of the module"
+wrong-import-position:5:0:5:8::"Import ""import y"" should be placed at the top of the module":UNDEFINED
diff --git a/tests/functional/y/yield_from_iterable.txt b/tests/functional/y/yield_from_iterable.txt
index 871b11c4a..52b98e87e 100644
--- a/tests/functional/y/yield_from_iterable.txt
+++ b/tests/functional/y/yield_from_iterable.txt
@@ -1 +1 @@
-not-an-iterable:7:15:to_ten:Non-iterable value 10 is used in an iterating context
+not-an-iterable:7:15:7:17:to_ten:Non-iterable value 10 is used in an iterating context:UNDEFINED
diff --git a/tests/functional/y/yield_from_outside_func.txt b/tests/functional/y/yield_from_outside_func.txt
index 415637c31..367fb632d 100644
--- a/tests/functional/y/yield_from_outside_func.txt
+++ b/tests/functional/y/yield_from_outside_func.txt
@@ -1 +1 @@
-yield-outside-function:2:0::Yield outside function
+yield-outside-function:2:0:2:17::Yield outside function:UNDEFINED
diff --git a/tests/functional/y/yield_inside_async_function.txt b/tests/functional/y/yield_inside_async_function.txt
index 0355800b6..1c2674c0c 100644
--- a/tests/functional/y/yield_inside_async_function.txt
+++ b/tests/functional/y/yield_inside_async_function.txt
@@ -1 +1 @@
-yield-inside-async-function:16:4:bad:Yield inside async function:HIGH
+yield-inside-async-function:16:4:16:24:bad:Yield inside async function:UNDEFINED
diff --git a/tests/functional/y/yield_outside_func.txt b/tests/functional/y/yield_outside_func.txt
index 415637c31..44c507a40 100644
--- a/tests/functional/y/yield_outside_func.txt
+++ b/tests/functional/y/yield_outside_func.txt
@@ -1 +1 @@
-yield-outside-function:2:0::Yield outside function
+yield-outside-function:2:0:2:7::Yield outside function:UNDEFINED
diff --git a/tests/test_functional.py b/tests/test_functional.py
index 513823a05..6f0eceb23 100644
--- a/tests/test_functional.py
+++ b/tests/test_functional.py
@@ -36,10 +36,6 @@ from pylint.testutils import UPDATE_FILE, UPDATE_OPTION
from pylint.testutils.functional_test_file import FunctionalTestFile
from pylint.utils import HAS_ISORT_5
-# Notes:
-# - for the purpose of this test, the confidence levels HIGH and UNDEFINED
-# are treated as the same.
-
# TODOs
# - implement exhaustivity tests
@@ -58,8 +54,6 @@ class LintModuleOutputUpdate(testutils.LintModuleTest):
csv.register_dialect("test", TestDialect)
def _check_output_text(self, _, expected_output, actual_output):
- if expected_output and expected_output == actual_output:
- return
if not expected_output and not actual_output:
if os.path.exists(self._test_file.expected_output):
os.remove(self._test_file.expected_output)
diff --git a/tests/testutils/test_output_line.py b/tests/testutils/test_output_line.py
index 928083508..25f784a54 100644
--- a/tests/testutils/test_output_line.py
+++ b/tests/testutils/test_output_line.py
@@ -36,6 +36,8 @@ def test_output_line() -> None:
symbol="missing-docstring",
lineno=1,
column=2,
+ end_lineno=1,
+ end_column=4,
object="",
msg="Missing docstring's bad.",
confidence=HIGH.name,
@@ -43,6 +45,8 @@ def test_output_line() -> None:
assert output_line.symbol == "missing-docstring"
assert output_line.lineno == 1
assert output_line.column == 2
+ assert output_line.end_lineno == 1
+ assert output_line.end_column == 4
assert output_line.object == ""
assert output_line.msg == "Missing docstring's bad."
assert output_line.confidence == "HIGH"
@@ -51,10 +55,14 @@ def test_output_line() -> None:
def test_output_line_from_message(message: Callable) -> None:
"""Test that the OutputLine NamedTuple is instantiated correctly with from_msg."""
expected_column = 2 if PY38_PLUS else 0
+ expected_end_lineno = 1 if PY38_PLUS else None
+ expected_end_column = 3 if PY38_PLUS else None
output_line = OutputLine.from_msg(message())
assert output_line.symbol == "missing-docstring"
assert output_line.lineno == 1
assert output_line.column == expected_column
+ assert output_line.end_lineno == expected_end_lineno
+ assert output_line.end_column == expected_end_column
assert output_line.object == "obj"
assert output_line.msg == "msg"
assert output_line.confidence == "HIGH"
@@ -68,10 +76,14 @@ def test_output_line_to_csv(confidence: Confidence, message: Callable) -> None:
output_line = OutputLine.from_msg(message(confidence))
csv = output_line.to_csv()
expected_column = "2" if PY38_PLUS else "0"
+ expected_end_lineno = "1" if PY38_PLUS else "None"
+ expected_end_column = "3" if PY38_PLUS else "None"
assert csv == (
"missing-docstring",
"1",
expected_column,
+ expected_end_lineno,
+ expected_end_column,
"obj",
"msg",
confidence.name,
@@ -93,12 +105,14 @@ def test_output_line_from_csv_error() -> None:
@pytest.mark.parametrize(
- "confidence,expected_confidence", [[None, "HIGH"], ["INFERENCE", "INFERENCE"]]
+ "confidence,expected_confidence", [[None, "UNDEFINED"], ["INFERENCE", "INFERENCE"]]
)
-def test_output_line_from_csv(
+def test_output_line_from_csv_deprecated(
confidence: Optional[str], expected_confidence: str
) -> None:
- """Test that the OutputLine NamedTuple is instantiated correctly with from_csv."""
+ """Test that the OutputLine NamedTuple is instantiated correctly with from_csv.
+ Test OutputLine's of length 5 or 6.
+ """
if confidence:
proper_csv = [
"missing-docstring",
@@ -110,13 +124,47 @@ def test_output_line_from_csv(
]
else:
proper_csv = ["missing-docstring", "1", "2", "obj", "msg"]
- output_line = OutputLine.from_csv(proper_csv)
+ with pytest.warns(DeprecationWarning) as records:
+ output_line = OutputLine.from_csv(proper_csv)
+ assert len(records) == 1
+
expected_column = 2 if PY38_PLUS else 0
assert output_line == OutputLine(
symbol="missing-docstring",
lineno=1,
column=expected_column,
+ end_lineno=None,
+ end_column=None,
object="obj",
msg="msg",
confidence=expected_confidence,
)
+
+
+def test_output_line_from_csv() -> None:
+ """Test that the OutputLine NamedTuple is instantiated correctly with from_csv.
+ Test OutputLine of length 8.
+ """
+ proper_csv = [
+ "missing-docstring",
+ "1",
+ "2",
+ "1",
+ "None",
+ "obj",
+ "msg",
+ "HIGH",
+ ]
+ output_line = OutputLine.from_csv(proper_csv)
+ expected_column = 2 if PY38_PLUS else 0
+ expected_end_lineno = 1 if PY38_PLUS else None
+ assert output_line == OutputLine(
+ symbol="missing-docstring",
+ lineno=1,
+ column=expected_column,
+ end_lineno=expected_end_lineno,
+ end_column=None,
+ object="obj",
+ msg="msg",
+ confidence="HIGH",
+ )