Beispiel #1
0
        /// <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()}");
     }
 }