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
PositionObjectobjects 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
nullspecifications. Just supply theSpecificationobject instead. Typically, this is used inpreprocessSpecificationorpostprocessSpecification, which have that already anyway. Can useCifScopeUtils.getSpecificationotherwise. - 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)