using Mono.Cecil;
using Mono.Cecil.Cil;
namespace StardewModdingAPI.AssemblyRewriters
{
/// Rewrites a method for compatibility.
public interface IMethodRewriter
{
/// Get whether the given method reference can be rewritten.
/// The method reference.
bool ShouldRewrite(MethodReference methodRef);
/// Rewrite a method for compatibility.
/// The module being rewritten.
/// The CIL rewriter.
/// The instruction which calls the method.
/// The method reference invoked by the .
/// Metadata for mapping assemblies to the current platform.
void Rewrite(ModuleDefinition module, ILProcessor cil, Instruction callOp, MethodReference methodRef, PlatformAssemblyMap assemblyMap);
}
}