SnapShotImage.st
changeset 1415 77abca16cfa3
child 1417 28d6026fe30c
equal deleted inserted replaced
1414:1c2b4909ba3a 1415:77abca16cfa3
       
     1 "{ Package: 'cg:private' }"
       
     2 
       
     3 Object subclass:#SnapShotImage
       
     4 	instanceVariableNames:'memory globals'
       
     5 	classVariableNames:''
       
     6 	poolDictionaries:''
       
     7 	category:'System-Support'
       
     8 !
       
     9 
       
    10 
       
    11 !SnapShotImage class methodsFor:'instance creation'!
       
    12 
       
    13 for:aFilename
       
    14     ^ self new for:aFilename
       
    15 ! !
       
    16 
       
    17 !SnapShotImage methodsFor:'private'!
       
    18 
       
    19 fetchGlobals
       
    20     memory globalEntries do:[:eachEntry |
       
    21         |pNameSym pVal nameSym value|
       
    22 
       
    23         pNameSym := eachEntry key.
       
    24         pVal := eachEntry value.
       
    25 
       
    26         nameSym := memory fetchObjectAt:pNameSym.
       
    27         value := memory fetchObjectAt:pVal.
       
    28         self halt.
       
    29     ].
       
    30 !
       
    31 
       
    32 for:aFilename
       
    33     memory := SnapShotImageMemory for:aFilename.
       
    34     memory readHeader
       
    35 ! !
       
    36 
       
    37 !SnapShotImage methodsFor:'smalltalk protocol'!
       
    38 
       
    39 allClassesDo:aBlock
       
    40     self keysAndValuesDo:[:key :val |
       
    41         val isBehavior ifTrue:[
       
    42             aBlock value:val
       
    43         ]
       
    44     ].
       
    45 !
       
    46 
       
    47 keysAndValuesDo:aTwoArgBlock
       
    48     globals isNil ifTrue:[
       
    49         self fetchGlobals
       
    50     ].
       
    51     globals keysAndValuesDo:aTwoArgBlock
       
    52 ! !
       
    53 
       
    54 !SnapShotImage class methodsFor:'documentation'!
       
    55 
       
    56 version
       
    57     ^ '$Header$'
       
    58 ! !