| File: Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\ProjectItems.g.cs | |
| Project: Microsoft.NET.ProjectData.Tasks.csproj (Microsoft.NET.ProjectData.Tasks) |
// <auto-generated/> // Generated from project-data-schema.json by DataModelSchemaGenerator. using System.Collections.Generic; namespace Microsoft.NET.ProjectData.Tasks; /// <summary>Strongly-typed constants for Data Model item types and metadata.</summary> internal static class ProjectItems { /// <summary>Source files included in compilation.</summary> public static class Compile { public const string ItemType = "Compile"; public const string Link = "Link"; } /// <summary>Assembly references.</summary> public static class MetadataReference { public const string ItemType = "MetadataReference"; public const string Aliases = "aliases"; public const string EmbedInteropTypes = "embedInteropTypes"; } /// <summary>Roslyn analyzer assemblies.</summary> public const string AnalyzerReference = "AnalyzerReference"; /// <summary>EditorConfig and global analyzer config files.</summary> public const string AnalyzerConfigFile = "AnalyzerConfigFile"; /// <summary>Additional files passed to analyzers.</summary> public const string AdditionalFile = "AdditionalFile"; /// <summary>Project-to-project references.</summary> public static class ProjectReference { public const string ItemType = "ProjectReference"; public const string ReferenceOutputAssembly = "ReferenceOutputAssembly"; } /// <summary>Compiler command-line arguments.</summary> public const string CommandLineArgument = "CommandLineArgument"; /// <summary>Embedded resource files (.resx, etc.).</summary> public static class EmbeddedResource { public const string ItemType = "EmbeddedResource"; public const string Generator = "Generator"; public const string LastGenOutput = "LastGenOutput"; public const string CustomToolNamespace = "CustomToolNamespace"; } public static readonly string[] AllItemTypes = ["Compile", "MetadataReference", "AnalyzerReference", "AnalyzerConfigFile", "AdditionalFile", "ProjectReference", "CommandLineArgument", "EmbeddedResource"]; /// <summary>Item types that must be present (even if empty) in every valid snapshot.</summary> public static readonly string[] RequiredItemTypes = ["Compile", "MetadataReference", "AnalyzerReference", "ProjectReference", "CommandLineArgument"]; /// <summary> /// Every metadata key the writer can emit on any item (the union across all item /// types). Used by forward-compatibility preservation to tell a known <c>@metadata</c> /// line from one written by a newer version that must be carried through losslessly. /// </summary> public static readonly string[] AllMetadata = ["Link", "aliases", "embedInteropTypes", "ReferenceOutputAssembly", "Generator", "LastGenOutput", "CustomToolNamespace"]; /// <summary> /// Metadata keys the writer can emit, grouped by the item type that carries them (NOT a /// flattened union). Forward-compatibility preservation uses this to decide what is /// "known" <em>per item type</em>, so a newer version that reuses an existing metadata /// name on a different item type is still treated as unknown and carried through losslessly. /// </summary> public static readonly Dictionary<string, string[]> MetadataByItemType = new(System.StringComparer.Ordinal) { ["Compile"] = ["Link"], ["MetadataReference"] = ["aliases", "embedInteropTypes"], ["ProjectReference"] = ["ReferenceOutputAssembly"], ["EmbeddedResource"] = ["Generator", "LastGenOutput", "CustomToolNamespace"], }; }