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
-~----------~----~----~----~------~----~------~--~---

Reply via email to