Improve introspection of Record and TypeType values

* TypeType values are now printable and yield the type name/alias
* Fix record_fields BIF to return correct type name for fields
* Allow TypeType values that point to a RecordType to be used with
  record_fields BIF
This commit is contained in:
Jon Siwek 2018-10-18 14:57:21 -05:00
parent 45526e6063
commit 1f450c0510
11 changed files with 427 additions and 346 deletions

View file

@ -28,7 +28,7 @@ CC
}, se={
}, vc=[10, 20, 30], ve=[]]
}, idx=<no value description>, val=<no value description>, want_record=T, ev=line
}, idx=A::Idx, val=A::Val, want_record=T, ev=line
{
print A::outfile, ============EVENT============;
print A::outfile, Description;
@ -123,7 +123,7 @@ CC
}, se={
}, vc=[10, 20, 30], ve=[]]
}, idx=<no value description>, val=<no value description>, want_record=T, ev=line
}, idx=A::Idx, val=A::Val, want_record=T, ev=line
{
print A::outfile, ============EVENT============;
print A::outfile, Description;
@ -230,7 +230,7 @@ CC
}, se={
}, vc=[10, 20, 30], ve=[]]
}, idx=<no value description>, val=<no value description>, want_record=T, ev=line
}, idx=A::Idx, val=A::Val, want_record=T, ev=line
{
print A::outfile, ============EVENT============;
print A::outfile, Description;
@ -457,7 +457,7 @@ CC
}, se={
}, vc=[10, 20, 30], ve=[]]
}, idx=<no value description>, val=<no value description>, want_record=T, ev=line
}, idx=A::Idx, val=A::Val, want_record=T, ev=line
{
print A::outfile, ============EVENT============;
print A::outfile, Description;
@ -582,7 +582,7 @@ CC
}, se={
}, vc=[10, 20, 30], ve=[]]
}, idx=<no value description>, val=<no value description>, want_record=T, ev=line
}, idx=A::Idx, val=A::Val, want_record=T, ev=line
{
print A::outfile, ============EVENT============;
print A::outfile, Description;
@ -707,7 +707,7 @@ CC
}, se={
}, vc=[10, 20, 30], ve=[]]
}, idx=<no value description>, val=<no value description>, want_record=T, ev=line
}, idx=A::Idx, val=A::Val, want_record=T, ev=line
{
print A::outfile, ============EVENT============;
print A::outfile, Description;
@ -832,7 +832,7 @@ CC
}, se={
}, vc=[10, 20, 30], ve=[]]
}, idx=<no value description>, val=<no value description>, want_record=T, ev=line
}, idx=A::Idx, val=A::Val, want_record=T, ev=line
{
print A::outfile, ============EVENT============;
print A::outfile, Description;
@ -957,7 +957,7 @@ CC
}, se={
}, vc=[10, 20, 30], ve=[]]
}, idx=<no value description>, val=<no value description>, want_record=T, ev=line
}, idx=A::Idx, val=A::Val, want_record=T, ev=line
{
print A::outfile, ============EVENT============;
print A::outfile, Description;
@ -1187,7 +1187,7 @@ CC
}, se={
}, vc=[10, 20, 30], ve=[]]
}, idx=<no value description>, val=<no value description>, want_record=T, ev=line
}, idx=A::Idx, val=A::Val, want_record=T, ev=line
{
print A::outfile, ============EVENT============;
print A::outfile, Description;
@ -1240,7 +1240,7 @@ CC
}, se={
}, vc=[10, 20, 30], ve=[]]
}, idx=<no value description>, val=<no value description>, want_record=T, ev=line
}, idx=A::Idx, val=A::Val, want_record=T, ev=line
{
print A::outfile, ============EVENT============;
print A::outfile, Description;
@ -1293,7 +1293,7 @@ CC
}, se={
}, vc=[10, 20, 30], ve=[]]
}, idx=<no value description>, val=<no value description>, want_record=T, ev=line
}, idx=A::Idx, val=A::Val, want_record=T, ev=line
{
print A::outfile, ============EVENT============;
print A::outfile, Description;
@ -1346,7 +1346,7 @@ CC
}, se={
}, vc=[10, 20, 30], ve=[]]
}, idx=<no value description>, val=<no value description>, want_record=T, ev=line
}, idx=A::Idx, val=A::Val, want_record=T, ev=line
{
print A::outfile, ============EVENT============;
print A::outfile, Description;
@ -1399,7 +1399,7 @@ CC
}, se={
}, vc=[10, 20, 30], ve=[]]
}, idx=<no value description>, val=<no value description>, want_record=T, ev=line
}, idx=A::Idx, val=A::Val, want_record=T, ev=line
{
print A::outfile, ============EVENT============;
print A::outfile, Description;
@ -1452,7 +1452,7 @@ CC
}, se={
}, vc=[10, 20, 30], ve=[]]
}, idx=<no value description>, val=<no value description>, want_record=T, ev=line
}, idx=A::Idx, val=A::Val, want_record=T, ev=line
{
print A::outfile, ============EVENT============;
print A::outfile, Description;