Beispiel #1
0
        public override void Apply(
            EventBean matchingEvent,
            EventBean[] eventsPerStream,
            TableInstance tableStateInstance,
            OnExprViewTableChangeHandler changeHandlerAdded,
            OnExprViewTableChangeHandler changeHandlerRemoved,
            AgentInstanceContext agentInstanceContext)
        {
            var theEvent = insertHelper.Process(eventsPerStream, true, true, agentInstanceContext);
            if (!route) {
                var aggs = tableStateInstance.Table.AggregationRowFactory.Make();
                ((Array) theEvent.Underlying).SetValue(aggs, 0);
                tableStateInstance.AddEvent(theEvent);
                changeHandlerAdded?.Add(theEvent, eventsPerStream, true, agentInstanceContext);

                return;
            }
            
            if (insertIntoTable != null) {
                var tableInstance = insertIntoTable.GetTableInstance(agentInstanceContext.AgentInstanceId);
                tableInstance.AddEventUnadorned(theEvent);
                return;
            }

            if (audit) {
                agentInstanceContext.AuditProvider.Insert(theEvent, agentInstanceContext);
            }

            agentInstanceContext.InternalEventRouter.Route(theEvent, agentInstanceContext, false);
        }
Beispiel #2
0
 public abstract void Apply(
     EventBean matchingEvent,
     EventBean[] eventsPerStream,
     TableInstance tableStateInstance,
     OnExprViewTableChangeHandler changeHandlerAdded,
     OnExprViewTableChangeHandler changeHandlerRemoved,
     AgentInstanceContext agentInstanceContext);
 public int RecordCount(SafeFileHandle fileHandle, TableInstance table, bool isClassic)
 {
     lock (_singleThread)
     {
         return(_recordCount(fileHandle, table, isClassic));
     }
 }
Beispiel #4
0
        public override InfraOnExprBaseViewResult MakeTable(
            SubordWMatchExprLookupStrategy lookupStrategy,
            TableInstance tableInstance,
            AgentInstanceContext agentInstanceContext)
        {
            var pair = StatementAgentInstanceFactoryUtil.StartResultSetAndAggregation(
                resultSetProcessorPrototype,
                agentInstanceContext,
                false,
                null);

            var audit = AuditEnum.INSERT.GetAudit(agentInstanceContext.Annotations) != null;
            TableInstance tableInstanceInsertInto = null;
            if (optionalInsertIntoTable != null) {
                tableInstanceInsertInto =
                    optionalInsertIntoTable.GetTableInstance(agentInstanceContext.AgentInstanceId);
            }

            var selectView = new OnExprViewTableSelect(
                lookupStrategy,
                tableInstance,
                agentInstanceContext,
                pair.First,
                this,
                audit,
                IsSelectAndDelete,
                tableInstanceInsertInto);
            return new InfraOnExprBaseViewResult(selectView, pair.Second);
        }
Beispiel #5
0
 public OnExprViewTableDelete(
     SubordWMatchExprLookupStrategy lookupStrategy,
     TableInstance rootView,
     AgentInstanceContext agentInstanceContext)
     : base(lookupStrategy, rootView, agentInstanceContext, true)
 {
 }
Beispiel #6
0
        public void ApplyTable(
            EventBean matchingEvent,
            EventBean[] eventsPerStream,
            TableInstance stateInstance,
            OnExprViewTableChangeHandler changeHandlerAdded,
            OnExprViewTableChangeHandler changeHandlerRemoved,
            AgentInstanceContext agentInstanceContext)
        {
            InstrumentationCommon instrumentationCommon = agentInstanceContext.InstrumentationProvider;
            instrumentationCommon.QInfraMergeWhenThenActions(actions.Count);

            int count = -1;
            foreach (InfraOnMergeAction action in actions) {
                count++;
                instrumentationCommon.QInfraMergeWhenThenActionItem(count, action.Name);

                bool applies = action.IsApplies(eventsPerStream, agentInstanceContext);
                if (applies) {
                    action.Apply(
                        matchingEvent,
                        eventsPerStream,
                        stateInstance,
                        changeHandlerAdded,
                        changeHandlerRemoved,
                        agentInstanceContext);
                }

                instrumentationCommon.AInfraMergeWhenThenActionItem(applies);
            }

            instrumentationCommon.AInfraMergeWhenThenActions();
        }
