Example #1
0
        public void GenerateCode()
        {
            api.initContext();
            string currentFile = "";

            //this.writer.WriteString(Utils.JsSystem);

            foreach (var nsp in Singleton.namespacesTable)
            {
                this.writer.WriteString($"GeneratedNamespace.{nsp.Key} = {{}}; \n");
            }

            try{
                foreach (var tree in api.trees)
                {
                    currentFile = tree.Value.origin;
                    // if(currentFile!="IncludesDefault")//TODO: quit this condition
                    // {
                    tree.Value.defaultNamespace.GenerateCode(writer, api);
                    foreach (var ns in tree.Value.namespaceDeclared)
                    {
                        ns.GenerateCode(writer, api);
                    }
                    // }
                }
            }catch (SemanticException ex) {
                throw new SemanticException(currentFile + ": " + ex.Message);
            }
            writer.Finish();
        }