/// <inheritdoc/> public override void VisitListType(IListType listType) { if (listType.ElementType == null) { // A list has been declared with no element type specified. For example: // ``` // struct User { // 1: list<> Emails // } // ``` this.AddError( CompilerMessageId.ListMustHaveElementTypeSpecified, listType.Node.LIST().Symbol, listType.Node.GT_OPERATOR()?.Symbol ?? listType.Node.LIST().Symbol); } base.VisitListType(listType); }
/// <inheritdoc/> public virtual void VisitListType(IListType listType) { }
public static List <IListType> AddEveryOften(this IEnumerable <IListType> collectionList, int everyOften, int maxNumberToShow, IListType itemToAdd, int startAt = 0, bool addAsFirstItem = false) { var list = collectionList.ToList(); if (list.IsNullOrEmpty()) { return(new List <IListType>()); } var itemsAdded = 0; var numberOfItemsToAdd = Math.Floor((decimal)list.Count / everyOften); for (var i = 0; i < numberOfItemsToAdd; i++) { var multiplyValue = addAsFirstItem && startAt > 0 ? i : i + 1; var addAt = addAsFirstItem && i == 0 ? startAt : (multiplyValue * everyOften) + startAt; if (addAt > list.Count) { break; } list.Insert(addAt, itemToAdd); itemsAdded++; if (itemsAdded == maxNumberToShow) { break; } } return(list); }