Author: [EMAIL PROTECTED]
Date: Fri Aug 29 18:47:21 2008
New Revision: 3598

Modified:
    trunk/dev/core/src/com/google/gwt/dev/cfg/RuleGenerateWith.java

Log:
Trap unchecked exceptions thrown by generators.

Patch by: cromwellian
Review by: me


Modified: trunk/dev/core/src/com/google/gwt/dev/cfg/RuleGenerateWith.java
==============================================================================
--- trunk/dev/core/src/com/google/gwt/dev/cfg/RuleGenerateWith.java      
(original)
+++ trunk/dev/core/src/com/google/gwt/dev/cfg/RuleGenerateWith.java     Fri Aug 
 
29 18:47:21 2008
@@ -45,19 +45,26 @@
      }

      long before = System.currentTimeMillis();
-    String className = generator.generate(logger, context, typeName);
-    long after = System.currentTimeMillis();
-    if (className == null) {
-      msg = "Generator returned null, so the requested type will be used  
as is";
-    } else {
-      msg = "Generator returned class '" + className + "'";
-    }
-    logger.log(TreeLogger.DEBUG, msg, null);
+    try {
+      String className = generator.generate(logger, context, typeName);
+      long after = System.currentTimeMillis();
+      if (className == null) {
+        msg = "Generator returned null, so the requested type will be used  
as is";
+      } else {
+        msg = "Generator returned class '" + className + "'";
+      }
+      logger.log(TreeLogger.DEBUG, msg, null);

-    msg = "Finished in " + (after - before) + " ms";
-    logger.log(TreeLogger.DEBUG, msg, null);
+      msg = "Finished in " + (after - before) + " ms";
+      logger.log(TreeLogger.DEBUG, msg, null);

-    return className;
+      return className;
+    } catch (RuntimeException e) {
+      logger.log(TreeLogger.ERROR, "Generator '"
+          + generator.getClass().getName()
+          + "' threw threw an exception while rebinding '" + typeName  
+ "'", e);
+      throw new UnableToCompleteException();
+    }
    }

    public String toString() {

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

Reply via email to