| // 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(); | |
| } | |
| } |