Class.st
changeset 717 a9d03e3c21cf
parent 708 ba92b2a8477d
child 719 c557a530f971
--- a/Class.st	Sat Dec 09 15:44:05 1995 +0100
+++ b/Class.st	Sat Dec 09 15:46:03 1995 +0100
@@ -10,7 +10,7 @@
  hereby transferred.
 "
 
-ClassDescription subclass:#Class
+!ClassDescription subclass:#Class
 	 instanceVariableNames:'classvars comment subclasses classFilename package revision
                 history'
 	 classVariableNames:'UpdatingChanges LockChangesFile FileOutErrorSignal
@@ -2303,12 +2303,12 @@
 fileOutOn:aStream withTimeStamp:stampIt
     "file out my definition and all methods onto aStream"
 
-    |collectionOfCategories copyrightText comment cls versionMethod skippedMethods|
+    |collectionOfCategories copyrightMethod copyrightText comment cls versionMethod skippedMethods|
 
     self isLoaded ifFalse:[
-	^ FileOutErrorSignal 
-	    raiseRequestWith:self
-		 errorString:'will not fileOut unloaded classes'
+        ^ FileOutErrorSignal 
+            raiseRequestWith:self
+                 errorString:'will not fileOut unloaded classes'
     ].
 
     "
@@ -2320,32 +2320,37 @@
      copyright string at the beginning be preserved .... even if the
      code was edited in the browser and filedOut.
     "
