Set that publicized private methods not override library methods

Otherwise the caching will not consistent with computing
lookupSingleVirtualTarget.

Bug: 150478845
Bug: 150589374
Change-Id: Ie59c8eef58cb32c7b3c6b952d635c370b97f0d0b
diff --git a/src/main/java/com/android/tools/r8/optimize/ClassAndMemberPublicizer.java b/src/main/java/com/android/tools/r8/optimize/ClassAndMemberPublicizer.java
index 317cb3b..b319c6d 100644
--- a/src/main/java/com/android/tools/r8/optimize/ClassAndMemberPublicizer.java
+++ b/src/main/java/com/android/tools/r8/optimize/ClassAndMemberPublicizer.java
@@ -18,6 +18,7 @@
 import com.android.tools.r8.ir.optimize.MethodPoolCollection;
 import com.android.tools.r8.optimize.PublicizerLense.PublicizedLenseBuilder;
 import com.android.tools.r8.shaking.AppInfoWithLiveness;
+import com.android.tools.r8.utils.OptionalBool;
 import com.android.tools.r8.utils.Timing;
 import java.util.LinkedHashSet;
 import java.util.Set;
@@ -110,6 +111,8 @@
       return false;
     }
     if (!accessFlags.isPrivate() || appView.dexItemFactory().isConstructor(encodedMethod.method)) {
+      // TODO(b/150589374): This should check for dispatch targets or just abandon in
+      //  package-private.
       accessFlags.promoteToPublic();
       return false;
     }
@@ -142,6 +145,7 @@
       // Although the current method became public, it surely has the single virtual target.
       encodedMethod.method.setSingleVirtualMethodCache(
           encodedMethod.method.holder, encodedMethod);
+      encodedMethod.setLibraryMethodOverride(OptionalBool.FALSE);
       return true;
     }