Beispiel #7
0
        public static EventBean[] HandleDistintAndInsert(
            EventBean[] newData,
            InfraOnSelectViewFactory parent,
            AgentInstanceContext agentInstanceContext,
            TableInstance tableInstanceInsertInto,
            bool audit)
        {
            if (parent.IsDistinct) {
                newData = EventBeanUtility.GetDistinctByProp(newData, parent.DistinctKeyGetter);
            }

            if (tableInstanceInsertInto != null) {
                if (newData != null) {
                    foreach (EventBean aNewData in newData) {
                        tableInstanceInsertInto.AddEventUnadorned(aNewData);
                    }
                }
            }
            else if (parent.IsInsertInto) {
                if (newData != null) {
                    foreach (EventBean aNewData in newData) {
                        if (audit) {
                            agentInstanceContext.AuditProvider.Insert(aNewData, agentInstanceContext);
                        }

                        agentInstanceContext.InternalEventRouter.Route(
                            aNewData,
                            agentInstanceContext,
                            parent.IsAddToFront);
                    }
                }
            }

            return newData;
        }
 public TableInstanceViewable(
     Table tableMetadata,
     TableInstance tableStateInstance)
 {
     this.tableMetadata = tableMetadata;
     this.tableStateInstance = tableStateInstance;
 }
 public TableStateViewableInternal(
     TableInstance tableInstance,
     ExprEvaluator optionalTableFilter)
 {
     this.tableInstance = tableInstance;
     this.optionalTableFilter = optionalTableFilter;
 }
Beispiel #10
0
 public override InfraOnExprBaseViewResult MakeTable(
     SubordWMatchExprLookupStrategy lookupStrategy,
     TableInstance tableInstance,
     AgentInstanceContext agentInstanceContext)
 {
     var view = new OnExprViewTableUpdate(lookupStrategy, tableInstance, agentInstanceContext, this);
     return new InfraOnExprBaseViewResult(view, null);
 }
 public int ReadFieldValueWord(SafeFileHandle fileHandle, TableInstance table, Enum fieldOrdinal, int recordNumber, ref ushort dataPointer, AVImarkDataType dataType, bool isClassic)
 {
     lock (_singleThread)
     {
         DatabaseHandles.Main = fileHandle;
         return(_readFieldValueWord(DatabaseHandles, table, Convert.ToInt32(fieldOrdinal), recordNumber, ref dataPointer, dataType, isClassic));
     }
 }
 public int ReadFieldValueByte(SafeFileHandle fileHandle, TableInstance table, Enum fieldOrdinal, int recordNumber, ref byte dataPointer, AVImarkDataType dataType, int?fieldLength)
 {
     lock (_singleThread)
     {
         DatabaseHandles.Main = fileHandle;
         return(_readFieldValueByte2(DatabaseHandles, table, Convert.ToInt32(fieldOrdinal), recordNumber, ref dataPointer, dataType, (int)fieldLength));
     }
 }
Beispiel #13
0
        public void Table()
        {
            var store    = new Store();
            var instance = new TableInstance();
            var index    = store.AddTable(instance);

            Assert.That(store.Table(index), Is.SameAs(instance));
        }
 public int ReadFieldValueFloat(SafeFileHandle fileHandle, TableInstance table, int fieldOrdinal, int recordNumber, ref float dataPointer, AVImarkDataType dataType, int?fieldLength)
 {
     lock (_singleThread)
     {
         DatabaseHandles.Main = fileHandle;
         return(_readFieldValueFloat2(DatabaseHandles, table, fieldOrdinal, recordNumber, ref dataPointer, dataType, (int)fieldLength));
     }
 }
Beispiel #15
0
 public OnExprViewTableMerge(
     SubordWMatchExprLookupStrategy lookupStrategy,
     TableInstance tableInstance,
     AgentInstanceContext agentInstanceContext,
     InfraOnMergeViewFactory parent)
     : base(lookupStrategy, tableInstance, agentInstanceContext, parent.OnMergeHelper.IsRequiresTableWriteLock)
 {
     this.parent = parent;
 }
