public Arg(string opName = "", string argName = "", string typeString = "", string descString = "") { if (opName == "sgd_mom_update") { } if (argName == "src") { argName = "data"; } this.OrginName = argName; this.Name = GetName(argName); this.Description = descString; if (argName != "dtype" && typeString.StartsWith("{")) { IsEnum = true; Enum = new EnumType(opName + "_" + argName, typeString); TypeName = Enum.Name; } else if (argName == "dtype") { TypeName = "Dtype"; } else { string typename; if (_typeDict.TryGetValue(typeString.Split(',').First().Replace(",", ""), out typename)) { TypeName = typename; } } if (TypeName == null) { Console.WriteLine($"{opName} {argName}"); } if (typeString.IndexOf("default=", StringComparison.Ordinal) != -1) { HasDefault = true; DefaultString = typeString.Split(new string[] { "default=" }, StringSplitOptions.None)[1] .Trim() .Trim('\''); if (IsEnum) { if (DefaultString == "None") { TypeName += "?"; DefaultString = "null"; } else { DefaultString = Enum.GetDefaultValueString(DefaultString); } } else if (DefaultString == "False") { DefaultString = "false"; } else if (DefaultString == "True") { DefaultString = "true"; } else if (DefaultString == "None") { DefaultString = "null"; } else if (TypeName == "Shape") { if (DefaultString != "()") { //DefaultStringWithObject = $"if({Name}==null){{ {Name}= new Shape{DefaultString};}}\n"; } DefaultString = "null"; } else if (DefaultString.StartsWith("[")) { TypeName = "object[]"; DefaultString = "null"; //$"new object[] {{{DefaultString.Trim('[', ']')}}}"; } else if (TypeName.StartsWith("Tuple")) { if (DefaultString != "()") { if (TypeName.Contains("float")) { DefaultString = DefaultString.Replace(")", "f)").Replace(",", "f,"); DefaultString = DefaultString.Replace(",f)", ")"); } DefaultStringWithObject = $"if({Name}==null){{ {Name}= new {TypeName}{DefaultString};}}\n"; } DefaultString = "null"; } if (TypeName == "float") { DefaultString = DefaultString + "f"; } if (TypeName == "string") { DefaultString = "null"; } if (TypeName == "bool") { if (DefaultString == "0") { DefaultString = "false"; } if (DefaultString == "1") { DefaultString = "true"; } } if (TypeName == "Dtype" && DefaultString != "null") { DefaultStringWithObject = $"if({Name}==null){{ {Name}= {Dtype.GetCode(DefaultString)};}}\n"; DefaultString = "null"; } if (argName == "ctx") { TypeName = "Context"; } } if (argName == "weight" || argName == "bias") { HasDefault = true; DefaultString = "null"; } }