Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using a local clone.


Compiler implementation of the D programming language.
Manage flow analysis for constructors.

Source ctorflow.d

struct CtorFlow;
Primitive flow analysis for constructors
CSX callSuper;
state of calling other constructors
CSX[] fieldinit;
state of field initializations
CtorFlow clone();
Create a deep copy of this
a copy
pure nothrow void orCSX(CSX csx);
Set CSX bits in flow analysis state
CSX csx bits to set
void OR(ref const CtorFlow ctorflow);
OR CSX bits to this
CtorFlow ctorflow bits to OR in
bool mergeFieldInitX(ref CSX fieldInit, const CSX fi);
Merge fi flow analysis results into fieldInit.
CSX fieldInit the path to merge fi into
CSX fi the other path
false means either fieldInit or fi skips initialization