protected object[] GetArgumentsToUse(IFormatProvider formatProvider) { object[] argumentsToUse = null; for (int i = 0; i < _arguments.Length; i++) { var embedded = _arguments[i] as DiagnosticInfo; if (embedded != null) { argumentsToUse = InitializeArgumentListIfNeeded(argumentsToUse); argumentsToUse[i] = embedded.GetMessage(formatProvider); continue; } var symbol = _arguments[i] as ISymbol; if (symbol != null) { argumentsToUse = InitializeArgumentListIfNeeded(argumentsToUse); argumentsToUse[i] = _messageProvider.GetErrorDisplayString(symbol); } } return(argumentsToUse ?? _arguments); }
protected object[] GetArgumentsToUse(IFormatProvider?formatProvider) { RoslynDebug.Assert(_arguments is object); object[]? argumentsToUse = null; for (int i = 0; i < _arguments.Length; i++) { var embedded = _arguments[i] as DiagnosticInfo; if (embedded != null) { argumentsToUse = InitializeArgumentListIfNeeded(argumentsToUse); argumentsToUse[i] = embedded.GetMessage(formatProvider); continue; } var symbol = _arguments[i] as ISymbol ?? (_arguments[i] as ISymbolInternal)?.GetISymbol(); if (symbol != null) { argumentsToUse = InitializeArgumentListIfNeeded(argumentsToUse); argumentsToUse[i] = _messageProvider.GetErrorDisplayString(symbol); } } return(argumentsToUse ?? _arguments); }