libaml: resolve refs in ObjectType instruction

The standard states in section 19.5.93:

.... Notice that if this operation is performed
on an obeject reference such as one produced by
the Alias, Index, or RefOf statements, the obect
type of the base object is returned.
This commit is contained in:
cinap_lenrek 2021-10-17 19:52:28 +00:00
parent 31bb950b70
commit 2731ae50d3

View file

@ -1800,7 +1800,7 @@ evalotype(void)
while(r != nil){
switch(TAG(r)){
case 'R': case 'A': case 'L': /* Ref */
r = ((Ref*)r)->ref;
r = *((Ref*)r)->ptr;
continue;
case 'N': /* Name */
r = ((Name*)r)->v;