4 implementations of IMSBuildGlob
Microsoft.Build (4)
Globbing\CompositeGlob.cs (2)
18public class CompositeGlob : IMSBuildGlob 143private sealed class NeverMatchingGlob : IMSBuildGlob
Globbing\MSBuildGlob.cs (1)
23public class MSBuildGlob : IMSBuildGlob
Globbing\MSBuildGlobWithGaps.cs (1)
25public class MSBuildGlobWithGaps : IMSBuildGlob
59 references to IMSBuildGlob
Microsoft.Build (51)
BackEnd\Shared\BuildRequestConfiguration.cs (1)
839var glob = CompositeGlob.Create(
Definition\Project.cs (16)
904/// <see cref="GlobResult.MsBuildGlob"/> is a <see cref="IMSBuildGlob"/> that combines all globs in the include element and ignores 2534private ImmutableList<IMSBuildGlob>.Builder _globs; 2537public IEnumerable<IMSBuildGlob> Globs => _globs.ToImmutable(); 2544_globs = ImmutableList.CreateBuilder<IMSBuildGlob>(), 2552var removeGlob = removeSpec.ToMSBuildGlob(); 2628var includeGlob = CompositeGlob.Create(includeGlobFragments.Select(f => f.ToMSBuildGlob())); 2631IMSBuildGlob excludeGlob = null; 2642IMSBuildGlob removeGlob = null; 2650var includeGlobWithGaps = CreateIncludeGlobWithGaps(includeGlob, excludeGlob, removeGlob); 2655private static IMSBuildGlob CreateIncludeGlobWithGaps(IMSBuildGlob includeGlob, IMSBuildGlob excludeGlob, IMSBuildGlob removeGlob) 4653/// A <see cref="IMSBuildGlob"/> representing the include globs. It also takes the excludes and relevant removes into consideration. 4655public IMSBuildGlob MsBuildGlob { get; set; } 4670public 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)
20private readonly ImmutableArray<IMSBuildGlob> _globs; 25public IEnumerable<IMSBuildGlob> Globs => _globs; 31public CompositeGlob(IEnumerable<IMSBuildGlob> globs) 39public CompositeGlob(params IMSBuildGlob[] globs) 48internal CompositeGlob(IMSBuildGlob glob1, IMSBuildGlob glob2) 56private CompositeGlob(ImmutableArray<IMSBuildGlob> globs) 71/// Creates an <see cref="IMSBuildGlob"/> that aggregates multiple other globs 86public static IMSBuildGlob Create(IEnumerable<IMSBuildGlob> globs) 90if (globs is ImmutableArray<IMSBuildGlob> immutableGlobs) 114var first = enumerator.Current; 127var builder = ImmutableArray.CreateBuilder<IMSBuildGlob>();
Globbing\Extensions\MSBuildGlobExtensions.cs (2)
12/// Extensions for <see cref="IMSBuildGlob"/> 21public static IEnumerable<MSBuildGlob> GetParsedGlobs(this IMSBuildGlob glob)
Globbing\MSBuildGlobWithGaps.cs (8)
30public IMSBuildGlob MainGlob { get; } 35public IMSBuildGlob Gaps { get; } 42internal MSBuildGlobWithGaps(IMSBuildGlob mainGlob, IMSBuildGlob gaps) 56public MSBuildGlobWithGaps(IMSBuildGlob mainGlob, IEnumerable<IMSBuildGlob> gaps) 70public MSBuildGlobWithGaps(IMSBuildGlob mainGlob, params IMSBuildGlob[] gaps) : this(mainGlob, gaps.AsEnumerable())
Globbing\Visitor\GlobVisitor.cs (2)
10public void Visit(IMSBuildGlob glob) 21foreach (var globPart in compositeGlob.Globs)
Microsoft.Build.Engine.OM.UnitTests (1)
Definition\Project_Tests.cs (1)
3739var uberGlob = CompositeGlob.Create(getAllGlobsResult.Select(r => r.MsBuildGlob));
Microsoft.Build.Engine.UnitTests (7)
Evaluation\ItemSpec_Tests.cs (2)
32var itemSpecGlob = itemSpec.ToMSBuildGlob(); 72var itemSpecGlob = itemSpec.ToMSBuildGlob();
Globbing\CompositeGlob_Tests.cs (4)
144IMSBuildGlob composite = CompositeGlob.Create(Enumerable.Empty<IMSBuildGlob>()); 154IMSBuildGlob composite = CompositeGlob.Create(new[] { glob }); 165IMSBuildGlob result = CompositeGlob.Create(new[] { glob1, glob2 });
Globbing\MSBuildGlobWithGaps_Tests.cs (1)
18var glob = new MSBuildGlobWithGaps(MSBuildGlob.Parse("a*"), Enumerable.Empty<IMSBuildGlob>());