public CSharpSyntaxNode Invoke(ParseExpressionVisitor visitor, IList <IParseTree> children) { var result = Defn.Invoke(visitor, children) as MethodDeclarationSyntax; Macros.AddMacro(result, visitor.NamespaceName, visitor.ClassName); return(result); // return the macro as a function so other programs can reference it. }