Format Style Fixes
This commit is contained in:
@@ -17,7 +17,9 @@ public class JsonExtensionDataPatch : IPatcher
|
||||
public void Patch(AssemblyDefinition assembly)
|
||||
{
|
||||
_dictionaryStringObjectReference ??= assembly.MainModule.ImportReference(typeof(Dictionary<string, object>));
|
||||
_dictionaryStringObjectCtorReference ??= assembly.MainModule.ImportReference(typeof(Dictionary<string, object>).GetConstructor(Type.EmptyTypes));
|
||||
_dictionaryStringObjectCtorReference ??= assembly.MainModule.ImportReference(
|
||||
typeof(Dictionary<string, object>).GetConstructor(Type.EmptyTypes)
|
||||
);
|
||||
|
||||
if (_jsonExtensionDataAttributeReference is null)
|
||||
{
|
||||
@@ -38,28 +40,33 @@ public class JsonExtensionDataPatch : IPatcher
|
||||
|
||||
_jsonIgnoreAttributeReference = assembly.MainModule.ImportReference(jsonIgnoreConstructorReference);
|
||||
}
|
||||
var isExternalInitType = assembly.MainModule.ImportReference(
|
||||
typeof(System.Runtime.CompilerServices.IsExternalInit)
|
||||
);
|
||||
var isExternalInitType = assembly.MainModule.ImportReference(typeof(System.Runtime.CompilerServices.IsExternalInit));
|
||||
|
||||
var compilerGenerated = assembly.MainModule.ImportReference(
|
||||
assembly.MainModule.ImportReference(
|
||||
typeof(System.Runtime.CompilerServices.CompilerGeneratedAttribute).GetConstructor(Type.EmptyTypes)));
|
||||
typeof(System.Runtime.CompilerServices.CompilerGeneratedAttribute).GetConstructor(Type.EmptyTypes)
|
||||
)
|
||||
);
|
||||
|
||||
var nullableAttrType = assembly.MainModule.ImportReference(typeof(System.Runtime.CompilerServices.NullableAttribute));
|
||||
var attrCtor = assembly.MainModule.ImportReference(nullableAttrType.Resolve().Methods.First(m => m.IsConstructor && m.Parameters.Count == 1 && m.Parameters[0].ParameterType.Name == "Byte"));
|
||||
var attrCtor = assembly.MainModule.ImportReference(
|
||||
nullableAttrType
|
||||
.Resolve()
|
||||
.Methods.First(m => m.IsConstructor && m.Parameters.Count == 1 && m.Parameters[0].ParameterType.Name == "Byte")
|
||||
);
|
||||
var attr = new CustomAttribute(attrCtor);
|
||||
attr.ConstructorArguments.Add(new CustomAttributeArgument(assembly.MainModule.TypeSystem.Byte, (byte)1));
|
||||
|
||||
var processed = new HashSet<string>();
|
||||
foreach (var typeDefinition in assembly.MainModule.Types)
|
||||
{
|
||||
|
||||
if (!typeDefinition.Namespace.Contains("SPTarkov.Server.Core.Models") ||
|
||||
typeDefinition.IsInterface ||
|
||||
typeDefinition.IsEnum ||
|
||||
IsStaticClass(typeDefinition) ||
|
||||
processed.Contains(typeDefinition.FullName))
|
||||
if (
|
||||
!typeDefinition.Namespace.Contains("SPTarkov.Server.Core.Models")
|
||||
|| typeDefinition.IsInterface
|
||||
|| typeDefinition.IsEnum
|
||||
|| IsStaticClass(typeDefinition)
|
||||
|| processed.Contains(typeDefinition.FullName)
|
||||
)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
@@ -69,9 +76,11 @@ public class JsonExtensionDataPatch : IPatcher
|
||||
propertyDefinition.CustomAttributes.Add(attr);
|
||||
|
||||
// Add backing field
|
||||
var field = new FieldDefinition("<ExtensionData>k__BackingField",
|
||||
var field = new FieldDefinition(
|
||||
"<ExtensionData>k__BackingField",
|
||||
FieldAttributes.Private | FieldAttributes.InitOnly,
|
||||
_dictionaryStringObjectReference);
|
||||
_dictionaryStringObjectReference
|
||||
);
|
||||
field.CustomAttributes.Add(new CustomAttribute(compilerGenerated));
|
||||
field.CustomAttributes.Add(attr);
|
||||
typeDefinition.Fields.Add(field);
|
||||
@@ -80,7 +89,8 @@ public class JsonExtensionDataPatch : IPatcher
|
||||
var get = new MethodDefinition(
|
||||
"get_ExtensionData",
|
||||
MethodAttributes.Public | MethodAttributes.SpecialName | MethodAttributes.HideBySig,
|
||||
_dictionaryStringObjectReference);
|
||||
_dictionaryStringObjectReference
|
||||
);
|
||||
|
||||
get.CustomAttributes.Add(new CustomAttribute(compilerGenerated));
|
||||
get.Body.Instructions.Add(Instruction.Create(OpCodes.Ldarg_0));
|
||||
@@ -138,9 +148,7 @@ public class JsonExtensionDataPatch : IPatcher
|
||||
|
||||
private bool IsStaticClass(TypeDefinition type)
|
||||
{
|
||||
return type.IsClass &&
|
||||
type.IsAbstract &&
|
||||
type.IsSealed;
|
||||
return type.IsClass && type.IsAbstract && type.IsSealed;
|
||||
}
|
||||
|
||||
public string Name
|
||||
|
||||
Reference in New Issue
Block a user