[SAOC 2024] - Leverage dmd as a library in D-Scanner in order to extend its functionality - Weekly Update 9

Vladiwostok riciuvlad at gmail.com
Tue Nov 19 00:13:56 UTC 2024


Greetings,

I apologize for the late update.

In the past week I've been working on dealing with the final 
changes before being able to merge with the upstream repo.

As of now, there are 2 issues left to fix:
1. Fix the locations of the warnings emitted by the checks used 
in integration tests
2. Switch the Autofix replacement feature to the dmd-as-a-lib flow

Regarding point 1, some warnings emitted by libdparse checks 
would contain not only the necessary location (line & column), 
but also some additional locs, such as the end line / column. 
However, this is not something that was consistently implemented 
across all checks - some had inaccurate or even missing 
additional locations. The integration step tests the report 
generated by D-Scanner, and, in order to re-enable it, the checks 
used have to be accurate.

Point 2 is a bit unexpected - there are 2 D-Scanner features that 
make use of Autofix - one for generating a report with the 
warnings / autofixes found, and the other for actually applying 
the Autofix. Unfortunately the code paths for both features are 
just slightly different, and the Autofix replacement flow has to 
be patched.

Here's the WIP branch I've been using so far:
https://github.com/Dlang-UPB/D-scanner/compare/replace_libdparse...Vladiwostok:D-scanner:wip-cleanup-code


More information about the Digitalmars-d mailing list