...
This commit is contained in:
@@ -135,6 +135,32 @@ public class NubTypeEnum : NubType
|
||||
public override string ToString() => $"enum {Module}::{Name}";
|
||||
}
|
||||
|
||||
public class NubTypeEnumVariant : NubType
|
||||
{
|
||||
private static readonly Dictionary<(string Module, string EnumName, string VariantName), NubTypeEnumVariant> Cache = new();
|
||||
|
||||
public static NubTypeEnumVariant Get(string module, string enumName, string variantName)
|
||||
{
|
||||
if (!Cache.TryGetValue((module, enumName, variantName), out var enumType))
|
||||
Cache[(module, enumName, variantName)] = enumType = new NubTypeEnumVariant(module, enumName, variantName);
|
||||
|
||||
return enumType;
|
||||
}
|
||||
|
||||
private NubTypeEnumVariant(string module, string enumName, string variantName)
|
||||
{
|
||||
Module = module;
|
||||
EnumName = enumName;
|
||||
VariantName = variantName;
|
||||
}
|
||||
|
||||
public string Module { get; }
|
||||
public string EnumName { get; }
|
||||
public string VariantName { get; }
|
||||
|
||||
public override string ToString() => $"enum {Module}::{EnumName}.{VariantName}";
|
||||
}
|
||||
|
||||
public class NubTypePointer : NubType
|
||||
{
|
||||
private static readonly Dictionary<NubType, NubTypePointer> Cache = new();
|
||||
|
||||
Reference in New Issue
Block a user