/* * // NOTE: Enable when Parser is ready to handle multiple errors w/o bailing out. * internal override SerializationErrorAction ParseError(XamlParseException e) * { * _compiler.OnError(e); * return SerializationErrorAction.Ignore; * } */ /// <summary> /// override of Write End Document /// </summary> public override void WriteDocumentEnd(XamlDocumentEndNode xamlEndDocumentNode) { if (BamlRecordWriter != null) { MemoryStream bamlMemStream = BamlRecordWriter.BamlStream as MemoryStream; Debug.Assert(bamlMemStream != null); base.WriteDocumentEnd(xamlEndDocumentNode); _compiler.GenerateBamlFile(bamlMemStream); } }
/// <summary> /// Called when parsing ends /// </summary> public virtual void WriteDocumentEnd(XamlDocumentEndNode xamlEndDocumentNode) { if (BamlRecordWriter != null) { BamlRecordWriter.WriteDocumentEnd(xamlEndDocumentNode); } }
/* // NOTE: Enable when Parser is ready to handle multiple errors w/o bailing out. internal override SerializationErrorAction ParseError(XamlParseException e) { _compiler.OnError(e); return SerializationErrorAction.Ignore; } */ /// <summary> /// override of Write End Document /// </summary> public override void WriteDocumentEnd(XamlDocumentEndNode xamlEndDocumentNode) { if (BamlRecordWriter != null) { MemoryStream bamlMemStream = BamlRecordWriter.BamlStream as MemoryStream; Debug.Assert(bamlMemStream != null); base.WriteDocumentEnd(xamlEndDocumentNode); _compiler.GenerateBamlFile(bamlMemStream); } }
// called when BAML is completely written internal void WriteDocumentEnd(XamlDocumentEndNode xamlDocumentEndNode) { // write end of document record BamlDocumentEndRecord endDocument = (BamlDocumentEndRecord) BamlRecordManager.GetWriteRecord(BamlRecordType.DocumentEnd); WriteBamlRecord(endDocument, xamlDocumentEndNode.LineNumber, xamlDocumentEndNode.LinePosition); BamlRecordManager.ReleaseWriteRecord(endDocument); // should be done now and evertying fully initialized. }