2 types derived from CSharpDirective
dotnet (2)
Commands\Run\VirtualProjectBuildingCommand.cs (2)
1755public sealed class Shebang(in ParseInfo info) : CSharpDirective(info) 1760public abstract class Named(in ParseInfo info) : CSharpDirective(info)
78 references to CSharpDirective
dotnet (46)
Commands\Package\Add\PackageAddCommand.cs (2)
256editor.Add(new CSharpDirective.Package(default) { Name = _packageId.Id, Version = version }); 268editor.Add(new CSharpDirective.Package(default) { Name = _packageId.Id, Version = value });
Commands\Package\Remove\PackageRemoveCommand.cs (2)
78var directive = directives[i]; 79if (directive is CSharpDirective.Package p &&
Commands\Run\FileBasedAppSourceEditor.cs (9)
30public ImmutableArray<CSharpDirective> Directives 79public void Add(CSharpDirective directive) 85private TextChange DetermineAddChange(CSharpDirective directive) 89if (directive is CSharpDirective.Named named && 90Directives.OfType<CSharpDirective.Named>().FirstOrDefault(d => NamedDirectiveComparer.Instance.Equals(d, named)) is { } toReplace) 97CSharpDirective? addAfter = null; 98foreach (var existingDirective in Directives) 214public void Remove(CSharpDirective directive) 222private static int DetermineTrailingLengthToRemove(CSharpDirective directive)
Commands\Run\RunTelemetry.cs (8)
142public static int CountSdks(ImmutableArray<CSharpDirective> directives) 150var sdkDirectives = directives.OfType<CSharpDirective.Sdk>().Count(); 160public static int CountPackageReferences(ImmutableArray<CSharpDirective> directives) 168return directives.OfType<CSharpDirective.Package>().Count(); 176public static int CountProjectReferences(ImmutableArray<CSharpDirective> directives) 184return directives.OfType<CSharpDirective.Project>().Count(); 212public static int CountAdditionalProperties(ImmutableArray<CSharpDirective> directives) 219return directives.OfType<CSharpDirective.Property>().Count();
Commands\Run\VirtualProjectBuildingCommand.cs (25)
166public ImmutableArray<CSharpDirective> Directives 457if (Directives.Any(static d => d is CSharpDirective.Project)) 699.Where(static d => d is not CSharpDirective.Shebang) 1137ImmutableArray<CSharpDirective> directives, 1145var sdkDirectives = directives.OfType<CSharpDirective.Sdk>(); 1146var propertyDirectives = directives.OfType<CSharpDirective.Property>(); 1147var packageDirectives = directives.OfType<CSharpDirective.Package>(); 1148var projectDirectives = directives.OfType<CSharpDirective.Project>(); 1343Debug.Assert(processedDirectives + directives.OfType<CSharpDirective.Shebang>().Count() == directives.Length); 1390static void WriteImport(TextWriter writer, string project, CSharpDirective.Sdk sdk) 1422public static ImmutableArray<CSharpDirective> FindDirectives(SourceFile sourceFile, bool reportAllErrors, DiagnosticBag diagnostics) 1424var deduplicated = new HashSet<CSharpDirective.Named>(NamedDirectiveComparer.Instance); 1425var builder = ImmutableArray.CreateBuilder<CSharpDirective>(); 1451var info = new CSharpDirective.ParseInfo 1457builder.Add(new CSharpDirective.Shebang(info)); 1472var context = new CSharpDirective.ParseContext 1485if (CSharpDirective.Parse(context) is { } directive) 1582public static SourceText? RemoveDirectivesFromFile(ImmutableArray<CSharpDirective> directives, SourceText text) 1593var directive = directives[i]; 1600public static void RemoveDirectivesFromFile(ImmutableArray<CSharpDirective> directives, SourceText text, string filePath) 1689internal abstract class CSharpDirective(in CSharpDirective.ParseInfo info) 1905internal sealed class NamedDirectiveComparer : IEqualityComparer<CSharpDirective.Named> 1911public bool Equals(CSharpDirective.Named? x, CSharpDirective.Named? y) 1921public int GetHashCode(CSharpDirective.Named obj)
dotnet.Tests (32)
CommandTests\Run\FileBasedAppSourceEditorTests.cs (19)
27(static editor => editor.Add(new CSharpDirective.Package(default) { Name = "MyPackage", Version = "1.0.0" }), 41(static editor => editor.Add(new CSharpDirective.Package(default) { Name = "MyPackage", Version = "1.0.0" }), 60(static editor => editor.Add(new CSharpDirective.Package(default) { Name = "MyPackage", Version = "1.0.0" }), 80(static editor => editor.Add(new CSharpDirective.Package(default) { Name = "MyPackage", Version = "1.0.0" }), 98(static editor => editor.Add(new CSharpDirective.Package(default) { Name = "MyPackage", Version = "1.0.0" }), 124(static editor => editor.Add(new CSharpDirective.Package(default) { Name = "MyPackage", Version = "1.0.0" }), 160(static editor => editor.Add(new CSharpDirective.Package(default) { Name = "MyPackage", Version = "1.0.0" }), 186(static editor => editor.Add(new CSharpDirective.Package(default) { Name = "MyPackage", Version = "1.0.0" }), 210(static editor => editor.Add(new CSharpDirective.Package(default) { Name = "MyPackage", Version = "1.0.0" }), 233(static editor => editor.Add(new CSharpDirective.Package(default) { Name = "MyPackage", Version = "1.0.0" }), 253(static editor => editor.Add(new CSharpDirective.Package(default) { Name = "MyPackage", Version = "1.0.0" }), 281(static editor => editor.Add(new CSharpDirective.Package(default) { Name = "MyPackage", Version = "1.0.0" }), 312(static editor => editor.Add(new CSharpDirective.Package(default) { Name = "MyPackage", Version = "1.0.0" }), 337(static editor => editor.Add(new CSharpDirective.Package(default) { Name = "MyPackage", Version = "1.0.0" }), 359(static editor => editor.Add(new CSharpDirective.Package(default) { Name = "MyPackage", Version = "1.0.0" }), 385(static editor => editor.Add(new CSharpDirective.Package(default) { Name = "MyPackage", Version = "1.0.0" }), 414(static editor => editor.Add(new CSharpDirective.Package(default) { Name = "MyPackage", Version = "1.0.0" }), 443editor.Remove(editor.Directives.OfType<CSharpDirective.Package>().First()); 444editor.Remove(editor.Directives.OfType<CSharpDirective.Package>().First());
CommandTests\Run\RunTelemetryTests.cs (13)
71var directives = ImmutableArray.Create<CSharpDirective>( 72new CSharpDirective.Sdk(default) { Name = "Microsoft.NET.Sdk" }, 73new CSharpDirective.Sdk(default) { Name = "Microsoft.NET.Sdk.Web", Version = "1.0.0" } 87var directives = ImmutableArray<CSharpDirective>.Empty; 100var directives = ImmutableArray.Create<CSharpDirective>( 101new CSharpDirective.Package(default) { Name = "Newtonsoft.Json", Version = "13.0.1" }, 102new CSharpDirective.Package(default) { Name = "Microsoft.Extensions.DependencyInjection" } 116var directives = ImmutableArray.Create<CSharpDirective>( 117new CSharpDirective.Project(default) { Name = "../lib/Library.csproj" }, 118new CSharpDirective.Project(default) { Name = "../common/Common.csproj" } 132var directives = ImmutableArray.Create<CSharpDirective>( 133new CSharpDirective.Property(default) { Name = "TargetFramework", Value = "net8.0" }, 134new CSharpDirective.Property(default) { Name = "Nullable", Value = "enable" }