Reconsider output of CIF checks
From https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/416#note_1042190: >>> Let's just grab this for an error message layout discussion. A few random notes: - Inserting the position between the group/element name and the actual error makes reading the error hard. Position info should be before or after the element + message I think. - `g.A` line moved between `g.a` and `g.a.U` errors, splitting the latter. - Position information is jumping around in the file randomly which makes it quite useless for fixing errors. Eg "spec" error is at the bottom. - Position information has quite some clutter, eg `"common_checks/EqnNotAllowedCheck.cif" at 19, 7` would be enough (possibly `line` instead of `at`). Jumping around in the file was already happening of course, it's just more visible now. As we haven't used this form of reporting in practice much I am not sure how serious it is. For single files you'd definitely want to sort on position I think, not sure what would be useful if you include files. (My gut feeling says top-down from the root file in inclusion order, but that information may be lost or hard to retrieve.) To reduce the line length, maybe the filename can be at a separate line and all errors in it below it with the line and column information? I would put the position near the start, it's mostly equally long everywhere, you can easily skip it and read the errors messages vertically only. I am not sure how much can be done here. For inspiration an error message from a C++ compiler where I added `f` at a random line of the source: ``` /home/.../Src/gfx.cpp: In member function ‘bool reader::read_string(std::string*)’: /home/.../Src/gfx.cpp:128:16: error: ‘f’ was not declared in this scope 128 | size_t idx;f | ^ /home/.../Src/gfx.cpp:129:39: error: expected ‘;’ before ‘)’ token 129 | for (idx = 0; idx < iLength; idx++) { | ^ | ; ``` This is way more than we can do currently but it looks good :) >>>
issue

Copyright © Eclipse Foundation AISBL. All rights reserved.     Privacy Policy | Terms of Use | Copyright Agent