internal void remove() { if (this.prev == this && this.next == this) return; if (this.prev == null) Pointer.DeallocatorReference.head = this.next; else this.prev.next = this.next; if (this.next != null) this.next.prev = this.prev; Pointer.DeallocatorReference deallocatorReference1 = this; Pointer.DeallocatorReference deallocatorReference2 = this; this.next = this; this.prev = this; }
internal void add() { if (Pointer.DeallocatorReference.head == null) { Pointer.DeallocatorReference.head = this; } else { this.next = Pointer.DeallocatorReference.head; this.next.prev = Pointer.DeallocatorReference.head = this; } }
internal DeallocatorReference([In] Pointer obj0, [In] Pointer.Deallocator obj1) { base.\u002Ector((object) obj0, Pointer.referenceQueue); Pointer.DeallocatorReference deallocatorReference = this; this.prev = (Pointer.DeallocatorReference) null; this.next = (Pointer.DeallocatorReference) null; this.deallocator = obj1; }