[squeak-dev] The Trunk: Collections-ul.633.mcz

commits at source.squeak.org commits at source.squeak.org
Wed May 6 00:40:23 UTC 2015


Levente Uzonyi uploaded a new version of Collections to project The Trunk:
http://source.squeak.org/trunk/Collections-ul.633.mcz

==================== Summary ====================

Name: Collections-ul.633
Author: ul
Time: 5 May 2015, 7:52:50.385 pm
UUID: 4937e4f5-8560-437c-a820-0cae464e47a0
Ancestors: Collections-ul.632

Don't try to use Character's ClassificationTable when the new class variables are not initialized properly. This is a possible workaround to fix the Spur bootstrap.

=============== Diff against Collections-ul.632 ===============

Item was changed:
  ----- Method: Character>>asLowercase (in category 'converting') -----
  asLowercase
  	"Answer the receiver's matching lowercase Character."
  	
+ 	AlphaNumericMask ifNotNil: [
+ 		value > 255 ifFalse: [ 
+ 			| result |
+ 			(result := (ClassificationTable at: value + 1) bitAnd: 16rFF) > 0
+ 				ifTrue: [ ^self class value: result ] ] ].
- 	value > 255 ifFalse: [ 
- 		| result |
- 		(result := (ClassificationTable at: value + 1) bitAnd: 16rFF) > 0
- 			ifTrue: [ ^self class value: result ] ].
  	^self class value: (self encodedCharSet toLowercaseCode: value)!

Item was changed:
  ----- Method: Character>>asUppercase (in category 'converting') -----
  asUppercase
  	"Answer the receiver's matching uppercase Character."
  	
+ 	AlphaNumericMask ifNotNil: [
+ 		value > 255 ifFalse: [ 
+ 			| result |
+ 			(result := ((ClassificationTable at: value + 1) bitShift: -8) bitAnd: 16rFF) > 0
+ 				ifTrue: [ ^self class value: result ] ] ].
- 	value > 255 ifFalse: [ 
- 		| result |
- 		(result := ((ClassificationTable at: value + 1) bitShift: -8) bitAnd: 16rFF) > 0
- 			ifTrue: [ ^self class value: result ] ].
  	^self class value: (self encodedCharSet toUppercaseCode: value)!

Item was changed:
  ----- Method: Character>>isAlphaNumeric (in category 'testing') -----
  isAlphaNumeric
  	"Answer whether the receiver is a letter or a digit."
  
+ 	AlphaNumericMask ifNotNil: [
+ 		value > 255 ifFalse: [ ^((ClassificationTable at: value + 1) bitAnd: AlphaNumericMask) > 0 ] ].
- 	value > 255 ifFalse: [ ^((ClassificationTable at: value + 1) bitAnd: AlphaNumericMask) > 0 ].
  	^self encodedCharSet isAlphaNumeric: self!

Item was changed:
  ----- Method: Character>>isDigit (in category 'testing') -----
  isDigit
  
+ 	DigitBit ifNotNil: [
+ 		value > 255 ifFalse: [ ^((ClassificationTable at: value + 1) bitAnd: DigitBit) > 0 ] ].
- 	value > 255 ifFalse: [ ^((ClassificationTable at: value + 1) bitAnd: DigitBit) > 0 ].
  	^self encodedCharSet isDigit: self.
  !

Item was changed:
  ----- Method: Character>>isLetter (in category 'testing') -----
  isLetter
  
+ 	LetterMask ifNotNil: [
+ 		value > 255 ifFalse: [ ^((ClassificationTable at: value + 1) bitAnd: LetterMask) > 0 ] ].
- 	value > 255 ifFalse: [ ^((ClassificationTable at: value + 1) bitAnd: LetterMask) > 0 ].
  	^self encodedCharSet isLetter: self!

Item was changed:
  ----- Method: Character>>isLowercase (in category 'testing') -----
  isLowercase
  
+ 	AlphaNumericMask ifNotNil: [
+ 		value > 255 ifFalse: [ ^((ClassificationTable at: value + 1) bitAnd: LowercaseBit) > 0 ] ].
- 	value > 255 ifFalse: [ ^((ClassificationTable at: value + 1) bitAnd: LowercaseBit) > 0 ].
  	^self encodedCharSet isLowercase: self.
  !

Item was changed:
  ----- Method: Character>>isUppercase (in category 'testing') -----
  isUppercase
  
+ 	AlphaNumericMask ifNotNil: [
+ 		value > 255 ifFalse: [ ^((ClassificationTable at: value + 1) bitAnd: UppercaseBit) > 0 ] ].
- 	value > 255 ifFalse: [ ^((ClassificationTable at: value + 1) bitAnd: UppercaseBit) > 0 ].
  	^self encodedCharSet isUppercase: self.
  !



More information about the Squeak-dev mailing list