[squeak-dev] The Trunk: System-nice.155.mcz
commits at source.squeak.org
commits at source.squeak.org
Mon Oct 19 21:26:49 UTC 2009
Nicolas Cellier uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-nice.155.mcz
==================== Summary ====================
Name: System-nice.155
Author: nice
Time: 19 October 2009, 9:26:01 am
UUID: de1cd970-0352-ef4d-93d7-7006f5f9243e
Ancestors: System-ar.154
remove uncessary sends of #values
because (aDictionary values do:) is same as (aDictionary do:)
except when aDictionary is modified in the do loop.
=============== Diff against System-ar.154 ===============
Item was changed:
----- Method: FilePackage>>conflictsWithUpdatedMethods (in category 'conflict checker') -----
conflictsWithUpdatedMethods
"Check this package for conflicts with methods in the image which are in newer updates."
| localFileName stream updateNumberString updateNumber imageUpdateNumber updateNumberChangeSet conflicts fileStream |
localFileName := FileDirectory localNameFor: fullName.
stream := ReadStream on: sourceSystem.
stream upToAll: 'latest update: #'.
updateNumberString := stream upTo: $].
stream close.
fileStream := FileStream readOnlyFileNamed: fullName.
(fileStream contentsOfEntireFile includes: Character linefeed)
ifTrue: [self notifyWithLabel: 'The changeset file ', localFileName, ' contains linefeeds. Proceed if...
you know that this is okay (e.g. the file contains raw binary data).'].
fileStream close.
updateNumberString isEmpty ifFalse: "remove prepended junk, if any"
[updateNumberString := (updateNumberString findTokens: Character space) last].
updateNumberString asInteger ifNil:
[(self confirm: 'Error: ', localFileName, ' has no valid Latest Update number in its header.
Do you want to enter an update number for this file?')
ifFalse: [^ self]
ifTrue: [updateNumberString := UIManager default
request: 'Please enter the estimated update number (e.g. 4332).']].
updateNumberString asInteger ifNil: [self inform: 'Conflict check cancelled.'. ^ self].
updateNumber := updateNumberString asInteger.
imageUpdateNumber := SystemVersion current highestUpdate.
updateNumber > imageUpdateNumber ifTrue:
[(self confirm: 'Warning: The update number for this file (#', updateNumberString, ')
is greater than the highest update number for this image (#', imageUpdateNumber asString, ').
This probably means you need to update your image.
Should we proceed anyway as if the file update number is #', imageUpdateNumber asString, '?')
ifTrue:
[updateNumber := imageUpdateNumber.
updateNumberString := imageUpdateNumber asString]
ifFalse: [^ self]].
updateNumberChangeSet := self findUpdateChangeSetMatching: updateNumber.
updateNumberChangeSet ifNil: [^ self].
Smalltalk isMorphic ifTrue: [self currentWorld findATranscript: self currentEvent].
self class logCr; logCr; log: 'Checking ', localFileName, ' (#', updateNumberString, ') for method conflicts with changesets after ', updateNumberChangeSet name, ' ...'.
conflicts := OrderedCollection new.
+ self classes do: [:pseudoClass |
- self classes values do: [:pseudoClass |
(Array with: pseudoClass with: pseudoClass metaClass) do: [:classOrMeta |
classOrMeta selectors do: [:selector | | conflict |
conflict := self
checkForMoreRecentUpdateThanChangeSet: updateNumberChangeSet
pseudoClass: classOrMeta
selector: selector.
conflict ifNotNil: [conflicts add: conflict].
].
].
].
self class logCr; log: conflicts size asString, (' conflict' asPluralBasedOn: conflicts), ' found.'; logCr.
self class closeLog.
^ conflicts!
Item was changed:
----- Method: ChangeSet>>containsMethodAtPosition: (in category 'testing') -----
containsMethodAtPosition: aFilePosition
"Answer whether the receiver contains the method logged at the given file position"
"class: aClassSymbol" "(need class parameter to speed up?)" "<- dew 9/6/2001"
+ changeRecords do:
- changeRecords values do:
[:classChangeRecord |
+ classChangeRecord methodChanges do:
- classChangeRecord methodChanges values do:
[:methodChangeRecord | | changeType |
changeType := methodChangeRecord changeType.
((changeType == #add or: [changeType == #change]) and:
[methodChangeRecord currentMethod notNil and: [methodChangeRecord currentMethod filePosition = aFilePosition]])
ifTrue: [^ true]]].
^ false!
More information about the Squeak-dev
mailing list
|