mirror of
https://github.com/github/codeql.git
synced 2025-12-19 02:13:17 +01:00
30 lines
997 B
C#
30 lines
997 B
C#
namespace Semmle.Util
|
|
{
|
|
public sealed class Language
|
|
{
|
|
public static Language Cpp { get; } = new Language("CPP", ".vcxproj");
|
|
public static Language CSharp { get; } = new Language("CSHARP", ".csproj", ".slnx");
|
|
|
|
public bool ProjectFileHasThisLanguage(string path) =>
|
|
System.IO.Path.GetExtension(path) == ProjectExtension;
|
|
|
|
public string ProjectExtension { get; }
|
|
public string? SolutionExtension { get; }
|
|
public string UpperCaseName { get; }
|
|
|
|
private Language(string name, string projectExtension)
|
|
{
|
|
ProjectExtension = projectExtension;
|
|
UpperCaseName = name;
|
|
}
|
|
|
|
private Language(string name, string projectExtension, string solutionExtension) : this(name, projectExtension)
|
|
{
|
|
SolutionExtension = solutionExtension;
|
|
}
|
|
|
|
public override string ToString() =>
|
|
ProjectExtension == Cpp.ProjectExtension ? "C/C++" : "C#";
|
|
}
|
|
}
|