/// <summary> /// Gets the close symbol which corresponds to the specified open symbol. /// </summary> private CommentSymbol GetCloseSymbol(CommentSymbol open) { Contract.Require(open, nameof(open)); if (open.Type != CommentSymbolType.Open) { throw new ArgumentException(nameof(open)); } if (open.Nesting > 0) { return(null); } var index = symbols.IndexOfKey(open.Position); for (int i = index + 1; i < symbols.Count; i++) { var symbol = symbols.Values[i]; if (symbol.Type == CommentSymbolType.Close && symbol.Nesting == 0) { return(symbol); } } return(null); }
/// <summary> /// Gets the open symbol which corresponds to the specified close symbol. /// </summary> private CommentSymbol GetOpenSymbol(CommentSymbol close) { Contract.Require(close, nameof(close)); if (close.Type != CommentSymbolType.Close) { throw new ArgumentException(nameof(close)); } if (close.Nesting < 0) { return(null); } var index = symbols.IndexOfKey(close.Position); for (int i = index - 1; i >= 0; i--) { var symbol = symbols.Values[i]; if (symbol.Type == CommentSymbolType.Open && symbol.Nesting == 0) { return(symbol); } } return(null); }
/// <summary> /// Gets the open symbol which corresponds to the specified close symbol. /// </summary> private CommentSymbol GetOpenSymbol(CommentSymbol close) { Contract.Require(close, nameof(close)); if (close.Type != CommentSymbolType.Close) throw new ArgumentException(nameof(close)); if (close.Nesting < 0) return null; var index = symbols.IndexOfKey(close.Position); for (int i = index - 1; i >= 0; i--) { var symbol = symbols.Values[i]; if (symbol.Type == CommentSymbolType.Open && symbol.Nesting == 0) { return symbol; } } return null; }
/// <summary> /// Gets the close symbol which corresponds to the specified open symbol. /// </summary> private CommentSymbol GetCloseSymbol(CommentSymbol open) { Contract.Require(open, nameof(open)); if (open.Type != CommentSymbolType.Open) throw new ArgumentException(nameof(open)); if (open.Nesting > 0) return null; var index = symbols.IndexOfKey(open.Position); for (int i = index + 1; i < symbols.Count; i++) { var symbol = symbols.Values[i]; if (symbol.Type == CommentSymbolType.Close && symbol.Nesting == 0) { return symbol; } } return null; }