[Date Prev][Date Next][Thread Prev][Thread Next][Author Index][Date Index][Thread Index]

Some major translator changes



I revamped pieces of the translator yesterday.

We implemented special translations of messages to functions in
several different ways.  I simplified all this a lot.  simply override
the handling of any message that should be printed as a function to
use 'printFunction:args:' in the mapOverride: methods.  This will use
the stripped version of the message name as the name of the function,
and consider the receiver to be the first argument.  This handles all
the cases for xuInteger, rounded, pow, man, max, etc.

I also fixed lots of things about casts:  made them share code,
implement precedence rules, renamed them, etc.

Several selectors would get mapped, then overriden,  I changed several
of those to simply override based on the real message and removed the
message change.  (ifTrue mapped to if, then was overridden to use
printIf:args:).

I made lots of other random changes, all documented in the Class
Comment!

dean