[Pitch #2] Expression macros

After my previous comment about #printArguments, I'm now wondering about #context.

It doesn't look like a macro evaluation can recursively evaluate other macros as part of the expansion (without requiring the user to manually include those macros at the call site, such as that #addBlocker(#stringify(x + 1)) example). This implies to me that I cannot make a #context macro that would automatically pick up the file, line, column, dsohandle, etc of its call site.

Therefore... could that information be retrievable from the MacroExpansionContext? There's moduleName and fileName, but being able to get the #line, #column, #function, and #dsohandle would make building a context structure much more straight-forward.

2 Likes