Generalize visitor pattern and define #visit...:with: -methods instead
of #encode...:with:
--- a/CharacterArray.st Fri Jun 11 20:12:49 2004 +0200
+++ b/CharacterArray.st Fri Jun 11 20:17:09 2004 +0200
@@ -2827,12 +2827,6 @@
^ CharacterEncoder encodeString:self from:oldEncoding into:newEncoding
!
-encodeOn:anEncoder with:aParameter
-
- anEncoder encodeString:self with:aParameter
-
-!
-
rot13
"Usenet: from `rotate alphabet 13 places']
The simple Caesar-cypher encryption that replaces each English
@@ -4978,10 +4972,17 @@
! !
+!CharacterArray methodsFor:'visiting'!
+
+acceptVisitor:aVisitor with:aParameter
+
+ ^ aVisitor visitString:self with:aParameter
+! !
+
!CharacterArray class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/CharacterArray.st,v 1.304 2004-06-07 09:04:10 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/CharacterArray.st,v 1.305 2004-06-11 18:14:28 stefan Exp $'
! !
CharacterArray initialize!
--- a/Collection.st Fri Jun 11 20:12:49 2004 +0200
+++ b/Collection.st Fri Jun 11 20:17:09 2004 +0200
@@ -1375,13 +1375,6 @@
"Modified: / 19.4.1998 / 20:03:57 / cg"
! !
-!Collection methodsFor:'encoding'!
-
-encodeOn:anEncoder with:aParameter
-
- anEncoder encodeCollection:self with:aParameter
-! !
-
!Collection methodsFor:'enumerating'!
addAllTo:aCollection
@@ -2741,10 +2734,17 @@
! !
+!Collection methodsFor:'visiting'!
+
+acceptVisitor:aVisitor with:aParameter
+
+ ^ aVisitor visitCollection:self with:aParameter
+! !
+
!Collection class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/Collection.st,v 1.162 2004-05-13 18:57:22 stefan Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Collection.st,v 1.163 2004-06-11 18:17:09 stefan Exp $'
! !
Collection initialize!
--- a/Dictionary.st Fri Jun 11 20:12:49 2004 +0200
+++ b/Dictionary.st Fri Jun 11 20:17:09 2004 +0200
@@ -1134,13 +1134,6 @@
valueArray := valueArray shallowCopy
! !
-!Dictionary methodsFor:'encoding'!
-
-encodeOn:anEncoder with:aParameter
-
- anEncoder encodeDictionary:self with:aParameter
-! !
-
!Dictionary methodsFor:'enumerating'!
allKeysDo:aBlock
@@ -1897,6 +1890,13 @@
! !
+!Dictionary methodsFor:'visiting'!
+
+acceptVisitor:aVisitor with:aParameter
+
+ ^ aVisitor visitDictionary:self with:aParameter
+! !
+
!Dictionary::NilKey class methodsFor:'instance creation'!
basicNew
@@ -1911,7 +1911,7 @@
!Dictionary class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/Dictionary.st,v 1.81 2004-02-11 14:03:53 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Dictionary.st,v 1.82 2004-06-11 18:15:49 stefan Exp $'
! !
Dictionary initialize!
--- a/Fraction.st Fri Jun 11 20:12:49 2004 +0200
+++ b/Fraction.st Fri Jun 11 20:17:09 2004 +0200
@@ -900,13 +900,6 @@
"Modified: 28.7.1997 / 19:08:40 / cg"
! !
-!Fraction methodsFor:'encoding'!
-
-encodeOn:anEncoder with:aParameter
-
- anEncoder encodeFraction:self with:aParameter
-! !
-
!Fraction methodsFor:'printing & storing'!
printOn:aStream
@@ -1092,10 +1085,17 @@
"Modified: 5.11.1996 / 12:18:46 / cg"
! !
+!Fraction methodsFor:'visiting'!
+
+acceptVisitor:aVisitor with:aParameter
+
+ ^ aVisitor visitFraction:self with:aParameter
+! !
+
!Fraction class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/Fraction.st,v 1.69 2004-01-29 13:20:14 stefan Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Fraction.st,v 1.70 2004-06-11 18:16:08 stefan Exp $'
! !
Fraction initialize!
--- a/LimitedPrecisionReal.st Fri Jun 11 20:12:49 2004 +0200
+++ b/LimitedPrecisionReal.st Fri Jun 11 20:17:09 2004 +0200
@@ -797,15 +797,6 @@
^ (self * d + aFraction numerator) / d
! !
-!LimitedPrecisionReal methodsFor:'encoding'!
-
-encodeOn:anEncoder with:aParameter
-
- anEncoder encodeFloat:self with:aParameter
-
-
-! !
-
!LimitedPrecisionReal methodsFor:'printing & storing'!
printOn:aStream
@@ -969,10 +960,17 @@
"
! !
+!LimitedPrecisionReal methodsFor:'visiting'!
+
+acceptVisitor:aVisitor with:aParameter
+
+ ^ aVisitor visitFloat:self with:aParameter
+! !
+
!LimitedPrecisionReal class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/LimitedPrecisionReal.st,v 1.59 2004-03-16 08:52:06 stefan Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/LimitedPrecisionReal.st,v 1.60 2004-06-11 18:16:48 stefan Exp $'
! !
LimitedPrecisionReal initialize!
--- a/Symbol.st Fri Jun 11 20:12:49 2004 +0200
+++ b/Symbol.st Fri Jun 11 20:17:09 2004 +0200
@@ -513,13 +513,6 @@
^ self
! !
-!Symbol methodsFor:'encoding'!
-
-encodeOn:anEncoder with:aParameter
-
- anEncoder encodeSymbol:self with:aParameter
-! !
-
!Symbol methodsFor:'printing & storing'!
displayString
@@ -742,8 +735,15 @@
! !
+!Symbol methodsFor:'visiting'!
+
+acceptVisitor:aVisitor with:aParameter
+
+ ^ aVisitor visitSymbol:self with:aParameter
+! !
+
!Symbol class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/Symbol.st,v 1.77 2004-06-08 10:30:08 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Symbol.st,v 1.78 2004-06-11 18:15:14 stefan Exp $'
! !
--- a/UndefinedObject.st Fri Jun 11 20:12:49 2004 +0200
+++ b/UndefinedObject.st Fri Jun 11 20:17:09 2004 +0200
@@ -246,15 +246,6 @@
"ignored here - nil has no dependents"
! !
-!UndefinedObject methodsFor:'encoding'!
-
-encodeOn:anEncoder with:aParameter
-
- anEncoder encodeNilWith:aParameter
-
-
-! !
-
!UndefinedObject methodsFor:'error catching'!
basicAt:index
@@ -682,10 +673,17 @@
! !
+!UndefinedObject methodsFor:'visiting'!
+
+acceptVisitor:aVisitor with:aParameter
+
+ ^ aVisitor visitNilWith:aParameter
+! !
+
!UndefinedObject class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/UndefinedObject.st,v 1.58 2004-06-08 10:30:22 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/UndefinedObject.st,v 1.59 2004-06-11 18:15:33 stefan Exp $'
! !
UndefinedObject initialize!