public override void Deserialize(IntermediateFormatReader reader) { reader.RegisterDeclaration(m_Declaration); while (reader.NextMember()) { switch (reader.CurrentMember.MemberName) { case MemberName.SubReport: m_subReportDef = reader.ReadGlobalReference <SubReport>(); break; case MemberName.Parameters: { ParametersImplWrapper parametersImplWrapper = (ParametersImplWrapper)reader.ReadRIFObject(); if (parametersImplWrapper != null) { m_parameters = parametersImplWrapper.WrappedParametersImpl; } break; } case MemberName.ReportInstance: m_reportInstance = (IReference <ReportInstance>)reader.ReadRIFObject(); break; case MemberName.DataSetUniqueName: m_instanceUniqueName = reader.ReadString(); break; case MemberName.ThreadCulture: m_threadCulture = reader.ReadCultureInfo(); break; case MemberName.Status: m_status = (SubReport.Status)reader.ReadEnum(); break; case MemberName.ProcessedWithError: m_processedWithError = reader.ReadBoolean(); break; case MemberName.IsInstanceShared: { object obj2 = reader.ReadVariant(); if (obj2 != null) { m_isInstanceShared = (bool)obj2; } break; } case MemberName.DataChunkNameModifier: { object obj = reader.ReadVariant(); if (obj != null) { m_dataChunkNameModifier = (int)obj; } break; } default: Global.Tracer.Assert(condition: false); break; } } }