| // 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 GenerateMainDexListRunResult inspectDiagnosticMessages( | 
 |       Consumer<TestDiagnosticMessages> consumer) { | 
 |     consumer.accept(state.getDiagnosticsMessages()); | 
 |     return self(); | 
 |   } | 
 |  | 
 |   @Override | 
 |   protected GenerateMainDexListRunResult self() { | 
 |     return this; | 
 |   } | 
 | } |