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