http://gwt-code-reviews.appspot.com/47816/diff/1/5 File dev/core/src/com/google/gwt/dev/js/JsStackEmulator.java (right):
http://gwt-code-reviews.appspot.com/47816/diff/1/5#newcode184 Line 184: * the stack depth. Oh, right, the pop for a return has to be placed in the enclosing finally, and it must only do a pop if there is an early exit. Tricky tricky! That means that final block tracking is necessary, and also that the early-exit variables are necessary. Bummer. http://gwt-code-reviews.appspot.com/47816/diff/1/5#newcode197 Line 197: * An exit block might be nested in another exit block. I see what is up with this, now. The comment explains why it's a map. It would be worth commenting what is in the map: the JsName for each generated "earlyExit" variable. Whenever a return happens within a try-finally statement, the return sets earlyExit to true rather than immediately popping the emulated stack. http://gwt-code-reviews.appspot.com/47816/diff/1/5#newcode204 Line 204: * arbitrary point. Cool. http://gwt-code-reviews.appspot.com/47816 --~--~---------~--~----~------------~-------~--~----~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~----------~----~----~----~------~----~------~--~---