[SAoC2022] Replace libdparse with dmd-as-a-library in D-Scanner

Lucian Danescu lucidanescu28 at yahoo.com
Mon Nov 14 14:35:46 UTC 2022


Hello!

Since the last update I implemented the following visitors:
- 
[length_subtraction](https://github.com/Dlang-UPB/D-scanner/pull/42)
- 
[constructor_check](https://github.com/Dlang-UPB/D-scanner/pull/43)
- 
[explicitly_annotated_unittest](https://github.com/Dlang-UPB/D-scanner/pull/44)

Also finished the work on some visitors I started before:
- 
[redundant_attributes](https://github.com/Dlang-UPB/D-scanner/pull/40)
- 
[label_var_same_name](https://github.com/Dlang-UPB/D-scanner/pull/41)
- [local_imports](https://github.com/Dlang-UPB/D-scanner/pull/45)

Some of those need the approval from my mentor but they are 
mostly done.

Also spent some time "debugging" - meaning comparing differences 
between
the actual `D-Scanner` and my version when applied to `phobos`. 
While some
checks might be subjective, I found scenarios where the actual 
`D-Scanner`
is not issueing any warnings where it's supposed to. So in order 
to be able
to apply my version to `phobos` I also fixed some style errors in 
phobos:
- 
[selective_local_imports](https://github.com/dlang/phobos/pull/8622)
- [same_name_vars](https://github.com/dlang/phobos/pull/8621)
- 
[redundant_attributes](https://github.com/dlang/phobos/pull/8620)

At least in my view, in all the above situations `D-Scanner` is
supposed to issue warnings and it's not catching them, so I think
that my implementation, in some particular cases at least, will
be more complete than the actual implementation.

Thank you!


More information about the Digitalmars-d mailing list