On 29 Mar 2012, at 18:47, Francisco Garau wrote:
Load the attached ChangeSets: first Ti-Engine and then Ti-Support.
You could then evaluate the below expressions -- watch the Transcript to see which methods are being analysed.
Compiler new analyze: string in: nil to: nil notifying: nil ifFail: [1].
"=> return {<SmallInteger>} "
string := 'Display boundingBox'.
Compiler new analyze: string in: nil to: nil notifying: nil ifFail: [1].
"=> return {<Rectangle origin: <Point x: <SmallInteger> y: <SmallInteger>> corner: <Point x: <SmallInteger> y: <SmallInteger>>>}"
TiSystem current explore.
Analysing 'Display boundingBox' shows a couple of surprises:
- The code never goes through the #new method (it creates objects using #basicNew and #@)
- Object code goes through Object>>value but knowing that the implementation just answers self, it could be easily optimised.
I will try to package it more nicely under Monticello -- there are still a few rough edges that need to be polished before getting it to the same state it was in 2001...
Cheers,
Francisco
<Ti-Engine.2.cs><Ti-Support.2.cs>