WeakDependencyDictionary.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Mon, 18 Jul 2011 16:22:09 +0100
branchjv
changeset 17846 24edc476ac18
parent 17845 7e0cfaac936d
child 17865 598963c6ff8e
permissions -rw-r--r--
Merged with /trunk
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
"
17845
7e0cfaac936d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17761
diff changeset
    12
7e0cfaac936d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17761
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
2093
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
WeakIdentityDictionary subclass:#WeakDependencyDictionary
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
	instanceVariableNames:''
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
	classVariableNames:''
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
	poolDictionaries:''
4350
5aa2a3b9fd5b category change
Claus Gittinger <cg@exept.de>
parents: 2512
diff changeset
    20
	category:'Collections-Weak'
2093
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
!
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
!WeakDependencyDictionary class methodsFor:'documentation'!
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
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 (c) 1997 by Claus Gittinger
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
              All Rights Reserved
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
 This software is furnished under a license and may be used
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
 only in accordance with the terms of that license and with the
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
 inclusion of the above copyright notice.   This software may not
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
 be provided or otherwise made available to, or used by, any
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
 other person.  No title to or ownership of the software is
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
 hereby transferred.
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
!
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
documentation
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
    A specialized WeakIdentityDictionary, which 'knowns' how
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
    to get rid of obsolete entries. This is only used with the
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
    dependency mechanism.
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
    [author:]
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
        Claus Gittinger
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
    [See also:]
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
        WeakArray WeakIdentityDictionary WeakValueDictionary WeakIdentitySet
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
"
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
! !
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
2297
118f794c4e42 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2279
diff changeset
    54
!WeakDependencyDictionary methodsFor:'private'!
118f794c4e42 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2279
diff changeset
    55
118f794c4e42 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2279
diff changeset
    56
keyContainerOfSize:n
118f794c4e42 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2279
diff changeset
    57
    "return a container for keys of size n.
118f794c4e42 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2279
diff changeset
    58
     use WeakArrays here."
118f794c4e42 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2279
diff changeset
    59
118f794c4e42 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2279
diff changeset
    60
    |w|
118f794c4e42 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2279
diff changeset
    61
118f794c4e42 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2279
diff changeset
    62
    w := WeakArray new:n.
118f794c4e42 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2279
diff changeset
    63
    ^ w
118f794c4e42 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2279
diff changeset
    64
