Updates to take advantage of allowing undefined in Java code.

Review by: jgw (desk)


git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@2488 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/user/src/com/google/gwt/core/client/JavaScriptException.java b/user/src/com/google/gwt/core/client/JavaScriptException.java
index d6f6aef..01c9564 100644
--- a/user/src/com/google/gwt/core/client/JavaScriptException.java
+++ b/user/src/com/google/gwt/core/client/JavaScriptException.java
@@ -37,10 +37,7 @@
   }
 
   private static native String getDescription0(JavaScriptObject e) /*-{
-    if (e == null) {
-      return null;
-    }
-    return e.message == null ? null : e.message;
+    return (e == null) ? null : e.message;
   }-*/;
 
   private static JavaScriptObject getException(Object e) {
@@ -64,18 +61,12 @@
   }
 
   private static native String getName0(JavaScriptObject e) /*-{
-    if (e == null) {
-      return null;
-    }
-    return e.name == null ? null : e.name;
+    return (e == null) ? null : e.name;
   }-*/;
 
   private static String getProperties(Object e) {
-    if (e instanceof JavaScriptObject) {
-      return getProperties0((JavaScriptObject) e);
-    } else {
-      return "";
-    }
+    return (e instanceof JavaScriptObject)
+        ? getProperties0((JavaScriptObject) e) : "";
   }
 
   /**
diff --git a/user/src/com/google/gwt/dom/client/DOMImpl.java b/user/src/com/google/gwt/dom/client/DOMImpl.java
index 19ab00c..e9dadd2 100644
--- a/user/src/com/google/gwt/dom/client/DOMImpl.java
+++ b/user/src/com/google/gwt/dom/client/DOMImpl.java
@@ -75,12 +75,11 @@
     var child = elem.firstChild;
     while (child && child.nodeType != 1)
       child = child.nextSibling;
-    return child || null;
+    return child;
   }-*/;
 
   public native String getInnerHTML(Element elem) /*-{
-    var ret = elem.innerHTML;
-    return (ret == null) ? null : ret;
+    return elem.innerHTML;
   }-*/;
 
   public native String getInnerText(Element node) /*-{
@@ -107,7 +106,7 @@
     var sib = elem.nextSibling;
     while (sib && sib.nodeType != 1)
       sib = sib.nextSibling;
-    return sib || null;
+    return sib;
   }-*/;
 
   public native Element getParentElement(Element elem) /*-{
@@ -117,12 +116,11 @@
     }
     if (parent.nodeType != 1)
       parent = null;
-    return parent || null;
+    return parent;
   }-*/;
 
   public native String getStyleAttribute(Element elem, String attr) /*-{
-    var ret = elem.style[attr];
-    return (ret == null) ? null : ret;
+    return elem.style[attr];
   }-*/;
 
   public native String imgGetSrc(Element img) /*-{
diff --git a/user/src/com/google/gwt/dom/client/DOMImplIE6.java b/user/src/com/google/gwt/dom/client/DOMImplIE6.java
index a41f4f5..fe4e816 100644
--- a/user/src/com/google/gwt/dom/client/DOMImplIE6.java
+++ b/user/src/com/google/gwt/dom/client/DOMImplIE6.java
@@ -55,14 +55,12 @@
 
   @Override
   public native String getInnerText(Element elem) /*-{
-    var ret = elem.innerText;
-    return (ret == null) ? null : ret;
+    return elem.innerText;
   }-*/;
 
   @Override
   public native Element getParentElement(Element elem) /*-{
-    var parent = elem.parentElement;
-    return parent || null;
+    return elem.parentElement;
   }-*/;
 
   /*
diff --git a/user/src/com/google/gwt/dom/client/Element.java b/user/src/com/google/gwt/dom/client/Element.java
index 6ce667c..dd7c632 100644
--- a/user/src/com/google/gwt/dom/client/Element.java
+++ b/user/src/com/google/gwt/dom/client/Element.java
@@ -219,8 +219,7 @@
    * @return the property value
    */
   public final native String getPropertyString(String name) /*-{
-    var ret = this[name];
-    return (ret == null) ? null : String(ret);
+    return String(this[name]);
   }-*/;
 
   /**
diff --git a/user/src/com/google/gwt/dom/client/ImageSrcIE6.java b/user/src/com/google/gwt/dom/client/ImageSrcIE6.java
index 6520bd0..56f2974 100644
--- a/user/src/com/google/gwt/dom/client/ImageSrcIE6.java
+++ b/user/src/com/google/gwt/dom/client/ImageSrcIE6.java
@@ -168,7 +168,7 @@
    * has no pending src URL.
    */
   private static native String getPendingSrc(Element img) /*-{
-    return img.__pendingSrc || null;
+    return img.__pendingSrc;
   }-*/;
 
   /**
@@ -176,7 +176,7 @@
    * there is no pending parent for the specified URL.
    */
   private static native Element getTop(JavaScriptObject srcImgMap, String src) /*-{
-    return srcImgMap[src] || null;
+    return srcImgMap[src];
   }-*/;
 
   /**
diff --git a/user/src/com/google/gwt/i18n/rebind/LocaleInfoGenerator.java b/user/src/com/google/gwt/i18n/rebind/LocaleInfoGenerator.java
index d71bffd..e49bbf4 100644
--- a/user/src/com/google/gwt/i18n/rebind/LocaleInfoGenerator.java
+++ b/user/src/com/google/gwt/i18n/rebind/LocaleInfoGenerator.java
@@ -131,7 +131,7 @@
       writer.println();
       writer.println("public native String getLocaleNativeDisplayName(String localeName) /*-{");
       writer.println("  this.@" + qualName + "::ensureNativeDisplayNames()();");
-      writer.println("  return this.@" + qualName + "::nativeDisplayNames[localeName] || null;");
+      writer.println("  return this.@" + qualName + "::nativeDisplayNames[localeName];");
       writer.println("}-*/;");
       writer.println();
       writer.println("private native void ensureNativeDisplayNames() /*-{");
