Allow CssResource @url syntax to find DataResource methods declared in bundle super-interfaces.
Misc formatting cleanups.

Patch by: nwolf
Review by: bobv

git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@5667 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/user/src/com/google/gwt/resources/rg/CssResourceGenerator.java b/user/src/com/google/gwt/resources/rg/CssResourceGenerator.java
index dff332a..e8af11d 100644
--- a/user/src/com/google/gwt/resources/rg/CssResourceGenerator.java
+++ b/user/src/com/google/gwt/resources/rg/CssResourceGenerator.java
@@ -946,10 +946,18 @@
           String functionName = def.getValues().get(0).isIdentValue().getIdent();
 
           // Find the method
-          JMethod method = context.getClientBundleType().findMethod(
-              functionName, new JType[0]);
+          JMethod methods[] = context.getClientBundleType().getOverridableMethods();
+          boolean foundMethod = false;
+          if (methods != null) {
+            for (JMethod method : methods) {
+              if (method.getName().equals(functionName)) {
+                foundMethod = true;
+                break;
+              }
+            }
+          }
 
-          if (method == null) {
+          if (!foundMethod) {
             logger.log(TreeLogger.ERROR, "Unable to find DataResource method "
                 + functionName + " in "
                 + context.getClientBundleType().getQualifiedSourceName());
diff --git a/user/test/com/google/gwt/resources/client/CSSResourceTest.java b/user/test/com/google/gwt/resources/client/CSSResourceTest.java
index 6cc3eca..b0c4664 100644
--- a/user/test/com/google/gwt/resources/client/CSSResourceTest.java
+++ b/user/test/com/google/gwt/resources/client/CSSResourceTest.java
@@ -28,6 +28,13 @@
  */
 public class CSSResourceTest extends GWTTestCase {
 
+  interface ChildResources extends Resources {
+    ChildResources INSTANCE = GWT.create(ChildResources.class);
+
+    @Source("16x16.png")
+    ImageResource spriteMethod();
+  }
+
   interface ConcatenatedResources extends ClientBundle {
     @Source(value = {"concatenatedA.css", "concatenatedB.css"})
     @Strict
@@ -44,10 +51,10 @@
     String lengthString();
 
     int overrideInt();
-    
+
     @ClassName("overrideInt")
     String overrideIntClass();
-    
+
     double percentFloat();
 
     int percentInt();
@@ -168,6 +175,14 @@
     System.out.println(s);
   }
 
+  public void testChildResources() {
+    Resources parentResource = GWT.create(Resources.class);
+    ChildResources childResource = GWT.create(ChildResources.class);
+
+    assertEquals(parentResource.dataMethod().getName(),
+        childResource.dataMethod().getName());
+  }
+
   public void testConcatenatedResource() {
     ConcatenatedResources r = GWT.create(ConcatenatedResources.class);
     String text = r.css().getText();
@@ -270,7 +285,7 @@
 
     assertEquals("100px", defines.lengthString());
     assertEquals("#f00", defines.colorString());
-    
+
     assertEquals(10, defines.overrideInt());
     assertNotNull(defines.overrideIntClass());
     assertFalse("10px".equals(defines.overrideIntClass()));