On 27 Aug 2014, at 17:53, Camille Teruel <camille.ter...@gmail.com> wrote:

> Hi all,
> 
> With Opal, if you want to customize how methods are compiled into a class you 
> can override #compilerClass on class-side:
> MyClass class>>#compilerClass
>       ^ MySpecialCompiler
> 

I’ve missed this feature. This is super cool!

> However this custom compiler is not taken into account when compiling methods 
> on the class-side:
> MyClass class compilerClass ---> OpalCompiler
> I was expecting to have the same compiler class for the metaclass. The 
> consequence is that right now there is no way to specialize how methods are 
> compiled in *one* metaclass.
> Is it on purpose or is it a bug? 
> 
> Also is there cases where one wants instance-side methods and class-side 
> methods to be compiled with different compiler classes?
> My rough guess is that in most cases you want the same compiler class, but I 
> don't fell confortable forcing that.
> So I propose to add a method #classSideCompilerClass:
> Class>>#classSideCompilerClass
>       ^ self compilerClass
> 
> Then compilerClass can be implemented for metaclasses:
> Metaclass>>#compilerClass
>       ^ self instanceSide classSideCompilerClass
> 
> Likewise, if I override compilerClass, it is taken into account for both 
> instance-side and class-side methods but I can still say that I want a 
> different compiler for class-side methods by overriding 
> classSideCompilerClass. Tell me what you think about it and if you're ok, I 
> open a bug entry with the slice.
> 
> Cheers,
> Camille
>  

Reply via email to