internal void AddParam(WsdlParser.URTParam newParam)
 {
     for (int i = 0; i < this._params.Count; i++)
     {
         WsdlParser.URTParam param = (WsdlParser.URTParam) this._params[i];
         if (WsdlParser.MatchingStrings(param.Name, newParam.Name))
         {
             if (((param.ParamType != WsdlParser.URTParamType.IN) || (newParam.ParamType != WsdlParser.URTParamType.OUT)) || (!WsdlParser.MatchingStrings(param.TypeName, newParam.TypeName) || !WsdlParser.MatchingStrings(param.TypeNS, newParam.TypeNS)))
             {
                 throw new SUDSParserException(CoreChannel.GetResourceString("Remoting_Suds_DuplicateParameter"));
             }
             param.ParamType = WsdlParser.URTParamType.REF;
             return;
         }
     }
     int num2 = -1;
     if (this._paramNamesOrder == null)
     {
         if ((this._methodType == null) && (newParam.ParamType == WsdlParser.URTParamType.OUT))
         {
             this._methodType = newParam;
         }
         else
         {
             this._params.Add(newParam);
         }
     }
     else
     {
         for (int j = 0; j < this._paramNamesOrder.Length; j++)
         {
             if (this._paramNamesOrder[j] == newParam.Name)
             {
                 num2 = j;
                 break;
             }
         }
         if (num2 == -1)
         {
             this._methodType = newParam;
         }
         else
         {
             this._params.Add(newParam);
             this._paramPosition.Add(num2);
         }
     }
 }
            internal URTMethod(string name, string soapAction, string methodAttributes, WsdlParser.URTComplexType complexType)
            {
                this._methodName = name;
                this._soapAction = soapAction;
                this._methodType = null;
                this._complexType = complexType;
                name.IndexOf('.');
                this._methodFlags = System.Runtime.Remoting.MetadataServices.WsdlParser.MethodFlags.None;
                if ((methodAttributes != null) && (methodAttributes.Length > 0))
                {
                    foreach (string str in methodAttributes.Split(new char[] { ' ' }))
                    {
                        switch (str)
                        {
                            case "virtual":
                                this._methodFlags |= System.Runtime.Remoting.MetadataServices.WsdlParser.MethodFlags.Virtual;
                                break;

                            case "new":
                                this._methodFlags |= System.Runtime.Remoting.MetadataServices.WsdlParser.MethodFlags.New;
                                break;

                            case "override":
                                this._methodFlags |= System.Runtime.Remoting.MetadataServices.WsdlParser.MethodFlags.Override;
                                break;

                            case "public":
                                this._methodFlags |= System.Runtime.Remoting.MetadataServices.WsdlParser.MethodFlags.Public;
                                break;

                            case "protected":
                                this._methodFlags |= System.Runtime.Remoting.MetadataServices.WsdlParser.MethodFlags.Protected;
                                break;

                            case "internal":
                                this._methodFlags |= System.Runtime.Remoting.MetadataServices.WsdlParser.MethodFlags.Internal;
                                break;
                        }
                    }
                }
            }