118f794c4e42 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2279
diff changeset
    65
    "Modified: 7.1.1997 / 17:01:15 / stefan"
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:[
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
        "/ get the size again - it could have changed
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
        wasBlocked := OperatingSystem blockInterrupts.
2297
118f794c4e42 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2279
diff changeset
    89
2316
6b24c092456a mhmh - be very careful when removing empty slots.
Claus Gittinger <cg@exept.de>
parents: 2300
diff changeset
    90
        keyArray ~~ originalKeyArray ifTrue:[
6b24c092456a mhmh - be very careful when removing empty slots.
Claus Gittinger <cg@exept.de>
parents: 2300
diff changeset
    91
            index := 1. "/ start over
8031
38f7b57a3f77 print removed
Claus Gittinger <cg@exept.de>
parents: 4350
diff changeset
    92
            "/ 'restart removeEmpty' infoPrintCR.
2316
6b24c092456a mhmh - be very careful when removing empty slots.
Claus Gittinger <cg@exept.de>
parents: 2300
diff changeset
    93
            originalKeyArray := keyArray.
6b24c092456a mhmh - be very careful when removing empty slots.
Claus Gittinger <cg@exept.de>
parents: 2300
diff changeset
    94
        ].
6b24c092456a mhmh - be very careful when removing empty slots.
Claus Gittinger <cg@exept.de>
parents: 2300
diff changeset
    95
2093
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    96
        index <= keyArray size ifTrue:[
2297
118f794c4e42 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2279
diff changeset
    97
            key := keyArray basicAt:index.
118f794c4e42 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2279
diff changeset
    98
            key == 0 ifTrue:[
2316
6b24c092456a mhmh - be very careful when removing empty slots.
Claus Gittinger <cg@exept.de>
parents: 2300
diff changeset
    99
                "/ that one is gone
2512
a57c66f472b3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2508
diff changeset
   100
                key := DeletedEntry.
2316
6b24c092456a mhmh - be very careful when removing empty slots.
Claus Gittinger <cg@exept.de>
parents: 2300
diff changeset
   101
                keyArray basicAt:index put:key.
6b24c092456a mhmh - be very careful when removing empty slots.
Claus Gittinger <cg@exept.de>
parents: 2300
diff changeset
   102
                valueArray basicAt:index put:nil.
6b24c092456a mhmh - be very careful when removing empty slots.
Claus Gittinger <cg@exept.de>
parents: 2300
diff changeset
   103
                tally := tally - 1.
2297
118f794c4e42 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2279
diff changeset
   104
            ].
118f794c4e42 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2279
diff changeset
   105
2512
a57c66f472b3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2508
diff changeset
   106
            (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
   107
                deps := valueArray basicAt:index.
6b24c092456a mhmh - be very careful when removing empty slots.
Claus Gittinger <cg@exept.de>
parents: 2300
diff changeset
   108
                deps notNil ifTrue:[
6b24c092456a mhmh - be very careful when removing empty slots.
Claus Gittinger <cg@exept.de>
parents: 2300
diff changeset
   109
                    "/ is it an empty WeakArray ?
2093
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   110
2316
6b24c092456a mhmh - be very careful when removing empty slots.
Claus Gittinger <cg@exept.de>
parents: 2300
diff changeset
   111
                    (deps isMemberOf:WeakArray) ifTrue:[
2508
32924c15a4cd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2316
diff changeset
   112
                        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
   113
                        t == 0 ifTrue:[
6b24c092456a mhmh - be very careful when removing empty slots.
Claus Gittinger <cg@exept.de>
parents: 2300
diff changeset
   114
                            "/ yes - nil it
6b24c092456a mhmh - be very careful when removing empty slots.
Claus Gittinger <cg@exept.de>
parents: 2300
diff changeset
   115
                            valueArray basicAt:index put:nil.
2512
a57c66f472b3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2508
diff changeset
   116
                            keyArray basicAt:index put:DeletedEntry.
2093
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   117
                            tally := tally - 1.
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   118
                        ]
2316
6b24c092456a mhmh - be very careful when removing empty slots.
Claus Gittinger <cg@exept.de>
parents: 2300
diff changeset
   119
                    ] ifFalse:[
6b24c092456a mhmh - be very careful when removing empty slots.
Claus Gittinger <cg@exept.de>
parents: 2300
diff changeset
   120
                       "/ is it an empty WeakIdSet ?
6b24c092456a mhmh - be very careful when removing empty slots.
Claus Gittinger <cg@exept.de>
parents: 2300
diff changeset
   121
6b24c092456a mhmh - be very careful when removing empty slots.
Claus Gittinger <cg@exept.de>
parents: 2300
diff changeset
   122
                       (deps isMemberOf:WeakIdentitySet) ifTrue:[
6b24c092456a mhmh - be very careful when removing empty slots.
Claus Gittinger <cg@exept.de>
parents: 2300
diff changeset
   123
                            (t := deps size) == 0 ifTrue:[
6b24c092456a mhmh - be very careful when removing empty slots.
Claus Gittinger <cg@exept.de>
parents: 2300
diff changeset
   124
                                "/ yes - nil it
6b24c092456a mhmh - be very careful when removing empty slots.
Claus Gittinger <cg@exept.de>
parents: 2300
diff changeset
   125
                                valueArray basicAt:index put:nil.
2512
a57c66f472b3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2508
diff changeset
   126
                                keyArray basicAt:index put:DeletedEntry.
2316
6b24c092456a mhmh - be very careful when removing empty slots.
Claus Gittinger <cg@exept.de>
parents: 2300
diff changeset
   127
                                tally := tally - 1.
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
"/                                ]
6b24c092456a mhmh - be very careful when removing empty slots.
Claus Gittinger <cg@exept.de>
parents: 2300
diff changeset
   143
                            ]
6b24c092456a mhmh - be very careful when removing empty slots.
Claus Gittinger <cg@exept.de>
parents: 2300
diff changeset
   144
                        ]
2093
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   145
                    ]
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   146
                ] ifFalse:[
8031
38f7b57a3f77 print removed
Claus Gittinger <cg@exept.de>
parents: 4350
diff changeset
   147
                    "/ 'oops: nil value for key' infoPrint. key infoPrintCR.
2512
a57c66f472b3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2508
diff changeset
   148
                    keyArray basicAt:index put:DeletedEntry.
2297
118f794c4e42 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2279
diff changeset
   149
                    tally := tally - 1.
118f794c4e42 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2279
diff changeset
   150
                ]
2093
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   151
            ]
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
2279
ef0f7f5216c4 oops - irqBlockingstate was corrupted
Claus Gittinger <cg@exept.de>
parents: 2261
diff changeset
   154
        wasBlocked ifFalse:[OperatingSystem unblockInterrupts].
2093
3a849047dc90 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   155
        index := index + 1.
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
17846
24edc476ac18 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17845
diff changeset
   170
    ^ '$Id: WeakDependencyDictionary.st 10660 2011-07-18 15:22:09Z vranyj1 $'
24edc476ac18 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17845
diff changeset
   171
! !