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