Class.st
changeset 4733 c0f5ef2bac18
parent 4667 2b51bafd8243
child 4740 fda50b1e4fa5
--- a/Class.st	Wed Sep 15 15:29:29 1999 +0200
+++ b/Class.st	Wed Sep 15 15:32:59 1999 +0200
@@ -2052,25 +2052,32 @@
 !
 
 fileOutAllMethodsOn:aStream
+    self fileOutAllMethodsOn:aStream methodFilter:nil
+
+    "Created: 15.10.1996 / 11:13:00 / cg"
+    "Modified: 22.3.1997 / 16:12:17 / cg"
+!
+
+fileOutAllMethodsOn:aStream methodFilter:methodFilter
     |collectionOfCategories|
 
     collectionOfCategories := self class categories asSortedCollection.
     collectionOfCategories notNil ifTrue:[
-	collectionOfCategories do:[:aCategory |
-	    self class fileOutCategory:aCategory on:aStream.
-	    aStream cr
-	]
+        collectionOfCategories do:[:aCategory |
+            self class fileOutCategory:aCategory methodFilter:methodFilter on:aStream.
+            aStream cr
+        ]
     ].
     collectionOfCategories := self categories asSortedCollection.
     collectionOfCategories notNil ifTrue:[
-	collectionOfCategories do:[:aCategory |
-	    self fileOutCategory:aCategory on:aStream.
-	    aStream cr
-	]
+        collectionOfCategories do:[:aCategory |
+            self fileOutCategory:aCategory methodFilter:methodFilter on:aStream.
+            aStream cr
+        ]
     ].
 
     self privateClassesSorted do:[:aClass |
-	aClass fileOutAllMethodsOn:aStream
+        aClass fileOutAllMethodsOn:aStream methodFilter:methodFilter
     ].
 
     "Created: 15.10.1996 / 11:13:00 / cg"
@@ -2343,6 +2350,24 @@
      If initIt is true, and the class implements a class-initialize method,
      append a corresponding doIt expression for initialization."
 
+    self 
+        fileOutOn:aStream 
+        withTimeStamp:stampIt 
+        withInitialize:initIt 
+        withDefinition:true
+        methodFilter:nil
+
+    "Created: / 15.11.1995 / 12:53:06 / cg"
+    "Modified: / 1.4.1997 / 16:01:05 / stefan"
+    "Modified: / 13.3.1998 / 12:23:59 / cg"
+!
+
+fileOutOn:aStream withTimeStamp:stampIt withInitialize:initIt withDefinition:withDefinition methodFilter:methodFilter
+    "file out my definition and all methods onto aStream.
+     If stampIt is true, a timeStamp comment is prepended.
+     If initIt is true, and the class implements a class-initialize method,
+     append a corresponding doIt expression for initialization."
+
     |collectionOfCategories copyrightMethod copyrightText comment versionMethod skippedMethods
      meta|
 
@@ -2396,25 +2421,25 @@
         aStream cr; cr.
     ].
 
-    "/
-    "/ then the definition
-    "/
-    self fileOutAllDefinitionsOn:aStream.
-
-    "/
-    "/ a comment - if any
-    "/
-    (comment := self comment) notNil ifTrue:[
-        self fileOutCommentOn:aStream.
-        aStream cr.
+    withDefinition ifTrue:[
+        "/
+        "/ then the definition
+        "/
+        self fileOutAllDefinitionsOn:aStream.
+        "/
+        "/ a comment - if any
+        "/
+        (comment := self comment) notNil ifTrue:[
+            self fileOutCommentOn:aStream.
+            aStream cr.
+        ].
+        "/
+        "/ primitive definitions - if any
+        "/
+        self fileOutPrimitiveSpecsOn:aStream.
     ].
 
     "/
-    "/ primitive definitions - if any
-    "/
-    self fileOutPrimitiveSpecsOn:aStream.
-
-    "/
     "/ methods from all categories in metaclass (i.e. class methods)
     "/ EXCEPT: the version method is placed at the very end, to
     "/         avoid sourcePosition-shifts when checked out later.
@@ -2430,7 +2455,7 @@
             versionMethod notNil ifTrue:[
                 skippedMethods := Array with:versionMethod
             ].
-            meta fileOutCategory:'documentation' except:skippedMethods only:nil on:aStream.
+            meta fileOutCategory:'documentation' except:skippedMethods only:nil methodFilter:methodFilter on:aStream.
             aStream cr.
         ].
 
@@ -2438,7 +2463,7 @@
         "/ initialization next (if any)
         "/
         (collectionOfCategories includes:'initialization') ifTrue:[
-            meta fileOutCategory:'initialization' on:aStream.
+            meta fileOutCategory:'initialization' methodFilter:methodFilter on:aStream.
             aStream cr.
         ].
 
@@ -2446,14 +2471,14 @@
         "/ instance creation next (if any)
         "/
         (collectionOfCategories includes:'instance creation') ifTrue:[
-            meta fileOutCategory:'instance creation' on:aStream.
+            meta fileOutCategory:'instance creation' methodFilter:methodFilter on:aStream.
             aStream cr.
         ].
         collectionOfCategories do:[:aCategory |
             ((aCategory ~= 'documentation')
             and:[(aCategory ~= 'initialization')
             and:[aCategory ~= 'instance creation']]) ifTrue:[
-                meta fileOutCategory:aCategory on:aStream.
+                meta fileOutCategory:aCategory methodFilter:methodFilter on:aStream.
                 aStream cr
             ]
         ]
@@ -2465,7 +2490,7 @@
     collectionOfCategories := self categories asSortedCollection.
     collectionOfCategories notNil ifTrue:[
         collectionOfCategories do:[:aCategory |
-            self fileOutCategory:aCategory on:aStream.
+            self fileOutCategory:aCategory methodFilter:methodFilter on:aStream.
             aStream cr
         ]
     ].
@@ -2474,7 +2499,7 @@
     "/ any private classes' methods
     "/
     self privateClassesSorted do:[:aClass |
-        aClass fileOutAllMethodsOn:aStream
+        aClass fileOutAllMethodsOn:aStream methodFilter:methodFilter
     ].
 
 
@@ -2482,7 +2507,7 @@
     "/ finally, the previously skipped version method
     "/
     versionMethod notNil ifTrue:[
-        meta fileOutCategory:'documentation' except:nil only:skippedMethods on:aStream.
+        meta fileOutCategory:'documentation' except:nil only:skippedMethods methodFilter:methodFilter on:aStream.
     ].
 
     initIt ifTrue:[
@@ -3909,5 +3934,5 @@
 !Class class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Class.st,v 1.350 1999-09-02 16:46:11 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Class.st,v 1.351 1999-09-15 13:32:16 cg Exp $'
 ! !