Beispiel #16
0
 public OnExprViewTableMergeInsertUnmatched(
     TableInstance tableInstance,
     AgentInstanceContext agentInstanceContext,
     InfraOnMergeViewFactory parent)
 {
     this.tableInstance = tableInstance;
     this.agentInstanceContext = agentInstanceContext;
     this.parent = parent;
 }
Beispiel #17
0
 public override InfraOnExprBaseViewResult MakeTable(
     SubordWMatchExprLookupStrategy lookupStrategy,
     TableInstance tableInstance,
     AgentInstanceContext agentInstanceContext)
 {
     return new InfraOnExprBaseViewResult(
         new OnExprViewTableDelete(lookupStrategy, tableInstance, agentInstanceContext),
         null);
 }
        public OutputStrategyPostProcess Make(AgentInstanceContext agentInstanceContext)
        {
            TableInstance tableInstance = null;
            if (_optionalTable != null) {
                tableInstance = _optionalTable.GetTableInstance(agentInstanceContext.AgentInstanceId);
            }

            return new OutputStrategyPostProcess(this, agentInstanceContext, tableInstance);
        }
Beispiel #19
0
 public OutputStrategyPostProcess(
     OutputStrategyPostProcessFactory parent,
     AgentInstanceContext agentInstanceContext,
     TableInstance tableInstance)
 {
     _parent = parent;
     _agentInstanceContext = agentInstanceContext;
     _tableInstance = tableInstance;
     _audit = AuditEnum.INSERT.GetAudit(agentInstanceContext.Annotations) != null;
 }
Beispiel #20
0
 public override void Apply(
     EventBean matchingEvent,
     EventBean[] eventsPerStream,
     TableInstance tableStateInstance,
     OnExprViewTableChangeHandler changeHandlerAdded,
     OnExprViewTableChangeHandler changeHandlerRemoved,
     AgentInstanceContext agentInstanceContext)
 {
     tableStateInstance.DeleteEvent(matchingEvent);
     changeHandlerRemoved?.Add(matchingEvent, eventsPerStream, false, agentInstanceContext);
 }
Beispiel #21
0
 internal OnExprViewTableBase(
     SubordWMatchExprLookupStrategy lookupStrategy,
     TableInstance tableInstance,
     AgentInstanceContext agentInstanceContext,
     bool acquireWriteLock)
 {
     this.lookupStrategy = lookupStrategy;
     this.tableInstance = tableInstance;
     this.agentInstanceContext = agentInstanceContext;
     this.acquireWriteLock = acquireWriteLock;
 }
Beispiel #22
0
 public OnExprViewTableUpdate(
     SubordWMatchExprLookupStrategy lookupStrategy,
     TableInstance tableInstance,
     AgentInstanceContext agentInstanceContext,
     InfraOnUpdateViewFactory parent)
     : base(
         lookupStrategy,
         tableInstance,
         agentInstanceContext,
         true)
 {
     this.parent = parent;
 }
        public override InfraOnExprBaseViewResult MakeTable(
            SubordWMatchExprLookupStrategy lookupStrategy,
            TableInstance tableInstance,
            AgentInstanceContext agentInstanceContext)
        {
            View view;
            if (OnMergeHelper.InsertUnmatched != null) {
                view = new OnExprViewTableMergeInsertUnmatched(tableInstance, agentInstanceContext, this);
            }
            else {
                view = new OnExprViewTableMerge(lookupStrategy, tableInstance, agentInstanceContext, this);
            }

            return new InfraOnExprBaseViewResult(view, null);
        }
Beispiel #24
0
        public override void Apply(
            EventBean matchingEvent,
            EventBean[] eventsPerStream,
            TableInstance tableStateInstance,
            OnExprViewTableChangeHandler changeHandlerAdded,
            OnExprViewTableChangeHandler changeHandlerRemoved,
            AgentInstanceContext agentInstanceContext)
        {
            changeHandlerRemoved?.Add(matchingEvent, eventsPerStream, false, agentInstanceContext);

            tableUpdateStrategy.UpdateTable(
                Collections.SingletonList(matchingEvent),
                tableStateInstance,
                eventsPerStream,
                agentInstanceContext);
            changeHandlerAdded?.Add(matchingEvent, eventsPerStream, false, agentInstanceContext);
        }
