: 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