raise a special signal, when a literalencodings class
is not present.
--- a/SeqColl.st Tue May 18 14:10:44 1999 +0200
+++ b/SeqColl.st Tue May 18 21:08:55 1999 +0200
@@ -12,7 +12,7 @@
Collection subclass:#SequenceableCollection
instanceVariableNames:''
- classVariableNames:''
+ classVariableNames:'MissingClassInLiteralArrayErrorSignal'
poolDictionaries:''
category:'Collections-Abstract'
!
@@ -61,6 +61,18 @@
"
! !
+!SequenceableCollection class methodsFor:'initialization'!
+
+initialize
+ MissingClassInLiteralArrayErrorSignal isNil ifTrue:[
+ MissingClassInLiteralArrayErrorSignal := ErrorSignal newSignalMayProceed:true.
+ MissingClassInLiteralArrayErrorSignal nameClass:self message:#missingClassInLiteralArrayErrorSignal.
+ MissingClassInLiteralArrayErrorSignal notifierString:'Missing class in literal encoding'.
+ ]
+
+ "Created: / 18.5.1999 / 14:49:51 / cg"
+! !
+
!SequenceableCollection class methodsFor:'instance creation'!
new:size withAll:element
@@ -94,6 +106,14 @@
"
! !
+!SequenceableCollection class methodsFor:'Signal constants'!
+
+missingClassInLiteralArrayErrorSignal
+ ^ MissingClassInLiteralArrayErrorSignal
+
+ "Created: / 18.5.1999 / 14:50:04 / cg"
+! !
+
!SequenceableCollection methodsFor:'accessing'!
after:anObject
@@ -1128,7 +1148,8 @@
clsName := self first.
cls := Smalltalk at:clsName ifAbsent:nil.
cls isNil ifTrue:[
- ^ self error:'unknown class in spec: ' , clsName.
+ ^ MissingClassInLiteralArrayErrorSignal
+ raiseRequestWith:clsName errorString:('unknown class in spec: ' , clsName)
].
^ cls decodeFromLiteralArray:self.
@@ -1138,7 +1159,7 @@
#(#MenuItem #rawLabel: 'right' #value: #right) decodeAsLiteralArray
"
- "Modified: 25.2.1997 / 19:52:40 / cg"
+ "Modified: / 18.5.1999 / 14:51:58 / cg"
!
literalArrayEncoding
@@ -4126,5 +4147,6 @@
!SequenceableCollection class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/Attic/SeqColl.st,v 1.103 1999-05-08 13:22:01 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Attic/SeqColl.st,v 1.104 1999-05-18 19:08:55 cg Exp $'
! !
+SequenceableCollection initialize!
--- a/SequenceableCollection.st Tue May 18 14:10:44 1999 +0200
+++ b/SequenceableCollection.st Tue May 18 21:08:55 1999 +0200
@@ -12,7 +12,7 @@
Collection subclass:#SequenceableCollection
instanceVariableNames:''
- classVariableNames:''
+ classVariableNames:'MissingClassInLiteralArrayErrorSignal'
poolDictionaries:''
category:'Collections-Abstract'
!
@@ -61,6 +61,18 @@
"
! !
+!SequenceableCollection class methodsFor:'initialization'!
+
+initialize
+ MissingClassInLiteralArrayErrorSignal isNil ifTrue:[
+ MissingClassInLiteralArrayErrorSignal := ErrorSignal newSignalMayProceed:true.
+ MissingClassInLiteralArrayErrorSignal nameClass:self message:#missingClassInLiteralArrayErrorSignal.
+ MissingClassInLiteralArrayErrorSignal notifierString:'Missing class in literal encoding'.
+ ]
+
+ "Created: / 18.5.1999 / 14:49:51 / cg"
+! !
+
!SequenceableCollection class methodsFor:'instance creation'!
new:size withAll:element
@@ -94,6 +106,14 @@
"
! !
+!SequenceableCollection class methodsFor:'Signal constants'!
+
+missingClassInLiteralArrayErrorSignal
+ ^ MissingClassInLiteralArrayErrorSignal
+
+ "Created: / 18.5.1999 / 14:50:04 / cg"
+! !
+
!SequenceableCollection methodsFor:'accessing'!
after:anObject
@@ -1128,7 +1148,8 @@
clsName := self first.
cls := Smalltalk at:clsName ifAbsent:nil.
cls isNil ifTrue:[
- ^ self error:'unknown class in spec: ' , clsName.
+ ^ MissingClassInLiteralArrayErrorSignal
+ raiseRequestWith:clsName errorString:('unknown class in spec: ' , clsName)
].
^ cls decodeFromLiteralArray:self.
@@ -1138,7 +1159,7 @@
#(#MenuItem #rawLabel: 'right' #value: #right) decodeAsLiteralArray
"
- "Modified: 25.2.1997 / 19:52:40 / cg"
+ "Modified: / 18.5.1999 / 14:51:58 / cg"
!
literalArrayEncoding
@@ -4126,5 +4147,6 @@
!SequenceableCollection class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/SequenceableCollection.st,v 1.103 1999-05-08 13:22:01 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/SequenceableCollection.st,v 1.104 1999-05-18 19:08:55 cg Exp $'
! !
+SequenceableCollection initialize!