[squeak-dev] The Trunk: Kernel-nice.365.mcz

commits at source.squeak.org commits at source.squeak.org
Sun Jan 3 14:40:34 UTC 2010


Nicolas Cellier uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-nice.365.mcz

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

Name: Kernel-nice.365
Author: nice
Time: 3 January 2010, 3:40:17 am
UUID: 75d88db0-4bfc-4c43-9b99-9f82b770d85d
Ancestors: Kernel-ar.364

move #basicType to EToys
remove some #or:or: #and:and: sends
change categorizer duplicate strategy

=============== Diff against Kernel-ar.364 ===============

Item was changed:
  ----- Method: Categorizer>>changeFromCategorySpecs: (in category 'accessing') -----
  changeFromCategorySpecs: categorySpecs 
  	"Tokens is an array of categorySpecs as scanned from a browser 'reorganize' pane, or built up by some other process, such as a scan of an environment."
  
  	| newCategories newStops temp cc currentStop oldElements newElements |
  	oldElements := elementArray asSet.
  	newCategories := Array new: categorySpecs size.
  	newStops := Array new: categorySpecs size.
  	currentStop := 0.
  	newElements := WriteStream on: (Array new: 16).
  	1 to: categorySpecs size do: 
  		[:i | | catSpec selectors |
  		catSpec := categorySpecs at: i.
  		newCategories at: i put: catSpec first asSymbol.
  		selectors := catSpec allButFirst collect: [:each | each isSymbol
  							ifTrue: [each]
  							ifFalse: [each printString asSymbol]].
  		selectors asSortedCollection do:
  			[:elem |
  			(oldElements remove: elem ifAbsent: [nil]) notNil ifTrue:
  				[newElements nextPut: elem.
  				currentStop := currentStop+1]].
  		newStops at: i put: currentStop].
  
  	"Ignore extra elements but don't lose any existing elements!!"
  	oldElements := oldElements collect:
  		[:elem | Array with: (self categoryOfElement: elem) with: elem].
  	newElements := newElements contents.
  	categoryArray := newCategories.
  	(cc := categoryArray asSet) size = categoryArray size ifFalse: ["has duplicate element"
  		temp := categoryArray asOrderedCollection.
  		temp removeAll: categoryArray asSet asOrderedCollection.
+ 		temp do: [:dup | | ii dup2 num | 
- 		temp do: [:dup | | ii | 
  			ii := categoryArray indexOf: dup.
+ 			num := 2..
+ 			[dup2 := (dup,' #', num printString) asSymbol.  cc includes: dup2] whileTrue: [num := num + 1].
+ 			cc add: dup2.
+ 			categoryArray at: ii put: dup2]].
- 			[dup := (dup,' #2') asSymbol.  cc includes: dup] whileTrue.
- 			cc add: dup.
- 			categoryArray at: ii put: dup]].
  	categoryStops := newStops.
  	elementArray := newElements.
  	oldElements do: [:pair | self classify: pair last under: pair first].!

Item was changed:
  ----- Method: Metaclass>>nonTrivial (in category 'fileIn/Out') -----
  nonTrivial 
  	"Answer whether the receiver has any methods or instance variables."
  
+ 	^ self instVarNames size > 0 or: [self methodDict size > 0 or: [self hasTraitComposition]]!
- 	^ self instVarNames size > 0 or: [self methodDict size > 0] or: [self hasTraitComposition]!

Item was changed:
  ----- Method: Timespan>>= (in category 'ansi protocol') -----
  = comparand
  	^ self class = comparand class 
+ 		and: [ self start = comparand start
+ 		and: [ self duration = comparand duration ] ]
- 		and: [ self start = comparand start ]
- 		and: [ self duration = comparand duration ]
  .!

Item was changed:
  ----- Method: BlockClosure>>valueSupplyingAnswers: (in category 'evaluating') -----
  valueSupplyingAnswers: aListOfPairs
  	"evaluate the block using a list of questions / answers that might be called upon to
  	automatically respond to Object>>confirm: or FillInTheBlank requests"
  
  	^ [self value] 
  		on: ProvideAnswerNotification
  		do: 
  			[:notify | | answer caption |
  			
  			caption := notify messageText withSeparatorsCompacted. "to remove new lines"
  			answer := aListOfPairs
  				detect: 
+ 					[:each | caption = each first
+ 						or: [(caption includesSubstring: each first caseSensitive: false)
+ 						or: [each first match: caption]]]
- 					[:each | caption = each first or:
- 						[caption includesSubstring: each first caseSensitive: false] or:
- 						[each first match: caption]]
  					ifNone: [nil].
  			answer
  				ifNotNil: [notify resume: answer second]
  				ifNil: 
  					[ | outerAnswer |
  					outerAnswer := ProvideAnswerNotification signal: notify messageText.
  					outerAnswer 
  						ifNil: [notify resume] 
  						ifNotNil: [notify resume: outerAnswer]]]!

Item was changed:
  ----- Method: BlockContext>>valueSupplyingAnswers: (in category 'evaluating') -----
  valueSupplyingAnswers: aListOfPairs
  	"evaluate the block using a list of questions / answers that might be called upon to
  	automatically respond to Object>>confirm: or FillInTheBlank requests"
  
  	^ [self value] 
  		on: ProvideAnswerNotification
  		do: 
  			[:notify | | answer caption |
  			
  			caption := notify messageText withSeparatorsCompacted. "to remove new lines"
  			answer := aListOfPairs
  				detect: 
+ 					[:each | caption = each first
+ 						or: [(caption includesSubstring: each first caseSensitive: false)
+ 						or: [each first match: caption]]]
- 					[:each | caption = each first or:
- 						[caption includesSubstring: each first caseSensitive: false] or:
- 						[each first match: caption]]
  					ifNone: [nil].
  			answer
  				ifNotNil: [notify resume: answer second]
  				ifNil: 
  					[ | outerAnswer |
  					outerAnswer := ProvideAnswerNotification signal: notify messageText.
  					outerAnswer 
  						ifNil: [notify resume] 
  						ifNotNil: [notify resume: outerAnswer]]]!

Item was removed:
- ----- Method: StringHolder>>openSyntaxView (in category 'tiles') -----
- openSyntaxView
- 	"Open a syntax view on the current method"
- 
- 	| class selector |
- 
- 	(selector := self selectedMessageName) ifNotNil: [
- 		class := self selectedClassOrMetaClass.
- 		SyntaxMorph testClass: class andMethod: selector.
- 	]!

Item was removed:
- ----- Method: Object>>basicType (in category 'testing') -----
- basicType
- 	"Answer a symbol representing the inherent type of the receiver"
- 
- 	^ #Object!

Item was removed:
- ----- Method: Number>>basicType (in category 'testing') -----
- basicType
- 	"Answer a symbol representing the inherent type of the receiver"
- 
- 	^ #Number!

Item was removed:
- ----- Method: Boolean>>basicType (in category 'printing') -----
- basicType
- 	"Answer a symbol representing the inherent type of the receiver"
- 
- 	^ #Boolean!

Item was removed:
- ----- Method: Object>>newTileMorphRepresentative (in category 'user interface') -----
- newTileMorphRepresentative
- 	^ TileMorph new setLiteral: self!




More information about the Squeak-dev mailing list