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.

Source blockexit.d

enum BE: int;
BE stands for BlockExit.
It indicates if a statement does transfer control to another block. A block is a sequence of statements enclosed in { }
int blockExit(Statement s, FuncDeclaration func, bool mustNotThrow);
Determine mask of ways that a statement can exit.
Only valid after semantic analysis.
Statement s statement to check for block exit status
FuncDeclaration func function that statement s is in
bool mustNotThrow generate an error if it throws