Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            ImportLookup["Element"]          = "randori.webkit.dom.Element";
            ImportLookup["Document"]         = "randori.webkit.dom.Document";
            ImportLookup["XMLHttpRequest"]   = "randori.webkit.xml.XMLHttpRequest";
            ImportLookup["Vector.<Element>"] = "randori.webkit.dom.Element";

            if (Directory.Exists(OutputDirectory) == false)
            {
                Directory.CreateDirectory(OutputDirectory);
            }
            else
            {
                var files = Directory.EnumerateFiles(OutputDirectory).ToList <string>();
                files.ForEach(f => File.Delete(f));
            }

            ReadSourceDirectory().ForEach(e => Entry2Class(e));

            if (ClassLookup.ContainsKey("Promise"))
            {
                var classDefPromise  = ClassLookup["Promise"];
                var classDefDeferred = ClassLookup["Deferred"];
                AddMethodsToPromise(classDefPromise, classDefDeferred);
            }

            foreach (var key in ClassLookup.Keys)
            {
                var Class = ClassLookup[key];
                AddImports(Class, Builder.Class2Unit[key]);
                if (Class.Name == "JQueryStatic")
                {
                    var method    = Builder.AddMethod(Class, "J", "JQuery");
                    var parameter = Builder.AddParameter("list", "object[]", method, null, false);
                    parameter.UserData["IsRestParams"] = true;
                    Builder.AddMethodAttributeArgument(method, "name", "");
                    Class.Members.Cast <CodeTypeMember>().ToList <CodeTypeMember>().ForEach(m => m.Attributes = m.Attributes | MemberAttributes.Static);
                }
            }

            var provider = new AS3CodeProvider(Builder);

            foreach (var unit in Builder.Units)
            {
                SerializeClass(unit, provider);
            }

            Console.WriteLine("Finished, press any key...");
            Console.ReadKey();
        }