2 types derived from CSharpDirective
dotnet (2)
FileLevelDirectiveHelpers.cs (2)
355public sealed class Shebang(in ParseInfo info) : CSharpDirective(info) 360public abstract class Named(in ParseInfo info) : CSharpDirective(info)
88 references to CSharpDirective
dotnet (54)
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)
79var directive = directives[i]; 80if (directive is CSharpDirective.Package p &&
Commands\Project\Convert\ProjectConvertCommand.cs (5)
168ImmutableArray<CSharpDirective> UpdateDirectives(ImmutableArray<CSharpDirective> directives) 170var result = ImmutableArray.CreateBuilder<CSharpDirective>(directives.Length); 172foreach (var directive in directives) 175if (directive is CSharpDirective.Project project &&
Commands\Run\FileBasedAppSourceEditor.cs (10)
31public ImmutableArray<CSharpDirective> Directives 80public void Add(CSharpDirective directive) 86private TextChange DetermineAddChange(CSharpDirective directive) 90var named = directive as CSharpDirective.Named; 92Directives.OfType<CSharpDirective.Named>().FirstOrDefault(d => NamedDirectiveComparer.Instance.Equals(d, named)) is { } toReplace) 99CSharpDirective? addAfter = null; 100foreach (var existingDirective in Directives) 106existingDirective is CSharpDirective.Named existingNamed && 229public void Remove(CSharpDirective directive) 237private static int DetermineTrailingLengthToRemove(CSharpDirective directive)
Commands\Run\RunTelemetry.cs (8)
147public static int CountSdks(ImmutableArray<CSharpDirective> directives) 155var sdkDirectives = directives.OfType<CSharpDirective.Sdk>().Count(); 165public static int CountPackageReferences(ImmutableArray<CSharpDirective> directives) 173return directives.OfType<CSharpDirective.Package>().Count(); 181public static int CountProjectReferences(ImmutableArray<CSharpDirective> directives) 189return directives.OfType<CSharpDirective.Project>().Count(); 217public static int CountAdditionalProperties(ImmutableArray<CSharpDirective> directives) 224return directives.OfType<CSharpDirective.Property>().Count();
Commands\Run\VirtualProjectBuildingCommand.cs (13)
168public ImmutableArray<CSharpDirective> Directives 462if (Directives.Any(static d => d is CSharpDirective.Project)) 704.Where(static d => d is not CSharpDirective.Shebang) 1142ImmutableArray<CSharpDirective> directives, 1155var sdkDirectives = directives.OfType<CSharpDirective.Sdk>(); 1156var propertyDirectives = directives.OfType<CSharpDirective.Property>(); 1157var packageDirectives = directives.OfType<CSharpDirective.Package>(); 1158var projectDirectives = directives.OfType<CSharpDirective.Project>(); 1384Debug.Assert(processedDirectives + directives.OfType<CSharpDirective.Shebang>().Count() == directives.Length); 1431static void WriteImport(TextWriter writer, string project, CSharpDirective.Sdk sdk) 1448public static SourceText? RemoveDirectivesFromFile(ImmutableArray<CSharpDirective> directives, SourceText text) 1459var directive = directives[i]; 1466public static void RemoveDirectivesFromFile(ImmutableArray<CSharpDirective> directives, SourceText text, string filePath)
FileLevelDirectiveHelpers.cs (14)
43public static ImmutableArray<CSharpDirective> FindDirectives(SourceFile sourceFile, bool reportAllErrors, DiagnosticBag diagnostics) 45var builder = ImmutableArray.CreateBuilder<CSharpDirective>(); 94ImmutableArray<CSharpDirective>.Builder? builder) 98var deduplicated = new Dictionary<CSharpDirective.Named, CSharpDirective.Named>(NamedDirectiveComparer.Instance); 122var info = new CSharpDirective.ParseInfo 128builder?.Add(new CSharpDirective.Shebang(info)); 143var context = new CSharpDirective.ParseContext 163if (CSharpDirective.Parse(context) is { } directive) 281internal abstract class CSharpDirective(in CSharpDirective.ParseInfo info) 549internal sealed class NamedDirectiveComparer : IEqualityComparer<CSharpDirective.Named> 555public bool Equals(CSharpDirective.Named? x, CSharpDirective.Named? y) 565public int GetHashCode(CSharpDirective.Named obj)
dotnet.Tests (34)
CommandTests\Run\FileBasedAppSourceEditorTests.cs (21)
28(static editor => editor.Add(new CSharpDirective.Package(default) { Name = "MyPackage", Version = "1.0.0" }), 42(static editor => editor.Add(new CSharpDirective.Package(default) { Name = "MyPackage", Version = "1.0.0" }), 61(static editor => editor.Add(new CSharpDirective.Package(default) { Name = "MyPackage", Version = "1.0.0" }), 81(static editor => editor.Add(new CSharpDirective.Package(default) { Name = "MyPackage", Version = "1.0.0" }), 99(static editor => editor.Add(new CSharpDirective.Package(default) { Name = "MyPackage", Version = "1.0.0" }), 125(static editor => editor.Add(new CSharpDirective.Package(default) { Name = "MyPackage", Version = "1.0.0" }), 161(static editor => editor.Add(new CSharpDirective.Package(default) { Name = "MyPackage", Version = "1.0.0" }), 187(static editor => editor.Add(new CSharpDirective.Package(default) { Name = "MyPackage", Version = "1.0.0" }), 211(static editor => editor.Add(new CSharpDirective.Package(default) { Name = "MyPackage", Version = "1.0.0" }), 234(static editor => editor.Add(new CSharpDirective.Package(default) { Name = "MyPackage", Version = "1.0.0" }), 254(static editor => editor.Add(new CSharpDirective.Package(default) { Name = "MyPackage", Version = "1.0.0" }), 282(static editor => editor.Add(new CSharpDirective.Package(default) { Name = "MyPackage", Version = "1.0.0" }), 313(static editor => editor.Add(new CSharpDirective.Package(default) { Name = "MyPackage", Version = "1.0.0" }), 338(static editor => editor.Add(new CSharpDirective.Package(default) { Name = "MyPackage", Version = "1.0.0" }), 367(static editor => editor.Add(new CSharpDirective.Package(default) { Name = "Test", Version = "1.0.0" }), 399(static editor => editor.Add(new CSharpDirective.Package(default) { Name = "MyPackage", Version = "1.0.0" }), 425(static editor => editor.Add(new CSharpDirective.Package(default) { Name = "MyPackage", Version = "1.0.0" }), 452(static editor => editor.Add(new CSharpDirective.Package(default) { Name = "MyPackage", Version = "1.0.0" }), 481(static editor => editor.Add(new CSharpDirective.Package(default) { Name = "MyPackage", Version = "1.0.0" }), 510editor.Remove(editor.Directives.OfType<CSharpDirective.Package>().First()); 511editor.Remove(editor.Directives.OfType<CSharpDirective.Package>().First());
CommandTests\Run\RunTelemetryTests.cs (13)
72var directives = ImmutableArray.Create<CSharpDirective>( 73new CSharpDirective.Sdk(default) { Name = "Microsoft.NET.Sdk" }, 74new CSharpDirective.Sdk(default) { Name = "Microsoft.NET.Sdk.Web", Version = "1.0.0" } 88var directives = ImmutableArray<CSharpDirective>.Empty; 101var directives = ImmutableArray.Create<CSharpDirective>( 102new CSharpDirective.Package(default) { Name = "Newtonsoft.Json", Version = "13.0.1" }, 103new CSharpDirective.Package(default) { Name = "Microsoft.Extensions.DependencyInjection" } 117var directives = ImmutableArray.Create<CSharpDirective>( 118new CSharpDirective.Project(default) { Name = "../lib/Library.csproj" }, 119new CSharpDirective.Project(default) { Name = "../common/Common.csproj" } 133var directives = ImmutableArray.Create<CSharpDirective>( 134new CSharpDirective.Property(default) { Name = "TargetFramework", Value = "net8.0" }, 135new CSharpDirective.Property(default) { Name = "Nullable", Value = "enable" }