/// <summary> /// Visits arguments. /// </summary> /// <param name="node"> /// A <see cref="ArgumentSyntax"/> instance. /// </param> public override void VisitArgument(ArgumentSyntax node) { if (this._methodData == null) { throw new InvalidSyntaxException($"Method name not found in {this._expression}"); } this._currentArgumentCount++; var val = node.GetText()?.ToString(); var parts = val?.Split('='); var argName = string.Empty; var argData = string.Empty; if (parts.Length > 1) { argName = parts[0]; argData = parts[1]; } else { argName = $"arg{this._currentArgumentCount}"; argData = val; } this._methodData.AddParameter(argName, argData, this._currentArgumentCount); base.VisitArgument(node); }
/// <summary> Находит возможные вызовы REST сервисов </summary> private void CheckHttpRequests(ArgumentSyntax node) { if (node.GetText().ToString().Contains("http")) { Error(node.GetLocation(), "Возможен запрос в интернет", ListViewErrors.Criticality.Средний, $"Проверить доверенность внешнего сервиса: {node.GetText()}"); } }