static void WriteTargetTags(GraphBuilder gb, WrenchTarget wt, XmlTextWriter tw) { foreach (KeyValuePair <string, SingleValue <int> > kvp in wt.IdTags) { int tagid = gb.GetTagId(kvp.Key); if (tagid < 0) { throw ExHelp.Argument("tag", "Invalid tag name {0}", kvp.Key); } if (kvp.Value.IsResult) { tw.WriteStartElement("rt"); tw.WriteAttributeString("id", tagid.ToString()); ((Result)kvp.Value).ExportXml(tw, "r"); } else { tw.WriteStartElement("tt"); tw.WriteAttributeString("id", tagid.ToString()); tw.WriteAttributeString("target", ((int)kvp.Value).ToString()); } tw.WriteEndElement(); } }
void WriteTags() { bw.Write(gb.NumTags); int nwritten = 0; foreach (string name in gb.GetTags()) { int id = gb.GetTagId(name); bw.Write(name); bw.Write(id); nwritten++; } if (nwritten != gb.NumTags) { throw ExHelp.App("Report NumTags ({0}) is not actual ({1})?", gb.NumTags, nwritten); } }
// Tags static void WriteTags(GraphBuilder gb, XmlTextWriter tw) { tw.WriteStartElement("tags"); foreach (string tag in gb.GetTags()) { tw.WriteStartElement("tag"); tw.WriteAttributeString("name", tag); tw.WriteAttributeString("id", gb.GetTagId(tag).ToString()); tw.WriteEndElement(); } tw.WriteEndElement(); }
internal bool DoFixup(NameLookupContext nlc, IWarningLogger log) { log.PushLocation(FullName); try { if (ResolveTemplate(nlc, log)) { return(true); } ApplyWaitTags(); // Now register our tags with the GraphBuilder GraphBuilder gb = (GraphBuilder)Owner.Owner; foreach (string tag in TagsWithValues) { if (gb.GetTagId(tag) < 0) { return(true); } } // Now make sure that all of our argument names are valid. Rule rinst = (Rule)Activator.CreateInstance(Rule); Dictionary <string, int> argmap = rinst.MakeArgNameMap(); foreach (string arg in ArgsWithDeps) { if (argmap.ContainsKey(arg)) { continue; } string s = String.Format("Argument `{0}' does not exist in rule " + "`{1}'", arg, Rule); log.Error(2024, s, null); return(true); } } finally { log.PopLocation(); } return(false); }
// Tags static void WriteTags (GraphBuilder gb, XmlTextWriter tw) { tw.WriteStartElement ("tags"); foreach (string tag in gb.GetTags ()) { tw.WriteStartElement ("tag"); tw.WriteAttributeString ("name", tag); tw.WriteAttributeString ("id", gb.GetTagId (tag).ToString ()); tw.WriteEndElement (); } tw.WriteEndElement (); }
static void WriteTargetTags (GraphBuilder gb, WrenchTarget wt, XmlTextWriter tw) { foreach (KeyValuePair<string,SingleValue<int>> kvp in wt.IdTags) { int tagid = gb.GetTagId (kvp.Key); if (tagid < 0) throw ExHelp.Argument ("tag", "Invalid tag name {0}", kvp.Key); if (kvp.Value.IsResult) { tw.WriteStartElement ("rt"); tw.WriteAttributeString ("id", tagid.ToString ()); ((Result) kvp.Value).ExportXml (tw, "r"); } else { tw.WriteStartElement ("tt"); tw.WriteAttributeString ("id", tagid.ToString ()); tw.WriteAttributeString ("target", ((int) kvp.Value).ToString ()); } tw.WriteEndElement (); } }