Reviewers: scottb, Lex, Message: Review requested.
http://gwt-code-reviews.appspot.com/47816/diff/1/4 File dev/core/src/com/google/gwt/dev/jjs/impl/GenerateJavaScriptAST.java (right): http://gwt-code-reviews.appspot.com/47816/diff/1/4#newcode2125 Line 2125: jsProgram.setIndexedFunctions(indexedFunctions); NB: Used by JsStackEmulator to make looking for Exceptions.caught less ugly. http://gwt-code-reviews.appspot.com/47816/diff/1/8 File samples/dynatable/src/com/google/gwt/sample/dynatable/DynaTable.gwt.xml (right): http://gwt-code-reviews.appspot.com/47816/diff/1/8#newcode18 Line 18: <inherits name='com.google.gwt.core.EmulateJsStack' /> Just for a demo, not to be committed. http://gwt-code-reviews.appspot.com/47816/diff/1/9 File samples/dynatable/src/com/google/gwt/sample/dynatable/client/DynaTableWidget.java (right): http://gwt-code-reviews.appspot.com/47816/diff/1/9#newcode170 Line 170: errorDialog.setBody(stack.toString()); Just a demo. http://gwt-code-reviews.appspot.com/47816/diff/1/11 File user/src/com/google/gwt/core/client/impl/StackTraceCreator.java (right): http://gwt-code-reviews.appspot.com/47816/diff/1/11#newcode65 Line 65: public void createStackTrace(JavaScriptException e) { Moved out of enclosing type. http://gwt-code-reviews.appspot.com/47816/diff/1/11#newcode76 Line 76: public void fillInStackTrace(Throwable t) { Moved out of Throwable.java Description: This patch alters the compiler so that it will emit code that simulates the JS stack in order to provide stack traces on browsers that do not provide stack trace data for native exceptions. A more general-purpose control mechanism for turning this behavior on and off will follow as a separate design and implementation phase (the subset-of-permutation-matrix deferred-binding predicates). For the moment, the JsStackEmulator pass is conditional on which implementation of Collector is present in the compiled output. This patch includes an altered Dynatable sample to let you look at the generated code. Compile with "-Dgwt.dev.stack.recordFileNames=true" to see the maximum detail level. The specifics of the AST transforms are documented on the visitors in JsStackEmulator. Please review this at http://gwt-code-reviews.appspot.com/47816 Affected files: M dev/core/src/com/google/gwt/dev/jjs/JavaToJavaScriptCompiler.java M dev/core/src/com/google/gwt/dev/jjs/ast/JProgram.java M dev/core/src/com/google/gwt/dev/jjs/impl/GenerateJavaScriptAST.java A dev/core/src/com/google/gwt/dev/js/JsStackEmulator.java M dev/core/src/com/google/gwt/dev/js/ast/JsProgram.java M dev/core/src/com/google/gwt/dev/js/ast/JsRootScope.java M samples/dynatable/src/com/google/gwt/sample/dynatable/DynaTable.gwt.xml M samples/dynatable/src/com/google/gwt/sample/dynatable/client/DynaTableWidget.java A user/src/com/google/gwt/core/EmulateJsStack.gwt.xml M user/src/com/google/gwt/core/client/impl/StackTraceCreator.java M user/super/com/google/gwt/emul/java/lang/StackTraceElement.java M user/super/com/google/gwt/emul/java/lang/Throwable.java M user/test/com/google/gwt/core/client/impl/StackTraceCreatorTest.java --~--~---------~--~----~------------~-------~--~----~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~----------~----~----~----~------~----~------~--~---
