Reviewers: fabbott,

Description:
Fix some bugs in symbol dumping.

1) Fixes an NPE when dumping symbols with -validateOnly.
2) Fixes unstable sort order being returned from TypeOracle.getTypes().

Review by: fabb...@google.com

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

Affected files:
  M dev/core/src/com/google/gwt/core/ext/typeinfo/TypeOracle.java
  M dev/core/src/com/google/gwt/dev/Precompile.java


Index: dev/core/src/com/google/gwt/core/ext/typeinfo/TypeOracle.java
===================================================================
--- dev/core/src/com/google/gwt/core/ext/typeinfo/TypeOracle.java (revision 8376) +++ dev/core/src/com/google/gwt/core/ext/typeinfo/TypeOracle.java (working copy)
@@ -584,7 +584,14 @@
    */
   public JClassType[] getTypes() {
     Collection<JRealClassType> values = allTypes.values();
-    return values.toArray(new JClassType[values.size()]);
+    JClassType[] result = values.toArray(new JClassType[values.size()]);
+    Arrays.sort(result, new Comparator<JClassType>() {
+      public int compare(JClassType o1, JClassType o2) {
+        return o1.getQualifiedSourceName().compareTo(
+            o2.getQualifiedSourceName());
+      }
+    });
+    return result;
   }

   public JWildcardType getWildcardType(JWildcardType.BoundType boundType,
@@ -617,7 +624,7 @@
    * of the preceding.
    * <p>
    * Examples of types that can be parsed by this method.
-   * <ul>
+ * <ul>third_party/java_src/gwt/svn/trunk/dev/core/src/com/google/gwt/core/ext/typeinfo/TypeOracle.java
    * <li><code>int</code></li>
    * <li><code>java.lang.Object</code></li>
    * <li><code>java.lang.String[]</code></li>
Index: dev/core/src/com/google/gwt/dev/Precompile.java
===================================================================
--- dev/core/src/com/google/gwt/dev/Precompile.java     (revision 8376)
+++ dev/core/src/com/google/gwt/dev/Precompile.java     (working copy)
@@ -472,11 +472,6 @@
               module.getActiveLinkerNames()), genDir);
       // Allow GC later.
       compilationState = null;
-      if (dumpSignatureFile != null) {
-        // Dump early to avoid generated types.
-        SignatureDumper.dumpSignatures(logger,
-            compilationState.getTypeOracle(), dumpSignatureFile);
-      }
       // Never optimize on a validation run.
       jjsOptions.setOptimizePrecompile(false);
       getCompiler(module).precompile(logger, module, rpo, declEntryPts,


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

Reply via email to