Adding explicit casts to the return value of certain methods to help the javac compiler. Some compilers require the explicit cast.
Review at http://gwt-code-reviews.appspot.com/1463810
Review by: robertvawter@google.com
git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@10413 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/user/src/com/google/gwt/dom/builder/client/DomElementBuilderBase.java b/user/src/com/google/gwt/dom/builder/client/DomElementBuilderBase.java
index f1d07ba..6fb6ea5 100644
--- a/user/src/com/google/gwt/dom/builder/client/DomElementBuilderBase.java
+++ b/user/src/com/google/gwt/dom/builder/client/DomElementBuilderBase.java
@@ -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();
}
/**
diff --git a/user/src/com/google/gwt/dom/builder/shared/HtmlElementBuilderBase.java b/user/src/com/google/gwt/dom/builder/shared/HtmlElementBuilderBase.java
index fcc9f99..032f167 100644
--- a/user/src/com/google/gwt/dom/builder/shared/HtmlElementBuilderBase.java
+++ b/user/src/com/google/gwt/dom/builder/shared/HtmlElementBuilderBase.java
@@ -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