Пример #1
0
 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";
         }
     }
 }
Пример #2
0
        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);
            }
        }