4 implementations of IMSBuildGlob
Microsoft.Build (4)
Globbing\CompositeGlob.cs (2)
15public class CompositeGlob : IMSBuildGlob 140private sealed class NeverMatchingGlob : IMSBuildGlob
Globbing\MSBuildGlob.cs (1)
24public class MSBuildGlob : IMSBuildGlob
Globbing\MSBuildGlobWithGaps.cs (1)
23public class MSBuildGlobWithGaps : IMSBuildGlob
51 references to IMSBuildGlob
Microsoft.Build (51)
BackEnd\Shared\BuildRequestConfiguration.cs (1)
864var glob = CompositeGlob.Create(
Definition\Project.cs (16)
910/// <see cref="GlobResult.MsBuildGlob"/> is a <see cref="IMSBuildGlob"/> that combines all globs in the include element and ignores 2529private ImmutableList<IMSBuildGlob>.Builder _globs; 2532public IEnumerable<IMSBuildGlob> Globs => _globs.ToImmutable(); 2539_globs = ImmutableList.CreateBuilder<IMSBuildGlob>(), 2547var removeGlob = removeSpec.ToMSBuildGlob(); 2637var includeGlob = CompositeGlob.Create(includeGlobFragmentsList.Select(f => f.ToMSBuildGlob())); 2640IMSBuildGlob excludeGlob = null; 2651IMSBuildGlob removeGlob = null; 2659var includeGlobWithGaps = CreateIncludeGlobWithGaps(includeGlob, excludeGlob, removeGlob); 2664private static IMSBuildGlob CreateIncludeGlobWithGaps(IMSBuildGlob includeGlob, IMSBuildGlob excludeGlob, IMSBuildGlob removeGlob) 4689/// A <see cref="IMSBuildGlob"/> representing the include globs. It also takes the excludes and relevant removes into consideration. 4691public IMSBuildGlob MsBuildGlob { get; set; } 4706public GlobResult(ProjectItemElement itemElement, IEnumerable<string> includeGlobStrings, IMSBuildGlob globWithGaps, IEnumerable<string> excludeFragmentStrings, IEnumerable<string> removeFragmentStrings)
Evaluation\ItemSpec.cs (9)
41private IMSBuildGlob _msbuildGlob; 55protected override IMSBuildGlob MsBuildGlob 96public override IMSBuildGlob ToMSBuildGlob() 101protected override IMSBuildGlob CreateMsBuildGlob() 378public IMSBuildGlob ToMSBuildGlob() 428private IMSBuildGlob _msbuildGlob; 456protected virtual IMSBuildGlob MsBuildGlob => _msbuildGlob ??= CreateMsBuildGlob(); 490public virtual IMSBuildGlob ToMSBuildGlob() 495protected virtual IMSBuildGlob CreateMsBuildGlob()
Globbing\CompositeGlob.cs (13)
17private readonly ImmutableArray<IMSBuildGlob> _globs; 22public IEnumerable<IMSBuildGlob> Globs => _globs; 28public CompositeGlob(IEnumerable<IMSBuildGlob> globs) 36public CompositeGlob(params IMSBuildGlob[] globs) 45internal CompositeGlob(IMSBuildGlob glob1, IMSBuildGlob glob2) 53private CompositeGlob(ImmutableArray<IMSBuildGlob> globs) 68/// Creates an <see cref="IMSBuildGlob"/> that aggregates multiple other globs 83public static IMSBuildGlob Create(IEnumerable<IMSBuildGlob> globs) 87if (globs is ImmutableArray<IMSBuildGlob> immutableGlobs) 111var first = enumerator.Current; 124var builder = ImmutableArray.CreateBuilder<IMSBuildGlob>();
Globbing\Extensions\MSBuildGlobExtensions.cs (2)
10/// Extensions for <see cref="IMSBuildGlob"/> 19public static IEnumerable<MSBuildGlob> GetParsedGlobs(this IMSBuildGlob glob)
Globbing\MSBuildGlobWithGaps.cs (8)
28public IMSBuildGlob MainGlob { get; } 33public IMSBuildGlob Gaps { get; } 40internal MSBuildGlobWithGaps(IMSBuildGlob mainGlob, IMSBuildGlob gaps) 54public MSBuildGlobWithGaps(IMSBuildGlob mainGlob, IEnumerable<IMSBuildGlob> gaps) 68public MSBuildGlobWithGaps(IMSBuildGlob mainGlob, params IMSBuildGlob[] gaps) : this(mainGlob, gaps.AsEnumerable())
Globbing\Visitor\GlobVisitor.cs (2)
8public void Visit(IMSBuildGlob glob) 19foreach (var globPart in compositeGlob.Globs)