From f0e99d7653eedb1f0d237dae213cd0c1df7d048e Mon Sep 17 00:00:00 2001 From: Trivalik_cp <42497cfff885d3ca0e6fda54fb6262dd42101bd5sx56jUzf> Date: Fri, 28 Mar 2014 22:08:23 +0000 Subject: [PATCH] LabelName: dont replace [] with nothing, cause we need it for be unique name --- source2/Cosmos.Assembler/LabelName.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/source2/Cosmos.Assembler/LabelName.cs b/source2/Cosmos.Assembler/LabelName.cs index f25af5b98..f4bda59db 100644 --- a/source2/Cosmos.Assembler/LabelName.cs +++ b/source2/Cosmos.Assembler/LabelName.cs @@ -34,7 +34,8 @@ namespace Cosmos.Assembler { public static string Get(string aMethodLabel, int aIlPos) { return aMethodLabel + ".IL_" + aIlPos.ToString("X4"); } - public static System.Text.RegularExpressions.Regex IllegalCharsReplace = new System.Text.RegularExpressions.Regex(@"[&.,+$<>{}\-\`\\'/\\ \(\)\[\]\*!=]", System.Text.RegularExpressions.RegexOptions.Compiled); + // no array bracket, they need to replace, for unique names for used types in methods + public static System.Text.RegularExpressions.Regex IllegalCharsReplace = new System.Text.RegularExpressions.Regex(@"[&.,+$<>{}\-\`\\'/\\ \(\)\*!=]", System.Text.RegularExpressions.RegexOptions.Compiled); public static string Final(string xName) { //var xSB = new StringBuilder(xName); @@ -47,6 +48,7 @@ namespace Cosmos.Assembler { xSB.Replace(c.ToString(), ""); }*/ xName = IllegalCharsReplace.Replace(xName, string.Empty); + xName = xName.Replace("[]", "array"); if (xName.Length > MaxLengthWithoutSuffix) { using (var xHash = MD5.Create()) { var xValue = xHash.ComputeHash(Encoding.Default.GetBytes(xName));