UnaryNode.st
changeset 1589 e50e9f5bf31b
parent 1533 bff4a03d6d48
child 1734 fb882528e19b
equal deleted inserted replaced
1588:4c3183dfaa5f 1589:e50e9f5bf31b
   280     ^ (receiver evaluateIn:anEnvironment) perform:selector
   280     ^ (receiver evaluateIn:anEnvironment) perform:selector
   281 ! !
   281 ! !
   282 
   282 
   283 !UnaryNode methodsFor:'printing & storing'!
   283 !UnaryNode methodsFor:'printing & storing'!
   284 
   284 
   285 printOn:aStream indent:i
   285 printOn:aStream indent:i 
   286     "prettyprint the expression represented by the receiver"
   286     "prettyprint the expression represented by the receiver"
   287 
   287     
   288     |needParen|
   288     receiver printOn:aStream indent:i parenthized:(receiver precedence < self precedence).
   289 
       
   290     needParen := false.
       
   291     receiver isMessage ifTrue:[
       
   292 	receiver isUnaryMessage ifFalse:[
       
   293 	    needParen := true
       
   294 	].
       
   295     ].
       
   296     needParen ifTrue:[
       
   297 	aStream nextPutAll:'('
       
   298     ].
       
   299     receiver printOn:aStream.
       
   300     needParen ifTrue:[
       
   301 	aStream nextPutAll:') '
       
   302     ].
       
   303     aStream space.
   289     aStream space.
   304     selector printString printOn:aStream.
   290     selector printString printOn:aStream.
   305 "    aStream space.     "
   291 
       
   292     "Modified: / 20-04-2005 / 14:36:26 / cg"
   306 ! !
   293 ! !
   307 
   294 
   308 !UnaryNode methodsFor:'queries'!
   295 !UnaryNode methodsFor:'queries'!
   309 
   296 
   310 isConstant
   297 isConstant
   338     "return true, if this node is one for a unary message"
   325     "return true, if this node is one for a unary message"
   339 
   326 
   340     ^ true
   327     ^ true
   341 
   328 
   342     "Modified: 23.10.1997 / 02:05:18 / cg"
   329     "Modified: 23.10.1997 / 02:05:18 / cg"
       
   330 !
       
   331 
       
   332 precedence
       
   333     ^ 100
       
   334 
       
   335     "Created: / 20-04-2005 / 14:10:34 / cg"
   343 ! !
   336 ! !
   344 
   337 
   345 !UnaryNode class methodsFor:'documentation'!
   338 !UnaryNode class methodsFor:'documentation'!
   346 
   339 
   347 version
   340 version
   348     ^ '$Header: /cvs/stx/stx/libcomp/UnaryNode.st,v 1.44 2004-07-07 09:17:53 cg Exp $'
   341     ^ '$Header: /cvs/stx/stx/libcomp/UnaryNode.st,v 1.45 2005-04-20 14:44:02 cg Exp $'
   349 ! !
   342 ! !