ClassCommented is only announced if string is a RemoteString
Hi Any idea why the "aString isKindOf: RemoteString" is there? In TClassDescription: classComment: aString stamp: aStamp
"Store the comment, aString or Text or RemoteString, associated with the
class we are organizing. Empty string gets stored only if had a non-empty one before."
| pointer header file oldCommentRemoteString oldComment oldStamp |
oldComment := self organization classComment.
oldStamp := self organization commentStamp.
(aString isKindOf: RemoteString) ifTrue: [
SystemAnnouncer uniqueInstance
class: self
oldComment: oldComment
newComment: aString string
oldStamp: oldStamp
newStamp: aStamp.
^ self organization classComment: aString stamp: aStamp].
oldCommentRemoteString := self organization commentRemoteStr.
(aString size = 0) & (oldCommentRemoteString isNil) ifTrue: [^ self
organization classComment: nil].
"never had a class comment, no need to write empty string out"
pointer := oldCommentRemoteString
ifNil: [0]
ifNotNil: [oldCommentRemoteString sourcePointer].
(file := SourceFiles at: 2) ifNotNil: [
file setToEnd; cr; nextPut: $!. "directly"
"Should be saying (file command: 'H3') for HTML, but ignoring it here"
header := String streamContents: [:strm | strm nextPutAll: self name;
nextPutAll: ' commentStamp: '.
aStamp storeOn: strm.
strm nextPutAll: ' prior: '; nextPutAll: pointer printString].
file nextChunkPut: header].
self organization
classComment: (RemoteString newString: aString onFileNumber: 2)
stamp: aStamp.
SystemAnnouncer uniqueInstance
class: self
oldComment: oldComment
newComment: aString
oldStamp: oldStamp
newStamp: aStamp
(nice method eh!) MartÃn
Ooops. Sorry. Of course, it is announced anyway, at the end. On Thu, Nov 14, 2013 at 5:52 PM, Martin Dias <tinchodias@gmail.com> wrote:
Hi
Any idea why the "aString isKindOf: RemoteString" is there?
In TClassDescription:
classComment: aString stamp: aStamp
"Store the comment, aString or Text or RemoteString, associated with
the class we are organizing. Empty string gets stored only if had a non-empty one before."
| pointer header file oldCommentRemoteString oldComment oldStamp |
oldComment := self organization classComment.
oldStamp := self organization commentStamp.
(aString isKindOf: RemoteString) ifTrue: [
SystemAnnouncer uniqueInstance
class: self
oldComment: oldComment
newComment: aString string
oldStamp: oldStamp
newStamp: aStamp.
^ self organization classComment: aString stamp: aStamp].
oldCommentRemoteString := self organization commentRemoteStr.
(aString size = 0) & (oldCommentRemoteString isNil) ifTrue: [^ self
organization classComment: nil].
"never had a class comment, no need to write empty string out"
pointer := oldCommentRemoteString
ifNil: [0]
ifNotNil: [oldCommentRemoteString sourcePointer].
(file := SourceFiles at: 2) ifNotNil: [
file setToEnd; cr; nextPut: $!. "directly"
"Should be saying (file command: 'H3') for HTML, but ignoring it here"
header := String streamContents: [:strm | strm nextPutAll: self name;
nextPutAll: ' commentStamp: '.
aStamp storeOn: strm.
strm nextPutAll: ' prior: '; nextPutAll: pointer printString].
file nextChunkPut: header].
self organization
classComment: (RemoteString newString: aString onFileNumber: 2)
stamp: aStamp.
SystemAnnouncer uniqueInstance
class: self
oldComment: oldComment
newComment: aString
oldStamp: oldStamp
newStamp: aStamp
(nice method eh!)
MartÃn
I hate this code. I had to work with it so many times when I extracted all the squeak version to load them in VW to be analysed in Moose (and sadly nobody did anything with them) I should have started to publish ideas on them - silly me. Stef On Nov 14, 2013, at 5:52 PM, Martin Dias <tinchodias@gmail.com> wrote:
Hi
Any idea why the "aString isKindOf: RemoteString" is there?
In TClassDescription:
classComment: aString stamp: aStamp "Store the comment, aString or Text or RemoteString, associated with the class we are organizing. Empty string gets stored only if had a non-empty one before."
| pointer header file oldCommentRemoteString oldComment oldStamp | oldComment := self organization classComment. oldStamp := self organization commentStamp.
(aString isKindOf: RemoteString) ifTrue: [ SystemAnnouncer uniqueInstance class: self oldComment: oldComment newComment: aString string oldStamp: oldStamp newStamp: aStamp. ^ self organization classComment: aString stamp: aStamp].
oldCommentRemoteString := self organization commentRemoteStr. (aString size = 0) & (oldCommentRemoteString isNil) ifTrue: [^ self organization classComment: nil]. "never had a class comment, no need to write empty string out"
pointer := oldCommentRemoteString ifNil: [0] ifNotNil: [oldCommentRemoteString sourcePointer].
(file := SourceFiles at: 2) ifNotNil: [ file setToEnd; cr; nextPut: $!. "directly" "Should be saying (file command: 'H3') for HTML, but ignoring it here" header := String streamContents: [:strm | strm nextPutAll: self name; nextPutAll: ' commentStamp: '. aStamp storeOn: strm. strm nextPutAll: ' prior: '; nextPutAll: pointer printString]. file nextChunkPut: header].
self organization classComment: (RemoteString newString: aString onFileNumber: 2) stamp: aStamp.
SystemAnnouncer uniqueInstance class: self oldComment: oldComment newComment: aString oldStamp: oldStamp newStamp: aStamp
(nice method eh!)
MartÃn
I was trying to figure out how to delegate somebody else the knowledge of the file number: RemoteString newString: aString onFileNumber: 2 I was thinking in a replacement like: SourceFiles newRemoteStringWith: aString or: SourceFiles oldRemoteStringAt: aSourcePointer And let a SourceFileArray instance decide what's the file number. But it's not so easy. In other methods (I think related to condensing the file or filing out), it's also specified the filestream: RemoteString newString: self organization classComment onFileNumber: 2
toFile: aFileStream
MartÃn On Thu, Nov 14, 2013 at 7:51 PM, Stéphane Ducasse <stephane.ducasse@inria.fr
wrote:
I hate this code. I had to work with it so many times when I extracted all the squeak version to load them in VW to be analysed in Moose (and sadly nobody did anything with them) I should have started to publish ideas on them - silly me.
Stef
On Nov 14, 2013, at 5:52 PM, Martin Dias <tinchodias@gmail.com> wrote:
Hi
Any idea why the "aString isKindOf: RemoteString" is there?
In TClassDescription:
classComment: aString stamp: aStamp
"Store the comment, aString or Text or RemoteString, associated with
the class we are organizing. Empty string gets stored only if had a non-empty one before."
| pointer header file oldCommentRemoteString oldComment oldStamp |
oldComment := self organization classComment.
oldStamp := self organization commentStamp.
(aString isKindOf: RemoteString) ifTrue: [
SystemAnnouncer uniqueInstance
class: self
oldComment: oldComment
newComment: aString string
oldStamp: oldStamp
newStamp: aStamp.
^ self organization classComment: aString stamp: aStamp].
oldCommentRemoteString := self organization commentRemoteStr.
(aString size = 0) & (oldCommentRemoteString isNil) ifTrue: [^ self
organization classComment: nil].
"never had a class comment, no need to write empty string out"
pointer := oldCommentRemoteString
ifNil: [0]
ifNotNil: [oldCommentRemoteString sourcePointer].
(file := SourceFiles at: 2) ifNotNil: [
file setToEnd; cr; nextPut: $!. "directly"
"Should be saying (file command: 'H3') for HTML, but ignoring it here"
header := String streamContents: [:strm | strm nextPutAll: self name;
nextPutAll: ' commentStamp: '.
aStamp storeOn: strm.
strm nextPutAll: ' prior: '; nextPutAll: pointer printString].
file nextChunkPut: header].
self organization
classComment: (RemoteString newString: aString onFileNumber: 2)
stamp: aStamp.
SystemAnnouncer uniqueInstance
class: self
oldComment: oldComment
newComment: aString
oldStamp: oldStamp
newStamp: aStamp
(nice method eh!)
MartÃn
yes code violates any idea of encapsulation. SourcesArray at: 2 :) Stef On Nov 15, 2013, at 10:46 AM, Martin Dias <tinchodias@gmail.com> wrote:
I was trying to figure out how to delegate somebody else the knowledge of the file number:
RemoteString newString: aString onFileNumber: 2
I was thinking in a replacement like:
SourceFiles newRemoteStringWith: aString
or:
SourceFiles oldRemoteStringAt: aSourcePointer
And let a SourceFileArray instance decide what's the file number.
But it's not so easy. In other methods (I think related to condensing the file or filing out), it's also specified the filestream:
RemoteString newString: self organization classComment onFileNumber: 2 toFile: aFileStream
MartÃn
On Thu, Nov 14, 2013 at 7:51 PM, Stéphane Ducasse <stephane.ducasse@inria.fr> wrote: I hate this code. I had to work with it so many times when I extracted all the squeak version to load them in VW to be analysed in Moose (and sadly nobody did anything with them) I should have started to publish ideas on them - silly me.
Stef
On Nov 14, 2013, at 5:52 PM, Martin Dias <tinchodias@gmail.com> wrote:
Hi
Any idea why the "aString isKindOf: RemoteString" is there?
In TClassDescription:
classComment: aString stamp: aStamp "Store the comment, aString or Text or RemoteString, associated with the class we are organizing. Empty string gets stored only if had a non-empty one before."
| pointer header file oldCommentRemoteString oldComment oldStamp | oldComment := self organization classComment. oldStamp := self organization commentStamp.
(aString isKindOf: RemoteString) ifTrue: [ SystemAnnouncer uniqueInstance class: self oldComment: oldComment newComment: aString string oldStamp: oldStamp newStamp: aStamp. ^ self organization classComment: aString stamp: aStamp].
oldCommentRemoteString := self organization commentRemoteStr. (aString size = 0) & (oldCommentRemoteString isNil) ifTrue: [^ self organization classComment: nil]. "never had a class comment, no need to write empty string out"
pointer := oldCommentRemoteString ifNil: [0] ifNotNil: [oldCommentRemoteString sourcePointer].
(file := SourceFiles at: 2) ifNotNil: [ file setToEnd; cr; nextPut: $!. "directly" "Should be saying (file command: 'H3') for HTML, but ignoring it here" header := String streamContents: [:strm | strm nextPutAll: self name; nextPutAll: ' commentStamp: '. aStamp storeOn: strm. strm nextPutAll: ' prior: '; nextPutAll: pointer printString]. file nextChunkPut: header].
self organization classComment: (RemoteString newString: aString onFileNumber: 2) stamp: aStamp.
SystemAnnouncer uniqueInstance class: self oldComment: oldComment newComment: aString oldStamp: oldStamp newStamp: aStamp
(nice method eh!)
MartÃn
participants (2)
-
Martin Dias -
Stéphane Ducasse