Simplify CFA by using return statements only for return with values
There are three ways to exit a function:
- reaching the syntactic end of the body
return;
return value;
Currently, for the latter two a statement edge is created, with a AReturnStatement
instance and an optional return value. However, the return;
case is more similar to the first case, and could be represented just like that with a BlankEdge
. This would allow to avoid the Optional
in AReturnStatement
.
We use blank edges for break;
and continue;
as well, for example.