void AppendLinkCandidates(TokenIterator start, TokenIterator end, StringBuilder output) { TokenIterator iterator = start; TokenIterator linkableTypeStart = start; int linkableTypes = 0; for (;;) { while (iterator < end && iterator.PrototypeParsingType != PrototypeParsingType.TypeQualifier && iterator.PrototypeParsingType != PrototypeParsingType.Type) { iterator.Next(); } if (iterator >= end) { break; } linkableTypeStart = iterator; while (iterator < end && (iterator.PrototypeParsingType == PrototypeParsingType.TypeQualifier || iterator.PrototypeParsingType == PrototypeParsingType.Type)) { iterator.Next(); } if (linkableTypes > 0) { output.Append(", "); } linkableTypeStart.AppendTextBetweenTo(iterator, output); linkableTypes++; } if (linkableTypes == 0) { output.Append("(none)"); } }