blob: b3143a097d5b2abd5c9852d96dd8298745dce554 [file] [log] [blame]
// Copyright (c) 2017, 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;
/**
* Base for all program consumers to allow abstracting which concrete consumer is provided to D8/R8.
*/
@KeepForSubclassing
public interface ProgramConsumer {
/**
* Returns a {@link DataResourceConsumer} that will receive data resources. If this
* returns <code>null</code> no data resources will be processed.
*/
default DataResourceConsumer getDataResourceConsumer() {
return null;
}
/**
* Callback signifying that compilation of program resources has finished.
*
* <p>Called only once after all program outputs have been generated and consumed.
*
* @param handler Diagnostics handler for reporting.
*/
void finished(DiagnosticsHandler handler);
}