GuiceのTypeLiteralをScalaのmacroを使って生成する

TypeLiteral自体の説明はしないので、各自ぐぐってください。

普通に自分も仕事で new TypeLiteral 大量に書いてるわけですが、そういえばできるだろうけどやったことないな、と思って作りました。

雑にググったらmacroではなく、TypeTagで実行時reflectionでやるライブラリはあるらしいです。 *1

github.com

こっちはManifestから取得するやつ(そんなことできるんだっけ・・・)

github.com

作ったのが以下。public domainにしてあるので、ご自由にお使いください。 気が向いたらライブラリにしてメンテするかもしれないし、しないかもしれない。

gist.github.com

*1:macroでやるやつは見つからなかったけど、誰か知ってたら教えて下さい