Reviewers: robertvawter,

Description:
Adding explicit casts to the return value of certain methods to help the
javac compiler.  Some compilers require the explicit cast.


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

Affected files:
  M user/src/com/google/gwt/dom/builder/client/DomElementBuilderBase.java
  M user/src/com/google/gwt/dom/builder/shared/HtmlElementBuilderBase.java


Index: user/src/com/google/gwt/dom/builder/client/DomElementBuilderBase.java
===================================================================
--- user/src/com/google/gwt/dom/builder/client/DomElementBuilderBase.java (revision 10412) +++ user/src/com/google/gwt/dom/builder/client/DomElementBuilderBase.java (working copy)
@@ -82,6 +82,7 @@
   @SuppressWarnings("unchecked")
   @Override
   public <B extends ElementBuilderBase<?>> B end() {
+    // An explicit cast is required to satisfy some javac compilers.
     return (B) delegate.end();
   }

@@ -91,19 +92,22 @@
     return (B) delegate.end(tagName);
   }

+  @SuppressWarnings("unchecked")
   @Override
   public <B extends ElementBuilderBase<?>> B endDiv() {
-    return end("div");
-  }
-
+    return (B) end("div");
+  }
+
+  @SuppressWarnings("unchecked")
   @Override
   public <B extends ElementBuilderBase<?>> B endOption() {
-    return end("option");
-  }
-
+    return (B) end("option");
+  }
+
+  @SuppressWarnings("unchecked")
   @Override
   public <B extends ElementBuilderBase<?>> B endSelect() {
-    return end("select");
+    return (B) end("select");
   }

   @Override
@@ -178,7 +182,11 @@
    * @return the element on which the attribute can be set
    */
   protected E assertCanAddAttribute() {
-    return delegate.assertCanAddAttribute().cast();
+    /*
+ * An explicit parameterized return type on cast() is required by some javac
+     * compilers.
+     */
+    return delegate.assertCanAddAttribute().<E> cast();
   }

   /**
Index: user/src/com/google/gwt/dom/builder/shared/HtmlElementBuilderBase.java
===================================================================
--- user/src/com/google/gwt/dom/builder/shared/HtmlElementBuilderBase.java (revision 10412) +++ user/src/com/google/gwt/dom/builder/shared/HtmlElementBuilderBase.java (working copy)
@@ -84,6 +84,7 @@
   @SuppressWarnings("unchecked")
   @Override
   public <B extends ElementBuilderBase<?>> B end() {
+    // An explicit cast is required to satisfy some javac compilers.
     return (B) delegate.end();
   }

@@ -93,19 +94,22 @@
     return (B) delegate.end(tagName);
   }

+  @SuppressWarnings("unchecked")
   @Override
   public <B extends ElementBuilderBase<?>> B endDiv() {
-    return end("div");
+    return (B) end("div");
   }

+  @SuppressWarnings("unchecked")
   @Override
   public <B extends ElementBuilderBase<?>> B endOption() {
-    return end("option");
+    return (B) end("option");
   }

+  @SuppressWarnings("unchecked")
   @Override
   public <B extends ElementBuilderBase<?>> B endSelect() {
-    return end("select");
+    return (B) end("select");
   }

   @Override


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

Reply via email to