private void CreateTopLevelRuntimeGroupings(ref DataActions groupingDataAction, ref IReference <RuntimeMemberObj>[] groupings, HierarchyNodeList topLevelStaticMembers, HierarchyNodeList topLevelDynamicMembers, IReference <RuntimeMemberObj>[] innerGroupings, bool hasOppositeStaticLeafMembers) { int num = (topLevelDynamicMembers != null) ? topLevelDynamicMembers.Count : 0; groupings = new IReference <RuntimeMemberObj> [Math.Max(1, num)]; if (num == 0) { IReference <RuntimeMemberObj> reference = RuntimeDataTablixMemberObj.CreateRuntimeMemberObject((IReference <IScope>)base.m_selfReference, (AspNetCore.ReportingServices.ReportIntermediateFormat.ReportHierarchyNode)null, ref groupingDataAction, base.m_odpContext, innerGroupings, topLevelStaticMembers, hasOppositeStaticLeafMembers, 0, base.ObjectType); groupings[0] = reference; } else { for (int i = 0; i < num; i++) { AspNetCore.ReportingServices.ReportIntermediateFormat.ReportHierarchyNode dynamicMemberDef = topLevelDynamicMembers[i]; IReference <RuntimeMemberObj> reference2 = RuntimeDataTablixMemberObj.CreateRuntimeMemberObject((IReference <IScope>)base.m_selfReference, dynamicMemberDef, ref groupingDataAction, base.m_odpContext, innerGroupings, (i == 0) ? topLevelStaticMembers : null, hasOppositeStaticLeafMembers, 0, base.ObjectType); groupings[i] = reference2; } } }
public static IReference <RuntimeMemberObj> CreateRuntimeMemberObject(IReference <IScope> owner, AspNetCore.ReportingServices.ReportIntermediateFormat.ReportHierarchyNode dynamicMemberDef, ref DataActions dataAction, OnDemandProcessingContext odpContext, IReference <RuntimeMemberObj>[] innerGroupings, HierarchyNodeList staticMembers, bool outerMostStatics, int headingLevel, AspNetCore.ReportingServices.ReportProcessing.ObjectType dataRegionType) { RuntimeDataTablixMemberObj obj = new RuntimeDataTablixMemberObj(owner, dynamicMemberDef, ref dataAction, odpContext, innerGroupings, staticMembers, outerMostStatics, headingLevel, dataRegionType); return(odpContext.TablixProcessingScalabilityCache.Allocate((RuntimeMemberObj)obj, headingLevel)); }