[squeak-dev] The Trunk: Monticello-nice.741.mcz
commits at source.squeak.org
commits at source.squeak.org
Mon Apr 12 21:55:46 UTC 2021
Nicolas Cellier uploaded a new version of Monticello to project The Trunk:
http://source.squeak.org/trunk/Monticello-nice.741.mcz
==================== Summary ====================
Name: Monticello-nice.741
Author: nice
Time: 12 April 2021, 11:55:44.241641 pm
UUID: ed3f3912-0b93-4673-acfe-b79c9e69886a
Ancestors: Monticello-eem.737, Monticello-ct.740, Monticello-jr.726, Monticello-ct.731, Monticello-ct.709
Merge commit:
Monticello-eem.737:
Eliminate shadowed variable warning(s).
Monticello-ct.740:
Introduces MCPackageNotFound exception and usees it in MCRepository versions lookup. I would like to catch this error in [1, 2, 3].
Monticello-jr.726:
Fix wrong traitCompositions in packages loaded from source.st
Monticello-ct.731:
Make sure to reset the modified flag for working copies that have become empty after merging a version.
Monticello-ct.709:
Implement #doItReceiver and #doItContext on MCCodeTool. Allows, for example, for inspecting a class variable from a save version dialog.
- and its ancestor: -
Monticello-ct.708:
Fix MCSaveVersionDialog refreshing: Update text if the currently selected item changed
=============== Diff against Monticello-eem.737 ===============
Item was added:
+ ----- Method: MCCodeTool>>doItContext (in category 'accessing') -----
+ doItContext
+ ^ nil!
Item was added:
+ ----- Method: MCCodeTool>>doItReceiver (in category 'accessing') -----
+ doItReceiver
+ ^ self selectedClass!
Item was added:
+ Error subclass: #MCPackageNotFound
+ instanceVariableNames: 'repository packageName'
+ classVariableNames: ''
+ poolDictionaries: ''
+ category: 'Monticello-Repositories'!
Item was added:
+ ----- Method: MCPackageNotFound class>>signalForRepository:packageName: (in category 'signaling') -----
+ signalForRepository: aRepository packageName: aString
+
+ ^ self new
+ repository: aRepository packageName: aString;
+ signal!
Item was added:
+ ----- Method: MCPackageNotFound>>messageText (in category 'printing') -----
+ messageText
+
+ ^ messageText ifNil: ['{1} not found in {2}' translated format: {self packageName. self repository}]!
Item was added:
+ ----- Method: MCPackageNotFound>>packageName (in category 'accessing') -----
+ packageName
+
+ ^ packageName!
Item was added:
+ ----- Method: MCPackageNotFound>>repository (in category 'accessing') -----
+ repository
+
+ ^ repository!
Item was added:
+ ----- Method: MCPackageNotFound>>repository:packageName: (in category 'accessing') -----
+ repository: aRepository packageName: aString
+
+ repository := aRepository.
+ packageName := aString.!
Item was changed:
----- Method: MCRepository>>highestNumberedVersionNameForPackageNamed: (in category 'versions') -----
highestNumberedVersionNameForPackageNamed: aString
^ (self versionNamesForPackageNamed: aString)
+ ifEmpty: [MCPackageNotFound signalForRepository: self packageName: aString]
- ifEmpty: [ self error: aString , ' not found in ' , self asString ]
ifNotEmptyDo:
[ : versionNames | versionNames detectMax:
[ : each | each versionNumber ] ]!
Item was changed:
----- Method: MCSaveVersionDialog>>refresh (in category 'actions') -----
refresh
+ | latestSelection |
+ latestSelection := self selection.
+ self updateItems.
self
+ selection: latestSelection;
+ changed: #list;
+ changed: #text.!
- updateItems ;
- changed: #list!
Item was changed:
----- Method: MCStReader>>classDefinitionFrom: (in category 'converting') -----
classDefinitionFrom: aPseudoClass
+ | tokens definitionStream hasTraitComposition traitCompositionString lastIndex hasClassTraitComposition classTraitCompositionString typeOfSubclass className |
- | tokens traitCompositionString lastIndex classTraitCompositionString typeOfSubclass className |
tokens := Scanner new scanTokens: aPseudoClass definition.
+ definitionStream := ReadStream on: aPseudoClass definition.
+ hasTraitComposition := definitionStream match: 'uses:'.
+ traitCompositionString := hasTraitComposition ifTrue: [(definitionStream upToAll: 'instanceVariableNames:') withBlanksTrimmed] ifFalse: ['{}'].
+ definitionStream := ReadStream on: aPseudoClass metaClass definition asString.
+ hasClassTraitComposition := definitionStream match: 'uses:'.
+ classTraitCompositionString := hasClassTraitComposition ifTrue: [(definitionStream upToAll: 'instanceVariableNames:') withBlanksTrimmed] ifFalse: ['{}'].
- traitCompositionString := ((ReadStream on: aPseudoClass definition)
- match: 'uses:';
- upToAll: 'instanceVariableNames:') withBlanksTrimmed.
- classTraitCompositionString := ((ReadStream on: aPseudoClass metaClass definition asString)
- match: 'uses:';
- upToAll: 'instanceVariableNames:') withBlanksTrimmed.
- traitCompositionString isEmpty ifTrue: [traitCompositionString := '{}'].
- classTraitCompositionString isEmpty ifTrue: [classTraitCompositionString := '{}'].
lastIndex := tokens size.
className := tokens at: 3.
typeOfSubclass := self typeOfSubclass: (tokens at: 2).
"Compiled code classes are special cases of the #bytes class type"
(#bytes == typeOfSubclass and: [self compiledCodeClassNames includes: className])
ifTrue: [typeOfSubclass := #compiledMethod].
^ MCClassDefinition
name: className
superclassName: (tokens at: 1)
traitComposition: traitCompositionString
classTraitComposition: classTraitCompositionString
category: (tokens at: lastIndex)
instVarNames: ((tokens at: lastIndex - 6) findTokens: ' ')
classVarNames: ((tokens at: lastIndex - 4) findTokens: ' ')
poolDictionaryNames: ((tokens at: lastIndex - 2) findTokens: ' ')
classInstVarNames: (self classInstVarNamesFor: aPseudoClass)
type: typeOfSubclass
comment: (self commentFor: aPseudoClass)
commentStamp: (self commentStampFor: aPseudoClass)!
Item was changed:
----- Method: MCWorkingCopy>>merged: (in category 'operations') -----
merged: aVersion
ancestry addAncestor: aVersion info.
+ self changed.
+ self checkModified.!
- self changed!
More information about the Squeak-dev
mailing list
|