PHPAnalysis.SQLSink.SQLSink C# (CSharp) Метод

SQLSink() публичный Метод

public SQLSink ( JToken JSON ) : System
JSON JToken
Результат System
        public SQLSink(JToken JSON)
            : base(JSON)
        {
            SQLITaint tmp;
            bool success = Enum.TryParse((string)JSON.SelectToken(Keys.PHPDefinitionJSONKeys.GeneralKeys.DefaultStatusCode), out tmp);
            DefaultStatus = success ? tmp : SQLITaint.SQL_ALL;

            this.Classnames = new List<string>();
            var classnames = (JArray)JSON.SelectToken(Keys.PHPDefinitionJSONKeys.GeneralKeys.Classnames);
            if (classnames != null)
            {
                foreach (string format in classnames)
                {
                    this.Classnames.Add(format);
                }
            }

            var paramArray = (JArray) JSON.SelectToken(Keys.PHPDefinitionJSONKeys.GeneralKeys.Parameters);
            foreach (JObject param in paramArray)
            {
                //if (param.SelectToken(Keys.PHPDefinitionJSONKeys.ParameterJSONKeys.ParameterValues) == null) continue;

                var parameterNumber = (uint)param.SelectToken(Keys.PHPDefinitionJSONKeys.ParameterJSONKeys.ParameterNumber);
                var type = (string)param.SelectToken(Keys.PHPDefinitionJSONKeys.ParameterJSONKeys.ParameterType);
                var optional = (bool?)param.SelectToken(Keys.PHPDefinitionJSONKeys.ParameterJSONKeys.ParameterIsOptional);
                var vulnerable = (bool?)param.SelectToken(Keys.PHPDefinitionJSONKeys.ParameterJSONKeys.ParameterCanCreateHole);
                var paramValues = (JArray)param.SelectToken(Keys.PHPDefinitionJSONKeys.ParameterJSONKeys.ParameterValues);
                var variadic = (bool?)param.SelectToken(Keys.PHPDefinitionJSONKeys.ParameterJSONKeys.ParameterIsVariadic);

                switch (type)
                {
                    case "flag":
                        var flagParam = FlagParameterFactory.CreateFlagParameter<SQLITaint>(paramValues, DefaultStatus, isOptional: optional,
                                                                                 isVulnerable: vulnerable, isVaridic: variadic);
                        Parameters.Add(new Tuple<uint,string>(parameterNumber, type), flagParam);
                        break;
                    case "bool":
                    case "boolean":
                        var boolParam = BooleanParameterFactory.CreateBooleanParameter<SQLITaint>(paramValues, DefaultStatus, isOptional: optional,
                                                                                       isVulnerable: vulnerable, isVariadic: variadic);
                        Parameters.Add(new Tuple<uint,string>(parameterNumber, type), boolParam);
                        break;
                    case "int":
                    case "integer":
                        var intParam = IntegerParameterFactory.CreateIntParameter<SQLITaint>(paramValues, DefaultStatus, isOptional: optional,
                                                                                  isVulnerable: vulnerable, isVariadic: variadic);
                        Parameters.Add(new Tuple<uint, string>(parameterNumber, type), intParam);
                        break;
                    case "str":
                    case "string":
                        var strParam = StringParameterFactory.CreateStringParameter<SQLITaint>(paramValues, DefaultStatus, isOptional: optional,
                                                                                    isVulnerable: vulnerable, isVariadic: variadic);
                        Parameters.Add(new Tuple<uint,string>(parameterNumber, type), strParam);
                        break;
                    case "array":
                    case "object":
                    default:
                        Parameters.Add(new Tuple<uint, string>(parameterNumber, type), new Parameter(optional ?? false, vulnerable ?? false));
                        break;
                }
            }
        }

Same methods

SQLSink::SQLSink ( string json ) : System