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]. - ! |
Free forum by Nabble | Edit this page |