Igor Stasenko a écrit :
Common! You don't like the system? Change It! This is just 1 method attached.
Heh.. you seem stumbled upon same things as i was :)
well, if you writing own code so you have a total control whether you want inlining or not, you can simply write: [ ... ] perform: #whileTrue
(x=y) perform: #ifTrue: with: [ ... ]
:)
but if you don't want inlining at all in a system (like me) - the only way is to change the compiler.
Basically, if you want both to coexist, just create a subclass of MessageNode to redefine noteSpecialSelector:, then subclass all the chain Compiler/Parser to use that MessageNode... And change compilerClass where you desire.
If you just want to change the whole system, just change noteSpecialSelector:. Of course, you will have to find other ways to decently optimize the execution...
Nicolas