--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/AbstractSourceFileReader.st Thu Sep 17 16:13:30 2009 +0200
@@ -0,0 +1,56 @@
+"{ Package: 'stx:libbasic' }"
+
+Object subclass:#AbstractSourceFileReader
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ category:'Kernel-Classes'
+!
+
+!AbstractSourceFileReader class methodsFor:'documentation'!
+
+versionSVN
+
+ ^'$Id: AbstractSourceFileReader.st,v 1.1 2009-09-17 14:13:30 fm Exp $'
+! !
+
+!AbstractSourceFileReader class methodsFor:'fileIn'!
+
+fileIn: aFilename
+
+ ^self new fileIn: aFilename
+
+ "Created: / 16-08-2009 / 10:14:51 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+fileInStream: aStream
+
+ ^self new fileInStream: aStream
+
+ "Created: / 16-08-2009 / 10:15:05 / Jan Vrany <vranyj1@fel.cvut.cz>"
+! !
+
+!AbstractSourceFileReader methodsFor:'fileIn'!
+
+fileIn:aFilename
+
+ | stream |
+ [stream := aFilename asFilename readStream.
+ self fileInStream: stream]
+ ensure:
+ [stream ifNotNil:[stream close]]
+
+ "Modified: / 15-08-2009 / 14:47:29 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+fileInStream:arg
+ "raise an error: must be redefined in concrete subclass(es)"
+
+ ^ self subclassResponsibility
+! !
+
+!AbstractSourceFileReader class methodsFor:'documentation'!
+
+version
+ ^ '$Header: /cvs/stx/stx/libbasic/AbstractSourceFileReader.st,v 1.1 2009-09-17 14:13:30 fm Exp $'
+! !