Inheritance: ReportMainItem
        void ParseMain(MainItemTag tag, uint value)
        {
            LocalIndexes indexes = null;

            switch (tag)
            {
            case MainItemTag.Collection:
                ReportCollection collection = new ReportCollection();
                collection.Parent = CurrentCollection;
                collection.Type   = (CollectionType)value;
                CurrentCollection = collection;
                indexes           = collection.Indexes;
                break;

            case MainItemTag.EndCollection:
                CurrentCollection = CurrentCollection.Parent;
                break;

            case MainItemTag.Input:
            case MainItemTag.Output:
            case MainItemTag.Feature:
                ParseDataMain(tag, value, out indexes);
                break;
            }

            if (indexes != null)
            {
                ParseMainIndexes(indexes);
            }
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="ReportDescriptorParser"/> class.
 /// </summary>
 public ReportDescriptorParser()
 {
     RootCollection       = new ReportCollection();
     GlobalItemStateStack = new List <IDictionary <GlobalItemTag, EncodedItem> > ();
     LocalItemState       = new List <KeyValuePair <LocalItemTag, uint> > ();
     Reports = new List <Report> ();
     Clear();
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="ReportDescriptorParser"/> class.
 /// </summary>
 public ReportDescriptorParser()
 {
     RootCollection = new ReportCollection();
     GlobalItemStateStack = new List<IDictionary<GlobalItemTag, EncodedItem>>();
     LocalItemState = new List<KeyValuePair<LocalItemTag, uint>>();
     Reports = new List<Report>();
     Clear();
 }
        void ParseMain(MainItemTag tag, uint value)
        {
            LocalIndexes indexes = null;

            switch (tag)
            {
                case MainItemTag.Collection:
                    ReportCollection collection = new ReportCollection();
                    collection.Parent = CurrentCollection;
                    collection.Type = (CollectionType)value;
                    CurrentCollection = collection;
                    indexes = collection.Indexes; break;

                case MainItemTag.EndCollection:
                    CurrentCollection = CurrentCollection.Parent; break;

                case MainItemTag.Input:
                case MainItemTag.Output:
                case MainItemTag.Feature:
                    ParseDataMain(tag, value, out indexes); break;
            }

            if (indexes != null) { ParseMainIndexes(indexes); }
        }