Cleanup special casing of Clinit.

Change-Id: I602b61643f739356a4b9e10f1f746c77a10b7557
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JMethod.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JMethod.java
index f31c96a..4b9f189 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JMethod.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JMethod.java
@@ -241,16 +241,14 @@
 
   @Override
   public boolean isJsNative() {
-    return body == null || (!isJsOverlay() && getEnclosingType().isJsNative());
+    return body == null
+        || (!isJsOverlay() && getEnclosingType().isJsNative() && !JProgram.isClinit(this));
   }
 
   @Override
   public boolean isJsOverlay() {
     return isJsOverlay
-        || getEnclosingType().isJsoType()
-        // Clinits are implicit overlays on native types and JsFunction interfaces.
-        || JProgram.isClinit(this)
-            && (getEnclosingType().isJsNative() || getEnclosingType().isJsFunction());
+        || getEnclosingType().isJsoType();
   }
 
   public void setSyntheticAccidentalOverride() {