using System; namespace System.Runtime.Serialization { // Token: 0x02000484 RID: 1156 internal abstract class BaseFixupRecord { // Token: 0x06002C1A RID: 11290 RVA: 0x00091494 File Offset: 0x0008F694 public BaseFixupRecord(ObjectRecord objectToBeFixed, ObjectRecord objectRequired) { this.ObjectToBeFixed = objectToBeFixed; this.ObjectRequired = objectRequired; } // Token: 0x06002C1B RID: 11291 RVA: 0x000914AC File Offset: 0x0008F6AC public bool DoFixup(ObjectManager manager, bool strict) { if (this.ObjectToBeFixed.IsRegistered && this.ObjectRequired.IsInstanceReady) { this.FixupImpl(manager); return true; } if (!strict) { return false; } if (!this.ObjectToBeFixed.IsRegistered) { throw new SerializationException("An object with ID " + this.ObjectToBeFixed.ObjectID + " was included in a fixup, but it has not been registered"); } if (!this.ObjectRequired.IsRegistered) { throw new SerializationException("An object with ID " + this.ObjectRequired.ObjectID + " was included in a fixup, but it has not been registered"); } return false; } // Token: 0x06002C1C RID: 11292 protected abstract void FixupImpl(ObjectManager manager); // Token: 0x0400110C RID: 4364 protected internal ObjectRecord ObjectToBeFixed; // Token: 0x0400110D RID: 4365 protected internal ObjectRecord ObjectRequired; // Token: 0x0400110E RID: 4366 public BaseFixupRecord NextSameContainer; // Token: 0x0400110F RID: 4367 public BaseFixupRecord NextSameRequired; } }