blob: 853c057a485b9d3bdf1a4f598a389b16d9c1bb15 [file] [log] [blame]
// Copyright (c) 2019, 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;
import com.android.tools.r8.references.ClassReference;
import com.android.tools.r8.references.Reference;
import com.android.tools.r8.utils.ListUtils;
import java.util.List;
import java.util.function.Consumer;
public class GenerateMainDexListRunResult
extends SingleTestRunResult<GenerateMainDexListRunResult> {
final TestState state;
List<String> mainDexList;
public GenerateMainDexListRunResult(List<String> mainDexList, TestState state) {
super(null, null, null);
this.mainDexList = mainDexList;
this.state = state;
}
public List<ClassReference> getMainDexList() {
return ListUtils.map(
mainDexList,
entry -> {
assert entry.endsWith(".class");
String binaryName = entry.substring(0, entry.length() - ".class".length());
return Reference.classFromBinaryName(binaryName);
});
}
public final GenerateMainDexListRunResult inspectMainDexClasses(
Consumer<List<ClassReference>> consumer) {
consumer.accept(getMainDexList());
return self();
}
public GenerateMainDexListRunResult inspectDiagnosticMessages(
Consumer<TestDiagnosticMessages> consumer) {
consumer.accept(state.getDiagnosticsMessages());
return self();
}
@Override
protected GenerateMainDexListRunResult self() {
return this;
}
}