From b3ef0049fc920b8219dcb24961b5e51c0ce267c8 Mon Sep 17 00:00:00 2001 From: olivato Date: Tue, 1 Sep 2026 16:29:19 +0100 Subject: [PATCH] Pin type position when a nested type has a RuntimeInitializeOnLoadMethod --- Editor/ObfusPasses/SymbolObfus/MemberReorder.cs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Editor/ObfusPasses/SymbolObfus/MemberReorder.cs b/Editor/ObfusPasses/SymbolObfus/MemberReorder.cs index 920bc5e..30002ef 100644 --- a/Editor/ObfusPasses/SymbolObfus/MemberReorder.cs +++ b/Editor/ObfusPasses/SymbolObfus/MemberReorder.cs @@ -65,7 +65,13 @@ namespace Obfuz.ObfusPasses.SymbolObfus { return true; } - return type.Methods.Any(MetaUtil.HasRuntimeInitializeOnLoadMethodAttribute); + return HasRuntimeInitializeOnLoadMethod(type); + } + + private static bool HasRuntimeInitializeOnLoadMethod(TypeDef type) + { + return type.Methods.Any(MetaUtil.HasRuntimeInitializeOnLoadMethodAttribute) + || type.NestedTypes.Any(HasRuntimeInitializeOnLoadMethod); } private bool IsPositionPinnedMethod(MethodDef method)