Revision: 6826
Author: [email protected]
Date: Tue Nov 10 16:45:48 2009
Log: Merge trunk r6825 into this branch
  Fixes an NPE when resolving a type signature with an unknown class.

     svn merge --ignore-ancestry -c6825 \
       https://google-web-toolkit.googlecode.com/svn/trunk/ .


http://code.google.com/p/google-web-toolkit/source/detail?r=6826

Modified:
  /releases/2.0/branch-info.txt
   
/releases/2.0/dev/core/src/com/google/gwt/dev/javac/asm/ResolveTypeSignature.java

=======================================
--- /releases/2.0/branch-info.txt       Tue Nov 10 14:44:37 2009
+++ /releases/2.0/branch-info.txt       Tue Nov 10 16:45:48 2009
@@ -529,3 +529,8 @@
    layout panel units default to PX (instead of NPE, ahem)
    svn merge --ignore-ancestry -c 6810  
https://google-web-toolkit.googlecode.com/svn/trunk .
    svn merge --ignore-ancestry -c 6813  
https://google-web-toolkit.googlecode.com/svn/trunk .
+
+tr...@6825 was merged into this branch
+ Fixes an NPE when resolving a type signature with an unknown class.
+    svn merge --ignore-ancestry -c6825 \
+      https://google-web-toolkit.googlecode.com/svn/trunk/ .
=======================================
---  
/releases/2.0/dev/core/src/com/google/gwt/dev/javac/asm/ResolveTypeSignature.java
        
Tue Nov 10 11:37:16 2009
+++  
/releases/2.0/dev/core/src/com/google/gwt/dev/javac/asm/ResolveTypeSignature.java
        
Tue Nov 10 16:45:48 2009
@@ -133,7 +133,12 @@
      assert Name.isInternalName(internalName);
      outerClass = enclosingClass;
      JRealClassType classType = binaryMapper.get(internalName);
-    boolean resolveSuccess = resolver.resolveClass(logger, classType);
+    // TODO(jat): failures here are likely binary-only annotations or local
+    // classes that have been elided from TypeOracle -- what should we do  
in
+    // those cases?  Currently we log an error and replace them with  
Object,
+    // but we may can do something better.
+    boolean resolveSuccess = classType == null ? false
+        : resolver.resolveClass(logger, classType);
      returnTypeRef[0] = classType;
      if (!resolveSuccess || returnTypeRef[0] == null) {
        logger.log(TreeLogger.ERROR, "Unable to resolve class " +  
internalName);

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

Reply via email to