Reset the dnlib TypeDef find cache after reordering a module
parent
46b2e0c54e
commit
50711591e0
|
|
@ -67,6 +67,7 @@ namespace Obfuz.ObfusPasses.SymbolObfus
|
|||
Reorder(type.Properties, p => !_renamePolicy.NeedRename(p));
|
||||
Reorder(type.Events, e => !_renamePolicy.NeedRename(e));
|
||||
}
|
||||
mod.ResetTypeDefFindCache();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -88,7 +88,13 @@ static class Program
|
|||
var before = Snapshot(Load(dll));
|
||||
|
||||
var mod1 = Load(dll);
|
||||
mod1.EnableTypeDefFindCache = true;
|
||||
var primed = mod1.Find("Fx.Plain01", false);
|
||||
var primedEnumerator = mod1.GetTypes().GetEnumerator();
|
||||
primedEnumerator.MoveNext();
|
||||
new MemberReorder(1234, new AllowAll()).Process(new List<ModuleDef> { mod1 });
|
||||
Check(primed != null && mod1.Find("Fx.Plain01", false) != null
|
||||
&& mod1.Find("Fx2.PlainHost", false) != null, "TypeDef find cache still resolves after reordering");
|
||||
var after1 = Snapshot(mod1);
|
||||
|
||||
var mod2 = Load(dll);
|
||||
|
|
|
|||
Loading…
Reference in New Issue