public MacroStatement GetParentMacroByName(string name)
{
MacroStatement parent = GetAncestor<MacroStatement>();
while (null != parent) {
if (parent.Name == name)
return parent;
else if (parent.Name == "macro") //macro macro
if (name == (parent.Arguments[0] as ReferenceExpression).Name)
return parent;
parent = parent.GetAncestor<MacroStatement>();
}
return null;
}