diff options
Diffstat (limited to 'main/src/addins/Xml/Editor/XmlDocumentParser.cs')
-rw-r--r-- | main/src/addins/Xml/Editor/XmlDocumentParser.cs | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/main/src/addins/Xml/Editor/XmlDocumentParser.cs b/main/src/addins/Xml/Editor/XmlDocumentParser.cs index 5f17fead35..d97ef44b69 100644 --- a/main/src/addins/Xml/Editor/XmlDocumentParser.cs +++ b/main/src/addins/Xml/Editor/XmlDocumentParser.cs @@ -31,20 +31,22 @@ using System.IO; using MonoDevelop.Ide.TypeSystem; using MonoDevelop.Xml.Parser; +using MonoDevelop.Core.Text; namespace MonoDevelop.Xml.Editor { class XmlDocumentParser : TypeSystemParser { - public override ParsedDocument Parse (bool storeAst, string fileName, TextReader content, MonoDevelop.Projects.Project project = null) + public override System.Threading.Tasks.Task<ParsedDocument> Parse (ParseOptions parseOptions, System.Threading.CancellationToken cancellationToken) { - var doc = new XmlParsedDocument (fileName); + var doc = new XmlParsedDocument (parseOptions.FileName); doc.Flags |= ParsedDocumentFlags.NonSerializable; try { var xmlParser = new XmlParser (new XmlRootState (), true); - xmlParser.Parse (content); + xmlParser.Parse (parseOptions.Content.CreateReader ()); doc.XDocument = xmlParser.Nodes.GetRoot (); - doc.Add (xmlParser.Errors); + // TODO error conversion! + //doc.Add (xmlParser.Errors); if (doc.XDocument != null && doc.XDocument.RootElement != null) { if (!doc.XDocument.RootElement.IsEnded) @@ -54,7 +56,7 @@ namespace MonoDevelop.Xml.Editor catch (Exception ex) { MonoDevelop.Core.LoggingService.LogError ("Unhandled error parsing xml document", ex); } - return doc; + return System.Threading.Tasks.Task.FromResult((ParsedDocument)doc); } } } |