internal override void Walk() { CCTypeSet cts = Stack.Peek(0); CCTypeSet sv = Stack.Peek(1); foreach (CCType tos in cts) { tos.xType.CheckExtends(owner); CCType tos2 = tos.GetEmbedded(owner); CCStruct cs = CCStruct.Lookup(tos2); cs.Merge(owner.fieldInverseMapping[off], sv); } next.MergeStack(Stack.Pop(2)); }
internal override void Walk() { CCTypeSet cts = Stack.Peek(0); Stack.Peek(1).CheckInt(); CCTypeSet sv = Stack.Peek(2); foreach (CCType tos in cts) { tos.xType.CheckExtends(owner); CCType tos2 = tos.GetEmbedded(owner); CCStruct cs = CCStruct.Lookup(tos2); cs.Merge(0, sv); } next.MergeStack(Stack.Pop(3)); }