Thanks for the help Nathan. Here is the solution I just checked-in
which I think works pretty well and was easy to implement. I went
down the road of looking at a CompilerStep but ensuring I had the
right context was a little cumbersome, espically considering map is
already a boo builtin. This was my first time really working with the
boo compiler so it took a little bit to understand the ast, but once I
figured it out the solution is pretty trivial.
public override Statement Expand(MacroStatement macro)
{
if (macro.Block != null)
{
foreach(Statement statement in macro.Block.Statements)
{
if (IsMappingStatement(statement))
{
MethodInvocationExpression mappingCall =
GetMappingStatement(statement);
mappingCall.Target = new
ReferenceExpression("MapColumn");
}
}
}
return base.Expand(macro);
}
Thanks again for the help,
Adam