protected override TargetType CreateType()
{
int num_elements = 0;
string name;
foreach (Die d in Children)
if (d is DieEnumerator) num_elements ++;
if (Name != null)
name = Name;
else
name = "<unknown enum>";
string[] names = new string [num_elements];
int[] values = new int [num_elements];
int i = 0;
foreach (Die d in Children) {
DieEnumerator e = d as DieEnumerator;
if (e == null) continue;
names[i] = e.Name;
values[i] = e.ConstValue;
i++;
}
return new NativeEnumType (language, name, byte_size, names, values);
}