This commit is contained in:
nub31
2026-02-25 21:51:32 +01:00
parent cb4aeb9c01
commit 49734544e6
6 changed files with 50 additions and 150 deletions

View File

@@ -95,7 +95,7 @@ public class ModuleGraph
case Manifest.Module.TypeInfoEnum s:
{
var info = new Module.TypeInfoEnum(Module.DefinitionKind.External);
var variants = s.Variants.Select(v => new Module.TypeInfoEnum.Variant(v.Name, v.Fields.Select(x => new Module.TypeInfoEnum.Variant.Field(x.Name, x.Type)).ToList())).ToList();
var variants = s.Variants.Select(v => new Module.TypeInfoEnum.Variant(v.Name, v.Type)).ToList();
info.SetVariants(variants);
module.AddType(name, info);
break;
@@ -152,7 +152,7 @@ public class ModuleGraph
if (typeInfo is Module.TypeInfoEnum enumType)
{
var variants = enumDef.Variants.Select(v => new Module.TypeInfoEnum.Variant(v.Name.Ident, v.Fields.Select(f => new Module.TypeInfoEnum.Variant.Field(f.Name.Ident, ResolveType(f.Type, module.Name))).ToList())).ToList();
var variants = enumDef.Variants.Select(v => new Module.TypeInfoEnum.Variant(v.Name.Ident, ResolveType(v.Type, module.Name))).ToList();
enumType.SetVariants(variants);
}
}
@@ -421,16 +421,10 @@ public class Module(string name)
this.variants = variants;
}
public class Variant(string name, List<Variant.Field> fields)
public class Variant(string name, NubType type)
{
public string Name { get; } = name;
public List<Field> Fields { get; } = fields;
public class Field(string name, NubType type)
{
public string Name { get; } = name;
public NubType Type { get; } = type;
}
public NubType Type { get; } = type;
}
}
}