mirror of
https://github.com/Mercury-Language/mercury.git
synced 2026-04-21 20:33:55 +00:00
compiler/convert_parse_tree.m:
Add color to the diagnostics for errors in .m files.
(Leave the diagnostics about unexpected items in interface and
optimization files without color, since users cannot see them unless
an automatically generated file has been screwed up.)
Improve the wording of both kinds of diagnostics.
compiler/item_util.m:
Add a utility function for the new code in convert_parse_tree.m.
tests/invalid/bad_item_in_interface.err_exp:
tests/invalid/not_in_interface.err_exp:
tests/invalid_make_int/bad_finalise_decl_int.int_err_exp:
tests/invalid_make_int/bad_in_interface.int_err_exp:
tests/invalid_make_int/bad_initialise_decl_int.int_err_exp:
tests/invalid_make_int/bad_mutable_int.int_err_exp:
tests/invalid_make_int/pragma_export_int.int_err_exp:
tests/invalid_make_int/test_type_spec_int.int_err_exp:
Expect updated diagnostics.
901 B
901 B
not_in_interface.m:014: Error: `:- initialise' declarations are not allowed in
not_in_interface.m:014: module interfaces.
not_in_interface.m:016: Error: `:- mutable' declarations are not allowed in
not_in_interface.m:016: module interfaces.
not_in_interface.m:018: Error: `:- initialise' declarations are not allowed in
not_in_interface.m:018: module interfaces.
not_in_interface.m:022: Error: `:- pragma inline' declarations are not allowed
not_in_interface.m:022: in module interfaces.
not_in_interface.m:025: Error: clauses, such as this one for predicate `foo'/2,
not_in_interface.m:025: are not allowed in module interfaces.
not_in_interface.m:014: module interfaces.
not_in_interface.m:016: Error: `:- mutable' declarations are not allowed in
not_in_interface.m:016: module interfaces.
not_in_interface.m:018: Error: `:- initialise' declarations are not allowed in
not_in_interface.m:018: module interfaces.
not_in_interface.m:022: Error: `:- pragma inline' declarations are not allowed
not_in_interface.m:022: in module interfaces.
not_in_interface.m:025: Error: clauses, such as this one for predicate `foo'/2,
not_in_interface.m:025: are not allowed in module interfaces.