static void Main(string[] args) { point = DateTime.Now.Ticks; //string pdb_file = @"c:\usr\code\projects\lame\Test\release\test.pdb"; string pdb_file = @"e:\dev\Rfl\BillyBumblast\bin\debug\billybumblast.pdb"; if (args.Length != 0) { pdb_file = args[0].ToLower(); } Rfl.PDBLoader pdb_loader = new Rfl.PDBLoader(); Rfl.Module module = pdb_loader.Load(pdb_file); Point("Loading PDB"); XmlSerialise.Writer xml_writer = new XmlSerialise.Writer("RflDb"); xml_writer.SerialiseCollection(xml_writer.RootNode, Rfl.Module.Names.Values, "Names"); xml_writer.Serialise(module.GlobalNamespace, "Namespace"); Point("Serialised XML"); string xml_file = pdb_file.Replace(".pdb", ".xml"); xml_writer.Document.Save(xml_file); Point("Saved XML"); }
public void WriteModule(Rfl.Module module, string filename) { m_Connection = new RflDB.Connection(filename); m_Connection.AddSQLType(new RflDB.SQLType(typeof(Rfl.Name), "integer", NameValueToString)); CreateEnumTable("Internal.Rfl.ParameterStorage", typeof(Rfl.TypeModifier)); m_Connection.CreateTable("Module.Names", typeof(Rfl.Name)); m_Connection.CreateTable("Module.BaseTypes", typeof(Rfl.Type)); m_Connection.CreateTable("Module.Classes", typeof(Rfl.Class)); m_Connection.CreateTable("Module.Enums", typeof(Rfl.Enum)); //m_Connection.InsertRows("Module.Names", module.Names); //m_Connection.InsertRows("Module.BaseTypes", module.GlobalNamespace.BaseTypes); //m_Connection.InsertRows("Module.Classes", module.GlobalNamespace.Classes); //m_Connection.InsertRows("Module.Enums", module.GlobalNamespace.Enums); }