blob: 94f9b12ae77b93ca23372ea4c4fb075e40e8dd82 [file] [log] [blame]
// Copyright (c) 2020, 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.kotlin;
import com.android.tools.r8.graph.AppView;
import com.android.tools.r8.graph.DexApplication;
import com.android.tools.r8.utils.ThreadUtils;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
public class KotlinInfoCollector {
public static void computeKotlinInfoForProgramClasses(
DexApplication application, AppView<?> appView, ExecutorService executorService)
throws ExecutionException {
if (appView.options().kotlinOptimizationOptions().disableKotlinSpecificOptimizations) {
return;
}
Kotlin kotlin = appView.dexItemFactory().kotlin;
ThreadUtils.processItems(
application.classes(),
programClass -> {
programClass.setKotlinInfo(kotlin.getKotlinInfo(programClass, appView));
},
executorService);
}
}