internal static void RegisterType() { PsiHelperNode.RegisterType(); XBOSS.Types.Array <PsiHelperNode> .RegisterType(); if (Command.TypeRegistered) { return; } TreeBuilder.RegisterType <Command>(Command.PublicTypeName, (XElement el, Node_base Parent, Document owner) => { IEnumerable <XElement> Children = el.Elements(); var ret = new Command(el.Name.ToString(), Parent, owner); foreach (XElement c in Children) { String Name = c.Name.ToString(); if (Name.Equals("dependencies")) { ret.DepIdx = ret.Children.Count; ret.Children.Add(TreeBuilder.InvokeParser(c, Parent, owner)); } else if (Name.Equals("run")) { ret.RunIdx = ret.Children.Count; ret.Children.Add(TreeBuilder.InvokeParser(c, Parent, owner)); } // if } // foreach return(ret); }, (Node_base N, i32 lvl, StringBuilderEx sb) => { TreeBuilder.CheckChildCount(N, 0, 0); ((Command)N).ToXML(lvl, sb); }); Command.TypeRegistered = true; }
internal static void RegisterType() { if (PsiHelperNode.TypeRegistered) { return; } TreeBuilder.RegisterType <PsiHelperNode>(PsiHelperNode.PublicTypeName, (XElement el, Node_base Parent, Document owner) => { IEnumerable <XElement> Children = el.Elements(); var ret = new PsiHelperNode(el.Name.ToString(), Parent, owner); foreach (XElement c in Children) { String Name = c.Name.ToString(); if (Name.Equals("ExeName")) { ret.ExeName_stub = c.Value; } else if (Name.Equals("args")) { ret.Arguments_stub = c.Value; } else if (Name.Equals("CancelOnError")) { ret.CancelOnError = c.Value.ToLower().Equals("true"); } } // foreach return(ret); }, (Node_base N, i32 lvl, StringBuilderEx sb) => { TreeBuilder.CheckChildCount(N, 0, 0); ((PsiHelperNode)N).ToXML(lvl, sb); }); PsiHelperNode.TypeRegistered = true; }
public static void RegisterType() { Command.RegisterType(); if (Makefile.TypeRegistered) { return; } TreeBuilder.RegisterType(typeof(Makefile), Makefile.PublicTypeName, (XElement el, Node_base Parent, Document owner) => { IEnumerable <XElement> Children = el.Elements(); var ret = new Makefile(el.Name.ToString(), Parent, owner); foreach (XElement c in Children) { String Name = c.Name.ToString(); if (Name.Equals("variables")) { ret.m_Variables = (NamedCollection)TreeBuilder.InvokeParser(c, Parent, owner); } else if (Name.Equals("commands")) { ret.Commands = (NamedCollection)TreeBuilder.InvokeParser(c, Parent, owner); } } // foreach IEnumerable <XAttribute> Attributes = el.Attributes(); foreach (XAttribute a in Attributes) { String Name = a.Name.ToString(); if (Name.Equals("DefaultTarget")) { ret.DefaultTarget = a.Value; } } // foreach return(ret); }, (Node_base N, i32 lvl, StringBuilderEx sb) => { TreeBuilder.CheckChildCount(N, 0, 0); ((Makefile)N).ToXML(lvl, sb); }); Makefile.TypeRegistered = true; }