SnapShotImage.st
author Claus Gittinger <cg@exept.de>
Mon, 23 Oct 2000 19:40:10 +0200
changeset 1415 77abca16cfa3
child 1417 28d6026fe30c
permissions -rw-r--r--
initial checkin

"{ Package: 'cg:private' }"

Object subclass:#SnapShotImage
	instanceVariableNames:'memory globals'
	classVariableNames:''
	poolDictionaries:''
	category:'System-Support'
!


!SnapShotImage class methodsFor:'instance creation'!

for:aFilename
    ^ self new for:aFilename
! !

!SnapShotImage methodsFor:'private'!

fetchGlobals
    memory globalEntries do:[:eachEntry |
        |pNameSym pVal nameSym value|

        pNameSym := eachEntry key.
        pVal := eachEntry value.

        nameSym := memory fetchObjectAt:pNameSym.
        value := memory fetchObjectAt:pVal.
        self halt.
    ].
!

for:aFilename
    memory := SnapShotImageMemory for:aFilename.
    memory readHeader
! !

!SnapShotImage methodsFor:'smalltalk protocol'!

allClassesDo:aBlock
    self keysAndValuesDo:[:key :val |
        val isBehavior ifTrue:[
            aBlock value:val
        ]
    ].
!

keysAndValuesDo:aTwoArgBlock
    globals isNil ifTrue:[
        self fetchGlobals
    ].
    globals keysAndValuesDo:aTwoArgBlock
! !

!SnapShotImage class methodsFor:'documentation'!

version
    ^ '$Header$'
! !