symbol mapping文件中不存在的类型相关的记录仍然保留在输出的symbol mapping文件中
parent
8bd2aab9da
commit
161ab5a29e
|
@ -385,10 +385,29 @@ namespace Obfuz.ObfusPasses.SymbolObfus
|
||||||
if (mod != null)
|
if (mod != null)
|
||||||
{
|
{
|
||||||
var types = mod.GetTypes().ToDictionary(t => _typeRenames.TryGetValue(t, out var rec) ? rec.oldName : t.FullName, t => t);
|
var types = mod.GetTypes().ToDictionary(t => _typeRenames.TryGetValue(t, out var rec) ? rec.oldName : t.FullName, t => t);
|
||||||
var sortedTypes = new SortedDictionary<string, TypeDef>(types);
|
if (_assemblies.TryGetValue(assName, out var ass))
|
||||||
foreach (TypeDef type in sortedTypes.Values)
|
|
||||||
{
|
{
|
||||||
WriteTypeMapping(assemblyNode, type);
|
var totalTypeNames = types.Keys.Concat(ass.types.Keys).ToHashSet().ToList();
|
||||||
|
totalTypeNames.Sort((a, b) => a.CompareTo((b)));
|
||||||
|
foreach (string typeName in totalTypeNames)
|
||||||
|
{
|
||||||
|
if (types.TryGetValue(typeName, out TypeDef typeDef))
|
||||||
|
{
|
||||||
|
WriteTypeMapping(assemblyNode, typeDef);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
WriteTypeMapping(assemblyNode, typeName, ass.types[typeName]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var sortedTypes = new SortedDictionary<string, TypeDef>(types);
|
||||||
|
foreach (TypeDef type in sortedTypes.Values)
|
||||||
|
{
|
||||||
|
WriteTypeMapping(assemblyNode, type);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in New Issue