File: Linker\ArrayBuilder.cs
Web Access
Project: src\src\tools\illink\src\linker\Mono.Linker.csproj (illink)
// Copyright (c) .NET Foundation and contributors. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
 
using System;
using System.Collections.Generic;
 
namespace Mono.Linker
{
    struct ArrayBuilder<T>
    {
        private List<T> _list;
 
        public void Add(T value) => (_list ??= new List<T>()).Add(value);
 
        public bool Any(Predicate<T> callback) => _list?.Exists(callback) == true;
 
        public T[]? ToArray() => _list?.ToArray();
 
        public int Count => _list?.Count ?? 0;
    }
}