Skip to content

Draft: #454 New output for CIF checks

Dennis Hendriks requested to merge 454-reconsider-output-of-cif-checks into develop
  • 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 the Specification object instead. Typically, this is used in preprocessSpecification or postprocessSpecification, which have that already anyway. Can use CifScopeUtils.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)

Merge request reports