blob: beab1446345f030ff53d274300de7b1297464ce2 [file] [log] [blame]
// Copyright (c) 2022, 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;
import com.android.tools.r8.Keep;
import com.android.tools.r8.references.ClassReference;
import com.android.tools.r8.references.MethodReference;
/**
* API for consuming rules from an ART profile. The compiler will call the methods {@link
* #acceptClassRule} and {@link #acceptMethodRule} for each class and method rule (respectively) in
* the profile.
*/
@Keep
public interface ArtProfileRuleConsumer {
/** Provides information about a specific class rule to the consumer. */
void acceptClassRule(ClassReference classReference, ArtProfileClassRuleInfo classRuleInfo);
/** Provides information about a specific method rule to the consumer. */
void acceptMethodRule(MethodReference methodReference, ArtProfileMethodRuleInfo methodRuleInfo);
}