Refine hoisted local scopes in async methods
Old: Scopes followed the bound tree, so the outermost scope was within the try-catch block synthesized in async MovedNext methods. New: If the entire try block would be a hoisted local scope, we remove the marker node (BoundStateMachineScope) and insert a new one around the entire method body. Upshot: hoisted locals are still in scope when stopped on method closing braces.
Showing
想要评论请 注册 或 登录