private TextSpan GetTextSpan(ExpressionSyntax expression, SyntaxToken openBracket) { if (openBracket.Parent is BracketedArgumentListSyntax) { return(CompleteElementAccessExpression.GetTextSpan(expression, openBracket)); } else if (openBracket.Parent is ArrayRankSpecifierSyntax) { return(IncompleteElementAccessExpression.GetTextSpan(expression, openBracket)); } throw ExceptionUtilities.Unreachable; }
private TextSpan GetTextSpan(ExpressionSyntax expression, SyntaxToken openBracket) { if (openBracket.Parent is BracketedArgumentListSyntax) { if (expression.Parent is ConditionalAccessExpressionSyntax conditional) { return(TextSpan.FromBounds(conditional.Span.Start, openBracket.FullSpan.End)); } else { return(CompleteElementAccessExpression.GetTextSpan(expression, openBracket)); } } else if (openBracket.Parent is ArrayRankSpecifierSyntax) { return(IncompleteElementAccessExpression.GetTextSpan(expression, openBracket)); } throw ExceptionUtilities.Unreachable; }