[squeak-dev] The Trunk: System-eem.345.mcz
commits at source.squeak.org
commits at source.squeak.org
Wed Jun 30 00:49:02 UTC 2010
Eliot Miranda uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-eem.345.mcz
==================== Summary ====================
Name: System-eem.345
Author: eem
Time: 29 June 2010, 5:48:20.596 pm
UUID: 1ba583d2-9788-4bfd-b1d5-9b88c7769cd2
Ancestors: System-tbn.344
Changes to ChangeRecord to support remove unchanged
definitions and file-in reorganizations in the ChangeList.
=============== Diff against System-tbn.344 ===============
Item was added:
+ ----- Method: ChangeRecord>>commentClass (in category 'access') -----
+ commentClass
+ | commentClass |
+ type == #classComment ifFalse: [^ nil].
+ (Smalltalk includesKey: class asSymbol) ifFalse: [^ nil].
+ commentClass := Smalltalk at: class asSymbol.
+ ^meta ifTrue: [commentClass class]
+ ifFalse: [commentClass]!
Item was changed:
----- Method: ChangeRecord>>methodClassName (in category 'access') -----
methodClassName
+ | text tokens |
+ (class isNil
+ and: [type = #doIt
+ and: [((text := self text) includes: $.) not "exclude multi-statement doits"
+ and: [(tokens := Scanner new scanTokens: text) size >= 4
+ and: [tokens first isSymbol
+ and: [tokens first isKeyword not
+ and: [tokens first first canBeGlobalVarInitial
+ and: [tokens includes: #instanceVariableNames:]]]]]]]) ifTrue:
+ ["Could be a class definition.
+ Class definitions start with Superclass blahSubclass: #ClassName
+ Metaclass definitions start with ClassName class instanceVariableNames:"
+ (tokens second isSymbol
+ and: [tokens second isKeyword
+ and: [tokens third isSymbol
+ and: [tokens third isKeyword not
+ and: [(2 to: tokens size by: 2) allSatisfy: [:i| (tokens at: i) isKeyword]]]]]) ifTrue:
+ [^tokens third].
+ (tokens size = 4
+ and: [tokens second = #class
+ and: [tokens third = #instanceVariableNames:
+ and: [tokens last isString]]]) ifTrue:
+ [^tokens first]].
^class!
Item was changed:
----- Method: ChangeRecord>>fileIn (in category 'initialization') -----
fileIn
+ "File the receiver in. If I represent a method or a class-comment, file the method in and make a note of it in the recent-submissions list; if I represent a do-it, then, well, do it; if I represent a reorganization then get organized!!"
- "File the receiver in. If I represent a method or a class-comment, file the method in and make a note of it in the recent-submissions list; if I represent a do-it, then, well, do it."
Cursor read showWhile:
+ [| s cls aSelector |
+ type == #doIt
+ ifTrue:
+ [((s := self string) beginsWith: '----') ifFalse: [Compiler evaluate: s]]
+ ifFalse:
+ [cls := Smalltalk at: class asSymbol.
+ cls := meta ifTrue: [cls class] ifFalse: [cls].
+ type == #method ifTrue:
+ [cls compile: self text classified: category withStamp: stamp notifying: nil.
+ (aSelector := self methodSelector) ifNotNil:
+ [Utilities noteMethodSubmission: aSelector forClass: cls]].
+ type == #classComment ifTrue:
+ [cls comment: self text stamp: stamp.
+ Utilities noteMethodSubmission: #Comment forClass: cls ].
+ type == #reorganize ifTrue:
+ [cls organization changeFromString: self text]]]!
- [| methodClass s aSelector |
- (methodClass := self methodClass) notNil ifTrue:
- [methodClass compile: self text classified: category withStamp: stamp notifying: nil.
- (aSelector := self methodSelector) ifNotNil:
- [Utilities noteMethodSubmission: aSelector forClass: methodClass]].
- (type == #doIt) ifTrue:
- [((s := self string) beginsWith: '----') ifFalse: [Compiler evaluate: s]].
- (type == #classComment) ifTrue:
- [ | cls | (cls := Smalltalk at: class asSymbol) comment: self text stamp: stamp.
- Utilities noteMethodSubmission: #Comment forClass: cls ]]!
Item was changed:
----- Method: ChangeRecord>>fileIndex (in category 'access') -----
fileIndex
+ SourceFiles withIndexDo: [:sf :i| sf name = file name ifTrue: [^i]].
+ ^nil!
- ^ (SourceFiles collect: [ :sf | sf name])
- indexOf: file name ifAbsent: [^ nil].
- !
More information about the Squeak-dev
mailing list
|