Revert "Warn on overriding of hidden methods"

This reverts commit fc66129b478d49f493b8262f81f8813a5f41459e.

Reason for revert: This was also reverted in internal

Bug: 64382372
Merged-In: I69bdc0fb79831b5ce546205fd40a3300d039de71
Change-Id: Ice53e73eae7313ae6c72369a1b2e984fb978f2ab
diff --git a/runtime/class_linker.cc b/runtime/class_linker.cc
index f720558..9990a37 100644
--- a/runtime/class_linker.cc
+++ b/runtime/class_linker.cc
@@ -5836,14 +5836,6 @@
       // smaller as we go on.
       uint32_t hash_index = hash_table.FindAndRemove(&super_method_name_comparator);
       if (hash_index != hash_table.GetNotFoundIndex()) {
-        // Run a check whether we are going to override a method which is hidden
-        // to `klass`, but ignore the result as we only warn at the moment.
-        // We cannot do this test earlier because we need to establish that
-        // a method is being overridden first. ShouldBlockAccessToMember would
-        // print bogus warnings otherwise.
-        hiddenapi::ShouldBlockAccessToMember(
-            super_method, klass->GetClassLoader(), hiddenapi::kOverride);
-
         ArtMethod* virtual_method = klass->GetVirtualMethodDuringLinking(
             hash_index, image_pointer_size_);
         if (super_method->IsFinal()) {
diff --git a/runtime/hidden_api.h b/runtime/hidden_api.h
index f2ea2fd..7ca2378 100644
--- a/runtime/hidden_api.h
+++ b/runtime/hidden_api.h
@@ -38,7 +38,6 @@
   kReflection,
   kJNI,
   kLinking,
-  kOverride,
 };
 
 inline std::ostream& operator<<(std::ostream& os, AccessMethod value) {
@@ -52,9 +51,6 @@
     case kLinking:
       os << "linking";
       break;
-    case kOverride:
-      os << "override";
-      break;
   }
   return os;
 }
diff --git a/test/674-hiddenapi/src-ex/ChildClass.java b/test/674-hiddenapi/src-ex/ChildClass.java
index 8cd237a..582e907 100644
--- a/test/674-hiddenapi/src-ex/ChildClass.java
+++ b/test/674-hiddenapi/src-ex/ChildClass.java
@@ -123,9 +123,6 @@
           // Check whether one can use an interface default method.
           String name = "method" + visibility.name() + "Default" + hiddenness.name();
           checkMethod(ParentInterface.class, name, /*isStatic*/ false, visibility, expected);
-
-          // Check whether one can override this method.
-          checkOverriding(suffix, isStatic, visibility, expected);
         }
 
         // Test whether static linking succeeds.
@@ -406,37 +403,6 @@
     }
   }
 
-  private static void checkOverriding(String suffix,
-                                      boolean isStatic,
-                                      Visibility visibility,
-                                      Behaviour behaviour) throws Exception {
-    if (isStatic || visibility == Visibility.Private) {
-      // Does not make sense to override a static or private method.
-      return;
-    }
-
-    // The classes are in the same package, but will be able to access each
-    // other only if loaded with the same class loader, here the boot class loader.
-    boolean canAccess = (visibility != Visibility.Package) || (isParentInBoot && isChildInBoot);
-    boolean setsWarning = false;  // warnings may be set during vtable linking
-
-    String methodName = "callMethod" + visibility.name() + suffix;
-
-    // Force the test class to link its vtable, which may cause warnings, before
-    // the actual test.
-    new OverrideClass().methodPublicWhitelist();
-
-    clearWarning();
-    if (Linking.canOverride(methodName) != canAccess) {
-      throw new RuntimeException("Expected to " + (canAccess ? "" : "not ") +
-          "be able to override " + methodName + "." +
-          "isParentInBoot = " + isParentInBoot + ", " + "isChildInBoot = " + isChildInBoot);
-    }
-    if (canAccess && hasPendingWarning() != setsWarning) {
-      throwWarningException(ParentClass.class, methodName, false, "static linking", setsWarning);
-    }
-  }
-
   private static void throwDiscoveryException(Class<?> klass, String name, boolean isField,
       String fn, boolean canAccess) {
     throw new RuntimeException("Expected " + (isField ? "field " : "method ") + klass.getName() +
diff --git a/test/674-hiddenapi/src-ex/Linking.java b/test/674-hiddenapi/src-ex/Linking.java
index b416250..a89b92b 100644
--- a/test/674-hiddenapi/src-ex/Linking.java
+++ b/test/674-hiddenapi/src-ex/Linking.java
@@ -14,7 +14,6 @@
  * limitations under the License.
  */
 
-import java.lang.reflect.Method;
 import java.lang.reflect.InvocationTargetException;
 
 public class Linking {
@@ -35,16 +34,6 @@
       }
     }
   }
-
-  public static boolean canOverride(String methodName) throws Exception {
-    // ParentClass returns only positive numbers, OverrideClass only negative.
-    // This way we can tell if OverrideClass managed to override the original
-    // method or not.
-    Method method = ParentClass.class.getDeclaredMethod(methodName);
-    int result1 = (int) method.invoke(new ParentClass());
-    int result2 = (int) method.invoke(new OverrideClass());
-    return (result1 > 0) && (result2 < 0);
-  }
 }
 
 // INSTANCE FIELD GET
diff --git a/test/674-hiddenapi/src-ex/OverrideClass.java b/test/674-hiddenapi/src-ex/OverrideClass.java
deleted file mode 100644
index 1f1f4d6..0000000
--- a/test/674-hiddenapi/src-ex/OverrideClass.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-public class OverrideClass extends ParentClass {
-
-  @Override public int methodPublicWhitelist() { return -411; }
-  @Override int methodPackageWhitelist() { return -412; }
-  @Override protected int methodProtectedWhitelist() { return -413; }
-
-  @Override public int methodPublicLightGreylist() { return -421; }
-  @Override int methodPackageLightGreylist() { return -422; }
-  @Override protected int methodProtectedLightGreylist() { return -423; }
-
-  @Override public int methodPublicDarkGreylist() { return -431; }
-  @Override int methodPackageDarkGreylist() { return -432; }
-  @Override protected int methodProtectedDarkGreylist() { return -433; }
-
-  @Override public int methodPublicBlacklist() { return -441; }
-  @Override int methodPackageBlacklist() { return -442; }
-  @Override protected int methodProtectedBlacklist() { return -443; }
-
-}