--- a/Class.st Fri Sep 17 12:59:00 1999 +0200
+++ b/Class.st Fri Sep 17 13:34:48 1999 +0200
@@ -436,8 +436,7 @@
!
classFilename
- "return the name of the file from which the class was compiled.
- This is currently NOT used."
+ "return the name of the file from which the class was compiled."
|owner|
@@ -3719,7 +3718,7 @@
sourceStreamFor:source
"return an open stream on a sourcefile, nil if that is not available"
- |owner fileName aStream mgr validated|
+ |owner fileName aStream mgr validated guessedFileName|
(owner := self owningClass) notNil ifTrue:[^ owner sourceStreamFor:source].
validated := false.
@@ -3774,7 +3773,7 @@
mgr notNil ifTrue:[
classFilename isNil ifTrue:[
- classFilename := (Smalltalk fileNameForClass:self) , '.st'.
+ classFilename := guessedFileName := (Smalltalk fileNameForClass:self) , '.st'.
].
source asFilename baseName = classFilename asFilename baseName ifTrue:[
aStream := mgr getSourceStreamFor:self.
@@ -3814,6 +3813,11 @@
]
].
].
+ (aStream notNil and:[aStream isFileStream]) ifTrue:[
+ guessedFileName notNil ifTrue:[
+ classFilename := aStream pathName asFilename baseName.
+ ]
+ ].
^ aStream
"
@@ -3981,5 +3985,5 @@
!Class class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/Class.st,v 1.354 1999-09-17 10:59:00 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Class.st,v 1.355 1999-09-17 11:34:48 cg Exp $'
! !