Draft: #454 New output for CIF checks
- This merge request is not ready by any means. It serves to allow discussion on this attempt at new output.
- I had to move all CIF checks to a new plugin to prevent a cyclic dependency.
- The design for checks is much simpler, as there are no message classes anymore. Just (formatted) strings.
- I got rid of reporting on ancestors or named objects, requiring
PositionObject
objects with a position. It turns out not all expressions and types have a position, even after re-parsing. I haven't looked into why that is yet. Let's see what we want as output first. - No more reporting on
null
specifications. Just supply theSpecification
object instead. Typically, this is used inpreprocessSpecification
orpostprocessSpecification
, which have that already anyway. Can useCifScopeUtils.getSpecification
otherwise. - For the new output, I opted to first categorize by message, and then sort per line, and then for all violations on the same line report them with the text of the line and markers.
Addresses #454 (closed)