From d19877048423965da13f9510083412d7185c1a74 Mon Sep 17 00:00:00 2001
From: thegu5 <58223632+thegu5@users.noreply.github.com>
Date: Thu, 6 Jun 2024 16:24:31 -0400
Subject: [PATCH] Publicize AttributeInjectionUtils
---
Cpp2IL.Core/Utils/AttributeInjectionUtils.cs | 26 ++++++++++----------
1 file changed, 13 insertions(+), 13 deletions(-)
diff --git a/Cpp2IL.Core/Utils/AttributeInjectionUtils.cs b/Cpp2IL.Core/Utils/AttributeInjectionUtils.cs
index c6148382..77cdcb22 100644
--- a/Cpp2IL.Core/Utils/AttributeInjectionUtils.cs
+++ b/Cpp2IL.Core/Utils/AttributeInjectionUtils.cs
@@ -10,20 +10,20 @@
namespace Cpp2IL.Core.Utils;
-internal static class AttributeInjectionUtils
+public static class AttributeInjectionUtils
{
///
/// Inject an attribute with no fields nor properties into the .
///
/// A dictionary of assembly contexts to their inject attribute constructors.
- internal static Dictionary InjectZeroParameterAttribute(ApplicationAnalysisContext appContext, string ns, string name, AttributeTargets attributeTargets, bool allowMultiple)
+ public static Dictionary InjectZeroParameterAttribute(ApplicationAnalysisContext appContext, string ns, string name, AttributeTargets attributeTargets, bool allowMultiple)
{
var multiInjectType = appContext.InjectTypeIntoAllAssemblies(ns, name, appContext.SystemTypes.SystemAttributeType);
ApplyAttributeUsageAttribute(appContext, multiInjectType, attributeTargets, allowMultiple);
return multiInjectType.InjectConstructor(false);
}
- internal static Dictionary InjectOneParameterAttribute(ApplicationAnalysisContext appContext, string ns, string name, AttributeTargets attributeTargets, bool allowMultiple, TypeAnalysisContext fieldType, string fieldName)
+ public static Dictionary InjectOneParameterAttribute(ApplicationAnalysisContext appContext, string ns, string name, AttributeTargets attributeTargets, bool allowMultiple, TypeAnalysisContext fieldType, string fieldName)
{
var multiInjectType = appContext.InjectTypeIntoAllAssemblies(ns, name, appContext.SystemTypes.SystemAttributeType);
ApplyAttributeUsageAttribute(appContext, multiInjectType, attributeTargets, allowMultiple);
@@ -35,7 +35,7 @@ internal static Dictionary t.DeclaringAssembly, t => (constructors[t.DeclaringAssembly], fields[t.DeclaringAssembly]));
}
- internal static Dictionary InjectTwoParameterAttribute(ApplicationAnalysisContext appContext, string ns, string name, AttributeTargets attributeTargets, bool allowMultiple, TypeAnalysisContext fieldType1, string fieldName1, TypeAnalysisContext fieldType2, string fieldName2)
+ public static Dictionary InjectTwoParameterAttribute(ApplicationAnalysisContext appContext, string ns, string name, AttributeTargets attributeTargets, bool allowMultiple, TypeAnalysisContext fieldType1, string fieldName1, TypeAnalysisContext fieldType2, string fieldName2)
{
var multiInjectType = appContext.InjectTypeIntoAllAssemblies(ns, name, appContext.SystemTypes.SystemAttributeType);
ApplyAttributeUsageAttribute(appContext, multiInjectType, attributeTargets, allowMultiple);
@@ -52,7 +52,7 @@ internal static Dictionary InjectThreeParameterAttribute(ApplicationAnalysisContext appContext, string ns, string name, AttributeTargets attributeTargets, bool allowMultiple, TypeAnalysisContext fieldType1, string fieldName1, TypeAnalysisContext fieldType2, string fieldName2, TypeAnalysisContext fieldType3, string fieldName3)
+ public static Dictionary InjectThreeParameterAttribute(ApplicationAnalysisContext appContext, string ns, string name, AttributeTargets attributeTargets, bool allowMultiple, TypeAnalysisContext fieldType1, string fieldName1, TypeAnalysisContext fieldType2, string fieldName2, TypeAnalysisContext fieldType3, string fieldName3)
{
var multiInjectType = appContext.InjectTypeIntoAllAssemblies(ns, name, appContext.SystemTypes.SystemAttributeType);
ApplyAttributeUsageAttribute(appContext, multiInjectType, attributeTargets, allowMultiple);
@@ -71,7 +71,7 @@ internal static Dictionary InjectAttribute(ApplicationAnalysisContext appContext, string ns, string name, AttributeTargets attributeTargets, bool allowMultiple, params (TypeAnalysisContext, string)[] fields)
+ public static Dictionary InjectAttribute(ApplicationAnalysisContext appContext, string ns, string name, AttributeTargets attributeTargets, bool allowMultiple, params (TypeAnalysisContext, string)[] fields)
{
var multiInjectType = appContext.InjectTypeIntoAllAssemblies(ns, name, appContext.SystemTypes.SystemAttributeType);
ApplyAttributeUsageAttribute(appContext, multiInjectType, attributeTargets, allowMultiple);
@@ -109,30 +109,30 @@ private static void ApplyAttributeUsageAttribute(ApplicationAnalysisContext appC
}
}
- internal static void AddZeroParameterAttribute(HasCustomAttributes customAttributeHolder, MethodAnalysisContext constructor)
+ public static void AddZeroParameterAttribute(HasCustomAttributes customAttributeHolder, MethodAnalysisContext constructor)
{
var newAttribute = new AnalyzedCustomAttribute(constructor);
customAttributeHolder.CustomAttributes!.Add(newAttribute);//Nullability checked elsewhere
}
- internal static void AddOneParameterAttribute(HasCustomAttributes customAttributeHolder, (MethodAnalysisContext, FieldAnalysisContext) attributeInfo, object fieldValue)
+ public static void AddOneParameterAttribute(HasCustomAttributes customAttributeHolder, (MethodAnalysisContext, FieldAnalysisContext) attributeInfo, object fieldValue)
{
AddOneParameterAttribute(customAttributeHolder, attributeInfo.Item1, attributeInfo.Item2, fieldValue);
}
- internal static void AddOneParameterAttribute(HasCustomAttributes customAttributeHolder, MethodAnalysisContext constructor, FieldAnalysisContext field, object fieldValue)
+ public static void AddOneParameterAttribute(HasCustomAttributes customAttributeHolder, MethodAnalysisContext constructor, FieldAnalysisContext field, object fieldValue)
{
var newAttribute = new AnalyzedCustomAttribute(constructor);
newAttribute.Fields.Add(new(field, MakeFieldParameter(fieldValue, newAttribute, 0)));
customAttributeHolder.CustomAttributes!.Add(newAttribute);//Nullability checked elsewhere
}
- internal static void AddTwoParameterAttribute(HasCustomAttributes customAttributeHolder, (MethodAnalysisContext, FieldAnalysisContext, FieldAnalysisContext) attributeInfo, object fieldValue1, object fieldValue2)
+ public static void AddTwoParameterAttribute(HasCustomAttributes customAttributeHolder, (MethodAnalysisContext, FieldAnalysisContext, FieldAnalysisContext) attributeInfo, object fieldValue1, object fieldValue2)
{
AddTwoParameterAttribute(customAttributeHolder, attributeInfo.Item1, attributeInfo.Item2, fieldValue1, attributeInfo.Item3, fieldValue2);
}
- internal static void AddTwoParameterAttribute(HasCustomAttributes customAttributeHolder, MethodAnalysisContext constructor, FieldAnalysisContext field1, object fieldValue1, FieldAnalysisContext field2, object fieldValue2)
+ public static void AddTwoParameterAttribute(HasCustomAttributes customAttributeHolder, MethodAnalysisContext constructor, FieldAnalysisContext field1, object fieldValue1, FieldAnalysisContext field2, object fieldValue2)
{
var newAttribute = new AnalyzedCustomAttribute(constructor);
newAttribute.Fields.Add(new(field1, MakeFieldParameter(fieldValue1, newAttribute, 0)));
@@ -140,12 +140,12 @@ internal static void AddTwoParameterAttribute(HasCustomAttributes customAttribut
customAttributeHolder.CustomAttributes!.Add(newAttribute);//Nullability checked elsewhere
}
- internal static void AddAttribute(HasCustomAttributes customAttributeHolder, MethodAnalysisContext constructor, params (FieldAnalysisContext, object)[] fields)
+ public static void AddAttribute(HasCustomAttributes customAttributeHolder, MethodAnalysisContext constructor, params (FieldAnalysisContext, object)[] fields)
{
AddAttribute(customAttributeHolder, constructor, fields.AsEnumerable());
}
- internal static void AddAttribute(HasCustomAttributes customAttributeHolder, MethodAnalysisContext constructor, IEnumerable<(FieldAnalysisContext, object)> fields)
+ public static void AddAttribute(HasCustomAttributes customAttributeHolder, MethodAnalysisContext constructor, IEnumerable<(FieldAnalysisContext, object)> fields)
{
var newAttribute = new AnalyzedCustomAttribute(constructor);
var i = 0;