Yes, it has to be a purely syntactic criterion. If you see a conditional, you consider all branches; if you see a loop you consider it being executed and not executed (for these purposes, a loop is equivalent to an if
without an else
). If there’s any @goto
we should probably require explicit annotation of anything that is assigned.
3 Likes