AbstractSourceFileReader.st
author Stefan Vogel <sv@exept.de>
Thu, 16 Feb 2017 20:31:42 +0100
changeset 21467 f4cefe65731e
parent 21454 7c6e37a93527
child 23521 74d847ad5d1e
permissions -rw-r--r--
#REFACTORING by stefan class: Stream comment/format in: #nextPutUtf16Bytes:MSB: changed: #nextPutAllUtf16: #nextPutAllUtf8: #nextPutUtf8:

"
 COPYRIGHT (c) 2009 by Claus Gittinger / eXept Software AG
              All Rights Reserved

 This software is furnished under a license and may be used
 only in accordance with the terms of that license and with the
 inclusion of the above copyright notice.   This software may not
 be provided or otherwise made available to, or used by, any
 other person.  No title to or ownership of the software is
 hereby transferred.
"
"{ Package: 'stx:libbasic' }"

"{ NameSpace: Smalltalk }"

Object subclass:#AbstractSourceFileReader
	instanceVariableNames:''
	classVariableNames:''
	poolDictionaries:''
	category:'Kernel-Classes-Support'
!

!AbstractSourceFileReader class methodsFor:'documentation'!

copyright
"
 COPYRIGHT (c) 2009 by Claus Gittinger / eXept Software AG
              All Rights Reserved

 This software is furnished under a license and may be used
 only in accordance with the terms of that license and with the
 inclusion of the above copyright notice.   This software may not
 be provided or otherwise made available to, or used by, any
 other person.  No title to or ownership of the software is
 hereby transferred.
"
!

documentation
"
    Abstract common superclass for source file readers
"
! !

!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 class methodsFor:'queries'!

isAbstract
    ^ self == AbstractSourceFileReader
! !

!AbstractSourceFileReader methodsFor:'fileIn'!

fileIn:aFilename

    | stream |
    [stream := aFilename asFilename readStream.
    self fileInStream: stream]
        ensure:
            [stream notNil ifTrue:[stream close]]

    "Modified: / 15-08-2009 / 14:47:29 / Jan Vrany <vranyj1@fel.cvut.cz>"
    "Modified: / 08-08-2010 / 14:38:35 / cg"
!

fileInStream:arg
    "raise an error: must be redefined in concrete subclass(es)"

    ^ self subclassResponsibility
! !

!AbstractSourceFileReader class methodsFor:'documentation'!

version
    ^ '$Header$'
!

version_CVS
    ^ '$Header$'
!

version_SVN
    ^'$Id$'
! !