Remove forEach() overloads taking BiConsumer
Change-Id: I76b2c2c52be04f7b74b5937e3a96fbdc0b684eb8
diff --git a/src/main/java/com/android/tools/r8/graph/DexProgramClass.java b/src/main/java/com/android/tools/r8/graph/DexProgramClass.java
index 569fc34..e27c7b4 100644
--- a/src/main/java/com/android/tools/r8/graph/DexProgramClass.java
+++ b/src/main/java/com/android/tools/r8/graph/DexProgramClass.java
@@ -23,7 +23,6 @@
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
-import java.util.function.BiConsumer;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.Predicate;
@@ -144,16 +143,6 @@
predicate, method -> consumer.accept(new ProgramMethod(this, method)));
}
- public void forEachProgramMethod(BiConsumer<DexEncodedMethod, ProgramMethod> consumer) {
- forEachProgramMethodMatching(alwaysTrue(), consumer);
- }
-
- public void forEachProgramMethodMatching(
- Predicate<DexEncodedMethod> predicate, BiConsumer<DexEncodedMethod, ProgramMethod> consumer) {
- methodCollection.forEachMethodMatching(
- predicate, method -> consumer.accept(method, new ProgramMethod(this, method)));
- }
-
public void forEachProgramDirectMethod(Consumer<ProgramMethod> consumer) {
forEachProgramDirectMethodMatching(alwaysTrue(), consumer);
}
diff --git a/src/main/java/com/android/tools/r8/ir/conversion/IRConverter.java b/src/main/java/com/android/tools/r8/ir/conversion/IRConverter.java
index 2b958c5..31fd3c0 100644
--- a/src/main/java/com/android/tools/r8/ir/conversion/IRConverter.java
+++ b/src/main/java/com/android/tools/r8/ir/conversion/IRConverter.java
@@ -596,7 +596,8 @@
}
clazz.forEachProgramMethodMatching(
definition -> !definition.isClassInitializer(),
- (definition, method) -> {
+ method -> {
+ DexEncodedMethod definition = method.getDefinition();
definition.getMutableOptimizationInfo().setReachabilitySensitive(isReachabilitySensitive);
convertMethod(method);
});
diff --git a/src/main/java/com/android/tools/r8/ir/optimize/CallSiteOptimizationInfoPropagator.java b/src/main/java/com/android/tools/r8/ir/optimize/CallSiteOptimizationInfoPropagator.java
index c707738..8d1124b 100644
--- a/src/main/java/com/android/tools/r8/ir/optimize/CallSiteOptimizationInfoPropagator.java
+++ b/src/main/java/com/android/tools/r8/ir/optimize/CallSiteOptimizationInfoPropagator.java
@@ -340,10 +340,10 @@
definition.getCallSiteOptimizationInfo();
return callSiteOptimizationInfo.hasUsefulOptimizationInfo(appView, definition);
},
- (definition, method) -> {
+ method -> {
targetsToRevisit.add(method);
if (appView.options().testing.callSiteOptimizationInfoInspector != null) {
- appView.options().testing.callSiteOptimizationInfoInspector.accept(definition);
+ appView.options().testing.callSiteOptimizationInfoInspector.accept(method);
}
});
}
diff --git a/src/main/java/com/android/tools/r8/utils/InternalOptions.java b/src/main/java/com/android/tools/r8/utils/InternalOptions.java
index 69ba7ad..62aa29a 100644
--- a/src/main/java/com/android/tools/r8/utils/InternalOptions.java
+++ b/src/main/java/com/android/tools/r8/utils/InternalOptions.java
@@ -1185,7 +1185,7 @@
public int numberOfProguardIfRuleMemberEvaluations = 0;
}
- public Consumer<DexEncodedMethod> callSiteOptimizationInfoInspector = null;
+ public Consumer<ProgramMethod> callSiteOptimizationInfoInspector = null;
}
@VisibleForTesting
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/callsites/HashCodeTest.java b/src/test/java/com/android/tools/r8/ir/optimize/callsites/HashCodeTest.java
index b5997bf..0c158b9 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/callsites/HashCodeTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/callsites/HashCodeTest.java
@@ -7,7 +7,7 @@
import com.android.tools.r8.TestBase;
import com.android.tools.r8.TestParameters;
import com.android.tools.r8.TestParametersCollection;
-import com.android.tools.r8.graph.DexEncodedMethod;
+import com.android.tools.r8.graph.ProgramMethod;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
@@ -41,11 +41,11 @@
.assertSuccessWithOutputLines("10");
}
- private void callSiteOptimizationInfoInspect(DexEncodedMethod encodedMethod) {
+ private void callSiteOptimizationInfoInspect(ProgramMethod method) {
// TODO(b/139246447): should avoid visiting A#<init>, which is trivial, default init!
- assert encodedMethod.holder().toSourceString().endsWith("A")
- && encodedMethod.toSourceString().contains("<init>")
- : "Unexpected revisit: " + encodedMethod.toSourceString();
+ assert method.getHolderType().toSourceString().endsWith("A")
+ && method.toSourceString().contains("<init>")
+ : "Unexpected revisit: " + method.toSourceString();
}
static class TestClass {
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/callsites/InvokeInterfaceWithRefinedReceiverTest.java b/src/test/java/com/android/tools/r8/ir/optimize/callsites/InvokeInterfaceWithRefinedReceiverTest.java
index 54a3b8e..2edbb0b 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/callsites/InvokeInterfaceWithRefinedReceiverTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/callsites/InvokeInterfaceWithRefinedReceiverTest.java
@@ -14,7 +14,7 @@
import com.android.tools.r8.TestBase;
import com.android.tools.r8.TestParameters;
import com.android.tools.r8.TestParametersCollection;
-import com.android.tools.r8.graph.DexEncodedMethod;
+import com.android.tools.r8.graph.ProgramMethod;
import com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo;
import com.android.tools.r8.utils.codeinspector.ClassSubject;
import com.android.tools.r8.utils.codeinspector.CodeInspector;
@@ -60,11 +60,12 @@
.inspect(this::inspect);
}
- private void callSiteOptimizationInfoInspect(DexEncodedMethod encodedMethod) {
- assert encodedMethod.method.name.toString().equals("m")
- : "Unexpected revisit: " + encodedMethod.toSourceString();
- CallSiteOptimizationInfo callSiteOptimizationInfo = encodedMethod.getCallSiteOptimizationInfo();
- if (encodedMethod.holder().toSourceString().endsWith("$C")) {
+ private void callSiteOptimizationInfoInspect(ProgramMethod method) {
+ assert method.getReference().name.toString().equals("m")
+ : "Unexpected revisit: " + method.toSourceString();
+ CallSiteOptimizationInfo callSiteOptimizationInfo =
+ method.getDefinition().getCallSiteOptimizationInfo();
+ if (method.getHolderType().toSourceString().endsWith("$C")) {
assert callSiteOptimizationInfo.getDynamicUpperBoundType(1).isDefinitelyNotNull();
} else {
assert callSiteOptimizationInfo.getDynamicUpperBoundType(1).isDefinitelyNull();
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/callsites/InvokeVirtualWithRefinedReceiverTest.java b/src/test/java/com/android/tools/r8/ir/optimize/callsites/InvokeVirtualWithRefinedReceiverTest.java
index 96b85ec..e36941d 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/callsites/InvokeVirtualWithRefinedReceiverTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/callsites/InvokeVirtualWithRefinedReceiverTest.java
@@ -14,7 +14,7 @@
import com.android.tools.r8.TestBase;
import com.android.tools.r8.TestParameters;
import com.android.tools.r8.TestParametersCollection;
-import com.android.tools.r8.graph.DexEncodedMethod;
+import com.android.tools.r8.graph.ProgramMethod;
import com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo;
import com.android.tools.r8.utils.codeinspector.ClassSubject;
import com.android.tools.r8.utils.codeinspector.CodeInspector;
@@ -57,11 +57,12 @@
.inspect(this::inspect);
}
- private void callSiteOptimizationInfoInspect(DexEncodedMethod encodedMethod) {
- assert encodedMethod.method.name.toString().equals("m")
- : "Unexpected revisit: " + encodedMethod.toSourceString();
- CallSiteOptimizationInfo callSiteOptimizationInfo = encodedMethod.getCallSiteOptimizationInfo();
- if (encodedMethod.holder().toSourceString().endsWith("$C")) {
+ private void callSiteOptimizationInfoInspect(ProgramMethod method) {
+ assert method.getReference().name.toString().equals("m")
+ : "Unexpected revisit: " + method.toSourceString();
+ CallSiteOptimizationInfo callSiteOptimizationInfo =
+ method.getDefinition().getCallSiteOptimizationInfo();
+ if (method.getHolderType().toSourceString().endsWith("$C")) {
assert callSiteOptimizationInfo.getDynamicUpperBoundType(1).isDefinitelyNotNull();
} else {
assert callSiteOptimizationInfo.getDynamicUpperBoundType(1).isDefinitelyNull();
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/callsites/KeptMethodTest.java b/src/test/java/com/android/tools/r8/ir/optimize/callsites/KeptMethodTest.java
index 51797eb..8d405c4 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/callsites/KeptMethodTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/callsites/KeptMethodTest.java
@@ -12,7 +12,7 @@
import com.android.tools.r8.TestBase;
import com.android.tools.r8.TestParameters;
import com.android.tools.r8.TestParametersCollection;
-import com.android.tools.r8.graph.DexEncodedMethod;
+import com.android.tools.r8.graph.ProgramMethod;
import com.android.tools.r8.utils.codeinspector.ClassSubject;
import com.android.tools.r8.utils.codeinspector.CodeInspector;
import com.android.tools.r8.utils.codeinspector.InstructionSubject;
@@ -55,8 +55,8 @@
.inspect(this::inspect);
}
- private void callSiteOptimizationInfoInspect(DexEncodedMethod encodedMethod) {
- assert false : "Unexpected revisit: " + encodedMethod.toSourceString();
+ private void callSiteOptimizationInfoInspect(ProgramMethod method) {
+ assert false : "Unexpected revisit: " + method.toSourceString();
}
private void inspect(CodeInspector inspector) {
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/callsites/LibraryMethodOverridesTest.java b/src/test/java/com/android/tools/r8/ir/optimize/callsites/LibraryMethodOverridesTest.java
index 19172e7..8a057dd 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/callsites/LibraryMethodOverridesTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/callsites/LibraryMethodOverridesTest.java
@@ -13,7 +13,7 @@
import com.android.tools.r8.TestParameters;
import com.android.tools.r8.TestParametersCollection;
import com.android.tools.r8.ToolHelper.DexVm.Version;
-import com.android.tools.r8.graph.DexEncodedMethod;
+import com.android.tools.r8.graph.ProgramMethod;
import com.android.tools.r8.utils.codeinspector.ClassSubject;
import com.android.tools.r8.utils.codeinspector.CodeInspector;
import com.android.tools.r8.utils.codeinspector.InstructionSubject;
@@ -66,8 +66,8 @@
.inspect(this::inspect);
}
- private void callSiteOptimizationInfoInspect(DexEncodedMethod encodedMethod) {
- assert false : "Unexpected revisit: " + encodedMethod.toSourceString();
+ private void callSiteOptimizationInfoInspect(ProgramMethod method) {
+ assert false : "Unexpected revisit: " + method.toSourceString();
}
private void inspect(CodeInspector inspector) {
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/callsites/constants/InvokeDirectNegativeTest.java b/src/test/java/com/android/tools/r8/ir/optimize/callsites/constants/InvokeDirectNegativeTest.java
index 19a9034..2e76fa2 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/callsites/constants/InvokeDirectNegativeTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/callsites/constants/InvokeDirectNegativeTest.java
@@ -12,7 +12,7 @@
import com.android.tools.r8.TestBase;
import com.android.tools.r8.TestParameters;
import com.android.tools.r8.TestParametersCollection;
-import com.android.tools.r8.graph.DexEncodedMethod;
+import com.android.tools.r8.graph.ProgramMethod;
import com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo;
import com.android.tools.r8.utils.codeinspector.ClassSubject;
import com.android.tools.r8.utils.codeinspector.CodeInspector;
@@ -55,10 +55,11 @@
.inspect(this::inspect);
}
- private void callSiteOptimizationInfoInspect(DexEncodedMethod encodedMethod) {
- assert encodedMethod.method.name.toString().equals("test")
- : "Unexpected revisit: " + encodedMethod.toSourceString();
- CallSiteOptimizationInfo callSiteOptimizationInfo = encodedMethod.getCallSiteOptimizationInfo();
+ private void callSiteOptimizationInfoInspect(ProgramMethod method) {
+ assert method.getReference().name.toString().equals("test")
+ : "Unexpected revisit: " + method.toSourceString();
+ CallSiteOptimizationInfo callSiteOptimizationInfo =
+ method.getDefinition().getCallSiteOptimizationInfo();
assert callSiteOptimizationInfo.getDynamicUpperBoundType(1).isDefinitelyNotNull();
assert callSiteOptimizationInfo.getAbstractArgumentValue(1).isUnknown();
}
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/callsites/constants/InvokeDirectPositiveTest.java b/src/test/java/com/android/tools/r8/ir/optimize/callsites/constants/InvokeDirectPositiveTest.java
index 30aec5e..bdc3694 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/callsites/constants/InvokeDirectPositiveTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/callsites/constants/InvokeDirectPositiveTest.java
@@ -12,7 +12,7 @@
import com.android.tools.r8.TestBase;
import com.android.tools.r8.TestParameters;
import com.android.tools.r8.TestParametersCollection;
-import com.android.tools.r8.graph.DexEncodedMethod;
+import com.android.tools.r8.graph.ProgramMethod;
import com.android.tools.r8.ir.analysis.value.AbstractValue;
import com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo;
import com.android.tools.r8.utils.InternalOptions;
@@ -58,11 +58,11 @@
.inspect(this::inspect);
}
- private void callSiteOptimizationInfoInspect(DexEncodedMethod encodedMethod) {
- assert encodedMethod.method.name.toString().equals("test")
- : "Unexpected revisit: " + encodedMethod.toSourceString();
- CallSiteOptimizationInfo callSiteOptimizationInfo = encodedMethod.getCallSiteOptimizationInfo();
- assert callSiteOptimizationInfo.getDynamicUpperBoundType(1).isDefinitelyNotNull();
+ private void callSiteOptimizationInfoInspect(ProgramMethod method) {
+ assert method.getReference().name.toString().equals("test")
+ : "Unexpected revisit: " + method.toSourceString();
+ CallSiteOptimizationInfo callSiteOptimizationInfo =
+ method.getDefinition().getCallSiteOptimizationInfo();
AbstractValue abstractValue = callSiteOptimizationInfo.getAbstractArgumentValue(1);
assert abstractValue.isSingleStringValue()
&& abstractValue.asSingleStringValue().getDexString().toString().equals("nul");
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/callsites/constants/InvokeInterfaceNegativeTest.java b/src/test/java/com/android/tools/r8/ir/optimize/callsites/constants/InvokeInterfaceNegativeTest.java
index ba6b644..75dd8a8 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/callsites/constants/InvokeInterfaceNegativeTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/callsites/constants/InvokeInterfaceNegativeTest.java
@@ -13,7 +13,7 @@
import com.android.tools.r8.TestBase;
import com.android.tools.r8.TestParameters;
import com.android.tools.r8.TestParametersCollection;
-import com.android.tools.r8.graph.DexEncodedMethod;
+import com.android.tools.r8.graph.ProgramMethod;
import com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo;
import com.android.tools.r8.utils.codeinspector.ClassSubject;
import com.android.tools.r8.utils.codeinspector.CodeInspector;
@@ -60,10 +60,11 @@
.inspect(this::inspect);
}
- private void callSiteOptimizationInfoInspect(DexEncodedMethod encodedMethod) {
- assert encodedMethod.method.name.toString().equals("m")
- : "Unexpected revisit: " + encodedMethod.toSourceString();
- CallSiteOptimizationInfo callSiteOptimizationInfo = encodedMethod.getCallSiteOptimizationInfo();
+ private void callSiteOptimizationInfoInspect(ProgramMethod method) {
+ assert method.getReference().name.toString().equals("m")
+ : "Unexpected revisit: " + method.toSourceString();
+ CallSiteOptimizationInfo callSiteOptimizationInfo =
+ method.getDefinition().getCallSiteOptimizationInfo();
assert callSiteOptimizationInfo.getDynamicUpperBoundType(1).isDefinitelyNotNull();
assert callSiteOptimizationInfo.getAbstractArgumentValue(1).isUnknown();
}
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/callsites/constants/InvokeInterfacePositiveTest.java b/src/test/java/com/android/tools/r8/ir/optimize/callsites/constants/InvokeInterfacePositiveTest.java
index a966e62..e837610 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/callsites/constants/InvokeInterfacePositiveTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/callsites/constants/InvokeInterfacePositiveTest.java
@@ -12,7 +12,7 @@
import com.android.tools.r8.TestBase;
import com.android.tools.r8.TestParameters;
import com.android.tools.r8.TestParametersCollection;
-import com.android.tools.r8.graph.DexEncodedMethod;
+import com.android.tools.r8.graph.ProgramMethod;
import com.android.tools.r8.ir.analysis.value.AbstractValue;
import com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo;
import com.android.tools.r8.utils.InternalOptions;
@@ -61,10 +61,11 @@
.inspect(this::inspect);
}
- private void callSiteOptimizationInfoInspect(DexEncodedMethod encodedMethod) {
- assert encodedMethod.method.name.toString().equals("m")
- : "Unexpected revisit: " + encodedMethod.toSourceString();
- CallSiteOptimizationInfo callSiteOptimizationInfo = encodedMethod.getCallSiteOptimizationInfo();
+ private void callSiteOptimizationInfoInspect(ProgramMethod method) {
+ assert method.getReference().name.toString().equals("m")
+ : "Unexpected revisit: " + method.toSourceString();
+ CallSiteOptimizationInfo callSiteOptimizationInfo =
+ method.getDefinition().getCallSiteOptimizationInfo();
assert callSiteOptimizationInfo.getDynamicUpperBoundType(1).isDefinitelyNotNull();
AbstractValue abstractValue = callSiteOptimizationInfo.getAbstractArgumentValue(1);
assert abstractValue.isSingleStringValue()
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/callsites/constants/InvokeStaticNegativeTest.java b/src/test/java/com/android/tools/r8/ir/optimize/callsites/constants/InvokeStaticNegativeTest.java
index cacb6a3..df1fb98 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/callsites/constants/InvokeStaticNegativeTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/callsites/constants/InvokeStaticNegativeTest.java
@@ -11,7 +11,7 @@
import com.android.tools.r8.TestBase;
import com.android.tools.r8.TestParameters;
import com.android.tools.r8.TestParametersCollection;
-import com.android.tools.r8.graph.DexEncodedMethod;
+import com.android.tools.r8.graph.ProgramMethod;
import com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo;
import com.android.tools.r8.utils.codeinspector.ClassSubject;
import com.android.tools.r8.utils.codeinspector.CodeInspector;
@@ -52,10 +52,11 @@
.inspect(this::inspect);
}
- private void callSiteOptimizationInfoInspect(DexEncodedMethod encodedMethod) {
- assert encodedMethod.method.name.toString().equals("test")
- : "Unexpected revisit: " + encodedMethod.toSourceString();
- CallSiteOptimizationInfo callSiteOptimizationInfo = encodedMethod.getCallSiteOptimizationInfo();
+ private void callSiteOptimizationInfoInspect(ProgramMethod method) {
+ assert method.getReference().name.toString().equals("test")
+ : "Unexpected revisit: " + method.toSourceString();
+ CallSiteOptimizationInfo callSiteOptimizationInfo =
+ method.getDefinition().getCallSiteOptimizationInfo();
assert callSiteOptimizationInfo.getDynamicUpperBoundType(0).isDefinitelyNotNull();
assert callSiteOptimizationInfo.getAbstractArgumentValue(0).isUnknown();
}
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/callsites/constants/InvokeStaticPositiveTest.java b/src/test/java/com/android/tools/r8/ir/optimize/callsites/constants/InvokeStaticPositiveTest.java
index 1d92c6e..a1e936b 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/callsites/constants/InvokeStaticPositiveTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/callsites/constants/InvokeStaticPositiveTest.java
@@ -11,7 +11,7 @@
import com.android.tools.r8.TestBase;
import com.android.tools.r8.TestParameters;
import com.android.tools.r8.TestParametersCollection;
-import com.android.tools.r8.graph.DexEncodedMethod;
+import com.android.tools.r8.graph.ProgramMethod;
import com.android.tools.r8.ir.analysis.value.AbstractValue;
import com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo;
import com.android.tools.r8.utils.InternalOptions;
@@ -55,10 +55,11 @@
.inspect(this::inspect);
}
- private void callSiteOptimizationInfoInspect(DexEncodedMethod encodedMethod) {
- assert encodedMethod.method.name.toString().equals("test")
- : "Unexpected revisit: " + encodedMethod.toSourceString();
- CallSiteOptimizationInfo callSiteOptimizationInfo = encodedMethod.getCallSiteOptimizationInfo();
+ private void callSiteOptimizationInfoInspect(ProgramMethod method) {
+ assert method.getReference().name.toString().equals("test")
+ : "Unexpected revisit: " + method.toSourceString();
+ CallSiteOptimizationInfo callSiteOptimizationInfo =
+ method.getDefinition().getCallSiteOptimizationInfo();
assert callSiteOptimizationInfo.getDynamicUpperBoundType(0).isDefinitelyNotNull();
AbstractValue abstractValue = callSiteOptimizationInfo.getAbstractArgumentValue(0);
assert abstractValue.isSingleStringValue()
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/callsites/constants/InvokeVirtualNegativeTest.java b/src/test/java/com/android/tools/r8/ir/optimize/callsites/constants/InvokeVirtualNegativeTest.java
index 28523aa..3ae302a 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/callsites/constants/InvokeVirtualNegativeTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/callsites/constants/InvokeVirtualNegativeTest.java
@@ -13,7 +13,7 @@
import com.android.tools.r8.TestBase;
import com.android.tools.r8.TestParameters;
import com.android.tools.r8.TestParametersCollection;
-import com.android.tools.r8.graph.DexEncodedMethod;
+import com.android.tools.r8.graph.ProgramMethod;
import com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo;
import com.android.tools.r8.utils.codeinspector.ClassSubject;
import com.android.tools.r8.utils.codeinspector.CodeInspector;
@@ -57,11 +57,12 @@
.inspect(this::inspect);
}
- private void callSiteOptimizationInfoInspect(DexEncodedMethod encodedMethod) {
- String methodName = encodedMethod.method.name.toString();
+ private void callSiteOptimizationInfoInspect(ProgramMethod method) {
+ String methodName = method.getReference().name.toString();
assert methodName.equals("m") || methodName.equals("test")
- : "Unexpected revisit: " + encodedMethod.toSourceString();
- CallSiteOptimizationInfo callSiteOptimizationInfo = encodedMethod.getCallSiteOptimizationInfo();
+ : "Unexpected revisit: " + method.toSourceString();
+ CallSiteOptimizationInfo callSiteOptimizationInfo =
+ method.getDefinition().getCallSiteOptimizationInfo();
if (methodName.equals("m")) {
assert callSiteOptimizationInfo.getDynamicUpperBoundType(1).isDefinitelyNotNull();
assert callSiteOptimizationInfo.getAbstractArgumentValue(1).isUnknown();
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/callsites/constants/InvokeVirtualPositiveTest.java b/src/test/java/com/android/tools/r8/ir/optimize/callsites/constants/InvokeVirtualPositiveTest.java
index 14ff937..30764845 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/callsites/constants/InvokeVirtualPositiveTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/callsites/constants/InvokeVirtualPositiveTest.java
@@ -13,7 +13,7 @@
import com.android.tools.r8.TestBase;
import com.android.tools.r8.TestParameters;
import com.android.tools.r8.TestParametersCollection;
-import com.android.tools.r8.graph.DexEncodedMethod;
+import com.android.tools.r8.graph.ProgramMethod;
import com.android.tools.r8.ir.analysis.value.AbstractValue;
import com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo;
import com.android.tools.r8.utils.InternalOptions;
@@ -59,13 +59,14 @@
.inspect(this::inspect);
}
- private void callSiteOptimizationInfoInspect(DexEncodedMethod encodedMethod) {
- assert encodedMethod.method.name.toString().equals("m")
- : "Unexpected revisit: " + encodedMethod.toSourceString();
- CallSiteOptimizationInfo callSiteOptimizationInfo = encodedMethod.getCallSiteOptimizationInfo();
+ private void callSiteOptimizationInfoInspect(ProgramMethod method) {
+ assert method.getReference().name.toString().equals("m")
+ : "Unexpected revisit: " + method.toSourceString();
+ CallSiteOptimizationInfo callSiteOptimizationInfo =
+ method.getDefinition().getCallSiteOptimizationInfo();
assert callSiteOptimizationInfo.getDynamicUpperBoundType(1).isDefinitelyNotNull();
AbstractValue abstractValue = callSiteOptimizationInfo.getAbstractArgumentValue(1);
- if (encodedMethod.holder().toSourceString().endsWith("$A")) {
+ if (method.getHolderType().toSourceString().endsWith("$A")) {
assert abstractValue.isSingleStringValue()
&& abstractValue.asSingleStringValue().getDexString().toString().equals("nul");
} else {
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/callsites/dynamicupperboundtype/InvokeDirectNegativeTest.java b/src/test/java/com/android/tools/r8/ir/optimize/callsites/dynamicupperboundtype/InvokeDirectNegativeTest.java
index 349c613..0cc9bb1 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/callsites/dynamicupperboundtype/InvokeDirectNegativeTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/callsites/dynamicupperboundtype/InvokeDirectNegativeTest.java
@@ -12,7 +12,7 @@
import com.android.tools.r8.TestBase;
import com.android.tools.r8.TestParameters;
import com.android.tools.r8.TestParametersCollection;
-import com.android.tools.r8.graph.DexEncodedMethod;
+import com.android.tools.r8.graph.ProgramMethod;
import com.android.tools.r8.ir.analysis.type.TypeElement;
import com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo;
import com.android.tools.r8.utils.codeinspector.ClassSubject;
@@ -55,10 +55,11 @@
.inspect(this::inspect);
}
- private void callSiteOptimizationInfoInspect(DexEncodedMethod encodedMethod) {
- assert encodedMethod.method.name.toString().equals("test")
- : "Unexpected revisit: " + encodedMethod.toSourceString();
- CallSiteOptimizationInfo callSiteOptimizationInfo = encodedMethod.getCallSiteOptimizationInfo();
+ private void callSiteOptimizationInfoInspect(ProgramMethod method) {
+ assert method.getReference().name.toString().equals("test")
+ : "Unexpected revisit: " + method.toSourceString();
+ CallSiteOptimizationInfo callSiteOptimizationInfo =
+ method.getDefinition().getCallSiteOptimizationInfo();
TypeElement upperBoundType = callSiteOptimizationInfo.getDynamicUpperBoundType(1);
assert upperBoundType.isDefinitelyNotNull();
assert upperBoundType.isClassType()
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/callsites/dynamicupperboundtype/InvokeDirectPositiveTest.java b/src/test/java/com/android/tools/r8/ir/optimize/callsites/dynamicupperboundtype/InvokeDirectPositiveTest.java
index 9119e88..e131be5 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/callsites/dynamicupperboundtype/InvokeDirectPositiveTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/callsites/dynamicupperboundtype/InvokeDirectPositiveTest.java
@@ -13,7 +13,7 @@
import com.android.tools.r8.TestBase;
import com.android.tools.r8.TestParameters;
import com.android.tools.r8.TestParametersCollection;
-import com.android.tools.r8.graph.DexEncodedMethod;
+import com.android.tools.r8.graph.ProgramMethod;
import com.android.tools.r8.ir.analysis.type.TypeElement;
import com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo;
import com.android.tools.r8.utils.codeinspector.ClassSubject;
@@ -57,11 +57,12 @@
.inspect(this::inspect);
}
- private void callSiteOptimizationInfoInspect(DexEncodedMethod encodedMethod) {
- String methodName = encodedMethod.method.name.toString();
+ private void callSiteOptimizationInfoInspect(ProgramMethod method) {
+ String methodName = method.getReference().name.toString();
assert methodName.equals("<init>") || methodName.equals("test")
- : "Unexpected revisit: " + encodedMethod.toSourceString();
- CallSiteOptimizationInfo callSiteOptimizationInfo = encodedMethod.getCallSiteOptimizationInfo();
+ : "Unexpected revisit: " + method.toSourceString();
+ CallSiteOptimizationInfo callSiteOptimizationInfo =
+ method.getDefinition().getCallSiteOptimizationInfo();
TypeElement upperBoundType;
if (methodName.equals("test")) {
upperBoundType = callSiteOptimizationInfo.getDynamicUpperBoundType(1);
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/callsites/dynamicupperboundtype/InvokeInterfaceNegativeTest.java b/src/test/java/com/android/tools/r8/ir/optimize/callsites/dynamicupperboundtype/InvokeInterfaceNegativeTest.java
index b341d62..4b4c534 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/callsites/dynamicupperboundtype/InvokeInterfaceNegativeTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/callsites/dynamicupperboundtype/InvokeInterfaceNegativeTest.java
@@ -13,7 +13,7 @@
import com.android.tools.r8.TestBase;
import com.android.tools.r8.TestParameters;
import com.android.tools.r8.TestParametersCollection;
-import com.android.tools.r8.graph.DexEncodedMethod;
+import com.android.tools.r8.graph.ProgramMethod;
import com.android.tools.r8.ir.analysis.type.TypeElement;
import com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo;
import com.android.tools.r8.utils.codeinspector.ClassSubject;
@@ -60,10 +60,11 @@
.inspect(this::inspect);
}
- private void callSiteOptimizationInfoInspect(DexEncodedMethod encodedMethod) {
- assert encodedMethod.method.name.toString().equals("m")
- : "Unexpected revisit: " + encodedMethod.toSourceString();
- CallSiteOptimizationInfo callSiteOptimizationInfo = encodedMethod.getCallSiteOptimizationInfo();
+ private void callSiteOptimizationInfoInspect(ProgramMethod method) {
+ assert method.getReference().name.toString().equals("m")
+ : "Unexpected revisit: " + method.toSourceString();
+ CallSiteOptimizationInfo callSiteOptimizationInfo =
+ method.getDefinition().getCallSiteOptimizationInfo();
TypeElement upperBoundType = callSiteOptimizationInfo.getDynamicUpperBoundType(1);
assert upperBoundType.isDefinitelyNotNull();
assert upperBoundType.isClassType()
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/callsites/dynamicupperboundtype/InvokeInterfacePositiveTest.java b/src/test/java/com/android/tools/r8/ir/optimize/callsites/dynamicupperboundtype/InvokeInterfacePositiveTest.java
index 204f41b..bda0a3a 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/callsites/dynamicupperboundtype/InvokeInterfacePositiveTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/callsites/dynamicupperboundtype/InvokeInterfacePositiveTest.java
@@ -13,7 +13,7 @@
import com.android.tools.r8.TestBase;
import com.android.tools.r8.TestParameters;
import com.android.tools.r8.TestParametersCollection;
-import com.android.tools.r8.graph.DexEncodedMethod;
+import com.android.tools.r8.graph.ProgramMethod;
import com.android.tools.r8.ir.analysis.type.TypeElement;
import com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo;
import com.android.tools.r8.utils.codeinspector.ClassSubject;
@@ -60,13 +60,14 @@
.inspect(this::inspect);
}
- private void callSiteOptimizationInfoInspect(DexEncodedMethod encodedMethod) {
- assert encodedMethod.method.name.toString().equals("m")
- : "Unexpected revisit: " + encodedMethod.toSourceString();
- CallSiteOptimizationInfo callSiteOptimizationInfo = encodedMethod.getCallSiteOptimizationInfo();
+ private void callSiteOptimizationInfoInspect(ProgramMethod method) {
+ assert method.getReference().name.toString().equals("m")
+ : "Unexpected revisit: " + method.toSourceString();
+ CallSiteOptimizationInfo callSiteOptimizationInfo =
+ method.getDefinition().getCallSiteOptimizationInfo();
TypeElement upperBoundType = callSiteOptimizationInfo.getDynamicUpperBoundType(1);
assert upperBoundType.isDefinitelyNotNull();
- if (encodedMethod.holder().toSourceString().endsWith("$A")) {
+ if (method.getHolderType().toSourceString().endsWith("$A")) {
assert upperBoundType.isClassType()
&& upperBoundType.asClassType().getClassType().toSourceString().endsWith("$Sub1");
} else {
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/callsites/dynamicupperboundtype/InvokeStaticNegativeTest.java b/src/test/java/com/android/tools/r8/ir/optimize/callsites/dynamicupperboundtype/InvokeStaticNegativeTest.java
index d98e911..3c94778 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/callsites/dynamicupperboundtype/InvokeStaticNegativeTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/callsites/dynamicupperboundtype/InvokeStaticNegativeTest.java
@@ -11,7 +11,7 @@
import com.android.tools.r8.TestBase;
import com.android.tools.r8.TestParameters;
import com.android.tools.r8.TestParametersCollection;
-import com.android.tools.r8.graph.DexEncodedMethod;
+import com.android.tools.r8.graph.ProgramMethod;
import com.android.tools.r8.ir.analysis.type.TypeElement;
import com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo;
import com.android.tools.r8.utils.codeinspector.ClassSubject;
@@ -52,10 +52,11 @@
.inspect(this::inspect);
}
- private void callSiteOptimizationInfoInspect(DexEncodedMethod encodedMethod) {
- assert encodedMethod.method.name.toString().equals("test")
- : "Unexpected revisit: " + encodedMethod.toSourceString();
- CallSiteOptimizationInfo callSiteOptimizationInfo = encodedMethod.getCallSiteOptimizationInfo();
+ private void callSiteOptimizationInfoInspect(ProgramMethod method) {
+ assert method.getReference().name.toString().equals("test")
+ : "Unexpected revisit: " + method.toSourceString();
+ CallSiteOptimizationInfo callSiteOptimizationInfo =
+ method.getDefinition().getCallSiteOptimizationInfo();
TypeElement upperBoundType = callSiteOptimizationInfo.getDynamicUpperBoundType(0);
assert upperBoundType.isDefinitelyNotNull();
assert upperBoundType.isClassType()
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/callsites/dynamicupperboundtype/InvokeStaticPositiveTest.java b/src/test/java/com/android/tools/r8/ir/optimize/callsites/dynamicupperboundtype/InvokeStaticPositiveTest.java
index d014d5a..6ea0888 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/callsites/dynamicupperboundtype/InvokeStaticPositiveTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/callsites/dynamicupperboundtype/InvokeStaticPositiveTest.java
@@ -12,7 +12,7 @@
import com.android.tools.r8.TestBase;
import com.android.tools.r8.TestParameters;
import com.android.tools.r8.TestParametersCollection;
-import com.android.tools.r8.graph.DexEncodedMethod;
+import com.android.tools.r8.graph.ProgramMethod;
import com.android.tools.r8.ir.analysis.type.TypeElement;
import com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo;
import com.android.tools.r8.utils.codeinspector.ClassSubject;
@@ -54,11 +54,12 @@
.inspect(this::inspect);
}
- private void callSiteOptimizationInfoInspect(DexEncodedMethod encodedMethod) {
- String methodName = encodedMethod.method.name.toString();
+ private void callSiteOptimizationInfoInspect(ProgramMethod method) {
+ String methodName = method.getReference().name.toString();
assert methodName.equals("<init>") || methodName.equals("test")
- : "Unexpected revisit: " + encodedMethod.toSourceString();
- CallSiteOptimizationInfo callSiteOptimizationInfo = encodedMethod.getCallSiteOptimizationInfo();
+ : "Unexpected revisit: " + method.toSourceString();
+ CallSiteOptimizationInfo callSiteOptimizationInfo =
+ method.getDefinition().getCallSiteOptimizationInfo();
// `arg` for `test` or the receiver of `Base#<init>`.
// TODO(b/139246447): should avoid visiting <init>, which is trivial, default init!
// For testing purpose, `Base` is not merged and kept. The system correctly caught that, when
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/callsites/dynamicupperboundtype/InvokeVirtualNegativeTest.java b/src/test/java/com/android/tools/r8/ir/optimize/callsites/dynamicupperboundtype/InvokeVirtualNegativeTest.java
index c2fffc1..51145b2 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/callsites/dynamicupperboundtype/InvokeVirtualNegativeTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/callsites/dynamicupperboundtype/InvokeVirtualNegativeTest.java
@@ -13,7 +13,7 @@
import com.android.tools.r8.TestBase;
import com.android.tools.r8.TestParameters;
import com.android.tools.r8.TestParametersCollection;
-import com.android.tools.r8.graph.DexEncodedMethod;
+import com.android.tools.r8.graph.ProgramMethod;
import com.android.tools.r8.ir.analysis.type.TypeElement;
import com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo;
import com.android.tools.r8.utils.codeinspector.ClassSubject;
@@ -57,11 +57,12 @@
.inspect(this::inspect);
}
- private void callSiteOptimizationInfoInspect(DexEncodedMethod encodedMethod) {
- String methodName = encodedMethod.method.name.toString();
+ private void callSiteOptimizationInfoInspect(ProgramMethod method) {
+ String methodName = method.getReference().name.toString();
assert methodName.equals("m") || methodName.equals("test")
- : "Unexpected revisit: " + encodedMethod.toSourceString();
- CallSiteOptimizationInfo callSiteOptimizationInfo = encodedMethod.getCallSiteOptimizationInfo();
+ : "Unexpected revisit: " + method.toSourceString();
+ CallSiteOptimizationInfo callSiteOptimizationInfo =
+ method.getDefinition().getCallSiteOptimizationInfo();
if (methodName.equals("m")) {
TypeElement upperBoundType = callSiteOptimizationInfo.getDynamicUpperBoundType(1);
assert upperBoundType.isDefinitelyNotNull();
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/callsites/dynamicupperboundtype/InvokeVirtualPositiveTest.java b/src/test/java/com/android/tools/r8/ir/optimize/callsites/dynamicupperboundtype/InvokeVirtualPositiveTest.java
index 22a4faa..8c17c3a 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/callsites/dynamicupperboundtype/InvokeVirtualPositiveTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/callsites/dynamicupperboundtype/InvokeVirtualPositiveTest.java
@@ -13,7 +13,7 @@
import com.android.tools.r8.TestBase;
import com.android.tools.r8.TestParameters;
import com.android.tools.r8.TestParametersCollection;
-import com.android.tools.r8.graph.DexEncodedMethod;
+import com.android.tools.r8.graph.ProgramMethod;
import com.android.tools.r8.ir.analysis.type.TypeElement;
import com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo;
import com.android.tools.r8.utils.codeinspector.ClassSubject;
@@ -57,11 +57,12 @@
.inspect(this::inspect);
}
- private void callSiteOptimizationInfoInspect(DexEncodedMethod encodedMethod) {
- String methodName = encodedMethod.method.name.toString();
+ private void callSiteOptimizationInfoInspect(ProgramMethod method) {
+ String methodName = method.getReference().name.toString();
assert methodName.equals("<init>") || methodName.equals("m")
- : "Unexpected revisit: " + encodedMethod.toSourceString();
- CallSiteOptimizationInfo callSiteOptimizationInfo = encodedMethod.getCallSiteOptimizationInfo();
+ : "Unexpected revisit: " + method.toSourceString();
+ CallSiteOptimizationInfo callSiteOptimizationInfo =
+ method.getDefinition().getCallSiteOptimizationInfo();
TypeElement upperBoundType;
if (methodName.equals("m")) {
upperBoundType = callSiteOptimizationInfo.getDynamicUpperBoundType(1);
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/callsites/nullability/InvokeDirectNegativeTest.java b/src/test/java/com/android/tools/r8/ir/optimize/callsites/nullability/InvokeDirectNegativeTest.java
index 5b79156..96614da 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/callsites/nullability/InvokeDirectNegativeTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/callsites/nullability/InvokeDirectNegativeTest.java
@@ -12,7 +12,7 @@
import com.android.tools.r8.TestBase;
import com.android.tools.r8.TestParameters;
import com.android.tools.r8.TestParametersCollection;
-import com.android.tools.r8.graph.DexEncodedMethod;
+import com.android.tools.r8.graph.ProgramMethod;
import com.android.tools.r8.utils.codeinspector.ClassSubject;
import com.android.tools.r8.utils.codeinspector.CodeInspector;
import com.android.tools.r8.utils.codeinspector.InstructionSubject;
@@ -53,8 +53,8 @@
.inspect(this::inspect);
}
- private void callSiteOptimizationInfoInspect(DexEncodedMethod encodedMethod) {
- assert false : "Unexpected revisit: " + encodedMethod.toSourceString();
+ private void callSiteOptimizationInfoInspect(ProgramMethod method) {
+ assert false : "Unexpected revisit: " + method.toSourceString();
}
private void inspect(CodeInspector inspector) {
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/callsites/nullability/InvokeDirectPositiveTest.java b/src/test/java/com/android/tools/r8/ir/optimize/callsites/nullability/InvokeDirectPositiveTest.java
index 9630bab..0b7ff7d 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/callsites/nullability/InvokeDirectPositiveTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/callsites/nullability/InvokeDirectPositiveTest.java
@@ -12,7 +12,7 @@
import com.android.tools.r8.TestBase;
import com.android.tools.r8.TestParameters;
import com.android.tools.r8.TestParametersCollection;
-import com.android.tools.r8.graph.DexEncodedMethod;
+import com.android.tools.r8.graph.ProgramMethod;
import com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo;
import com.android.tools.r8.utils.codeinspector.ClassSubject;
import com.android.tools.r8.utils.codeinspector.CodeInspector;
@@ -54,10 +54,11 @@
.inspect(this::inspect);
}
- private void callSiteOptimizationInfoInspect(DexEncodedMethod encodedMethod) {
- assert encodedMethod.method.name.toString().equals("test")
- : "Unexpected revisit: " + encodedMethod.toSourceString();
- CallSiteOptimizationInfo callSiteOptimizationInfo = encodedMethod.getCallSiteOptimizationInfo();
+ private void callSiteOptimizationInfoInspect(ProgramMethod method) {
+ assert method.getReference().name.toString().equals("test")
+ : "Unexpected revisit: " + method.toSourceString();
+ CallSiteOptimizationInfo callSiteOptimizationInfo =
+ method.getDefinition().getCallSiteOptimizationInfo();
assert callSiteOptimizationInfo.getDynamicUpperBoundType(1).isDefinitelyNotNull();
}
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/callsites/nullability/InvokeInterfaceNegativeTest.java b/src/test/java/com/android/tools/r8/ir/optimize/callsites/nullability/InvokeInterfaceNegativeTest.java
index e7c5597..79a49e0 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/callsites/nullability/InvokeInterfaceNegativeTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/callsites/nullability/InvokeInterfaceNegativeTest.java
@@ -13,7 +13,7 @@
import com.android.tools.r8.TestBase;
import com.android.tools.r8.TestParameters;
import com.android.tools.r8.TestParametersCollection;
-import com.android.tools.r8.graph.DexEncodedMethod;
+import com.android.tools.r8.graph.ProgramMethod;
import com.android.tools.r8.ir.analysis.type.TypeElement;
import com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo;
import com.android.tools.r8.utils.codeinspector.ClassSubject;
@@ -60,10 +60,11 @@
.inspect(this::inspect);
}
- private void callSiteOptimizationInfoInspect(DexEncodedMethod encodedMethod) {
- assert encodedMethod.method.name.toString().equals("m")
- : "Unexpected revisit: " + encodedMethod.toSourceString();
- CallSiteOptimizationInfo callSiteOptimizationInfo = encodedMethod.getCallSiteOptimizationInfo();
+ private void callSiteOptimizationInfoInspect(ProgramMethod method) {
+ assert method.getReference().name.toString().equals("m")
+ : "Unexpected revisit: " + method.toSourceString();
+ CallSiteOptimizationInfo callSiteOptimizationInfo =
+ method.getDefinition().getCallSiteOptimizationInfo();
TypeElement upperBoundType = callSiteOptimizationInfo.getDynamicUpperBoundType(1);
assert upperBoundType.isNullable();
assert upperBoundType.isClassType()
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/callsites/nullability/InvokeInterfacePositiveTest.java b/src/test/java/com/android/tools/r8/ir/optimize/callsites/nullability/InvokeInterfacePositiveTest.java
index 17cea42..27612a2 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/callsites/nullability/InvokeInterfacePositiveTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/callsites/nullability/InvokeInterfacePositiveTest.java
@@ -12,7 +12,7 @@
import com.android.tools.r8.TestBase;
import com.android.tools.r8.TestParameters;
import com.android.tools.r8.TestParametersCollection;
-import com.android.tools.r8.graph.DexEncodedMethod;
+import com.android.tools.r8.graph.ProgramMethod;
import com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo;
import com.android.tools.r8.utils.codeinspector.ClassSubject;
import com.android.tools.r8.utils.codeinspector.CodeInspector;
@@ -57,10 +57,11 @@
.inspect(this::inspect);
}
- private void callSiteOptimizationInfoInspect(DexEncodedMethod encodedMethod) {
- assert encodedMethod.method.name.toString().equals("m")
- : "Unexpected revisit: " + encodedMethod.toSourceString();
- CallSiteOptimizationInfo callSiteOptimizationInfo = encodedMethod.getCallSiteOptimizationInfo();
+ private void callSiteOptimizationInfoInspect(ProgramMethod method) {
+ assert method.getReference().name.toString().equals("m")
+ : "Unexpected revisit: " + method.toSourceString();
+ CallSiteOptimizationInfo callSiteOptimizationInfo =
+ method.getDefinition().getCallSiteOptimizationInfo();
assert callSiteOptimizationInfo.getDynamicUpperBoundType(1).isDefinitelyNotNull();
}
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/callsites/nullability/InvokeStaticNegativeTest.java b/src/test/java/com/android/tools/r8/ir/optimize/callsites/nullability/InvokeStaticNegativeTest.java
index 1f3d6cc..0a18b69 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/callsites/nullability/InvokeStaticNegativeTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/callsites/nullability/InvokeStaticNegativeTest.java
@@ -11,7 +11,7 @@
import com.android.tools.r8.TestBase;
import com.android.tools.r8.TestParameters;
import com.android.tools.r8.TestParametersCollection;
-import com.android.tools.r8.graph.DexEncodedMethod;
+import com.android.tools.r8.graph.ProgramMethod;
import com.android.tools.r8.utils.codeinspector.ClassSubject;
import com.android.tools.r8.utils.codeinspector.CodeInspector;
import com.android.tools.r8.utils.codeinspector.InstructionSubject;
@@ -50,8 +50,8 @@
.inspect(this::inspect);
}
- private void callSiteOptimizationInfoInspect(DexEncodedMethod encodedMethod) {
- assert false : "Unexpected revisit: " + encodedMethod.toSourceString();
+ private void callSiteOptimizationInfoInspect(ProgramMethod method) {
+ assert false : "Unexpected revisit: " + method.toSourceString();
}
private void inspect(CodeInspector inspector) {
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/callsites/nullability/InvokeStaticPositiveTest.java b/src/test/java/com/android/tools/r8/ir/optimize/callsites/nullability/InvokeStaticPositiveTest.java
index 4743089..700ec34 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/callsites/nullability/InvokeStaticPositiveTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/callsites/nullability/InvokeStaticPositiveTest.java
@@ -11,7 +11,7 @@
import com.android.tools.r8.TestBase;
import com.android.tools.r8.TestParameters;
import com.android.tools.r8.TestParametersCollection;
-import com.android.tools.r8.graph.DexEncodedMethod;
+import com.android.tools.r8.graph.ProgramMethod;
import com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo;
import com.android.tools.r8.utils.codeinspector.ClassSubject;
import com.android.tools.r8.utils.codeinspector.CodeInspector;
@@ -51,10 +51,11 @@
.inspect(this::inspect);
}
- private void callSiteOptimizationInfoInspect(DexEncodedMethod encodedMethod) {
- assert encodedMethod.method.name.toString().equals("test")
- : "Unexpected revisit: " + encodedMethod.toSourceString();
- CallSiteOptimizationInfo callSiteOptimizationInfo = encodedMethod.getCallSiteOptimizationInfo();
+ private void callSiteOptimizationInfoInspect(ProgramMethod method) {
+ assert method.getReference().name.toString().equals("test")
+ : "Unexpected revisit: " + method.toSourceString();
+ CallSiteOptimizationInfo callSiteOptimizationInfo =
+ method.getDefinition().getCallSiteOptimizationInfo();
assert callSiteOptimizationInfo.getDynamicUpperBoundType(0).isDefinitelyNotNull();
}
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/callsites/nullability/InvokeVirtualNegativeTest.java b/src/test/java/com/android/tools/r8/ir/optimize/callsites/nullability/InvokeVirtualNegativeTest.java
index 4882c32..26bb65e 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/callsites/nullability/InvokeVirtualNegativeTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/callsites/nullability/InvokeVirtualNegativeTest.java
@@ -13,7 +13,7 @@
import com.android.tools.r8.TestBase;
import com.android.tools.r8.TestParameters;
import com.android.tools.r8.TestParametersCollection;
-import com.android.tools.r8.graph.DexEncodedMethod;
+import com.android.tools.r8.graph.ProgramMethod;
import com.android.tools.r8.ir.analysis.type.TypeElement;
import com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo;
import com.android.tools.r8.utils.codeinspector.ClassSubject;
@@ -57,16 +57,17 @@
.inspect(this::inspect);
}
- private void callSiteOptimizationInfoInspect(DexEncodedMethod encodedMethod) {
- String methodName = encodedMethod.method.name.toString();
+ private void callSiteOptimizationInfoInspect(ProgramMethod method) {
+ String methodName = method.getReference().name.toString();
assert methodName.equals("m") || methodName.equals("test")
- : "Unexpected revisit: " + encodedMethod.toSourceString();
- CallSiteOptimizationInfo callSiteOptimizationInfo = encodedMethod.getCallSiteOptimizationInfo();
+ : "Unexpected revisit: " + method.toSourceString();
+ CallSiteOptimizationInfo callSiteOptimizationInfo =
+ method.getDefinition().getCallSiteOptimizationInfo();
if (methodName.equals("m")) {
TypeElement upperBoundType = callSiteOptimizationInfo.getDynamicUpperBoundType(1);
assert upperBoundType.isNullable();
assert upperBoundType.isClassType()
- && upperBoundType.asClassType().getClassType().equals(encodedMethod.holder());
+ && upperBoundType.asClassType().getClassType().equals(method.getHolderType());
} else {
assert methodName.equals("test");
assert callSiteOptimizationInfo.getDynamicUpperBoundType(0).isDefinitelyNotNull();
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/callsites/nullability/InvokeVirtualPositiveTest.java b/src/test/java/com/android/tools/r8/ir/optimize/callsites/nullability/InvokeVirtualPositiveTest.java
index 0009024..00601a9 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/callsites/nullability/InvokeVirtualPositiveTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/callsites/nullability/InvokeVirtualPositiveTest.java
@@ -13,7 +13,7 @@
import com.android.tools.r8.TestBase;
import com.android.tools.r8.TestParameters;
import com.android.tools.r8.TestParametersCollection;
-import com.android.tools.r8.graph.DexEncodedMethod;
+import com.android.tools.r8.graph.ProgramMethod;
import com.android.tools.r8.ir.analysis.type.TypeElement;
import com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo;
import com.android.tools.r8.utils.codeinspector.ClassSubject;
@@ -57,17 +57,18 @@
.inspect(this::inspect);
}
- private void callSiteOptimizationInfoInspect(DexEncodedMethod encodedMethod) {
- assert encodedMethod.method.name.toString().equals("m")
- : "Unexpected revisit: " + encodedMethod.toSourceString();
- CallSiteOptimizationInfo callSiteOptimizationInfo = encodedMethod.getCallSiteOptimizationInfo();
+ private void callSiteOptimizationInfoInspect(ProgramMethod method) {
+ assert method.getReference().name.toString().equals("m")
+ : "Unexpected revisit: " + method.toSourceString();
+ CallSiteOptimizationInfo callSiteOptimizationInfo =
+ method.getDefinition().getCallSiteOptimizationInfo();
TypeElement upperBoundType = callSiteOptimizationInfo.getDynamicUpperBoundType(1);
assert upperBoundType.isClassType()
&& upperBoundType.asClassType().getClassType().toSourceString().endsWith("$A");
- if (encodedMethod.holder().toSourceString().endsWith("$A")) {
+ if (method.getHolderType().toSourceString().endsWith("$A")) {
assert upperBoundType.isDefinitelyNotNull();
} else {
- assert encodedMethod.holder().toSourceString().endsWith("$B");
+ assert method.getHolderType().toSourceString().endsWith("$B");
assert upperBoundType.isNullable();
}
}