diff --git a/user/src/com/google/gwt/user/client/impl/DOMImplIE6.java b/user/src/com/google/gwt/user/client/impl/DOMImplIE6.java
index 11cda6c..a9ab92e 100644
--- a/user/src/com/google/gwt/user/client/impl/DOMImplIE6.java
+++ b/user/src/com/google/gwt/user/client/impl/DOMImplIE6.java
@@ -59,12 +59,12 @@
 
   @Override
   public native Element eventGetTarget(Event evt) /*-{
-    return evt.srcElement || null;
+    return evt.srcElement;
   }-*/;
 
   @Override
   public native Element eventGetToElement(Event evt) /*-{
-    return evt.toElement || null;
+    return evt.toElement;
   }-*/;
 
   @Override
@@ -80,8 +80,7 @@
 
   @Override
   public native Element getChild(Element elem, int index) /*-{
-    var child = elem.children[index];
-    return child || null;
+    return elem.children[index];
   }-*/;
 
   @Override
diff --git a/user/src/com/google/gwt/user/client/impl/DOMImplStandard.java b/user/src/com/google/gwt/user/client/impl/DOMImplStandard.java
index 7385679..9961511 100644
--- a/user/src/com/google/gwt/user/client/impl/DOMImplStandard.java
+++ b/user/src/com/google/gwt/user/client/impl/DOMImplStandard.java
@@ -41,23 +41,23 @@
   @Override
   public native Element eventGetFromElement(Event evt) /*-{
     if (evt.type == "mouseover")
-     return evt.relatedTarget || null;
+      return evt.relatedTarget;
     if (evt.type == "mouseout")
-      return evt.target || null;
+      return evt.target;
     return null;  
   }-*/;
 
   @Override
   public native Element eventGetTarget(Event evt) /*-{
-    return evt.target || null;
+    return evt.target;
   }-*/;
 
   @Override
   public native Element eventGetToElement(Event evt) /*-{
     if (evt.type == "mouseover")
-      return evt.target || null;
+      return evt.target;
     if (evt.type == "mouseout")
-      return evt.relatedTarget || null;
+      return evt.relatedTarget;
     return null;
   }-*/;
 
