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

Reply via email to