Reviewers: robertvawter_google.com,

Description:
Description:
===========
JsStackEmulator#baseName() does not handle urls from the file system
(eg. file:whatever).  This can result in an infinite loop in
StackTraceCreator.

Fix:
====
Fixed the parser based on bob's suggestion.

Please review this at http://gwt-code-reviews.appspot.com/51817

Affected files:
   dev/core/src/com/google/gwt/dev/js/JsStackEmulator.java


Index: dev/core/src/com/google/gwt/dev/js/JsStackEmulator.java
===================================================================
--- dev/core/src/com/google/gwt/dev/js/JsStackEmulator.java     (revision 5787)
+++ dev/core/src/com/google/gwt/dev/js/JsStackEmulator.java     (working copy)
@@ -684,7 +684,12 @@
       * Strips off the final name segment.
       */
      private String baseName(String fileName) {
+      // Try the system path separator
        int lastIndex = fileName.lastIndexOf(File.separator);
+      if (lastIndex == -1) {
+        // Otherwise, try URL path separator
+        lastIndex = fileName.lastIndexOf('/');
+      }
        if (lastIndex != -1) {
          return fileName.substring(lastIndex + 1);
        } else {



--~--~---------~--~----~------------~-------~--~----~
http://groups.google.com/group/Google-Web-Toolkit-Contributors
-~----------~----~----~----~------~----~------~--~---

Reply via email to