public override void Deserialize(IntermediateFormatReader reader) { base.Deserialize(reader); IScalabilityCache scalabilityCache = reader.PersistenceHelper as IScalabilityCache; reader.RegisterDeclaration(m_declaration); while (reader.NextMember()) { switch (reader.CurrentMember.MemberName) { case MemberName.HierarchyDef: { int id2 = reader.ReadInt32(); m_hierarchyDef = (Microsoft.ReportingServices.ReportIntermediateFormat.ReportHierarchyNode)scalabilityCache.FetchStaticReference(id2); break; } case MemberName.OuterScope: m_outerScope = (IReference <IScope>)reader.ReadRIFObject(); break; case MemberName.ProcessingStage: m_processingStage = (ProcessingStages)reader.ReadEnum(); break; case MemberName.ScopedRunningValues: m_scopedRunningValues = reader.ReadListOfPrimitives <string>(); break; case MemberName.RunningValuesInGroup: m_runningValuesInGroup = reader.ReadListOfPrimitives <string>(); break; case MemberName.PreviousValuesInGroup: m_previousValuesInGroup = reader.ReadListOfPrimitives <string>(); break; case MemberName.GroupCollection: m_groupCollection = reader.ReadStringRIFObjectDictionary <IReference <RuntimeGroupRootObj> >(); break; case MemberName.DataAction: m_dataAction = (DataActions)reader.ReadEnum(); break; case MemberName.OuterDataAction: m_outerDataAction = (DataActions)reader.ReadEnum(); break; case MemberName.GroupingType: m_groupingType = (RuntimeGroupingObj.GroupingTypes)reader.ReadEnum(); break; case MemberName.Filters: { int id = reader.ReadInt32(); m_groupFilters = (Filters)scalabilityCache.FetchStaticReference(id); break; } case MemberName.ParentExpression: m_parentExpression = (RuntimeExpressionInfo)reader.ReadRIFObject(); break; case MemberName.CurrentGroupExprValue: m_currentGroupExprValue = reader.ReadVariant(); break; case MemberName.SaveGroupExprValues: m_saveGroupExprValues = reader.ReadBoolean(); break; case MemberName.SortFilterExpressionScopeInfoIndices: m_sortFilterExpressionScopeInfoIndices = reader.ReadInt32Array(); break; case MemberName.BuiltinSortOverridden: m_builtinSortOverridden = reader.ReadBooleanArray(); break; case MemberName.IsDetailGroup: m_isDetailGroup = reader.ReadBoolean(); break; case MemberName.DetailUserSortTargetInfo: m_detailUserSortTargetInfo = (RuntimeUserSortTargetInfo)reader.ReadRIFObject(); break; case MemberName.DetailRows: m_detailDataRows = reader.ReadRIFObject <ScalableList <DataFieldRow> >(); break; default: Global.Tracer.Assert(condition: false); break; } } }