public static void EarlyMarkNoInline(Assembly asm) { foreach (var type in asm.GetTypes()) { MpPatchExtensions.DoMpPatches(null, type)?.ForEach(m => MpUtil.MarkNoInlining(m)); var harmonyMethods = type.GetHarmonyMethods(); if (harmonyMethods?.Count > 0) { var original = MpUtil.GetOriginalMethod(HarmonyMethod.Merge(harmonyMethods)); if (original != null) { MpUtil.MarkNoInlining(original); } } } }
private void EarlyMarkNoInline() { foreach (var type in MpUtil.AllModTypes()) { MpPatchExtensions.DoMpPatches(null, type)?.ForEach(m => MpUtil.MarkNoInlining(m)); var harmonyMethods = type.GetHarmonyMethods(); if (harmonyMethods?.Count > 0) { var original = MpUtil.GetOriginalMethod(HarmonyMethod.Merge(harmonyMethods)); if (original != null) { MpUtil.MarkNoInlining(original); } } } }