Revert "Add instanceof and check cast enqueuer callbacks"
This reverts commit 0e1ab840340b87b656984d2909f1ff14533064bd.
Reason for revert: Compile fails
Change-Id: Ife2717aa52582556cbb6b3a0b64c293fda6f514b
diff --git a/src/main/java/com/android/tools/r8/graph/analysis/EnqueuerCheckCastAnalysis.java b/src/main/java/com/android/tools/r8/graph/analysis/EnqueuerCheckCastAnalysis.java
deleted file mode 100644
index 503e74e..0000000
--- a/src/main/java/com/android/tools/r8/graph/analysis/EnqueuerCheckCastAnalysis.java
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright (c) 2020, the R8 project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-package com.android.tools.r8.graph.analysis;
-
-import com.android.tools.r8.graph.DexType;
-import com.android.tools.r8.graph.ProgramMethod;
-
-public interface EnqueuerCheckCastAnalysis {
- void traceCheckCast(DexType type, ProgramMethod context);
-}
diff --git a/src/main/java/com/android/tools/r8/graph/analysis/EnqueuerInstanceOfAnalysis.java b/src/main/java/com/android/tools/r8/graph/analysis/EnqueuerInstanceOfAnalysis.java
deleted file mode 100644
index abda4d1..0000000
--- a/src/main/java/com/android/tools/r8/graph/analysis/EnqueuerInstanceOfAnalysis.java
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright (c) 2020, the R8 project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-package com.android.tools.r8.graph.analysis;
-
-import com.android.tools.r8.graph.DexType;
-import com.android.tools.r8.graph.ProgramMethod;
-
-public interface EnqueuerInstanceOfAnalysis {
- void traceInstanceOf(DexType type, ProgramMethod context);
-}
diff --git a/src/main/java/com/android/tools/r8/shaking/Enqueuer.java b/src/main/java/com/android/tools/r8/shaking/Enqueuer.java
index ed5940c..d1455a7 100644
--- a/src/main/java/com/android/tools/r8/shaking/Enqueuer.java
+++ b/src/main/java/com/android/tools/r8/shaking/Enqueuer.java
@@ -72,8 +72,6 @@
import com.android.tools.r8.graph.UseRegistry.MethodHandleUse;
import com.android.tools.r8.graph.analysis.DesugaredLibraryConversionWrapperAnalysis;
import com.android.tools.r8.graph.analysis.EnqueuerAnalysis;
-import com.android.tools.r8.graph.analysis.EnqueuerCheckCastAnalysis;
-import com.android.tools.r8.graph.analysis.EnqueuerInstanceOfAnalysis;
import com.android.tools.r8.graph.analysis.EnqueuerInvokeAnalysis;
import com.android.tools.r8.ir.analysis.proto.ProtoEnqueuerUseRegistry;
import com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension;
@@ -186,8 +184,6 @@
private Set<EnqueuerAnalysis> analyses = Sets.newIdentityHashSet();
private Set<EnqueuerInvokeAnalysis> invokeAnalyses = Sets.newIdentityHashSet();
- private Set<EnqueuerInstanceOfAnalysis> instanceOfAnalyses = Sets.newIdentityHashSet();
- private Set<EnqueuerCheckCastAnalysis> checkCastAnalyses = Sets.newIdentityHashSet();
// Don't hold a direct pointer to app info (use appView).
private AppInfoWithClassHierarchy appInfo;
@@ -440,16 +436,6 @@
return this;
}
- public Enqueuer registerInstanceOfAnalysis(EnqueuerInstanceOfAnalysis analysis) {
- instanceOfAnalysis.add(analysis);
- return this;
- }
-
- public Enqueuer registerCheckCastAnalysis(EnqueuerCheckCastAnalysis analysis) {
- checkCastAnalysis.add(analysis);
- return this;
- }
-
public void setAnnotationRemoverBuilder(AnnotationRemover.Builder annotationRemoverBuilder) {
this.annotationRemoverBuilder = annotationRemoverBuilder;
}
@@ -919,13 +905,9 @@
}
boolean traceCheckCast(DexType type, ProgramMethod currentMethod) {
- checkCastAnalysis.forEach(analysis -> analysis.traceCheckCast(type, currentMethod));
return traceConstClassOrCheckCast(type, currentMethod);
}
- // TODO(b/163311975): traceInstanceOf (impl. by b/163471800) should call
- // analysis.traceInstanceOf(...)
-
boolean traceConstClass(DexType type, ProgramMethod currentMethod) {
// We conservatively group T.class and T[].class to ensure that we do not merge T with S if
// potential locks on T[].class and S[].class exists.