10 hereby transferred. |
10 hereby transferred. |
11 " |
11 " |
12 "{ Package: 'stx:libcomp' }" |
12 "{ Package: 'stx:libcomp' }" |
13 |
13 |
14 Object subclass:#Structure |
14 Object subclass:#Structure |
15 instanceVariableNames:'superclass flags methodDictionary lookupFunction instSize i1 i2 i3 i4 i5 i6 i7 |
15 instanceVariableNames:'superclass flags methodDictionary lookupFunction instSize i1 i2 |
16 i8 i9 i10 i11 i12 i13 i14 i15 i16 i17 i18 i19 i20 i21 i22 i23 i24 |
16 i3 i4 i5 i6 i7 i8 i9 i10 i11 i12 i13 i14 i15 i16 i17 i18 i19 i20 |
17 i25 i26 i27 i28 i29 i30 i31 i32 i33 i34 i35 i36 i37 i38 i39 i40 |
17 i21 i22 i23 i24 i25 i26 i27 i28 i29 i30 i31 i32 i33 i34 i35 i36 |
18 i41 i42 i43 i44 i45 i46 i47 i48 i49 i50' |
18 i37 i38 i39 i40 i41 i42 i43 i44 i45 i46 i47 i48 i49 i50' |
19 classVariableNames:'OneInstance DummyClass ReadAccessMethods WriteAccessMethods |
19 classVariableNames:'OneInstance DummyClass ReadAccessMethods WriteAccessMethods |
20 OtherMethods OtherSelectors' |
20 OtherMethods OtherSelectors' |
21 poolDictionaries:'' |
21 poolDictionaries:'' |
22 category:'Programming-Support' |
22 category:'Programming-Support' |
23 ! |
23 ! |
24 |
24 |
25 !Structure class methodsFor:'documentation'! |
25 !Structure class methodsFor:'documentation'! |
26 |
26 |
27 copyright |
27 copyright |
223 "/ therefore, the first behviorsInstSize instVars must correspond to Behavior instvars, |
223 "/ therefore, the first behviorsInstSize instVars must correspond to Behavior instvars, |
224 "/ the remaining ones will be the indexed instvars. |
224 "/ the remaining ones will be the indexed instvars. |
225 behviorsInstSize := Behavior instSize. |
225 behviorsInstSize := Behavior instSize. |
226 |
226 |
227 arr := Array new:(behviorsInstSize + nInsts). |
227 arr := Array new:(behviorsInstSize + nInsts). |
228 arr at:1 put:nil. "/ superclass |
228 "/ arr at:1 put:nil. "/ superclass |
229 arr at:2 put:(Behavior flagBehavior bitOr:Behavior flagPointers). "/ flags |
229 arr at:2 put:(Behavior flagBehavior bitOr:Behavior flagPointers). "/ flags |
230 arr at:3 put:(MethodDictionary withKeys:sels andValues:mthds). "/ selectors & methods |
230 arr at:3 put:(MethodDictionary withKeys:sels andValues:mthds). "/ selectors & methods |
231 arr at:4 put:behviorsInstSize. "/ instSize |
231 "/ arr at:4 put:nil. "/ lookupObject |
|
232 arr at:5 put:behviorsInstSize. "/ instSize |
232 |
233 |
233 "/ now, the big trick ... |
234 "/ now, the big trick ... |
234 |
235 |
235 arr changeClassTo:DummyClass. |
236 arr changeClassTo:DummyClass. |
236 arr changeClassTo:arr. |
237 arr changeClassTo:arr. |
1433 ! ! |
1434 ! ! |
1434 |
1435 |
1435 !Structure class methodsFor:'documentation'! |
1436 !Structure class methodsFor:'documentation'! |
1436 |
1437 |
1437 version |
1438 version |
1438 ^ '$Header: /cvs/stx/stx/libcomp/Structure.st,v 1.24 2010-04-07 14:53:33 cg Exp $' |
1439 ^ '$Header: /cvs/stx/stx/libcomp/Structure.st,v 1.25 2010-04-18 13:12:54 stefan Exp $' |
1439 ! |
1440 ! |
1440 |
1441 |
1441 version_CVS |
1442 version_CVS |
1442 ^ '$Header: /cvs/stx/stx/libcomp/Structure.st,v 1.24 2010-04-07 14:53:33 cg Exp $' |
1443 ^ '$Header: /cvs/stx/stx/libcomp/Structure.st,v 1.25 2010-04-18 13:12:54 stefan Exp $' |
1443 ! ! |
1444 ! ! |
1444 |
1445 |
1445 Structure initialize! |
1446 Structure initialize! |