: as method selector??????
Andreas Raab
Andreas.Raab at gmx.de
Fri Dec 28 20:26:58 UTC 2001
Stephane,
There is no selector containing only the colon - if you read the code
carefully it checks for ':message' (e.g., a leading colon) which is an
experimental thing. You may safely ignore it.
Cheers,
- Andreas
> -----Original Message-----
> From: squeak-dev-admin at lists.squeakfoundation.org
> [mailto:squeak-dev-admin at lists.squeakfoundation.org]On Behalf
> Of ducasse
> Sent: Friday, December 28, 2001 8:56 PM
> To: squeak-dev at lists.squeakfoundation.org
> Subject: : as method selector??????
>
>
> 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
|