scala macros: Add function to class

前端 未结 2 1203
借酒劲吻你
借酒劲吻你 2020-12-21 00:47

I\'m new to scala macros and I\'m using scala 2.10.0-RC3.

I want to write a macro that adds a function to a class. Usage example:

trait MyTrait {
  d         


        
2条回答
  •  攒了一身酷
    2020-12-21 01:12

    It is currently impossible to add, modify or remove definitions visible outside the macro. I.e. you can create a class or a method local to the expansion (e.g. emit a ClassDef tree as a part of the result returns by your macro), but there's no facility to affect the outside world.

    However we plan to experiment with this functionality as roughly sketched in http://scalamacros.org/future.html. Also there's already a solid prototype that can generate new top-level classes. Contact me for details if you would like to take a look.

提交回复
热议问题