I am writing a static code analyzer in Go. And I have a logic rule that needs to check if resources are released before return, this rule need to audit last statement before return. I notice that the AST walks in depth first, can someone give a hint about my rule? Thanks a lot!