getPrimitive method
Implementation
getPrimitive(Map<int, LookupValue> definitions, int frameId) {
final def = definitions[frameId]!.def;
if (def.tag == 'primitive') {
return def.value.tag;
}
if ((def.tag != 'composite' && def.tag != 'tuple') || def.value.length > 1) {
throw Exception('TypeDef provided does not map to a primitive type');
}
return def.value.length == 0
? null
: getPrimitive(definitions, def.tag == 'tuple' ? def.value[0] : def.value[0].type);
}