private void OnFormatNode([NotNull] TVertex vertex, [NotNull] DirectedGraphNode node) { Debug.Assert(vertex != null); Debug.Assert(node != null); FormatNode?.Invoke(vertex, node); }
internal static int GetFormatCrc(FormatStore formatStore, FormatNode formatNode) { int num = 0; TextRun textRun = formatStore.GetTextRun(formatNode.BeginTextPosition); if (!textRun.Equals(TextRun.Invalid)) { while (!textRun.IsEnd() && textRun.Type != TextRunType.NonSpace) { textRun.MoveNext(); } if (!textRun.IsEnd()) { num = (int)textRun.GetWordChar(0); } } Dictionary<PropertyId, List<PropertyValue>> dictionary = new Dictionary<PropertyId, List<PropertyValue>>(); do { if (formatNode.Properties != null) { foreach (Property property in formatNode.Properties) { if (!property.IsNull) { List<PropertyValue> list; if (!dictionary.TryGetValue(property.Id, out list)) { list = new List<PropertyValue>(); dictionary.Add(property.Id, list); } list.Add(property.Value); } } } formatNode = formatNode.Parent; } while (formatNode.Parent != FormatNode.Null); foreach (KeyValuePair<PropertyId, List<PropertyValue>> keyValuePair in dictionary) { int propertyCrc = BodyFragmentInfo.GetPropertyCrc(formatStore, keyValuePair.Key, keyValuePair.Value); if (propertyCrc != 0) { num ^= propertyCrc; } } return num; }
private void InjectFragment(FormatNode fragmentNode) { this.formatOutput.OutputFragment(fragmentNode); }