[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
|