[squeak-dev] The Trunk: Tools-nice.725.mcz
commits at source.squeak.org
commits at source.squeak.org
Thu Mar 5 12:17:40 UTC 2020
Nicolas Cellier uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-nice.725.mcz
==================== Summary ====================
Name: Tools-nice.725
Author: nice
Time: 4 September 2016, 9:31:23.175175 pm
UUID: 7009e733-b45e-403a-9469-6106ad6f747a
Ancestors: Tools-tfel.724
Recognize Cuis #classDefinition: when scanning a cuis change file.
=============== Diff against Tools-tfel.724 ===============
Item was changed:
----- Method: ChangeList>>scanCategory (in category 'scanning') -----
scanCategory
"Scan anything that involves more than one chunk; method name is historical only"
+ | itemPosition item tokens stamp anIndex class meta |
- | itemPosition item tokens stamp anIndex |
itemPosition := file position.
item := file nextChunk.
((item includesSubstring: 'commentStamp:')
or: [(item includesSubstring: 'methodsFor:')
+ or: [(item includesSubstring: 'classDefinition:')
+ or: [item endsWith: 'reorganize']]]) ifFalse:
- or: [item endsWith: 'reorganize']]) ifFalse:
["Maybe a preamble, but not one we recognize; bail out with the preamble trick"
^ self addItem: (ChangeRecord new file: file position: itemPosition type: #preamble)
text: ('preamble: ' , item contractTo: 50)].
tokens := Scanner new scanTokens: item.
tokens size >= 3 ifTrue:
[stamp := ''.
anIndex := tokens indexOf: #stamp: ifAbsent: [nil].
anIndex ifNotNil: [stamp := tokens at: (anIndex + 1)].
tokens second == #methodsFor:
ifTrue: [^ self scanCategory: tokens third class: tokens first
meta: false stamp: stamp].
tokens third == #methodsFor:
ifTrue: [^ self scanCategory: tokens fourth class: tokens first
meta: true stamp: stamp]].
tokens second == #commentStamp:
ifTrue:
[stamp := tokens third.
self addItem:
(ChangeRecord new file: file position: file position type: #classComment
class: tokens first category: nil meta: false stamp: stamp)
text: 'class comment for ' , tokens first,
(stamp isEmpty ifTrue: [''] ifFalse: ['; ' , stamp]).
file nextChunk.
^ file skipStyleChunk].
+
+ tokens first == #classDefinition:
+ ifTrue:
+ [class := tokens second.
+ meta := tokens size >= 3 and: [tokens third = 'class'].
+ stamp := ''.
+ self addItem:
+ (ChangeRecord new file: file position: file position type: #classDefinition
+ class: class category: nil meta: meta stamp: stamp)
+ text: 'class definition for ' , class,
+ (stamp isEmpty ifTrue: [''] ifFalse: ['; ' , stamp]).
+ file nextChunk.
+ ^ file skipStyleChunk].
self assert: tokens last == #reorganize.
self addItem:
(ChangeRecord new
file: file position: file position type: #reorganize
class: tokens first category: nil meta: false stamp: stamp)
text: 'organization for ' , tokens first, (tokens second == #class ifTrue: [' class'] ifFalse: ['']).
file nextChunk!
More information about the Squeak-dev
mailing list
|