|  | // 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.ir.optimize; | 
|  |  | 
|  | import com.android.tools.r8.graph.DexMethod; | 
|  | import com.android.tools.r8.ir.analysis.ClassInitializationAnalysis; | 
|  | import com.android.tools.r8.ir.code.InvokeMethodWithReceiver; | 
|  | import com.android.tools.r8.ir.code.InvokePolymorphic; | 
|  | import com.android.tools.r8.ir.code.InvokeStatic; | 
|  | import com.android.tools.r8.ir.optimize.Inliner.InlineAction; | 
|  |  | 
|  | /** | 
|  | * The InliningOracle contains information needed for when inlining other methods into @method. | 
|  | */ | 
|  | public interface InliningOracle { | 
|  |  | 
|  | void finish(); | 
|  |  | 
|  | InlineAction computeForInvokeWithReceiver( | 
|  | InvokeMethodWithReceiver invoke, DexMethod invocationContext); | 
|  |  | 
|  | InlineAction computeForInvokeStatic( | 
|  | InvokeStatic invoke, | 
|  | DexMethod invocationContext, | 
|  | ClassInitializationAnalysis classInitializationAnalysis); | 
|  |  | 
|  | InlineAction computeForInvokePolymorphic(InvokePolymorphic invoke, DexMethod invocationContext); | 
|  | } |