private void AnalyzeComment() {
Debug.Assert(this.mainNode.NodeType == XmlNodeType.Comment);
Debug.Assert((object) this.currentInfo == (object) this.mainNode);
StringBuilder newComment = null;
string comment = this.mainNode.Value;
bool minus = false;
int index = 0, begin = 0;
for (; index < comment.Length; index ++) {
switch (comment[index]) {
case s_Minus:
if (minus) {
if (newComment == null)
newComment = new StringBuilder(comment, begin, index, 2 * comment.Length);
else
newComment.Append(comment, begin, index - begin);
newComment.Append(s_SpaceMinus);
begin = index + 1;
}
minus = true;
break;
default:
minus = false;
break;
}
}
if (newComment != null) {
if (begin < comment.Length)
newComment.Append(comment, begin, comment.Length - begin);
if (minus)
newComment.Append(s_Space);
this.mainNode.Value = newComment.ToString();
}
else if (minus) {
this.mainNode.ValueAppend(s_Space, false);
}
}