SmallSense__SmalltalkInferencer.st
changeset 263 df89d5b4dfe0
parent 262 1eb48733dac1
child 286 dc60bdb2fa92
equal deleted inserted replaced
262:1eb48733dac1 263:df89d5b4dfe0
   583 "
   583 "
   584 ! !
   584 ! !
   585 
   585 
   586 !SmalltalkInferencer::Phase2 methodsFor:'visiting'!
   586 !SmalltalkInferencer::Phase2 methodsFor:'visiting'!
   587 
   587 
       
   588 visitMessageNode:aMessageNode
       
   589 
       
   590     super visitMessageNode: aMessageNode.  
       
   591 
       
   592     "/ Some selectors are known / expected  to return boolean
       
   593     (#( #== #~~ #= #~= #< #<= #=> #> #contains: includes: includesKey: #anySatisfy: #allSatisfy:) includes: aMessageNode selector) ifTrue:[
       
   594         aMessageNode inferedType: (Type withClass: Boolean).
       
   595         ^ self.
       
   596     ].
       
   597 
       
   598     "/ Some selectors are known / expected  to return some numerical values
       
   599     (#( #+ #- #* #/ #// #\\ ) includes: aMessageNode selector) ifTrue:[
       
   600         aMessageNode inferedType: (Type withClass: Number).
       
   601         ^ self.
       
   602     ].
       
   603 
       
   604     "Created: / 05-08-2014 / 14:03:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   605 !
       
   606 
   588 visitUnaryNode:anObject
   607 visitUnaryNode:anObject
   589 
   608 
   590     | type sel rec classes |
   609     | type sel rec classes |
   591 
   610 
   592     super visitUnaryNode:anObject.
   611     super visitUnaryNode:anObject.