private static void SplitLongLines(List <string> lines, List <int> longLineNumbers) { if (longLineNumbers.Count > 0) { longLineNumbers.Sort(); } for (int num = longLineNumbers.Count - 1; num >= 0; num--) { int num2 = longLineNumbers[num] - 1; string text = lines[num2]; lines.RemoveAt(num2); while (text.Length > 65535) { int num3 = VBExpressionCodeProvider.FindSafeSplitPosition(text); if (num3 <= 0) { lines.Insert(num2, text); return; } string item = text.Substring(0, num3) + " _"; lines.Insert(num2, item); num2++; text = text.Substring(num3 + 1); } lines.Insert(num2, text); } }
private CompilerResults RetryCompile(CompilerParameters options, CompilerErrorCollection compilerErrorCollection) { CompilerResults result = null; string text = null; List <int> list = new List <int>(); foreach (CompilerError item in compilerErrorCollection) { if (string.Equals(item.ErrorNumber, "BC30494", StringComparison.OrdinalIgnoreCase)) { list.Add(item.Line); if (text == null) { text = item.FileName; } } } if (text != null) { List <string> list2 = File.ReadAllLines(text).ToList(); VBExpressionCodeProvider.SplitLongLines(list2, list); File.WriteAllLines(text, list2.ToArray()); options.TempFiles = new TempFileCollection(); result = base.CompileAssemblyFromFile(options, text); } return(result); }