protected virtual ASTNode FoldNamedFunctionStatement(NamedFunctionStatement node, params Object[] args) { node.SetIdentifier(this.Fold(node.Identifier)); node.SetArguments(this.FoldNodeList(node.Arguments)); node.SetBody(( StatementList )this.Fold(node.Body)); return(node); }
protected virtual Object[] AnalyseNamedFunctionStatement(NamedFunctionStatement node, params Object[] args) { this.Analyse(node.Identifier); foreach (ASTNode arg in node.Arguments) { this.Analyse(arg); } this.Analyse(node.Body); return(null); }
public override void ConstructNamedFunctionStatement(NamedFunctionStatement node) { this.WriteIndented("function "); this.ConstructInternal(node.Identifier); this.Write(" ( "); for (var i = 0; i < node.Arguments.Count; i++) { this.ConstructInternal(node.Arguments[i]); if (i < node.Arguments.Count - 1) { this.Write(", "); } } this.WriteLine(" )"); this.Indent( ); this.ConstructStatementList(node.Body); this.Outdent( ); this.WriteIndented("end"); if (node.HasSemicolon) { this.Write(';'); } }
public abstract void ConstructNamedFunctionStatement(NamedFunctionStatement node);