1 module checker
is aliced
;
10 // ////////////////////////////////////////////////////////////////////////// //
11 void main (string
[] args
) {
14 bool styleWarnings
= false;
15 bool warnVars
= false;
16 bool warnWith
= false;
18 bool warnUVars
= false;
20 funcs
= cliProcessArgs
!(
21 "-w", (fname
) { styleWarnings
= true; },
22 "-Wall", (fname
) { warnVars
= true; warnWith
= true; warnAss
= true; },
23 "-Wvardecl", (fname
) { warnVars
= false; },
24 "-Wwith", (fname
) { warnWith
= false; },
25 "-Wass", (fname
) { warnAss
= false; },
26 "-Wuvars", (fname
) { warnUVars
= false; },
29 if (funcs
.length
> 0) {
30 writeln(funcs
.length
, " function", (funcs
.length
> 1 ?
"s" : ""), " parsed");
31 foreach (auto fn
; funcs
) {
32 if (warnVars
) {analVars(fn
);
34 foreach (string name
; [
45 if (fn
.name
== name
) { skip
= true; break; }
47 if (!skip
&& fn
.name
.length
> 3 && fn
.name
[0..3] == "sui") skip
= true;
48 if (!skip
) analVars(fn
);
50 if (warnWith
) analWith(fn
);
51 if (warnAss
) analAss(fn
);
52 if (warnUVars
) analUninited(fn
);