private void AddNodeToHashTable(Hashtable hashtable, XmlDiffNode node) { var hashValue = node.HashValue; var diffNodeListHead = (XmlDiffNodeListHead)hashtable[hashValue]; if (diffNodeListHead == null) { hashtable[hashValue] = new XmlDiffNodeListHead(new XmlDiffNodeListMember(node, null)); } else { var diffNodeListMember = new XmlDiffNodeListMember(node, null); diffNodeListHead._last._next = diffNodeListMember; diffNodeListHead._last = diffNodeListMember; } }
internal XmlDiffNodeListHead( XmlDiffNodeListMember firstMember ) { Debug.Assert( firstMember != null ); _first = firstMember; _last = firstMember; }
internal XmlDiffNodeListMember( XmlDiffNode node, XmlDiffNodeListMember next ) { Debug.Assert( node != null ); _node = node; _next = next; }
private void AddNodeToHashTable( Hashtable hashtable, XmlDiffNode node ) { Debug.Assert( hashtable != null ); Debug.Assert( node != null ); Debug.Assert( node.NodeType != XmlDiffNodeType.ShrankNode ); ulong hashValue = node.HashValue; XmlDiffNodeListHead nodeListHead = (XmlDiffNodeListHead) hashtable[ hashValue ]; if ( nodeListHead == null ) { hashtable[ hashValue ] = new XmlDiffNodeListHead( new XmlDiffNodeListMember( node, null ) ); } else { XmlDiffNodeListMember newMember = new XmlDiffNodeListMember( node, null ); nodeListHead._last._next = newMember; nodeListHead._last = newMember; } }
internal XmlDiffNodeListHead(XmlDiffNodeListMember firstMember) { this._first = firstMember; this._last = firstMember; }
internal XmlDiffNodeListMember(XmlDiffNode node, XmlDiffNodeListMember next) { this._node = node; this._next = next; }