EOFObject.st
author Claus Gittinger <cg@exept.de>
Tue, 09 Jul 2019 20:55:17 +0200
changeset 24417 03b083548da2
parent 23575 853a4f70d0c5
permissions -rw-r--r--
#REFACTORING by exept class: Smalltalk class changed: #recursiveInstallAutoloadedClassesFrom:rememberIn:maxLevels:noAutoload:packageTop:showSplashInLevels: Transcript showCR:(... bindWith:...) -> Transcript showCR:... with:...
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
23575
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
 COPYRIGHT (c) 2018 by Claus Gittinger
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
              All Rights Reserved
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
 This software is furnished under a license and may be used
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
 hereby transferred.
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
"
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
"{ Package: 'stx:libbasic' }"
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
"{ NameSpace: Smalltalk }"
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
Object subclass:#EOFObject
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
	instanceVariableNames:''
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
	classVariableNames:'TheOneAndOnlyEOF'
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
	poolDictionaries:''
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
	category:'Kernel-Objects'
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
!
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
!EOFObject class methodsFor:'documentation'!
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
copyright
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
"
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
 COPYRIGHT (c) 2018 by Claus Gittinger
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
              All Rights Reserved
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
 This software is furnished under a license and may be used
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
 only in accordance with the terms of that license and with the
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
 inclusion of the above copyright notice.   This software may not
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
 be provided or otherwise made available to, or used by, any
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
 other person.  No title to or ownership of the software is
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
 hereby transferred.
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
"
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
!
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
documentation
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
"
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
    there is only one instance of this class: EOF,
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
    representing an EOF token.
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
    This is mainly present for stream-pipe processing,
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
    and may be used to signal the end of a stream.
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
    Smalltalk code does not normally use it.
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
    [author:]
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
        Claus Gittinger
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
"
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
! !
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
!EOFObject class methodsFor:'instance creation'!
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
basicNew
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
    TheOneAndOnlyEOF isNil ifTrue:[
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
        TheOneAndOnlyEOF := super basicNew.
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
    ].
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
    ^ TheOneAndOnlyEOF
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
    "
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
     EOFObject basicNew
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
     EOFObject new
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
    "
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
    "Modified: / 20-12-2018 / 16:57:47 / Claus Gittinger"
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
! !
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
!EOFObject class methodsFor:'class initialization'!
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
initialize
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
    |singleton|
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
    singleton := self basicNew.
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
    Smalltalk at:#EOF put:singleton
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
    "Modified: / 14-03-2018 / 19:32:23 / stefan"
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
    "Modified (format): / 20-12-2018 / 16:56:32 / Claus Gittinger"
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
! !
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
!EOFObject methodsFor:'printing & storing'!
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
printOn:aStream
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    85
    aStream nextPutAll:'<EOF>'.
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
    "Modified: / 20-12-2018 / 16:58:09 / Claus Gittinger"
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
! !
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    89
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
!EOFObject methodsFor:'queries'!
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    91
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
isEOF
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
    ^ true
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    94
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    95
    "
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    96
     EOF isEOF
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    97
    "
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    98
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    99
    "Created: / 20-12-2018 / 16:57:59 / Claus Gittinger"
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   100
! !
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   101
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   102
!EOFObject class methodsFor:'documentation'!
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   103
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   104
version_CVS
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   105
    ^ '$Header$'
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   106
! !
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   107
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   108
853a4f70d0c5 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   109
EOFObject initialize!