Beispiel #25
0
 public OnExprViewTableSelect(
     SubordWMatchExprLookupStrategy lookupStrategy,
     TableInstance tableInstance,
     AgentInstanceContext agentInstanceContext,
     ResultSetProcessor resultSetProcessor,
     InfraOnSelectViewFactory parent,
     bool audit,
     bool deleteAndSelect,
     TableInstance tableInstanceInsertInto)
     : base(lookupStrategy, tableInstance, agentInstanceContext, deleteAndSelect)
 {
     this.parent = parent;
     this.resultSetProcessor = resultSetProcessor;
     this.audit = audit;
     this.deleteAndSelect = deleteAndSelect;
     this.tableInstanceInsertInto = tableInstanceInsertInto;
 }
 public OnExprViewNamedWindowSelect(
     SubordWMatchExprLookupStrategy lookupStrategy,
     NamedWindowRootViewInstance rootView,
     AgentInstanceContext agentInstanceContext,
     InfraOnSelectViewFactory parent,
     ResultSetProcessor resultSetProcessor,
     bool audit,
     bool isDelete,
     TableInstance tableInstanceInsertInto)
     :
     base(lookupStrategy, rootView, agentInstanceContext)
 {
     this.parent = parent;
     this.resultSetProcessor = resultSetProcessor;
     this.audit = audit;
     this.isDelete = isDelete;
     this.tableInstanceInsertInto = tableInstanceInsertInto;
 }
Beispiel #27
0
 public StatementAgentInstanceFactoryCreateTableResult(
     Viewable finalView,
     AgentInstanceStopCallback stopCallback,
     AgentInstanceContext agentInstanceContext,
     TableInstance tableInstance)
     : base(
         finalView,
         stopCallback,
         agentInstanceContext,
         null,
         Collections.GetEmptyMap<int, SubSelectFactoryResult>(),
         null,
         null,
         null,
         Collections.GetEmptyMap<int, ExprTableEvalStrategy>(),
         Collections.GetEmptyList<StatementAgentInstancePreload>())
 {
     TableInstance = tableInstance;
 }
        public void UpdateTable(
            ICollection<EventBean> eventsUnsafeIter,
            TableInstance instance,
            EventBean[] eventsPerStream,
            ExprEvaluatorContext exprEvaluatorContext)
        {
            // copy references to array - as it is allowed to pass an index-originating collection
            // and those same indexes are being changed now
            var events = new EventBean[eventsUnsafeIter.Count];
            var count = 0;
            foreach (var @event in eventsUnsafeIter) {
                events[count++] = @event;
            }

            // remove from affected indexes
            foreach (var affectedIndexName in affectedIndexNames) {
                var index = instance.GetIndex(affectedIndexName);
                index.Remove(events, instance.AgentInstanceContext);
            }

            // update (no-copy unless original values required)
            foreach (var @event in events) {
                eventsPerStream[0] = @event;
                var updatedEvent = (ObjectArrayBackedEventBean) @event;

                // if "initial.property" is part of the assignment expressions, provide initial value event
                if (updateHelper.IsRequiresStream2InitialValueEvent) {
                    var prev = new object[updatedEvent.Properties.Length];
                    Array.Copy(updatedEvent.Properties, 0, prev, 0, prev.Length);
                    eventsPerStream[2] = new ObjectArrayEventBean(prev, updatedEvent.EventType);
                }

                // apply in-place updates
                updateHelper.UpdateNoCopy(updatedEvent, eventsPerStream, exprEvaluatorContext);
                instance.HandleRowUpdated(updatedEvent);
            }

            // add to affected indexes
            foreach (var affectedIndexName in affectedIndexNames) {
                var index = instance.GetIndex(affectedIndexName);
                index.Add(events, instance.AgentInstanceContext);
            }
        }
