Пример #1
0
    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));
    }
Пример #2
0
    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));
    }