: as method selector??????
ducasse
ducasse at iam.unibe.ch
Fri Dec 28 19:55:46 UTC 2001
Hi
I'm implementing a visitor based pretty printer
can somebody explain to me what is a selector containing only the character
: (as shownin the MessageNode method)?
MessageNode>>printOn: aStream indent: level
| leadingKeyword |
"may not need this check anymore - may be fixed by the #receiver: change"
special ifNil: [^aStream nextPutAll: '** MessageNode with nil special
**'].
(special > 0)
ifTrue: [self perform: self macroPrinter with: aStream with: level]
ifFalse: [selector key first = $:
ifTrue: [leadingKeyword _ selector key keywords first.
aStream nextPutAll: leadingKeyword; space.
self printReceiver: receiver on: aStream indent:
level.
self printKeywords: (selector key allButFirst:
leadingKeyword size + 1) arguments: arguments
on: aStream indent: level]
ifFalse: [(aStream dialect = #SQ00 and: [selector key ==
#do:])
ifTrue: ["Add prefix keyword"
aStream withStyleFor: #prefixKeyword do:
[aStream nextPutAll: 'Repeat '].
self printParenReceiver: receiver on:
aStream indent: level + 1.
self printKeywords: selector key arguments:
arguments
on: aStream indent: level prefix: true]
ifFalse: [self printReceiver: receiver on: aStream
indent: level.
self printKeywords: selector key arguments:
arguments
on: aStream indent: level]]]
More information about the Squeak-dev
mailing list
|