Searched refs:ctorflow (Results 1 – 10 of 10) sorted by relevance
22 import dmd.ctorflow;110 CtorFlow ctorflow; /// flow analysis for constructors member192 sc.ctorflow.fieldinit = null; in copy()215 s.ctorflow.fieldinit = ctorflow.fieldinit.arraydup; in push()234 enclosing.ctorflow.OR(ctorflow); in pop()235 ctorflow.freeFieldinit(); in pop()255 ctorflow.freeFieldinit(); in detach()300 extern (D) void merge(const ref Loc loc, const ref CtorFlow ctorflow) in merge()302 if (!mergeCallSuper(this.ctorflow.callSuper, ctorflow.callSuper)) in merge()305 const fies = ctorflow.fieldinit; in merge()[all …]
12 module dmd.ctorflow;86 void OR(const ref CtorFlow ctorflow) pure nothrow in OR()88 callSuper |= ctorflow.callSuper; in OR()89 if (fieldinit.length && ctorflow.fieldinit.length) in OR()91 assert(fieldinit.length == ctorflow.fieldinit.length); in OR()92 foreach (i, u; ctorflow.fieldinit) in OR()
25 import dmd.ctorflow;325 sc2.ctorflow.callSuper = CSX.none; in visit()344 sc2.ctorflow.fieldinit = null; in visit()593 sc2.ctorflow.allocFieldinit(ad2.fields.dim); in visit()679 if (!(sc2.ctorflow.callSuper & CSX.this_ctor)) in visit()703 if (mustInit && !(sc2.ctorflow.fieldinit[i].csx & CSX.this_ctor)) in visit()710 sc2.ctorflow.freeFieldinit(); in visit()712 … if (cd && !(sc2.ctorflow.callSuper & CSX.any_ctor) && cd.baseClass && cd.baseClass.ctor) in visit()714 sc2.ctorflow.callSuper = CSX.none; in visit()1244 sc2.ctorflow.callSuper = CSX.none; in visit()
20 import dmd.ctorflow;105 if (var.isField() && sc.ctorflow.fieldinit.length && !sc.intypeof) in modifyFieldVar()111 const dim = sc.ctorflow.fieldinit.length; in modifyFieldVar()121 auto fieldInit = &sc.ctorflow.fieldinit[i]; in modifyFieldVar()155 sc.ctorflow.fieldinit[j].csx = CSX.this_ctor; in modifyFieldVar()
29 import dmd.ctorflow;1934 CtorFlow ctorflow_root = scd.ctorflow.clone(); in package()1939 CtorFlow ctorflow_then = sc.ctorflow; // move flow results in package()1940 sc.ctorflow = ctorflow_root; // reset flow analysis back to root in package()2597 sc.ctorflow.orCSX(CSX.label); in package()2689 sc.ctorflow.orCSX(CSX.label); in package()2729 sc.ctorflow.orCSX(CSX.label); in package()3070 …if (sc.ctorflow.callSuper & CSX.any_ctor && !(sc.ctorflow.callSuper & (CSX.this_ctor | CSX.super_c… in package()3076 if (sc.ctorflow.fieldinit.length) // if aggregate fields are being constructed in package()3083 if (mustInit && !(sc.ctorflow.fieldinit[i].csx & CSX.this_ctor)) in package()[all …]
28 import dmd.ctorflow;4806 foreach (ref field; sc.ctorflow.fieldinit) in visit()4812 if (!sc.intypeof && !(sc.ctorflow.callSuper & CSX.halt)) in visit()4814 if (sc.inLoop || sc.ctorflow.callSuper & CSX.label) in visit()4816 if (sc.ctorflow.callSuper & (CSX.super_ctor | CSX.this_ctor)) in visit()4818 … if ((sc.ctorflow.callSuper & CSX.return_) && !(sc.ctorflow.callSuper & CSX.any_ctor)) in visit()4820 sc.ctorflow.callSuper |= CSX.any_ctor | (isSuper ? CSX.super_ctor : CSX.this_ctor); in visit()6375 sc.ctorflow.orCSX(CSX.halt); in visit()11341 CtorFlow ctorflow = sc.ctorflow.clone(); in visit() local11343 sc.merge(exp.loc, ctorflow); in visit()[all …]
126 | [ctorflow.d](https://github.com/dlang/dmd/blob/master/src/dmd/ctorflow.d) | Control flow in c…
30 import dmd.ctorflow;4829 … if (e1.op == EXP.this_ && sc.ctorflow.fieldinit.length && !(sc.ctorflow.callSuper & CSX.any_ctor)) in toLvalue()4834 if (ad && ad.fields.dim == sc.ctorflow.fieldinit.length) in toLvalue()4840 if (!(sc.ctorflow.fieldinit[i].csx & CSX.this_ctor)) in toLvalue()
102 d/ctorflow.o \
5267 14575700db973a2c2789dc9e19787fcb gcc/d/dmd/ctorflow.d