public IParseItem Visit(FuncDefItem target) { if (target == null) { throw new ArgumentNullException(nameof(target)); } if (target.Local) { _tree.DefineLocal(new[] { target.Prefix as NameItem }); } using (_tree.DefineFunc()) { _tree.DefineLocal(target.Arguments); target.Block.Accept(this); } target.FunctionInformation = _tree.EndFunc(); return(target); }