Browse Source

GeneratorKind: add Name property + refactor hardcoded names

pull/1794/head
Deadlocklogic 3 years ago
parent
commit
8e39681190
  1. 17
      src/CLI/Generator.cs
  2. 26
      src/Generator/GeneratorKind.cs

17
src/CLI/Generator.cs

@ -198,7 +198,7 @@ namespace CppSharp @@ -198,7 +198,7 @@ namespace CppSharp
public void Run()
{
var messageBuilder = new StringBuilder();
messageBuilder.Append($"Generating {GetGeneratorKindName(options.Kind)}");
messageBuilder.Append($"Generating {options.Kind.Name}");
messageBuilder.Append($" bindings for {GetPlatformName(options.Platform)} {options.Architecture}");
if (options.Cpp11ABI)
@ -225,20 +225,5 @@ namespace CppSharp @@ -225,20 +225,5 @@ namespace CppSharp
return platform.ToString();
}
}
private static string GetGeneratorKindName(GeneratorKind kind)
{
switch (kind)
{
case var _ when ReferenceEquals(kind, GeneratorKind.CLI):
return "C++/CLI";
case var _ when ReferenceEquals(kind, GeneratorKind.CSharp):
return "C#";
case var _ when ReferenceEquals(kind, GeneratorKind.NAPI):
return "N-API";
default:
return kind.ToString();
}
}
}
}

26
src/Generator/GeneratorKind.cs

@ -18,9 +18,10 @@ namespace CppSharp.Generators @@ -18,9 +18,10 @@ namespace CppSharp.Generators
private static readonly HashSet<string> s_registeredIDSet = new();
public string ID { get; }
public string Name { get; }
public System.Type Type { get; }
public GeneratorKind(string id, System.Type type)
public GeneratorKind(string id, string name, System.Type type)
{
if (s_registeredIDSet.Contains(id))
{
@ -28,6 +29,7 @@ namespace CppSharp.Generators @@ -28,6 +29,7 @@ namespace CppSharp.Generators
}
s_registeredIDSet.Add(id);
ID = id;
Name = name;
Type = type;
}
@ -79,37 +81,37 @@ namespace CppSharp.Generators @@ -79,37 +81,37 @@ namespace CppSharp.Generators
}
public const string CLI_ID = "CLI";
public static readonly GeneratorKind CLI = new(CLI_ID, typeof(CLIGenerator));
public static readonly GeneratorKind CLI = new(CLI_ID, "C++/CLI", typeof(CLIGenerator));
public const string CSharp_ID = "CSharp";
public static readonly GeneratorKind CSharp = new(CSharp_ID, typeof(CSharpGenerator));
public static readonly GeneratorKind CSharp = new(CSharp_ID, "C#", typeof(CSharpGenerator));
public const string C_ID = "C";
public static readonly GeneratorKind C = new(C_ID, typeof(CGenerator));
public static readonly GeneratorKind C = new(C_ID, "C", typeof(CGenerator));
public const string CPlusPlus_ID = "CPlusPlus";
public static readonly GeneratorKind CPlusPlus = new(CPlusPlus_ID, typeof(CppGenerator));
public static readonly GeneratorKind CPlusPlus = new(CPlusPlus_ID, "CPlusPlus", typeof(CppGenerator));
public const string Emscripten_ID = "Emscripten";
public static readonly GeneratorKind Emscripten = new(Emscripten_ID, typeof(EmscriptenGenerator));
public static readonly GeneratorKind Emscripten = new(Emscripten_ID, "Emscripten", typeof(EmscriptenGenerator));
public const string ObjectiveC_ID = "ObjectiveC";
public static readonly GeneratorKind ObjectiveC = new(ObjectiveC_ID, typeof(NotImplementedGenerator));
public static readonly GeneratorKind ObjectiveC = new(ObjectiveC_ID, "ObjectiveC", typeof(NotImplementedGenerator));
public const string Java_ID = "Java";
public static readonly GeneratorKind Java = new(Java_ID, typeof(NotImplementedGenerator));
public static readonly GeneratorKind Java = new(Java_ID, "Java", typeof(NotImplementedGenerator));
public const string Swift_ID = "Swift";
public static readonly GeneratorKind Swift = new(Swift_ID, typeof(NotImplementedGenerator));
public static readonly GeneratorKind Swift = new(Swift_ID, "Swift", typeof(NotImplementedGenerator));
public const string QuickJS_ID = "QuickJS";
public static readonly GeneratorKind QuickJS = new(QuickJS_ID, typeof(QuickJSGenerator));
public static readonly GeneratorKind QuickJS = new(QuickJS_ID, "QuickJS", typeof(QuickJSGenerator));
public const string NAPI_ID = "NAPI";
public static readonly GeneratorKind NAPI = new(NAPI_ID, typeof(NAPIGenerator));
public static readonly GeneratorKind NAPI = new(NAPI_ID, "N-API", typeof(NAPIGenerator));
public const string TypeScript_ID = "TypeScript";
public static readonly GeneratorKind TypeScript = new(TypeScript_ID, typeof(TSGenerator));
public static readonly GeneratorKind TypeScript = new(TypeScript_ID, "TypeScript", typeof(TSGenerator));
}
public class NotImplementedGenerator : Generator

Loading…
Cancel
Save