Log AssertionErrors thrown by Generators to improve developer experience.
Fix typo in existing log message.
Patch by: bobv
Review by: scottb

Review at http://gwt-code-reviews.appspot.com/362801


git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@7943 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/dev/core/src/com/google/gwt/dev/javac/StandardGeneratorContext.java b/dev/core/src/com/google/gwt/dev/javac/StandardGeneratorContext.java
index 3d59619..de57906 100644
--- a/dev/core/src/com/google/gwt/dev/javac/StandardGeneratorContext.java
+++ b/dev/core/src/com/google/gwt/dev/javac/StandardGeneratorContext.java
@@ -435,9 +435,14 @@
       msg += "; in " + (after - before) + " ms";
       logger.log(TreeLogger.DEBUG, msg, null);
       return className;
+    } catch (AssertionError e) {
+      // Catch and log the assertion as a convenience to the developer
+      logger.log(TreeLogger.ERROR, "Generator '" + generatorClass.getName()
+          + "' failed an assertion while rebinding '" + typeName + "'", e);
+      throw new UnableToCompleteException();
     } catch (RuntimeException e) {
       logger.log(TreeLogger.ERROR, "Generator '" + generatorClass.getName()
-          + "' threw threw an exception while rebinding '" + typeName + "'", e);
+          + "' threw an exception while rebinding '" + typeName + "'", e);
       throw new UnableToCompleteException();
     } finally {
       PerfLogger.end();