Exemple #1
0
        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");
        }
Exemple #2
0
        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);
        }