| // 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.compatproguard; | 
 |  | 
 | import com.android.tools.r8.R8CompatTestBuilder; | 
 | import com.android.tools.r8.ThrowableConsumer; | 
 | import com.android.tools.r8.smali.SmaliBuilder; | 
 | import com.android.tools.r8.smali.SmaliTestBase; | 
 | import com.android.tools.r8.utils.codeinspector.CodeInspector; | 
 | import java.util.List; | 
 |  | 
 | class CompatProguardSmaliTestBase extends SmaliTestBase { | 
 |  | 
 |   CodeInspector runCompatProguard(SmaliBuilder builder, List<String> keepRules) throws Exception { | 
 |     return runCompatProguard(builder, testBuilder -> testBuilder.addKeepRules(keepRules)); | 
 |   } | 
 |  | 
 |   CodeInspector runCompatProguard( | 
 |       SmaliBuilder builder, ThrowableConsumer<R8CompatTestBuilder> configuration) throws Exception { | 
 |     return testForR8Compat(Backend.DEX) | 
 |         .addProgramDexFileData(builder.compile()) | 
 |         .applyIf(configuration != null, configuration) | 
 |         .compile() | 
 |         .inspector(); | 
 |   } | 
 | } |