-    ((cls := self class) selectorArray includes:#copyright) ifTrue:[
-	"
-	 get the copyright methods source,
-	 and insert at beginning.
-	"
-	copyrightText := (cls  compiledMethodAt:#copyright) source.
-	copyrightText isNil ifTrue:[
-	    "
-	     no source available - trigger an error
-	    "
-	    FileOutErrorSignal
-		raiseRequestWith:'no source for class ' , name , ' available. Cannot fileOut'.
-	    ^ self
-	].
-	copyrightText := copyrightText asCollectionOfLines.
-	copyrightText := copyrightText copyFrom:2 to:(copyrightText size).
-	copyrightText do:[:line | aStream nextPutAll:line. aStream cr.].
+    (copyrightMethod := self class compiledMethodAt:#copyright) notNil ifTrue:[
+        "
+         get the copyright methods source,
+         and insert at beginning.
+        "
+        copyrightText := copyrightMethod source.
+        copyrightText isNil ifTrue:[
+            "
+             no source available - trigger an error
+            "
+            FileOutErrorSignal
+                raiseRequestWith:'no source for class ' , name , ' available. Cannot fileOut'.
+            ^ self
+        ].
+        "
+         strip off the selector-line
+        "
+        copyrightText := copyrightText asCollectionOfLines asStringCollection.
+        copyrightText := copyrightText copyFrom:2 to:(copyrightText size).
+"/        copyrightText do:[:line | aStream nextPutAll:line. aStream cr.].
+        copyrightText := copyrightText asString.
+        aStream nextChunkPut:copyrightText.
     ].
 
     stampIt ifTrue:[
-	"/
-	"/ first, a timestamp
-	"/
-	aStream nextPutAll:(Smalltalk timeStamp).
-	aStream nextPutChunkSeparator. 
-	aStream cr; cr.
+        "/
+        "/ first, a timestamp
+        "/
+        aStream nextPutAll:(Smalltalk timeStamp).
+        aStream nextPutChunkSeparator. 
+        aStream cr; cr.
     ].
 
     "/
@@ -2359,19 +2364,19 @@
     "/ optional classInstanceVariables
     "/
     self class instanceVariableString isBlank ifFalse:[
-	self fileOutClassInstVarDefinitionOn:aStream.
-	aStream nextPutChunkSeparator. 
-	aStream cr; cr
+        self fileOutClassInstVarDefinitionOn:aStream.
+        aStream nextPutChunkSeparator. 
+        aStream cr; cr
     ].
 
     "/
     "/ a comment - if any
     "/
     (comment := self comment) notNil ifTrue:[
-	aStream nextPutAll:name; nextPutAll:' comment:'.
-	aStream nextPutAll:(comment storeString).
-	aStream nextPutChunkSeparator.
-	aStream cr; cr
+        aStream nextPutAll:name; nextPutAll:' comment:'.
+        aStream nextPutAll:(comment storeString).
+        aStream nextPutChunkSeparator.
+        aStream cr; cr
     ].
 
     "/
@@ -2386,41 +2391,41 @@
     "/
     collectionOfCategories := self class categories asSortedCollection.
     collectionOfCategories notNil ifTrue:[
-	"/
-	"/ documentation first (if any), but not the version method
-	"/
-	(collectionOfCategories includes:'documentation') ifTrue:[
-	    versionMethod := self class compiledMethodAt:#version.
-	    versionMethod notNil ifTrue:[
-		skippedMethods := Array with:versionMethod
-	    ].
-	    self class fileOutCategory:'documentation' except:skippedMethods only:nil on:aStream.
-	    aStream cr.
-	].
-
-	"/
-	"/ initialization next (if any)
-	"/
-	(collectionOfCategories includes:'initialization') ifTrue:[
-	    self class fileOutCategory:'initialization' on:aStream.
-	    aStream cr.
-	].
-
-	"/
-	"/ instance creation next (if any)
-	"/
-	(collectionOfCategories includes:'instance creation') ifTrue:[
-	    self class fileOutCategory:'instance creation' on:aStream.
-	    aStream cr.
-	].
-	collectionOfCategories do:[:aCategory |
-	    ((aCategory ~= 'documentation')
-	    and:[(aCategory ~= 'initialization')
-	    and:[aCategory ~= 'instance creation']]) ifTrue:[
-		self class fileOutCategory:aCategory on:aStream.
-		aStream cr
-	    ]
-	]
+        "/
+        "/ documentation first (if any), but not the version method
+        "/
+        (collectionOfCategories includes:'documentation') ifTrue:[
+            versionMethod := self class compiledMethodAt:#version.
+            versionMethod notNil ifTrue:[
+                skippedMethods := Array with:versionMethod
+            ].
+            self class fileOutCategory:'documentation' except:skippedMethods only:nil on:aStream.
+            aStream cr.
+        ].
+
+        "/
+        "/ initialization next (if any)
+        "/
+        (collectionOfCategories includes:'initialization') ifTrue:[
+            self class fileOutCategory:'initialization' on:aStream.
+            aStream cr.
+        ].
+
+        "/
+        "/ instance creation next (if any)
+        "/
+        (collectionOfCategories includes:'instance creation') ifTrue:[
+            self class fileOutCategory:'instance creation' on:aStream.
+            aStream cr.
+        ].
+        collectionOfCategories do:[:aCategory |
+            ((aCategory ~= 'documentation')
+            and:[(aCategory ~= 'initialization')
+            and:[aCategory ~= 'instance creation']]) ifTrue:[
+                self class fileOutCategory:aCategory on:aStream.
+                aStream cr
+            ]
+        ]
     ].
 
     "/
@@ -2428,29 +2433,30 @@
     "/
     collectionOfCategories := self categories asSortedCollection.
     collectionOfCategories notNil ifTrue:[
-	collectionOfCategories do:[:aCategory |
-	    self fileOutCategory:aCategory on:aStream.
-	    aStream cr
-	]
+        collectionOfCategories do:[:aCategory |
+            self fileOutCategory:aCategory on:aStream.
+            aStream cr
+        ]
     ].
 
     "/
     "/ finally, the previously skipped version method
     "/
     versionMethod notNil ifTrue:[
-	self class fileOutCategory:'documentation' except:nil only:skippedMethods on:aStream.
+        self class fileOutCategory:'documentation' except:nil only:skippedMethods on:aStream.
     ].
 
     "/
     "/ optionally an initialize message
     "/
     (self class implements:#initialize) ifTrue:[
-	aStream nextPutAll:(name , ' initialize').
-	aStream nextPutChunkSeparator.
-	aStream cr
+        aStream nextPutAll:(name , ' initialize').
+        aStream nextPutChunkSeparator.
+        aStream cr
     ]
 
     "Created: 15.11.1995 / 12:53:06 / cg"
+    "Modified: 9.12.1995 / 15:38:31 / cg"
 !
 
 fileOutPrimitiveDefinitionsOn:aStream
@@ -3352,6 +3358,6 @@
 !Class class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Class.st,v 1.100 1995-12-07 22:46:02 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Class.st,v 1.101 1995-12-09 14:46:03 cg Exp $'
 ! !
 Class initialize!