public void FixParams(Registry reg) { if (Param != null) { foreach (var param in Param) { param.OrigName = param.Name; param.Name = Senzible.CleanUpName(param.Name); param.Translated = Senzible.GetReturnType(param); param.NeedsFixed = param.Translated.EndsWith("*"); param.HasEnum = !string.IsNullOrEmpty(param.Group) && reg.Enums.Any(x => x.Group == param.Group); param.EnumTranslated = !param.HasEnum ? param.Translated : ("Enums." + param.Group + (param.NeedsFixed ? "*" : "")); param.NeedsOut = param.NeedsFixed && !string.IsNullOrEmpty(param.Len) && param.Len == "1"; } } }
public void Build(IndentedStringBuilder delegates, IndentedStringBuilder pointers, IndentedStringBuilder wrappers, Registry reg, HashSet <string> commands, DocHandler doc) { var wrapperStart = true; foreach (var c in Command) { c.Proto.ReturnType = Senzible.GetReturnType(c.Proto); c.FixParams(reg); c.BuildDelegate(delegates); c.BuildPointer(pointers); if (!wrapperStart) { wrappers.AppendLine(""); } else { wrapperStart = false; } c.BuildWrappers(wrappers, doc, reg); commands.Add(c.Proto.Name); } }