WeakDependencyDictionary.st
author Claus Gittinger <cg@exept.de>
Tue, 09 Jul 2019 20:55:17 +0200
changeset 24417 03b083548da2
parent 20036 c84dadf61250
child 20079 8d884971c2ed
permissions -rw-r--r--
#REFACTORING by exept class: Smalltalk class changed: #recursiveInstallAutoloadedClassesFrom:rememberIn:maxLevels:noAutoload:packageTop:showSplashInLevels: Transcript showCR:(... bindWith:...) -> Transcript showCR:... with:...
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
20036
c84dadf61250 #DOCUMENTATION by stefan
Stefan Vogel <sv@exept.de>
parents: 18620
diff changeset
     1
"{ Encoding: utf8 }"
c84dadf61250 #DOCUMENTATION by stefan
Stefan Vogel <sv@exept.de>
parents: 18620
diff changeset
     2
2093
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
"
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
 COPYRIGHT (c) 1997 by Claus Gittinger
18620
b4e9f25d6ce6 preparations for lined index list in WeakArray
Claus Gittinger <cg@exept.de>
parents: 14305
diff changeset
     5
	      All Rights Reserved
2093
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
 This software is furnished under a license and may be used
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
 only in accordance with the terms of that license and with the
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
 inclusion of the above copyright notice.   This software may not
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
 be provided or otherwise made available to, or used by, any
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
 other person.  No title to or ownership of the software is
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
 hereby transferred.
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
"
8031
38f7b57a3f77 print removed
Claus Gittinger <cg@exept.de>
parents: 4350
diff changeset
    14
"{ Package: 'stx:libbasic' }"
38f7b57a3f77 print removed
Claus Gittinger <cg@exept.de>
parents: 4350
diff changeset
    15
20036
c84dadf61250 #DOCUMENTATION by stefan
Stefan Vogel <sv@exept.de>
parents: 18620
diff changeset
    16
"{ NameSpace: Smalltalk }"
c84dadf61250 #DOCUMENTATION by stefan
Stefan Vogel <sv@exept.de>
parents: 18620
diff changeset
    17
2093
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
WeakIdentityDictionary subclass:#WeakDependencyDictionary
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
	instanceVariableNames:''
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
	classVariableNames:''
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
	poolDictionaries:''
4350
5aa2a3b9fd5b category change
Claus Gittinger <cg@exept.de>
parents: 2512
diff changeset
    22
	category:'Collections-Weak'
2093
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
!
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
!WeakDependencyDictionary class methodsFor:'documentation'!
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
copyright
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
"
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
 COPYRIGHT (c) 1997 by Claus Gittinger
18620
b4e9f25d6ce6 preparations for lined index list in WeakArray
Claus Gittinger <cg@exept.de>
parents: 14305
diff changeset
    30
	      All Rights Reserved
2093
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
 This software is furnished under a license and may be used
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
 only in accordance with the terms of that license and with the
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
 inclusion of the above copyright notice.   This software may not
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
 be provided or otherwise made available to, or used by, any
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
 other person.  No title to or ownership of the software is
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
 hereby transferred.
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
"
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
!
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
documentation
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
"
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
    A specialized WeakIdentityDictionary, which 'knowns' how
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
    to get rid of obsolete entries. This is only used with the
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
    dependency mechanism.
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
    [author:]
18620
b4e9f25d6ce6 preparations for lined index list in WeakArray
Claus Gittinger <cg@exept.de>
parents: 14305
diff changeset
    49
	Claus Gittinger
2093
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
    [See also:]
18620
b4e9f25d6ce6 preparations for lined index list in WeakArray
Claus Gittinger <cg@exept.de>
parents: 14305
diff changeset
    52
	WeakArray WeakIdentityDictionary WeakValueDictionary WeakIdentitySet
2093
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
"
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
! !
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
2297
118f794c4e42 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2279
diff changeset
    56
!WeakDependencyDictionary methodsFor:'private'!
118f794c4e42 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2279
diff changeset
    57
