コード例 #1
0
 internal override void RewriteBody(MSAst.ExpressionVisitor visitor) {
     _dlrBody = null;
     _body = new RewrittenBodyStatement(Body, visitor.Visit(Body));
 }
コード例 #2
0
 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;
 }
コード例 #3
0
 protected override MSAst.Expression VisitChildren(MSAst.ExpressionVisitor visitor) {
     return visitor.Visit(_body);
 }
コード例 #4
0
 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));
 }