Beispiel #29
0
        public void UpdateTable(
            ICollection<EventBean> eventsUnsafeIter,
            TableInstance instance,
            EventBean[] eventsPerStream,
            ExprEvaluatorContext exprEvaluatorContext)
        {
            // update (no-copy unless original values required)
            foreach (EventBean @event in eventsUnsafeIter) {
                eventsPerStream[0] = @event;
                ObjectArrayBackedEventBean updatedEvent = (ObjectArrayBackedEventBean) @event;

                // if "initial.property" is part of the assignment expressions, provide initial value event
                if (updateHelper.IsRequiresStream2InitialValueEvent) {
                    object[] prev = new object[updatedEvent.Properties.Length];
                    Array.Copy(updatedEvent.Properties, 0, prev, 0, prev.Length);
                    eventsPerStream[2] = new ObjectArrayEventBean(prev, updatedEvent.EventType);
                }

                // apply in-place updates
                updateHelper.UpdateNoCopy(updatedEvent, eventsPerStream, exprEvaluatorContext);
                instance.HandleRowUpdated(updatedEvent);
            }
        }
        private static DeclarationList CreateCurrentDeclarations()
        {
            DeclarationList declarationList = new DeclarationList();
            int             num             = 1;

            declarationList[num++] = IDOwner.GetDeclaration();
            declarationList[num++] = ReportItem.GetDeclaration();
            num++;
            declarationList[num++] = Report.GetDeclaration();
            declarationList[num++] = PageSection.GetDeclaration();
            declarationList[num++] = Line.GetDeclaration();
            declarationList[num++] = Rectangle.GetDeclaration();
            declarationList[num++] = Image.GetDeclaration();
            num++;
            declarationList[num++] = CheckBox.GetDeclaration();
            declarationList[num++] = TextBox.GetDeclaration();
            declarationList[num++] = SubReport.GetDeclaration();
            declarationList[num++] = ActiveXControl.GetDeclaration();
            declarationList[num++] = DataRegion.GetDeclaration();
            num++;
            declarationList[num++] = ReportHierarchyNode.GetDeclaration();
            declarationList[num++] = Grouping.GetDeclaration();
            declarationList[num++] = Sorting.GetDeclaration();
            declarationList[num++] = List.GetDeclaration();
            declarationList[num++] = Pivot.GetDeclaration();
            declarationList[num++] = Matrix.GetDeclaration();
            declarationList[num++] = PivotHeading.GetDeclaration();
            declarationList[num++] = MatrixHeading.GetDeclaration();
            declarationList[num++] = MatrixColumn.GetDeclaration();
            num++;
            declarationList[num++] = MatrixRow.GetDeclaration();
            num++;
            declarationList[num++] = Subtotal.GetDeclaration();
            declarationList[num++] = Table.GetDeclaration();
            declarationList[num++] = TableColumn.GetDeclaration();
            num++;
            declarationList[num++] = TableGroup.GetDeclaration();
            declarationList[num++] = TableRow.GetDeclaration();
            num++;
            declarationList[num++] = OWCChart.GetDeclaration();
            declarationList[num++] = ChartColumn.GetDeclaration();
            num++;
            declarationList[num++] = ReportItemCollection.GetDeclaration();
            declarationList[num++] = ReportItemIndexer.GetDeclaration();
            num++;
            declarationList[num++] = Style.GetDeclaration();
            num++;
            declarationList[num++] = AttributeInfo.GetDeclaration();
            declarationList[num++] = Visibility.GetDeclaration();
            declarationList[num++] = ExpressionInfo.GetDeclaration();
            num++;
            declarationList[num++] = DataAggregateInfo.GetDeclaration();
            num++;
            declarationList[num++] = RunningValueInfo.GetDeclaration();
            num++;
            num++;
            declarationList[num++] = Filter.GetDeclaration();
            num++;
            declarationList[num++] = DataSource.GetDeclaration();
            num++;
            declarationList[num++] = DataSet.GetDeclaration();
            num++;
            declarationList[num++] = ReportQuery.GetDeclaration();
            declarationList[num++] = Field.GetDeclaration();
            num++;
            declarationList[num++] = ParameterValue.GetDeclaration();
            num++;
            num++;
            num++;
            num++;
            declarationList[num++] = ReportSnapshot.GetDeclaration();
            declarationList[num++] = SenderInformation.GetDeclaration();
            declarationList[num++] = InstanceInfo.GetDeclaration();
            declarationList[num++] = ReceiverInformation.GetDeclaration();
            declarationList[num++] = InstanceInfo.GetDeclaration();
            declarationList[num++] = DocumentMapNode.GetDeclaration();
            declarationList[num++] = InfoBase.GetDeclaration();
            declarationList[num++] = OffsetInfo.GetDeclaration();
            declarationList[num++] = InstanceInfo.GetDeclaration();
            declarationList[num++] = ReportItemInstanceInfo.GetDeclaration();
            declarationList[num++] = ReportInstanceInfo.GetDeclaration();
            declarationList[num++] = ReportItemColInstanceInfo.GetDeclaration();
            declarationList[num++] = LineInstanceInfo.GetDeclaration();
            declarationList[num++] = TextBoxInstanceInfo.GetDeclaration();
            declarationList[num++] = RectangleInstanceInfo.GetDeclaration();
            declarationList[num++] = CheckBoxInstanceInfo.GetDeclaration();
            declarationList[num++] = ImageInstanceInfo.GetDeclaration();
            declarationList[num++] = SubReportInstanceInfo.GetDeclaration();
            declarationList[num++] = ActiveXControlInstanceInfo.GetDeclaration();
            declarationList[num++] = ListInstanceInfo.GetDeclaration();
            declarationList[num++] = ListContentInstanceInfo.GetDeclaration();
            declarationList[num++] = MatrixInstanceInfo.GetDeclaration();
            declarationList[num++] = MatrixHeadingInstanceInfo.GetDeclaration();
            declarationList[num++] = MatrixCellInstanceInfo.GetDeclaration();
            declarationList[num++] = TableInstanceInfo.GetDeclaration();
            declarationList[num++] = TableGroupInstanceInfo.GetDeclaration();
            declarationList[num++] = TableRowInstanceInfo.GetDeclaration();
            declarationList[num++] = OWCChartInstanceInfo.GetDeclaration();
            declarationList[num++] = ChartInstanceInfo.GetDeclaration();
            declarationList[num++] = NonComputedUniqueNames.GetDeclaration();
            declarationList[num++] = InstanceInfoOwner.GetDeclaration();
            declarationList[num++] = ReportItemInstance.GetDeclaration();
            num++;
            declarationList[num++] = ReportInstance.GetDeclaration();
            declarationList[num++] = ReportItemColInstance.GetDeclaration();
            declarationList[num++] = LineInstance.GetDeclaration();
            declarationList[num++] = TextBoxInstance.GetDeclaration();
            declarationList[num++] = RectangleInstance.GetDeclaration();
            declarationList[num++] = CheckBoxInstance.GetDeclaration();
            declarationList[num++] = ImageInstance.GetDeclaration();
            declarationList[num++] = SubReportInstance.GetDeclaration();
            declarationList[num++] = ActiveXControlInstance.GetDeclaration();
            declarationList[num++] = ListInstance.GetDeclaration();
            declarationList[num++] = ListContentInstance.GetDeclaration();
            num++;
            declarationList[num++] = MatrixInstance.GetDeclaration();
            declarationList[num++] = MatrixHeadingInstance.GetDeclaration();
            num++;
            declarationList[num++] = MatrixCellInstance.GetDeclaration();
            num++;
            num++;
            declarationList[num++] = TableInstance.GetDeclaration();
            declarationList[num++] = TableRowInstance.GetDeclaration();
            declarationList[num++] = TableColumnInstance.GetDeclaration();
            declarationList[num++] = TableGroupInstance.GetDeclaration();
            num++;
            declarationList[num++] = OWCChartInstance.GetDeclaration();
            declarationList[num++] = ParameterInfo.GetDeclaration();
            num++;
            num++;
            num++;
            declarationList[num++] = InstanceInfo.GetDeclaration();
            num++;
            declarationList[num++] = RecordSetInfo.GetDeclaration();
            declarationList[num++] = RecordRow.GetDeclaration();
            declarationList[num++] = RecordField.GetDeclaration();
            declarationList[num++] = ValidValue.GetDeclaration();
            num++;
            declarationList[num++] = ParameterDataSource.GetDeclaration();
            declarationList[num++] = ParameterDef.GetDeclaration();
            num++;
            declarationList[num++] = ParameterBase.GetDeclaration();
            num++;
            declarationList[num++] = ProcessingMessage.GetDeclaration();
            declarationList[num++] = MatrixSubtotalHeadingInstanceInfo.GetDeclaration();
            declarationList[num++] = MatrixSubtotalCellInstance.GetDeclaration();
            declarationList[num++] = CodeClass.GetDeclaration();
            num++;
            declarationList[num++] = TableDetail.GetDeclaration();
            declarationList[num++] = TableDetailInstance.GetDeclaration();
            num++;
            declarationList[num++] = TableDetailInstanceInfo.GetDeclaration();
            num++;
            declarationList[num++] = Action.GetDeclaration();
            declarationList[num++] = ActionInstance.GetDeclaration();
            declarationList[num++] = Chart.GetDeclaration();
            declarationList[num++] = ChartHeading.GetDeclaration();
            declarationList[num++] = ChartDataPoint.GetDeclaration();
            num++;
            declarationList[num++] = MultiChart.GetDeclaration();
            declarationList[num++] = MultiChartInstance.GetDeclaration();
            num++;
            declarationList[num++] = Axis.GetDeclaration();
            declarationList[num++] = AxisInstance.GetDeclaration();
            declarationList[num++] = ChartTitle.GetDeclaration();
            declarationList[num++] = ChartTitleInstance.GetDeclaration();
            declarationList[num++] = ThreeDProperties.GetDeclaration();
            declarationList[num++] = PlotArea.GetDeclaration();
            declarationList[num++] = Legend.GetDeclaration();
            declarationList[num++] = GridLines.GetDeclaration();
            declarationList[num++] = ChartDataLabel.GetDeclaration();
            declarationList[num++] = ChartInstance.GetDeclaration();
            declarationList[num++] = ChartHeadingInstance.GetDeclaration();
            declarationList[num++] = ChartHeadingInstanceInfo.GetDeclaration();
            num++;
            declarationList[num++] = ChartDataPointInstance.GetDeclaration();
            declarationList[num++] = ChartDataPointInstanceInfo.GetDeclaration();
            num++;
            num++;
            declarationList[num++] = RenderingPagesRanges.GetDeclaration();
            num++;
            declarationList[num++] = IntermediateFormatVersion.GetDeclaration();
            declarationList[num++] = ImageInfo.GetDeclaration();
            declarationList[num++] = ActionItem.GetDeclaration();
            declarationList[num++] = ActionItemInstance.GetDeclaration();
            num++;
            num++;
            declarationList[num++] = DataValue.GetDeclaration();
            declarationList[num++] = DataValueInstance.GetDeclaration();
            num++;
            num++;
            declarationList[num++] = Tablix.GetDeclaration();
            declarationList[num++] = TablixHeading.GetDeclaration();
            declarationList[num++] = CustomReportItem.GetDeclaration();
            declarationList[num++] = CustomReportItemInstance.GetDeclaration();
            declarationList[num++] = CustomReportItemHeading.GetDeclaration();
            declarationList[num++] = CustomReportItemHeadingInstance.GetDeclaration();
            num++;
            num++;
            num++;
            num++;
            declarationList[num++] = CustomReportItemCellInstance.GetDeclaration();
            num++;
            num++;
            declarationList[num++] = DataValueCRIList.GetDeclaration();
            declarationList[num++] = BookmarkInformation.GetDeclaration();
            declarationList[num++] = InstanceInfo.GetDeclaration();
            declarationList[num++] = DrillthroughInformation.GetDeclaration();
            declarationList[num++] = InstanceInfo.GetDeclaration();
            num++;
            declarationList[num++] = CustomReportItemInstanceInfo.GetDeclaration();
            declarationList[num++] = ImageMapAreaInstanceList.GetDeclaration();
            declarationList[num++] = ImageMapAreaInstance.GetDeclaration();
            num++;
            declarationList[num++] = InstanceInfo.GetDeclaration();
            declarationList[num++] = SortFilterEventInfo.GetDeclaration();
            declarationList[num++] = EndUserSort.GetDeclaration();
            num++;
            num++;
            declarationList[num++] = RecordSetPropertyNames.GetDeclaration();
            num++;
            num++;
            num++;
            declarationList[num++] = PageSectionInstance.GetDeclaration();
            num++;
            declarationList[num++] = PageSectionInstanceInfo.GetDeclaration();
            declarationList[num++] = SimpleTextBoxInstanceInfo.GetDeclaration();
            declarationList[num++] = ScopeLookupTable.GetDeclaration();
            num++;
            declarationList[num++] = ReportDrillthroughInfo.GetDeclaration();
            declarationList[num++] = InstanceInfo.GetDeclaration();
            Global.Tracer.Assert(declarationList.Count == num, "(current.Count == index)");
            return(declarationList);
        }