private void TreatMacroAsMethodInvocation(MacroStatement node)
{
MethodInvocationExpression invocation = new MethodInvocationExpression(
node.LexicalInfo,
new ReferenceExpression(node.LexicalInfo, node.Name));
invocation.Arguments = node.Arguments;
if (node.ContainsAnnotation("compound")
|| !IsNullOrEmpty(node.Block))
{
invocation.Arguments.Add(new BlockExpression(node.Block));
}
ReplaceCurrentNode(new ExpressionStatement(node.LexicalInfo, invocation, node.Modifier));
}