Revert the behavior change related to JsNoExport

Revert a change that was unintentionally submitted as part of an earlier
patch:
e775da6f902d932770c3737f44e948614c98a327

Change-Id: I52f4de736f6fb2f72c028f428c4097c3316d889a
diff --git a/dev/core/src/com/google/gwt/dev/javac/JSORestrictionsChecker.java b/dev/core/src/com/google/gwt/dev/javac/JSORestrictionsChecker.java
index ffc0809..c742559 100644
--- a/dev/core/src/com/google/gwt/dev/javac/JSORestrictionsChecker.java
+++ b/dev/core/src/com/google/gwt/dev/javac/JSORestrictionsChecker.java
@@ -253,8 +253,9 @@
         }
       }
       Map<String, MethodBinding> methodSignatures = new HashMap<String, MethodBinding>();
+      Map<String, MethodBinding> noExports = new HashMap<String, MethodBinding>();
 
-      checkJsTypeMethodsForOverloads(methodSignatures, binding);
+      checkJsTypeMethodsForOverloads(methodSignatures, noExports, binding);
       for (MethodBinding mb : binding.methods()) {
         checkJsProperty(mb, true);
       }
@@ -332,10 +333,14 @@
     }
 
     private void checkJsTypeMethodsForOverloads(Map<String, MethodBinding> methodNamesAndSigs,
-                                                ReferenceBinding binding) {
+        Map<String, MethodBinding> noExports, ReferenceBinding binding) {
       if (isJsType(binding)) {
         for (MethodBinding mb : binding.methods()) {
           String methodName = String.valueOf(mb.selector);
+          if (JdtUtil.getAnnotation(mb, JsInteropUtil.JSNOEXPORT_CLASS) != null) {
+            noExports.put(methodName, mb);
+            continue;
+          }
           if (mb.isConstructor() || mb.isStatic()) {
             continue;
           }
@@ -347,6 +352,10 @@
           }
           if (methodNamesAndSigs.containsKey(methodName)) {
             if (!methodNamesAndSigs.get(methodName).areParameterErasuresEqual(mb)) {
+              if (noExports.containsKey(methodName)
+                  && noExports.get(methodName).areParameterErasuresEqual(mb)) {
+                continue;
+              }
               errorOn(mb, ERR_JSTYPE_OVERLOADS_NOT_ALLOWED);
             }
           } else {
@@ -355,7 +364,7 @@
         }
       }
       for (ReferenceBinding rb : binding.superInterfaces()) {
-        checkJsTypeMethodsForOverloads(methodNamesAndSigs, rb);
+        checkJsTypeMethodsForOverloads(methodNamesAndSigs, noExports, rb);
       }
     }