118f794c4e42 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2279
diff changeset
    58
keyContainerOfSize:n
118f794c4e42 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2279
diff changeset
    59
    "return a container for keys of size n.
20036
c84dadf61250 #DOCUMENTATION by stefan
Stefan Vogel <sv@exept.de>
parents: 18620
diff changeset
    60
     use WeakArrays here, but don't make me a dependent of it."
2297
118f794c4e42 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2279
diff changeset
    61
14305
a5626a16240d changed: #keyContainerOfSize:
Claus Gittinger <cg@exept.de>
parents: 13746
diff changeset
    62
    ^ WeakArray new:n.
2297
118f794c4e42 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2279
diff changeset
    63
14305
a5626a16240d changed: #keyContainerOfSize:
Claus Gittinger <cg@exept.de>
parents: 13746
diff changeset
    64
    "Modified: / 07-01-1997 / 17:01:15 / stefan"
a5626a16240d changed: #keyContainerOfSize:
Claus Gittinger <cg@exept.de>
parents: 13746
diff changeset
    65
    "Modified: / 04-08-2012 / 14:55:53 / cg"
2297
118f794c4e42 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2279
diff changeset
    66
! !
118f794c4e42 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2279
diff changeset
    67
2093
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
!WeakDependencyDictionary methodsFor:'special dependency support'!
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
removeEmptyDependencyValues
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
    "special entry for dependency management:
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
     remove any empty (due to finalization) value WeakArray elements."
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
2512
a57c66f472b3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2508
diff changeset
    74
    |index t wasBlocked deps o key originalKeyArray|
2093
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
    "/ careful: this is sent by the finalizer at low prio.
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
    "/ be prepared for the receiver to change while we walk over
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
    "/ the value array here ...
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
2297
118f794c4e42 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2279
diff changeset
    80
"/ 'removeEmptyDependencyValues ...' printCR.
118f794c4e42 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2279
diff changeset
    81
2316
6b24c092456a mhmh - be very careful when removing empty slots.
Claus Gittinger <cg@exept.de>
parents: 2300
diff changeset
    82
    originalKeyArray := keyArray.
6b24c092456a mhmh - be very careful when removing empty slots.
Claus Gittinger <cg@exept.de>
parents: 2300
diff changeset
    83
