blob: 36b0d82b9f72cc7211168fbdba91de326d1abf2c [file] [log] [blame]
// 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.retrace;
import com.android.tools.r8.DiagnosticsHandler;
import com.android.tools.r8.Finishable;
import com.android.tools.r8.keepanno.annotations.KeepForApi;
import com.android.tools.r8.references.ClassReference;
import com.android.tools.r8.references.FieldReference;
import com.android.tools.r8.references.MethodReference;
@KeepForApi
public interface MappingSupplierBase<T extends MappingSupplierBase<T>> extends Finishable {
/***
* Register an allowed mapping lookup to allow for prefetching of resources.
*
* @param classReference The minified class reference allowed to be lookup up.
*/
T registerClassUse(DiagnosticsHandler diagnosticsHandler, ClassReference classReference);
/***
* Register an allowed mapping lookup to allow for prefetching of resources.
*
* @param methodReference The minified method reference allowed to be lookup up.
*/
T registerMethodUse(DiagnosticsHandler diagnosticsHandler, MethodReference methodReference);
/***
* Register an allowed mapping lookup to allow for prefetching of resources.
*
* @param fieldReference The minified field reference allowed to be lookup up.
*/
T registerFieldUse(DiagnosticsHandler diagnosticsHandler, FieldReference fieldReference);
}