using System;
using HarmonyLib;
using Mono.Cecil;
using Mono.Cecil.Cil;
using StardewModdingAPI.Framework.ModLoading.Framework;
using StardewModdingAPI.Framework.ModLoading.RewriteFacades;
namespace StardewModdingAPI.Framework.ModLoading.Rewriters
{
/// Rewrites Harmony 1.x assembly references to work with Harmony 2.x.
internal class ArchitectureAssemblyRewriter : BaseInstructionHandler
{
/*********
** Public methods
*********/
/// Construct an instance.
public ArchitectureAssemblyRewriter()
: base(defaultPhrase: "32-bit architecture") { }
///
public override bool Handle( ModuleDefinition module )
{
if ( module.Attributes.HasFlag( ModuleAttributes.Required32Bit ) )
{
module.Attributes = module.Attributes & ~ModuleAttributes.Required32Bit;
this.MarkRewritten();
return true;
}
return false;
}
}
}