コード例 #1
0
 Parser(string projectName, string filePath, XDocument doc, Common.IMarkupErrorLog log)
 {
     _projectName = projectName;
     _filePath    = filePath;
     _log         = log;
     _doc         = doc;
 }
コード例 #2
0
ファイル: CodeGenerator.cs プロジェクト: mortend/uno
 CodeGenerator(UXIL.Project doc, TextFormatter tw, Common.IMarkupErrorLog log, Func <string, TextFormatter> textFormatterFactory)
 {
     _doc = doc;
     _tw  = tw;
     _log = log;
     _textFormatterFactory = textFormatterFactory;
 }
コード例 #3
0
 static Element Parse(string projName, string p, out XDocument xdoc, Common.IMarkupErrorLog log)
 {
     using (var stream = File.OpenRead(p))
     {
         xdoc = XmlHelpers.ReadAllXml(stream, LoadOptions.SetLineInfo, true);
         return(Parse(projName, p, xdoc, log));
     }
 }
コード例 #4
0
 public static Element Parse(string projName, string p, XDocument xdoc, Common.IMarkupErrorLog log)
 {
     try
     {
         return(Parse(new Parser(projName, p, xdoc, log)));
     }
     catch (XmlException e)
     {
         log.ReportError(p, e.LineNumber, e.Message);
         throw;
     }
 }
コード例 #5
0
ファイル: Generator.cs プロジェクト: mohammedmanssour/uno
        public static Generator Resolve(FileSourceInfo source, AST.Element e, ContentMode contentMode, InstanceType instanceType, Common.IMarkupErrorLog log)
        {
            var g = e.Generator;

            if (g is UnspecifiedGenerator)
            {
                var ug = (UnspecifiedGenerator)g;
                if (contentMode == ContentMode.Default || e.UXKey != null)
                {
                    if (instanceType == InstanceType.Local)
                    {
                        return(new InstanceGenerator());
                    }
                    else if (instanceType == InstanceType.Global)
                    {
                        return(new GlobalInstanceGenerator(null));
                    }
                    else
                    {
                        throw new Exception("Unhandled instance type: " + instanceType);
                    }
                }
                else if (contentMode == ContentMode.Template)
                {
                    var t = (UnspecifiedGenerator)g;
                    return(new TemplateGenerator(null, t.Case, t.IsDefaultCase));
                }
                else
                {
                    log.ReportError(source.FileName, source.LineNumber, "Unknown content mode: " + contentMode);
                    return(new InstanceGenerator());
                }
            }
            else
            {
                return(g);
            }
        }
コード例 #6
0
ファイル: CodeGenerator.cs プロジェクト: mortend/uno
        public static void GenerateCode(UXIL.Project doc, TextFormatter tw, Common.IMarkupErrorLog log, Func <string, TextFormatter> textFormatterFactory)
        {
            var cg = new CodeGenerator(doc, tw, log, textFormatterFactory);

            cg.GenerateCode();
        }