/// <exception cref="BadSyntaxException"> /// The <paramref name="declaration"/> does not fit to the syntax. /// </exception> /// <exception cref="ReservedNameException"> /// The parameter name is already exists. /// </exception> public override Parameter Add(string declaration) { var param = CSharpParameterDeclaration.Create(declaration); if (IsReservedName(param.Name)) { throw new ReservedNameException(param.Name); } var parameter = new CSharpParameter(param.Name, param.Type, param.Modifier, param.DefaultValue); InnerList.Add(parameter); return(parameter); }
/// <exception cref="BadSyntaxException"> /// The <paramref name="declaration"/> does not fit to the syntax. /// </exception> /// <exception cref="ReservedNameException"> /// The parameter name is already exists. /// </exception> public override Parameter ModifyParameter(Parameter parameter, string declaration) { var param = CSharpParameterDeclaration.Create(declaration); var index = InnerList.IndexOf(parameter); if (index < 0) { return(parameter); } if (IsReservedName(param.Name, index)) { throw new ReservedNameException(param.Name); } var newParameter = new CSharpParameter(param.Name, param.Type, param.Modifier, param.DefaultValue); InnerList[index] = newParameter; return(newParameter); }