I’ve been eagerly waiting for the new macros to see how migrating my two bigger open-source projects which use them: quicklens and macwire might go. While quicklens should be relatively easy (a blackbox macro manipulating the AST of the code passed as the argument), I’m not so sure of macwire.
I’m not sure if I understand the proposed capabilities of the new API correctly (I’m looking at the Universe from https://github.com/scalacenter/macros), but I think there’s no way currently to obtain information about the surrounding environment?
More specifically, what macwire relies on is the capability to browse the enclosing method/class/object & its parents for defined values of a specific type; once that’s available, then it’s a pretty straightforward black-box macro.
Is such functionality planned, or maybe on the opposite, deliberately not planned?