Revert "Update profile rewrite tests to inspect individual items..."
Revert submission 75267
Reason for revert:failing tests, see https://storage.googleapis.com/r8-test-results/linux-jdk8_63bfbbf1f83e9100c9c0cfbb8583a639da39580c/test/index.html (and other bots)
Reverted changes: /q/submissionid:75267
Change-Id: Iaa5995268acf0c1e0da1666f7e6cd13a653be3ad
diff --git a/src/main/java/com/android/tools/r8/utils/ClassReferenceUtils.java b/src/main/java/com/android/tools/r8/utils/ClassReferenceUtils.java
index 0ee9a72..072022d 100644
--- a/src/main/java/com/android/tools/r8/utils/ClassReferenceUtils.java
+++ b/src/main/java/com/android/tools/r8/utils/ClassReferenceUtils.java
@@ -45,10 +45,6 @@
}
}
- public static String toSmaliString(ClassReference classReference) {
- return classReference.getDescriptor();
- }
-
public static DexType toDexType(ClassReference classReference, DexItemFactory dexItemFactory) {
return dexItemFactory.createType(classReference.getDescriptor());
}
diff --git a/src/test/java/com/android/tools/r8/profile/art/ArtProfileCollisionAfterClassMergingRewritingTest.java b/src/test/java/com/android/tools/r8/profile/art/ArtProfileCollisionAfterClassMergingRewritingTest.java
index 1d08f27..e192b41 100644
--- a/src/test/java/com/android/tools/r8/profile/art/ArtProfileCollisionAfterClassMergingRewritingTest.java
+++ b/src/test/java/com/android/tools/r8/profile/art/ArtProfileCollisionAfterClassMergingRewritingTest.java
@@ -79,7 +79,7 @@
.build();
}
- private void inspect(ArtProfileInspector profileInspector, CodeInspector inspector) {
+ public ExternalArtProfile getExpectedResidualArtProfile(CodeInspector inspector) {
ClassSubject barClassSubject = inspector.clazz(Bar.class);
assertThat(barClassSubject, isPresentAndRenamed());
@@ -89,13 +89,24 @@
MethodSubject worldMethodSubject = barClassSubject.uniqueMethodWithOriginalName("world");
assertThat(worldMethodSubject, isPresentAndRenamed());
- profileInspector
- .assertContainsClassRules(mainClassReference, barClassSubject.getFinalReference())
- .assertContainsMethodRules(
- mainMethodReference,
- helloMethodSubject.getFinalReference(),
- worldMethodSubject.getFinalReference())
- .assertContainsNoOtherRules();
+ return ExternalArtProfile.builder()
+ .addRules(
+ ExternalArtProfileClassRule.builder().setClassReference(mainClassReference).build(),
+ ExternalArtProfileMethodRule.builder().setMethodReference(mainMethodReference).build(),
+ ExternalArtProfileClassRule.builder()
+ .setClassReference(barClassSubject.getFinalReference())
+ .build(),
+ ExternalArtProfileMethodRule.builder()
+ .setMethodReference(helloMethodSubject.getFinalReference())
+ .build(),
+ ExternalArtProfileMethodRule.builder()
+ .setMethodReference(worldMethodSubject.getFinalReference())
+ .build())
+ .build();
+ }
+
+ private void inspect(ArtProfileInspector profileInspector, CodeInspector inspector) {
+ profileInspector.assertEqualTo(getExpectedResidualArtProfile(inspector));
}
static class Main {
diff --git a/src/test/java/com/android/tools/r8/profile/art/ArtProfileRewritingTest.java b/src/test/java/com/android/tools/r8/profile/art/ArtProfileRewritingTest.java
index bbef17f..c68b02f 100644
--- a/src/test/java/com/android/tools/r8/profile/art/ArtProfileRewritingTest.java
+++ b/src/test/java/com/android/tools/r8/profile/art/ArtProfileRewritingTest.java
@@ -78,22 +78,33 @@
.build();
}
- private void inspect(ArtProfileInspector profileInspector, CodeInspector inspector) {
+ private ExternalArtProfile getExpectedResidualArtProfile(CodeInspector inspector) {
ClassSubject greeterClassSubject = inspector.clazz(Greeter.class);
assertThat(greeterClassSubject, isPresentAndRenamed());
MethodSubject greetMethodSubject = greeterClassSubject.uniqueMethodWithOriginalName("greet");
assertThat(greetMethodSubject, isPresentAndRenamed());
- profileInspector
- .assertContainsClassRules(mainClassReference, greeterClassSubject.getFinalReference())
- .inspectMethodRule(
- mainMethodReference,
- ruleInspector -> ruleInspector.assertIsStartup().assertNotHot().assertNotPostStartup())
- .inspectMethodRule(
- greetMethodSubject.getFinalReference(),
- ruleInspector -> ruleInspector.assertIsHot().assertIsPostStartup().assertNotStartup())
- .assertContainsNoOtherRules();
+ return ExternalArtProfile.builder()
+ .addRules(
+ ExternalArtProfileClassRule.builder().setClassReference(mainClassReference).build(),
+ ExternalArtProfileMethodRule.builder()
+ .setMethodReference(mainMethodReference)
+ .setMethodRuleInfo(ArtProfileMethodRuleInfoImpl.builder().setIsStartup().build())
+ .build(),
+ ExternalArtProfileClassRule.builder()
+ .setClassReference(greeterClassSubject.getFinalReference())
+ .build(),
+ ExternalArtProfileMethodRule.builder()
+ .setMethodReference(greetMethodSubject.getFinalReference())
+ .setMethodRuleInfo(
+ ArtProfileMethodRuleInfoImpl.builder().setIsHot().setIsPostStartup().build())
+ .build())
+ .build();
+ }
+
+ private void inspect(ArtProfileInspector profileInspector, CodeInspector inspector) {
+ profileInspector.assertEqualTo(getExpectedResidualArtProfile(inspector));
}
static class Main {
diff --git a/src/test/java/com/android/tools/r8/profile/art/DesugaredLibraryArtProfileRewritingTest.java b/src/test/java/com/android/tools/r8/profile/art/DesugaredLibraryArtProfileRewritingTest.java
index 3cd8e10..1a4bfda 100644
--- a/src/test/java/com/android/tools/r8/profile/art/DesugaredLibraryArtProfileRewritingTest.java
+++ b/src/test/java/com/android/tools/r8/profile/art/DesugaredLibraryArtProfileRewritingTest.java
@@ -86,6 +86,15 @@
.build();
}
+ private ExternalArtProfile getExpectedResidualArtProfile(MethodSubject forEachMethodSubject) {
+ return ExternalArtProfile.builder()
+ .addRule(
+ ExternalArtProfileMethodRule.builder()
+ .setMethodReference(forEachMethodSubject.getFinalReference())
+ .build())
+ .build();
+ }
+
private void inspect(ArtProfileInspector profileInspector, CodeInspector inspector) {
ClassSubject consumerClassSubject =
inspector.clazz(
@@ -103,7 +112,7 @@
&& libraryDesugaringSpecification == LibraryDesugaringSpecification.JDK8));
assertEquals(consumerClassSubject.asTypeSubject(), forEachMethodSubject.getParameter(0));
- profileInspector.assertContainsMethodRule(forEachMethodSubject).assertContainsNoOtherRules();
+ profileInspector.assertEqualTo(getExpectedResidualArtProfile(forEachMethodSubject));
}
static class Main {
diff --git a/src/test/java/com/android/tools/r8/profile/art/completeness/SyntheticLambdaClassProfileRewritingTest.java b/src/test/java/com/android/tools/r8/profile/art/completeness/SyntheticLambdaClassProfileRewritingTest.java
index e45e4a5..5b23bff 100644
--- a/src/test/java/com/android/tools/r8/profile/art/completeness/SyntheticLambdaClassProfileRewritingTest.java
+++ b/src/test/java/com/android/tools/r8/profile/art/completeness/SyntheticLambdaClassProfileRewritingTest.java
@@ -69,11 +69,14 @@
}
private void inspectResidualArtProfile(ArtProfileInspector profileInspector) {
- // TODO(b/265729283): Since Main.main() is in the art profile, so should the two synthetic
- // lambdas be when compiling to dex.
- profileInspector
- .assertContainsMethodRule(MethodReferenceUtils.mainMethod(Main.class))
- .assertContainsNoOtherRules();
+ if (parameters.isCfRuntime()) {
+ profileInspector.assertEqualTo(getArtProfile());
+ } else {
+ assert parameters.isDexRuntime();
+ // TODO(b/265729283): Since Main.main() is in the art profile, so should the two synthetic
+ // lambdas be.
+ profileInspector.assertEqualTo(getArtProfile());
+ }
}
static class Main {
diff --git a/src/test/java/com/android/tools/r8/profile/art/model/ExternalArtProfile.java b/src/test/java/com/android/tools/r8/profile/art/model/ExternalArtProfile.java
index 9951db3..9dd4d42 100644
--- a/src/test/java/com/android/tools/r8/profile/art/model/ExternalArtProfile.java
+++ b/src/test/java/com/android/tools/r8/profile/art/model/ExternalArtProfile.java
@@ -9,8 +9,9 @@
import com.android.tools.r8.references.ClassReference;
import com.android.tools.r8.references.MethodReference;
import com.android.tools.r8.utils.StringUtils;
-import java.util.LinkedHashMap;
-import java.util.Map;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
import java.util.function.Consumer;
/**
@@ -23,49 +24,9 @@
*/
public class ExternalArtProfile {
- private abstract static class ReferenceBox<R> {
+ private final List<ExternalArtProfileRule> rules;
- private final R reference;
-
- ReferenceBox(R reference) {
- this.reference = reference;
- }
-
- @Override
- public boolean equals(Object o) {
- if (this == o) {
- return true;
- }
- if (o == null || getClass() != o.getClass()) {
- return false;
- }
- ReferenceBox<?> that = (ReferenceBox<?>) o;
- return reference.equals(that.reference);
- }
-
- @Override
- public int hashCode() {
- return reference.hashCode();
- }
- }
-
- private static class ClassReferenceBox extends ReferenceBox<ClassReference> {
-
- ClassReferenceBox(ClassReference reference) {
- super(reference);
- }
- }
-
- private static class MethodReferenceBox extends ReferenceBox<MethodReference> {
-
- MethodReferenceBox(MethodReference reference) {
- super(reference);
- }
- }
-
- private final Map<ReferenceBox<?>, ExternalArtProfileRule> rules;
-
- ExternalArtProfile(Map<ReferenceBox<?>, ExternalArtProfileRule> rules) {
+ ExternalArtProfile(List<ExternalArtProfileRule> rules) {
this.rules = rules;
}
@@ -73,30 +34,14 @@
return new Builder();
}
- public boolean containsClassRule(ClassReference classReference) {
- return rules.containsKey(new ClassReferenceBox(classReference));
- }
-
- public boolean containsMethodRule(MethodReference methodReference) {
- return rules.containsKey(new MethodReferenceBox(methodReference));
- }
-
public void forEach(
Consumer<ExternalArtProfileClassRule> classRuleConsumer,
Consumer<ExternalArtProfileMethodRule> methodRuleConsumer) {
- for (ExternalArtProfileRule rule : rules.values()) {
+ for (ExternalArtProfileRule rule : rules) {
rule.accept(classRuleConsumer, methodRuleConsumer);
}
}
- public ExternalArtProfileClassRule getClassRule(ClassReference classReference) {
- return (ExternalArtProfileClassRule) rules.get(new ClassReferenceBox(classReference));
- }
-
- public ExternalArtProfileMethodRule getMethodRule(MethodReference methodReference) {
- return (ExternalArtProfileMethodRule) rules.get(new MethodReferenceBox(methodReference));
- }
-
public int size() {
return rules.size();
}
@@ -120,13 +65,12 @@
@Override
public String toString() {
- return StringUtils.join(
- System.lineSeparator(), rules.values(), ExternalArtProfileRule::toString);
+ return StringUtils.join(System.lineSeparator(), rules, ExternalArtProfileRule::toString);
}
public static class Builder {
- private final Map<ReferenceBox<?>, ExternalArtProfileRule> rules = new LinkedHashMap<>();
+ private final List<ExternalArtProfileRule> rules = new ArrayList<>();
public Builder addClassRule(ClassReference classReference) {
return addRule(
@@ -147,17 +91,12 @@
}
public Builder addRule(ExternalArtProfileRule rule) {
- rule.accept(
- classRule -> rules.put(new ClassReferenceBox(classRule.getClassReference()), classRule),
- methodRule ->
- rules.put(new MethodReferenceBox(methodRule.getMethodReference()), methodRule));
+ rules.add(rule);
return this;
}
public Builder addRules(ExternalArtProfileRule... rules) {
- for (ExternalArtProfileRule rule : rules) {
- addRule(rule);
- }
+ Collections.addAll(this.rules, rules);
return this;
}
diff --git a/src/test/java/com/android/tools/r8/profile/art/model/ExternalArtProfileClassRule.java b/src/test/java/com/android/tools/r8/profile/art/model/ExternalArtProfileClassRule.java
index 956cd6e..d6cd80a 100644
--- a/src/test/java/com/android/tools/r8/profile/art/model/ExternalArtProfileClassRule.java
+++ b/src/test/java/com/android/tools/r8/profile/art/model/ExternalArtProfileClassRule.java
@@ -6,7 +6,6 @@
import com.android.tools.r8.references.ClassReference;
import java.util.function.Consumer;
-import java.util.function.Predicate;
/**
* Represents a class rule from an ART baseline profile, backed by {@link ClassReference}. Class
@@ -37,13 +36,6 @@
}
@Override
- public boolean test(
- Predicate<ExternalArtProfileClassRule> classRuleConsumer,
- Predicate<ExternalArtProfileMethodRule> methodRuleConsumer) {
- return classRuleConsumer.test(this);
- }
-
- @Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
diff --git a/src/test/java/com/android/tools/r8/profile/art/model/ExternalArtProfileMethodRule.java b/src/test/java/com/android/tools/r8/profile/art/model/ExternalArtProfileMethodRule.java
index 4eadead..96943a6 100644
--- a/src/test/java/com/android/tools/r8/profile/art/model/ExternalArtProfileMethodRule.java
+++ b/src/test/java/com/android/tools/r8/profile/art/model/ExternalArtProfileMethodRule.java
@@ -9,7 +9,6 @@
import com.android.tools.r8.references.MethodReference;
import com.android.tools.r8.utils.MethodReferenceUtils;
import java.util.function.Consumer;
-import java.util.function.Predicate;
/** Represents a method rule from an ART baseline profile, backed by {@link MethodReference}. */
public class ExternalArtProfileMethodRule extends ExternalArtProfileRule {
@@ -45,13 +44,6 @@
}
@Override
- public boolean test(
- Predicate<ExternalArtProfileClassRule> classRuleConsumer,
- Predicate<ExternalArtProfileMethodRule> methodRuleConsumer) {
- return methodRuleConsumer.test(this);
- }
-
- @Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
diff --git a/src/test/java/com/android/tools/r8/profile/art/model/ExternalArtProfileRule.java b/src/test/java/com/android/tools/r8/profile/art/model/ExternalArtProfileRule.java
index 7138589..bd3c99e 100644
--- a/src/test/java/com/android/tools/r8/profile/art/model/ExternalArtProfileRule.java
+++ b/src/test/java/com/android/tools/r8/profile/art/model/ExternalArtProfileRule.java
@@ -5,15 +5,10 @@
package com.android.tools.r8.profile.art.model;
import java.util.function.Consumer;
-import java.util.function.Predicate;
public abstract class ExternalArtProfileRule {
public abstract void accept(
Consumer<ExternalArtProfileClassRule> classRuleConsumer,
Consumer<ExternalArtProfileMethodRule> methodRuleConsumer);
-
- public abstract boolean test(
- Predicate<ExternalArtProfileClassRule> classRuleConsumer,
- Predicate<ExternalArtProfileMethodRule> methodRuleConsumer);
}
diff --git a/src/test/java/com/android/tools/r8/profile/art/utils/ArtProfileClassRuleInspector.java b/src/test/java/com/android/tools/r8/profile/art/utils/ArtProfileClassRuleInspector.java
deleted file mode 100644
index eded89d..0000000
--- a/src/test/java/com/android/tools/r8/profile/art/utils/ArtProfileClassRuleInspector.java
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright (c) 2023, 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.profile.art.utils;
-
-import com.android.tools.r8.profile.art.model.ExternalArtProfileClassRule;
-
-public class ArtProfileClassRuleInspector {
-
- private final ExternalArtProfileClassRule classRule;
-
- ArtProfileClassRuleInspector(ExternalArtProfileClassRule classRule) {
- this.classRule = classRule;
- }
-}
diff --git a/src/test/java/com/android/tools/r8/profile/art/utils/ArtProfileInspector.java b/src/test/java/com/android/tools/r8/profile/art/utils/ArtProfileInspector.java
index 22b5370..af0a9a9 100644
--- a/src/test/java/com/android/tools/r8/profile/art/utils/ArtProfileInspector.java
+++ b/src/test/java/com/android/tools/r8/profile/art/utils/ArtProfileInspector.java
@@ -4,28 +4,15 @@
package com.android.tools.r8.profile.art.utils;
-import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotEquals;
import com.android.tools.r8.profile.art.model.ExternalArtProfile;
-import com.android.tools.r8.profile.art.model.ExternalArtProfileClassRule;
-import com.android.tools.r8.profile.art.model.ExternalArtProfileMethodRule;
-import com.android.tools.r8.references.ClassReference;
-import com.android.tools.r8.references.MethodReference;
-import com.android.tools.r8.utils.codeinspector.ClassSubject;
-import com.android.tools.r8.utils.codeinspector.MethodSubject;
-import java.util.HashSet;
-import java.util.Set;
-import java.util.function.Consumer;
public class ArtProfileInspector {
private final ExternalArtProfile artProfile;
- private final Set<ClassReference> checkedClassReferences = new HashSet<>();
- private final Set<MethodReference> checkedMethodReferences = new HashSet<>();
-
public ArtProfileInspector(ExternalArtProfile artProfile) {
this.artProfile = artProfile;
}
@@ -35,63 +22,13 @@
return this;
}
+ public ArtProfileInspector assertEqualTo(ExternalArtProfile otherArtProfile) {
+ assertEquals(otherArtProfile, artProfile);
+ return this;
+ }
+
public ArtProfileInspector assertNotEmpty() {
assertNotEquals(0, artProfile.size());
return this;
}
-
- public ArtProfileInspector assertContainsClassRule(ClassReference classReference) {
- assertThat(artProfile, ArtProfileMatchers.containsClassRule(classReference));
- checkedClassReferences.add(classReference);
- return this;
- }
-
- public ArtProfileInspector assertContainsClassRule(ClassSubject classSubject) {
- return assertContainsClassRule(classSubject.getFinalReference());
- }
-
- public ArtProfileInspector assertContainsClassRules(ClassReference... classReferences) {
- for (ClassReference classReference : classReferences) {
- assertContainsClassRule(classReference);
- }
- return this;
- }
-
- public ArtProfileInspector assertContainsMethodRule(MethodReference methodReference) {
- assertThat(artProfile, ArtProfileMatchers.containsMethodRule(methodReference));
- checkedMethodReferences.add(methodReference);
- return this;
- }
-
- public ArtProfileInspector assertContainsMethodRule(MethodSubject methodSubject) {
- return assertContainsMethodRule(methodSubject.getFinalReference());
- }
-
- public ArtProfileInspector assertContainsMethodRules(MethodReference... methodReferences) {
- for (MethodReference methodReference : methodReferences) {
- assertContainsMethodRule(methodReference);
- }
- return this;
- }
-
- public ArtProfileInspector assertContainsNoOtherRules() {
- assertEquals(checkedClassReferences.size() + checkedMethodReferences.size(), artProfile.size());
- return this;
- }
-
- public ArtProfileInspector inspectClassRule(
- ClassReference classReference, Consumer<ArtProfileClassRuleInspector> inspector) {
- assertContainsClassRule(classReference);
- ExternalArtProfileClassRule classRule = artProfile.getClassRule(classReference);
- inspector.accept(new ArtProfileClassRuleInspector(classRule));
- return this;
- }
-
- public ArtProfileInspector inspectMethodRule(
- MethodReference methodReference, Consumer<ArtProfileMethodRuleInspector> inspector) {
- assertContainsMethodRule(methodReference);
- ExternalArtProfileMethodRule methodRule = artProfile.getMethodRule(methodReference);
- inspector.accept(new ArtProfileMethodRuleInspector(methodRule));
- return this;
- }
}
diff --git a/src/test/java/com/android/tools/r8/profile/art/utils/ArtProfileMatchers.java b/src/test/java/com/android/tools/r8/profile/art/utils/ArtProfileMatchers.java
deleted file mode 100644
index 64355a9..0000000
--- a/src/test/java/com/android/tools/r8/profile/art/utils/ArtProfileMatchers.java
+++ /dev/null
@@ -1,72 +0,0 @@
-// Copyright (c) 2023, 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.profile.art.utils;
-
-import static com.android.tools.r8.utils.codeinspector.Matchers.isPresent;
-import static org.hamcrest.MatcherAssert.assertThat;
-
-import com.android.tools.r8.profile.art.model.ExternalArtProfile;
-import com.android.tools.r8.references.ClassReference;
-import com.android.tools.r8.references.MethodReference;
-import com.android.tools.r8.utils.ClassReferenceUtils;
-import com.android.tools.r8.utils.MethodReferenceUtils;
-import com.android.tools.r8.utils.codeinspector.ClassSubject;
-import com.android.tools.r8.utils.codeinspector.MethodSubject;
-import org.hamcrest.Description;
-import org.hamcrest.Matcher;
-import org.hamcrest.TypeSafeMatcher;
-
-public class ArtProfileMatchers {
-
- public static Matcher<ExternalArtProfile> containsClassRule(ClassReference classReference) {
- return new TypeSafeMatcher<ExternalArtProfile>() {
- @Override
- protected boolean matchesSafely(ExternalArtProfile subject) {
- return subject.containsClassRule(classReference);
- }
-
- @Override
- public void describeTo(Description description) {
- description.appendText(
- "contains class rule " + ClassReferenceUtils.toSmaliString(classReference));
- }
-
- @Override
- public void describeMismatchSafely(ExternalArtProfile subject, Description description) {
- description.appendText("profile did not");
- }
- };
- }
-
- public static Matcher<ExternalArtProfile> containsClassRule(ClassSubject classSubject) {
- assertThat(classSubject, isPresent());
- return containsClassRule(classSubject.getFinalReference());
- }
-
- public static Matcher<ExternalArtProfile> containsMethodRule(MethodReference methodReference) {
- return new TypeSafeMatcher<ExternalArtProfile>() {
- @Override
- protected boolean matchesSafely(ExternalArtProfile subject) {
- return subject.containsMethodRule(methodReference);
- }
-
- @Override
- public void describeTo(Description description) {
- description.appendText(
- "contains method rule " + MethodReferenceUtils.toSmaliString(methodReference));
- }
-
- @Override
- public void describeMismatchSafely(ExternalArtProfile subject, Description description) {
- description.appendText("profile did not");
- }
- };
- }
-
- public static Matcher<ExternalArtProfile> containsMethodRule(MethodSubject methodSubject) {
- assertThat(methodSubject, isPresent());
- return containsMethodRule(methodSubject.getFinalReference());
- }
-}
diff --git a/src/test/java/com/android/tools/r8/profile/art/utils/ArtProfileMethodRuleInspector.java b/src/test/java/com/android/tools/r8/profile/art/utils/ArtProfileMethodRuleInspector.java
deleted file mode 100644
index fbca727..0000000
--- a/src/test/java/com/android/tools/r8/profile/art/utils/ArtProfileMethodRuleInspector.java
+++ /dev/null
@@ -1,49 +0,0 @@
-// Copyright (c) 2023, 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.profile.art.utils;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-import com.android.tools.r8.profile.art.model.ExternalArtProfileMethodRule;
-
-public class ArtProfileMethodRuleInspector {
-
- private final ExternalArtProfileMethodRule methodRule;
-
- ArtProfileMethodRuleInspector(ExternalArtProfileMethodRule methodRule) {
- this.methodRule = methodRule;
- }
-
- public ArtProfileMethodRuleInspector assertIsHot() {
- assertTrue(methodRule.getMethodRuleInfo().isHot());
- return this;
- }
-
- public ArtProfileMethodRuleInspector assertIsStartup() {
- assertTrue(methodRule.getMethodRuleInfo().isStartup());
- return this;
- }
-
- public ArtProfileMethodRuleInspector assertIsPostStartup() {
- assertTrue(methodRule.getMethodRuleInfo().isPostStartup());
- return this;
- }
-
- public ArtProfileMethodRuleInspector assertNotHot() {
- assertFalse(methodRule.getMethodRuleInfo().isHot());
- return this;
- }
-
- public ArtProfileMethodRuleInspector assertNotStartup() {
- assertFalse(methodRule.getMethodRuleInfo().isStartup());
- return this;
- }
-
- public ArtProfileMethodRuleInspector assertNotPostStartup() {
- assertFalse(methodRule.getMethodRuleInfo().isPostStartup());
- return this;
- }
-}