Tobias Pape uploaded a new version of Monticello to project The Trunk:
http://source.squeak.org/trunk/Monticello-topa.669.mcz==================== Summary ====================
Name: Monticello-topa.669
Author: topa
Time: 23 May 2017, 6:46:20.52825 pm
UUID: 507516b6-b661-413d-84d2-4dce5c1a3bf0
Ancestors: Monticello-bf.668, Monticello-jr.662
Merge
=============== Diff against Monticello-bf.668 ===============
Item was changed:
----- Method: FilePackage>>classDefinition:with: (in category '*monticello') -----
classDefinition: string with: chgRec
| tokens theClass |
-
- self flag: #traits.
tokens := Scanner new scanTokens: string.
"tokens size = 11 ifFalse:[^doIts add: chgRec]."
theClass := self getClass: (tokens at: 3).
theClass definition: string.
classOrder add: theClass.!
Item was added:
+ ----- Method: FilePackage>>traitDefinition:with: (in category '*monticello') -----
+ traitDefinition: string with: chgRec
+ | tokens theTrait |
+ tokens := Scanner new scanTokens: string.
+ theTrait := self getTrait: (tokens at: 3).
+ theTrait definition: string.
+ classOrder add: theTrait.!
Item was changed:
----- Method: MCStReader>>loadDefinitions (in category 'evaluating') -----
loadDefinitions
| filePackage |
filePackage :=
FilePackage new
fullName: 'ReadStream';
fileInFrom: self readStream.
definitions := OrderedCollection new.
filePackage classes do:
[:pseudoClass |
pseudoClass hasDefinition
ifTrue: [definitions add:
+ (pseudoClass asMCDefinitionBy: self)].
- (self classDefinitionFrom: pseudoClass)].
definitions addAll: (self methodDefinitionsFor: pseudoClass).
definitions addAll: (self methodDefinitionsFor: pseudoClass metaClass)].
filePackage doIts do:
[:ea |
self addDefinitionsFromDoit: ea string].
!
Item was added:
+ ----- Method: MCStReader>>traitDefinitionFrom: (in category 'as yet unclassified') -----
+ traitDefinitionFrom: aPseudoTrait
+ | tokens traitCompositionString lastIndex |
+ tokens := Scanner new scanTokens: aPseudoTrait definition.
+ traitCompositionString := ((ReadStream on: aPseudoTrait definition)
+ match: 'uses:';
+ upToAll: 'category:') withBlanksTrimmed.
+ traitCompositionString isEmpty ifTrue: [traitCompositionString := '{}'].
+ lastIndex := tokens size.
+ ^ MCTraitDefinition
+ name: (tokens at: 3)
+ traitComposition: traitCompositionString
+ category: (tokens at: lastIndex)
+ comment: (self commentFor: aPseudoTrait)
+ commentStamp: (self commentStampFor: aPseudoTrait)!
Item was added:
+ ----- Method: PseudoClass>>asMCDefinitionBy: (in category '*monticello') -----
+ asMCDefinitionBy: aMCReader
+ ^ aMCReader classDefinitionFrom: self!
Item was added:
+ ----- Method: PseudoTrait>>asMCDefinitionBy: (in category '*monticello') -----
+ asMCDefinitionBy: aMCReader
+ ^ aMCReader traitDefinitionFrom: self!