When calculating defer, the last block was assumed to always contain a defer statement. In case it didn't contain a defer statement, all the defer statements that were supposed to be calculated in that path were ignored. Now, the defer from the closest block is used instead.
Also, formatted all the test files.
When calculating defer, the last block was assumed to always contain a defer statement. In case it didn't contain a defer statement, all the defer statements that were supposed to be calculated in that path were ignored. Now, the defer from the closest block is used instead. Also, formatted all the test files.