void AddToListEnlarge(TAlternativeParserGrpCrossItemEnlarge AItem) { if (f_ListEnlarge.IndexOf(AItem) == -1) { f_ListEnlarge.Add(AItem); } }
public void FillBasisFromEnlarge(TAlternativeParserGrpCrossItemEnlarge AEnl) { for (int i = 0; i <= AEnl.Count - 1; i++) { BasisAdd(AEnl.GetItems(i).TFS); } }
void ReplaceToEnlarge(TAlternativeParserGrpCrossItemEnlarge AE) { int index = f_Basis.IndexOf(AE.Pos); f_Basis.Insert(index, AE); for (int i = 0; i <= AE.Count - 1; i++) { index = f_Basis.IndexOf(AE.GetItems(i)); if (index >= 0) { f_Basis.RemoveAt(index); } } }
public TAlternativeParserGrpCrossItemEnlarge RestructEnlarge(TAlternativeParserEnlargerTrashItem ATrash) { TAlternativeParserGrpItemTFS Tfs; TAlternativeParserGrpItemBase Base; TAlternativeParserGrpCrossItemOut Outs; TAlternativeParserGrpCrossItemEnlarge Enl = null; for (int i = 0; i <= CountBasis - 1; i++) { Base = GetItemsBasis(i); if ((Base.Who() == 0) && (Base == ATrash.Pos)) { Enl = new TAlternativeParserGrpCrossItemEnlarge(); Enl.ID = ATrash.ID; for (int j = i; j <= i + ATrash.Length - 1; j++) { Enl.AddGRPTfs((TAlternativeParserGrpItemTFS)(GetItemsBasis(j))); } ReplaceToEnlarge(Enl); } } for (int i = 0; i <= CountOut - 1; i++) { Outs = GetItemsOut(i); for (int j = 0; j <= Outs.Count - 1; j++) { Base = Outs.GetItems(j); if ((Base.Who() == 0) && (Base == ATrash.Pos)) { if (Enl == null) { Enl = new TAlternativeParserGrpCrossItemEnlarge(); Enl.ID = ATrash.ID; for (int k = j; k <= j + ATrash.Length - 1; k++) { object tmp = Outs.GetItems(k); Enl.AddGRPTfs((TAlternativeParserGrpItemTFS)tmp); } } Outs.ReplaceToEnlarge(Enl); } } } return(Enl); }