Files
2026-06-04 11:42:34 +02:00

54 lines
1.5 KiB
C#

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;
}
}