in TeamCity.CSharpInteractive/BuildContext/BuildContext.cs [146:177]
private IEnumerable<BuildMessage> OnMessage(IServiceMessage message)
{
var text = message.GetValue("text") ?? string.Empty;
var state = message.GetValue("status").ToUpperInvariant() switch
{
"WARNING" => BuildMessageState.Warning,
"FAILURE" => BuildMessageState.Failure,
"ERROR" => BuildMessageState.StdError,
_ => BuildMessageState.StdOut
};
var buildMessage = CreateMessage(message, state, text);
// ReSharper disable once SwitchStatementMissingSomeEnumCasesNoDefault
if (!string.IsNullOrWhiteSpace(buildMessage.Text))
{
switch (state)
{
case BuildMessageState.Warning:
_warnings.Add(buildMessage);
break;
case BuildMessageState.Failure:
case BuildMessageState.StdError:
// ReSharper disable once UnreachableSwitchCaseDueToIntegerAnalysis
case BuildMessageState.BuildProblem:
_errors.Add(buildMessage);
break;
}
}
yield return buildMessage;
}