public AssemblyCode(string assemblyCode) { StringBuilder builder = new StringBuilder(); assemblyCode = Regex.Replace(assemblyCode, "[\t ]{2,}", " "); assemblyCode = assemblyCode.Replace("\r\n", "\n"); assemblyCode = assemblyCode.Replace("\t", " "); string[] lines = assemblyCode.Split('\n'); dataStart = 0; codeStart = 0; int originalLineCounter = 0; int reducedLineCounter = 0; while (originalLineCounter < lines.Length) { string line = LineFormatter.DeleteComments(lines[originalLineCounter]); if (line.Replace(" ", "").Equals("")) { originalLineCounter++; continue; } if (LineFormatter.IsStartData(line)) { dataStart = reducedLineCounter; } if (LineFormatter.IsStartCode(line)) { codeStart = reducedLineCounter; } if (LineFormatter.IsString(line)) { line = LineFormatter.GetCharacterArray(line); builder.Append(line); reducedLineCounter += line.Split('\n').Length - 1; originalLineCounter++; } else { builder.Append(line); builder.Append('\n'); reducedLineCounter++; originalLineCounter++; } } this.lines = builder.ToString().Split('\n'); }