internal override void RewriteBody(MSAst.ExpressionVisitor visitor) { _dlrBody = null; _body = new RewrittenBodyStatement(Body, visitor.Visit(Body)); }
protected override MSAst.Expression VisitChildren(MSAst.ExpressionVisitor visitor) { if (_funcCode != null) { MSAst.Expression funcCode = visitor.Visit(_funcCode); if (funcCode != _funcCode) { DelayedFunctionCode res = new DelayedFunctionCode(); res._funcCode = funcCode; return res; } } return this; }
protected override MSAst.Expression VisitChildren(MSAst.ExpressionVisitor visitor) { return visitor.Visit(_body); }
internal override void RewriteBody(MSAst.ExpressionVisitor visitor) { _dlrBody = null; // clear the cached body if we've been reduced MSAst.Expression funcCode = GlobalParent.Constant(GetOrMakeFunctionCode()); FuncCodeExpr = funcCode; Body = new RewrittenBodyStatement(Body, visitor.Visit(Body)); }