diff --git a/user/src/com/google/gwt/user/client/impl/HistoryImplFrame.java b/user/src/com/google/gwt/user/client/impl/HistoryImplFrame.java
index bb58077..a26fcd0 100644
--- a/user/src/com/google/gwt/user/client/impl/HistoryImplFrame.java
+++ b/user/src/com/google/gwt/user/client/impl/HistoryImplFrame.java
@@ -24,19 +24,16 @@
 abstract class HistoryImplFrame extends HistoryImpl {
 
   private static native Element findHistoryFrame() /*-{
-    var historyFrame = $doc.getElementById('__gwt_historyFrame');
-    return historyFrame || null;
+    return $doc.getElementById('__gwt_historyFrame');
   }-*/;
 
   private static native Element getTokenElement(Element historyFrame) /*-{
     // Initialize the history iframe.  If '__gwt_historyToken' already exists, then
     // we're probably backing into the app, so _don't_ set the iframe's location.
-    var tokenElement = null;
     if (historyFrame.contentWindow) {
       var doc = historyFrame.contentWindow.document;
-      tokenElement = doc.getElementById('__gwt_historyToken') || null;
+      return doc.getElementById('__gwt_historyToken');
     }
-    return tokenElement;
   }-*/;
 
   private Element historyFrame;
diff --git a/user/src/com/google/gwt/user/client/ui/HTMLTable.java b/user/src/com/google/gwt/user/client/ui/HTMLTable.java
index 103180d..8fbad57 100644
--- a/user/src/com/google/gwt/user/client/ui/HTMLTable.java
+++ b/user/src/com/google/gwt/user/client/ui/HTMLTable.java
@@ -305,9 +305,8 @@
      * @return the element
      */
     private native Element getCellElement(Element table, int row, int col) /*-{
-     var out = table.rows[row].cells[col];
-     return (out == null ? null : out);
-     }-*/;
+      return table.rows[row].cells[col];
+    }-*/;
 
     /**
      * Gets the TD element representing the specified cell unsafely (meaning
diff --git a/user/src/com/google/gwt/user/rebind/rpc/TypeSerializerCreator.java b/user/src/com/google/gwt/user/rebind/rpc/TypeSerializerCreator.java
index 7fefb93..9e70229 100644
--- a/user/src/com/google/gwt/user/rebind/rpc/TypeSerializerCreator.java
+++ b/user/src/com/google/gwt/user/rebind/rpc/TypeSerializerCreator.java
@@ -426,9 +426,8 @@
       String serializerTypeName = serializationOracle.getTypeSerializerQualifiedName(getServiceInterface());
       srcWriter.println("public native String getSerializationSignature(String typeName) /*-" + '{');
       srcWriter.indent();
-      srcWriter.println("var signature = @" + serializerTypeName
+      srcWriter.println("return @" + serializerTypeName
           + "::signatureMap[typeName];");
-      srcWriter.println("return signature || null;");
       srcWriter.outdent();
       srcWriter.println("}-*/;");
     }