2093
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
    index := 1.
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    85
    [index <= keyArray size] whileTrue:[
18620
b4e9f25d6ce6 preparations for lined index list in WeakArray
Claus Gittinger <cg@exept.de>
parents: 14305
diff changeset
    86
	"/ get the size again - it could have changed
2093
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
18620
b4e9f25d6ce6 preparations for lined index list in WeakArray
Claus Gittinger <cg@exept.de>
parents: 14305
diff changeset
    88
	wasBlocked := OperatingSystem blockInterrupts.
2297
118f794c4e42 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2279
diff changeset
    89
18620
b4e9f25d6ce6 preparations for lined index list in WeakArray
Claus Gittinger <cg@exept.de>
parents: 14305
diff changeset
    90
	keyArray ~~ originalKeyArray ifTrue:[
b4e9f25d6ce6 preparations for lined index list in WeakArray
Claus Gittinger <cg@exept.de>
parents: 14305
diff changeset
    91
	    index := 1. "/ start over
b4e9f25d6ce6 preparations for lined index list in WeakArray
Claus Gittinger <cg@exept.de>
parents: 14305
diff changeset
    92
	    "/ 'restart removeEmpty' infoPrintCR.
b4e9f25d6ce6 preparations for lined index list in WeakArray
Claus Gittinger <cg@exept.de>
parents: 14305
diff changeset
    93
	    originalKeyArray := keyArray.
b4e9f25d6ce6 preparations for lined index list in WeakArray
Claus Gittinger <cg@exept.de>
parents: 14305
diff changeset
    94
	].
2316
6b24c092456a mhmh - be very careful when removing empty slots.
Claus Gittinger <cg@exept.de>
parents: 2300
diff changeset
    95
18620
b4e9f25d6ce6 preparations for lined index list in WeakArray
Claus Gittinger <cg@exept.de>
parents: 14305
diff changeset
    96
	index <= keyArray size ifTrue:[
b4e9f25d6ce6 preparations for lined index list in WeakArray
Claus Gittinger <cg@exept.de>
parents: 14305
diff changeset
    97
	    key := keyArray basicAt:index.
b4e9f25d6ce6 preparations for lined index list in WeakArray
Claus Gittinger <cg@exept.de>
parents: 14305
diff changeset
    98
	    key class == SmallInteger ifTrue:[
b4e9f25d6ce6 preparations for lined index list in WeakArray
Claus Gittinger <cg@exept.de>
parents: 14305
diff changeset
    99
		"/ that one is gone
b4e9f25d6ce6 preparations for lined index list in WeakArray
Claus Gittinger <cg@exept.de>
parents: 14305
diff changeset
   100
		key := DeletedEntry.
b4e9f25d6ce6 preparations for lined index list in WeakArray
Claus Gittinger <cg@exept.de>
parents: 14305
diff changeset
   101
		keyArray basicAt:index put:key.
b4e9f25d6ce6 preparations for lined index list in WeakArray
Claus Gittinger <cg@exept.de>
parents: 14305
diff changeset
   102
		valueArray basicAt:index put:nil.
b4e9f25d6ce6 preparations for lined index list in WeakArray
Claus Gittinger <cg@exept.de>
parents: 14305
diff changeset
   103
		tally := tally - 1.
b4e9f25d6ce6 preparations for lined index list in WeakArray
Claus Gittinger <cg@exept.de>
parents: 14305
diff changeset
   104
	    ].
2297
118f794c4e42 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2279
diff changeset
   105
18620
b4e9f25d6ce6 preparations for lined index list in WeakArray
Claus Gittinger <cg@exept.de>
parents: 14305
diff changeset
   106
	    (key notNil and:[key ~~ DeletedEntry]) ifTrue:[
b4e9f25d6ce6 preparations for lined index list in WeakArray
Claus Gittinger <cg@exept.de>
parents: 14305
diff changeset
   107
		deps := valueArray basicAt:index.
b4e9f25d6ce6 preparations for lined index list in WeakArray
Claus Gittinger <cg@exept.de>
parents: 14305
diff changeset
   108
		deps notNil ifTrue:[
b4e9f25d6ce6 preparations for lined index list in WeakArray
Claus Gittinger <cg@exept.de>
parents: 14305
diff changeset
   109
		    "/ is it an empty WeakArray ?
2093
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   110
18620
b4e9f25d6ce6 preparations for lined index list in WeakArray
Claus Gittinger <cg@exept.de>
parents: 14305
diff changeset
   111
		    (deps isMemberOf:WeakArray) ifTrue:[
b4e9f25d6ce6 preparations for lined index list in WeakArray
Claus Gittinger <cg@exept.de>
parents: 14305
diff changeset
   112
			t := deps findFirst:[:el | el notNil and:[el ~~ 0]].
b4e9f25d6ce6 preparations for lined index list in WeakArray
Claus Gittinger <cg@exept.de>
parents: 14305
diff changeset
   113
			t == 0 ifTrue:[
b4e9f25d6ce6 preparations for lined index list in WeakArray
Claus Gittinger <cg@exept.de>
parents: 14305
diff changeset
   114
			    "/ yes - nil it
b4e9f25d6ce6 preparations for lined index list in WeakArray
Claus Gittinger <cg@exept.de>
parents: 14305
diff changeset
   115
			    valueArray basicAt:index put:nil.
b4e9f25d6ce6 preparations for lined index list in WeakArray
Claus Gittinger <cg@exept.de>
parents: 14305
diff changeset
   116
			    keyArray basicAt:index put:DeletedEntry.
b4e9f25d6ce6 preparations for lined index list in WeakArray
Claus Gittinger <cg@exept.de>
parents: 14305
diff changeset
   117
			    tally := tally - 1.
b4e9f25d6ce6 preparations for lined index list in WeakArray
Claus Gittinger <cg@exept.de>
parents: 14305
diff changeset
   118
			]
b4e9f25d6ce6 preparations for lined index list in WeakArray
Claus Gittinger <cg@exept.de>
parents: 14305
diff changeset
   119
		    ] ifFalse:[
b4e9f25d6ce6 preparations for lined index list in WeakArray
Claus Gittinger <cg@exept.de>
parents: 14305
diff changeset
   120
		       "/ is it an empty WeakIdSet ?
2316
6b24c092456a mhmh - be very careful when removing empty slots.
Claus Gittinger <cg@exept.de>
parents: 2300
diff changeset
   121
18620
b4e9f25d6ce6 preparations for lined index list in WeakArray
Claus Gittinger <cg@exept.de>
parents: 14305
diff changeset
   122
		       (deps isMemberOf:WeakIdentitySet) ifTrue:[
b4e9f25d6ce6 preparations for lined index list in WeakArray
Claus Gittinger <cg@exept.de>
parents: 14305
diff changeset
   123
			    (t := deps size) == 0 ifTrue:[
b4e9f25d6ce6 preparations for lined index list in WeakArray
Claus Gittinger <cg@exept.de>
parents: 14305
diff changeset
   124
				"/ yes - nil it
b4e9f25d6ce6 preparations for lined index list in WeakArray
Claus Gittinger <cg@exept.de>
parents: 14305
diff changeset
   125
				valueArray basicAt:index put:nil.
b4e9f25d6ce6 preparations for lined index list in WeakArray
Claus Gittinger <cg@exept.de>
parents: 14305
diff changeset
   126
				keyArray basicAt:index put:DeletedEntry.
b4e9f25d6ce6 preparations for lined index list in WeakArray
Claus Gittinger <cg@exept.de>
parents: 14305
diff changeset
   127
				tally := tally - 1.
2316
6b24c092456a mhmh - be very careful when removing empty slots.
Claus Gittinger <cg@exept.de>
parents: 2300
diff changeset
   128
"/                            ] ifFalse:[
6b24c092456a mhmh - be very careful when removing empty slots.
Claus Gittinger <cg@exept.de>
parents: 2300
diff changeset
   129
"/                                t == 1 ifTrue:[
6b24c092456a mhmh - be very careful when removing empty slots.
Claus Gittinger <cg@exept.de>
parents: 2300
diff changeset
   130
"/                                    "/ careful - it could actually be empty
6b24c092456a mhmh - be very careful when removing empty slots.
Claus Gittinger <cg@exept.de>
parents: 2300
diff changeset
   131
"/                                    o := deps firstIfEmpty:nil.
6b24c092456a mhmh - be very careful when removing empty slots.
Claus Gittinger <cg@exept.de>
parents: 2300
diff changeset
   132
"/                                    o notNil ifTrue:[
6b24c092456a mhmh - be very careful when removing empty slots.
Claus Gittinger <cg@exept.de>
parents: 2300
diff changeset
   133
"/                                        "/ the set lost an object, and shrunk to size 1
6b24c092456a mhmh - be very careful when removing empty slots.
Claus Gittinger <cg@exept.de>
parents: 2300
diff changeset
   134
"/                                        "/ can now use a WeakArray
6b24c092456a mhmh - be very careful when removing empty slots.
Claus Gittinger <cg@exept.de>
parents: 2300
diff changeset
   135
"/                                        valueArray basicAt:index put:(WeakArray with:o)
6b24c092456a mhmh - be very careful when removing empty slots.
Claus Gittinger <cg@exept.de>
parents: 2300
diff changeset
   136
"/                                    ] ifFalse:[
6b24c092456a mhmh - be very careful when removing empty slots.
Claus Gittinger <cg@exept.de>
parents: 2300
diff changeset
   137
"/                                        key notNil ifTrue:[
2512
a57c66f472b3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2508
diff changeset
   138
"/                                            keyArray basicAt:index put:DeletedEntry.
2316
6b24c092456a mhmh - be very careful when removing empty slots.
Claus Gittinger <cg@exept.de>
parents: 2300
diff changeset
   139
"/                                            tally := tally - 1.
6b24c092456a mhmh - be very careful when removing empty slots.
Claus Gittinger <cg@exept.de>
parents: 2300
diff changeset
   140
"/                                        ]
6b24c092456a mhmh - be very careful when removing empty slots.
Claus Gittinger <cg@exept.de>
parents: 2300
diff changeset
   141
"/                                    ]
6b24c092456a mhmh - be very careful when removing empty slots.
Claus Gittinger <cg@exept.de>
parents: 2300
diff changeset
   142
"/                                ]
18620
b4e9f25d6ce6 preparations for lined index list in WeakArray
Claus Gittinger <cg@exept.de>
parents: 14305
diff changeset
   143
			    ]
b4e9f25d6ce6 preparations for lined index list in WeakArray
Claus Gittinger <cg@exept.de>
parents: 14305
diff changeset
   144
			]
b4e9f25d6ce6 preparations for lined index list in WeakArray
Claus Gittinger <cg@exept.de>
parents: 14305
diff changeset
   145
		    ]
b4e9f25d6ce6 preparations for lined index list in WeakArray
Claus Gittinger <cg@exept.de>
parents: 14305
diff changeset
   146
		] ifFalse:[
b4e9f25d6ce6 preparations for lined index list in WeakArray
Claus Gittinger <cg@exept.de>
parents: 14305
diff changeset
   147
		    "/ 'oops: nil value for key' infoPrint. key infoPrintCR.
b4e9f25d6ce6 preparations for lined index list in WeakArray
Claus Gittinger <cg@exept.de>
parents: 14305
diff changeset
   148
		    keyArray basicAt:index put:DeletedEntry.
b4e9f25d6ce6 preparations for lined index list in WeakArray
Claus Gittinger <cg@exept.de>
parents: 14305
diff changeset
   149
		    tally := tally - 1.
b4e9f25d6ce6 preparations for lined index list in WeakArray
Claus Gittinger <cg@exept.de>
parents: 14305
diff changeset
   150
		]
b4e9f25d6ce6 preparations for lined index list in WeakArray
Claus Gittinger <cg@exept.de>
parents: 14305
diff changeset
   151
	    ]
b4e9f25d6ce6 preparations for lined index list in WeakArray
Claus Gittinger <cg@exept.de>
parents: 14305
diff changeset
   152
	].
2093
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   153
18620
b4e9f25d6ce6 preparations for lined index list in WeakArray
Claus Gittinger <cg@exept.de>
parents: 14305
diff changeset
   154
	wasBlocked ifFalse:[OperatingSystem unblockInterrupts].
b4e9f25d6ce6 preparations for lined index list in WeakArray
Claus Gittinger <cg@exept.de>
parents: 14305
diff changeset
   155
	index := index + 1.
2093
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   156
    ].
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   157
2297
118f794c4e42 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2279
diff changeset
   158
"/ 'done' printCR.
2093
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   159
    "
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   160
     Dependencies removeEmptyDependencyValues
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   161
    "
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   162
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   163
    "Created: 9.1.1997 / 00:00:28 / cg"
2512
a57c66f472b3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2508
diff changeset
   164
    "Modified: 27.3.1997 / 15:55:12 / cg"
2299
fc326c7457b4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2297
diff changeset
   165
! !
fc326c7457b4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2297
diff changeset
   166
2093
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   167
!WeakDependencyDictionary class methodsFor:'documentation'!
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   168
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   169
version
18620
b4e9f25d6ce6 preparations for lined index list in WeakArray
Claus Gittinger <cg@exept.de>
parents: 14305
diff changeset
   170
    ^ '$Header$'
2093
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   171
! !
20036
c84dadf61250 #DOCUMENTATION by stefan
Stefan Vogel <sv@exept.de>
parents: 18620
diff changeset
   172