equal
deleted
inserted
replaced
65 "make the argument, anObject be a dependent of the receiver" |
65 "make the argument, anObject be a dependent of the receiver" |
66 |
66 |
67 |deps| |
67 |deps| |
68 |
68 |
69 deps := dependents. |
69 deps := dependents. |
70 deps isNil ifTrue:[ |
70 (deps isNil and:[anObject isCollection not]) ifTrue:[ |
71 dependents := anObject |
71 dependents := anObject |
72 ] ifFalse:[ |
72 ] ifFalse:[ |
73 (deps isMemberOf:IdentitySet) ifTrue:[ |
73 deps isCollection ifTrue:[ |
74 deps add:anObject |
74 deps add:anObject |
75 ] ifFalse:[ |
75 ] ifFalse:[ |
76 dependents := IdentitySet with:dependents with:anObject |
76 dependents := IdentitySet with:dependents with:anObject |
77 ] |
77 ] |
78 ] |
78 ] |
95 |
95 |
96 |deps| |
96 |deps| |
97 |
97 |
98 deps := dependents. |
98 deps := dependents. |
99 deps notNil ifTrue:[ |
99 deps notNil ifTrue:[ |
100 (deps isMemberOf:IdentitySet) ifTrue:[ |
100 deps isCollection ifTrue:[ |
101 deps do:aBlock |
101 deps do:aBlock |
102 ] ifFalse:[ |
102 ] ifFalse:[ |
103 aBlock value:deps |
103 aBlock value:deps |
104 ] |
104 ] |
105 ] |
105 ] |
114 |
114 |
115 |deps sz| |
115 |deps sz| |
116 |
116 |
117 deps := dependents. |
117 deps := dependents. |
118 deps notNil ifTrue:[ |
118 deps notNil ifTrue:[ |
119 (deps isMemberOf:IdentitySet) ifTrue:[ |
119 deps isCollection ifTrue:[ |
120 deps remove:anObject ifAbsent:[]. |
120 deps remove:anObject ifAbsent:[]. |
121 (sz := deps size) == 1 ifTrue:[ |
121 (sz := deps size) == 0 ifTrue:[ |
122 dependents := deps first |
122 dependents := nil |
123 ] ifFalse:[ |
|
124 (sz == 0) ifTrue:[ |
|
125 dependents := nil |
|
126 ] |
|
127 ] |
123 ] |
128 ] ifFalse:[ |
124 ] ifFalse:[ |
129 dependents := nil |
125 dependents := nil |
130 ] |
126 ] |
131 ] |
127 ] |
146 ! ! |
142 ! ! |
147 |
143 |
148 !Model class methodsFor:'documentation'! |
144 !Model class methodsFor:'documentation'! |
149 |
145 |
150 version |
146 version |
151 ^ '$Header: /cvs/stx/stx/libview2/Model.st,v 1.17 1995-11-23 17:48:43 cg Exp $' |
147 ^ '$Header: /cvs/stx/stx/libview2/Model.st,v 1.18 1996-01-15 17:37:08 cg Exp $' |
152 ! ! |
148 ! ! |