--- 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 $'
! !