diff --git a/Src/ILGPU.Analyzers.Tests/Snapshots/RefTypeAnalyzer.FileTests_file=Arrays.verified.txt b/Src/ILGPU.Analyzers.Tests/Snapshots/RefTypeAnalyzer.FileTests_file=Arrays.verified.txt
index 0d1f7bb53..d449bbc7b 100644
--- a/Src/ILGPU.Analyzers.Tests/Snapshots/RefTypeAnalyzer.FileTests_file=Arrays.verified.txt
+++ b/Src/ILGPU.Analyzers.Tests/Snapshots/RefTypeAnalyzer.FileTests_file=Arrays.verified.txt
@@ -3,7 +3,7 @@
Id: ILA004,
Title: Array of reference types in kernel,
Severity: Warning,
- WarningLevel: 0,
+ WarningLevel: 1,
Location: : (29,25)-(29,42),
MessageFormat: Type '{0}' is an array of type '{1}', which is a reference type. Arrays of reference types cannot be used in kernels.,
Message: Type 'ILGPU.Analyzers.Tests.Programs.RefType.Arrays.RefType[]' is an array of type 'ILGPU.Analyzers.Tests.Programs.RefType.Arrays.RefType', which is a reference type. Arrays of reference types cannot be used in kernels.,
@@ -13,7 +13,7 @@
Id: ILA003,
Title: Reference type in kernel,
Severity: Warning,
- WarningLevel: 0,
+ WarningLevel: 1,
Location: : (29,27)-(29,40),
MessageFormat: Type '{0}' is a reference type. Reference types like classes cannot be used in kernels, except for arrays of value types.,
Message: Type 'ILGPU.Analyzers.Tests.Programs.RefType.Arrays.RefType' is a reference type. Reference types like classes cannot be used in kernels, except for arrays of value types.,
diff --git a/Src/ILGPU.Analyzers.Tests/Snapshots/RefTypeAnalyzer.FileTests_file=Constructors.verified.txt b/Src/ILGPU.Analyzers.Tests/Snapshots/RefTypeAnalyzer.FileTests_file=Constructors.verified.txt
index ed67b5629..d78af2e34 100644
--- a/Src/ILGPU.Analyzers.Tests/Snapshots/RefTypeAnalyzer.FileTests_file=Constructors.verified.txt
+++ b/Src/ILGPU.Analyzers.Tests/Snapshots/RefTypeAnalyzer.FileTests_file=Constructors.verified.txt
@@ -3,7 +3,7 @@
Id: ILA003,
Title: Reference type in kernel,
Severity: Warning,
- WarningLevel: 0,
+ WarningLevel: 1,
Location: : (17,20)-(17,33),
MessageFormat: Type '{0}' is a reference type. Reference types like classes cannot be used in kernels, except for arrays of value types.,
Message: Type 'ILGPU.Analyzers.Tests.Programs.RefType.Constructors.RefType' is a reference type. Reference types like classes cannot be used in kernels, except for arrays of value types.,
diff --git a/Src/ILGPU.Analyzers.Tests/Snapshots/RefTypeAnalyzer.FileTests_file=Functions.verified.txt b/Src/ILGPU.Analyzers.Tests/Snapshots/RefTypeAnalyzer.FileTests_file=Functions.verified.txt
index 4800773fc..4de525844 100644
--- a/Src/ILGPU.Analyzers.Tests/Snapshots/RefTypeAnalyzer.FileTests_file=Functions.verified.txt
+++ b/Src/ILGPU.Analyzers.Tests/Snapshots/RefTypeAnalyzer.FileTests_file=Functions.verified.txt
@@ -3,7 +3,7 @@
Id: ILA003,
Title: Reference type in kernel,
Severity: Warning,
- WarningLevel: 0,
+ WarningLevel: 1,
Location: : (20,27)-(20,40),
MessageFormat: Type '{0}' is a reference type. Reference types like classes cannot be used in kernels, except for arrays of value types.,
Message: Type 'ILGPU.Analyzers.Tests.Programs.RefType.Functions.RefType' is a reference type. Reference types like classes cannot be used in kernels, except for arrays of value types.,
@@ -13,7 +13,7 @@
Id: ILA003,
Title: Reference type in kernel,
Severity: Warning,
- WarningLevel: 0,
+ WarningLevel: 1,
Location: : (14,27)-(14,40),
MessageFormat: Type '{0}' is a reference type. Reference types like classes cannot be used in kernels, except for arrays of value types.,
Message: Type 'ILGPU.Analyzers.Tests.Programs.RefType.Functions.RefType' is a reference type. Reference types like classes cannot be used in kernels, except for arrays of value types.,
@@ -23,7 +23,7 @@
Id: ILA003,
Title: Reference type in kernel,
Severity: Warning,
- WarningLevel: 0,
+ WarningLevel: 1,
Location: : (32,15)-(32,28),
MessageFormat: Type '{0}' is a reference type. Reference types like classes cannot be used in kernels, except for arrays of value types.,
Message: Type 'ILGPU.Analyzers.Tests.Programs.RefType.Functions.RefType' is a reference type. Reference types like classes cannot be used in kernels, except for arrays of value types.,
diff --git a/Src/ILGPU.Analyzers.Tests/Snapshots/RefTypeAnalyzer.FileTests_file=LoadDiscovery.verified.txt b/Src/ILGPU.Analyzers.Tests/Snapshots/RefTypeAnalyzer.FileTests_file=LoadDiscovery.verified.txt
index b0d816910..269b4d89c 100644
--- a/Src/ILGPU.Analyzers.Tests/Snapshots/RefTypeAnalyzer.FileTests_file=LoadDiscovery.verified.txt
+++ b/Src/ILGPU.Analyzers.Tests/Snapshots/RefTypeAnalyzer.FileTests_file=LoadDiscovery.verified.txt
@@ -3,7 +3,7 @@
Id: ILA003,
Title: Reference type in kernel,
Severity: Warning,
- WarningLevel: 0,
+ WarningLevel: 1,
Location: : (14,21)-(14,34),
MessageFormat: Type '{0}' is a reference type. Reference types like classes cannot be used in kernels, except for arrays of value types.,
Message: Type 'ILGPU.Analyzers.Tests.Programs.RefType.Functions.RefType' is a reference type. Reference types like classes cannot be used in kernels, except for arrays of value types.,
@@ -13,7 +13,7 @@
Id: ILA003,
Title: Reference type in kernel,
Severity: Warning,
- WarningLevel: 0,
+ WarningLevel: 1,
Location: : (19,21)-(19,34),
MessageFormat: Type '{0}' is a reference type. Reference types like classes cannot be used in kernels, except for arrays of value types.,
Message: Type 'ILGPU.Analyzers.Tests.Programs.RefType.Functions.RefType' is a reference type. Reference types like classes cannot be used in kernels, except for arrays of value types.,
@@ -23,7 +23,7 @@
Id: ILA003,
Title: Reference type in kernel,
Severity: Warning,
- WarningLevel: 0,
+ WarningLevel: 1,
Location: : (24,21)-(24,34),
MessageFormat: Type '{0}' is a reference type. Reference types like classes cannot be used in kernels, except for arrays of value types.,
Message: Type 'ILGPU.Analyzers.Tests.Programs.RefType.Functions.RefType' is a reference type. Reference types like classes cannot be used in kernels, except for arrays of value types.,
@@ -33,7 +33,7 @@
Id: ILA003,
Title: Reference type in kernel,
Severity: Warning,
- WarningLevel: 0,
+ WarningLevel: 1,
Location: : (29,21)-(29,34),
MessageFormat: Type '{0}' is a reference type. Reference types like classes cannot be used in kernels, except for arrays of value types.,
Message: Type 'ILGPU.Analyzers.Tests.Programs.RefType.Functions.RefType' is a reference type. Reference types like classes cannot be used in kernels, except for arrays of value types.,
@@ -43,7 +43,7 @@
Id: ILA003,
Title: Reference type in kernel,
Severity: Warning,
- WarningLevel: 0,
+ WarningLevel: 1,
Location: : (34,21)-(34,34),
MessageFormat: Type '{0}' is a reference type. Reference types like classes cannot be used in kernels, except for arrays of value types.,
Message: Type 'ILGPU.Analyzers.Tests.Programs.RefType.Functions.RefType' is a reference type. Reference types like classes cannot be used in kernels, except for arrays of value types.,
@@ -53,7 +53,7 @@
Id: ILA003,
Title: Reference type in kernel,
Severity: Warning,
- WarningLevel: 0,
+ WarningLevel: 1,
Location: : (39,21)-(39,34),
MessageFormat: Type '{0}' is a reference type. Reference types like classes cannot be used in kernels, except for arrays of value types.,
Message: Type 'ILGPU.Analyzers.Tests.Programs.RefType.Functions.RefType' is a reference type. Reference types like classes cannot be used in kernels, except for arrays of value types.,
diff --git a/Src/ILGPU.Analyzers.Tests/Snapshots/RefTypeAnalyzer.FileTests_file=ManagedUnmanaged.verified.txt b/Src/ILGPU.Analyzers.Tests/Snapshots/RefTypeAnalyzer.FileTests_file=ManagedUnmanaged.verified.txt
index 5717322a2..374c6bdbf 100644
--- a/Src/ILGPU.Analyzers.Tests/Snapshots/RefTypeAnalyzer.FileTests_file=ManagedUnmanaged.verified.txt
+++ b/Src/ILGPU.Analyzers.Tests/Snapshots/RefTypeAnalyzer.FileTests_file=ManagedUnmanaged.verified.txt
@@ -3,7 +3,7 @@
Id: ILA003,
Title: Reference type in kernel,
Severity: Warning,
- WarningLevel: 0,
+ WarningLevel: 1,
Location: : (40,22)-(40,35),
MessageFormat: Type '{0}' is a reference type. Reference types like classes cannot be used in kernels, except for arrays of value types.,
Message: Type 'ILGPU.Analyzers.Tests.Programs.RefType.ManagedUnmanaged.Managed' is a reference type. Reference types like classes cannot be used in kernels, except for arrays of value types.,
diff --git a/Src/ILGPU.Analyzers.Tests/Snapshots/RefTypeAnalyzer.FileTests_file=Simple.verified.txt b/Src/ILGPU.Analyzers.Tests/Snapshots/RefTypeAnalyzer.FileTests_file=Simple.verified.txt
index 1f6a342e6..f0b1f7062 100644
--- a/Src/ILGPU.Analyzers.Tests/Snapshots/RefTypeAnalyzer.FileTests_file=Simple.verified.txt
+++ b/Src/ILGPU.Analyzers.Tests/Snapshots/RefTypeAnalyzer.FileTests_file=Simple.verified.txt
@@ -3,7 +3,7 @@
Id: ILA003,
Title: Reference type in kernel,
Severity: Warning,
- WarningLevel: 0,
+ WarningLevel: 1,
Location: : (13,22)-(13,35),
MessageFormat: Type '{0}' is a reference type. Reference types like classes cannot be used in kernels, except for arrays of value types.,
Message: Type 'ILGPU.Analyzers.Tests.Programs.RefType.Simple.RefType' is a reference type. Reference types like classes cannot be used in kernels, except for arrays of value types.,
@@ -13,7 +13,7 @@
Id: ILA003,
Title: Reference type in kernel,
Severity: Warning,
- WarningLevel: 0,
+ WarningLevel: 1,
Location: : (14,38)-(14,45),
MessageFormat: Type '{0}' is a reference type. Reference types like classes cannot be used in kernels, except for arrays of value types.,
Message: Type 'ILGPU.Analyzers.Tests.Programs.RefType.Simple.RefType' is a reference type. Reference types like classes cannot be used in kernels, except for arrays of value types.,
diff --git a/Src/ILGPU.Analyzers/ILGPU.Analyzers.csproj b/Src/ILGPU.Analyzers/ILGPU.Analyzers.csproj
index c085bc038..1ae27bb95 100644
--- a/Src/ILGPU.Analyzers/ILGPU.Analyzers.csproj
+++ b/Src/ILGPU.Analyzers/ILGPU.Analyzers.csproj
@@ -36,27 +36,36 @@
-
+
True
True
- ErrorMessages.resx
+ DiagnosticCategory.resx
-
+
True
True
- DiagnosticCategory.resx
+ ILA001_StructMustBePartial.resx
+
+
+ True
+ True
+ ILA002_ContainingTypeMustBePartial.resx
-
- ResXFileCodeGenerator
- ErrorMessages.Designer.cs
-
ResXFileCodeGenerator
DiagnosticCategory.Designer.cs
+
+ ResXFileCodeGenerator
+ ILA001_StructMustBePartial.Designer.cs
+
+
+ ResXFileCodeGenerator
+ ILA002_ContainingTypeMustBePartial.Designer.cs
+
diff --git a/Src/ILGPU.Analyzers/InterleaveFieldsGenerator.cs b/Src/ILGPU.Analyzers/InterleaveFieldsGenerator.cs
index 9ed076aa9..0a3ef96ba 100644
--- a/Src/ILGPU.Analyzers/InterleaveFieldsGenerator.cs
+++ b/Src/ILGPU.Analyzers/InterleaveFieldsGenerator.cs
@@ -32,16 +32,16 @@ public class InterleaveFieldsGenerator : IIncrementalGenerator
private static readonly DiagnosticDescriptor TargetNotPartial = new(
id: "ILA001",
- title: ErrorMessages.StructMustBePartial_Title,
- messageFormat: ErrorMessages.StructMustBePartial_Message,
+ title: ILA001_StructMustBePartial.Title,
+ messageFormat: ILA001_StructMustBePartial.Message,
category: DiagnosticCategory.Usage,
defaultSeverity: DiagnosticSeverity.Error,
isEnabledByDefault: true);
private static readonly DiagnosticDescriptor ContainingTypeNotPartial = new(
id: "ILA002",
- title: ErrorMessages.ContainingTypeMustBePartial_Title,
- messageFormat: ErrorMessages.ContainingTypeMustBePartial_Message,
+ title: ILA002_ContainingTypeMustBePartial.Title,
+ messageFormat: ILA002_ContainingTypeMustBePartial.Message,
category: DiagnosticCategory.Usage,
defaultSeverity: DiagnosticSeverity.Error,
isEnabledByDefault: true);
diff --git a/Src/ILGPU.Analyzers/ReferenceTypeAnalyzer.cs b/Src/ILGPU.Analyzers/ReferenceTypeAnalyzer.cs
index 8f9326ec0..79fbffde0 100644
--- a/Src/ILGPU.Analyzers/ReferenceTypeAnalyzer.cs
+++ b/Src/ILGPU.Analyzers/ReferenceTypeAnalyzer.cs
@@ -23,8 +23,8 @@ public class ReferenceTypeAnalyzer : KernelAnalyzer
{
private static readonly DiagnosticDescriptor GeneralDiagnosticRule = new(
id: "ILA003",
- title: ErrorMessages.RefTypeInKernel_Title,
- messageFormat: ErrorMessages.RefTypeInKernel_Message,
+ title: ILA003_ReferenceTypeInKernel.Title,
+ messageFormat: ILA003_ReferenceTypeInKernel.MessageFormat,
category: DiagnosticCategory.Usage,
defaultSeverity: DiagnosticSeverity.Warning,
isEnabledByDefault: true
@@ -32,8 +32,8 @@ public class ReferenceTypeAnalyzer : KernelAnalyzer
private static readonly DiagnosticDescriptor ArrayDiagnosticRule = new(
id: "ILA004",
- title: ErrorMessages.RefTypeArrInKernel_Title,
- messageFormat: ErrorMessages.RefTypeArrInKernel_Message,
+ title: ILA004_ReferenceTypeArrayInKernel.Title,
+ messageFormat: ILA004_ReferenceTypeArrayInKernel.MessageFormat,
category: DiagnosticCategory.Usage,
defaultSeverity: DiagnosticSeverity.Warning,
isEnabledByDefault: true
diff --git a/Src/ILGPU.Analyzers/Resources/ErrorMessages.resx b/Src/ILGPU.Analyzers/Resources/ErrorMessages.resx
deleted file mode 100644
index b37a247ca..000000000
--- a/Src/ILGPU.Analyzers/Resources/ErrorMessages.resx
+++ /dev/null
@@ -1,144 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- The type '{0}' containing '{1}' must be partial
-
-
- Containing type must be partial
-
-
- The struct '{0}' must be partial
-
-
- Struct must be partial
-
-
- Type '{0}' is a reference type. Reference types like classes cannot be used in kernels, except for arrays of value types.
-
-
- Reference type in kernel
-
-
- Type '{0}' is an array of type '{1}', which is a reference type. Arrays of reference types cannot be used in kernels.
-
-
- Array of reference types in kernel
-
-
\ No newline at end of file
diff --git a/Src/ILGPU.Analyzers/Resources/ErrorMessages.Designer.cs b/Src/ILGPU.Analyzers/Resources/ILA001_StructMustBePartial.Designer.cs
similarity index 50%
rename from Src/ILGPU.Analyzers/Resources/ErrorMessages.Designer.cs
rename to Src/ILGPU.Analyzers/Resources/ILA001_StructMustBePartial.Designer.cs
index fc606a004..8695769cc 100644
--- a/Src/ILGPU.Analyzers/Resources/ErrorMessages.Designer.cs
+++ b/Src/ILGPU.Analyzers/Resources/ILA001_StructMustBePartial.Designer.cs
@@ -11,24 +11,24 @@ namespace ILGPU.Analyzers.Resources {
using System;
- [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- internal class ErrorMessages {
+ internal class ILA001_StructMustBePartial {
private static System.Resources.ResourceManager resourceMan;
private static System.Globalization.CultureInfo resourceCulture;
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
- internal ErrorMessages() {
+ internal ILA001_StructMustBePartial() {
}
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
internal static System.Resources.ResourceManager ResourceManager {
get {
if (object.Equals(null, resourceMan)) {
- System.Resources.ResourceManager temp = new System.Resources.ResourceManager("ILGPU.Analyzers.Resources.ErrorMessages", typeof(ErrorMessages).Assembly);
+ System.Resources.ResourceManager temp = new System.Resources.ResourceManager("ILGPU.Analyzers.Resources.ILA001_StructMustBePartial", typeof(ILA001_StructMustBePartial).Assembly);
resourceMan = temp;
}
return resourceMan;
@@ -45,51 +45,15 @@ internal static System.Globalization.CultureInfo Culture {
}
}
- internal static string ContainingTypeMustBePartial_Message {
+ internal static string Message {
get {
- return ResourceManager.GetString("ContainingTypeMustBePartial_Message", resourceCulture);
+ return ResourceManager.GetString("Message", resourceCulture);
}
}
- internal static string ContainingTypeMustBePartial_Title {
+ internal static string Title {
get {
- return ResourceManager.GetString("ContainingTypeMustBePartial_Title", resourceCulture);
- }
- }
-
- internal static string StructMustBePartial_Message {
- get {
- return ResourceManager.GetString("StructMustBePartial_Message", resourceCulture);
- }
- }
-
- internal static string StructMustBePartial_Title {
- get {
- return ResourceManager.GetString("StructMustBePartial_Title", resourceCulture);
- }
- }
-
- internal static string RefTypeInKernel_Message {
- get {
- return ResourceManager.GetString("RefTypeInKernel_Message", resourceCulture);
- }
- }
-
- internal static string RefTypeInKernel_Title {
- get {
- return ResourceManager.GetString("RefTypeInKernel_Title", resourceCulture);
- }
- }
-
- internal static string RefTypeArrInKernel_Message {
- get {
- return ResourceManager.GetString("RefTypeArrInKernel_Message", resourceCulture);
- }
- }
-
- internal static string RefTypeArrInKernel_Title {
- get {
- return ResourceManager.GetString("RefTypeArrInKernel_Title", resourceCulture);
+ return ResourceManager.GetString("Title", resourceCulture);
}
}
}
diff --git a/Src/ILGPU.Analyzers/Resources/ILA001_StructMustBePartial.resx b/Src/ILGPU.Analyzers/Resources/ILA001_StructMustBePartial.resx
new file mode 100644
index 000000000..09c6d7b6b
--- /dev/null
+++ b/Src/ILGPU.Analyzers/Resources/ILA001_StructMustBePartial.resx
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 1.3
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ The struct '{0}' must be partial
+
+
+ Struct must be partial
+
+
\ No newline at end of file
diff --git a/Src/ILGPU.Analyzers/Resources/ILA002_ContainingTypeMustBePartial.Designer.cs b/Src/ILGPU.Analyzers/Resources/ILA002_ContainingTypeMustBePartial.Designer.cs
new file mode 100644
index 000000000..ed2a50901
--- /dev/null
+++ b/Src/ILGPU.Analyzers/Resources/ILA002_ContainingTypeMustBePartial.Designer.cs
@@ -0,0 +1,60 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace ILGPU.Analyzers.Resources {
+ using System;
+
+
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
+ [System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ internal class ILA002_ContainingTypeMustBePartial {
+
+ private static System.Resources.ResourceManager resourceMan;
+
+ private static System.Globalization.CultureInfo resourceCulture;
+
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+ internal ILA002_ContainingTypeMustBePartial() {
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static System.Resources.ResourceManager ResourceManager {
+ get {
+ if (object.Equals(null, resourceMan)) {
+ System.Resources.ResourceManager temp = new System.Resources.ResourceManager("ILGPU.Analyzers.Resources.ILA002_ContainingTypeMustBePartial", typeof(ILA002_ContainingTypeMustBePartial).Assembly);
+ resourceMan = temp;
+ }
+ return resourceMan;
+ }
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static System.Globalization.CultureInfo Culture {
+ get {
+ return resourceCulture;
+ }
+ set {
+ resourceCulture = value;
+ }
+ }
+
+ internal static string Message {
+ get {
+ return ResourceManager.GetString("Message", resourceCulture);
+ }
+ }
+
+ internal static string Title {
+ get {
+ return ResourceManager.GetString("Title", resourceCulture);
+ }
+ }
+ }
+}
diff --git a/Src/ILGPU.Analyzers/Resources/ILA002_ContainingTypeMustBePartial.resx b/Src/ILGPU.Analyzers/Resources/ILA002_ContainingTypeMustBePartial.resx
new file mode 100644
index 000000000..bfd3e05b3
--- /dev/null
+++ b/Src/ILGPU.Analyzers/Resources/ILA002_ContainingTypeMustBePartial.resx
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 1.3
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ The type '{0}' containing '{1}' must be partial
+
+
+ Containing type must be partial
+
+
\ No newline at end of file
diff --git a/Src/ILGPU.Analyzers/Resources/ILA003_ReferenceTypeInKernel.resx b/Src/ILGPU.Analyzers/Resources/ILA003_ReferenceTypeInKernel.resx
index f61b774d4..b5969d9d2 100644
--- a/Src/ILGPU.Analyzers/Resources/ILA003_ReferenceTypeInKernel.resx
+++ b/Src/ILGPU.Analyzers/Resources/ILA003_ReferenceTypeInKernel.resx
@@ -24,7 +24,4 @@
Type '{0}' is a reference type. Reference types like classes cannot be used in kernels, except for arrays of value types.
-
- Reference types like classes cannot be used in kernels.
-
\ No newline at end of file
diff --git a/Src/ILGPU.Analyzers/Resources/ILA004_ReferenceTypeArrayInKernel.resx b/Src/ILGPU.Analyzers/Resources/ILA004_ReferenceTypeArrayInKernel.resx
index b0f044bb0..cd121f953 100644
--- a/Src/ILGPU.Analyzers/Resources/ILA004_ReferenceTypeArrayInKernel.resx
+++ b/Src/ILGPU.Analyzers/Resources/ILA004_ReferenceTypeArrayInKernel.resx
@@ -18,9 +18,6 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- Arrays of reference types cannot be used in kernels.
-
Type '{0}' is an array of type '{1}', which is a reference type. Arrays of reference types cannot be used in kernels.