不混淆DOTS相关类型
parent
8f0a5bc0f2
commit
77c6635eda
|
@ -144,6 +144,10 @@ namespace Obfuz.ObfusPasses.SymbolObfus.Policies
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
if (MetaUtil.HasBurstCompileAttribute(typeDef))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
if (typeDef.DeclaringType != null)
|
if (typeDef.DeclaringType != null)
|
||||||
{
|
{
|
||||||
return IsUnitySourceGeneratedAssemblyType(typeDef.DeclaringType);
|
return IsUnitySourceGeneratedAssemblyType(typeDef.DeclaringType);
|
||||||
|
@ -151,13 +155,34 @@ namespace Obfuz.ObfusPasses.SymbolObfus.Policies
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private bool DoesDeclaringTypeDisableAllMemberRenaming(TypeDef typeDef)
|
||||||
|
{
|
||||||
|
if (typeDef.IsEnum && MetaUtil.HasBlackboardEnumAttribute(typeDef))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (IsUnitySourceGeneratedAssemblyType(typeDef))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (MetaUtil.IsInheritFromDOTSTypes(typeDef))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (IsUnitySourceGeneratedAssemblyType(typeDef))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
public override bool NeedRename(TypeDef typeDef)
|
public override bool NeedRename(TypeDef typeDef)
|
||||||
{
|
{
|
||||||
if (MetaUtil.IsScriptType(typeDef))
|
if (MetaUtil.IsScriptType(typeDef))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (MetaUtil.IsInheritFromDOTSTypes(typeDef))
|
if (DoesDeclaringTypeDisableAllMemberRenaming(typeDef))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -165,14 +190,6 @@ namespace Obfuz.ObfusPasses.SymbolObfus.Policies
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (typeDef.IsEnum && MetaUtil.HasBlackboardEnumAttribute(typeDef))
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
if (IsUnitySourceGeneratedAssemblyType(typeDef))
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -183,7 +200,7 @@ namespace Obfuz.ObfusPasses.SymbolObfus.Policies
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (MetaUtil.IsInheritFromDOTSTypes(typeDef))
|
if (DoesDeclaringTypeDisableAllMemberRenaming(typeDef))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -191,9 +208,9 @@ namespace Obfuz.ObfusPasses.SymbolObfus.Policies
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (IsUnitySourceGeneratedAssemblyType(typeDef))
|
if (MetaUtil.HasBurstCompileAttribute(methodDef))
|
||||||
{
|
{
|
||||||
return false;
|
return true;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -205,15 +222,7 @@ namespace Obfuz.ObfusPasses.SymbolObfus.Policies
|
||||||
{
|
{
|
||||||
return !MetaUtil.IsSerializableField(fieldDef);
|
return !MetaUtil.IsSerializableField(fieldDef);
|
||||||
}
|
}
|
||||||
if (MetaUtil.IsInheritFromDOTSTypes(typeDef))
|
if (DoesDeclaringTypeDisableAllMemberRenaming(typeDef))
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
if (typeDef.IsEnum && MetaUtil.HasBlackboardEnumAttribute(typeDef))
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
if (IsUnitySourceGeneratedAssemblyType(typeDef))
|
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -984,5 +984,10 @@ namespace Obfuz.Utils
|
||||||
{
|
{
|
||||||
return typeDef.CustomAttributes.Find("Unity.Behavior.BlackboardEnumAttribute") != null;
|
return typeDef.CustomAttributes.Find("Unity.Behavior.BlackboardEnumAttribute") != null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static bool HasBurstCompileAttribute(IHasCustomAttribute obj)
|
||||||
|
{
|
||||||
|
return obj.CustomAttributes.Find("Unity.Burst.BurstCompileAttribute") != null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue