コード例 #1
0
ファイル: WrenchProvider.cs プロジェクト: emtees/old-code
	internal WrenchProvider (GraphBuilder gb, string basis, short id) 
	    : base (gb, basis) 
	{
	    namecontext = new NameLookupContext ();

	    this.id = id;
	}
コード例 #2
0
ファイル: XmlGraphSerializer.cs プロジェクト: emtees/old-code
	public static void Write (GraphBuilder gb, string file)
	{
	    XmlTextWriter tw = new XmlTextWriter (file, System.Text.Encoding.UTF8);

	    if (DebugOutput)
		tw.Formatting = Formatting.Indented;

	    Write (gb, tw);
	}
コード例 #3
0
	public static void Write (GraphBuilder gb, string file)
	{
	    BinaryGraphSerializer bsg = new BinaryGraphSerializer (gb, file);

	    try {
		bsg.Write ();
	    } catch (Exception e) {
		File.Delete (file);
		throw e;
	    }
	}
コード例 #4
0
ファイル: XmlGraphSerializer.cs プロジェクト: emtees/old-code
	public static void Write (GraphBuilder gb, XmlTextWriter tw)
	{
	    tw.WriteStartElement ("mbuild-graph");

	    WriteDependents (gb, tw);
	    WriteProviders (gb, tw);
	    WriteTargets (gb, tw);
	    WriteTags (gb, tw);
	    WriteProject (gb, tw);

	    tw.WriteEndElement ();
	    tw.Close ();
	}
コード例 #5
0
ファイル: XmlGraphSerializer.cs プロジェクト: emtees/old-code
	// Providers

	static void WriteProviders (GraphBuilder gb, XmlTextWriter tw)
	{
	    tw.WriteStartElement ("providers");

	    foreach (WrenchProvider wp in gb.Providers) {
		tw.WriteStartElement ("p");

		tw.WriteAttributeString ("id", wp.Id.ToString ());
		tw.WriteAttributeString ("basis", wp.Basis);
		tw.WriteAttributeString ("decl_loc", wp.DeclarationLoc);
		tw.WriteAttributeString ("ntargs", wp.NumTargets.ToString ());

		tw.WriteEndElement ();
	    }

	    tw.WriteEndElement ();
	}
コード例 #6
0
ファイル: XmlGraphSerializer.cs プロジェクト: emtees/old-code
	// Dependents

	static void WriteDependents (GraphBuilder gb, XmlTextWriter tw)
	{
	    tw.WriteStartElement ("dependents");

	    foreach (DependentItemInfo dii in gb.GetDependentFiles ()) {
		tw.WriteStartElement ("file");
		WriteDependentInterior (dii, tw);
		tw.WriteEndElement ();
	    }

	    foreach (DependentItemInfo dii in gb.GetDependentBundles ()) {
		tw.WriteStartElement ("bundle");
		WriteDependentInterior (dii, tw);
		tw.WriteEndElement ();
	    }

	    tw.WriteEndElement ();
	}
コード例 #7
0
ファイル: XmlGraphSerializer.cs プロジェクト: emtees/old-code
	// Targets

	static void WriteTargets (GraphBuilder gb, XmlTextWriter tw)
	{
	    tw.WriteStartElement ("targets");

	    foreach (WrenchTarget wt in gb.GetTargets ()) {
		tw.WriteStartElement ("t");

		tw.WriteAttributeString ("id", wt.Id.ToString ());
		tw.WriteAttributeString ("name", wt.Name);
		tw.WriteAttributeString ("rule", wt.RuleType.AssemblyQualifiedName);

		tw.WriteStartElement ("deps");
		wt.VisitDependencies (new WriteVisitor (tw));
		tw.WriteEndElement ();

		tw.WriteStartElement ("tags");
		WriteTargetTags (gb, wt, tw);
		tw.WriteEndElement ();

		tw.WriteEndElement ();
	    }

	    tw.WriteEndElement ();
	}
コード例 #8
0
ファイル: XmlGraphSerializer.cs プロジェクト: emtees/old-code
	// Project

	static void WriteProject (GraphBuilder gb, XmlTextWriter tw)
	{
	    tw.WriteStartElement ("project-info");

	    ProjectInfo pinfo = gb.PInfo;

	    tw.WriteAttributeString ("name", pinfo.Name);
	    tw.WriteAttributeString ("version", pinfo.Version);
	    tw.WriteAttributeString ("compat-code", pinfo.CompatCode);
	    tw.WriteAttributeString ("buildfile-name", pinfo.BuildfileName);

	    foreach (System.Reflection.AssemblyName aname in pinfo.Refs) {
		tw.WriteStartElement ("ref");
		tw.WriteAttributeString ("name", aname.FullName);
		tw.WriteEndElement ();
	    }

	    tw.WriteEndElement ();
	}
コード例 #9
0
ファイル: XmlGraphSerializer.cs プロジェクト: emtees/old-code
	// 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 ();
	}
コード例 #10
0
ファイル: XmlGraphSerializer.cs プロジェクト: emtees/old-code
	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 ();
	    }
	}
コード例 #11
0
	BinaryGraphSerializer (GraphBuilder gb, string file)
	{
	    this.gb = gb;
	    s = File.Create (file, BufferSize);
	}
コード例 #12
0
 BinaryGraphSerializer(GraphBuilder gb, string file)
 {
     this.gb = gb;
     s       = File.Create(file, BufferSize);
 }