예제 #1
0
 /* public:
  *     TAlternativeParserGrpCrossItemOut();
  *    ~TAlternativeParserGrpCrossItemOut();*/
 public void AddItem(TAlternativeParserGrpItemBase AItem)
 {
     if (f_List.IndexOf(AItem) < 0)
     {
         f_List.Add(AItem);
     }
 }
예제 #2
0
        void FreeItem(TAlternativeParserGrpItemBase AItem)
        {
            TAlternativeParserGrpItemBase Del;
            int index = f_List.IndexOf(AItem);

            if (index >= 0)
            {
                f_List.RemoveAt(index);
            }
        }
예제 #3
0
        void FillItemGrp(TAlternativeParserGrpItemBase AItem, ref TAlternativeParserItemBig ABig)
        {
            TAlternativeParserGrpItemTFS          GTfs;
            TAlternativeParserGrpItemList         GList;
            TAlternativeParserItemTFS             mTfs;
            TAlternativeParserItemBig             mBig;
            TAlternativeParserGrpCrossItemEnlarge Enl;

            int m_who = AItem.Who();

            if (m_who == 0)
            {
                GTfs          = (TAlternativeParserGrpItemTFS)(AItem);
                mTfs          = new TAlternativeParserItemTFS();
                mTfs.TFS      = GTfs.TFS;
                mTfs.OwnerBig = ABig;
                ABig.MainList.Append(mTfs);
            }
            if (m_who == 1)
            {
                GList = (TAlternativeParserGrpItemList)(AItem);
                mBig  = new TAlternativeParserItemBig();
                mBig.FillBasisFromGrpItemList(GList);
                mBig.OwnerBig = ABig;
                ABig.MainList.Append(mBig);
                mBig.BadBasis = ABig.Cross;
            }
            if (m_who == 2)
            {
                CrossToBigs((TAlternativeParserGrpCrossItem)(AItem), ABig);
            }
            if (m_who == 3)
            {
                Enl          = (TAlternativeParserGrpCrossItemEnlarge)(AItem);
                mBig         = new TAlternativeParserItemBig();
                mBig.Enlarge = Enl.ID;
                mBig.FillBasisFromEnlarge(Enl);
                mBig.OwnerBig = ABig;
                ABig.MainList.Append(mBig);
            }
        }