Committed with changes from Matt and jgw at r4807.
--
Bob Vawter
Google Web Toolkit Team
--~--~-~--~~~---~--~~
http://groups.google.com/group/Google-Web-Toolkit-Contributors
-~--~~~~--~~--~--~---
Bob,
Changes look really good.
Some review notes:
This code will terminate early if you have two anonymous functions in
your call stack (possible for some DOM stack traces), since both will
have name == "anonymous":
+// Avoid infinite loop: caller is not an activation record
+
I've created a branch to track future changes to this patch.
svn merge -r4761:HEAD
http://google-web-toolkit.googlecode.com/svn/changes/bobv/web_mode_stack_traces_r4761
Changes from previous patch:
- Added web-mode stack-trace inference for JavaScriptExceptions with
additional methods in Stac
One other minor item I just noticed: in IE, an anonymous function's
toString output has no spaces ("function(){}" vs. "function (){}" in
other browsers), so the below assertion and associated function will
fail:
+ static String extractName(String fnToString) {
+assert fnToString.startsW
@mmastrac, Thanks for the data.
I think that I should add an override to JavaScriptException to handle
non-java exceptions in those browsers that do have e.stack or equivalent and
retain some kind of caller chain for java-dervied exceptions.
--
Bob. (Android)
On Feb 13, 2009 1:25 PM, "Matt Mast
Bob,
We've been doing the same thing for a while using a slightly different
method. Some notes from our implementation:
1. The callee chain represents functions, rather than activation
records as you'd expect. If you call a method re-entrantly, you'll
end up in an infinite loop (a.calle
Very exciting Bob! Can't wait to take a look! (and, woah, fast work
dude)
On Feb 13, 1:04 pm, BobV wrote:
> The attached patch implements web-mode stack traces and the ability
> for the compiler to emit a per-permutation symbol map file during the
> compile. An example of this map for the DynaT