private ParameterSchema ParseProcedure_param(CodeObject decl) { //procedure_param ::= // parameter ["AS"] // data_type [varying_tag] // ["=" param_init_value ] // [output_tag] ; ParameterSchema param = new ParameterSchema(); CodeObject obj = decl.FirstChild(); while (obj != null) { switch (obj.Type) { case "parameter": param.Name = obj.Text; break; case "data_type": case "param_init_value": case "output_tag": break; default: throw new NotImplementedException("Not Implemented Type: " + obj.Type); } obj = obj.NextSibling(); } return(param); }
/// <summary> /// Adds the specified ColumnSchema /// </summary> /// <param name="c"></param> public void AddParameter(ParameterSchema c) { parameters[c.Name] = c; }