Eliot Miranda uploaded a new version of Collections to project The Trunk:
http://source.squeak.org/trunk/Collections-eem.880.mcz ==================== Summary ==================== Name: Collections-eem.880 Author: eem Time: 11 March 2020, 1:13:58.722295 pm UUID: 927e58eb-1ab6-470a-8eb2-f36065351836 Ancestors: Collections-nice.879 Add the read-only object support to accompany Kernel-eem.1317 =============== Diff against Collections-nice.879 =============== Item was changed: ----- Method: ByteString>>at:put: (in category 'accessing') ----- at: index put: aCharacter + "Primitive. Store the Character in the field of the receiver indicated by the index. + Fail if the index is not an Integer or is out of bounds, or if the argument is not a + Character, or the Character's code is outside the 0-255 range, or if the receiver + is read-only. Essential. See Object documentation whatIsAPrimitive." - "Primitive. Store the Character in the field of the receiver indicated by - the index. Fail if the index is not an Integer or is out of bounds, or if - the argument is not a Character. Essential. See Object documentation - whatIsAPrimitive." + <primitive: 64 error: ec> + aCharacter isCharacter ifFalse: + [^self errorImproperStore]. - <primitive: 64> - aCharacter isCharacter - ifFalse:[^self errorImproperStore]. - aCharacter isOctetCharacter ifFalse:[ - "Convert to WideString" - self becomeForward: (WideString from: self). - ^self at: index put: aCharacter. - ]. index isInteger + ifTrue: + [ec == #'no modification' ifTrue: + [^thisContext modificationForbiddenFor: self at: index putCharacter: aCharacter]. + aCharacter isOctetCharacter ifFalse: "Convert to WideString" + [self becomeForward: (WideString from: self). + ^self at: index put: aCharacter]. + self errorSubscriptBounds: index] - ifTrue: [self errorSubscriptBounds: index] ifFalse: [self errorNonIntegerIndex]! Item was changed: ----- Method: ByteSymbol>>pvtAt:put: (in category 'private') ----- pvtAt: index put: aCharacter + "Primitive. Store the Character in the field of the receiver indicated by the index. + Fail if the index is not an Integer or is out of bounds, or if the argument is not a + Character, or the Character's code is outside the 0-255 range, or if the receiver + is read-only. Essential. See Object documentation whatIsAPrimitive." - "Primitive. Store the Character in the field of the receiver indicated by - the index. Fail if the index is not an Integer or is out of bounds, or if - the argument is not a Character. Essential. See Object documentation - whatIsAPrimitive." + <primitive: 64 error: ec> + aCharacter isCharacter ifFalse: + [^self errorImproperStore]. - <primitive: 64> - aCharacter isCharacter - ifFalse:[^self errorImproperStore]. index isInteger + ifTrue: + [ec == #'no modification' ifTrue: + [^thisContext modificationForbiddenFor: self at: index putCharacter: aCharacter]. + self errorSubscriptBounds: index] - ifTrue: [self errorSubscriptBounds: index] ifFalse: [self errorNonIntegerIndex]! Item was changed: ----- Method: WideString>>at:put: (in category 'accessing') ----- at: index put: aCharacter + "Primitive. Store the Character in the field of the receiver indicated by + the index. Fail if the index is not an Integer or is out of bounds, or if + the argument is not a Character, or if the receiver is read-only. + Essential. See Object documentation whatIsAPrimitive." - "Store the Character into the field of the receiver indicated by the index. - Primitive. Fail if the index is not an Integer or is out of bounds, or if the - argument is not a Character. Essential. See Object documentation whatIsAPrimitive." + <primitive: 64 error: ec> + aCharacter isCharacter ifFalse: + [^self errorImproperStore]. + index isInteger - <primitive: 64> - ^aCharacter isCharacter ifTrue: + [ec == #'no modification' ifTrue: + [^thisContext modificationForbiddenFor: self at: index putCharacter: aCharacter]. + self errorSubscriptBounds: index] + ifFalse: [self errorNonIntegerIndex]! - [index isInteger - ifTrue: [self errorSubscriptBounds: index] - ifFalse: [self errorNonIntegerIndex]] - ifFalse: - [self errorImproperStore]! Item was changed: ----- Method: WideSymbol>>pvtAt:put: (in category 'private') ----- pvtAt: index put: aCharacter "Primitive. Store the Character in the field of the receiver indicated by + the index. Fail if the index is not an Integer or is out of bounds, or if + the argument is not a Character, or if the receiver is read-only. + Essential. See Object documentation whatIsAPrimitive." - the index. Fail if the index is not an Integer or is out of bounds, or if - the argument is not a Character. Essential. See Object documentation - whatIsAPrimitive." + <primitive: 61 error: ec> + aCharacter isCharacter ifFalse: + [^self errorImproperStore]. - <primitive: 61> index isInteger + ifTrue: + [ec == #'no modification' ifTrue: + [^thisContext modificationForbiddenFor: self at: index putCharacter: aCharacter]. + self errorSubscriptBounds: index] - ifTrue: [self errorSubscriptBounds: index] ifFalse: [self errorNonIntegerIndex]! |
Free forum by Nabble | Edit this page |