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

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

public GetTaintStatus ( string>.Dictionary arguments ) : SQLITaint
arguments string>.Dictionary
Результат SQLITaint
        public SQLITaint GetTaintStatus(Dictionary<uint,string> arguments)
        {
            SQLITaint returnValue = SQLITaint.SQL_ALL;

            foreach (var arg in arguments)
            {
                SQLITaint tmp;

                var param = Parameters.FirstOrDefault(x => x.Key.Item1 == arg.Key);
                try
                {
                    switch (param.Key.Item2)
                    {
                        case "flag":
                            var flagVal = Int32.Parse(arg.Value);
                            var flagParam = (FlagParameter<SQLITaint>)param.Value;
                            tmp = (SQLITaint)flagParam.GetStatus(flagVal);
                            break;
                        case "bool":
                        case "boolean":
                            var boolVal = Boolean.Parse(arg.Value);
                            var boolParam = (BooleanParameter<SQLITaint>)param.Value;
                            tmp = (SQLITaint)boolParam.GetStatus(boolVal);
                            break;
                        case "int":
                        case "integer":
                            var intVal = Int32.Parse(arg.Value);
                            var intParam = (IntegerParameter<SQLITaint>)param.Value;
                            tmp = (SQLITaint)intParam.GetStatus(intVal);
                            break;
                        case "str":
                        case "string":
                            var stringParam = (StringParameter<SQLITaint>)param.Value;
                            tmp = (SQLITaint)stringParam.GetStatus(arg.Value);
                            break;
                        case "array":
                        case "object":
                        default:
                            continue;
                    }
                    if(tmp < returnValue)
                        returnValue = tmp;
                }
                catch (NullReferenceException e)
                {
                    Debug.WriteLine("Could not find value, returning default: Exception was: {0}", e);
                    return this.DefaultStatus;
                }
            }

            return returnValue;
        }