--- a/ObjFHandle.st Wed Dec 06 13:42:24 1995 +0100
+++ b/ObjFHandle.st Wed Dec 06 18:23:42 1995 +0100
@@ -92,15 +92,16 @@
!
method
- "return method"
+ "return the method"
+ weakMethodRef isNil ifTrue:[^ nil].
^ weakMethodRef at:1
"Created: 14.9.1995 / 21:13:13 / claus"
!
method:something
- "set method"
+ "set the method"
weakMethodRef := WeakArray with:something.
weakMethodRef addDependent:self.
@@ -173,6 +174,30 @@
"Created: 14.9.1995 / 21:13:12 / claus"
! !
+!ObjectFileHandle methodsFor:'printing'!
+
+printOn:aStream
+ aStream nextPutAll:self class name; nextPutAll:'(handle=<'.
+ sysHandle1 printOn:aStream.
+ aStream nextPutAll:' '.
+ sysHandle2 printOn:aStream.
+ aStream nextPutAll:'> path='''.
+ pathName printOn:aStream.
+ aStream nextPutAll:''' id='.
+ moduleID printOn:aStream.
+ aStream nextPutAll:' type='.
+ handleType printOn:aStream.
+ aStream nextPutAll:' method=<'.
+ self method printOn:aStream.
+ aStream nextPutAll:'> classes=<'.
+ self classes printOn:aStream.
+ aStream nextPutAll:'>'.
+
+ aStream nextPutAll:')'.
+
+ "Modified: 6.12.1995 / 18:11:53 / cg"
+! !
+
!ObjectFileHandle methodsFor:'queries'!
isClassLibHandle
@@ -187,6 +212,20 @@
^ handleType == #methodObject
!
+isForCollectedObject
+ "return true, if my clases/method has already been garbage collected"
+
+ handleType == #classLibraryObject ifTrue:[
+ ^ (weakClassRefs findFirst:[:x | x notNil]) == 0
+ ].
+ handleType == #methodObject ifTrue:[
+ ^ (weakMethodRef at:1) isNil
+ ].
+ ^ false
+
+ "Created: 6.12.1995 / 17:46:58 / cg"
+!
+
isObsolete
"return true, if my clases/method has already been removed from
the image. I.e. if the object file can be unloaded without danger."
@@ -205,5 +244,5 @@
!ObjectFileHandle class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libcomp/Attic/ObjFHandle.st,v 1.11 1995-12-06 09:46:53 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libcomp/Attic/ObjFHandle.st,v 1.12 1995-12-06 17:23:29 cg Exp $'
! !