diff --git a/user/src/com/google/gwt/xml/client/impl/XMLParserImpl.java b/user/src/com/google/gwt/xml/client/impl/XMLParserImpl.java
index c1b8737..e9cdc0f 100644
--- a/user/src/com/google/gwt/xml/client/impl/XMLParserImpl.java
+++ b/user/src/com/google/gwt/xml/client/impl/XMLParserImpl.java
@@ -34,8 +34,7 @@
 
   static native JavaScriptObject appendChild(JavaScriptObject jsObject,
       JavaScriptObject newChildJs) /*-{
-    var out = jsObject.appendChild(newChildJs);
-    return (out == null) ? null : out;
+    return jsObject.appendChild(newChildJs);
   }-*/;
 
   static native void appendData(JavaScriptObject jsObject, String arg) /*-{
@@ -44,44 +43,37 @@
 
   static native JavaScriptObject cloneNode(JavaScriptObject jsObject,
       boolean deep) /*-{
-    var out = jsObject.cloneNode(deep);
-    return (out == null) ? null : out;
+    return jsObject.cloneNode(deep);
   }-*/;
 
   static native JavaScriptObject createCDATASection(JavaScriptObject jsObject,
       String data) /*-{
-    var out = jsObject.createCDATASection(data);
-    return (out == null) ? null : out;
+    return jsObject.createCDATASection(data);
   }-*/;
 
   static native JavaScriptObject createComment(JavaScriptObject jsObject,
       String data) /*-{
-    var out = jsObject.createComment(data);
-    return (out == null) ? null : out;
+    return jsObject.createComment(data);
   }-*/;
 
   static native JavaScriptObject createDocumentFragment(
       JavaScriptObject jsObject) /*-{
-    var out = jsObject.createDocumentFragment();
-    return (out == null) ? null : out;
+    return jsObject.createDocumentFragment();
   }-*/;
 
   static native JavaScriptObject createElement(JavaScriptObject jsObject,
       String tagName) /*-{
-    var out = jsObject.createElement(tagName);
-    return (out == null) ? null : out;
+    return jsObject.createElement(tagName);
   }-*/;
 
   static native JavaScriptObject createProcessingInstruction(
       JavaScriptObject jsObject, String target, String data) /*-{
-    var out = jsObject.createProcessingInstruction(target, data);
-    return (out == null) ? null : out;
+    return jsObject.createProcessingInstruction(target, data);
   }-*/;
 
   static native JavaScriptObject createTextNode(JavaScriptObject jsObject,
       String data) /*-{
-    var out = jsObject.createTextNode(data);
-    return (out == null) ? null : out;
+    return jsObject.createTextNode(data);
   }-*/;
 
   static native void deleteData(JavaScriptObject jsObject, int offset, int count) /*-{
@@ -94,8 +86,7 @@
 
   static native JavaScriptObject getAttributeNode(JavaScriptObject o,
       String name) /*-{
-    var out = o.getAttributeNode(name);
-    return (out == null) ? null : out;
+    return o.getAttributeNode(name);
   }-*/;
 
   static native JavaScriptObject getAttributes(JavaScriptObject t) /*-{
@@ -103,8 +94,7 @@
   }-*/;
 
   static native JavaScriptObject getChildNodes(JavaScriptObject t) /*-{
-    var out = t.childNodes;
-    return (out == null) ? null : out;
+    return t.childNodes;
   }-*/;
 
   static native String getData(JavaScriptObject o) /*-{
@@ -133,23 +123,19 @@
   }-*/;
 
   static native JavaScriptObject getNamedItem(JavaScriptObject t, String name) /*-{
-    var out = t.getNamedItem(name);
-    return (out == null) ? null : out;
+    return t.getNamedItem(name);
   }-*/;
 
   static native String getNamespaceURI(JavaScriptObject jsObject) /*-{
-    var out = jsObject.namespaceURI;
-    return (out == null) ? null : out;
+    return jsObject.namespaceURI;
   }-*/;
 
   static native JavaScriptObject getNextSibling(JavaScriptObject o) /*-{
-    var out = o.nextSibling;
-    return (out == null) ? null : out;
+    return o.nextSibling;
   }-*/;
 
   static native String getNodeName(JavaScriptObject o) /*-{
-    var out = o.nodeName;
-    return (out == null) ? null : out;
+    return o.nodeName;
   }-*/;
 
   static native short getNodeType(JavaScriptObject jsObject) /*-{
@@ -166,8 +152,7 @@
   }-*/;
 
   static native JavaScriptObject getParentNode(JavaScriptObject o) /*-{
-    var out = o.parentNode;
-    return (out == null) ? null : out;    
+    return o.parentNode;
   }-*/;
 
   static String getPrefix(JavaScriptObject jsObject) {
@@ -209,8 +194,7 @@
 
   static native JavaScriptObject insertBefore(JavaScriptObject jsObject,
       JavaScriptObject newChildJs, JavaScriptObject refChildJs) /*-{
-    var out = jsObject.insertBefore(newChildJs, refChildJs);
-    return (out == null) ? null : out;
+    return jsObject.insertBefore(newChildJs, refChildJs);
   }-*/;
 
   static native void insertData(JavaScriptObject jsObject, int offset,
@@ -222,8 +206,7 @@
     if (index >= t.length) {
       return null;
     }
-    var out = t.item(index);   
-    return (out == null) ? null : out;
+    return t.item(index);   
   }-*/;
 
   static native void normalize(JavaScriptObject jsObject) /*-{
@@ -236,20 +219,17 @@
 
   static native JavaScriptObject removeChild(JavaScriptObject jsObject,
       JavaScriptObject oldChildJs) /*-{
-    var out = jsObject.removeChild(oldChildJs);
-    return (out == null) ? null : out;
+    return jsObject.removeChild(oldChildJs);
   }-*/;
 
   static native JavaScriptObject removeNamedItem(JavaScriptObject jsObject,
       String name) /*-{
-    var out = jsObject.removeNamedItem(name);
-    return (out == null) ? null : out;
+    return jsObject.removeNamedItem(name);
   }-*/;
 
   static native JavaScriptObject replaceChild(JavaScriptObject jsObject,
       JavaScriptObject newChildJs, JavaScriptObject oldChildJs) /*-{
-    var out = jsObject.replaceChild(newChildJs, oldChildJs);
-    return (out == null) ? null : out;
+    return jsObject.replaceChild(newChildJs, oldChildJs);
   }-*/;
 
   static native void replaceData(JavaScriptObject jsObject, int offset,
@@ -268,8 +248,7 @@
 
   static native JavaScriptObject setNamedItem(JavaScriptObject jsObject,
       JavaScriptObject arg) /*-{
-    var out = jsObject.setNamedItem(arg);
-    return (out == null) ? null : out;
+    return jsObject.setNamedItem(arg);
   }-*/;
 
   static native void setNodeValue(JavaScriptObject jsObject, String nodeValue) /*-{
@@ -277,8 +256,7 @@
   }-*/;
 
   static native JavaScriptObject splitText(JavaScriptObject jsObject, int offset) /*-{
-    var out = jsObject.splitText(offset);
-    return (out == null) ? null : out;
+    return jsObject.splitText(offset);
   }-*/;
 
   static native String substringData(JavaScriptObject o, int offset, int count) /*-{
diff --git a/user/src/com/google/gwt/xml/client/impl/XMLParserImplIE6.java b/user/src/com/google/gwt/xml/client/impl/XMLParserImplIE6.java
index e3401aa..f95ac69 100644
--- a/user/src/com/google/gwt/xml/client/impl/XMLParserImplIE6.java
+++ b/user/src/com/google/gwt/xml/client/impl/XMLParserImplIE6.java
@@ -34,8 +34,7 @@
   @Override
   protected native JavaScriptObject getElementByIdImpl(JavaScriptObject o,
       String elementId) /*-{
-    var out = o.nodeFromID(elementId);
-    return (out == null) ? null : out;
+    return o.nodeFromID(elementId);
   }-*/;
 
   @Override
diff --git a/user/src/com/google/gwt/xml/client/impl/XMLParserImplStandard.java b/user/src/com/google/gwt/xml/client/impl/XMLParserImplStandard.java
index 9bed98c..e5ab10a 100644
--- a/user/src/com/google/gwt/xml/client/impl/XMLParserImplStandard.java
+++ b/user/src/com/google/gwt/xml/client/impl/XMLParserImplStandard.java
@@ -58,8 +58,7 @@
   @Override
   protected native JavaScriptObject importNodeImpl(JavaScriptObject jsObject,
       JavaScriptObject importedNode, boolean deep) /*-{
-    var out = jsObject.importNode(importedNode, deep);
-    return (out == null) ? null : out;
+    return jsObject.importNode(importedNode, deep);
   }-*/;
 
   @Override
diff --git a/user/super/com/google/gwt/emul/java/lang/Enum.java b/user/super/com/google/gwt/emul/java/lang/Enum.java
index f635ef8..cfbac7e 100644
--- a/user/super/com/google/gwt/emul/java/lang/Enum.java
+++ b/user/super/com/google/gwt/emul/java/lang/Enum.java
@@ -65,7 +65,7 @@
 
   private static native <T extends Enum<T>> T valueOf0(JavaScriptObject map,
       String name) /*-{
-    return map[name] || null;
+    return map[name];
   }-*/;
 
   private final String name;