to:do: mis-translated...

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

to:do: mis-translated...

Eliot Miranda-2
 
Hi All,

    I just noticed that to:do: is mis-translated.  e.g.

nilFieldsOf: arrayObj 
0 to: (self lengthOf: arrayObj) - 1 do:
[:i|
self storePointerUnchecked: i ofObject: arrayObj withValue: nilObj]

=>
            /* begin nilFieldsOf: */
            for (i1 = 0; i1 <= ((lengthOf(stack)) - 1); i1 += 1) {
                longAtput((stack + BaseHeaderSize) + (i1 << ShiftForWord), GIV(nilObj));
            }

where-as of course it should be translated as e.g.

            int iLimit;
...
            /* begin nilFieldsOf: */
            iLimit = (lengthOf(stack)) - 1;
            for (i1 = 0; i1 <= iLimit; i1 += 1) {
                longAtput((stack + BaseHeaderSize) + (i1 << ShiftForWord), GIV(nilObj));
            }

I'll try and fix this but I thought I'd raise it because it could cause serious bugs.
-- 
best,
Eliot