November 19, 2022

Hello!

Since the last update I implemented the following visitors:

Also finished the work on explicitly_annotated_unittests,
did one more iteration for constructor_check as it
was in need of a redesign and spent a good amount of time on
same_name_check. This visitor is not 100% correct in the
actual D-Scanner. A small example would be this:

static if(true)
    int a;
else
{
    int a;
    int a; // should throw a warning but doesn't
}
static if(true)
	int a = 2;

static if(true)
	int a = 2; // throws warning

static if(true)
	enum a = 2;

static if(true)
	enum a = 2; // does not throw warning

Things can get a bit tricky here with conditional declarations, because
they don't introduce a new scope, and you can't really always evaluate them,
meaning we can have situations like:

version(windows)
    int a;
version(something_not_windows)
    int a; // will incorrectly throw a warning

I decided with my mentors to go ahead and mimic the actual implementation,
even if it's not 100% correct, and I will probably get back to it at a later
point.

Also created a small pr
in dmd adding some lacking methods in ASTBase

Thank you!

November 21, 2022

On Saturday, 19 November 2022 at 20:39:14 UTC, Lucian Danescu wrote:

>

Hello!

Since the last update I implemented the following visitors:
[...]
Also created a small pr
in dmd adding some lacking methods in ASTBase

Thank you!

keep on the good work