SnapShotImage.st
changeset 1415 77abca16cfa3
child 1417 28d6026fe30c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/SnapShotImage.st	Mon Oct 23 19:40:10 2000 +0200
@@ -0,0 +1,58 @@
+"{ 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$'
+! !