private void GenerateCsvLine(int index, TextWriter tw, StringBuilder sb) { LineListGen.Line line = mCodeLineList[index]; if (line.LineType == LineListGen.Line.Type.Note && !IncludeNotes) { return; } DisplayList.FormattedParts parts = mCodeLineList.GetFormattedParts(index); sb.Clear(); if ((mLeftFlags & ActiveColumnFlags.Offset) != 0) { sb.Append(TextUtil.EscapeCSV(parts.Offset)); sb.Append(','); } if ((mLeftFlags & ActiveColumnFlags.Address) != 0) { sb.Append(TextUtil.EscapeCSV(parts.Addr)); sb.Append(','); } if ((mLeftFlags & ActiveColumnFlags.Bytes) != 0) { sb.Append(TextUtil.EscapeCSV(parts.Bytes)); sb.Append(','); } if ((mLeftFlags & ActiveColumnFlags.Flags) != 0) { sb.Append(TextUtil.EscapeCSV(parts.Flags)); sb.Append(','); } if ((mLeftFlags & ActiveColumnFlags.Attr) != 0) { sb.Append(TextUtil.EscapeCSV(parts.Attr)); sb.Append(','); } if (parts.IsLongComment) { // put the comment in the Label column sb.Append(TextUtil.EscapeCSV(parts.Comment)); sb.Append(",,,"); } else { sb.Append(TextUtil.EscapeCSV(parts.Label)); sb.Append(','); sb.Append(TextUtil.EscapeCSV(parts.Opcode)); sb.Append(','); sb.Append(TextUtil.EscapeCSV(parts.Operand)); sb.Append(','); sb.Append(TextUtil.EscapeCSV(parts.Comment)); } tw.WriteLine(sb); }